versionne panash directement à l'endroit où je m'en sers

This commit is contained in:
Yannick Francois
2020-03-08 00:03:33 +01:00
parent 9406bc63e6
commit 69ce56c604
Executable
+86
View File
@@ -0,0 +1,86 @@
#!/bin/sh
#
# Ligne complète pour pandoc:
# pandoc --template=lib/template.html -c lib/pandoc.css -H lib/head.html -B lib/header.html -A lib/footer.html "$mdfile" -o "$htmlfile"
MARKDOWN_FILES=$(find content -name \*.md)
FEED_FILE=content/feed.xml
KEYWORDS=keywords.md
cat "" > $KEYWORDS
for mdfile in $MARKDOWN_FILES; do
htmlfile="${mdfile%%.*}.html"
if [ ! -f "$htmlfile" ] || [ "$mdfile" != "$htmlfile" ]; then
echo "--> generate with pandoc '$htmlfile' from '$mdfile'"
pandoc --template=lib/template.html -c lib/pandoc.css "$mdfile" -o "$htmlfile"
fi
pandoc --template=lib/extract-keywords.md "$mdfile" >> $KEYWORDS
done
for line in $(cat $KEYWORDS); do
directory=content/$(echo $line | awk -F":" '{print $1}')
echo $directory
fichier=/$(echo $line | awk -F":" '{print $2}' | awk -F"content|index.md" '{print $1}')
echo $fichier
titre=$(echo $line | awk -F":" '{print $3}')
echo $titre
if [ ! -d $directory ]; then
mkdir -p $directory
fi
if [ ! -f $directory/index.md ]; then
touch $directory/index.md
else
echo "" > $directory/index.md
fi
echo "- [$titre]($fichier)" >> $directory/index.md
pandoc --template=lib/template.html -c lib/pandoc.css "$directory/index.md" -o "$directory/index.html"
done
echo "--> copy html files to public dir"
# HTML_FILES=$(find content -name \*.html)
# cp --parents content/*.html public
# (cd content && cp -r --parent . ../public)
# (cd content && find . -name \*.html -exec cp --parents {} ../public \;)
echo "Build atom"
LAST_CHANGES=$(git log --pretty="format:" --name-only | grep "content/posts/20*" | grep ".html" | uniq | tac | head -10)
echo "liste des 10 derniers fichiers qui ont changés : $LAST_CHANGES"
ITEMS=""
for change in $LAST_CHANGES
do
titre=$(awk -F"<h1>|</h1>" '{for(i=2;i<=NF;i+=2){print $i}}' RS="" $change)
lien=https://elsif.fr/$(echo $change | awk '{gsub(/content\//, ""); print $1}')
updated=$(date -Ins -r $change)
#summary=$(xmllint --html --noent --xpath "//article" $change)
summary=""
ITEMS="$ITEMS
<entry xml:lang='fr'><title>$titre</title><link href='$lien' rel='alternate' type='text/html'/><updated>$updated</updated><id>tag:$(shasum $change | awk -F ' ' '{print $1}')</id><summary type='HTML'>$summary</summary><author><name>Yannick François</name><email>yaf@elsif.fr</email></author></entry>
"
done
cat << EOF > $FEED_FILE
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title>Elsif.fr - Yannick François</title>
<subtitle>les dernières mise à jour du site</subtitle>
<link href="http://elsif.fr/" />
<id>tag:elsif.fr</id>
<updated>$(date -R)</updated>
$ITEMS
</feed>
EOF
exit 0