New website

I started my personal website back in October 2018. By the time I used Django with Python 2.7 with an SQLite database. The photogallery was managed by Django-Photologue which allowed watermarking and metadata removal. However, not having updated the tech stack for a while, I found it impossible to safely continue using the website, especially since Python 2 is now history. While I could use Django and Photologue with Python 3 and redo the website (partially), I decided to drop anything with database since what I need is mostly serving static assets and my documents/notes in Org-Mode, Markdown (rare) and HTML formats. For this, I decided to program a system with FastAPI as the presentation layer - which is supposed to be replaceable by any other framework - and a converting facility utilizing Pandoc for export. Jinja2 templates are also used to serve the exported pages in the Templating system I wanted. This allows an experience very close to dragging and dropping my content files as well as photos, allowing complex nesting of the pages. The website code has the following features:
- export Org and Markdown files to a Jinja2 HTML template, some components of which can be dynamically populated
- support tags
- Denote-style filename metadata extraction as well as document heading variables
- manage subdirectories:
- if a folder has a single content file, regard that file as the page content, helping organizing pages
- if is a folder which includes further subfolders or supported files, regards it as nested item
- allow a different export directory to keep outputs clean
- generate sitemap and rss automatically
- photogallery management
- several albums support per folder structure
- user-defined template (Bootstrap 5 default)
- user-defined redirects to support smooth migration from previous websites (see below for instructions)
- minimal usage of JavaScript and external scripts and load them only when necessary (e.g. for Mathjax support)
I also have some other features in mind that I hope I can develop in the near future in my free time:
- export using Emacs batch command
- picture watermark and thumbnail generation
- picture file metadata removal
- pagination
- user-defined redirects to (redirects from already supported)
- better test coverage
There are also some other features that are ideal to have, but I don't know when I can get to implement them:
- support pictures for Latex formulas if set so in the config to remove Mathjax JavaScript
- per-folder template setup
- sharing on social media
- allow comments on pages
The new website code is free and open source and can be accessed in my Codeberg repository.