add scss converter

This commit is contained in:
Tykayn 2024-11-10 00:01:15 +01:00 committed by tykayn
parent 7b582215dd
commit 07cee6a65d
53 changed files with 4507 additions and 337 deletions

View file

@ -3,6 +3,8 @@ import argparse
import re
import datetime
import shutil
# from enrich_html import static_page_path
# génère l'index gemini et html des articles rangés par langue
# Définition des arguments de la ligne de commande
@ -14,16 +16,17 @@ args = parser.parse_args()
# Variables personnalisables
DOSSIER_SOURCE = 'sources/'+args.source # Nom du dossier contenant les fichiers Markdown
FICHIER_INDEX = 'index_'+args.source # Nom du fichier d'index à générer
TITRE_INDEX = f" # {args.title} - Articles"
# TITRE_INDEX = f" # {args.title} - Articles"
TITRE_INDEX = f""
source_files_extension="org"
# Expression régulière pour extraire la date et le slug du nom de fichier org
regex = r"^(\d{4}(-?\d{2}){2}|\d{8})(-[a-zA-Z0-9_-]+)\.gmi$"
regex = r"^(\d{14})(-[a-zA-Z0-9_-]+)\.gmi$"
regex_orgroam = r"^(\d{14})_([a-zA-Z0-9_-]+)\.gmi$"
def find_year_and_slug(fichier):
fichier = fichier.replace('..','.')
# print(f"find in {fichier} -------------")
# print(f" ------------ build_indexes: find in {fichier} -------------")
slug = fichier.replace('.gmi','')
annee = '2024'
date_str= '2024-00-00'
@ -52,12 +55,12 @@ def find_year_and_slug(fichier):
# else:
# print('ERREUR aucun slug trouvé')
print(f" ")
print(f"Fichier: {fichier}")
# print(f"année: {annee}")
print(f"str(date): {str(date)}")
print(f"slug: {slug}")
print(f"chemin: {annee}/{slug}/")
# print(f" ------------ build_indexes: ")
# print(f" ------------ build_indexes: Fichier: {fichier}")
# print(f" ------------ build_indexes: année: {annee}")
# print(f" ------------ build_indexes: str(date): {str(date)}")
# print(f" ------------ build_indexes: slug: {slug}")
# print(f" ------------ build_indexes: chemin: {annee}/{slug}/")
return [date_str, annee, slug]
@ -78,7 +81,7 @@ def create_path_folders_and_move_file(path, file):
def get_files_list_of_folder(folder_path):
# Vérifie si le dossier existe
if not os.path.exists(folder_path):
print(f"Erreur : Le dossier '{dossier_md}' n'existe pas.")
print(f" ------------ build_indexes: Erreur : Le dossier '{dossier_md}' n'existe pas.")
return
print('source ',folder_path)
# Liste les fichiers articles, trie par nom décroissant
@ -87,7 +90,7 @@ def get_files_list_of_folder(folder_path):
print('fichiers trouvés:', len(fichiers_md))
return fichiers_md
except OSError as e:
print(f"Erreur lors de la lecture du dossier : {e}")
print(f" ------------ build_indexes: Erreur lors de la lecture du dossier : {e}")
return
@ -156,14 +159,14 @@ def generer_index(dossier_source, fichier_index, titre_index):
contenu_index_html += f"<br><a href=/{année}/{slug}>{année} {slug.replace('-', ' ')}</a>"
# déplacer l'article html généré dans son dossier de slug
# print(f" on créée le dossier : {new_folder_path_this_article}, et on y copie le fichier {chemin_fichier_this_article} en le renommant index.html")
# print(f" ------------ build_indexes: on créée le dossier : {new_folder_path_this_article}, et on y copie le fichier {chemin_fichier_this_article} en le renommant index.html")
# 'html-websites/'+args.source+'/'+new_folder
# print(f" mkdir {new_folder_path_this_article} -p")
# print(f" mv {chemin_fichier_this_article} {new_folder_path_this_article}")
# print(f" ------------ build_indexes: mkdir {new_folder_path_this_article} -p")
# print(f" ------------ build_indexes: mv {chemin_fichier_this_article} {new_folder_path_this_article}")
os.makedirs(os.path.dirname(new_folder_path_this_article), exist_ok=True)
# déplacer le fichier html dans le dossier slug, et le renommer en index.html ensuite pour ne pas modifier l'index du blog
shutil.move(chemin_fichier_this_article, new_folder_path_this_article+'index.html')
shutil.copy(chemin_fichier_this_article, new_folder_path_this_article+'index.html')
# contenu_index_gmi += "\n# Articles in English\n-------------------------\n"
# contenu_index_html += "<h1>Articles in English</h1>"
@ -178,27 +181,26 @@ def generer_index(dossier_source, fichier_index, titre_index):
print('chemin_fichier_index_html' , dossier_parent+chemin_fichier_index_html)
print(' ')
with open(dossier_parent+chemin_fichier_index_html, 'w', encoding='utf-8') as file:
file.write('<html><head><title>'+args.title+'</title></head><body>'+contenu_index_html+'</article></body></html>')
print(f"Fichier d'index '{chemin_fichier_index_html}' généré avec succès.")
# os.remove(dossier_parent+'/html-websites/'+args.source+'/index.html')
file.write('<html><head><title>'+args.title+'</title><link rel=\"stylesheet\" href=\"/style.css\"></link></head><body>'+contenu_index_html+'</article></body></html>')
print(f" ------------ build_indexes: Fichier d'index '{chemin_fichier_index_html}' généré avec succès.")
destination_html = dossier_parent+'/html-websites/'+args.source+'/'
shutil.move(dossier_parent+chemin_fichier_index_html, destination_html)
shutil.move(destination_html+chemin_fichier_index_html, destination_html+'index.html')
shutil.copy(dossier_parent+chemin_fichier_index_html, destination_html)
shutil.copy(destination_html+chemin_fichier_index_html, destination_html+'index.html')
# Écrit le contenu dans le fichier d'index
try:
with open(chemin_fichier_index_gemini, 'w', encoding='utf-8') as file:
file.write(contenu_index_gmi)
print(f"Fichier d'index '{chemin_fichier_index_gemini}' généré avec succès.")
print(f" ------------ build_indexes: Fichier d'index '{chemin_fichier_index_gemini}' généré avec succès.")
os.remove('gemini-capsules/'+args.source+'/index.gmi')
shutil.move(chemin_fichier_index_gemini, 'gemini-capsules/'+args.source+'/index.gmi')
shutil.copy(chemin_fichier_index_gemini, 'gemini-capsules/'+args.source+'/index.gmi')
print(f"Déplacé dans '{'html-websites/'+args.source}'.")
print(f" ------------ build_indexes: Déplacé dans '{'html-websites/'+args.source}'.")
except OSError as e:
print(f"Erreur lors de l'écriture du fichier d'index : {e}")
print(f" ------------ build_indexes: Erreur lors de l'écriture du fichier d'index : {e}")
if __name__ == "__main__":
generer_index(DOSSIER_SOURCE, FICHIER_INDEX, TITRE_INDEX)