diff --git a/export_html_dragonfeu_blog.sh b/WIP/export_html_dragonfeu_blog.sh similarity index 100% rename from export_html_dragonfeu_blog.sh rename to WIP/export_html_dragonfeu_blog.sh diff --git a/WIP/find_info_in_org.py b/WIP/find_info_in_org.py deleted file mode 100644 index afe0e197..00000000 --- a/WIP/find_info_in_org.py +++ /dev/null @@ -1,70 +0,0 @@ -import os -import argparse -import re -import datetime -import shutil - - -def enlever_premier_tiret_ou_underscore(chaîne): - if chaîne.startswith('-') or chaîne.startswith('_'): - chaîne = chaîne[1:] - return chaîne - -# Expression régulière pour extraire la date et le slug du nom de fichier org -regex = r"^(\d{4}(-?\d{2}){2}|\d{8})(-[a-zA-Z0-9_-]+)\.gmi$" -regex_orgroam = r"^(\d{14})_([a-zA-Z0-9_-]+)\.gmi$" - -def find_year_and_slug(nom_de_fichier): - nom_de_fichier = nom_de_fichier.replace('..','.') - annee = '' - annee_presumed = nom_de_fichier[:4] - print(f"///////////////// /////////////////") - print(f"nom_de_fichier: {nom_de_fichier}") - if int(annee_presumed) >1970 and len(annee_presumed) == 4: - annee = str(annee_presumed) - print(f"année: {annee}") - match = re.match(regex_orgroam, nom_de_fichier) - if match: - date_str = match.group(1) - # annee = date_str[:4] - slug = match.group(2) - - match = re.match(regex, nom_de_fichier) - if match: - date_str = match.group(1) - # Convertir la date en objet datetime - if "-" in date_str: - date = datetime.datetime.strptime(date_str, "%Y-%m-%d") - else: - date = datetime.datetime.strptime(date_str, "%Y%m%d%H%M%S") - date_string_replaced = str(date).replace(' 00:00:00','') - slug = nom_de_fichier.replace('.gmi','') - slug = slug.replace(date_string_replaced,'') - slug = enlever_premier_tiret_ou_underscore(slug) - - annee = str(date.year).replace(' 00:00:00','') - else: - print('find_year_and_slug : ERREUR aucun slug trouvé') - return [None,annee,None] - - - print(f"str(date): {str(date)}") - print(f"slug: {slug}") - print(f"chemin: {annee}/{slug}/") - return [date_str, annee,slug] - -def test_find_year_and_slug_short_date(): - date_string, année, slug = find_year_and_slug("2024-10-12-machin_truc-chose.gmi") - assert slug == "machin_truc-chose" - assert année == "2024" - assert date_string == "2024-10-12" - -def test_find_year_and_slug_orgroam_date(): - date_string, année, slug = find_year_and_slug("20060925105123_tkblog_879_by-the-wall-intersubkey.gmi") - # assert slug == "by-the-wall-intersubkey" - assert année == "2006" - # assert date_string == "20060925" - - -test_find_year_and_slug_short_date() -test_find_year_and_slug_orgroam_date() \ No newline at end of file diff --git a/WIP/parse_article.py b/WIP/parse_article.py deleted file mode 100644 index 6f0495be..00000000 --- a/WIP/parse_article.py +++ /dev/null @@ -1,42 +0,0 @@ -import re -import os -def trouver_nom_article(fichier_org): - print('fichier_org, ',fichier_org) - with open(fichier_org, 'r') as file: - lignes = file.readlines() - - # Expressions régulières pour trouver les titres de niveau 1 et 2 - titre_niveau_1 = r'^\*+ (.+)$' - titre_niveau_2 = r'^\*\*+ (.+)$' - - nom_article = None - - # Itérer sur les lignes du fichier - for ligne in lignes: - # Rechercher un titre de niveau 1 - titre_niveau_1_match = re.match(titre_niveau_1, ligne) - if titre_niveau_1_match: - titre_niveau_1_texte = titre_niveau_1_match.group(1) - if titre_niveau_1_texte.lower() != "article": - nom_article = titre_niveau_1_texte - break - else: - # Si le premier titre de niveau 1 est "Article", rechercher le premier titre de niveau 2 - titre_niveau_2_match = re.match(titre_niveau_2, ligne) - if titre_niveau_2_match: - nom_article = titre_niveau_2_match.group(1) - break - print(f"Nom de l'article : {nom_article}") - - return nom_article - - -# Chemin absolu du dossier parent (pour sauver le fichier d'index) -dossier_parent = os.path.dirname(os.path.abspath(__file__)) - -nom = trouver_nom_article(dossier_parent+'/sources/cipherbliss_blog/contact.org') -print('nom ',nom) - -nom = trouver_nom_article(dossier_parent+'/sources/cipherbliss_blog/lang_fr/20210927092238_cipherbliss_blog_238_des-sauvegardes-qui-durent-mille-ans.org') - -print('nom ',nom) \ No newline at end of file diff --git a/__pycache__/build_indexes.cpython-312.pyc b/__pycache__/build_indexes.cpython-312.pyc deleted file mode 100644 index 3823bd91..00000000 Binary files a/__pycache__/build_indexes.cpython-312.pyc and /dev/null differ diff --git a/__pycache__/enrich_html.cpython-312.pyc b/__pycache__/enrich_html.cpython-312.pyc deleted file mode 100644 index 59537439..00000000 Binary files a/__pycache__/enrich_html.cpython-312.pyc and /dev/null differ diff --git a/sources/cipherbliss_blog/index.org b/sources/cipherbliss_blog/index.org deleted file mode 100644 index cf7f2713..00000000 --- a/sources/cipherbliss_blog/index.org +++ /dev/null @@ -1,9 +0,0 @@ -* CipherBliss - -[contact](contact.org) - -* Articles -* en Fr -* en En -* Flux RSS -* Bisous diff --git a/sources/cipherbliss_blog/lang_fr_de_coté/20241103124156_cipherbliss_blog_création-d'un-blog-gemini.org b/sources/cipherbliss_blog/lang_fr/20241103124156_cipherbliss_blog_création-d'un-blog-gemini.org similarity index 100% rename from sources/cipherbliss_blog/lang_fr_de_coté/20241103124156_cipherbliss_blog_création-d'un-blog-gemini.org rename to sources/cipherbliss_blog/lang_fr/20241103124156_cipherbliss_blog_création-d'un-blog-gemini.org diff --git a/sources/cipherbliss_blog/lang_fr_de_coté/20241103131856_cipherbliss_blog_soutien.org b/sources/cipherbliss_blog/lang_fr/20241103131856_cipherbliss_blog_soutien.org similarity index 100% rename from sources/cipherbliss_blog/lang_fr_de_coté/20241103131856_cipherbliss_blog_soutien.org rename to sources/cipherbliss_blog/lang_fr/20241103131856_cipherbliss_blog_soutien.org diff --git a/sources/cipherbliss_blog/lang_fr_de_coté/20241108151758-ça-déménage.org b/sources/cipherbliss_blog/lang_fr/20241108151758-ça-déménage.org similarity index 100% rename from sources/cipherbliss_blog/lang_fr_de_coté/20241108151758-ça-déménage.org rename to sources/cipherbliss_blog/lang_fr/20241108151758-ça-déménage.org diff --git a/sources/cipherbliss_blog/lang_fr_de_coté/20241109230937-ressources-de-café-vie-privée.org b/sources/cipherbliss_blog/lang_fr/20241109230937-ressources-de-café-vie-privée.org similarity index 100% rename from sources/cipherbliss_blog/lang_fr_de_coté/20241109230937-ressources-de-café-vie-privée.org rename to sources/cipherbliss_blog/lang_fr/20241109230937-ressources-de-café-vie-privée.org diff --git a/sources/cipherbliss_blog/lang_fr_de_coté/20241109231110-tags.org b/sources/cipherbliss_blog/lang_fr/20241109231110-tags.org similarity index 100% rename from sources/cipherbliss_blog/lang_fr_de_coté/20241109231110-tags.org rename to sources/cipherbliss_blog/lang_fr/20241109231110-tags.org diff --git a/sources/cipherbliss_blog/lang_fr_de_coté/20241109231603-connaître-la-couleur-des-jours-edf-tempo-en-ligne-de-commande.org b/sources/cipherbliss_blog/lang_fr/20241109231603-connaître-la-couleur-des-jours-edf-tempo-en-ligne-de-commande.org similarity index 100% rename from sources/cipherbliss_blog/lang_fr_de_coté/20241109231603-connaître-la-couleur-des-jours-edf-tempo-en-ligne-de-commande.org rename to sources/cipherbliss_blog/lang_fr/20241109231603-connaître-la-couleur-des-jours-edf-tempo-en-ligne-de-commande.org diff --git a/sources/cipherbliss_blog/lang_fr_de_coté/20241111181104_cipherbliss_blog_techniques-pour-planter-votre-association-ou-votre-entreprise.org b/sources/cipherbliss_blog/lang_fr/20241111181104_cipherbliss_blog_techniques-pour-planter-votre-association-ou-votre-entreprise.org similarity index 100% rename from sources/cipherbliss_blog/lang_fr_de_coté/20241111181104_cipherbliss_blog_techniques-pour-planter-votre-association-ou-votre-entreprise.org rename to sources/cipherbliss_blog/lang_fr/20241111181104_cipherbliss_blog_techniques-pour-planter-votre-association-ou-votre-entreprise.org diff --git a/testing.py b/testing.py index 60a9a182..18a1660f 100644 --- a/testing.py +++ b/testing.py @@ -12,4 +12,4 @@ args = parser.parse_args() print(configs_sites[args.blog_name]['DESCRIPTION']) -# print(configs_sites[f"{args.blog_name}"]['DESCRIPTION']) \ No newline at end of file +mylog(configs_sites[f"{args.blog_name}"]['DESCRIPTION']) \ No newline at end of file diff --git a/update_on_server.sh b/update_on_server.sh index 4a237ae8..a753819d 100644 --- a/update_on_server.sh +++ b/update_on_server.sh @@ -3,11 +3,14 @@ # script de déploiement pour syncroniser le site web statique et sa capsule gemini # chemins sur le serveur : racine_sites_statiques="/poule/encrypted/www/" +images_inbox="/poule/encrypted/www/tykayn-inbox/blogs-output-pictures" +images_destination="/poule/encrypted/www/tykayn.fr/wp-content/uploads/i/" # on part du principe que ce dépot est cloné sur le serveur pour simplifier la mise à jour racine_depot_git="/poule/encrypted/www/orgmode-to-gemini-blog" # on copie les fichiers générés dans les dépots servis pour chaque nom de domaine +mv "$images_inbox/*" $images_destination cp $racine_depot_git/templates/style_general.css $racine_sites_statiques/cipherbliss.com/ cp $racine_depot_git/html-websites/cipherbliss_blog/index.html $racine_sites_statiques/cipherbliss.com/ cp $racine_depot_git/html-websites/cipherbliss_blog/lang_fr/ $racine_sites_statiques/cipherbliss.com -r diff --git a/utils.py b/utils.py index cb881973..31538d9e 100644 --- a/utils.py +++ b/utils.py @@ -1,10 +1,138 @@ #!/bin/python3 +import os import re +import shutil +from datetime import datetime + +import website_config +from website_config import * # this path should be customized org_roam_dir: str = '/home/tykayn/Nextcloud/textes/orgmode/org-roam/' +# Trouver l'identifiant OrgROAM pattern_roam_id_search = r':ID:(?:\s+)?([a-zA-Z0-9-]+)' +# Expression régulière pour extraire la date et le slug du nom de fichier org +regex = r"^(\d{14})(-[a-zA-Z0-9_-]+)\.gmi$" +# Recherche de date de création du fichier org-roam dans un article gemini +regex_orgroam = r"^(\d{14})_([a-zA-Z0-9_-]+)\.gmi$" + +# show_logs=True +show_logs = global_config["show_logs"] + + +def mylog(*content): + """Fonction qui imprime tous les arguments passés selon le niveau de debug souhaité.""" + if show_logs: + print(content) + + +def trouver_nom_article(fichier_org, blog_name, format="html"): + mylog('fichier_org, ', fichier_org) + with open(fichier_org, 'r') as file: + lignes = file.readlines() + + nom_article = '' + + mylog('trouver_nom_article format', format) + # Expressions régulières pour trouver les titres de niveau 1 et 2 + if format == 'html': + titre_niveau_1 = r'