diff options
author | EuAndreh <eu@euandre.org> | 2025-04-11 13:12:06 -0300 |
---|---|---|
committer | EuAndreh <eu@euandre.org> | 2025-04-11 14:51:32 -0300 |
commit | 94413ad645a866f8052a7cb67a188a8a0763104c (patch) | |
tree | d830bc7371737573cf5c0df7d98149ac9ff14afe | |
parent | src/content/: Make categories URL-friendly (diff) | |
download | euandre.org-94413ad645a866f8052a7cb67a188a8a0763104c.tar.gz euandre.org-94413ad645a866f8052a7cb67a188a8a0763104c.tar.xz |
Makefile: Generate a feed per category
-rw-r--r-- | .gitignore | 6 | ||||
-rw-r--r-- | Makefile | 92 | ||||
-rw-r--r-- | deps.mk | 141 | ||||
-rwxr-xr-x | mkdeps.sh | 37 | ||||
-rw-r--r-- | src/content/podcasts/2020/12/19/test-entry.adoc | 1 | ||||
-rw-r--r-- | src/content/screencasts/2021/02/07/autoqemu.adoc | 1 |
6 files changed, 202 insertions, 76 deletions
@@ -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 @@ -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 @@ -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) @@ -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 |