mirror of
https://forge.chapril.org/tykayn/orgmode-to-gemini-blog
synced 2025-06-20 09:04:42 +02:00
module utils, add article wololo
This commit is contained in:
parent
3b9061514f
commit
3bf5856bab
12 changed files with 307 additions and 85 deletions
|
@ -5,6 +5,7 @@
|
|||
import os
|
||||
from datetime import datetime
|
||||
import argparse
|
||||
import sys
|
||||
|
||||
# Configuration des arguments de la ligne de commande
|
||||
parser = argparse.ArgumentParser(description="Générer un nouvel article en mode orgmode.")
|
||||
|
@ -75,13 +76,19 @@ if year_prefix_in_slug:
|
|||
else:
|
||||
schema_slug = slug
|
||||
|
||||
file_abs_path = os.path.abspath(os.path.dirname(__file__))
|
||||
# Obtenir le chemin absolu du répertoire du script
|
||||
script_dir = os.path.dirname(os.path.abspath(__file__))
|
||||
|
||||
if args.lang == 'fr' or args.lang == 'en':
|
||||
filename = f"{file_abs_path}/sources/{args.blog_dir}/lang_{args.lang}/{date_string}__{slug}.org"
|
||||
else:
|
||||
print('langue invalide, disponible: fr ou en seulement')
|
||||
exit(1)
|
||||
# Ajouter le répertoire du script au path Python
|
||||
sys.path.append(script_dir)
|
||||
|
||||
# Maintenant importer make_article
|
||||
try:
|
||||
from utils.maker import make_article
|
||||
except ImportError:
|
||||
print("Erreur: Impossible de trouver le module maker.py dans le dossier utils/")
|
||||
print("Vérifiez que le fichier utils/maker.py existe et est accessible")
|
||||
sys.exit(1)
|
||||
|
||||
import uuid
|
||||
|
||||
|
@ -89,53 +96,17 @@ def create_uuid_property():
|
|||
uuid_value = uuid.uuid4()
|
||||
return uuid_value
|
||||
|
||||
def make_article(config):
|
||||
"""
|
||||
Crée le contenu d'un nouvel article avec les propriétés spécifiées.
|
||||
# Créer le dossier de langue s'il n'existe pas
|
||||
lang_dir = os.path.join(base_blog_dir, args.blog_dir, f"lang_{args.lang}")
|
||||
if not os.path.exists(lang_dir):
|
||||
os.makedirs(lang_dir)
|
||||
print(f"Dossier de langue '{lang_dir}' créé.")
|
||||
|
||||
Args:
|
||||
config (dict): Dictionnaire contenant les paramètres de l'article:
|
||||
- uuid (str): Identifiant unique de l'article
|
||||
- slug (str): Slug de l'URL de l'article
|
||||
- title (str): Titre de l'article
|
||||
- date_string_full (str): Date complète au format YYYY-MM-DD HH:MM:SS
|
||||
- date_string (str): Date au format YYYYMMDDHHMMSS
|
||||
- schema_slug (str): Slug avec ou sans préfixe année selon la config
|
||||
- blog_dir (str): Dossier du blog
|
||||
|
||||
Returns:
|
||||
str: Contenu formaté de l'article avec les propriétés et métadonnées
|
||||
"""
|
||||
|
||||
|
||||
return f""":PROPERTIES:
|
||||
:ID: {config.get('uuid')}
|
||||
:END:
|
||||
|
||||
#+title: {config.get('title')}
|
||||
#+post_ID:
|
||||
#+post_slug: {config.get('slug')}
|
||||
|
||||
|
||||
#+post_url: https://www.ciperbliss.com/{config.get('schema_slug')}
|
||||
#+post_title: {config.get('title')}
|
||||
#+post_tags:
|
||||
#+post_series:
|
||||
#+post_type: post
|
||||
#+post_status: publish
|
||||
#+post_picture:
|
||||
#+post_date_published: <{config.get('date_string_full')}>
|
||||
#+post_date_modified: <{config.get('date_string_full')}>
|
||||
#+post_index_page_roam_id: {config.get('uuid')}
|
||||
#+BLOG: {config.get('blog_dir')}
|
||||
|
||||
* {config.get('title')}
|
||||
|
||||
|
||||
"""
|
||||
# Définir le nom du fichier
|
||||
filename = os.path.join(lang_dir, f"{date_string}__{slug}.org")
|
||||
|
||||
# Écriture du fichier org
|
||||
with open(filename, "w") as f:
|
||||
with open(filename, "w") as f:
|
||||
uuid = create_uuid_property()
|
||||
config={
|
||||
'uuid': uuid,
|
||||
|
@ -145,6 +116,7 @@ with open(filename, "w") as f:
|
|||
'date_string': date_string,
|
||||
'schema_slug': schema_slug,
|
||||
'blog_dir': args.blog_dir,
|
||||
'lang': args.lang, # Ajout de la langue dans la config
|
||||
}
|
||||
f.write(make_article(config))
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue