···11+# Staticrustator (being workshopped)
22+33+After struggling with rewriting personnal website in a myriad of ways, all in some way unsatisfying,
44+I have decided to write my own statis site generator.
55+66+Heavily inspired by [Saait](https://codemadness.org/git/saait/), since that is what I have been using previously.
77+88+To build
99+```bash
1010+cargo build
1111+```
1212+1313+and to create the website structure
1414+```bash
1515+cargo run
1616+```
1717+1818+This will create the folder `output` then you can sync to your vpc, or however you serve stataic files.
1919+2020+-------
2121+## File organization
2222+2323+The posts are taken from `posts/` folder, are structured as markdown files, with a front matter in yaml for the date, and title of the post.
2424+2525+2626+Example:
2727+```markdown
2828+---
2929+title: Pantheon
3030+date: 2024-03-03
3131+---
3232+# WATCH PANTHEON
3333+3434+## I DO NOT CARE WHAT DAY IT IS
3535+3636+### HERE'S YOUR PLAN
3737+3838+1. Wake up.
3939+2. Open whatever device you watch things on.
4040+3. Obtain, legally or illegaly, by any means necessary, 2 (two) seasons of Pantheon, created by Craig Silverstein based on short stories by Ken Liu.
4141+4. Binge the 2 sesons in a single night (it is feasable I checked)
4242+4343+Thank you for coming to my Ted Talk.
4444+```
4545+4646+Additional pages such as `about` is also taken from there, however you could modify the about template in `templates` folder.
4747+[Askama](https://github.com/djc/askama) is a rendering engine based on Jinja, so it is rather straight forward to use,
4848+but also it can take rust `structs` to hold template context, which is very nice.
4949+5050+I have not yet integrated htmx into is, for faster loads of the post body,but that's for the future (also I hate js).
5151+
+7
content/pages/about.md
···11+---
22+title:about page
33+date:01-09-2024
44+---
55+# Welcome to my site!
66+77+Inspired originally by the yesterweb ring, a small portion of the internet where I post (rarely) about stuff i think i make that is cool.