I Wrote YetAnotherBlogGenerator
Briefly

I Wrote YetAnotherBlogGenerator
"You might have noticed I'm not happy with the Python packaging ecosystem. But the language itself is no longer fun for me to code in either. It is especially not fun to maintain projects in. Elementary quality-of-life features get bogged down in months of discussions and design-by-committee. At the same time, there's a new release every year, full of removed and deprecated features. A lot of churn, without much benefit. I just don't feel like doing it anymore."
"That's certainly true, but a good high-level statically-typed language can yield similar development speed with more correctness from day one. For example, I coded an entire table-of-contents-sidebar feature in one evening (and one more evening of CSS wrangling to make it look good). This feature extracts headers from either the Markdown AST or the HTML fragment. I could do it in Python, but I'd need to jump through hoops to get Python-Markdown to output headings with IDs."
A blog previously generated with Nikola for 13 years now uses a newly implemented static site generator, YetAnotherBlogGenerator, written in C#. The Python packaging ecosystem and frequent language churn reduced enjoyment and maintainability, motivating a move away from Python. A high-level statically-typed language offers comparable development speed with stronger correctness guarantees and superior IDE support. A table-of-contents-sidebar feature was implemented quickly, with header extraction from Markdown AST or HTML fragments. C# enables easier introspection and decompilation of libraries. A competent static site generator must handle diverse content formats, template-driven HTML/XML generation, image processing, and correct RSS feed generation.
Read at Chriswarrick
Unable to calculate read time
[
|
]