blog.sh is a minimal blog engine in a small shell script. Features:
- Requires only a posix shell, a djot->HTML converter and git
- Handle both blog posts and normal pages
- No boilerplate, just create a djot file
- Show creation and update timestamps (taken from git history)
See the blog post for more details. There's also another post about the Gemini support.
- Clone this repository
git clone https://github.com/karlb/karl.berlin.git - It uses cdjot to generate HTML from djot source, but pandoc also works fine
- Comment out the
GEMINIfunction if you don't want Gemini pages. If you do, use pandoc with the gemtext.lua custom writer - Put your blog posts as djot files into
posts - Run
./blog.shand your posts will show up inbuild/index-with-drafts.html - Commit posts in git to add timestamps and have them show up in
build/index.html - Copy the content of
buildto your webserver, so that other people can read your blog
Feel free to contact me if you have any questions.
If you like the this, you might also be interested in using make to generate static (non-blog) sites.
The repo also contains the content for my personal blog and homepage (http://www.karl.berlin). If this is a problem for anyone who wants to use blog.sh, please let me know and I will split the repos. For now, this is more convenient for me.