#!/bin/python3 import os import argparse import re parser = argparse.ArgumentParser(description="Générer un site Web à partir de fichiers HTML.") parser.add_argument("blog_name", help="Le chemin vers le dossier contenant les fichiers HTML.") parser.add_argument("--title", "-t", default="Mon site Web", help="Le titre du site Web.") parser.add_argument("--style", default="templates/style_general.css", help="Le chemin vers le fichier de style CSS.") args = parser.parse_args() # Style CSS minimaliste style_file = args.style blog_name = args.blog_name source_blog = f"sources/{blog_name}" header_content_path = f"{source_blog}/templates/header_page.org" footer_content_path = f"{source_blog}/templates/header_page.org" static_page_path = f"{source_blog}/templates/html/static.html" # variables du template de page BANNIERE_ENTETE='' BLOG_TITLE='Cipher Bliss' BLOG_SUBTITLE='Code, nouvelles technologies et entrepreneurariat par B. Lemoine' TITLE='' AUTHOR='' PAGE_TITLE='' LOCALE='' DESCRIPTION='' EMAIL='contact@cipherbliss.com' SITE_ICON='https://www.cipherbliss.com/wp-content/uploads/2016/12/rond.png' SITE_ICON='image/png' NAVIGATION='' BANNIERE_ENTETE='https://www.cipherbliss.com/wp-content/uploads/2016/11/bg.jpg' BANNIERE_ENTETE_ALT='bannière du site' ARTICLE='' FOOTER='' def remove_properties_section(text): pattern = r"

Article

.+?" replacement = "" return re.sub(pattern, replacement, text, flags=re.DOTALL) def remove_article_head_properties_orgmode(text): pattern = r":PROPERTIES:.+?:END:" replacement = "" return re.sub(pattern, replacement, text, flags=re.DOTALL) def remove_hint_html(text): pattern = r"

ceciestduhtml

" replacement = "" return re.sub(pattern, replacement, text, flags=re.DOTALL) def enrich_one_file(file, root_path): print(' ----------- enrich html file:',os.path.join(root_path, file)) css_content = "" inline_the_css=False # inline_the_css=True print(' ----------- CSSS inline: ',inline_the_css) # Trouver le fichier entête header_content='' with open(os.path.join(root_path, file), "r") as f: header_content = f.read() # Ouvrir le fichier HTML en mode lecture with open(os.path.join(root_path, file), "r") as f: html_content = f.read() html_content = remove_properties_section(html_content) html_content = remove_article_head_properties_orgmode(html_content) html_content = remove_hint_html(html_content) if inline_the_css: print(' ----------- include css inline in each html page') with open(os.path.join(root_path, file), "r") as f: css_content = f.read() css_content = "" # Ajouter la déclaration de charset UTF-8, le doctype HTML et le titre du site Web html_content = f""" {BLOG_TITLE} {css_content}

{BLOG_TITLE}

{BLOG_SUBTITLE}

{NAVIGATION}

{html_content}

""" html_path_enriched=os.path.join(root_path, file) # Écrire le contenu modifié dans le fichier HTML with open(html_path_enriched, "w") as f: f.write(html_content) print('\n ----------- html écrit ', html_path_enriched) # Parcourir tous les fichiers HTML dans le dossier for root, _, files in os.walk(blog_name): # print(files) for file in files: if file.endswith(".html"): enrich_one_file(file, root)