You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

installing-and-using-themes.md 2.1KB

7 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. +++
  2. title = "Installing & using themes"
  3. weight = 20
  4. +++
  5. ## Installing a theme
  6. The easiest way to install to theme is to clone its repository in the `themes`
  7. directory.
  8. ```bash
  9. $ cd themes
  10. $ git clone THEME_REPO_URL
  11. ```
  12. Cloning the repository using Git or another VCS will allow you to easily
  13. update it but you can also simply download the files manually and paste
  14. them in a folder.
  15. ## Using a theme
  16. Now that you have the theme in your `themes` directory, you only need to tell
  17. Gutenberg to use it to get started by setting the `theme` variable of the
  18. [configuration file](./documentation/getting-started/configuration.md). The theme
  19. name has to be name of the directory you cloned the theme in.
  20. For example, if you cloned a theme in `themes/simple-blog`, the theme name to use
  21. in the configuration file is `simple-blog`.
  22. ## Customizing a theme
  23. Any file from the theme can be overriden by creating a file with the same path and name in your `templates` or `static`
  24. directory. Here are a few examples of that, assuming the theme name is `simple-blog`:
  25. ```plain
  26. templates/pages/post.html -> replace themes/simple-blog/templates/pages/post.html
  27. templates/macros.html -> replace themes/simple-blog/templates/macros.html
  28. static/js/site.js -> replace themes/simple-blog/static/js/site.js
  29. ```
  30. You can also choose to only parts of a page if a theme define some blocks by extending it. If we wanted
  31. to only change a single block from the `post.html` page in the example above, we could do the following:
  32. ```
  33. {% extends "simple-blog/templates/pages/post.html" %}
  34. {% block some_block %}
  35. Some custom data
  36. {% endblock %}
  37. ```
  38. Most themes will also provide some variables that are meant to be overriden: this happens in the `extra` section
  39. of the [configuration file](./documentation/getting-started/configuration.md).
  40. Let's say a theme uses a `show_twitter` variable and sets it to `false` by default. If you want to set it to `true`,
  41. you can update your `config.toml` like so:
  42. ```toml
  43. [extra]
  44. show_twitter = false
  45. ```
  46. You can modify files directly in the `themes` directory but this will make updating the theme harder and live reload won't work with those
  47. files.