46 lines
1.8 KiB
Python
46 lines
1.8 KiB
Python
|
import os
|
|||
|
|
|||
|
# Variables personnalisables
|
|||
|
DOSSIER_MD = 'source/converted' # Nom du dossier contenant les fichiers Markdown
|
|||
|
FICHIER_INDEX = 'index.gmi' # Nom du fichier d'index à générer
|
|||
|
TITRE_INDEX = f" # DragonFeu - Articles"
|
|||
|
# Titre pour le fichier d'index
|
|||
|
|
|||
|
def generer_index(dossier_md, fichier_index, titre_index):
|
|||
|
# Chemin absolu du dossier parent (pour sauver le fichier d'index)
|
|||
|
dossier_parent = os.path.dirname(os.path.abspath(__file__))
|
|||
|
|
|||
|
# Chemin complet du dossier contenant les Markdown
|
|||
|
chemin_dossier_md = os.path.join(dossier_parent, dossier_md)
|
|||
|
|
|||
|
# Vérifie si le dossier existe
|
|||
|
if not os.path.exists(chemin_dossier_md):
|
|||
|
print(f"Erreur : Le dossier '{dossier_md}' n'existe pas.")
|
|||
|
return
|
|||
|
|
|||
|
# Liste les fichiers Markdown, trie par nom décroissant
|
|||
|
try:
|
|||
|
fichiers_md = sorted([f.replace('.md', '.gmi') for f in os.listdir(chemin_dossier_md) if f.endswith('.md')], reverse=True)
|
|||
|
except OSError as e:
|
|||
|
print(f"Erreur lors de la lecture du dossier : {e}")
|
|||
|
return
|
|||
|
|
|||
|
# Chemin complet pour le fichier d'index
|
|||
|
chemin_fichier_index = os.path.join(dossier_parent, fichier_index)
|
|||
|
|
|||
|
# Génère le contenu du fichier d'index
|
|||
|
contenu_index = f"{titre_index}\n{'- ' * len(titre_index)}\n\n"
|
|||
|
for fichier in fichiers_md:
|
|||
|
contenu_index += f"=> {fichier}\n"
|
|||
|
|
|||
|
# Écrit le contenu dans le fichier d'index
|
|||
|
try:
|
|||
|
with open(chemin_fichier_index, 'w', encoding='utf-8') as file:
|
|||
|
file.write(contenu_index)
|
|||
|
print(f"Fichier d'index '{fichier_index}' généré avec succès.")
|
|||
|
except OSError as e:
|
|||
|
print(f"Erreur lors de l'écriture du fichier d'index : {e}")
|
|||
|
|
|||
|
if __name__ == "__main__":
|
|||
|
generer_index(DOSSIER_MD, FICHIER_INDEX, TITRE_INDEX)
|