#template #html #display #latex #html-string

display-as

Compile-time templates for displaying data in different markup formats

27 releases

0.7.0 Nov 20, 2022
0.6.2 Mar 15, 2022
0.6.0 Apr 11, 2021
0.5.2 Nov 15, 2020
0.1.4 Nov 27, 2018

#275 in Template engine


Used in display-as-template

Apache-2.0 OR MIT

43KB
726 lines

DisplayAs

Documentation Build Status

These crates creates rusty templates that are evaluated at compile-time (much like askama). DisplayAs is explicitly designed to support multiple output formats (thus the "as" in its name).

Comparison with other template engines in rust

Given there are numerous existing template engines, you might ask what distinguishes display-as from these other engines?

  1. The most notable distinction is that display-as compiles the templates at compile time, like askama and ructe but unlike most other engines.

  2. diplay-as-template supports (almost) arbitrary rust code in the template, unlike askama or ructe. In the case of askama, there is a conscious decision not to support this. I believe that it is nicer and easier not to learn a new language for the expressiosn within templates.

  3. DisplayAs and display-as support embedding one format into another, so that you can mix languages. This is most common in HTML, which supports numerous formats such as javascript or CSS, but also math mode within either LaTeX or even in HTML using MathJax. This has been discussed as a possible feature in ructe.

  4. Using display-as is typesafe on the output side as well as the input side. You can't accidentally include javascript formatted text into HTML, or double-escape HTML strings.

Dependencies

~0.3–13MB
~157K SLoC