construire les infos d'un blog dans un json
This commit is contained in:
parent
16b93f380e
commit
2bdb9b7677
@ -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
|
||||
}
|
||||
}
|
@ -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")
|
||||
|
@ -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/
|
||||
|
@ -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)
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user