mirror of
https://git.ari.lt/ari.lt/blog.ari.lt.git
synced 2025-02-04 09:39:25 +01:00
73 lines
2.7 KiB
Markdown
73 lines
2.7 KiB
Markdown
# [blog.ari.lt](https://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
|