summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore4
-rw-r--r--Makefile12
-rw-r--r--deps.mk33
-rwxr-xr-xmkdeps.sh48
-rw-r--r--po/de.po47
-rw-r--r--po/en.po47
-rw-r--r--po/eo.po47
-rw-r--r--po/es.po47
-rw-r--r--po/euandre.org.pot47
-rw-r--r--po/fr.po47
-rw-r--r--po/po4a.cfg4
-rw-r--r--po/pt.po49
-rw-r--r--src/content/en/blog/categories.adoc1
l---------src/content/en/blog/categories.name1
-rw-r--r--src/content/en/pastebin/categories.adoc1
l---------src/content/en/pastebin/categories.name1
-rw-r--r--src/content/en/podcast/categories.adoc1
l---------src/content/en/podcast/categories.name1
-rw-r--r--src/content/en/screencast/categories.adoc1
l---------src/content/en/screencast/categories.name1
-rw-r--r--src/content/en/til/categories.adoc1
l---------src/content/en/til/categories.name1
-rw-r--r--src/content/pt/hea/categorias.adoc1
l---------src/content/pt/hea/categories.name1
-rw-r--r--src/headers.txt6
-rw-r--r--src/headers/de.txt13
-rw-r--r--src/headers/en.txt13
-rw-r--r--src/headers/eo.txt13
-rw-r--r--src/headers/es.txt13
-rw-r--r--src/headers/fr.txt13
-rw-r--r--src/headers/pt.txt13
-rw-r--r--src/headers/ref.txt13
-rw-r--r--src/linkonly-dirs.txt5
-rw-r--r--src/names/categories/de.txt1
-rw-r--r--src/names/categories/en.txt1
-rw-r--r--src/names/categories/eo.txt1
-rw-r--r--src/names/categories/es.txt1
-rw-r--r--src/names/categories/fr.txt1
-rw-r--r--src/names/categories/pt.txt1
-rw-r--r--src/names/categories/ref.txt1
-rw-r--r--src/names/category/de.txt1
-rw-r--r--src/names/category/en.txt1
-rw-r--r--src/names/category/eo.txt1
-rw-r--r--src/names/category/es.txt1
-rw-r--r--src/names/category/fr.txt1
-rw-r--r--src/names/category/pt.txt1
-rw-r--r--src/names/category/ref.txt1
-rw-r--r--src/static.conf3
48 files changed, 493 insertions, 70 deletions
diff --git a/.gitignore b/.gitignore
index ec674e8..cfa522f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -18,9 +18,5 @@
*.htmllisting
*.ps
*.pdf
-index.htmlheader
-index.htmlfooter
-index.htmllisting
*.gz
/src/content/.gitignore
-/po/*.mo
diff --git a/Makefile b/Makefile
index 823d3db..c4bb723 100644
--- a/Makefile
+++ b/Makefile
@@ -228,11 +228,7 @@ side-assets = \
src/pages/*/*.html.*.txt \
src/content/.well-known/ \
`cat src/all-symlinks.txt 2>/dev/null` \
- src/content/css/ \
- src/content/favicon/ \
- src/content/images/ \
- src/content/resources/ \
- src/content/static/ \
+ `cat src/linkonly-dirs.txt 2>/dev/null` \
@@ -243,7 +239,7 @@ all: $(captured-assets)
$(derived-assets): Makefile deps.mk
-$(sources.conf): src/global.conf src/headers.txt
+$(sources.conf): src/global.conf
src/content/.gitignore: src/symlinks.txt
@@ -271,8 +267,8 @@ $(indexes.htmllisting):
$(categories.htmllisting):
mkwb categoriesbody $*.conf > $@
-$(categories.txt):
- mkwb categories $(@D) > $@
+$(categories.txt): src/global.conf
+ mkwb categories src/global.conf $(@D) > $@
$(categories.xml):
for f in `cat $*.txt`; do \
diff --git a/deps.mk b/deps.mk
index 5434e46..ffdee3b 100644
--- a/deps.mk
+++ b/deps.mk
@@ -311,12 +311,6 @@ src/content/en/til/categories.snippets.gz: src/content/en/til/categories.snippet
src/content/pt/hea/categorias.snippets.gz: src/content/pt/hea/categorias.snippets
src/content/en/slide/2020/10/19/feature-flags.pdf.gz: src/content/en/slide/2020/10/19/feature-flags.pdf
src/content/en/slide/2020/11/14/local-first-hype.pdf.gz: src/content/en/slide/2020/11/14/local-first-hype.pdf
-src/content/en/blog/categories.xml.gz: src/content/en/blog/categories.xml
-src/content/en/pastebin/categories.xml.gz: src/content/en/pastebin/categories.xml
-src/content/en/podcast/categories.xml.gz: src/content/en/podcast/categories.xml
-src/content/en/screencast/categories.xml.gz: src/content/en/screencast/categories.xml
-src/content/en/til/categories.xml.gz: src/content/en/til/categories.xml
-src/content/pt/hea/categories.xml.gz: src/content/pt/hea/categories.xml
src/content/en/blog/feed.xml.gz: src/content/en/blog/feed.xml
src/content/en/pastebin/feed.xml.gz: src/content/en/pastebin/feed.xml
src/content/en/podcast/feed.xml.gz: src/content/en/podcast/feed.xml
@@ -975,6 +969,11 @@ src/content/en/podcast/2020/12/19/test-entry.flac.torrent: src/content/en/podcas
src/content/en/podcast/2020/12/19/test-entry.ogg.torrent: src/content/en/podcast/2020/12/19/test-entry.ogg
src/content/en/screencast/2021/02/07/autoqemu.webm.torrent: src/content/en/screencast/2021/02/07/autoqemu.webm
+src/content/en/slide/2020/10/19/feature-flags.ps: src/content/en/slide/2020/10/19/feature-flags.adoc
+src/content/en/slide/2020/11/14/local-first-hype.ps: src/content/en/slide/2020/11/14/local-first-hype.adoc
+src/content/en/slide/2020/10/19/feature-flags.pdf: src/content/en/slide/2020/10/19/feature-flags.ps
+src/content/en/slide/2020/11/14/local-first-hype.pdf: src/content/en/slide/2020/11/14/local-first-hype.ps
+
articles.en.blog.adoc = \
@@ -1015,6 +1014,7 @@ src/content/en/blog/index.htmllisting src/content/en/blog/categories.htmllisting
src/content/en/blog/categories.txt: $(articles.en.blog.categorydata)
src/content/en/blog/categories.txt src/content/en/blog/feed.xml: $(articles.en.blog.feedentry)
src/content/en/blog/categories.htmllisting src/content/en/blog/categories.xml: src/content/en/blog/categories.txt
+src/content/en/blog/categories.xml.gz: src/content/en/blog/categories.xml
articles.en.pastebin.adoc = \
@@ -1060,6 +1060,7 @@ src/content/en/pastebin/index.htmllisting src/content/en/pastebin/categories.htm
src/content/en/pastebin/categories.txt: $(articles.en.pastebin.categorydata)
src/content/en/pastebin/categories.txt src/content/en/pastebin/feed.xml: $(articles.en.pastebin.feedentry)
src/content/en/pastebin/categories.htmllisting src/content/en/pastebin/categories.xml: src/content/en/pastebin/categories.txt
+src/content/en/pastebin/categories.xml.gz: src/content/en/pastebin/categories.xml
articles.en.podcast.adoc = \
@@ -1084,6 +1085,7 @@ src/content/en/podcast/index.htmllisting src/content/en/podcast/categories.htmll
src/content/en/podcast/categories.txt: $(articles.en.podcast.categorydata)
src/content/en/podcast/categories.txt src/content/en/podcast/feed.xml: $(articles.en.podcast.feedentry)
src/content/en/podcast/categories.htmllisting src/content/en/podcast/categories.xml: src/content/en/podcast/categories.txt
+src/content/en/podcast/categories.xml.gz: src/content/en/podcast/categories.xml
articles.en.screencast.adoc = \
@@ -1108,6 +1110,7 @@ src/content/en/screencast/index.htmllisting src/content/en/screencast/categories
src/content/en/screencast/categories.txt: $(articles.en.screencast.categorydata)
src/content/en/screencast/categories.txt src/content/en/screencast/feed.xml: $(articles.en.screencast.feedentry)
src/content/en/screencast/categories.htmllisting src/content/en/screencast/categories.xml: src/content/en/screencast/categories.txt
+src/content/en/screencast/categories.xml.gz: src/content/en/screencast/categories.xml
articles.en.til.adoc = \
@@ -1154,6 +1157,7 @@ src/content/en/til/index.htmllisting src/content/en/til/categories.htmllisting:
src/content/en/til/categories.txt: $(articles.en.til.categorydata)
src/content/en/til/categories.txt src/content/en/til/feed.xml: $(articles.en.til.feedentry)
src/content/en/til/categories.htmllisting src/content/en/til/categories.xml: src/content/en/til/categories.txt
+src/content/en/til/categories.xml.gz: src/content/en/til/categories.xml
articles.pt.hea.adoc = \
@@ -1170,11 +1174,12 @@ src/content/pt/hea/feed.xml: src/content/pt/hea/sortdata.txt
src/content/pt/hea/feed.xml: $(articles.pt.hea.sortdata)
src/content/pt/hea/index.htmllisting: src/content/pt/hea/sortdata.txt
src/content/pt/hea/index.htmllisting: $(articles.pt.hea.sortdata)
-src/content/pt/hea/categories.htmllisting: src/content/pt/hea/sortdata.txt
-src/content/pt/hea/categories.htmllisting: $(articles.pt.hea.sortdata)
-src/content/pt/hea/categories.txt: src/content/pt/hea/sortdata.txt
-src/content/pt/hea/categories.txt: $(articles.pt.hea.sortdata)
-src/content/pt/hea/index.htmllisting src/content/pt/hea/categories.htmllisting: $(articles.pt.hea.indexentry)
-src/content/pt/hea/categories.txt: $(articles.pt.hea.categorydata)
-src/content/pt/hea/categories.txt src/content/pt/hea/feed.xml: $(articles.pt.hea.feedentry)
-src/content/pt/hea/categories.htmllisting src/content/pt/hea/categories.xml: src/content/pt/hea/categories.txt
+src/content/pt/hea/categorias.htmllisting: src/content/pt/hea/sortdata.txt
+src/content/pt/hea/categorias.htmllisting: $(articles.pt.hea.sortdata)
+src/content/pt/hea/categorias.txt: src/content/pt/hea/sortdata.txt
+src/content/pt/hea/categorias.txt: $(articles.pt.hea.sortdata)
+src/content/pt/hea/index.htmllisting src/content/pt/hea/categorias.htmllisting: $(articles.pt.hea.indexentry)
+src/content/pt/hea/categorias.txt: $(articles.pt.hea.categorydata)
+src/content/pt/hea/categorias.txt src/content/pt/hea/feed.xml: $(articles.pt.hea.feedentry)
+src/content/pt/hea/categorias.htmllisting src/content/pt/hea/categorias.xml: src/content/pt/hea/categorias.txt
+src/content/pt/hea/categorias.xml.gz: src/content/pt/hea/categorias.xml
diff --git a/mkdeps.sh b/mkdeps.sh
index 3c7b6cb..69424ad 100755
--- a/mkdeps.sh
+++ b/mkdeps.sh
@@ -9,23 +9,23 @@ normalize() {
}
pages() {
- find src/pages/*/*.adoc -type f | normalize
+ find src/pages/*/*.adoc -type f | normalize
}
articles() {
- find src/collections/*/*/*/ -type f -name '*.adoc' | normalize
+ find src/collections/*/*/*/ -type f -name '*.adoc' | normalize
}
slides() {
- find src/slides/*/*/ -type f -name '*.adoc' | normalize
+ find src/slides/*/*/ -type f -name '*.adoc' | normalize
}
indexes() {
- find src/collections/*/*/index.adoc | normalize
+ find src/collections/*/*/index.adoc | normalize
}
categories() {
- find src/collections/*/*/categories.name | normalize
+ grep -l '^:type: categories$' src/collections/*/*/*.adoc | normalize
}
media() {
@@ -59,11 +59,11 @@ files() {
}
-pages | varlist 'pages.adoc'
-articles | varlist 'articles.adoc'
-slides | varlist 'slides.adoc'
+pages | varlist 'pages.adoc'
+articles | varlist 'articles.adoc'
+slides | varlist 'slides.adoc'
categories | varlist 'categories.adoc'
-indexes | varlist 'indexes.adoc'
+indexes | varlist 'indexes.adoc'
indexes | sed 's|/index\.adoc$|/feed.xml|' | varlist 'feeds.xml'
find src/content/img/ -name '*.svg' | varlist 'images.svg'
media | varlist 'sources.media'
@@ -81,7 +81,6 @@ cat po/po4a.cfg |
files | sed 's/^\(.*\)\.adoc$/\1.html/'
files | sed 's/^\(.*\)\.adoc$/\1.snippets/'
slides | sed 's/^\(.*\)\.adoc$/\1.pdf/'
- indexes | sed 's|^\(.*\)/index\.adoc$|\1/categories.xml|'
indexes | sed 's|^\(.*\)/index\.adoc$|\1/feed.xml|'
} | sed 's/^\(.*\)$/\1.gz:\t\1/'
printf '\n'
@@ -106,11 +105,12 @@ listings | sed 's/^\(.*\)\.adoc$/\1.html:\t\1.htmlheader\t\1.htmlfooter/'
listings | sed 's/^\(.*\)\.adoc$/\1.html:\t\1.htmllisting\t\1.htmlbody/'
printf '\n'
-media | sed 's/\(.*\)$/\1.torrent:\t\1/'
+media | sed 's/^\(.*\)$/\1.torrent:\t\1/'
printf '\n'
slides | sed 's/^\(.*\)\.adoc$/\1.ps:\t\1.adoc/'
slides | sed 's/^\(.*\)\.adoc$/\1.pdf:\t\1.ps/'
+printf '\n'
@@ -119,6 +119,7 @@ collectionentries() {
colllink="$2"
lang="$(basename "$langlink")"
c="$(printf '%s' "$colllink" | normalize)"
+ plural="$(cat src/names/categories/"$lang".txt)"
printf '\n\n'
name="$(basename "$c")"
@@ -129,35 +130,36 @@ collectionentries() {
echo "$art.$name.feedentry = \$($art.$name.adoc:.adoc=.feedentry)"
echo "$art.$name.categorydata = \$($art.$name.adoc:.adoc=.categorydata)"
-
printf '%s/sortdata.txt:\tdeps.mk\n' "$c"
printf '\tprintf %s $(%s.%s.sortdata) > $@\n\n' "'%s\n'" "$art" "$name"
- listings='
+ listings="
feed.xml
index.htmllisting
- categories.htmllisting
- categories.txt
- '
+ $plural.htmllisting
+ $plural.txt
+ "
for lst in $listings; do
- printf '%s/%s:\t%s/sortdata.txt\n' "$c" "$lst" "$c"
+ printf '%s/%s:\t%s/sortdata.txt\n' "$c" "$lst" "$c"
printf '%s/%s:\t$(%s.%s.sortdata)\n' "$c" "$lst" "$art" "$name"
done
printf '%s/index.htmllisting\t' "$c"
- printf '%s/categories.htmllisting:\t' "$c"
+ printf '%s/%s.htmllisting:\t' "$c" "$plural"
printf '$(%s.%s.indexentry)\n' "$art" "$name"
- printf '%s/categories.txt:\t' "$c"
+ printf '%s/%s.txt:\t' "$c" "$plural"
printf '$(%s.%s.categorydata)\n' "$art" "$name"
- printf '%s/categories.txt\t' "$c"
+ printf '%s/%s.txt\t' "$c" "$plural"
printf '%s/feed.xml:\t' "$c"
printf '$(%s.%s.feedentry)\n' "$art" "$name"
- printf '%s/categories.htmllisting\t' "$c"
- printf '%s/categories.xml:\t' "$c"
- printf '%s/categories.txt\n' "$c"
+ printf '%s/%s.htmllisting\t' "$c" "$plural"
+ printf '%s/%s.xml:\t' "$c" "$plural"
+ printf '%s/%s.txt\n' "$c" "$plural"
+
+ printf '%s/%s.xml.gz:\t%s/%s.xml\n' "$c" "$plural" "$c" "$plural"
}
diff --git a/po/de.po b/po/de.po
index 53a03fa..3524d73 100644
--- a/po/de.po
+++ b/po/de.po
@@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2025-04-30 07:24-0300\n"
+"POT-Creation-Date: 2025-05-01 19:02-0300\n"
"PO-Revision-Date: 2025-04-29 19:46-0300\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
@@ -16,6 +16,51 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+#. type: Plain text
+#: src/headers/ref.txt:2
+msgid "en/blog/\tBlog"
+msgstr ""
+
+#. type: Plain text
+#: src/headers/ref.txt:4
+msgid "en/til/\tTIL"
+msgstr ""
+
+#. type: Plain text
+#: src/headers/ref.txt:6
+msgid "en/podcast/\tPodcasts"
+msgstr ""
+
+#. type: Plain text
+#: src/headers/ref.txt:8
+msgid "en/screencast/\tScreencasts"
+msgstr ""
+
+#. type: Plain text
+#: src/headers/ref.txt:10
+msgid "en/pastebin/\tPastebins"
+msgstr ""
+
+#. type: Plain text
+#: src/headers/ref.txt:12
+msgid "en/slide/\tSlides"
+msgstr ""
+
+#. type: Plain text
+#: src/headers/ref.txt:13
+msgid "en/about.html\tAbout"
+msgstr ""
+
+#. type: Plain text
+#: src/names/categories/ref.txt:1
+msgid "categories"
+msgstr ""
+
+#. type: Plain text
+#: src/names/category/ref.txt:1
+msgid "category"
+msgstr ""
+
#. type: Title =
#: src/content/en/about.adoc:1
#, no-wrap
diff --git a/po/en.po b/po/en.po
index db6ed53..cc244ff 100644
--- a/po/en.po
+++ b/po/en.po
@@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2025-04-30 07:24-0300\n"
+"POT-Creation-Date: 2025-05-01 19:02-0300\n"
"PO-Revision-Date: 2025-04-29 19:46-0300\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
@@ -16,6 +16,51 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+#. type: Plain text
+#: src/headers/ref.txt:2
+msgid "en/blog/\tBlog"
+msgstr ""
+
+#. type: Plain text
+#: src/headers/ref.txt:4
+msgid "en/til/\tTIL"
+msgstr ""
+
+#. type: Plain text
+#: src/headers/ref.txt:6
+msgid "en/podcast/\tPodcasts"
+msgstr ""
+
+#. type: Plain text
+#: src/headers/ref.txt:8
+msgid "en/screencast/\tScreencasts"
+msgstr ""
+
+#. type: Plain text
+#: src/headers/ref.txt:10
+msgid "en/pastebin/\tPastebins"
+msgstr ""
+
+#. type: Plain text
+#: src/headers/ref.txt:12
+msgid "en/slide/\tSlides"
+msgstr ""
+
+#. type: Plain text
+#: src/headers/ref.txt:13
+msgid "en/about.html\tAbout"
+msgstr ""
+
+#. type: Plain text
+#: src/names/categories/ref.txt:1
+msgid "categories"
+msgstr ""
+
+#. type: Plain text
+#: src/names/category/ref.txt:1
+msgid "category"
+msgstr ""
+
#. type: Title =
#: src/content/en/about.adoc:1
#, no-wrap
diff --git a/po/eo.po b/po/eo.po
index 1428267..d0cda59 100644
--- a/po/eo.po
+++ b/po/eo.po
@@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2025-04-30 07:24-0300\n"
+"POT-Creation-Date: 2025-05-01 19:02-0300\n"
"PO-Revision-Date: 2025-04-29 19:46-0300\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
@@ -16,6 +16,51 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+#. type: Plain text
+#: src/headers/ref.txt:2
+msgid "en/blog/\tBlog"
+msgstr ""
+
+#. type: Plain text
+#: src/headers/ref.txt:4
+msgid "en/til/\tTIL"
+msgstr ""
+
+#. type: Plain text
+#: src/headers/ref.txt:6
+msgid "en/podcast/\tPodcasts"
+msgstr ""
+
+#. type: Plain text
+#: src/headers/ref.txt:8
+msgid "en/screencast/\tScreencasts"
+msgstr ""
+
+#. type: Plain text
+#: src/headers/ref.txt:10
+msgid "en/pastebin/\tPastebins"
+msgstr ""
+
+#. type: Plain text
+#: src/headers/ref.txt:12
+msgid "en/slide/\tSlides"
+msgstr ""
+
+#. type: Plain text
+#: src/headers/ref.txt:13
+msgid "en/about.html\tAbout"
+msgstr ""
+
+#. type: Plain text
+#: src/names/categories/ref.txt:1
+msgid "categories"
+msgstr ""
+
+#. type: Plain text
+#: src/names/category/ref.txt:1
+msgid "category"
+msgstr ""
+
#. type: Title =
#: src/content/en/about.adoc:1
#, no-wrap
diff --git a/po/es.po b/po/es.po
index 7cbd471..43e2cbf 100644
--- a/po/es.po
+++ b/po/es.po
@@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2025-04-30 07:24-0300\n"
+"POT-Creation-Date: 2025-05-01 19:02-0300\n"
"PO-Revision-Date: 2025-04-29 19:46-0300\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
@@ -16,6 +16,51 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+#. type: Plain text
+#: src/headers/ref.txt:2
+msgid "en/blog/\tBlog"
+msgstr ""
+
+#. type: Plain text
+#: src/headers/ref.txt:4
+msgid "en/til/\tTIL"
+msgstr ""
+
+#. type: Plain text
+#: src/headers/ref.txt:6
+msgid "en/podcast/\tPodcasts"
+msgstr ""
+
+#. type: Plain text
+#: src/headers/ref.txt:8
+msgid "en/screencast/\tScreencasts"
+msgstr ""
+
+#. type: Plain text
+#: src/headers/ref.txt:10
+msgid "en/pastebin/\tPastebins"
+msgstr ""
+
+#. type: Plain text
+#: src/headers/ref.txt:12
+msgid "en/slide/\tSlides"
+msgstr ""
+
+#. type: Plain text
+#: src/headers/ref.txt:13
+msgid "en/about.html\tAbout"
+msgstr ""
+
+#. type: Plain text
+#: src/names/categories/ref.txt:1
+msgid "categories"
+msgstr ""
+
+#. type: Plain text
+#: src/names/category/ref.txt:1
+msgid "category"
+msgstr ""
+
#. type: Title =
#: src/content/en/about.adoc:1
#, no-wrap
diff --git a/po/euandre.org.pot b/po/euandre.org.pot
index 160d9c3..783e8ab 100644
--- a/po/euandre.org.pot
+++ b/po/euandre.org.pot
@@ -7,7 +7,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2025-04-30 07:24-0300\n"
+"POT-Creation-Date: 2025-05-01 19:02-0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -16,6 +16,51 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+#. type: Plain text
+#: src/headers/ref.txt:2
+msgid "en/blog/\tBlog"
+msgstr ""
+
+#. type: Plain text
+#: src/headers/ref.txt:4
+msgid "en/til/\tTIL"
+msgstr ""
+
+#. type: Plain text
+#: src/headers/ref.txt:6
+msgid "en/podcast/\tPodcasts"
+msgstr ""
+
+#. type: Plain text
+#: src/headers/ref.txt:8
+msgid "en/screencast/\tScreencasts"
+msgstr ""
+
+#. type: Plain text
+#: src/headers/ref.txt:10
+msgid "en/pastebin/\tPastebins"
+msgstr ""
+
+#. type: Plain text
+#: src/headers/ref.txt:12
+msgid "en/slide/\tSlides"
+msgstr ""
+
+#. type: Plain text
+#: src/headers/ref.txt:13
+msgid "en/about.html\tAbout"
+msgstr ""
+
+#. type: Plain text
+#: src/names/categories/ref.txt:1
+msgid "categories"
+msgstr ""
+
+#. type: Plain text
+#: src/names/category/ref.txt:1
+msgid "category"
+msgstr ""
+
#. type: Title =
#: src/content/en/about.adoc:1
#, no-wrap
diff --git a/po/fr.po b/po/fr.po
index 9c5a775..7093686 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2025-04-30 07:24-0300\n"
+"POT-Creation-Date: 2025-05-01 19:02-0300\n"
"PO-Revision-Date: 2025-04-29 19:46-0300\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
@@ -16,6 +16,51 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+#. type: Plain text
+#: src/headers/ref.txt:2
+msgid "en/blog/\tBlog"
+msgstr ""
+
+#. type: Plain text
+#: src/headers/ref.txt:4
+msgid "en/til/\tTIL"
+msgstr ""
+
+#. type: Plain text
+#: src/headers/ref.txt:6
+msgid "en/podcast/\tPodcasts"
+msgstr ""
+
+#. type: Plain text
+#: src/headers/ref.txt:8
+msgid "en/screencast/\tScreencasts"
+msgstr ""
+
+#. type: Plain text
+#: src/headers/ref.txt:10
+msgid "en/pastebin/\tPastebins"
+msgstr ""
+
+#. type: Plain text
+#: src/headers/ref.txt:12
+msgid "en/slide/\tSlides"
+msgstr ""
+
+#. type: Plain text
+#: src/headers/ref.txt:13
+msgid "en/about.html\tAbout"
+msgstr ""
+
+#. type: Plain text
+#: src/names/categories/ref.txt:1
+msgid "categories"
+msgstr ""
+
+#. type: Plain text
+#: src/names/category/ref.txt:1
+msgid "category"
+msgstr ""
+
#. type: Title =
#: src/content/en/about.adoc:1
#, no-wrap
diff --git a/po/po4a.cfg b/po/po4a.cfg
index d4efb52..77f48a6 100644
--- a/po/po4a.cfg
+++ b/po/po4a.cfg
@@ -2,6 +2,10 @@
[po_directory] po
+[type: text] src/headers/ref.txt $lang:src/headers/$lang.txt
+[type: text] src/names/categories/ref.txt $lang:src/names/categories/$lang.txt
+[type: text] src/names/category/ref.txt $lang:src/names/category/$lang.txt
+
[type: asciidoc] src/content/en/about.adoc pt:src/content/pt/sobre.adoc add_$lang:po/note.txt
[type: asciidoc] src/content/en/til/index.adoc pt:src/content/pt/hea/index.adoc add_$lang:po/note.txt
[type: asciidoc] src/content/en/til/categories.adoc pt:src/content/pt/hea/categorias.adoc add_$lang:po/note.txt
diff --git a/po/pt.po b/po/pt.po
index 37ef3a1..4794358 100644
--- a/po/pt.po
+++ b/po/pt.po
@@ -6,8 +6,8 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
-"POT-Creation-Date: 2025-04-30 07:24-0300\n"
-"PO-Revision-Date: 2025-04-30 07:25-0300\n"
+"POT-Creation-Date: 2025-05-01 19:02-0300\n"
+"PO-Revision-Date: 2025-05-01 19:08-0300\n"
"Last-Translator: EuAndreh <eu@euandre.org>\n"
"Language-Team: none\n"
"Language: pt\n"
@@ -17,6 +17,51 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 3.5\n"
+#. type: Plain text
+#: src/headers/ref.txt:2
+msgid "en/blog/\tBlog"
+msgstr "#"
+
+#. type: Plain text
+#: src/headers/ref.txt:4
+msgid "en/til/\tTIL"
+msgstr "pt/hea/\tHEA"
+
+#. type: Plain text
+#: src/headers/ref.txt:6
+msgid "en/podcast/\tPodcasts"
+msgstr "#"
+
+#. type: Plain text
+#: src/headers/ref.txt:8
+msgid "en/screencast/\tScreencasts"
+msgstr "#"
+
+#. type: Plain text
+#: src/headers/ref.txt:10
+msgid "en/pastebin/\tPastebins"
+msgstr "#"
+
+#. type: Plain text
+#: src/headers/ref.txt:12
+msgid "en/slide/\tSlides"
+msgstr "#"
+
+#. type: Plain text
+#: src/headers/ref.txt:13
+msgid "en/about.html\tAbout"
+msgstr "pt/sobre.html\tSobre"
+
+#. type: Plain text
+#: src/names/categories/ref.txt:1
+msgid "categories"
+msgstr "categorias"
+
+#. type: Plain text
+#: src/names/category/ref.txt:1
+msgid "category"
+msgstr "categoria"
+
#. type: Title =
#: src/content/en/about.adoc:1
#, no-wrap
diff --git a/src/content/en/blog/categories.adoc b/src/content/en/blog/categories.adoc
index f29acda..feb64ff 100644
--- a/src/content/en/blog/categories.adoc
+++ b/src/content/en/blog/categories.adoc
@@ -1 +1,2 @@
= Articles by category
+:type: categories
diff --git a/src/content/en/blog/categories.name b/src/content/en/blog/categories.name
deleted file mode 120000
index df691ee..0000000
--- a/src/content/en/blog/categories.name
+++ /dev/null
@@ -1 +0,0 @@
-categories.adoc \ No newline at end of file
diff --git a/src/content/en/pastebin/categories.adoc b/src/content/en/pastebin/categories.adoc
index f29acda..feb64ff 100644
--- a/src/content/en/pastebin/categories.adoc
+++ b/src/content/en/pastebin/categories.adoc
@@ -1 +1,2 @@
= Articles by category
+:type: categories
diff --git a/src/content/en/pastebin/categories.name b/src/content/en/pastebin/categories.name
deleted file mode 120000
index df691ee..0000000
--- a/src/content/en/pastebin/categories.name
+++ /dev/null
@@ -1 +0,0 @@
-categories.adoc \ No newline at end of file
diff --git a/src/content/en/podcast/categories.adoc b/src/content/en/podcast/categories.adoc
index f29acda..feb64ff 100644
--- a/src/content/en/podcast/categories.adoc
+++ b/src/content/en/podcast/categories.adoc
@@ -1 +1,2 @@
= Articles by category
+:type: categories
diff --git a/src/content/en/podcast/categories.name b/src/content/en/podcast/categories.name
deleted file mode 120000
index df691ee..0000000
--- a/src/content/en/podcast/categories.name
+++ /dev/null
@@ -1 +0,0 @@
-categories.adoc \ No newline at end of file
diff --git a/src/content/en/screencast/categories.adoc b/src/content/en/screencast/categories.adoc
index f29acda..feb64ff 100644
--- a/src/content/en/screencast/categories.adoc
+++ b/src/content/en/screencast/categories.adoc
@@ -1 +1,2 @@
= Articles by category
+:type: categories
diff --git a/src/content/en/screencast/categories.name b/src/content/en/screencast/categories.name
deleted file mode 120000
index df691ee..0000000
--- a/src/content/en/screencast/categories.name
+++ /dev/null
@@ -1 +0,0 @@
-categories.adoc \ No newline at end of file
diff --git a/src/content/en/til/categories.adoc b/src/content/en/til/categories.adoc
index f29acda..feb64ff 100644
--- a/src/content/en/til/categories.adoc
+++ b/src/content/en/til/categories.adoc
@@ -1 +1,2 @@
= Articles by category
+:type: categories
diff --git a/src/content/en/til/categories.name b/src/content/en/til/categories.name
deleted file mode 120000
index df691ee..0000000
--- a/src/content/en/til/categories.name
+++ /dev/null
@@ -1 +0,0 @@
-categories.adoc \ No newline at end of file
diff --git a/src/content/pt/hea/categorias.adoc b/src/content/pt/hea/categorias.adoc
index 5ef54e2..19e7cb7 100644
--- a/src/content/pt/hea/categorias.adoc
+++ b/src/content/pt/hea/categorias.adoc
@@ -1,4 +1,5 @@
= Artigos por categoria
+:type: categories
diff --git a/src/content/pt/hea/categories.name b/src/content/pt/hea/categories.name
deleted file mode 120000
index 1b27816..0000000
--- a/src/content/pt/hea/categories.name
+++ /dev/null
@@ -1 +0,0 @@
-categorias.adoc \ No newline at end of file
diff --git a/src/headers.txt b/src/headers.txt
deleted file mode 100644
index 5c050ab..0000000
--- a/src/headers.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-blog/ Blog
-tils/ TIL
-podcasts/ Podcasts
-screencasts/ Screencasts
-pastebins/ Pastebins
-about.html About
diff --git a/src/headers/de.txt b/src/headers/de.txt
new file mode 100644
index 0000000..ca848a3
--- /dev/null
+++ b/src/headers/de.txt
@@ -0,0 +1,13 @@
+en/blog/ Blog
+
+en/til/ TIL
+
+en/podcast/ Podcasts
+
+en/screencast/ Screencasts
+
+en/pastebin/ Pastebins
+
+en/slide/ Slides
+
+en/about.html About
diff --git a/src/headers/en.txt b/src/headers/en.txt
new file mode 100644
index 0000000..ca848a3
--- /dev/null
+++ b/src/headers/en.txt
@@ -0,0 +1,13 @@
+en/blog/ Blog
+
+en/til/ TIL
+
+en/podcast/ Podcasts
+
+en/screencast/ Screencasts
+
+en/pastebin/ Pastebins
+
+en/slide/ Slides
+
+en/about.html About
diff --git a/src/headers/eo.txt b/src/headers/eo.txt
new file mode 100644
index 0000000..ca848a3
--- /dev/null
+++ b/src/headers/eo.txt
@@ -0,0 +1,13 @@
+en/blog/ Blog
+
+en/til/ TIL
+
+en/podcast/ Podcasts
+
+en/screencast/ Screencasts
+
+en/pastebin/ Pastebins
+
+en/slide/ Slides
+
+en/about.html About
diff --git a/src/headers/es.txt b/src/headers/es.txt
new file mode 100644
index 0000000..ca848a3
--- /dev/null
+++ b/src/headers/es.txt
@@ -0,0 +1,13 @@
+en/blog/ Blog
+
+en/til/ TIL
+
+en/podcast/ Podcasts
+
+en/screencast/ Screencasts
+
+en/pastebin/ Pastebins
+
+en/slide/ Slides
+
+en/about.html About
diff --git a/src/headers/fr.txt b/src/headers/fr.txt
new file mode 100644
index 0000000..ca848a3
--- /dev/null
+++ b/src/headers/fr.txt
@@ -0,0 +1,13 @@
+en/blog/ Blog
+
+en/til/ TIL
+
+en/podcast/ Podcasts
+
+en/screencast/ Screencasts
+
+en/pastebin/ Pastebins
+
+en/slide/ Slides
+
+en/about.html About
diff --git a/src/headers/pt.txt b/src/headers/pt.txt
new file mode 100644
index 0000000..48f2523
--- /dev/null
+++ b/src/headers/pt.txt
@@ -0,0 +1,13 @@
+#
+
+pt/hea/ HEA
+
+#
+
+#
+
+#
+
+#
+
+pt/sobre.html Sobre
diff --git a/src/headers/ref.txt b/src/headers/ref.txt
new file mode 100644
index 0000000..ca848a3
--- /dev/null
+++ b/src/headers/ref.txt
@@ -0,0 +1,13 @@
+en/blog/ Blog
+
+en/til/ TIL
+
+en/podcast/ Podcasts
+
+en/screencast/ Screencasts
+
+en/pastebin/ Pastebins
+
+en/slide/ Slides
+
+en/about.html About
diff --git a/src/linkonly-dirs.txt b/src/linkonly-dirs.txt
new file mode 100644
index 0000000..3a038f0
--- /dev/null
+++ b/src/linkonly-dirs.txt
@@ -0,0 +1,5 @@
+src/content/css/
+src/content/favicon/
+src/content/images/
+src/content/resources/
+src/content/static/
diff --git a/src/names/categories/de.txt b/src/names/categories/de.txt
new file mode 100644
index 0000000..36e8f75
--- /dev/null
+++ b/src/names/categories/de.txt
@@ -0,0 +1 @@
+categories
diff --git a/src/names/categories/en.txt b/src/names/categories/en.txt
new file mode 100644
index 0000000..36e8f75
--- /dev/null
+++ b/src/names/categories/en.txt
@@ -0,0 +1 @@
+categories
diff --git a/src/names/categories/eo.txt b/src/names/categories/eo.txt
new file mode 100644
index 0000000..36e8f75
--- /dev/null
+++ b/src/names/categories/eo.txt
@@ -0,0 +1 @@
+categories
diff --git a/src/names/categories/es.txt b/src/names/categories/es.txt
new file mode 100644
index 0000000..36e8f75
--- /dev/null
+++ b/src/names/categories/es.txt
@@ -0,0 +1 @@
+categories
diff --git a/src/names/categories/fr.txt b/src/names/categories/fr.txt
new file mode 100644
index 0000000..36e8f75
--- /dev/null
+++ b/src/names/categories/fr.txt
@@ -0,0 +1 @@
+categories
diff --git a/src/names/categories/pt.txt b/src/names/categories/pt.txt
new file mode 100644
index 0000000..7216072
--- /dev/null
+++ b/src/names/categories/pt.txt
@@ -0,0 +1 @@
+categorias
diff --git a/src/names/categories/ref.txt b/src/names/categories/ref.txt
new file mode 100644
index 0000000..36e8f75
--- /dev/null
+++ b/src/names/categories/ref.txt
@@ -0,0 +1 @@
+categories
diff --git a/src/names/category/de.txt b/src/names/category/de.txt
new file mode 100644
index 0000000..46e72f3
--- /dev/null
+++ b/src/names/category/de.txt
@@ -0,0 +1 @@
+category
diff --git a/src/names/category/en.txt b/src/names/category/en.txt
new file mode 100644
index 0000000..46e72f3
--- /dev/null
+++ b/src/names/category/en.txt
@@ -0,0 +1 @@
+category
diff --git a/src/names/category/eo.txt b/src/names/category/eo.txt
new file mode 100644
index 0000000..46e72f3
--- /dev/null
+++ b/src/names/category/eo.txt
@@ -0,0 +1 @@
+category
diff --git a/src/names/category/es.txt b/src/names/category/es.txt
new file mode 100644
index 0000000..46e72f3
--- /dev/null
+++ b/src/names/category/es.txt
@@ -0,0 +1 @@
+category
diff --git a/src/names/category/fr.txt b/src/names/category/fr.txt
new file mode 100644
index 0000000..46e72f3
--- /dev/null
+++ b/src/names/category/fr.txt
@@ -0,0 +1 @@
+category
diff --git a/src/names/category/pt.txt b/src/names/category/pt.txt
new file mode 100644
index 0000000..ae2c934
--- /dev/null
+++ b/src/names/category/pt.txt
@@ -0,0 +1 @@
+categoria
diff --git a/src/names/category/ref.txt b/src/names/category/ref.txt
new file mode 100644
index 0000000..46e72f3
--- /dev/null
+++ b/src/names/category/ref.txt
@@ -0,0 +1 @@
+category
diff --git a/src/static.conf b/src/static.conf
index 1007780..45f5028 100644
--- a/src/static.conf
+++ b/src/static.conf
@@ -1,5 +1,6 @@
+export headers_dir=src/headers
+export names_dir=src/names
export root_dir=src/content
-export header_links=src/headers.txt
export list_addr='~euandreh/public-inbox@lists.sr.ht'
export discussions_url_prefix='https://lists.st.ht/~euandreh/public-inbox?search='
export sourcecode_url_prefix="$sourcecode_url/tree"