Does anyone know of any tutorial or reference on how I could create a static website generator with Rust? It doesn't necessarily have to be a tutorial, but something that tells me what I need to develop and research.
I know there is Zola and others, but I am a beginner and it is for learning reasons.
Thanks in advance.
Do you want to code your own template engine, or build your static site generator from existing components?
Maybe have a look at Tera: Tera, the template engine that Zola uses.
Other SSG written in Rust: mdBook and cobalt.rs
Thanks for answering.
I want to build the SSG based on existing components. Do the necessary components already exist in the language or would I have to do something from scratch? Is there a list of what it takes to do an SSG?
Reading through the Cobalt docs could be a good place to start:
Some crates to build a SSG:
-
Markdown parser
pulldown
-
HTML template engine
tera
handlebars
liquid
-
HTTP server
- watch file system using
notify
- live reload using WebSockets
ws
- static files server:
actix-files
oriron
+staticfile
- watch file system using
-
Configuration file with metadata and build settings
toml
As someone who have built a static site generator in Rust, many of the required components already exist in the Rust ecosystem.
My only real problem was that there weren't any templating engine that both
- Had a lightweight dependency tree
- Worked on runtime, not compile time
So I had to hack on something tiny for my use case.
Also, I would recommend you to check out the source of my SSG, particularly the "tools", since I believe I have seperated the neccesary steps enough for you to just see how a particular step works in something that sorta works.
Also, a static site generator isn't something difficult, if you don't have any need for Markdown or something, you could just write some HTML, and use cat
to wrap it in a page template and be done with it.
This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.