@@ -18,13 +18,15 @@ All of them are well maintained, mature and perform HTML escaping automatically.
18
18
| [ askama] | [ ![ ] [ docs-img-askama ]] [ docs-askama ] | [ ![ ] [ img-repo ]] [ repo-askama ] | pre-compiled | [ ![ ] [ dl-askama ]] [ askama ] | [ ![ ] [ stars-askama ]] [ repo-askama ] | [ ![ ] [ contr-askama ]] [ repo-askama ] | [ ![ ] [ act-askama ]] [ repo-askama ] |
19
19
| [ handlebars] | [ ![ ] [ docs-img-handlebars ]] [ docs-handlebars ] | [ ![ ] [ img-repo ]] [ repo-handlebars ] | interpreted | [ ![ ] [ dl-handlebars ]] [ handlebars ] | [ ![ ] [ stars-handlebars ]] [ repo-handlebars ] | [ ![ ] [ contr-handlebars ]] [ repo-handlebars ] | [ ![ ] [ act-handlebars ]] [ repo-handlebars ] |
20
20
| [ horrorshow] | [ ![ ] [ docs-img-horrorshow ]] [ docs-horrorshow ] | [ ![ ] [ img-repo ]] [ repo-horrorshow ] | pre-compiled | [ ![ ] [ dl-horrorshow ]] [ horrorshow ] | [ ![ ] [ stars-horrorshow ]] [ repo-horrorshow ] | [ ![ ] [ contr-horrorshow ]] [ repo-horrorshow ] | [ ![ ] [ act-horrorshow ]] [ repo-horrorshow ] |
21
+ | [ hypertext] | [ ![ ] [ docs-img-hypertext ]] [ docs-hypertext ] | [ ![ ] [ img-repo ]] [ repo-hypertext ] | pre-compiled | [ ![ ] [ dl-hypertext ]] [ hypertext ] | [ ![ ] [ stars-hypertext ]] [ repo-hypertext ] | [ ![ ] [ contr-hypertext ]] [ repo-hypertext ] | [ ![ ] [ act-hypertext ]] [ repo-hypertext ] |
21
22
| [ markup] | [ ![ ] [ docs-img-markup ]] [ docs-markup ] | [ ![ ] [ img-repo ]] [ repo-markup ] | pre-compiled | [ ![ ] [ dl-markup ]] [ markup ] | [ ![ ] [ stars-markup ]] [ repo-markup ] | [ ![ ] [ contr-markup ]] [ repo-markup ] | [ ![ ] [ act-markup ]] [ repo-markup ] |
22
23
| [ maud] | [ ![ ] [ docs-img-maud ]] [ docs-maud ] | [ ![ ] [ img-repo ]] [ repo-maud ] | pre-compiled | [ ![ ] [ dl-maud ]] [ maud ] | [ ![ ] [ stars-maud ]] [ repo-maud ] | [ ![ ] [ contr-maud ]] [ repo-maud ] | [ ![ ] [ act-maud ]] [ repo-maud ] |
23
24
| [ minijinja] | [ ![ ] [ docs-img-minijinja ]] [ docs-minijinja ] | [ ![ ] [ img-repo ]] [ repo-minijinja ] | interpreted | [ ![ ] [ dl-minijinja ]] [ minijinja ] | [ ![ ] [ stars-minijinja ]] [ repo-minijinja ] | [ ![ ] [ contr-minijinja ]] [ repo-minijinja ] | [ ![ ] [ act-minijinja ]] [ repo-minijinja ] |
24
25
| [ ructe] | [ ![ ] [ docs-img-ructe ]] [ docs-ructe ] | [ ![ ] [ img-repo ]] [ repo-ructe ] | pre-compiled | [ ![ ] [ dl-ructe ]] [ ructe ] | [ ![ ] [ stars-ructe ]] [ repo-ructe ] | [ ![ ] [ contr-ructe ]] [ repo-ructe ] | [ ![ ] [ act-ructe ]] [ repo-ructe ] |
25
26
| [ sailfish] | [ ![ ] [ docs-img-sailfish ]] [ docs-sailfish ] | [ ![ ] [ img-repo ]] [ repo-sailfish ] | pre-compiled | [ ![ ] [ dl-sailfish ]] [ sailfish ] | [ ![ ] [ stars-sailfish ]] [ repo-sailfish ] | [ ![ ] [ contr-sailfish ]] [ repo-sailfish ] | [ ![ ] [ act-sailfish ]] [ repo-sailfish ] |
26
27
| [ tera] | [ ![ ] [ docs-img-tera ]] [ docs-tera ] | [ ![ ] [ img-repo ]] [ repo-tera ] | interpreted | [ ![ ] [ dl-tera ]] [ tera ] | [ ![ ] [ stars-tera ]] [ repo-tera ] | [ ![ ] [ contr-tera ]] [ repo-tera ] | [ ![ ] [ act-tera ]] [ repo-tera ] |
27
28
| [ tinytemplate] | [ ![ ] [ docs-img-tinytemplate ]] [ docs-tinytemplate ] | [ ![ ] [ img-repo ]] [ repo-tinytemplate ] | interpreted | [ ![ ] [ dl-tinytemplate ]] [ tinytemplate ] | [ ![ ] [ stars-tinytemplate ]] [ repo-tinytemplate ] | [ ![ ] [ contr-tinytemplate ]] [ repo-tinytemplate ] | [ ![ ] [ act-tinytemplate ]] [ repo-tinytemplate ] |
29
+ | [ vy] | [ ![ ] [ docs-img-vy ]] [ docs-vy ] | [ ![ ] [ img-repo ]] [ repo-vy ] | pre-compiled | [ ![ ] [ dl-vy ]] [ vy ] | [ ![ ] [ stars-vy ]] [ repo-vy ] | [ ![ ] [ contr-vy ]] [ repo-vy ] | [ ![ ] [ act-vy ]] [ repo-vy ] |
28
30
29
31
Please see also [ * Rust web framework comparison* ] .
30
32
@@ -53,87 +55,103 @@ Run `./generate-table.py` to generate the table you see above.
53
55
[ askama ] : < https://crates.io/crates/askama/ >
54
56
[ handlebars ] : < https://crates.io/crates/handlebars/ >
55
57
[ horrorshow ] : < https://crates.io/crates/horrorshow/ >
58
+ [ hypertext ] : < https://crates.io/crates/hypertext/ >
56
59
[ markup ] : < https://crates.io/crates/markup/ >
57
60
[ maud ] : < https://crates.io/crates/maud/ >
58
61
[ minijinja ] : < https://crates.io/crates/minijinja/ >
59
62
[ ructe ] : < https://crates.io/crates/ructe/ >
60
63
[ sailfish ] : < https://crates.io/crates/sailfish/ >
61
64
[ tera ] : < https://crates.io/crates/tera/ >
62
65
[ tinytemplate ] : < https://crates.io/crates/tinytemplate/ >
66
+ [ vy ] : < https://crates.io/crates/vy/ >
63
67
64
68
[ docs-askama ] : < https://docs.rs/askama/latest/askama >
65
69
[ docs-handlebars ] : < https://docs.rs/handlebars/latest/handlebars >
66
70
[ docs-horrorshow ] : < https://docs.rs/horrorshow/latest/horrorshow >
71
+ [ docs-hypertext ] : < https://docs.rs/hypertext/latest/hypertext >
67
72
[ docs-markup ] : < https://docs.rs/markup/latest/markup >
68
73
[ docs-maud ] : < https://docs.rs/maud/latest/maud >
69
74
[ docs-minijinja ] : < https://docs.rs/minijinja/latest/minijinja >
70
75
[ docs-ructe ] : < https://docs.rs/ructe/latest/ructe >
71
76
[ docs-sailfish ] : < https://docs.rs/sailfish/latest/sailfish >
72
77
[ docs-tera ] : < https://docs.rs/tera/latest/tera >
73
78
[ docs-tinytemplate ] : < https://docs.rs/tinytemplate/latest/tinytemplate >
79
+ [ docs-vy ] : < https://docs.rs/vy/latest/vy >
74
80
75
81
[ docs-img-askama ] : < https://img.shields.io/docsrs/askama?label=&style=flat-square >
76
82
[ docs-img-handlebars ] : < https://img.shields.io/docsrs/handlebars?label=&style=flat-square >
77
83
[ docs-img-horrorshow ] : < https://img.shields.io/docsrs/horrorshow?label=&style=flat-square >
84
+ [ docs-img-hypertext ] : < https://img.shields.io/docsrs/hypertext?label=&style=flat-square >
78
85
[ docs-img-markup ] : < https://img.shields.io/docsrs/markup?label=&style=flat-square >
79
86
[ docs-img-maud ] : < https://img.shields.io/docsrs/maud?label=&style=flat-square >
80
87
[ docs-img-minijinja ] : < https://img.shields.io/docsrs/minijinja?label=&style=flat-square >
81
88
[ docs-img-ructe ] : < https://img.shields.io/docsrs/ructe?label=&style=flat-square >
82
89
[ docs-img-sailfish ] : < https://img.shields.io/docsrs/sailfish?label=&style=flat-square >
83
90
[ docs-img-tera ] : < https://img.shields.io/docsrs/tera?label=&style=flat-square >
84
91
[ docs-img-tinytemplate ] : < https://img.shields.io/docsrs/tinytemplate?label=&style=flat-square >
92
+ [ docs-img-vy ] : < https://img.shields.io/docsrs/vy?label=&style=flat-square >
85
93
86
94
[ dl-askama ] : < https://img.shields.io/crates/dr/askama?label=&color=f8f8f8&style=flat-square >
87
95
[ dl-handlebars ] : < https://img.shields.io/crates/dr/handlebars?label=&color=f8f8f8&style=flat-square >
88
96
[ dl-horrorshow ] : < https://img.shields.io/crates/dr/horrorshow?label=&color=f8f8f8&style=flat-square >
97
+ [ dl-hypertext ] : < https://img.shields.io/crates/dr/hypertext?label=&color=f8f8f8&style=flat-square >
89
98
[ dl-markup ] : < https://img.shields.io/crates/dr/markup?label=&color=f8f8f8&style=flat-square >
90
99
[ dl-maud ] : < https://img.shields.io/crates/dr/maud?label=&color=f8f8f8&style=flat-square >
91
100
[ dl-minijinja ] : < https://img.shields.io/crates/dr/minijinja?label=&color=f8f8f8&style=flat-square >
92
101
[ dl-ructe ] : < https://img.shields.io/crates/dr/ructe?label=&color=f8f8f8&style=flat-square >
93
102
[ dl-sailfish ] : < https://img.shields.io/crates/dr/sailfish?label=&color=f8f8f8&style=flat-square >
94
103
[ dl-tera ] : < https://img.shields.io/crates/dr/tera?label=&color=f8f8f8&style=flat-square >
95
104
[ dl-tinytemplate ] : < https://img.shields.io/crates/dr/tinytemplate?label=&color=f8f8f8&style=flat-square >
105
+ [ dl-vy ] : < https://img.shields.io/crates/dr/vy?label=&color=f8f8f8&style=flat-square >
96
106
97
107
[ stars-askama ] : < https://img.shields.io/github/stars/askama-rs/askama?label=&color=f8f8f8&style=flat-square >
98
108
[ stars-handlebars ] : < https://img.shields.io/github/stars/sunng87/handlebars-rust?label=&color=f8f8f8&style=flat-square >
99
109
[ stars-horrorshow ] : < https://img.shields.io/github/stars/Stebalien/horrorshow-rs?label=&color=f8f8f8&style=flat-square >
110
+ [ stars-hypertext ] : < https://github.com/vidhanio/hypertext >
100
111
[ stars-markup ] : < https://img.shields.io/github/stars/utkarshkukreti/markup.rs?label=&color=f8f8f8&style=flat-square >
101
112
[ stars-maud ] : < https://img.shields.io/github/stars/lambda-fairy/maud?label=&color=f8f8f8&style=flat-square >
102
113
[ stars-minijinja ] : < https://img.shields.io/github/stars/mitsuhiko/minijinja?label=&color=f8f8f8&style=flat-square >
103
114
[ stars-ructe ] : < https://img.shields.io/github/stars/kaj/ructe?label=&color=f8f8f8&style=flat-square >
104
115
[ stars-sailfish ] : < https://img.shields.io/github/stars/rust-sailfish/sailfish?label=&color=f8f8f8&style=flat-square >
105
116
[ stars-tera ] : < https://img.shields.io/github/stars/Keats/tera?label=&color=f8f8f8&style=flat-square >
106
117
[ stars-tinytemplate ] : < https://img.shields.io/github/stars/bheisler/TinyTemplate?label=&color=f8f8f8&style=flat-square >
118
+ [ stars-vy ] : < https://img.shields.io/github/stars/JonahLund/vy?label=&color=f8f8f8&style=flat-square >
107
119
108
120
[ contr-askama ] : < https://img.shields.io/github/contributors/askama-rs/askama?label=&color=f8f8f8&style=flat-square >
109
121
[ contr-handlebars ] : < https://img.shields.io/github/contributors/sunng87/handlebars-rust?label=&color=f8f8f8&style=flat-square >
110
122
[ contr-horrorshow ] : < https://img.shields.io/github/contributors/Stebalien/horrorshow-rs?label=&color=f8f8f8&style=flat-square >
123
+ [ contr-hypertext ] : < https://img.shields.io/github/contributors/vidhanio/hypertext?label=&color=f8f8f8&style=flat-square >
111
124
[ contr-markup ] : < https://img.shields.io/github/contributors/utkarshkukreti/markup.rs?label=&color=f8f8f8&style=flat-square >
112
125
[ contr-maud ] : < https://img.shields.io/github/contributors/lambda-fairy/maud?label=&color=f8f8f8&style=flat-square >
113
126
[ contr-minijinja ] : < https://img.shields.io/github/contributors/mitsuhiko/minijinja?label=&color=f8f8f8&style=flat-square >
114
127
[ contr-ructe ] : < https://img.shields.io/github/contributors/kaj/ructe?label=&color=f8f8f8&style=flat-square >
115
128
[ contr-sailfish ] : < https://img.shields.io/github/contributors/rust-sailfish/sailfish?label=&color=f8f8f8&style=flat-square >
116
129
[ contr-tera ] : < https://img.shields.io/github/contributors/Keats/tera?label=&color=f8f8f8&style=flat-square >
117
130
[ contr-tinytemplate ] : < https://img.shields.io/github/contributors/bheisler/TinyTemplate?label=&color=f8f8f8&style=flat-square >
131
+ [ contr-vy ] : < https://img.shields.io/github/contributors/JonahLund/vy?label=&color=f8f8f8&style=flat-square >
118
132
119
133
[ act-askama ] : < https://img.shields.io/github/commit-activity/y/askama-rs/askama?label=&color=f8f8f8&style=flat-square >
120
134
[ act-handlebars ] : < https://img.shields.io/github/commit-activity/y/sunng87/handlebars-rust?label=&color=f8f8f8&style=flat-square >
121
135
[ act-horrorshow ] : < https://img.shields.io/github/commit-activity/y/Stebalien/horrorshow-rs?label=&color=f8f8f8&style=flat-square >
136
+ [ act-hypertext ] : < https://img.shields.io/github/commit-activity/y/vidhanio/hypertext?label=&color=f8f8f8&style=flat-square >
122
137
[ act-markup ] : < https://img.shields.io/github/commit-activity/y/utkarshkukreti/markup.rs?label=&color=f8f8f8&style=flat-square >
123
138
[ act-maud ] : < https://img.shields.io/github/commit-activity/y/lambda-fairy/maud?label=&color=f8f8f8&style=flat-square >
124
139
[ act-minijinja ] : < https://img.shields.io/github/commit-activity/y/mitsuhiko/minijinja?label=&color=f8f8f8&style=flat-square >
125
140
[ act-ructe ] : < https://img.shields.io/github/commit-activity/y/kaj/ructe?label=&color=f8f8f8&style=flat-square >
126
141
[ act-sailfish ] : < https://img.shields.io/github/commit-activity/y/rust-sailfish/sailfish?label=&color=f8f8f8&style=flat-square >
127
142
[ act-tera ] : < https://img.shields.io/github/commit-activity/y/Keats/tera?label=&color=f8f8f8&style=flat-square >
128
143
[ act-tinytemplate ] : < https://img.shields.io/github/commit-activity/y/bheisler/TinyTemplate?label=&color=f8f8f8&style=flat-square >
144
+ [ act-vy ] : < https://img.shields.io/github/commit-activity/y/JonahLund/vy?label=&color=f8f8f8&style=flat-square >
129
145
130
146
[ repo-askama ] : < https://github.com/askama-rs/askama >
131
147
[ repo-handlebars ] : < https://github.com/sunng87/handlebars-rust >
132
148
[ repo-horrorshow ] : < https://github.com/Stebalien/horrorshow-rs >
149
+ [ repo-hypertext ] : < https://github.com/vidhanio/hypertext >
133
150
[ repo-markup ] : < https://github.com/utkarshkukreti/markup.rs >
134
151
[ repo-maud ] : < https://github.com/lambda-fairy/maud >
135
152
[ repo-minijinja ] : < https://github.com/mitsuhiko/minijinja >
136
153
[ repo-ructe ] : < https://github.com/kaj/ructe >
137
154
[ repo-sailfish ] : < https://github.com/rust-sailfish/sailfish >
138
155
[ repo-tera ] : < https://github.com/Keats/tera >
139
156
[ repo-tinytemplate ] : < https://github.com/bheisler/TinyTemplate >
157
+ [ repo-vy ] : < https://github.com/JonahLund/vy >
0 commit comments