2.7 KiB
blog.ari.lt
The Ari-web blog.
Installing dependencies
The blog generator has two dependency files - requirements.txt
and requirements-extra.txt
. The normal requirements file must always be installed such as:
pip install -r requirements.txt
And the -extra
requirements file only needs to be installed when you are using commands such as new
to write blog posts. The normal requirements file is tailored to provide a minimal dependency tree for CI/CD servers.
Creating a new blog
To create a new blog (not blog post) run
./scripts/blog.py blog
This will generate a new empty blog.json
which you can edit and adjust to your needs
Writing a new blog post
After you've set up blog.json
you can proceed to write a new blog post using the new
subcommand:
./scripts/blog.py new
This will allow you to write blog posts in markdown as well as ask you for metadata.
Building
- A full-on static website (recommended):
CI=1 ./scripts/blog static
- Only blog posts:
CI=1 ./scripts/blog build
The CI
environment variable is optional, although setting it in a build/CI environment is good to save time on some operations that are useless in that context, for example sorting blog posts or massive logging.
Furthermore, if you want to disable colour support you can also set NOCLR=1
and it will print things in plain text over a coloured output.
The API
recents.json
, blog.json
, and media/media.json
are all APIs you can use. For caching purposes SHA256 digests of these static APIs are generated on build at recents_json_hash.txt
, blog_json_hash.txt
, and media/media_json_hash.txt
which you can use to optimise your API usage.
Help
help -- print help
sort -- sort blog posts by creation time
new -- create a new blog post
ls -- list all posts
ed -- edit posts
med -- minor edit posts
rm -- remove posts
build -- build blog posts
css -- build and minify css
robots -- generate a robots.txt
manifest -- generate a manifest.json
sitemap -- generate a sitemap.xml
rss -- generate an rss feed
apis -- generate and hash apis
clean -- clean up the site
static -- generate a full static site
serve -- simple server
dev -- generate a full static site + serve it
blog -- generate a new blog
search -- search for a term
media -- add media
lsmedia -- list media
rmmedia -- remove media
purgemedia -- purge unused or unindexed media
infomedia -- get info about media
Custom markdown extensions (besides the well-known ones):
* Titlelink: <#:Your Header Title> - links to a header
* Media embed: <@:e3b0c4429...> - embeds media