Mon bricolage de PluXML en Markdown

Bonjour,

Je viens de partager sur mon blog ma recette pour écrire en Markdown ses articles dans PluXML. Je sais qu'il y a déjà quelques bidouillages sur le sujet, et quelques plugins; mais aucun que j'ai croisé ne me permettait également de stocker du Markdown sur le disque comme fichier source. Ma modification a consisté à simplement écrire le contenu usuellement stocké dans la balise <content> du XML data/articles dans un fichier markdown et de faire résider ça à côté de mon fichier XML avec un nom simple comme 001_content.md. Enfin, pour afficher le tout au visiteur, je reconverti ça en Html avec Parsedown au moment de l'affichage dans PlxShow.

Voici donc tous les détails plus en profondeur pour les bricoleurs: https://www.davidrevoy.com/article756/moving-to-markdown

Mots clés:

Réponses

  • Bonjour,


    Je vais aller voir ça ....

    Petite question pour ta boutique sur ton site, tu utilises un des plugins ou autres astuces pluxml ou tu passes par une appli tierce non pluxml?

    Cordialement

  • HarukaHaruka PluXml Project Manager

    Bonjour,

    Bravo pour le travail accompli. C'est toujours un peu tricky de modifier le core de PluXml, quand on veut suivre les mise à jours, j'espère que ça ira.

    Quant au markdown, je me suis posé la question de l'utiliser par défaut dans PluXml, mais ça me parait presque impossible. Il y a le risque de casser bon nombres d'articles durant la mise à jour et de plus, ça rendrait tous les plugins WYSIWYG actuels inutilisables :-(

  • bazooka07bazooka07 PluXml Lead Developer, Moderator

    Rédiger en markdown est une demande récurrente.

    Avoir un fichier source en markdown en parallèle du fichier en xml est une idée intéressante.

    Plutôt que de faire la transformation md->html dans la class plxShow pour chaque visiteur, je ferai plutôt la transformation à l'enregistrement de l'article en stockant le résultat dans la balise <content> du fichier xml.

    Quand tu fais un "include", fais le au début du script et non à l'intérieur d'une fonction. Tu peux aussi écrire plus simplement :

    include __DIR__ . '/parsedown.php';
    

    Pour renommer les fichiers en masse dans un dossier tu as l'utilitaire "rename" qui n'est qu'un script Perl :

    sudo apt install rename
    rename 's/\.xml$/\.md/' *.xml
    


  • bazooka07bazooka07 PluXml Lead Developer, Moderator

    Il semble que mde ne soit plus maintenu depuis plusieurs années.

    Peut-être essayer EasyMDE :

    https://github.com/Ionaru/easy-markdown-editor

  • bazooka07bazooka07 PluXml Lead Developer, Moderator
    février 2020 modifié

    Bonjour,

    Ceux qui ne sont pas trop bricoleurs pourront rédiger leurs prochains articles avec le plugin kzMarkdown.

    Le contenu au format markdown des articles est stocké séparément dans le dossier articles. La transformation en html se fait à l'enregistrement de l'article.

    le fichier au format md a le même nom que le fichier original au format xml, à l'extension près.

    A cause d'un bug de PluXml, ils sont cachés. Sous Linux, faire dans un terminal à la racine du site:

    ls -la data/articles

    Bug:

    Dans la fonction plxGlob::initCache(), on parcourt le dossier articles avec "$type=='arts'" sans se préoccuper de savoir si les fichiers sont au format XML.

    A minima, on pourrait contrôler l'extension des fichiers.

    En mode luxe, on peut utiliser les expressions régulières 😛.

  • Wohao, merci pour les astuces @bazooka07 et c'est chouette un plugin comme ça. Je vais regarder ça de prêt; ça me permettra peut-être plus facilement de faire des mises à jour comme le souligne @P3ter. D'ailleurs, Je comprends parfaitement que c'est une modification trop difficile à mettre en oeuvre pour une version future et un changement trop radical pour le projet; surtout avec tous les blogs aux alentours ayant un historique d'articles rédigés en HTML.

    @cpalo : La boutique est juste une image avec un lien, le tout dans une page statique. C'est le site Redbubble qui s'ouvre sur ma page de profil et qui est spécialisé dans la gestion des impréssions et de l'envoie de mon mini "merchandising".

Connectez-vous ou Inscrivez-vous pour répondre.