12 releases

✓ Uses Rust 2018 edition

0.1.1 Mar 13, 2019
0.1.0 Mar 11, 2019
0.0.10 Mar 11, 2019
0.0.5 Feb 28, 2019

#56 in Template engine

Download history 15/week @ 2019-02-14 31/week @ 2019-02-21 54/week @ 2019-02-28 70/week @ 2019-03-07

57 downloads per month
Used in 2 crates

MIT/Apache

9KB
170 lines


lib.rs:

yarte_config is the crate in charge of parsing the configure file, yarte.toml, to a rust object that will later be treated in the rest of the crates. Right now a Yarte configuration file can have the following:

  • main (general configuration - optional): with attribute

    • dir: name of template directory. If no value is given, a default directory templates will be used. If the defined directory is not found, an error will prompt.
    • debug: type of output of debug mode. The code and/or ast generated by Yarte can be visualize, to do so, at most one of three possible values has to be given: code, ast, or all.
  • partials (partials aliasing - optional): each entry must be of the type name_alias = "./alias/path/", where ./ makes reference to dir value. Path must exist, or error will be prompt. If the tag partials doesn't exist no aliasing will be possible.

  • debug (debugging configuration - optional): in order to visualize clearly generated code in a debugging environment Yarte gives it a tabulated format, and the possibility to see the number line use a color theme. Options are the following:

    • number_line (default: false): Boolean, if set to true number lines will appear in debug-mode.
    • theme (default: zenburn): String, color theme used in debugging environment. Possible values are:
      • DarkNeon,
      • GitHub,
      • Monokai Extended,
      • Monokai Extended Bright,
      • Monokai Extended Light,
      • Monokai Extended Origin,
      • OneHalfDark,
      • OneHalfLight,
      • Sublime Snazzy,
      • TwoDark,
      • zenburn

In future versions, more features will be added to the configuration file.

Example of a config file

[main]
dir = "templates"
debug = "all"

[partials]
alias = "./deep/more/deep"

[debug]
theme = "zenburn"
number_line = true
grid = true
header = true
number_line = true
paging = false
short = false

With this configuration, the user can call alias in a partial instance with {{> alias context}} or {{> alias}} if the current context is well defined.

Dependencies

~1.5MB
~30K SLoC