diff --git a/build_indexes.py b/build_indexes.py index adfd75af..f49e3ec0 100755 --- a/build_indexes.py +++ b/build_indexes.py @@ -1,10 +1,7 @@ import argparse -import datetime -import os -import shutil -from utils import * from enrich_html import enrich_one_file +from utils import * from website_config import configs_sites, global_config # from enrich_html import static_page_path @@ -22,12 +19,10 @@ source_files_extension = "org" config_title = configs_sites[args.source]['BLOG_TITLE'] - use_article_file_for_name = (not global_config["slug_with_year"]) website_name = args.source - # transformer le nom du fichier orgmode en une création de dossier de l'année, et un sous dossier du nom du slug dans le nom de fichier, contenant un seul fichier d'index afin de faire de l'url rewrite en dur. # le nom de fichier org commence par une date YYYY-MM-DD ou bien YYYYMMDDHHmmss, est suivie d'un slug, et finit par l'extension .org @@ -53,7 +48,6 @@ def generer_index(dossier_source, fichier_index): contenu_index_gmi += "\n# Navigation\n-------------------------\n" - # ne préciser la langue français que si on a des articles en Anglais if len(files_en): contenu_index_gmi += "\n# Articles en Français\n-------------------------\n" @@ -70,19 +64,21 @@ def generer_index(dossier_source, fichier_index): link_org = fichier.replace('.gmi', '.org') file_path_org = os.path.join(dossier_parent, "sources", website_name, lang_folder, link_org) - article_name = trouver_nom_article(file_path_org,args.source, 'org') + article_name = trouver_nom_article(file_path_org, args.source, 'org') + + basename_file = os.path.basename(file_path_org) + article_relative_url = detect_slug_in_file_basename(basename_file) if not article_name: article_name = slug.replace('-', ' ') if global_config["slug_with_year"]: - new_folder = f"{année}/{slug}" - new_folder_path_this_article = os.path.join(dossier_parent, - 'html-websites/' + args.source + '/' + new_folder + '/') + new_folder = article_relative_url + new_folder_path_this_article = os.path.join(dossier_parent, f"html-websites{args.source}/{new_folder}/") # déplacer le fichier html dans le dossier slug, # et le renommer en index.html ensuite pour ne pas modifier l'index du blog - contenu_index_html += f"
{année} {article_name}" + contenu_index_html += f"
{année} {article_name}" os.makedirs(os.path.dirname(new_folder_path_this_article), exist_ok=True) shutil.copy(chemin_fichier_this_article_html, new_folder_path_this_article + 'index.html') else: @@ -95,7 +91,7 @@ def generer_index(dossier_source, fichier_index): link_html = fichier.replace('.gmi', '.html') link_org = fichier.replace('.gmi', '.org') file_path_org = os.path.join(dossier_parent, "sources", website_name, link_org) - article_name = trouver_nom_article(file_path_org,args.source, 'org') + article_name = trouver_nom_article(file_path_org, args.source, 'org') if article_name: contenu_index_gmi += f"=> {fichier} {article_name}\n" @@ -107,7 +103,7 @@ def generer_index(dossier_source, fichier_index): if use_article_file_for_name: article_name = link_html else: - article_name = trouver_nom_article(file_path_org,args.source, 'org') + article_name = trouver_nom_article(file_path_org, args.source, 'org') if not article_name: article_name = link_html diff --git a/gather_tags_in_json.py b/gather_tags_in_json.py index bc9616a7..36a210ba 100644 --- a/gather_tags_in_json.py +++ b/gather_tags_in_json.py @@ -130,12 +130,16 @@ def generate_html_pages_for_all_tags(tag_to_files, html_output_folder): """ for file_path_org in files: basename_file= os.path.basename(file_path_org) + slug=detect_slug_in_file_basename(basename_file) + if not slug: + slug = trouver_slug_in_article(file_path_org) nom_article = trouver_nom_article( file_path_org, blog_folder, 'org') - slug = trouver_slug_in_article(file_path_org) - print('nom_article',nom_article) - html_content += f"
  • {nom_article}
  • \n" + print('slug',slug) + print('basename_file', basename_file, nom_article) + + html_content += f"
  • {nom_article}
  • \n" html_content += """ diff --git a/gemini-capsules/cipherbliss_blog/index.gmi b/gemini-capsules/cipherbliss_blog/index.gmi index 762524ae..f5d45f14 100644 --- a/gemini-capsules/cipherbliss_blog/index.gmi +++ b/gemini-capsules/cipherbliss_blog/index.gmi @@ -8,6 +8,12 @@ Cipher Bliss # Articles en Français ------------------------- => 20241115010205_cipherbliss_blog_suivi-de-rédaction-de-livre-orgmode.gmi +=> 20241111181104_cipherbliss_blog_techniques-pour-planter-votre-association-ou-votre-entreprise.gmi +=> 20241109231603-connaître-la-couleur-des-jours-edf-tempo-en-ligne-de-commande.gmi +=> 20241109231110-tags.gmi +=> 20241109230937-ressources-de-café-vie-privée.gmi +=> 20241108151758-ça-déménage.gmi +=> 20241103131856_cipherbliss_blog_soutien.gmi +=> 20241103124156_cipherbliss_blog_création-d'un-blog-gemini.gmi => 20111126170159_cipherbliss_blog_120_bienvenue-sur-informageek.gmi -=> index.gmi CipherBliss => contact.gmi Contact diff --git a/html-websites/cil_gometz/2020/blog_cil_gometz_11_ecrire-une-comptine-en-python-bonjour-le-jour/index.html b/html-websites/cil_gometz/2020/blog_cil_gometz_11_ecrire-une-comptine-en-python-bonjour-le-jour/index.html deleted file mode 100644 index 45648768..00000000 --- a/html-websites/cil_gometz/2020/blog_cil_gometz_11_ecrire-une-comptine-en-python-bonjour-le-jour/index.html +++ /dev/null @@ -1,351 +0,0 @@ - - - - - - - Cipher Bliss -

    Code, nouvelles technologies et entrepreneurariat par B. Lemoine

    - - - - -
    - -

    Cipher Bliss

    -

    Code, nouvelles technologies et entrepreneurariat par B. Lemoine

    - -
    -
    -
    - - - - - - - cil_gometz - - - -
    -

    cil_gometz

    -
    -

    Article

    - -

    cours-de-python -programmation cilgometz

    -

    écrire une -comptine en python - Bonjour le jour!

    -

    Salut les Cilleux et cilleuses,

    -

    Georges est en vacances, mais je vous propose de pratiquer le python -en fabriquant une comptine que ma fille chantait à la crèche, histoire -de ne pas trop rouiller pendant l'été et de voir comme on peut faire de -la réutilisation. (et pourquoi pas, faire du python avec les enfants -:D)

    -

    Cette comptine étant habituellement utilisée en crèche ou ailleurs -pour que tous les enfants retiennent le prénom des autres.

    -

    On va donc revoir plusieurs éléments déjà vu à la MJC de Gometz: les -fonctions, les boucles et les listes.

    -

    Créez votre fichier python dans votre éditer de texte préféré, perso -je recommande PyCharm, version communautaire qui est donc gratuit et -très complet.

    -

    sudo snap install pycharm-community --classic

    -

    donc, dans un fichier comptinepython.py, on veut faire -notre comptine qui va chanter ceci:

    -
    -

    #### c'est l'heure de la chanson ##### //

    -

    - Par la fenêtre ouverte //

    -

    - bonjour, bonjour //

    -

    - Par la fenêtre ouverte

    -

    - bonjour, le jour

    -

    / /

    -

    - bonjour les pythons! //

    -

    - bonjour les abeilles! //

    -

    - bonjour les fleurs!

    -

    / /

    -

    - Par la fenêtre ouverte //

    -

    - bonjour, bonjour //

    -

    - Par la fenêtre ouverte //

    -

    - bonjour, le jour

    -
    -

    nous avons donc une première ligne, un refrain, une suite de -bonjours, et un refrain.

    -

    Le plus simple est de commencer par la première ligne, qu'il suffit -d'imprimer avec print.

    -
    -
    print("##### c'est l'heure de la chanson #####")
    -
    -
    -

    Ensuite, nous avons notre refrain. Au lieu de faire plein de print, -nous pouvons faire une fonction qui va imprimer toutes les lignes de ce -refrain , comme ça on pourra l'appeler deux fois pour faire notre -comptine.

    -

    Définissons donc la fonction refrain. On va écrire notre chaîne de -caractères entre une triple paire de guillemets afin de pouvoir écrire -sur plusieurs lignes le contenu de notre print.

    -
    def refrain():
    -print("""
    -- Par la fenêtre ouverte
    -- bonjour, bonjour
    -- Par la fenêtre ouverte
    -- bonjour, le jour
    -""")
    -
    -

     

    -

    Ensuite nous avons plusieurs bonjours dit à un destinataire -différent. Nous pouvons donc faire une fonction qui dit bonjour, définir -une liste de destinataires, et dire bonjour à chacun d'eux avec une -boucle.

    -

    Commençons par la liste de destinataires que sont les pythons, les -abeilles et les fleurs. On utilise des crochets pour définir une liste -et l'attribuer à une variable.

    -
    destinataires = ['les pythons', 'les abeilles', 'les fleurs']
    -
    -

    Pour leur dire bonjour on définit une fonction qui va avoir en -paramètre un destinataire, et on va imprimer dans la console un bonjour -avec le nom du destinataire. Pour mélanger ensemble une chaîne de -caractère et une variable, on va utiliser la substitution. ça consiste à -écrire dans la chaîne un %s, et après la chaîne à lui donner quoi -substituer avec un symbole pourcent % et le nom de la variable à -substituer. Ici on veut dire bonjour au destinataire, donc on écrit -% destinataire. il existe plusieurs façons de mélanger -des variables en python, le terme correct étant "concaténer". Je vous -laisse creuser le sujet si ça vous intéresse.

    -

    En tous cas, voici ce que donne notre fonction pour dire bonjour.

    -

    def direbonjour(destinataire):

    -

    print('- bonjour %s!' % destinataire)

    -

    Nous n'avons plus qu'a rassembler le puzzle pour que lors de -l'éxécution de notre fichier de comptine on puisse voir la chanson en -entier. Il nous faut donc encore réaliser une boucle sur chaque élément -de notre liste de destinataires. On va utiliser la boucle for -in et leur passer le bonjour.

    -
    for quelqun in destinataires:
    -dire_bonjour(quelqun)
    -Voilà!
    -
    -

    Nous n'avons plus qu'à réorganiser nos lignes et demander au refrain -de s'exécuter avant et après la boucle.

    -
    # comptine de la chanson du bonjour
    -
    -destinataires = ['les pythons', 'les abeilles', 'les fleurs']
    -
    -def refrain():
    -print("""
    -- Par la fenêtre ouverte
    -- bonjour, bonjour
    -- Par la fenêtre ouverte
    -- bonjour, le jour
    -""")
    -
    -def dire_bonjour(destinataire):
    -print('- bonjour %s!' % destinataire)
    -
    -print("##### c'est l'heure de la chanson #####")
    -
    -refrain()
    -
    -for quelqun in destinataires:
    -dire_bonjour(quelqun)
    -
    -refrain()
    -
    -# et voilà!
    -
    -

    exécuter le fichier python devrait donc nous faire apparaître en -console la chanson complète. Dans pycharm vous pouvez voir ce que ça -donne avec votre script juste en appuyant sur F6.

    -

    Vous pouvez tester ce fichier sur le site repl.it https://repl.it/@tykayn/comptinebonjour#main.py -et le lancer avec le bouton "run" pour voir la comptine en console.

    -

    Il existe bien sûr tout un tas de façons de faire cette comptine en -python.

    -

    Vous pouvez essayer aussi en ajoutant d'autres destinataires dans la -liste.

    -

    J'espère que ce petit exercice vous aura amusé.

    -

    N'hésitez pas si vous avez des questions :)

    -

    Bon Lundi!  

    -

    Liens

    - - - - -
    -
    - - - diff --git a/html-websites/cil_gometz/2020/blog_cil_gometz_12_panel-dactivites-de-la-rentree-post-covid19/index.html b/html-websites/cil_gometz/2020/blog_cil_gometz_12_panel-dactivites-de-la-rentree-post-covid19/index.html deleted file mode 100644 index fef97384..00000000 --- a/html-websites/cil_gometz/2020/blog_cil_gometz_12_panel-dactivites-de-la-rentree-post-covid19/index.html +++ /dev/null @@ -1,270 +0,0 @@ - - - - - - - Cipher Bliss -

    Code, nouvelles technologies et entrepreneurariat par B. Lemoine

    - - - - -
    - -

    Cipher Bliss

    -

    Code, nouvelles technologies et entrepreneurariat par B. Lemoine

    - -
    -
    -
    - - - - - - - cil_gometz - - - -
    -

    cil_gometz

    -
    -

    Article

    - -

    cilgometz

    -

    Panel d'activités -de la rentrée post COVID19

    -

    [[https://www.cil-gometz.org/wp-content/uploads/2020/09/cil_activites_2020-1024x801.png]]

    -

    Voici quelques sujets que nous pouvons évoquer lors de nos réunions -hebdomadaires dans le cadre du CIL:

    - -

    Chacun vient au CIL avec des compétences variées, du néophyte au plus -averti, pour échanger autour des sujets de leur choix, aucune assiduité -aux séances n'est requise. Si besoin nous organisons aussi des -visioconférences sur Jitsi / Matrix / Element, des outils libres bien -entendu.

    -

    Cependant, bien évidemment, plus on est de fous plus on rit.

    -

    Liens

    - - - - -
    -
    - - - diff --git a/html-websites/cil_gometz/2020/blog_cil_gometz_1_a-propos-du-cil-de-gometz-la-ville/index.html b/html-websites/cil_gometz/2020/blog_cil_gometz_1_a-propos-du-cil-de-gometz-la-ville/index.html deleted file mode 100644 index 0efd4c61..00000000 --- a/html-websites/cil_gometz/2020/blog_cil_gometz_1_a-propos-du-cil-de-gometz-la-ville/index.html +++ /dev/null @@ -1,246 +0,0 @@ - - - - - - - Cipher Bliss -

    Code, nouvelles technologies et entrepreneurariat par B. Lemoine

    - - - - -
    - -

    Cipher Bliss

    -

    Code, nouvelles technologies et entrepreneurariat par B. Lemoine

    - -
    -
    -
    - - - - - - - cil_gometz - - - -
    -

    cil_gometz

    -
    -

    Article

    - -

    à propos du CIL de Gometz la -ville

    -

    Nous sommes des amateurs non-professionnels, certains d'entre nous -ont utilisé (ou utilisent) l'informatique dans le cadre de leur activité -professionnelle mais aucun d'entre nous n'est informaticien (sauf tykayn qui a retapé ce site).

    -

    Nos déboires avec les logiciels commerciaux (surtout ceux de -Microsoft) font que nous nous sommes tournés vers les logiciels libres -et en particulier vers le système Linux dans ses diverse versions.Nous -ne sommes pas pour autant opposés à tout logiciel commercial mais si un -logiciel libre fait la même chose qu'un logiciel commercial, nous -préférons le logiciel libre.
    -Chacune de nos réunions nous permet de progresser et de mieux comprendre -ce qu'est l'informatique : un peu de système (terminal et ligne de -commande), un peu de bureautique (traitement de texte, tableur…), un peu -de programmation (Python), un peu de gestion de photos… et voilà !

    -

    Tout amateur, même (et surtout) débutant, est le bien venu et nous -l'aiderons du mieux possible tout en profitant de ses connaissances.

    -

    MJC de Gometz le châtel le mardi de 14h à 16h

    -

    
    -Afficher -une carte plus grande

    -

     

    -

    CIL (Club Informatique-Libre)

    -

    76 rue Saint Nicolas

    -

    91940 Gometz-le-Châtel - FRANCE

    -

     

    -

     

    -

    Liens

    - - - - -
    -
    - - - diff --git a/html-websites/cil_gometz/index.html b/html-websites/cil_gometz/index.html deleted file mode 100644 index 63057cd2..00000000 --- a/html-websites/cil_gometz/index.html +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - Cipher Bliss -

    Code, nouvelles technologies et entrepreneurariat par B. Lemoine

    - - - - -
    - -

    Cipher Bliss

    -

    Code, nouvelles technologies et entrepreneurariat par B. Lemoine

    - -
    -
    -
    - cil_gometz - - -

    Navigation


    index.html
    2020 blog_cil_gometz_12_panel dactivites de la rentree post covid19
    2020 blog_cil_gometz_11_ecrire une comptine en python bonjour le jour
    2020 blog_cil_gometz_7_activites en cours
    2020 blog_cil_gometz_1_a propos du cil de gometz la ville -
    -
    - - - diff --git a/html-websites/cil_gometz/index_cil_gometz.html b/html-websites/cil_gometz/index_cil_gometz.html deleted file mode 100644 index b57071bc..00000000 --- a/html-websites/cil_gometz/index_cil_gometz.html +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - Cipher Bliss -

    Code, nouvelles technologies et entrepreneurariat par B. Lemoine

    - - - - -
    - -

    Cipher Bliss

    -

    Code, nouvelles technologies et entrepreneurariat par B. Lemoine

    - -
    -
    -
    - -
    -
    - - - diff --git a/html-websites/cil_gometz/style.css b/html-websites/cil_gometz/style.css deleted file mode 100644 index cfb16bce..00000000 --- a/html-websites/cil_gometz/style.css +++ /dev/null @@ -1,125 +0,0 @@ -* { - box-sizing: border-box; - margin: 0; - padding: 0; -} - -html { - font-size: 1rem; - font-family: Helvetica, "Ubuntu Sans", "Noto Sans", Calibri, Arial, sans-serif; -} - -body { - text-align: left; - margin: 0 auto; - font-size: 1.5rem; - line-height: 1.5em; - max-width: 70ch; - color: #000; - background: #fff; -} - -h1, h2, h3, h4, h5, h6 { - font-family: Helvetica, "Ubuntu Sans", "Noto Sans", Calibri, Arial, sans-serif; - margin-top: 1em; - margin-bottom: 2rem; - color: #333; -} - -/* 1. Use a more-intuitive box-sizing model */ -* { - box-sizing: border-box; -} -*::before, *::after { - box-sizing: border-box; -} - -body { - /* Improve text rendering */ - -webkit-font-smoothing: antialiased; - font-family: Helvetica, Arial, sans-serif; - padding-bottom: 20vh; - padding-left: 2rem; - padding-bottom: 2rem; -} - -/* Improve media defaults */ -img, picture, video, canvas, svg { - display: block; - width: 100%; - margin-top: 1rem; - margin-bottom: 1rem; - max-width: 100%; -} - -/* Inherit fonts for form controls */ -input, button, textarea, select { - font: inherit; -} - -/* Avoid text overflows */ -p, h1, h2, h3, h4, h5, h6 { - overflow-wrap: break-word; -} - -/* Improve line wrapping */ -p { - text-wrap: pretty; - margin-top: 1.5rem; - margin-bottom: 1rem; -} - -h1 { - font-size: 4rem; - color: #221d30; -} - -h2 { - font-size: 3rem; -} - -h3 { - font-size: 1.5rem; -} - -h1, h2, h3, h4, h5, h6 { - text-wrap: balance; - line-height: 1.3em; -} - -#root, #__next { - isolation: isolate; -} - -input, button, textarea, select { - font: inherit; -} - -a { - display: inline-block; - padding: 0.5rem 2rem; - margin-right: 1rem; - margin-bottom: 1rem; -} - -ul { - padding-left: 4ch; - padding-right: 4ch; -} - -li { - margin-bottom: 1em; -} - -#title-block-header { - border-bottom: 1px solid #333; - margin-bottom: 1rem; -} - -@media (max-width: 20rem) { - body { - padding: 1rem; - } -} - -/*# sourceMappingURL=style_general.css.map */ diff --git a/html-websites/cipherbliss_blog/2011/cipherbliss_blog_120_bienvenue-sur-informageek/index.html b/html-websites/cipherbliss_blog/2011/cipherbliss_blog_120_bienvenue-sur-informageek/index.html deleted file mode 100644 index 019c71b1..00000000 --- a/html-websites/cipherbliss_blog/2011/cipherbliss_blog_120_bienvenue-sur-informageek/index.html +++ /dev/null @@ -1,135 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - -
    -
    - -
    -

    cipherbliss_blog

    -
    - -

    Bienvenue sur Informageek !

    - -

    <img alt="https://upload.wikimedia.org/wikipedia/commons/thumb/b/bd/2009_internet_ratio_p1000.png/400px-2009_internet_ratio_p1000.png" -src="https://upload.wikimedia.org/wikipedia/commons/thumb/b/bd/2009_internet_ratio_p1000.png/400px-2009_internet_ratio_p1000.png" -/>

    -

    Salut les ptis poulets et bienvenue dans un lieu de déperdition -geekesque où vont s'affronter divers centres d'intérêt autour des -nouvelles technologies, de la programmation et de l'insolite du web. -Bonne visite!

    -

    (<a title="Internet" hreflang="fr" href="https://fr.wikipedia.org/wiki/Internet">photo: -wikipédia page internet</a>)

    -

    Liens

    - - -

    - -

    -
    -
    - -
    - - - - diff --git a/html-websites/cipherbliss_blog/contact.html b/html-websites/cipherbliss_blog/contact.html index 2b42ed91..25aed6b1 100644 --- a/html-websites/cipherbliss_blog/contact.html +++ b/html-websites/cipherbliss_blog/contact.html @@ -138,6 +138,7 @@ href="https://web.archive.org/web/20240721071559/https://www.cipherbliss.com/">w Ressources + Tags diff --git a/html-websites/cipherbliss_blog/index.html b/html-websites/cipherbliss_blog/index.html index 7f2db975..030fefb0 100644 --- a/html-websites/cipherbliss_blog/index.html +++ b/html-websites/cipherbliss_blog/index.html @@ -79,17 +79,61 @@
    -
    -

    cipherbliss_blog

    -
    -

    CipherBliss

    -

    [contact](contact.org)

    -

    Articles

    -

    en Fr

    -

    en En

    -

    Flux RSS

    -

    Bisous

    + + + + + +

    + +

    +
    +
    +