construire les infos d'un blog dans un json

This commit is contained in:
Tykayn 2025-02-19 16:29:20 +01:00 committed by tykayn
parent 16b93f380e
commit 2bdb9b7677
4 changed files with 12 additions and 129 deletions

View File

@ -1,123 +0,0 @@
{
"2024/ecrire-une-histoire-et-ses-personnages-toute-une-aventure": {
"path": "sources/tykayn_blog/lang_fr/20240820T170719__ecrire-une-histoire-et-ses-personnages-toute-une-aventure.org",
"basename": "20240820T170719__ecrire-une-histoire-et-ses-personnages-toute-une-aventure",
"slug": "ecrire-une-histoire-et-ses-personnages-toute-une-aventure",
"slug_with_year": "2024/ecrire-une-histoire-et-ses-personnages-toute-une-aventure",
"date": "20240820T170719",
"annee": "2024",
"tags": [
"AI",
"vidéos",
"science",
"vélo",
"dessin",
"Bruxelles",
"yaoi",
"récit",
"bd",
"cours",
"féminisme",
"logiciel",
"sociologie",
"art",
"fanzine",
"sauvegarde"
],
"title": "Écrire une histoire et ses personnages, toute une aventure",
"next": "2024/dossier_de_partage_des_sources_d_illustrations",
"previous": "2024/sketches-de-toulouse"
},
"2024/sketches-de-toulouse": {
"path": "sources/tykayn_blog/lang_fr/20240224T173032__sketches-de-toulouse.org",
"basename": "20240224T173032__sketches-de-toulouse",
"slug": "sketches-de-toulouse",
"slug_with_year": "2024/sketches-de-toulouse",
"date": "20240224T173032",
"annee": "2024",
"tags": [
"AI",
"sketch"
],
"title": "Sketches de Toulouse",
"next": "2024/ecrire-une-histoire-et-ses-personnages-toute-une-aventure",
"previous": "2024/sketches_18"
},
"2024/conseils_de_pratique_du_dessin": {
"path": "sources/tykayn_blog/lang_fr/20241112000757__conseils_de_pratique_du_dessin.org",
"basename": "20241112000757__conseils_de_pratique_du_dessin",
"slug": "conseils_de_pratique_du_dessin",
"slug_with_year": "2024/conseils_de_pratique_du_dessin",
"date": "20241112000757",
"annee": "2024",
"tags": [
"AI",
"mastodon",
"dessin",
"conseils",
"illustration",
"chat",
"cours",
"photos",
"art"
],
"title": "conseils de pratique du dessin ",
"next": "2021/krita",
"previous": "2024/dossier_de_partage_des_sources_d_illustrations"
},
"2024/dossier_de_partage_des_sources_d_illustrations": {
"path": "sources/tykayn_blog/lang_fr/20241112001055__dossier_de_partage_des_sources_d_illustrations.org",
"basename": "20241112001055__dossier_de_partage_des_sources_d_illustrations",
"slug": "dossier_de_partage_des_sources_d_illustrations",
"slug_with_year": "2024/dossier_de_partage_des_sources_d_illustrations",
"date": "20241112001055",
"annee": "2024",
"tags": [
"AI",
"dessin",
"illustration",
"réutilisation",
"art",
"fanzine"
],
"title": "dossier de partage des sources d'illustrations ",
"next": "2024/conseils_de_pratique_du_dessin",
"previous": "2024/ecrire-une-histoire-et-ses-personnages-toute-une-aventure"
},
"2021/krita": {
"path": "sources/tykayn_blog/lang_fr/20211211215731__krita.org",
"basename": "20211211215731__krita",
"slug": "krita",
"slug_with_year": "2021/krita",
"date": "20211211215731",
"annee": "2021",
"tags": [
"AI",
"sketch",
"dessin",
"illustration",
"tuto",
"logiciel",
"art"
],
"title": "krita astuces.",
"next": null,
"previous": "2024/conseils_de_pratique_du_dessin"
},
"2024/sketches_18": {
"path": "sources/tykayn_blog/lang_fr/20241112000047__sketches_18.org",
"basename": "20241112000047__sketches_18",
"slug": "sketches_18",
"slug_with_year": "2024/sketches_18",
"date": "20241112000047",
"annee": "2024",
"tags": [
"nsfw",
"illustration",
"sketch"
],
"title": "sketches 18+ ",
"next": "2024/sketches-de-toulouse",
"previous": null
}
}

View File

@ -31,7 +31,7 @@ if not os.path.isdir(source_dir):
# Trouver les 10 fichiers les plus récents
org_files = sorted(glob.glob(os.path.join(source_dir, "*.org")), key=os.path.getmtime, reverse=True)[:last_n_articles]
# prendre le fichier output_file = f'sources/{blog_folder}/converted/tags.json'
# Créer ou écraser le fichier de sortie
with open(output_file, 'w', encoding='utf-8') as out_file:
out_file.write("#+TITLE: Articles récents\n\n")

View File

@ -219,6 +219,7 @@ for website_name in "${blogs_folders[@]}"; do
mkdir -p "html-websites/$website_name/tags"
mkdir -p "html-websites/$website_name/tag"
python3 gather_tags_in_json.py $website_name
python3 linking_articles_prev_next.py $website_name
# déplacer les fichiers générés en html dans le dossier statique
mv sources/$website_name/converted/*.html html-websites/$website_name/

View File

@ -1,21 +1,26 @@
#!/bin/python3
# import argparse
# trouver les articles précédents et suivants
from utils import *
from website_config import configs_sites
# trouver les articles précédents et suivants
import os
import json
import re
import argparse
# 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()
# Fonction pour extraire le basename d'un fichier
def get_basename(file_name):
return os.path.splitext(file_name)[0]
# Chemin du dossier contenant les fichiers orgmode
directory = 'sources/tykayn_blog/lang_fr'
directory = f'sources/{args.blog}/lang_fr'
destination_json = f'sources/{args.blog}/build'
# Dictionnaire pour stocker les informations des fichiers
files_dict = {}
@ -57,7 +62,7 @@ for i in range(len(sorted_basenames)):
if i < len(sorted_basenames) - 1:
files_dict[basename]['next'] = sorted_basenames[i + 1]
with open('articles_info.json', 'w', encoding='utf-8') as json_file:
with open(destination_json+'/articles_info.json', 'w', encoding='utf-8') as json_file:
files_dict_serialized = json.dumps(files_dict, ensure_ascii=False, indent=4)
json_file.write(files_dict_serialized)