Blog TODO
far in the future
I feel very stupid.
I've written several blog engines in various languages. Never once started from scratch on design. What I mean is that I've always taken as my requirements the bits I liked about other blog engines, prioritised a bit, followed that to-do list. Never started with an absolutely minimal reverse-chrono
I rather like this mode of blogging, type markdown into VSCode, makesite.py
converts/formats it, use git (in a script) to transfer to server.
First, add a bit to p (publish) to ssh into server, then :
cd /home/hkms-apps/hyperdata-static
git pull
Soonish :
- layout : make it prettier & more navigable, maybe make it 2 or 3 column for index etc.
- add a forward-chrono view from a given post, makes more sense with the things like continuing notes (can always make it more sophisticated via SPARQL store)
- add support for multiple topic-specific blogs
- add a directory treewalker to send the content etc. up to my SPARQL store (I've a feeling I've done this before in Python, very straightforward - it's be quicker to do afresh, with the help of
sparqlwrapper
and ChatGPT)
I reckon I'll split makesite.py
up, modularise a bit. Even if I move to all SPARQL-backed for the blog, it's bound to be useful somewhere.
Things for later :
Turtle plugin for markdown
similar to https://github.com/ozekik/markdown-ld
https://raw.githubusercontent.com/ozekik/markdown-ld/master/examples/foaf.md
Requirements :
- independent of, but compatible with existing markdown tools
- extensible, reasonably modular
- block identifier & delimiters
- useful defaults, easily overriden
For most of 1 & 2, make it easy to put in pipeline, something like :
markdown, other = mx(markdown_with_extensions)
for 3, maybe :
mx:turtle '''
<this> a x:That.
For 4, for starters I'd probably be good to had some standard prefixes as default, added by the processor, which could be overriden :
mx:turtle mx:prefixes '''
prefix ...
<this> a x:That.
'''
>>> pair = (1, 2)
>>> pair
(1, 2)
>>> x, y = pair
>>> x
1
>>> y
2
>>> pair[0]
1
>>> pair[
Markdown Extension Vocab, mx: