Build process of this log

August 25, 2021 on Olivier's log

Tech Stack

I write the content in gemtext and kiln does the gemini+html generation. Thank you adnano for the great stuff!

https://kiln.adnano.co/

https://git.sr.ht/~adnano/gmnitohtml

Local development

I usually use a Makefile to ease and unify local development, so that I just have to type `make dev` to get started.

In this case I want to watch all the files and call `kiln build` on every change. I also launch a local http server (php in this case) and open my browser.

I had to learn some Makefile magic to have both serve-html and watch targets run in parallel:

dev: build
	$(MAKE) --no-print-directory -j2 dev-tasks

dev-tasks: watch serve-html

serve-html:
	@xdg-open http://127.0.0.1:8087
	@php -S 127.0.0.1:8087 -t dist/html

watch:
	@inotifywait -m -e close_write -r --exclude "(dist|.git)" . | while read events; do kiln build; done

Full Makefile

Build pipeline

The code is hosted on git.sr.ht. On every push, a build is triggered on build.sr.ht to call `kiln build` and deploy the gemini and html sites to srht.site.

https://git.sr.ht/~oliverpool/log.pfad.fr

.build.yml manifest

Sourcehut

I am positively impressed by sr.ht. It is really fast. Having a link to the build on the output of git push is very nice.

However I find the web interface not always intuitive (words that I am not used to, confusion between git page and project page).