Version 1 — Novembre 2014 — tcharlss — Version initiale
Attention, il s’agit de notes en cours, et en l’état ça tient un peu de la bidouille.
Ce n’est peut-être pas la meilleur façon de faire, il y a peut-être des erreurs : n’hésitez pas à commenter et à corriger.
Il faut déjà installer le plugin markdown pour SPIP. Il est sur la zone, mais il n’est pas référencé dans les dépôts, il faut donc le récupérer par SVN ou autre : http://zone.spip.org/trac/spip-zone/browser/_plugins_/markdown
Pour l’instant le plugin Médias ne reconnaît pas l’extension .md
, par défaut il identifiera ces fichiers comme étant des .m3u
(playlist MP3).
Il faut donc rajouter cette extension dans la table spip_documents_types
. C’est notamment là qu’on indique qu’il s’agit d’un type de document qu’on peut intégrer dans le texte, ce qui va nous permettre d’utiliser la balise <emb>
.
Ajoutez une ligne avec les valeurs ci-dessous :
extension | titre | descriptif | mime_type | inclus | upload | media_defaut |
---|---|---|---|---|---|---|
md | Markdown | texte/plain | embed | oui | file |
À noter également le fichier base/typedoc.php
qui liste les différents types de fichiers, mais j’ignore son utilité et il ne semble pas avoir d’incidence sur notre problème.
<emb>
pour les fichiers markdownEnfin, il ne reste plus qu’à ajouter un modèle pour que la balise <emb>
fonctionne avec les fichiers markdown.
Le squelette doit s’appeler emb_md.html
.
Il faut faire en sorte de placer le texte du fichier dans des balise <span class="base64mdblocs" title="PG1kPi4uLjwvbWQ+"></span>
pour que le texte soit parsé, donc on va utiliser le filtre |wrap{<md>}
.
Après ça, un coup de |propre
et le tour est joué.
Ce qui donne au final, en ne gardant que l’essentiel :
<BOUCLE_tous (DOCUMENTS types_documents) {id_document=#ID} {tout}
>[(#FICHIER|contenu_document{#ENV{charset,auto}}|wrap{'<md>'}|propre)]</BOUCLE_tous>
Voilà, à partir de là ça devrait marcher.
Par exemple en prenant les fichiers de tests du plugin markdown en documents joints externe :