Go to file
Philip Daniels 3e1221064b Filter ignored content in page.rs.
* Add ignored_content to the Config structure.
* Use the GlobSet crate to parse the glob patterns into a matcher, which
  is created once at program initialization. If there are no patterns in
  ignored_content, an empty globber is created, which excludes no files.
  This is consistent with the existing behaviour of Gutenberg, before
  this feature was added.
* Bail if there are any errors in the glob patterns.
* Add a call to the globber in page.rs to actually do the filtering.
* Update documentation.

A note on the Config structure
------------------------------
* I had to remove the PartialEq derive from the Config structure as it
  does not work for the GlobSet type. No harm is done, Config does not
  need to be PartialEq anyway, since there is no need to sort Configs.
* The implementation follows the pattern of the existing config settings
  in that it uses an Option<...>. This would appear unnecessary, in that
  an empty vec could be used as the default, but it appears to be needed
  by the TOML parsing. A better approach would be to use a separate
  SerializableConfig and map to/from a Config struct. This would also
  allow the elimination of most, if not all, of the other Options in
  the Config structure, but that ought to be another PR.
2018-02-25 15:15:51 +00:00
ci Improve sorting speed 2017-07-04 18:33:58 +09:00
completions Update completions 2018-02-02 17:37:30 +01:00
components Filter ignored content in page.rs. 2018-02-25 15:15:51 +00:00
docs Filter ignored content in page.rs. 2018-02-25 15:15:51 +00:00
src Separate interface and base url for gutenberg serve (#223) 2018-02-02 17:18:07 +01:00
sublime_syntaxes Update syntaxes 2018-02-15 10:44:37 +01:00
sublime_themes Add 1337 color scheme 2017-10-03 23:23:58 +09:00
test_site Add back mistakenly deleted test file 2018-02-23 18:07:15 +01:00
.editorconfig Create new project 2016-12-06 14:51:33 +09:00
.gitignore WIP site 2017-09-08 18:59:51 +09:00
.gitmodules Elm-syntax submodule moved 2018-01-29 19:10:18 +01:00
.travis.yml Try to remove sudo: required in travis 2018-01-25 12:44:41 +01:00
appveyor.yml Sass works on windows; try to use msvc on appveyor 2017-07-13 22:45:31 +09:00
build.rs Config with i18n 2018-01-15 17:54:06 +01:00
Cargo.lock Filter ignored content in page.rs. 2018-02-25 15:15:51 +00:00
Cargo.toml Release 0.3.1 2018-02-15 10:41:49 +01:00
CHANGELOG.md Stop trying to load every file as markdown on serve 2018-02-22 16:49:37 +01:00
LICENSE USe date range for license 2018-01-16 13:39:56 +01:00
netlify.toml Finishing up site (#131) 2017-10-19 13:48:50 +02:00
README.md Add tuckersiemens.com to example sites 2018-02-20 00:14:44 -08:00

Gutenberg

Build Status Build status

An opinionated static site generator written in Rust.

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

Example sites

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.