Archive2026102
jump to a month123456789101112
7
- ./blog.sh — a minimalist blogging system
- Built for one blog on purpose
- No database. One JSON file per post.
- Comments I don't host
- Add your language. It's one file.
- What ./blog.sh doesn't do
- Why not X, and why Threads waits
- A deploy that refuses to nuke your site
- No gems (one asterisk)
- $ ./blog.sh add
- Seven keys
- Why I built this (38 seconds)
- Some posts are conversations
- Fourteen years, and every image came home
8
- ./blog.sh 1.0
- ./blog.sh 1.0.1
- ./blog.sh 1.1
- The post that stays
- Some posts are downloads
- Three drafts, three mornings
- The photo your iPhone won't show anyone
- An old link still knows the way
- The menu got shorter
- The guard that switched itself off
- A blog engine that became an archive
- ./blog.sh 1.2
- Setting up is a conversation now
- ./blog.sh 1.2.1
- Your camera writes down where you were
- Rescuing a blog that died in 2013
- A palette you can look at first
- Most of your Facebook isn't yours
- Walking the archive
- Everything that's wrong, at once
- ./blog.sh 1.3
- The way out ships with it
- Star it to publish it
- What rots quietly
- ./blog.sh 1.3.1
- A skin that survives git pull
- An import only ever adds
- Ten versions back
- ./blog.sh 1.3.2
- My fixtures agreed with me
- Ten smaller things
- The link is the player
- ./blog.sh 1.4
- The card that reads Codeberg
- The same language, spoken differently
- Deploy in your own language
- The other half of check
- What a crash may cost
- Tested like an enemy
- ./blog.sh 1.5
- A slug is an address, not a name
- Two pages the site built out of itself
- Cut before it is written
9
- Posts nobody meant to publish
- An archive you cannot see is not empty
- Everything else in 1.5
- ./blog.sh 1.6
- The time between deciding and the site saying so
- A post handed over as a file
- Written on a train
- Where a reader carries a post
- A badge that says what a post is about
- Everything else in 1.6
- ./blog.sh 1.7
- The post that waited for a terminal
- What a post is, not what it says
- The address a post is about
- A bicycle nobody had to draw
- The last thing a recorder writes
- One line of colour
- The build doesn't know where it's going
- ./blog.sh 1.8
- Whoever loads last wins
- How did I set up blog.sh on my shared hosting
- What's left to get wrong
- The lock that doesn't wait
- The parts that don't rebuild themselves
- ./blog.sh 1.9
- Two languages, one site
- The site speaks the language of the page
- Before the first deploy
- A host that only speaks FTP
- One shortcut instead of two
- Everything else in 1.9
10
- ./blog.sh at LinuxDays 2026
- ./blog.sh: blogovací engine, kterému stačí terminál
- How big it can get
- The page a stranger opens first
- Building an Archive
- Where this engine grew up
- ./blog.sh 1.10
- The archive talks back
- An icon instead of a terminal
- The door for programs
- What a listing says now
- Saved unchanged
- A second language, one release later
- Everything else in 1.10
