this post was submitted on 01 Jul 2023
17 points (100.0% liked)
Rust
6125 readers
19 users here now
Welcome to the Rust community! This is a place to discuss about the Rust programming language.
Wormhole
Credits
- The icon is a modified version of the official rust logo (changing the colors to a gradient and black background)
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I came here to ask a similar question so I may as well throw it into the comments of this one just to make sure I don't end up cluttering the community.
In my case though, I have a few extra requirements the existing answers can't handle:
I think all of these can be recompiled at runtime.
Askama seems to be a popular and mature option here. Yew is also pretty popular here, uses a VDOM and provides a powerful front end (great for SPAs) I’m most likely going to go with tide-jsx, it’s like HTML but it supports Rust expressions thru a macro, which is exactly what I need. Liquid is also pretty secure, so that’s an option.
Askama and Yew are pretty mature, so they probably have reasonable security. I would check their docs, however.
Perhaps "recompilation" wasn't the right word to use there.
My goal is to let people customize the templates that will end up building the pages, either from the app itself or through a companion panel app of sorts. This excludes anything that compiles down to native code, so it must be something interpreted at runtime.
Maybe just store the template in a file, read it, and format with the
strfmt
library?