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.
Vincent Prouillet 789a6408fb
Merge pull request #251 from Keats/next
6 years ago
ci Improve sorting speed 7 years ago
completions Fix config CLI option 6 years ago
components Fix internal links to content dir not working 6 years ago
docs Merge pull request #251 from Keats/next 6 years ago
src Write some docs 6 years ago
sublime_syntaxes v0.3.2 6 years ago
sublime_themes Add a bunch of themes, light and dark. 6 years ago
test_site Fix internal links to content dir not working 6 years ago
.editorconfig Create new project 8 years ago
.gitignore Move copy utils to utils crate 6 years ago
.gitmodules Elm-syntax submodule moved 6 years ago
.travis.yml Try to remove sudo: required in travis 6 years ago
CHANGELOG.md Set release date 6 years ago
Cargo.lock Set release date 6 years ago
Cargo.toml [WIP] Search 6 years ago
EXAMPLES.md Add AS to examples 6 years ago
LICENSE USe date range for license 6 years ago
README.md Mention Pelican features come from plugins 6 years ago
appveyor.yml Sass works on windows; try to use msvc on appveyor 7 years ago
build.rs Config with i18n 6 years ago
netlify.toml Try to update netlify.toml 6 years ago

README.md

Gutenberg

Build Status Build status

A fast static site generator in a single binary with everything built-in.

Documentation is available on its site or in the docs/content folder of the repository.

Comparisons with other static site generators

Gutenberg Cobalt Hugo Pelican
Single binary
Language Rust Rust Go Python
Syntax highlighting
Sass compilation
Assets co-location
i18n
Image processing
Search
Sane template engine ✕✕✕
Themes
Shortcodes
Internal links
Table of contents
Automatic header anchors
Aliases
Pagination
Custom taxonomies
Data files

Supported content formats:

  • Gutenberg: markdown
  • Cobalt: markdown
  • Hugo: markdown, asciidoc, org-mode
  • Pelican: reStructuredText, markdown, asciidoc, org-mode, whatever-you-want

Note that many features of Pelican are coming from plugins, which might be tricky to use because of version mismatch or lacking documentation.

Contributing

As the documentation site is automatically built on commits to master, all development should happen on the next branch, unless it is fixing the current documentation.

If you want a feature added or modified, please open an issue to discuss it before doing a PR.

Adding syntax highlighting languages and themes

Adding a syntax

Syntax highlighting depends on submodules so ensure you load them first:

$ git submodule update --init 

Gutenberg only works with syntaxes in the .sublime-syntax format. If your syntax is in .tmLanguage format, open it in Sublime Text and convert it to sublime-syntax by clicking on Tools > Developer > New Syntax from ... and put it at the root of sublime_syntaxes.

You can also add a submodule to the repository of the wanted syntax:

$ cd sublime_syntaxes
$ git submodule add https://github.com/elm-community/SublimeElmLanguageSupport

Note that you can also only copy manually the updated syntax definition file but this means Gutenberg won't be able to automatically update it.

You can check for any updates to the current packages by running:

$ git submodule update --remote --merge

And finally from the root of the components/rendering crate run the following command:

$ cargo run --example generate_sublime synpack ../../sublime_syntaxes ../../sublime_syntaxes/newlines.packdump ../../sublime_syntaxes/nonewlines.packdump

Adding a theme

A gallery containing lots of themes is located at https://tmtheme-editor.herokuapp.com/#!/editor/theme/Agola%20Dark. More themes can be easily added to gutenberg, just make a PR with the wanted theme added in the sublime_themes directory and run the following command from the root of the components/rendering:

$ cargo run --example generate_sublime themepack ../../sublime_themes ../../sublime_themes/all.themedump

You should see the list of themes being added.