- - - - - yumeneru - - - - - nemuru - - - - -
- - - - - yumeneru - - - - - nemuru - - - - -
umi is a very basic static site generator. It's not perfect, but it does a decent enough job that I haven't abandoned it yet.
umi makes use of HTML files and HTML templates to create sites. These HTML templates are currently a bit limited (there is no conditional syntax or text-replacement), but there are plans to expand on them a little.
To run umi, you only need a Python installation. Preferrably Python 3, however, there is still support for Python 2 (until April 2027).
I'd recommend cloning the entire umi git repository as this includes the documentation. However, there are alternative ways.
Either install git and run git clone https://codeberg.org/supercell/umi, or directly download the git repository and extract the archive (.zip, .tar.gz).
These "installation" steps only apply for POSIX systems, including OS X. Find a directory in your PATH that you have permission to write and execute from, and then create a symbolic link.
# find a directory you can write/execute to/from.
printf "%s\n" "$PATH"
# if you can't find a directory, try this:
mkdir $HOME/.local && mkdir $HOME/.local/bin
printf "export PATH="$PATH:$HOME/.local/bin\n" >> $HOME/.profile
# I'll use the directory we created above as an example, just replace
# the path with your own one.
chmod u+x ~/path/to/umi-directory/umi.py
ln -s ~/path/to/umi-directory/umi.py ~/.local/bin/umi
At some point I may make a script to automate this part, but if you have any issues feel free to ask me for help.
If you don't want the documentation/example site, then you can just download the umi.py file itself, then follow the steps above for finding a directory you can write to and execute from.
umi was originally created to just be a simple static site generator that didn't use any third-party libraries or programs. So far, this has held true! It has changed a little since the beginning, and there is still a lot to tidy up and smooth out, but I'm hoping that the code is somewhat easier to modify due to a self-imposed restriction of only one file for umi.
One of the main purposes of being a "simple static site generator" was that people could edit the file to fit their needs with little hassle. Something that is straight forward in how it works so it can be fully read and understood in a short amount of time (of course, this can vary between people and their experience, but hopefully you get the idea).
In February 2024, umi was improved to only re-write the files that have been updated since last run. This reduces the time required to build sites, for example, this site takes less than 60ms to build when content has changed. It's not perfect yet, since it doesn't register template updates, but that is planned.
There are still a few things missing from umi before I'd call it complete (for my needs). Thankfully, this hasn't changed too much since the beginning so the only blocker on implementing them has been myself. The following sections will talk about what I'd like to change or implement. There is no particular order.
Last updated: 2024-03-18