= euandre.org(7recipes) == NAME euandre.org - a personal website in six languages, built from asciidoc == DESCRIPTION Tasks that come up once the shape is familiar. For the first page written start to finish, see *euandre.org*(7tutorial). == Build only what changed `make` is incremental and every artifact is its own target, so this is the default rather than a trick. After adding or removing a file, regenerate the rules first --- they are a build product too: .... $ sh mkdeps.sh > deps.mk $ make .... == Check the site over .... $ make check .... Seventeen consistency checks: links that go nowhere, pages missing from an index, a feed entry without its page, and so on. They read the built tree, so build first. == Regenerate the translations .... $ make i18n .... po4a writes the translated masters from `po/`. The catalogues are the source; the translated `.adoc` files under `src/content//` are not kept in the repository, which is why the build makes them. == Add a slide deck A deck is an `.eslaides` file under `src/content/`; *eslaides*(1) renders it to PostScript and ghostscript to PDF. Both land beside the source, and `sh mkdeps.sh > deps.mk` is what notices the new file. == Serve the built site .... $ make install $ make run .... `install` unpacks what `all` already packed, so what is served next door and what would be deployed across a network are the same bytes. == Deploy .... $ make upload .... It asks the server what it has, subtracts what `all` wrote, and removes the difference before extracting the new tree --- so a page that stays is never taken from under a reader, and there is no moment when the site is missing. Every step lands in a file naming what it holds, so what is about to be removed can be read before it is. == SEE ALSO *euandre.org*(7tutorial), *euandre.org*(0), *mkwb*(1), *eslaides*(1), *po4a*(1) == AUTHORS mailto:eu@euandre.org[EuAndreh] and contributors. == BUGS * Report bugs to the mailto:~euandreh/public-inbox@lists.sr.ht[mailing list]. Use the subject "[euandre.org] BUG or TASK: ". * Browse bugs https://euandre.org/git/euandre.org/TODOs.html[online]. * https://euandre.org/git/euandre.org/[Homepage]. * https://lists.sr.ht/~euandreh/public-inbox?search=%5Beuandre%2Eorg%5D[Comments and discussions].