Static
What ?
Satic is a minimalist static site generator.
Why?
While looking for static site generators on the internet I realized almost all of them were bloated programs that required me to install a bunch of stuff just to replace some strings on a html files. Then I decided to write something simple that fits my needs. This is a really simple program that builds as a single command line executable and requires no additional dependencies to build or run.
What's wrong with current static site generators ?
-
Distribution
I would say the first thing is distribution. Static site generation is mostly a matter of replacing strings on text files. I am not a web developer, so when I need to generate a static site I don't want to be forced to install things I don't use like ruby/python/algol/brainfuck interpreter and a bunch of dependencies and extra packages. In other words, there is almos t no reason for this kind of program not to be distributed as ONE SINGLE EXECUTABLE.
-
Feature bloat and learning curve
Existing generators are actually pretty powerful and feature rich. This translates into forcing the user to learn about all the features, configuration files and syntax for different situations.
My approach
My approach went in the opposite direction. I sought to create absolutely essential features and make the amount of information to be learned by the user readable in a single page of text. Also, I decided to use convention over configuration for the thing users tend to do the most: adding new content / posts. Please check the documentation for more details on that
Next steps
There are 2 more "features" I would include in this project so I would never need another generator: IF/ELSE tags and Markdown support. For the markdown, specifically, I would contain it between {markdown}{end-markdown} tags so users would still be able to input raw HTML when necessary.
Should I use it ?
No, but yes. If you just need simple features this program gets you covered. If you need fancy frontend generation logic and don't mind installing a bunch of crap, you better not.
How to use it ?
Please check the configuration on the Projet Repository.
Where do I get it ?
You can download it from here.