mirror of
https://forge.chapril.org/tykayn/orgmode-to-gemini-blog
synced 2025-06-20 09:04:42 +02:00
more complex template html
This commit is contained in:
parent
22b713fb4a
commit
f016f842c9
844 changed files with 8190 additions and 10977 deletions
|
@ -3,11 +3,11 @@ import argparse
|
|||
import re
|
||||
import datetime
|
||||
import shutil
|
||||
# from enrich_html import static_page_path
|
||||
|
||||
import re
|
||||
# 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
|
||||
parser = argparse.ArgumentParser(description="Générer un site Web à partir de fichiers HTML.")
|
||||
parser.add_argument("source", help="Le chemin vers le dossier contenant les fichiers HTML.")
|
||||
parser.add_argument("title", default="Mon site Web", help="Le titre du site Web.")
|
||||
|
@ -24,14 +24,16 @@ source_files_extension="org"
|
|||
regex = r"^(\d{14})(-[a-zA-Z0-9_-]+)\.gmi$"
|
||||
regex_orgroam = r"^(\d{14})_([a-zA-Z0-9_-]+)\.gmi$"
|
||||
|
||||
import re
|
||||
use_article_file_for_name=False
|
||||
website_name = args.source
|
||||
|
||||
def trouver_nom_article(fichier_org):
|
||||
print('fichier_org, ',fichier_org)
|
||||
with open(fichier_org, 'r') as file:
|
||||
lignes = file.readlines()
|
||||
|
||||
# Expressions régulières pour trouver les titres de niveau 1 et 2
|
||||
titre_niveau_1 = r'^\*\*\*+ (.+)$'
|
||||
titre_niveau_1 = r'^\*+ (.+)$'
|
||||
titre_niveau_2 = r'^\*\*+ (.+)$'
|
||||
|
||||
nom_article = None
|
||||
|
@ -118,7 +120,7 @@ def get_files_list_of_folder(folder_path):
|
|||
print('source ',folder_path)
|
||||
# Liste les fichiers articles, trie par nom décroissant
|
||||
try:
|
||||
fichiers_md = sorted([f.replace(source_files_extension, '.gmi') for f in os.listdir(folder_path) if f.endswith(source_files_extension)], reverse=True)
|
||||
fichiers_md = sorted([f.replace('.'+source_files_extension, '.gmi') for f in os.listdir(folder_path) if f.endswith(source_files_extension)], reverse=True)
|
||||
print('fichiers trouvés:', len(fichiers_md))
|
||||
return fichiers_md
|
||||
except OSError as e:
|
||||
|
@ -143,7 +145,6 @@ def empty_folder_content(path):
|
|||
else:
|
||||
shutil.rmtree(file_path)
|
||||
|
||||
use_article_file_for_name=False
|
||||
|
||||
def generer_index(dossier_source, fichier_index, titre_index):
|
||||
# Chemin absolu du dossier parent (pour sauver le fichier d'index)
|
||||
|
@ -171,16 +172,25 @@ def generer_index(dossier_source, fichier_index, titre_index):
|
|||
contenu_index_gmi += "\n# Navigation\n-------------------------\n"
|
||||
contenu_index_html += "<h1>Navigation</h1>"
|
||||
for fichier in files_static:
|
||||
print(" -------- fichier ",fichier)
|
||||
link_html = fichier.replace('.gmi','.html')
|
||||
link_org = fichier.replace('.gmi','.org')
|
||||
contenu_index_gmi += f"=> {fichier}\n"
|
||||
link_html = fichier.replace('..gmi','.html')
|
||||
|
||||
if use_article_file_for_name:
|
||||
article_name = link_html
|
||||
if fichier != "index.gmi":
|
||||
print(' -------- rechercher le nom de l article dans le fichier ')
|
||||
if use_article_file_for_name:
|
||||
article_name = link_html
|
||||
else:
|
||||
file_path_org = os.path.join(dossier_parent,"sources",website_name,link_org)
|
||||
print('-------------- trouver_nom_article ',file_path_org)
|
||||
article_name=trouver_nom_article(file_path_org)
|
||||
|
||||
if not article_name:
|
||||
article_name = link_html
|
||||
else:
|
||||
file_path_org = os.path.join(dossier_parent,fichier)
|
||||
print('--------------',file_path_org)
|
||||
article_name=trouver_nom_article( file_path_org)
|
||||
|
||||
article_name = 'Index'
|
||||
article_name = article_name.replace('_',' ')
|
||||
contenu_index_html += f"<br><a href=/{link_html}>{article_name}</a>"
|
||||
|
||||
# ne préciser la langue français que si on a des articles en Anglais
|
||||
|
@ -232,11 +242,8 @@ def generer_index(dossier_source, fichier_index, titre_index):
|
|||
try:
|
||||
with open(chemin_fichier_index_gemini, 'w', encoding='utf-8') as file:
|
||||
file.write(contenu_index_gmi)
|
||||
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.copy(chemin_fichier_index_gemini, 'gemini-capsules/'+args.source+'/index.gmi')
|
||||
|
||||
print(f" ------------ build_indexes: Déplacé dans '{'html-websites/'+args.source}'.")
|
||||
print(f" ------------ build_indexes: Fichier d'index gemini '{chemin_fichier_index_gemini}' généré avec succès.")
|
||||
|
||||
except OSError as e:
|
||||
print(f" ------------ build_indexes: Erreur lors de l'écriture du fichier d'index : {e}")
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue