cwm also has good keyboard shorcuts.
				cwm from tiling window managers.
				share/rss.uppxml file https://clbin.com/TSDJR !
				mk to generate https://adi.onl, take a look here https://adi.onl/bin/mkfile !
				C based percent encoder, useful for rendering links when using mkws https://adi.onl/pe.html !
				https for GitHub. I personally also prefer SSH.
				/bin/mkws file and keep the feed file separate, something like feed.upp and call it from the main /bin/mkws file like pp feed.upp > rss.xml.
				GOPATH, never looked back once I set it to $HOME.
				GOPATH, never looked back once I set it to $HOME>
				test -f "$f" is redundant, how about test -f "$b"? https://clbin.com/NOJ2e
				feed > rss.xml.
				pp version of  your gen_feed.sh script https://clbin.com/gA609, not sure about about test -f "$f" or test -f "$b" tho.
				zs over mkws and there's no problem with that.
				mkws is basically a small set of abstractions I believe are good for generating a static site, with a very powerful templating engine.
				mkws is about the few conventions/features: layout file, sitemap generation, css file, cache file, and the shell based templating system. You don't actually _need_ mkws you could write all your website in shell script (@lyse is doing that I believe), but there some subjectively nice small, _optional_, features. Same with zs I guess.
				mkws is, just imagine only your extension system. Everything is shell script.
				Markdown or/and watching/live reloading, it takes a few minutes to set-up.
				mkws doesn't support Markdown out of the box, nor does it watch files. Everything is stored in non-hidden directories, is scriptable and highly customizable as opposed to zs. Doesn't have the concept of "plugins", you just write shell code anywhere you prefer.
				pp based?
				mkws user https://nemic.dev/!
				mkws works great with awk! Maybe you could pipe to awk instead of using a temporary file?
				curl https://f.adi.onl/user/adi/twtxt.txt works fine.
				data/feeds/adi  has all the twts
				master.
				mkws. 🌐\n\nhttps://revolut.me/adrianh6s (preferred)\nhttps://paypal.me/adrianemilgrigore\nXMR:\n42pBhnc6qPyj8qLvbUvXPB7DQJQYpkQUG5U3VEBx4D8SQuDC9GV6KdcBqFCwcu4iuPJtiLsSTPXQeSCacogXi1N57jjc9L2\nBTC:\nbc1q47wu3npeug3vprff0ftz4gkhh52hfaxcpfavlh
				mkws. 🌐https://revolut.me/adrianh6s (preferred)
https://paypal.me/adrianemilgrigore
XMR:
42pBhnc6qPyj8qLvbUvXPB7DQJQYpkQUG5U3VEBx4D8SQuDC9GV6KdcBqFCwcu4iuPJtiLsSTPXQeSCacogXi1N57jjc9L2
BTC:
bc1q47wu3npeug3vprff0ftz4gkhh52hfaxcpfavlh
meta.json is empy.
				error creating store" error="unexpected end of JSON input?