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.

README.md 3.9KB

7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. # Gutenberg
  2. [![Build Status](https://travis-ci.org/Keats/gutenberg.svg?branch=master)](https://travis-ci.org/Keats/gutenberg)
  3. [![Build status](https://ci.appveyor.com/api/projects/status/h4t9r6h5gom839q0/branch/master?svg=true)](https://ci.appveyor.com/project/Keats/gutenberg/branch/master)
  4. An opinionated static site generator written in Rust.
  5. Documentation is available on [its site](https://www.getgutenberg.io/documentation/getting-started/installation/) or
  6. in the `docs/content` folder of the repository.
  7. ## Comparisons with other static site generators
  8. | | Gutenberg | Cobalt | Hugo | Pelican |
  9. |--------------------------|-----------|--------|------|---------|
  10. | Single binary | ✔ | ✔ | ✔ | ✕ |
  11. | Language | Rust | Rust | Go | Python |
  12. | Syntax highlighting | ✔ | ✔ | ✔ | ✔ |
  13. | Sass compilation | ✔ | ✕ | ✕ | ✔ |
  14. | Assets co-location | ✔ | ✔ | ✔ | ✔ |
  15. | i18n | ✕ | ✕ | ✔ | ✔ |
  16. | Image processing | ✕ | ✕ | ✔ | ✔ |
  17. | Search | ✕ | ✕ | ✕ | ✔ |
  18. | Sane template engine | ✔ | ✔ | ✕✕✕ | ✔ |
  19. | Themes | ✔ | ✕ | ✔ | ✔ |
  20. | Shortcodes | ✔ | ✕ | ✔ | ✔ |
  21. | Internal links | ✔ | ✕ | ✔ | ✔ |
  22. | Table of contents | ✔ | ✕ | ✔ | ✔ |
  23. | Automatic header anchors | ✔ | ✕ | ✔ | ✔ |
  24. | Aliases | ✔ | ✕ | ✔ | ✔ |
  25. | Pagination | ✔ | ✕ | ✔ | ✔ |
  26. | Custom taxonomies | ✕ | ✕ | ✔ | ✕ |
  27. | Data files | ✕ | ✔ | ✔ | ✕ |
  28. ## Contributing
  29. As the documentation site is automatically built on commits to master, all development
  30. should happen on the `next` branch, unless it is fixing the current documentation.
  31. If you want a feature added or modified, please open an issue to discuss it before doing a PR.
  32. ### Adding syntax highlighting languages and themes
  33. #### Adding a syntax
  34. Syntax highlighting depends on submodules so ensure you load them first:
  35. ```bash
  36. $ git submodule update --init
  37. ```
  38. Gutenberg only works with syntaxes in the `.sublime-syntax` format. If your syntax
  39. is in `.tmLanguage` format, open it in Sublime Text and convert it to `sublime-syntax` by clicking on
  40. Tools > Developer > New Syntax from ... and put it at the root of `sublime_syntaxes`.
  41. You can also add a submodule to the repository of the wanted syntax:
  42. ```bash
  43. $ cd sublime_syntaxes
  44. $ git submodule add https://github.com/elm-community/SublimeElmLanguageSupport
  45. ```
  46. Note that you can also only copy manually the updated syntax definition file but this means
  47. Gutenberg won't be able to automatically update it.
  48. You can check for any updates to the current packages by running:
  49. ```bash
  50. $ git submodule update --remote --merge
  51. ```
  52. And finally from the root of the components/rendering crate run the following command:
  53. ```bash
  54. $ cargo run --example generate_sublime synpack ../../sublime_syntaxes ../../sublime_syntaxes/newlines.packdump ../../sublime_syntaxes/nonewlines.packdump
  55. ```
  56. #### Adding a theme
  57. A gallery containing lots of themes is located at https://tmtheme-editor.herokuapp.com/#!/editor/theme/Agola%20Dark.
  58. More themes can be easily added to gutenberg, just make a PR with the wanted theme added in the `sublime_themes` directory
  59. and run the following command from the root of the components/rendering:
  60. ```bash
  61. $ cargo run --example generate_sublime themepack ../../sublime_themes ../../sublime_themes/all.themedump
  62. ```
  63. You should see the list of themes being added.