build with latest articles on homepage

This commit is contained in:
Tykayn 2025-01-29 14:41:34 +01:00 committed by tykayn
parent e6ec57e576
commit 579e9116b7
22 changed files with 1013 additions and 3544 deletions

View file

@ -22,6 +22,31 @@ config_title = configs_sites[args.source]['BLOG_TITLE']
use_article_file_for_name = (not global_config["slug_with_year"])
website_name = args.source
content_posts_list = ""
# on ouvre le fichier qui réunit les derniers N articles du blog pour les placer avant la liste de tous les articles
def open_latest_posts_content(config_title):
"""
Lit le contenu de latests_posts.html dans le dossier de build du titre de configuration spécifié.
Args:
config_title (str): Le titre de configuration.
Returns:
str: Le contenu de latests_posts.html.
"""
file_path = f"sources/{config_title}/build/latests_posts.html"
print("------------- contenu de posts a l index: ",file_path)
try:
with open(file_path, 'r', encoding='utf-8') as file:
content = file.read()
return content
except FileNotFoundError:
print(f"Le fichier {file_path} n'existe pas.")
return None
except Exception as e:
print(f"Une erreur est survenue : {e}")
return None
# transformer le nom du fichier orgmode en une création de dossier de l'année, et un sous dossier du nom du slug dans le nom de fichier, contenant un seul fichier d'index afin de faire de l'url rewrite en dur.
# le nom de fichier org commence par une date YYYY-MM-DD ou bien YYYYMMDDHHmmss, est suivie d'un slug, et finit par l'extension .org
@ -33,6 +58,8 @@ def generer_index(dossier_source, fichier_index):
# Chemin complet du dossier contenant les Markdown
chemin_dossier_source = os.path.join(dossier_parent, dossier_source)
content_posts_list = open_latest_posts_content(website_name)
files_static = get_files_list_of_folder(chemin_dossier_source + '/')
files_fr = get_files_list_of_folder(chemin_dossier_source + '/lang_fr')
files_en = get_files_list_of_folder(chemin_dossier_source + '/lang_en')
@ -53,6 +80,8 @@ def generer_index(dossier_source, fichier_index):
contenu_index_gmi += "\n# Articles en Français\n-------------------------\n"
lang_folder = "lang_fr/"
contenu_index_html += f"<div class='latest-articles'>{content_posts_list}</div>"
# ----------- indexer les articles en Français ------------------
for fichier in files_fr:
# date_string, année, slug = find_year_and_slug(fichier)