User avatar
privTri Volpeon areonNSmol @volpeon@icy.wyvern.rip
Admin
Wyvern-shaped software developer and hobby vector artist. Also sometimes a fluffy werewolf alien creature (Areon).

Creator of the neofoxes, neocats and other emojis.
wvrnBox
Website
https://volpeon.ink/
Speaking German, English
Age 30s
Pronouns he / him
Backup Account @volpeon@goto.wyvern.rip
Bonus Content @areon@icy.wyvern.rip
User avatar
privTri Volpeon areonNSmol @volpeon@icy.wyvern.rip
1mo
@puniko Weil Montag areonVFlat
User avatar
privTri Volpeon areonNSmol @volpeon@icy.wyvern.rip
1mo
@puniko Henlo areonVFlat
User avatar
privTri Volpeon areonNSmol @volpeon@icy.wyvern.rip
1mo
@puniko neocat_boop_cute
User avatar
privTri Volpeon areonNSmol @volpeon@icy.wyvern.rip
1mo
And now it ensures only template formats are used that are actually supported.
User avatar
privTri Volpeon areonNSmol @volpeon@icy.wyvern.rip
1mo
AAAAAA MONDAY
User avatar
privTri Volpeon areonNSmol @volpeon@icy.wyvern.rip
1mo
I've been working on my static site generator. The architecture is based on very simple principles that allow me to implement perfect type-safety.

There are pages and templates.

Pages are the content of the site. They're loaded by recursively reading the files from a defined folder.

With
site.process, any kind of processing for any kind of file format can be added. You can modify page, remove them or add new ones. This also includes registering global variables and helpers by simply adding them to every single page. Really, this one simple function makes anything possible SSGs are used for.

Pages are sent to templates. Since pages are actually all sorts of files (not just Markdown, but also images and stuff), they will be sent to a passthrough template by default that simply outputs the binary data. More formats can be added with a template handler based on the MIME type.

Templates may have a validator function to make sure they receive the metadata they expect. It's a function that returns either the parsed data or an error. Since this is so generic, you can plug in your favorite library.
This will give you helpful errors and provide JSX-based templates with typed props.

And that's the whole thing.
User avatar
privTri Volpeon areonNSmol @volpeon@icy.wyvern.rip
1mo
Americans shocked by European fans wanting to walk to stadiums
I thought this headline was satire neofox_googly_shocked
User avatar
privTri Volpeon areonNSmol @volpeon@icy.wyvern.rip
1mo
It's probably not a good sign if a language has a concise word for "getting lost at sea" neofox_googly_shocked
User avatar
privTri Volpeon areonNSmol @volpeon@icy.wyvern.rip
1mo
@lume neofox_heart

@eg
User avatar
privTri Volpeon areonNSmol @volpeon@icy.wyvern.rip
2mo
@nytpu EEEEEEEEEEE brdScream
User avatar
privTri Volpeon areonNSmol @volpeon@icy.wyvern.rip
2mo
@eg @lume Not at all. I'm just curious how I would solve certain challenges that come with writing an SSG
User avatar
privTri Volpeon areonNSmol @volpeon@icy.wyvern.rip
2mo
@Endiverge drgn_lurk_owo
User avatar
privTri Volpeon areonNSmol @volpeon@icy.wyvern.rip
2mo
Shit, I think I want to write my own SSG in Deno
User avatar
privTri Volpeon areonNSmol @volpeon@icy.wyvern.rip
2mo
@nytpu areonNNotice
User avatar
privTri Volpeon areonNSmol @volpeon@icy.wyvern.rip
2mo
I went on a walk. The magpies laughed
User avatar
privTri Volpeon areonNSmol @volpeon@icy.wyvern.rip
2mo
@Erpel @catraxx @areon I'm in this picture neofox_googly_woozy
User avatar
privTri Volpeon areonNSmol @volpeon@icy.wyvern.rip
2mo
@catraxx areonNCool
User avatar
privTri Volpeon areonNSmol @volpeon@icy.wyvern.rip
2mo
@Erpel drgn_nom_cat drgn_nom_cat drgn_nom_cat
User avatar
privTri Volpeon areonNSmol @volpeon@icy.wyvern.rip
2mo
Just rinished reading a book. I'll have to look for a new one areonNFlat
User avatar
privTri Volpeon areonNSmol @volpeon@icy.wyvern.rip
2mo
@sanek High speed mlemlemlemlemlem