summaryrefslogtreecommitdiff
path: root/mkdeps.sh
diff options
context:
space:
mode:
Diffstat (limited to 'mkdeps.sh')
-rwxr-xr-xmkdeps.sh147
1 files changed, 110 insertions, 37 deletions
diff --git a/mkdeps.sh b/mkdeps.sh
index c02c483..69424ad 100755
--- a/mkdeps.sh
+++ b/mkdeps.sh
@@ -5,28 +5,51 @@ export LANG=POSIX.UTF-8
normalize() {
- xargs realpath |
- awk -vPWD="$PWD/" '{ print substr($0, length(PWD) + 1) }' |
- sort
+ xargs realpath --relative-to=. | sort
}
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
}
-listings() {
- find src/collections/*/index.adoc | normalize
+slides() {
+ find src/slides/*/*/ -type f -name '*.adoc' | normalize
+}
+
+indexes() {
+ find src/collections/*/*/index.adoc | normalize
+}
+
+categories() {
+ grep -l '^:type: categories$' src/collections/*/*/*.adoc | normalize
+}
+
+media() {
+ find src/content/ \( -type f -and \! -type l \) -and \( \
+ -name '*.flac' -or \
+ -name '*.ogg' -or \
+ -name '*.webm' \
+ \)
+}
+
+tarballs() {
+ find src/content/ \( -type f -and \! -type l \) -and \( \
+ -name '*.tar.gz' \
+ \)
}
extras() {
- find src/content/ -type f \
- -name '*.flac' -or \
- -name '*.webm' -or \
- -name '*.tar.gz'
+ media
+ tarballs
+}
+
+listings() {
+ indexes
+ categories
}
files() {
@@ -36,23 +59,34 @@ files() {
}
-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'
+pages | varlist 'pages.adoc'
+articles | varlist 'articles.adoc'
+slides | varlist 'slides.adoc'
+categories | varlist 'categories.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'
+tarballs | varlist 'sources.tarballs'
+extras | varlist 'sources.extras'
+find po/*.po po/*.pot | varlist 'sources.po'
-files | sed 's/^\(.*\)\.adoc$/\1.htmlbody\t\1.snippets\t\1.conf:\t\1.adoc/'
-files | sed 's/^\(.*\)\.adoc$/\1.html:\t\1.conf\t\1.htmlbody/'
+cat po/po4a.cfg |
+ awk '$1 == "[type:" && $2 == "asciidoc]" && $4 != "" && $0=$3' |
+ varlist 'po4a.in'
+
+
+{
+ files | sed 's/^\(.*\)\.adoc$/\1.html/'
+ files | sed 's/^\(.*\)\.adoc$/\1.snippets/'
+ slides | sed 's/^\(.*\)\.adoc$/\1.pdf/'
+ indexes | sed 's|^\(.*\)/index\.adoc$|\1/feed.xml|'
+} | sed 's/^\(.*\)$/\1.gz:\t\1/'
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|'
+files | sed 's/^\(.*\)\.adoc$/\1.htmlbody\t\1.snippets\t\1.conf:\t\1.adoc/'
+files | sed 's/^\(.*\)\.adoc$/\1.html:\t\1.conf\t\1.htmlbody/'
printf '\n'
files | sed 's/^\(.*\)\.adoc$/\1.updatedat-check:\t\1.conf/'
@@ -66,32 +100,71 @@ articles | sed 's/^\(.*\)\.adoc$/\1.categorydata:\t\1.conf/'
printf '\n'
listings | sed 's/^\(.*\)\.adoc$/\1.htmlheader\t\1.htmlfooter:\t\1.conf/'
+listings | sed 's/^\(.*\)\.adoc$/\1.htmllisting:\t\1.conf/'
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/'
+printf '\n'
+
+slides | sed 's/^\(.*\)\.adoc$/\1.ps:\t\1.adoc/'
+slides | sed 's/^\(.*\)\.adoc$/\1.pdf:\t\1.ps/'
+printf '\n'
+
+
-for colllink in src/collections/*; do
+collectionentries() {
+ langlink="$1"
+ colllink="$2"
+ lang="$(basename "$langlink")"
c="$(printf '%s' "$colllink" | normalize)"
+ plural="$(cat src/names/categories/"$lang".txt)"
printf '\n\n'
name="$(basename "$c")"
- find "$c"/*/ -type f -name '*.adoc' | varlist "articles.$name.adoc"
- art=articles # so things fit in 80 columns
+ art=articles."$lang"
+ find "$c"/*/ -type f -name '*.adoc' | varlist "$art.$name.adoc"
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 $(%s.%s.sortdata) > $@\n\n' "'%s\n'" "$art" "$name"
+
+ listings="
+ feed.xml
+ index.htmllisting
+ $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.%s.sortdata)\n' "$c" "$lst" "$art" "$name"
+ done
+
+ printf '%s/index.htmllisting\t' "$c"
+ printf '%s/%s.htmllisting:\t' "$c" "$plural"
+ printf '$(%s.%s.indexentry)\n' "$art" "$name"
+
+ printf '%s/%s.txt:\t' "$c" "$plural"
+ printf '$(%s.%s.categorydata)\n' "$art" "$name"
+
+ printf '%s/%s.txt\t' "$c" "$plural"
+ printf '%s/feed.xml:\t' "$c"
+ printf '$(%s.%s.feedentry)\n' "$art" "$name"
+
+ 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"
+}
- 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/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"
+for langlink in src/collections/*; do
+ for colllink in "$langlink"/*; do
+ collectionentries "$langlink" "$colllink"
+ done
done