From 8e32423dce5fb5219ec5c36e0e4d424df5371ba9 Mon Sep 17 00:00:00 2001 From: Tykayn Date: Thu, 20 Feb 2025 14:53:59 +0100 Subject: [PATCH] up image sur index --- .../2024/coucou-gemini/index.html | 204 +++++++------ .../index.html | 231 +++++++++------ html-websites/dragonfeu_blog/index.html | 279 +++++++++++------- linking_articles_prev_next.py | 68 +++-- .../lang_fr/2024-11-02__coucou-gemini.org | 5 + templates/html/article.html.jinja | 23 +- templates/html/index.html.jinja | 17 +- templates/styles/style_general.css | 4 + templates/styles/style_general.css.map | 2 +- templates/styles_src/style_general.scss | 4 + 10 files changed, 516 insertions(+), 321 deletions(-) diff --git a/html-websites/dragonfeu_blog/2024/coucou-gemini/index.html b/html-websites/dragonfeu_blog/2024/coucou-gemini/index.html index c26f18be..f7deb094 100644 --- a/html-websites/dragonfeu_blog/2024/coucou-gemini/index.html +++ b/html-websites/dragonfeu_blog/2024/coucou-gemini/index.html @@ -1,60 +1,61 @@ - - - + - - - - - - - - - - - - - - - - - - - - - - - - -
- +
+ +
+ +

Salut les giminiciens

hop hop coucou

+
+ -

+

-
-
+ + + + + + \ No newline at end of file diff --git a/html-websites/dragonfeu_blog/2024/strategie-mitigation-accident-fusion-coeur-epr2/index.html b/html-websites/dragonfeu_blog/2024/strategie-mitigation-accident-fusion-coeur-epr2/index.html index fcf178d1..dc141d77 100644 --- a/html-websites/dragonfeu_blog/2024/strategie-mitigation-accident-fusion-coeur-epr2/index.html +++ b/html-websites/dragonfeu_blog/2024/strategie-mitigation-accident-fusion-coeur-epr2/index.html @@ -1,60 +1,61 @@ - - - + - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-
- -
-

dragonfeu_blog

-
-

+

+ + +
+ +
+ +

Stratégie de mitigation de l’accident de fusion du cœur sur l’EPR.

J’imagine si vous avez cliqué sur cet article, vous savez que l’EPR @@ -567,19 +565,62 @@ href="https://medium.com/tag/astec?source=post_page-----f82c1d15ed58------------ href="https://medium.com/tag/fukushima?source=post_page-----f82c1d15ed58--------------------------------">https://medium.com/tag/fukushima?source=post_page-----f82c1d15ed58--------------------------------][

Fukushima

]]

+
+ -

+

-
- + + + + + \ No newline at end of file diff --git a/html-websites/dragonfeu_blog/index.html b/html-websites/dragonfeu_blog/index.html index e670d137..8796bab6 100644 --- a/html-websites/dragonfeu_blog/index.html +++ b/html-websites/dragonfeu_blog/index.html @@ -1,60 +1,59 @@ - - - + - - - - - - - - - - - - - - - - - - - - - - - - -
- +
+ + + +
+
+ + + +

+ ouiiii heuuu voilà +

+
+
+ +

ouiiii heuuu voilà

hé oui ouhodhadod hoa hoahdaooh dhoa

-
-

Salut les giminiciens

+
+ +
+ + + +
+
+ + +
+ + + +
+ + +

+ Stratégie de mitigation de l’accident de fusion du cœur sur l’EPR. +

+
+
+ +

Stratégie de mitigation de l’accident de fusion du cœur sur l’EPR.

J’imagine si vous avez cliqué sur cet article, vous savez que l’EPR @@ -575,20 +652,24 @@ href="https://medium.com/tag/astec?source=post_page-----f82c1d15ed58------------ href="https://medium.com/tag/fukushima?source=post_page-----f82c1d15ed58--------------------------------">https://medium.com/tag/fukushima?source=post_page-----f82c1d15ed58--------------------------------][

Fukushima

]]

-
-

20250129143536 - pouet pouet hop
20250129143322 - ouiiii heuuu voilà
2024-11-02 - Salut les giminiciens
2024-09-08 - Stratégie de mitigation de l’accident de fusion du cœur sur l’EPR.

Navigation

-

+

+
-

- - -
+ + + + + + \ No newline at end of file diff --git a/linking_articles_prev_next.py b/linking_articles_prev_next.py index daa7d05a..30a65207 100644 --- a/linking_articles_prev_next.py +++ b/linking_articles_prev_next.py @@ -10,12 +10,16 @@ import re import argparse import pypandoc from jinja2 import Environment, FileSystemLoader +import time # Importer le module time + + +# Démarrer le chronomètre +start_time = time.time() # Configurer argparse pour prendre le blog en argument parser = argparse.ArgumentParser(description='Générer une liste des derniers articles de blog.') parser.add_argument('blog', type=str, help='Nom du dossier du blog à traiter', default='tykayn_blog') args = parser.parse_args() -limit_articles_on_index = 10 # Fonction pour extraire le basename d'un fichier def get_basename(file_name): @@ -28,12 +32,24 @@ destination_html = f'html-websites/{args.blog}/' # Dictionnaire pour stocker les informations des fichiers files_dict = {} +def get_first_picture_url(content): + # Utiliser une expression régulière pour trouver la première URL d'image dans le contenu + pattern = r'\[\[(.*?)\]\]' + match = re.search(pattern, content) + if match: + return match.group(1) + else: + return None + + # Parcourir les fichiers du dossier for file_name in os.listdir(directory): if file_name.endswith('.org'): file_path = os.path.join(directory, file_name) with open(file_path, "r", encoding="utf-8") as f: content = f.read() + date_modified = time.ctime(os.path.getmtime(file_path)) + basename = get_basename(file_name) date_str, annee, slug = find_year_and_slug_on_filename(basename) tags = extract_tags_from_file(file_path, global_config['excluded_tags']) @@ -53,28 +69,31 @@ for file_name in os.listdir(directory): 'slug': slug, 'slug_with_year': f"{annee}/{slug}", 'date': boom[0], - 'date_formattee': datetime.strptime(date_str, '%Y%m%d%H%M%S').strftime('%d %B %Y à %H:%M:%S') if len(date_str) == 14 else datetime.strptime(date_str, '%Y%m%dT%H%M%S').strftime('%d %B %Y à %H:%M:%S'), - # 'date_formattee': datetime.strptime(date_str, '%Y%m%d%H%M%S').strftime('%d %B %Y à %H:%M:%S'), + 'date_modified' : date_modified, + 'first_picture_url' : get_first_picture_url(content), + 'date_formattee': datetime.strptime(date_str, '%Y%m%d%H%M%S').strftime('%d %B %Y à %H:%M:%S') if len(date_str) == 14 else datetime.strptime(date_str, '%Y%m%dT%H%M%S').strftime('%d %B %Y à %H:%M:%S') if len(date_str) == 15 else datetime.strptime(date_str, '%Y-%m-%d').strftime('%d %B %Y'), 'annee': annee, 'tags': tags, # Assurez-vous que c'est une liste 'title': title, 'next': None, 'previous': None, 'org_content': content, # Contenu Org original + 'html_content_without_h1': re.sub(r'

.*?

', '', html_content), # Contenu HTML converti sans le titre de premier niveau 'html_content': html_content # Contenu HTML converti } # Trier les basenames par ordre décroissant sorted_basenames = sorted(files_dict.keys(), reverse=True) +print(len(sorted_basenames), 'articles trouvés') # Ajouter les noms des articles suivant et précédent for i in range(len(sorted_basenames)): basename = sorted_basenames[i] - print('basename', basename) + # print('basename', basename) if i > 0: files_dict[basename]['previous'] = sorted_basenames[i - 1] if i < len(sorted_basenames) - 1: - + # print('suivant',files_dict[sorted_basenames[i + 1]]) files_dict[basename]['next'] = sorted_basenames[i + 1] with open(destination_json+'/articles_info.json', 'w', encoding='utf-8') as json_file: @@ -143,33 +162,38 @@ def generate_article_pages(json_file, template_file, output_dir): with open(json_file, 'r', encoding='utf-8') as f: articles_info = json.load(f) - # Configurer Jinja2 - env = Environment(loader=FileSystemLoader('.')) - template = env.get_template(template_file) + # Configurer Jinja2 + env = Environment(loader=FileSystemLoader('.')) + template = env.get_template(template_file) - # Générer les pages pour chaque article - for article in articles_info.values(): - output_html = template.render( - template_content=configs_sites[args.blog], - article=article - ) + # Générer les pages pour chaque article + for article in articles_info.values(): + output_html = template.render( + template_content=configs_sites[args.blog], + article=article, + all_articles=articles_info + ) - # Construire le chemin de sortie en fonction du slug avec l'année - output_subdir = os.path.join(output_dir, article['slug_with_year']) - os.makedirs(output_subdir, exist_ok=True) - output_file = os.path.join(output_subdir ,"index.html") + # Construire le chemin de sortie en fonction du slug avec l'année + output_subdir = os.path.join(output_dir, article['slug_with_year']) + os.makedirs(output_subdir, exist_ok=True) + output_file = os.path.join(output_subdir ,"index.html") - # print(output_file) - # Écrire le fichier de sortie - with open(output_file, 'w', encoding='utf-8') as f: - f.write(output_html) + # print(output_file) + # Écrire le fichier de sortie + with open(output_file, 'w', encoding='utf-8') as f: + f.write(output_html) # print(f"Page générée pour l'article {article['title']} dans {output_file}") # Appel de la fonction pour générer les pages des articles generate_article_pages(destination_json + '/articles_info.json', 'templates/html/article.html.jinja', destination_html) +# À la fin du script, calculer et afficher le temps d'exécution +execution_time = time.time() - start_time +print(f"Temps d'exécution : {execution_time:.2f} secondes") + diff --git a/sources/dragonfeu_blog/lang_fr/2024-11-02__coucou-gemini.org b/sources/dragonfeu_blog/lang_fr/2024-11-02__coucou-gemini.org index cbb46a8d..2ec62526 100644 --- a/sources/dragonfeu_blog/lang_fr/2024-11-02__coucou-gemini.org +++ b/sources/dragonfeu_blog/lang_fr/2024-11-02__coucou-gemini.org @@ -1,2 +1,7 @@ +#+post_title: Salut les giminiciens +#+post_tags: gemini,blog,salut + * Salut les giminiciens + + hop hop coucou diff --git a/templates/html/article.html.jinja b/templates/html/article.html.jinja index 195dbf1b..2dbbaed7 100644 --- a/templates/html/article.html.jinja +++ b/templates/html/article.html.jinja @@ -35,7 +35,9 @@ -

{{template_content['BLOG_TITLE']}}

+

{{ article.title | safe }} - {{template_content['BLOG_TITLE']}} + +

{{template_content['BLOG_SUBTITLE']}}

@@ -71,16 +73,14 @@
-
- {{ article.title }} -
+
{{ article.html_content | safe }}
-
{{ article.html_content | safe }}
+