1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
|
= 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/<lang>/` 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/`; *eslaidesg*(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), *mkwbg*(1), *eslaidesg*(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: <description>".
* 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].
|