Lektor
For a long time my personal site was dynamic — built using Django and Python and hosted on Heroku. After falling off from Django as I focused my attention on Swift-er things I decided to switch to a static site builder. I had the following requirements:
- Built with Python
- My requirements aren’t so extensive, but I wanted to be able to understand stack traces when something went wrong
- Markdown support
- Previously I had stumbled into
reStructuredText
. I was not a fan anyway, and I find markdown far more intuitive.
- Previously I had stumbled into
- Easily customisable
- I would one day like to have product pages for my apps, with non-html content — e.g. site maps, json, rss.
Lektor fit all of these requirements and I have had a smooth ride ever since. The project is not as active as I would like — e.g. the RSS plugin that I use was last updated 2 years ago — but as everything currently works it will take a while before that becomes a problem. If it does become a problem, my posts are all stored in plain Markdown files.
Lektor comes with a development server, with a built in admin panel for editing content with a GUI which also helps debug pages when something goes wrong. Deployment is easy, I simply run lektor build -O build
— and drag and drop the contents of the build folder into an S3 bucket.
michael | benzoate.net | 2023-09-20 |