orgmode-to-gemini-blog/converters.sh
2024-11-04 11:00:41 +01:00

104 lines
3.6 KiB
Bash
Executable File

#!/bin/bash
# conversion des pages d'articles depuis le dossier source en orgmode
# liste des dossiers à convertir
#blogs_folders=("dragonfeu_blog" "tykayn_blog" "cipherbliss_blog" "qzine_blog" "cil_gometz")
blogs_folders=("dragonfeu_blog")
# blogs_folders=("tykayn_blog" "qzine_blog" "dragonfeu_blog")
# blogs_folders=("cil_gometz")
# blogs_folders=("cipherbliss_blog")
source_file_extension="org"
#!/bin/bash
convert_sources() {
source_file_extension="org"
templates_path=$1
mkdir -p converted
for i in *.${source_file_extension} ; do
echo "$i"
# Transformer en html
echo "to HTML:"
pandoc -f "${source_file_extension}" -t html -s "${i}" -o "converted/${i%.${source_file_extension}}.html" --metadata title="$website_name"
# Transformer en gmi
echo "to GMI:"
pandoc --template $templates_path../../templates/pandoc/template_gemini.lua -f "${source_file_extension}" -t $templates_path../../templates/pandoc/gmi.lua -s "${i}" -o "converted/${i%.${source_file_extension}}.gmi"
# ajout des footers à chaque article
# cat '../../templates/website_pages/footer-articles.md.gmi' >> "${i%.${source_file_extension}}.gmi"
done
}
# Définition de la fonction generate_website
generate_website() {
echo " Génération du site $1..."
mkdir -p gemini-capsules/$website_name
rm -rf gemini-capsules/$website_name/*
mkdir -p gemini-capsules/$website_name/lang_fr
mkdir -p gemini-capsules/$website_name/lang_en
mkdir -p html-websites/$website_name
rm -rf html-websites/$website_name/*
mkdir -p html-websites/$website_name/lang_fr
mkdir -p html-websites/$website_name/lang_en
mkdir -p sources/$website_name/img
mkdir -p sources/$website_name/lang_fr
mkdir -p sources/$website_name/lang_en
# Ajoutez ici le code pour générer le site Web
echo "Le site $1 a été généré avec succès."
# conversion des pages statiques
cd sources/$website_name
convert_sources
#déplacer dans le site généré
mv converted/*.html ../../html-websites/$website_name/
mv converted/*.gmi ../../gemini-capsules/$website_name/
# traduction fr
cd lang_fr
convert_sources ../
mv converted/*.html ../../../html-websites/$website_name/lang_fr/
mv converted/*.gmi ../../../gemini-capsules/$website_name/lang_fr/
echo "pages en français du site web $website_name converties"
cd ..
# traduction en
cd lang_en
convert_sources ../
mv converted/*.html ../../../html-websites/$website_name/lang_en/
mv converted/*.gmi ../../../gemini-capsules/$website_name/lang_en/
echo "pages en anglais du site web $website_name converties"
# création de l'index:
# prendre les fichiers markdown du dossier md/ , et créer un index des fichiers situés dedans, rangés par nom de fichier décroissant, sauver le tout dans un fichier index.gmi
# python3 build_index_gemini.py
# mv index.gmi source/converted
cd ..
cd ..
cd ..
pwd
python3 enrich_html.py html-websites/dragonfeu_blog -t $website_name --style style_general.css
python3 enrich_html.py html-websites/dragonfeu_blog/lang_fr -t $website_name --style style_general.css
python3 enrich_html.py html-websites/dragonfeu_blog/lang_en -t $website_name --style style_general.css
}
# regrouper les types de fichiers générés
# Boucle à travers la liste des sites Web
for website_name in "${blogs_folders[@]}"; do
generate_website $website_name
python3 build_index_gemini.py $website_name "$website_name"
mv "index_$website_name.html" "html-websites/$website_name/index.html"
mv "index_$website_name.gmi" "gemini-capsules/$website_name/index.gmi"
done