summaryrefslogtreecommitdiff
path: root/mkdeps.sh
diff options
context:
space:
mode:
authorEuAndreh <eu@euandre.org>2025-04-11 13:12:06 -0300
committerEuAndreh <eu@euandre.org>2025-04-11 14:51:32 -0300
commit94413ad645a866f8052a7cb67a188a8a0763104c (patch)
treed830bc7371737573cf5c0df7d98149ac9ff14afe /mkdeps.sh
parentsrc/content/: Make categories URL-friendly (diff)
downloadeuandre.org-94413ad645a866f8052a7cb67a188a8a0763104c.tar.gz
euandre.org-94413ad645a866f8052a7cb67a188a8a0763104c.tar.xz
Makefile: Generate a feed per category
Diffstat (limited to 'mkdeps.sh')
-rwxr-xr-xmkdeps.sh37
1 files changed, 21 insertions, 16 deletions
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