Génération de capsules gemini et blog html à partir d'articles en fichiers Orgmode.
Go to file
2024-11-03 13:16:33 +01:00
exports change enrich template 2024-11-03 11:42:44 +01:00
gemini-capsules/dragonfeu_blog up doc 2024-11-03 13:16:33 +01:00
html-websites/dragonfeu_blog up doc 2024-11-03 13:16:33 +01:00
sources up doc 2024-11-03 13:16:33 +01:00
templates/website_pages change enrich template 2024-11-03 11:42:44 +01:00
atom_generate.py up readme 2024-11-03 10:29:30 +01:00
build_index_gemini.py up doc 2024-11-03 13:16:33 +01:00
converters.sh up doc 2024-11-03 13:16:33 +01:00
enrich_html.py change enrich template 2024-11-03 11:42:44 +01:00
export_html.sh init transformations blog 2024-11-03 10:27:16 +01:00
gmi.lua init transformations blog 2024-11-03 10:27:16 +01:00
LICENSE Initial commit 2024-11-03 10:26:01 +01:00
new_article.py new article script 2024-11-03 12:42:10 +01:00
README.md up doc 2024-11-03 13:16:33 +01:00
style_general.css up doc 2024-11-03 13:16:33 +01:00
template_gemini.lua init transformations blog 2024-11-03 10:27:16 +01:00

orgmode-to-gemini-blog

Génération de capsules gemini et blog html à partir d'articles en fichiers Orgmode.

exemple avec le blog de DragonFeu.

Les articles sont écrits dans le dossier source/, leur nom permet de déduire l'ordre de publication grâce à une date YYY-MM-DD en début de nom de fichier

création d'un article

Pour un article en langue En, sur le blog cipherbliss_blog, donner le titre entre guillemets ainsi:

python3 new_article.py cipherbliss_blog en "Creation of a gemini blog"

prérequis pour installation

sudo apt install pandoc
pip install uuid argparse os 

Conversion des fichiers Org vers gemini et html

bash converters.sh

Conversion de blog en capsule gemini

:PROPERTIES: :CREATED: [2024-11-02 12:08:22] :END:

L'idée est d'avoir un ensemble de billets de blogs en texte simple versionnés avec git et servis par une capsule gemini ainsi que par un site web. On aura besoin de convertir des billets existants, et de rédiger les nouveaux dans un format qui nous convient, par exemple markdown ou orgmode afin de rendre le tout le plus pérenne possible. On aura aussi besoin de référencer les images dans un dossier de notre dépot, et de gérer les relations entres articles pour que les liens aient du sens sur la capsule gemini autant que dans la version web. On souhaite aussi fournir un flux RSS, et un template de billet de blog avec une entête et un pied de page commun qui donne des moyens de contact, de soutenir l'auteur, et de revenir à l'accueil. On prendra aussi en charge différentes pages:

  • à propos
  • contact
  • nos projets
  • une liste des articles triés par date. Il nous faudra aussi un script de mise à jour du blog qui se charge de mettre à jour le flux rss, le dépot git. On peut aller chercher de l'automatisation dans la gestion de plusieurs capsules différentes en tagguant les articles par nom de blog, ce qui nécessite un fichier de config pour les correspondances.

export d'articles existants

Depuis wordpress

Connec à la base de données mysql, et extraction de chaque article pour récupérer la partie HTML et la convertir en markdown et en fichiers org.

Depuis des fichiers orgmode.

J'écris en orgmode une base de connaissances qui contient aussi un export de mes anciens billets de blog dans un dossier par blog. Pour cibler quels billets utiliser pour quel blog j'ai donc deux possibilités: leur chemin de fichier, ou des tags particuliers présents dans les fichiers org. id:5a197a1b-ddfe-4c79-8934-d9a28ab6df65][Textes de blog en préparation https://forge.chapril.org/tykayn/org-report-stats

Flux créatif

Rédaction, conversion, completion des nouveaux articles, régénération des indexs et flux rss, mise à jour du dépot git, publication des pages.

Sources d'inspiration:

Offpunk LazyBlog Dotclear, Wordpress, Hugo, Pélican Pandoc, PandocGmi https://github.com/njamescouk/pandocGmi/tree/master

Roadmap

  • TODOconfig par site web de son nom de domaine
  • TODO réécriture des liens internes

Fait

-gestion des langues dans la source et la destination

  • gestion multi site et multi langue