diff options
author | Libreboot Contributor <contributor@libreboot.org> | 2020-03-18 17:20:14 +0100 |
---|---|---|
committer | Libreboot Contributor <contributor@libreboot.org> | 2020-03-18 17:20:27 +0100 |
commit | 0f6ea1c9e0a25a9b7546f96f27cef8841f0d09b5 (patch) | |
tree | a28b9403123dd6204eb2dd8cb44eada12c169f4b /i18n/fr_FR/www/index.sh | |
parent | 6e5bdd1271059a9c61c80b21001fd3d14ff25045 (diff) | |
download | librebootfr-0f6ea1c9e0a25a9b7546f96f27cef8841f0d09b5.tar.gz librebootfr-0f6ea1c9e0a25a9b7546f96f27cef8841f0d09b5.zip |
Creation of i18n folder containing translations of the libreboot project. Added french one, not finished.
Diffstat (limited to 'i18n/fr_FR/www/index.sh')
-rwxr-xr-x | i18n/fr_FR/www/index.sh | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/i18n/fr_FR/www/index.sh b/i18n/fr_FR/www/index.sh new file mode 100755 index 00000000..ee0668b7 --- /dev/null +++ b/i18n/fr_FR/www/index.sh @@ -0,0 +1,93 @@ +#!/usr/bin/env bash +# +# Copyright (C) 2017 Alyssa Rosenzweig <alyssa@rosenzweig.io> +# Copyright (C) 2017 Michael Reed <michael@michaelreed.io> +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +BLOGTITLE="Nouveautés de Libreboot." +BLOGBASE="https://libreboot.org/" +BLOGDESCRIPTION="Nouveautés sur le développement de Libreboot" + +# MANIFEST determines the order of news articles in news/index.md +FILES=$(< news/MANIFEST) + + +# usage: title file +title() { + sed -n 1p "$1" | sed -e s-^..-- +} + +# usage: meta file +meta() { + file=$1 + URL=$(printf '%s\n' "${file%.md}.html" | sed -e s-news/--) + + printf '%s\n' "[$(title "$file")]($URL){.title}" + printf '%s\n' "[$(sed -n 3p "$file" | sed -e s-^..--)]{.date}" + printf '\n' + tail -n +5 "$file" | perl -p0e 's/(\.|\?|\!)( |\n)(.|\n)*/.../g' + + printf '\n' + printf '\n' +} + +# usage: rss_header +rss_header() { + printf '%s\n' '<rss version="2.0">' + printf '%s\n' '<channel>' + + printf '%s\n' "<title>$BLOGTITLE</title>" + printf '%s\n' "<link>Actualités de ${BLOGBASE}/</link>" + printf '%s\n' "<description>$BLOGDESCRIPTION</description>" +} + +# usage: rss_main file +rss_main() { + file=$1 + + # render content and escape + desc=$(sed -e 's/</\</g' "${file%.md}.bare.html" | sed -e 's/>/\>/g') + url="${file%.md}.html" + + printf '%s\n' '<item>' + printf '%s\n' "<title>$(title "$file")</title>" + printf '%s\n' "<link>$BLOGBASE$url</link>" + printf '%s\n' "<description>$desc</description>" + printf '%s\n' '</item>' +} + +# usage: rss_footer +rss_footer() { + printf '%s\n' '</channel>' + printf '%s\n' '</rss>' +} + + +# generate the index file +cat news-list.md > news/index.md +for f in $FILES +do + meta "$f" >> news/index.md +done + +# generate the RSS index +rss_header > news/feed.xml +for f in $FILES +do + rss_main "$f" >> news/feed.xml +done +rss_footer >> news/feed.xml + +cp news/feed.xml feed.xml |