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
|
= euandre.org(7tutorial)
== NAME
euandre.org - a personal website in six languages, built from asciidoc
== DESCRIPTION
Writing one article, from nothing to a page on disk. It assumes the
tools are installed and `make` runs; everything else is here.
== A first article
Articles live under a collection, dated:
....
src/content/en/blog/2026/09/10/a-first-article.adoc
....
The path is the URL, and the three levels below the collection are the
date. Nothing registers the file anywhere --- `mkdeps.sh` finds it
with `find`, so creating it is the whole of adding it.
The file opens with its title and then says what it says:
[source,asciidoc]
....
= A first article
The first paragraph is the summary the indexes and the feed quote, so
write it as one.
== A section
Prose, `code`, and the rest of *adocg*(7).
....
== Building it
The rules are generated, so regenerate them, then build:
....
$ sh mkdeps.sh > deps.mk
$ make
....
The page lands beside its source as
`src/content/en/blog/2026/09/10/a-first-article.html`, and the
collection index, the feed and the sitemap pick it up because the
rules that build them were regenerated too.
Read it before publishing it:
....
$ make install
$ make run
....
== Where the other languages come from
They are not written; they are translated. The English file is the
master, and `po/` holds one catalogue per language:
....
$ make i18n
....
writes the translated masters under `src/content/<lang>/`, which the
next `sh mkdeps.sh > deps.mk` then finds like any other page. A
change to the English source propagates rather than drifting, which is
the point of keeping them as catalogues rather than as copies.
== SEE ALSO
*euandre.org*(7recipes), *euandre.org*(0), *mkwb*(1), *adocg*(7), *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].
|