#!/usr/bin/env python3 # création de nouvel article de blog # exemple de commande # python new_article.py cipherbliss_blog fr "Création d'un blog gemini" import os from datetime import datetime import argparse # Configuration des arguments de la ligne de commande parser = argparse.ArgumentParser(description="Générer un nouvel article en mode orgmode.") parser.add_argument("blog_dir", help="Le nom du dossier de blog.") parser.add_argument("lang", help="La langue de l'article.") parser.add_argument("title", help="Le titre de l'article.") args = parser.parse_args() uuid_value='' # Génération du nom de fichier org avec la date et le slug now = datetime.now() # date_string = now.strftime("%Y-%m-%d") date_string = now.strftime("%Y%m%d%H%M%S") date_string_full = now.strftime("%Y-%m-%d %H:%M:%S") # date_string_full = now.strftime("%Y%m%d%H%M%S") slug = args.title.lower().replace(" ", "-") slug = slug.replace("--", "-") slug = slug.replace("--", "-") file_abs_path = os.path.abspath(os.path.dirname(__file__)) filename = f"{file_abs_path}/sources/{args.blog_dir}/lang_{args.lang}/{date_string}__{slug}.org" import uuid def create_uuid_property(): uuid_value = uuid.uuid4() return f":PROPERTIES:\n:ID: {uuid_value}\n:END:\n" # Écriture du fichier org with open(filename, "w") as f: f.write(f""" #+title: {slug} #+post_ID: #+post_slug: organisation-de-taches-orgmode #+post_url: https://www.ciperbliss.com/2024/{slug} #+post_title: {args.title} #+post_tags: #+post_type: post #+post_mime_types: #+post_guid: #+post_status: publish #+post_date_published: <{date_string_full}> #+post_date_modified: <{date_string_full}> #+post_index_page_roam_id: {uuid_value} #+BLOG: cipherbliss_blog {args.blog_dir} * {args.title} """) print(f"Le fichier '{filename}' a été créé avec succès.")