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 /mkdeps.sh | |
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
Diffstat (limited to 'mkdeps.sh')
-rwxr-xr-x | mkdeps.sh | 37 |
1 files changed, 21 insertions, 16 deletions
@@ -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 |