diff options
Diffstat (limited to 'v2/src')
-rwxr-xr-x | v2/src/bin/collection-for | 23 | ||||
-rwxr-xr-x | v2/src/bin/conf | 36 | ||||
-rwxr-xr-x | v2/src/bin/feed | 2 | ||||
-rwxr-xr-x | v2/src/bin/index | 9 | ||||
-rw-r--r-- | v2/src/lib/base.en.conf | 10 | ||||
-rw-r--r-- | v2/src/lib/base.pt.conf | 10 | ||||
-rw-r--r-- | v2/src/lib/preamble.html | 7 |
7 files changed, 57 insertions, 40 deletions
diff --git a/v2/src/bin/collection-for b/v2/src/bin/collection-for index 87f1204..e46f345 100755 --- a/v2/src/bin/collection-for +++ b/v2/src/bin/collection-for @@ -71,16 +71,17 @@ eval "$(assert_arg "$FILE" 'FILE')" lang="$(lang-for "$FILE")" DIR="$(dirname "$FILE")" -if [ "$DIR" = "$CONTENT_PREFIX/$lang" ]; then - echo +PAGE="${FILE%.*}.page" + +if [ -e "$PAGE" ]; then + exit 1 else - NAME="$(basename "$DIR")" - NTH="$( - collections | - xargs -I% coll2path "$lang" % | - awk '{ print NR, substr($0, 1, length($0) - 1) }' | - grep " $NAME$" | - cut -d' ' -f1 - )" - collections | awk -vNTH="$NTH" 'NR == NTH' + collections | awk -v l="$lang" -v pre="$CONTENT_PREFIX" -v dir="$DIR" '{ + "coll2path " l " " $0 | getline coll_path + d = pre "/" l "/" coll_path + sub(/\/$/, "", d) + if (d == dir) { + print $0 + } + }' fi diff --git a/v2/src/bin/conf b/v2/src/bin/conf index 3b56dbd..9fb4664 100755 --- a/v2/src/bin/conf +++ b/v2/src/bin/conf @@ -118,10 +118,32 @@ done < "$FILENAME" | tee -a "$FILENAME".tmp rm -f "$FILENAME".tmp +lang="$(lang-for "$FILENAME")" +export lang +printf 'export lang="%s"\n' "$lang" + +cat src/lib/base."${lang:?}".conf +# shellcheck source=/dev/null +. src/lib/base."$lang".conf +if [ -z "${title:-}" ]; then + title="${site_name:?}" + printf 'export title="%s"\n' "$(printf '%s' "$title" | shesc)" +fi + + collection="$(collection-for "$FILENAME" ||:)" if [ -n "$collection" ]; then export collection printf 'export collection="%s"\n' "$collection" + + coll_path="$(coll2path "$lang" "$collection")" + feed_title="$(eval "echo \"\$feed_${collection}_title\"" | htmlesc)" + + collection_head_html="$(printf ' <link rel="alternate" type="application/atom+xml" href="%s" title="%s" />' \ + "$(url-for "$lang/$coll_path")" \ + "$(htmlesc "$feed_title")" + )" + printf 'export collection_head_html="%s"\n' "$(shesc "$collection_head_html")" fi if [ -z "${layout:-}" ]; then @@ -142,21 +164,9 @@ if [ -z "${layout:-}" ]; then fi -lang="$(lang-for "$FILENAME")" -export lang -printf 'export lang="%s"\n' "$lang" - -cat src/lib/base."${lang:?}".conf -# shellcheck source=/dev/null -. src/lib/base."$lang".conf -if [ -z "${title:-}" ]; then - title="${site_name:?}" - printf 'export title="%s"\n' "$(printf '%s' "$title" | shesc)" -fi - if [ -r "$FILENAME".i18n ]; then translations_head="$(awk -F: -v lang="$lang" '$1 != lang{ - printf " <link rel=\"alternate\" type=\"text/html\" href=\"%s\" hreflang=\"%s\" />\n", + printf " <link rel=\"alternate\" type=\"text/html\" href=\"%s\" hreflang=\"%s\" />\n", $3, $1 }' "$FILENAME".i18n)" translations_body="$(cat <<-EOF diff --git a/v2/src/bin/feed b/v2/src/bin/feed index f55ba89..4e0d2f5 100755 --- a/v2/src/bin/feed +++ b/v2/src/bin/feed @@ -76,7 +76,7 @@ eval "$(assert_arg "$FILENAME" 'FILENAME')" now="$(date -uIs)" url_absolute="$(url-for "${FILENAME#"$CONTENT_PREFIX"/}" | absolute)" site_name_html="$(htmlesc "${site_name:?}")" -collection="$(sh src/bin/collection-for "$FILENAME")" +collection="$(collection-for "$FILENAME")" coll_path="$(coll2path "${lang:?}" "$collection")" collection_url_absolute="$(url-for "${lang:?}/$coll_path" | absolute)" feed_title_html="$(eval "echo \"\$feed_${collection}_title\"" | htmlesc)" diff --git a/v2/src/bin/index b/v2/src/bin/index index 36abd2e..6212544 100755 --- a/v2/src/bin/index +++ b/v2/src/bin/index @@ -85,11 +85,16 @@ index_category_title_html="$(eval "echo \"\$index_category_${collection}_title\" export url_absolute feed_url by_category_url title_html index_recent_title_html \ index_category_title_html +feed_title="$(eval "echo \"\$feed_${collection}_title\"")" +collection_head_html="$(printf ' <link rel="alternate" type="application/atom+xml" href="%s" title="%s" />' \ + "$feed_url" \ + "$(htmlesc "$feed_title")")" + translations_head_html="$(langs | awk -v lang="${lang:?}" -v coll="$collection" '$0 != lang { "coll2path " $0 " " coll | getline coll_path "url-for " $0 "/" coll_path | getline url - printf " <link rel=\"alternate\" type=\"text/html\" href=\"%s\" hreflang=\"%s\" />\n", + printf " <link rel=\"alternate\" type=\"text/html\" href=\"%s\" hreflang=\"%s\" />\n", url, $0 }' )" @@ -103,7 +108,7 @@ translations_body_html="$(cat <<-EOF </ul> EOF )" -export translations_head_html translations_body_html +export collection_head_html translations_head_html translations_body_html diff --git a/v2/src/lib/base.en.conf b/v2/src/lib/base.en.conf index 4eff237..ba0200b 100644 --- a/v2/src/lib/base.en.conf +++ b/v2/src/lib/base.en.conf @@ -17,15 +17,15 @@ export homepage_url_absolute="$(absolute "$homepage_url")" export about_url="$(url-for "$lang/$about_url_name")" -export index__title='Blog' +export index_article_title='Blog' -export index_recent__title='Recent articles' +export index_recent_article_title='Recent articles' -export index_category__title='Articles by category' +export index_category_article_title='Articles by category' -export index__url="$(url-for "$lang/$(coll2path "$lang" article)")" +export index_article_url="$(url-for "$lang/$(coll2path "$lang" article)")" -export feed__title="EuAndreh's articles" +export feed_article_title="EuAndreh's articles" export index_pastebin_title='Pastebins' diff --git a/v2/src/lib/base.pt.conf b/v2/src/lib/base.pt.conf index 8c9f7c9..502aa1d 100644 --- a/v2/src/lib/base.pt.conf +++ b/v2/src/lib/base.pt.conf @@ -17,15 +17,15 @@ export homepage_url_absolute="$(absolute "$homepage_url")" export about_url="$(url-for "$lang/$about_url_name")" -export index__title='Blog' +export index_article_title='Blog' -export index_recent__title='Artigos recentes' +export index_recent_article_title='Artigos recentes' -export index_category__title='Artigos por categoria' +export index_category_article_title='Artigos por categoria' -export index__url="$(url-for "$lang/$(coll2path "$lang" article)")" +export index_article_url="$(url-for "$lang/$(coll2path "$lang" article)")" -export feed__title="Artigos do EuAndreh" +export feed_article_title="Artigos do EuAndreh" export index_pastebin_title='Pastebins' diff --git a/v2/src/lib/preamble.html b/v2/src/lib/preamble.html index c1e0592..f08eee8 100644 --- a/v2/src/lib/preamble.html +++ b/v2/src/lib/preamble.html @@ -3,10 +3,11 @@ <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> - <link rel="stylesheet" type="text/css" href="$style_url" /> - <link rel="icon" type="image/svg+xml" href="$icon_favicon_url" /> - <link rel="canonical" type="text/html" href="$url_absolute" /> + <link rel="stylesheet" type="text/css" href="$style_url" /> + <link rel="icon" type="image/svg+xml" href="$icon_favicon_url" /> + <link rel="canonical" type="text/html" href="$url_absolute" /> $translations_head_html +$collection_head_html <title>$title_html</title> |