orgmode-to-gemini-blog/new_article.py
2024-11-18 16:01:34 +01:00

60 lines
2.1 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/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()
# 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(" ", "-")
file_abs_path = os.path.abspath(os.path.dirname(__file__))
filename = f"{file_abs_path}/sources/{args.blog_dir}/lang_{args.lang}/{date_string}_{args.blog_dir}_{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"{create_uuid_property()}")
f.write(f"#+title: {args.title}\n")
f.write(f"#+CREATED: <{date_string_full}>\n")
f.write(f"#+TAGS: \n")
f.write(f"#+SLUG: {slug}\n")
f.write(f"#+BLOG: {args.blog_dir}\n\n")
f.write(f"* {args.title}\n\n")
# f.write(f"[{date_string}]\n\n")
#+title: de-lisolement-social-et-des-choix-de-vie
#+post_ID: 2719
#+post_slug: de-lisolement-social-et-des-choix-de-vie
#+post_url: https://tykayn.fr/2021/de-lisolement-social-et-des-choix-de-vie
#+post_title: De Lisolement social et des choix de vie
#+post_type: post
#+post_mime_types:
#+post_guid: https://tykayn.fr/?p=2719
#+post_status: publish
#+post_date_published: <2021-10-26 13:06:34>
#+post_date_modified: <2021-10-26 13:06:34>
#+post_index_page_roam_id: f7fe8338-4738-4934-9038-35a004ca3786
print(f"Le fichier '{filename}' a été créé avec succès.")