summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore6
-rw-r--r--Makefile92
-rw-r--r--deps.mk141
-rwxr-xr-xmkdeps.sh37
-rw-r--r--src/content/podcasts/2020/12/19/test-entry.adoc1
-rw-r--r--src/content/screencasts/2021/02/07/autoqemu.adoc1
6 files changed, 202 insertions, 76 deletions
diff --git a/.gitignore b/.gitignore
index 6ab3636..99f41e7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -9,15 +9,19 @@
*.indexentry
*.feedentry
*.sortdata
+*.categorydata
sortdata.txt
+categories.txt
+categories.xml
index.htmlheader
index.htmlfooter
index.htmllisting
feed.xml
+feed.*.xml
*.gz
/src/sources.txt
/src/all-contents.txt
-/src/all-snippets-list.txt
+/src/all-filelists.txt
/src/install.txt
/src/sort-expected.txt
/src/sort-given.txt
diff --git a/Makefile b/Makefile
index e7318c2..bf4f4d5 100644
--- a/Makefile
+++ b/Makefile
@@ -24,42 +24,45 @@ PUBURL = public.asc
.SUFFIXES:
-.SUFFIXES: .adoc .conf .snippets .indexentry .feedentry .sortdata .xml
+.SUFFIXES: .adoc .conf .snippets .indexentry .feedentry .sortdata .xml .txt
.SUFFIXES: .htmlbody .htmlheader .htmlfooter .htmllisting .html .links .caslinks
-.SUFFIXES: .gz
+.SUFFIXES: .categorydata .gz
.adoc.conf:
mkwb conf src/global.conf $< > $@
.adoc.htmlbody:
- mkwb htmlbody $< > $@
+ mkwb htmlbody $< > $@
.htmlbody.html:
- mkwb html $< > $@
+ mkwb html $< > $@
.conf.htmlheader:
- mkwb html -H $< > $@
+ mkwb html -H $< > $@
.conf.htmlfooter:
- mkwb html -F $< > $@
+ mkwb html -F $< > $@
.conf.htmllisting:
- mkwb indexbody $< > $@
+ mkwb indexbody $< > $@
.adoc.snippets:
- mkwb snippets $< > $@
+ mkwb snippets $< > $@
.conf.indexentry:
- mkwb indexentry $< > $@
+ mkwb indexentry $< > $@
.htmlbody.feedentry:
- mkwb feedentry $< > $@
+ mkwb feedentry $< > $@
.conf.sortdata:
- mkwb sortdata $< > $@
+ mkwb sortdata $< > $@
+
+.conf.categorydata:
+ mkwb categorydata $< > $@
.adoc.links:
- mkwb links $< > $@
+ mkwb links $< > $@
.links.caslinks:
grep -v '^link:' $< | xargs -I_ sh -c '\
@@ -72,21 +75,24 @@ all:
include deps.mk
-sources.adoc = $(articles.adoc) $(listings.adoc) $(pages.adoc)
-sources.htmlbody = $(sources.adoc:.adoc=.htmlbody)
-sources.html = $(sources.adoc:.adoc=.html)
-sources.snippets = $(sources.adoc:.adoc=.snippets)
-sources.snippets.gz = $(sources.adoc:.adoc=.snippets.gz)
-sources.conf = $(sources.adoc:.adoc=.conf)
-sources.links = $(sources.adoc:.adoc=.links)
-sources.caslinks = $(sources.adoc:.adoc=.caslinks)
-articles.indexentry = $(articles.adoc:.adoc=.indexentry)
-articles.feedentry = $(articles.adoc:.adoc=.feedentry)
-articles.sortdata = $(articles.adoc:.adoc=.sortdata)
-listings.htmlheader = $(listings.adoc:.adoc=.htmlheader)
-listings.htmlfooter = $(listings.adoc:.adoc=.htmlfooter)
-listings.htmllisting = $(listings.adoc:.adoc=.htmllisting)
-listings.html = $(listings.adoc:.adoc=.html)
+sources.adoc = $(articles.adoc) $(listings.adoc) $(pages.adoc)
+sources.htmlbody = $(sources.adoc:.adoc=.htmlbody)
+sources.html = $(sources.adoc:.adoc=.html)
+sources.snippets = $(sources.adoc:.adoc=.snippets)
+sources.snippets.gz = $(sources.adoc:.adoc=.snippets.gz)
+sources.conf = $(sources.adoc:.adoc=.conf)
+sources.links = $(sources.adoc:.adoc=.links)
+sources.caslinks = $(sources.adoc:.adoc=.caslinks)
+articles.indexentry = $(articles.adoc:.adoc=.indexentry)
+articles.feedentry = $(articles.adoc:.adoc=.feedentry)
+articles.sortdata = $(articles.adoc:.adoc=.sortdata)
+articles.categorydata = $(articles.adoc:.adoc=.categorydata)
+listings.htmlheader = $(listings.adoc:.adoc=.htmlheader)
+listings.htmlfooter = $(listings.adoc:.adoc=.htmlfooter)
+listings.htmllisting = $(listings.adoc:.adoc=.htmllisting)
+listings.html = $(listings.adoc:.adoc=.html)
+categories.xml = $(categories.txt:.txt=.xml)
+categories.xml.gz = $(categories.txt:.txt=.xml.gz)
sources = \
$(sources.adoc) \
@@ -127,9 +133,11 @@ contents = \
src/content/security.txt \
src/content/security.txt.gz \
-all-snippets = \
+all-filelists = \
$(sources.snippets) \
$(sources.snippets.gz) \
+ $(categories.xml) \
+ $(categories.xml.gz) \
all-contents = \
$(contents) \
@@ -154,6 +162,10 @@ derived-assets = \
$(articles.indexentry) \
$(articles.feedentry) \
$(articles.sortdata) \
+ $(articles.categorydata) \
+ $(categories.txt) \
+ $(categories.xml) \
+ $(categories.xml.gz) \
email.txt \
baseurl.txt \
fingerprint.txt \
@@ -162,7 +174,7 @@ derived-assets = \
src/content/security.txt.gz \
src/content/.well-known/security.txt \
src/all-contents.txt \
- src/all-snippets-list.txt \
+ src/all-filelists.txt \
src/install.txt \
src/sort-expected.txt \
src/sort-given.txt \
@@ -175,6 +187,8 @@ side-assets = \
src/collections/*/*/*/*/*.html.*.txt.gz \
src/collections/*/index.html.*.txt \
src/collections/*/sortdata.txt \
+ src/collections/*/feed.*.xml \
+ src/collections/*/feed.*.xml.gz \
src/collections/*/*.sortdata \
src/pages/*/*.html.*.txt \
src/content/.well-known/ \
@@ -207,6 +221,16 @@ src/global.conf: src/base.conf
$(listings.html):
cat $*.htmlheader $*.htmllisting $*.htmlbody $*.htmlfooter > $@
+$(categories.txt):
+ mkwb categories $(@D) > $@
+
+$(categories.xml):
+ for f in `cat $*.txt`; do \
+ c="`printf '%s\n' "$$f" | cut -d. -f2`"; \
+ mkwb feed src/global.conf "$$f" > $(@D)/feed."$$c".xml; \
+ printf '%s\n' $(@D)/feed."$$c".xml; \
+ done > $@
+
$(feeds.xml):
mkwb feed src/global.conf $(@D)/sortdata.txt > $@
@@ -214,7 +238,7 @@ $(contents.gz):
gzip -9fk $*
touch $@
-$(sources.snippets.gz):
+$(sources.snippets.gz) $(categories.xml.gz):
if [ -s $* ]; then gzip -9fk `cat $*`; fi
sed 's/$$/.gz/' $* > $@
@@ -262,11 +286,11 @@ src/sources.txt:
src/all-contents.txt:
printf '%s\n' $(all-contents) > $@
-src/all-snippets-list.txt:
- printf '%s\n' $(all-snippets) > $@
+src/all-filelists.txt:
+ printf '%s\n' $(all-filelists) > $@
-src/install.txt: src/all-contents.txt src/all-snippets-list.txt $(all-snippets)
- cat src/all-contents.txt `cat src/all-snippets-list.txt` > $@
+src/install.txt: src/all-contents.txt src/all-filelists.txt $(all-filelists)
+ cat src/all-contents.txt `cat src/all-filelists.txt` > $@
sources.txt: src/sources.txt
install.txt: src/install.txt
diff --git a/deps.mk b/deps.mk
index dee7b30..c20c982 100644
--- a/deps.mk
+++ b/deps.mk
@@ -75,6 +75,13 @@ listings.adoc = \
src/content/screencasts/index.adoc \
src/content/tils/index.adoc \
+categories.txt = \
+ src/content/blog/categories.txt \
+ src/content/pastebins/categories.txt \
+ src/content/podcasts/categories.txt \
+ src/content/screencasts/categories.txt \
+ src/content/tils/categories.txt \
+
feeds.xml = \
src/content/blog/feed.xml \
src/content/pastebins/feed.xml \
@@ -390,6 +397,11 @@ src/content/pastebins/index.snippets.gz: src/content/pastebins/index.snippets
src/content/podcasts/index.snippets.gz: src/content/podcasts/index.snippets
src/content/screencasts/index.snippets.gz: src/content/screencasts/index.snippets
src/content/tils/index.snippets.gz: src/content/tils/index.snippets
+src/content/blog/categories.xml.gz: src/content/blog/categories.xml
+src/content/pastebins/categories.xml.gz: src/content/pastebins/categories.xml
+src/content/podcasts/categories.xml.gz: src/content/podcasts/categories.xml
+src/content/screencasts/categories.xml.gz: src/content/screencasts/categories.xml
+src/content/tils/categories.xml.gz: src/content/tils/categories.xml
src/content/blog/feed.xml.gz: src/content/blog/feed.xml
src/content/pastebins/feed.xml.gz: src/content/pastebins/feed.xml
src/content/podcasts/feed.xml.gz: src/content/podcasts/feed.xml
@@ -738,6 +750,70 @@ src/content/tils/2021/04/24/clojure-autocurry.sortdata: src/content/tils/2021/04
src/content/tils/2021/04/24/scm-nif.sortdata: src/content/tils/2021/04/24/scm-nif.conf
src/content/tils/2021/07/23/git-tls-gpg.sortdata: src/content/tils/2021/07/23/git-tls-gpg.conf
src/content/tils/2021/08/11/js-bigint-reviver.sortdata: src/content/tils/2021/08/11/js-bigint-reviver.conf
+src/content/blog/2018/07/17/guix-nixos.categorydata: src/content/blog/2018/07/17/guix-nixos.conf
+src/content/blog/2018/08/01/npm-ci-reproducibility.categorydata: src/content/blog/2018/08/01/npm-ci-reproducibility.conf
+src/content/blog/2018/12/21/ytdl-subs.categorydata: src/content/blog/2018/12/21/ytdl-subs.conf
+src/content/blog/2019/06/02/nixos-stateless-workstation.categorydata: src/content/blog/2019/06/02/nixos-stateless-workstation.conf
+src/content/blog/2020/08/10/guix-srht.categorydata: src/content/blog/2020/08/10/guix-srht.conf
+src/content/blog/2020/08/31/database-i-wish-i-had.categorydata: src/content/blog/2020/08/31/database-i-wish-i-had.conf
+src/content/blog/2020/10/05/cargo2nix.categorydata: src/content/blog/2020/10/05/cargo2nix.conf
+src/content/blog/2020/10/05/swift2nix.categorydata: src/content/blog/2020/10/05/swift2nix.conf
+src/content/blog/2020/10/19/feature-flags.categorydata: src/content/blog/2020/10/19/feature-flags.conf
+src/content/blog/2020/10/20/wrong-interviewing.categorydata: src/content/blog/2020/10/20/wrong-interviewing.conf
+src/content/blog/2020/11/07/diy-bugs.categorydata: src/content/blog/2020/11/07/diy-bugs.conf
+src/content/blog/2020/11/08/paradigm-shift-review.categorydata: src/content/blog/2020/11/08/paradigm-shift-review.conf
+src/content/blog/2020/11/12/database-parsers-trees.categorydata: src/content/blog/2020/11/12/database-parsers-trees.conf
+src/content/blog/2020/11/14/local-first-review.categorydata: src/content/blog/2020/11/14/local-first-review.conf
+src/content/blog/2021/01/26/remembering-ann.categorydata: src/content/blog/2021/01/26/remembering-ann.conf
+src/content/blog/2021/02/17/fallible.categorydata: src/content/blog/2021/02/17/fallible.conf
+src/content/blog/2021/04/29/relational-review.categorydata: src/content/blog/2021/04/29/relational-review.conf
+src/content/pastebins/2016/04/05/rpn.categorydata: src/content/pastebins/2016/04/05/rpn.conf
+src/content/pastebins/2018/07/11/nix-pinning.categorydata: src/content/pastebins/2018/07/11/nix-pinning.conf
+src/content/pastebins/2018/07/13/guix-nixos-systemd.categorydata: src/content/pastebins/2018/07/13/guix-nixos-systemd.conf
+src/content/pastebins/2018/07/13/guixbuilder-nixos.categorydata: src/content/pastebins/2018/07/13/guixbuilder-nixos.conf
+src/content/pastebins/2018/07/13/guixbuilder.categorydata: src/content/pastebins/2018/07/13/guixbuilder.conf
+src/content/pastebins/2018/07/13/nix-strpad.categorydata: src/content/pastebins/2018/07/13/nix-strpad.conf
+src/content/pastebins/2018/07/25/nix-exps.categorydata: src/content/pastebins/2018/07/25/nix-exps.conf
+src/content/pastebins/2018/07/25/nix-showdrv.categorydata: src/content/pastebins/2018/07/25/nix-showdrv.conf
+src/content/pastebins/2019/06/08/inconsistent-hash.categorydata: src/content/pastebins/2019/06/08/inconsistent-hash.conf
+src/content/pastebins/2019/12/29/raku-tuple-type.categorydata: src/content/pastebins/2019/12/29/raku-tuple-type.conf
+src/content/pastebins/2020/01/04/guix-import-failure.categorydata: src/content/pastebins/2020/01/04/guix-import-failure.conf
+src/content/pastebins/2020/02/14/guix-shebang.categorydata: src/content/pastebins/2020/02/14/guix-shebang.conf
+src/content/pastebins/2020/11/27/guix-build-local.categorydata: src/content/pastebins/2020/11/27/guix-build-local.conf
+src/content/pastebins/2020/12/15/guix-pack-fail.categorydata: src/content/pastebins/2020/12/15/guix-pack-fail.conf
+src/content/pastebins/2021/04/03/naive-slugify-js.categorydata: src/content/pastebins/2021/04/03/naive-slugify-js.conf
+src/content/pastebins/2021/06/08/reading-session-pt1.categorydata: src/content/pastebins/2021/06/08/reading-session-pt1.conf
+src/content/pastebins/2021/06/22/curl-wget.categorydata: src/content/pastebins/2021/06/22/curl-wget.conf
+src/content/pastebins/2021/08/11/h1-spacing.categorydata: src/content/pastebins/2021/08/11/h1-spacing.conf
+src/content/pastebins/2021/09/02/sicp-3-19.categorydata: src/content/pastebins/2021/09/02/sicp-3-19.conf
+src/content/pastebins/2021/09/03/sicp-persistent-queue.categorydata: src/content/pastebins/2021/09/03/sicp-persistent-queue.conf
+src/content/pastebins/2022/07/14/git-cleanup.categorydata: src/content/pastebins/2022/07/14/git-cleanup.conf
+src/content/pastebins/2023/07/22/funcallable-amop.categorydata: src/content/pastebins/2023/07/22/funcallable-amop.conf
+src/content/podcasts/2020/12/19/test-entry.categorydata: src/content/podcasts/2020/12/19/test-entry.conf
+src/content/screencasts/2021/02/07/autoqemu.categorydata: src/content/screencasts/2021/02/07/autoqemu.conf
+src/content/tils/2020/08/12/filename-timestamp.categorydata: src/content/tils/2020/08/12/filename-timestamp.conf
+src/content/tils/2020/08/13/code-jekyll.categorydata: src/content/tils/2020/08/13/code-jekyll.conf
+src/content/tils/2020/08/14/browse-git.categorydata: src/content/tils/2020/08/14/browse-git.conf
+src/content/tils/2020/08/16/git-search.categorydata: src/content/tils/2020/08/16/git-search.conf
+src/content/tils/2020/08/28/grep-online.categorydata: src/content/tils/2020/08/28/grep-online.conf
+src/content/tils/2020/09/04/cli-email-fun-profit.categorydata: src/content/tils/2020/09/04/cli-email-fun-profit.conf
+src/content/tils/2020/09/05/oldschool-pr.categorydata: src/content/tils/2020/09/05/oldschool-pr.conf
+src/content/tils/2020/10/11/search-git-history.categorydata: src/content/tils/2020/10/11/search-git-history.conf
+src/content/tils/2020/11/08/find-broken-symlink.categorydata: src/content/tils/2020/11/08/find-broken-symlink.conf
+src/content/tils/2020/11/12/diy-nix-bash-ci.categorydata: src/content/tils/2020/11/12/diy-nix-bash-ci.conf
+src/content/tils/2020/11/12/git-bisect-automation.categorydata: src/content/tils/2020/11/12/git-bisect-automation.conf
+src/content/tils/2020/11/12/useful-bashvars.categorydata: src/content/tils/2020/11/12/useful-bashvars.conf
+src/content/tils/2020/11/14/gpodder-media.categorydata: src/content/tils/2020/11/14/gpodder-media.conf
+src/content/tils/2020/11/30/git-notes-ci.categorydata: src/content/tils/2020/11/30/git-notes-ci.conf
+src/content/tils/2020/12/15/shellcheck-repo.categorydata: src/content/tils/2020/12/15/shellcheck-repo.conf
+src/content/tils/2020/12/29/svg.categorydata: src/content/tils/2020/12/29/svg.conf
+src/content/tils/2021/01/12/curl-awk-emails.categorydata: src/content/tils/2021/01/12/curl-awk-emails.conf
+src/content/tils/2021/01/17/posix-shebang.categorydata: src/content/tils/2021/01/17/posix-shebang.conf
+src/content/tils/2021/04/24/cl-generic-precedence.categorydata: src/content/tils/2021/04/24/cl-generic-precedence.conf
+src/content/tils/2021/04/24/clojure-autocurry.categorydata: src/content/tils/2021/04/24/clojure-autocurry.conf
+src/content/tils/2021/04/24/scm-nif.categorydata: src/content/tils/2021/04/24/scm-nif.conf
+src/content/tils/2021/07/23/git-tls-gpg.categorydata: src/content/tils/2021/07/23/git-tls-gpg.conf
+src/content/tils/2021/08/11/js-bigint-reviver.categorydata: src/content/tils/2021/08/11/js-bigint-reviver.conf
src/content/blog/index.htmlheader src/content/blog/index.htmlfooter: src/content/blog/index.conf
src/content/pastebins/index.htmlheader src/content/pastebins/index.htmlfooter: src/content/pastebins/index.conf
@@ -775,15 +851,18 @@ articles.blog.adoc = \
src/content/blog/2021/02/17/fallible.adoc \
src/content/blog/2021/04/29/relational-review.adoc \
-articles.blog.sortdata = $(articles.blog.adoc:.adoc=.sortdata)
-articles.blog.indexentry = $(articles.blog.adoc:.adoc=.indexentry)
-articles.blog.feedentry = $(articles.blog.adoc:.adoc=.feedentry)
+articles.blog.sortdata = $(articles.blog.adoc:.adoc=.sortdata)
+articles.blog.indexentry = $(articles.blog.adoc:.adoc=.indexentry)
+articles.blog.feedentry = $(articles.blog.adoc:.adoc=.feedentry)
+articles.blog.categorydata = $(articles.blog.adoc:.adoc=.categorydata)
src/content/blog/sortdata.txt: deps.mk
printf '%s\n' $(articles.blog.sortdata) > $@
-src/content/blog/feed.xml src/content/blog/index.htmllisting: src/content/blog/sortdata.txt $(articles.blog.sortdata)
+src/content/blog/categories.txt src/content/blog/feed.xml src/content/blog/index.htmllisting: src/content/blog/sortdata.txt $(articles.blog.sortdata)
src/content/blog/index.htmllisting: $(articles.blog.indexentry)
-src/content/blog/feed.xml: $(articles.blog.feedentry)
+src/content/blog/categories.txt: $(articles.blog.categorydata)
+src/content/blog/categories.xml: src/content/blog/categories.txt
+src/content/blog/categories.txt src/content/blog/feed.xml: $(articles.blog.feedentry)
articles.pastebins.adoc = \
@@ -810,43 +889,52 @@ articles.pastebins.adoc = \
src/content/pastebins/2022/07/14/git-cleanup.adoc \
src/content/pastebins/2023/07/22/funcallable-amop.adoc \
-articles.pastebins.sortdata = $(articles.pastebins.adoc:.adoc=.sortdata)
-articles.pastebins.indexentry = $(articles.pastebins.adoc:.adoc=.indexentry)
-articles.pastebins.feedentry = $(articles.pastebins.adoc:.adoc=.feedentry)
+articles.pastebins.sortdata = $(articles.pastebins.adoc:.adoc=.sortdata)
+articles.pastebins.indexentry = $(articles.pastebins.adoc:.adoc=.indexentry)
+articles.pastebins.feedentry = $(articles.pastebins.adoc:.adoc=.feedentry)
+articles.pastebins.categorydata = $(articles.pastebins.adoc:.adoc=.categorydata)
src/content/pastebins/sortdata.txt: deps.mk
printf '%s\n' $(articles.pastebins.sortdata) > $@
-src/content/pastebins/feed.xml src/content/pastebins/index.htmllisting: src/content/pastebins/sortdata.txt $(articles.pastebins.sortdata)
+src/content/pastebins/categories.txt src/content/pastebins/feed.xml src/content/pastebins/index.htmllisting: src/content/pastebins/sortdata.txt $(articles.pastebins.sortdata)
src/content/pastebins/index.htmllisting: $(articles.pastebins.indexentry)
-src/content/pastebins/feed.xml: $(articles.pastebins.feedentry)
+src/content/pastebins/categories.txt: $(articles.pastebins.categorydata)
+src/content/pastebins/categories.xml: src/content/pastebins/categories.txt
+src/content/pastebins/categories.txt src/content/pastebins/feed.xml: $(articles.pastebins.feedentry)
articles.podcasts.adoc = \
src/content/podcasts/2020/12/19/test-entry.adoc \
-articles.podcasts.sortdata = $(articles.podcasts.adoc:.adoc=.sortdata)
-articles.podcasts.indexentry = $(articles.podcasts.adoc:.adoc=.indexentry)
-articles.podcasts.feedentry = $(articles.podcasts.adoc:.adoc=.feedentry)
+articles.podcasts.sortdata = $(articles.podcasts.adoc:.adoc=.sortdata)
+articles.podcasts.indexentry = $(articles.podcasts.adoc:.adoc=.indexentry)
+articles.podcasts.feedentry = $(articles.podcasts.adoc:.adoc=.feedentry)
+articles.podcasts.categorydata = $(articles.podcasts.adoc:.adoc=.categorydata)
src/content/podcasts/sortdata.txt: deps.mk
printf '%s\n' $(articles.podcasts.sortdata) > $@
-src/content/podcasts/feed.xml src/content/podcasts/index.htmllisting: src/content/podcasts/sortdata.txt $(articles.podcasts.sortdata)
+src/content/podcasts/categories.txt src/content/podcasts/feed.xml src/content/podcasts/index.htmllisting: src/content/podcasts/sortdata.txt $(articles.podcasts.sortdata)
src/content/podcasts/index.htmllisting: $(articles.podcasts.indexentry)
-src/content/podcasts/feed.xml: $(articles.podcasts.feedentry)
+src/content/podcasts/categories.txt: $(articles.podcasts.categorydata)
+src/content/podcasts/categories.xml: src/content/podcasts/categories.txt
+src/content/podcasts/categories.txt src/content/podcasts/feed.xml: $(articles.podcasts.feedentry)
articles.screencasts.adoc = \
src/content/screencasts/2021/02/07/autoqemu.adoc \
-articles.screencasts.sortdata = $(articles.screencasts.adoc:.adoc=.sortdata)
-articles.screencasts.indexentry = $(articles.screencasts.adoc:.adoc=.indexentry)
-articles.screencasts.feedentry = $(articles.screencasts.adoc:.adoc=.feedentry)
+articles.screencasts.sortdata = $(articles.screencasts.adoc:.adoc=.sortdata)
+articles.screencasts.indexentry = $(articles.screencasts.adoc:.adoc=.indexentry)
+articles.screencasts.feedentry = $(articles.screencasts.adoc:.adoc=.feedentry)
+articles.screencasts.categorydata = $(articles.screencasts.adoc:.adoc=.categorydata)
src/content/screencasts/sortdata.txt: deps.mk
printf '%s\n' $(articles.screencasts.sortdata) > $@
-src/content/screencasts/feed.xml src/content/screencasts/index.htmllisting: src/content/screencasts/sortdata.txt $(articles.screencasts.sortdata)
+src/content/screencasts/categories.txt src/content/screencasts/feed.xml src/content/screencasts/index.htmllisting: src/content/screencasts/sortdata.txt $(articles.screencasts.sortdata)
src/content/screencasts/index.htmllisting: $(articles.screencasts.indexentry)
-src/content/screencasts/feed.xml: $(articles.screencasts.feedentry)
+src/content/screencasts/categories.txt: $(articles.screencasts.categorydata)
+src/content/screencasts/categories.xml: src/content/screencasts/categories.txt
+src/content/screencasts/categories.txt src/content/screencasts/feed.xml: $(articles.screencasts.feedentry)
articles.tils.adoc = \
@@ -874,12 +962,15 @@ articles.tils.adoc = \
src/content/tils/2021/07/23/git-tls-gpg.adoc \
src/content/tils/2021/08/11/js-bigint-reviver.adoc \
-articles.tils.sortdata = $(articles.tils.adoc:.adoc=.sortdata)
-articles.tils.indexentry = $(articles.tils.adoc:.adoc=.indexentry)
-articles.tils.feedentry = $(articles.tils.adoc:.adoc=.feedentry)
+articles.tils.sortdata = $(articles.tils.adoc:.adoc=.sortdata)
+articles.tils.indexentry = $(articles.tils.adoc:.adoc=.indexentry)
+articles.tils.feedentry = $(articles.tils.adoc:.adoc=.feedentry)
+articles.tils.categorydata = $(articles.tils.adoc:.adoc=.categorydata)
src/content/tils/sortdata.txt: deps.mk
printf '%s\n' $(articles.tils.sortdata) > $@
-src/content/tils/feed.xml src/content/tils/index.htmllisting: src/content/tils/sortdata.txt $(articles.tils.sortdata)
+src/content/tils/categories.txt src/content/tils/feed.xml src/content/tils/index.htmllisting: src/content/tils/sortdata.txt $(articles.tils.sortdata)
src/content/tils/index.htmllisting: $(articles.tils.indexentry)
-src/content/tils/feed.xml: $(articles.tils.feedentry)
+src/content/tils/categories.txt: $(articles.tils.categorydata)
+src/content/tils/categories.xml: src/content/tils/categories.txt
+src/content/tils/categories.txt src/content/tils/feed.xml: $(articles.tils.feedentry)
diff --git a/mkdeps.sh b/mkdeps.sh
index 119b255..c02c483 100755
--- a/mkdeps.sh
+++ b/mkdeps.sh
@@ -36,12 +36,13 @@ files() {
}
-pages | varlist 'pages.adoc'
-articles | varlist 'articles.adoc'
-listings | varlist 'listings.adoc'
-listings | sed 's|/index\.adoc$|/feed.xml|' | varlist 'feeds.xml'
-find src/content/img/ -name '*.svg' | varlist 'images.svg'
-extras | varlist 'sources.extras'
+pages | varlist 'pages.adoc'
+articles | varlist 'articles.adoc'
+listings | varlist 'listings.adoc'
+listings | sed 's|/index\.adoc$|/categories.txt|' | varlist 'categories.txt'
+listings | sed 's|/index\.adoc$|/feed.xml|' | varlist 'feeds.xml'
+find src/content/img/ -name '*.svg' | varlist 'images.svg'
+extras | varlist 'sources.extras'
files | sed 's/^\(.*\)\.adoc$/\1.htmlbody\t\1.snippets\t\1.conf:\t\1.adoc/'
@@ -50,6 +51,7 @@ printf '\n'
files | sed 's/^\(.*\)\.adoc$/\1.html.gz:\t\1.html/'
files | sed 's/^\(.*\)\.adoc$/\1.snippets.gz:\t\1.snippets/'
+listings | sed 's|^\(.*\)/index\.adoc$|\1/categories.xml.gz:\t\1/categories.xml|'
listings | sed 's|^\(.*\)/index\.adoc$|\1/feed.xml.gz:\t\1/feed.xml|'
printf '\n'
@@ -60,6 +62,7 @@ printf '\n'
articles | sed 's/^\(.*\)\.adoc$/\1.feedentry:\t\1.conf\t\1.htmlbody/'
articles | sed 's/^\(.*\)\.adoc$/\1.sortdata:\t\1.conf/'
+articles | sed 's/^\(.*\)\.adoc$/\1.categorydata:\t\1.conf/'
printf '\n'
listings | sed 's/^\(.*\)\.adoc$/\1.htmlheader\t\1.htmlfooter:\t\1.conf/'
@@ -72,21 +75,23 @@ for colllink in src/collections/*; do
printf '\n\n'
name="$(basename "$c")"
find "$c"/*/ -type f -name '*.adoc' | varlist "articles.$name.adoc"
- printf 'articles.%s.%s = $(articles.%s.adoc:.adoc=.%s)\n' \
- "$name" 'sortdata ' "$name" 'sortdata'
- printf 'articles.%s.%s = $(articles.%s.adoc:.adoc=.%s)\n' \
- "$name" 'indexentry' "$name" 'indexentry'
- printf 'articles.%s.%s = $(articles.%s.adoc:.adoc=.%s)\n' \
- "$name" 'feedentry ' "$name" 'feedentry'
+ art=articles # so things fit in 80 columns
+ echo "$art.$name.sortdata = \$($art.$name.adoc:.adoc=.sortdata)"
+ echo "$art.$name.indexentry = \$($art.$name.adoc:.adoc=.indexentry)"
+ 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 $(articles.%s.sortdata) > $@\n\n' \
- "'%s\n'" "$name"
+ printf '\tprintf %s $(articles.%s.sortdata) > $@\n\n' "'%s\n'" "$name"
- printf '%s/feed.xml\t%s/index.htmllisting:' "$c" "$c"
+ printf '%s/categories.txt\t%s/feed.xml\t%s/index.htmllisting:' \
+ "$c" "$c" "$c"
printf '\t%s/sortdata.txt\t$(articles.%s.sortdata)\n' "$c" "$name"
printf '%s/index.htmllisting:\t$(articles.%s.indexentry)\n' "$c" "$name"
- printf '%s/feed.xml:\t$(articles.%s.feedentry)\n' "$c" "$name"
+ printf '%s/categories.txt:\t$(articles.%s.categorydata)\n' "$c" "$name"
+ printf '%s/categories.xml:\t%s/categories.txt\n' "$c" "$c"
+ printf '%s/categories.txt\t%s/feed.xml:\t$(articles.%s.feedentry)\n' \
+ "$c" "$c" "$name"
done
diff --git a/src/content/podcasts/2020/12/19/test-entry.adoc b/src/content/podcasts/2020/12/19/test-entry.adoc
index 3302421..c641449 100644
--- a/src/content/podcasts/2020/12/19/test-entry.adoc
+++ b/src/content/podcasts/2020/12/19/test-entry.adoc
@@ -1,4 +1,5 @@
= A test entry
+:categories: test
audio: true
diff --git a/src/content/screencasts/2021/02/07/autoqemu.adoc b/src/content/screencasts/2021/02/07/autoqemu.adoc
index d7c9e12..440ede9 100644
--- a/src/content/screencasts/2021/02/07/autoqemu.adoc
+++ b/src/content/screencasts/2021/02/07/autoqemu.adoc
@@ -1,5 +1,6 @@
= AutoQEMU - automate installation and SSH setup of ISO OS images
:updatedat: 2022-03-06
+:categories: first
:empty:
:begriffs-tips: https://begriffs.com/posts/2020-08-31-portable-stable-software.html