2024-11-02 18:30:04 +01:00
|
|
|
#!/bin/bash
|
|
|
|
# conversion des pages d'articles depuis le dossier source en orgmode
|
2024-11-03 11:06:34 +01:00
|
|
|
|
|
|
|
# liste des dossiers à convertir
|
2024-11-04 14:14:28 +01:00
|
|
|
# blogs_folders=("dragonfeu_blog" "tykayn_blog" "cipherbliss_blog" "qzine_blog" "cil_gometz")
|
2024-11-05 00:35:49 +01:00
|
|
|
blogs_folders=()
|
2024-11-19 13:49:39 +01:00
|
|
|
|
|
|
|
root_folder="/home/poule/encrypted/stockage-syncable/www/development/html/orgmode-to-gemini-blog"
|
2024-11-03 11:06:34 +01:00
|
|
|
source_file_extension="org"
|
2024-11-08 23:19:39 +01:00
|
|
|
style_file="templates/styles/style_general.css"
|
2024-11-10 18:03:31 +01:00
|
|
|
destination_gemini="gemini-capsules/$website_name/"
|
2024-11-04 14:14:28 +01:00
|
|
|
|
2025-02-23 15:50:56 +01:00
|
|
|
remove_all_previous_generated_files=false
|
|
|
|
|
2024-11-04 14:14:28 +01:00
|
|
|
# Boucle à travers tous les arguments passés en entrée
|
2025-02-19 16:24:20 +01:00
|
|
|
for arg in "$@"; do
|
2024-11-04 14:14:28 +01:00
|
|
|
# Si l'argument est connu, ajouter le nom de blog correspondant à la liste
|
|
|
|
blogs_folders+=("$arg")
|
|
|
|
done
|
|
|
|
|
|
|
|
# Afficher la liste des noms de blogs
|
2024-11-09 00:19:43 +01:00
|
|
|
echo "----------- La liste des noms de blogs est :"
|
2025-02-19 16:24:20 +01:00
|
|
|
for blog in "${blogs_folders[@]}"; do
|
|
|
|
echo "- $blog"
|
|
|
|
done
|
2024-11-04 14:14:28 +01:00
|
|
|
|
2024-11-08 17:40:06 +01:00
|
|
|
first_wd=$PWD
|
2025-01-29 17:37:29 +01:00
|
|
|
is_directory_empty() {
|
2025-02-19 16:24:20 +01:00
|
|
|
website_name = $1
|
|
|
|
if [ -z "$(ls -A /sources/$website_name/lang_fr/converted/)" ]; then
|
|
|
|
echo "coucou"
|
|
|
|
fi
|
2025-01-29 17:37:29 +01:00
|
|
|
}
|
2024-11-09 00:19:43 +01:00
|
|
|
|
2024-11-03 11:06:34 +01:00
|
|
|
# Définition de la fonction generate_website
|
|
|
|
generate_website() {
|
2025-01-29 17:37:29 +01:00
|
|
|
website_name=$1
|
2024-11-10 18:03:31 +01:00
|
|
|
echo "----------- convert_sources :Génération du site $1..."
|
2024-11-18 13:10:30 +01:00
|
|
|
cp $style_file html-websites/$website_name/style.css
|
2024-11-03 11:18:48 +01:00
|
|
|
|
2024-11-10 00:01:15 +01:00
|
|
|
if [ ! -d "sources/$website_name" ]; then
|
2025-02-19 16:24:20 +01:00
|
|
|
|
2025-02-23 15:50:56 +01:00
|
|
|
echo "Le dossier source n'existe pas pour le site $website_name"
|
|
|
|
read -p "Voulez-vous créer le dossier source pour le nouveau site $website_name? (o/n) [n] " -n 1 -r
|
|
|
|
echo
|
|
|
|
if [[ ! $REPLY =~ ^[Oo]$ ]]; then
|
|
|
|
echo "Arrêt de la génération pour $website_name"
|
|
|
|
return 1
|
|
|
|
fi
|
|
|
|
if [[ $REPLY =~ ^[Oo]$ ]]; then
|
|
|
|
mkdir -p sources/$website_name/img
|
|
|
|
mkdir -p sources/$website_name/lang_fr
|
|
|
|
mkdir -p sources/$website_name/lang_en
|
|
|
|
mkdir -p sources/$website_name/templates
|
|
|
|
mkdir -p sources/$website_name/build
|
|
|
|
mkdir -p sources/$website_name/converted
|
|
|
|
cp templates/$website_name/$source_file_extension/* sources/$website_name/templates
|
|
|
|
fi
|
|
|
|
fi
|
2024-11-19 13:49:39 +01:00
|
|
|
|
2025-02-23 15:50:56 +01:00
|
|
|
if [ "$remove_all_previous_generated_files" = true ]; then
|
|
|
|
rm -rf html-websites/$website_name/*
|
|
|
|
fi
|
2024-11-18 13:10:30 +01:00
|
|
|
|
2025-02-23 15:50:56 +01:00
|
|
|
mkdir -p "html-websites/$website_name"
|
|
|
|
mkdir -p "html-websites/$website_name/feed"
|
|
|
|
mkdir -p "html-websites/$website_name/tags"
|
|
|
|
mkdir -p "html-websites/$website_name/tag"
|
|
|
|
mkdir -p "html-websites/$website_name/lang_fr"
|
|
|
|
mkdir -p "html-websites/$website_name/lang_en"
|
2024-11-03 11:06:34 +01:00
|
|
|
|
|
|
|
}
|
2024-11-10 15:58:11 +01:00
|
|
|
|
2024-11-03 11:06:34 +01:00
|
|
|
# regrouper les types de fichiers générés
|
2024-11-10 15:58:11 +01:00
|
|
|
bash sass_styles.sh
|
2024-11-08 23:19:39 +01:00
|
|
|
|
2024-11-03 11:06:34 +01:00
|
|
|
# Boucle à travers la liste des sites Web
|
2024-11-03 11:42:44 +01:00
|
|
|
for website_name in "${blogs_folders[@]}"; do
|
2024-11-18 13:10:30 +01:00
|
|
|
|
2025-02-19 16:24:20 +01:00
|
|
|
export website_name=$website_name
|
|
|
|
generate_website $website_name
|
2024-11-10 15:58:11 +01:00
|
|
|
|
2025-02-19 16:24:20 +01:00
|
|
|
# création de l'index listant les articles pour le html et la capsule gemini:
|
|
|
|
# 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,
|
|
|
|
# générer l'index montrant les posts les plus récents à la suite
|
2024-11-10 18:03:31 +01:00
|
|
|
|
2025-02-23 15:50:56 +01:00
|
|
|
# conversion des pages statiques
|
2025-02-19 16:29:20 +01:00
|
|
|
python3 linking_articles_prev_next.py $website_name
|
2025-02-23 15:50:56 +01:00
|
|
|
# créer les pages de tags à partir des infos de tag trouvées dans les fichiers org
|
2025-02-20 16:30:08 +01:00
|
|
|
python3 gather_tags_in_json.py $website_name
|
2024-11-15 15:58:19 +01:00
|
|
|
|
2025-02-19 16:24:20 +01:00
|
|
|
# copier le style dans le dossier html
|
|
|
|
cp $style_file html-websites/$website_name/style.css
|
|
|
|
# copier le script permettant la recherche
|
|
|
|
cp templates/js/main_script.js html-websites/$website_name/main_script.js
|
2024-11-10 18:03:31 +01:00
|
|
|
|
2025-02-19 16:24:20 +01:00
|
|
|
# traiter les réductions d'images dans l'inbox
|
|
|
|
python3 pictures_resize.py
|
2024-11-08 17:40:06 +01:00
|
|
|
|
2025-02-19 16:24:20 +01:00
|
|
|
# régénérer le flux Atom du blog
|
|
|
|
mkdir -p "html-websites/$website_name/feed"
|
2025-02-23 15:50:56 +01:00
|
|
|
python3 atom_generate.py $website_name
|
2024-11-18 16:01:34 +01:00
|
|
|
|
2025-02-19 16:24:20 +01:00
|
|
|
echo "génération faite dans html-websites/$website_name"
|
2024-11-03 11:06:34 +01:00
|
|
|
done
|