» WIP: md2bb - un convertisseur en ligne de commande de Markdown vers du BBCode
WIP: md2bb - un convertisseur en ligne de commande de Markdown vers du BBCode
Posté le 26/08/2024 18:09
WIP: md2bb - un convertisseur en ligne de commande de Markdown vers du BBCode
Dépot :
https://github.com/mibi88/md2bb
Il y a quelque jours j'ai commencé à coder un convertisseur Markdown vers BBCode, car il est bien plus pratique d'écrire de longs textes en Markdown qu'en BBCode. Il existe déjà des convertisseurs Markdown vers BBCode, mais le BBCode est différent d'un site web à l'autre, mon convertisseur peut donc être adapté pour des sites web différents assez facilement. Pour l'instant, seul phpBB et Planet Casio sont supportés. Tout cela semble merveilleux, mais mon convertisseur, qui vise à être compatible avec
https://daringfireball.net/projects/markdown/dingus, est loin de l'être. Essayez de convertir le fichier
test.md du dépôt, et vous verrez que beaucoup de choses ne sont pas encore converties, mais les fonctionnalités les plus basiques du markdown sont déjà supportés, comme vous pouvez le voir, car ce post lui même est écrit en markdown (markdown en pièce jointe).
Pour convertir du markdown en BBCode avec, il vous suffit d'entrer la commande suivante :
$ python3 main.py [fichier markdown] -o [fichier BBCode] -t planet-casio
-o spécifie le fichier de sortie. Si vous ne le spécifiez pas de fichier de sortie, le BBCode sera écrit sur la sortie standard.
-t spécifie le site web visé, ici planet-casio.
Toutes les contributions sont, bien sûr, bienvenues !
PS: J'ai du renommer le fichier markdown en .txt pour pouvoir l'ajouter en pièce jointe.
Fichier joint
Citer : Posté le 26/08/2024 18:10 | #
Oh, en fait j'ai quelque bugs à corriger, visiblement .
libMicrofx : https://www.planet-casio.com/Fr/forums/topic17259-2-libmicrofx-remplacez-fxlib-pour-faire-des-add-ins-tres-legers.html !
Racer3D : https://www.planet-casio.com/Fr/programmes/programme4444-1-racer3d-mb88-jeux-add-ins.html
Citer : Posté le 26/08/2024 18:25 | #
Voilà tout les bugs sont corrigés.
libMicrofx : https://www.planet-casio.com/Fr/forums/topic17259-2-libmicrofx-remplacez-fxlib-pour-faire-des-add-ins-tres-legers.html !
Racer3D : https://www.planet-casio.com/Fr/programmes/programme4444-1-racer3d-mb88-jeux-add-ins.html
Citer : Posté le 26/08/2024 21:25 | #
J'ai commencé à ajouter le support des hyperliens. Il ne manque que les liens qui utilisent des labels.
libMicrofx : https://www.planet-casio.com/Fr/forums/topic17259-2-libmicrofx-remplacez-fxlib-pour-faire-des-add-ins-tres-legers.html !
Racer3D : https://www.planet-casio.com/Fr/programmes/programme4444-1-racer3d-mb88-jeux-add-ins.html
Citer : Posté le 27/08/2024 10:17 | #
Pour info dans le même registre Cake avait pondu ça : https://git.planet-casio.com/cake/textout
Citer : Posté le 27/08/2024 10:44 | #
Wait si on enchaîne md2bb et textout ça fait un convertisseur MD → HTML :o #bigbrain #mindblown
Citer : Posté le 27/08/2024 11:04 | #
Senpai découvre Pandoc
Citer : Posté le 27/08/2024 19:17 | # | Fichier joint
J'ai les listes à puces qui marchent !
Résultat attendu (html de https://daringfireball.net/projects/markdown/dingus) :
libMicrofx : https://www.planet-casio.com/Fr/forums/topic17259-2-libmicrofx-remplacez-fxlib-pour-faire-des-add-ins-tres-legers.html !
Racer3D : https://www.planet-casio.com/Fr/programmes/programme4444-1-racer3d-mb88-jeux-add-ins.html
Citer : Posté le 27/08/2024 21:34 | # | Fichier joint
Bon, ça avance bien. Pour vous montrer l'avancement je vous mets la conversion du fichier test avec la référence (https://daringfireball.net/projects/markdown/dingus) :
- Some markdown
Some markdown
Some markdown - Some markdown -- Some markdown
Some markdown - Some markdown -- Some markdown
- H2 header
line jump tests
inside paragraphs and wrapping paragraphs on multiple lines!
Some test em em of the strong strong formatting!
Horizontal rules
indented
with
tabs
piece
of
code
piece
of
code
This is an example inline link.
A link without a title
Label:
[id]: http://example.com/ "Optional Title Here"
[foo]: http://example.com/ "Optional Title Here" [foo]: http://example.com/ 'Optional Title Here' [foo]: http://example.com/ (Optional Title Here)
[link text][a] [link text][A]
[Google][]
[Google]: http://google.com/
Inline code
/* Some C code! */
`
A backtick (`) !
```
A backtick (`) !
There is a literal backtick (`) here.
![Alt text](/path/to/img.jpg)
![Alt text](/path/to/img.jpg "Optional title")
![Alt text][id]
[id]: url/to/image "Optional title attribute"
http://example.com/
()
\literal asterisks\
Escaping \\\\*\_\{\}\[\]\(\)\#\+\-\.\!test
jumps
Some text followed by > Some quotes > that span across multiple lines > > And other quotes, indented further > > that also span across multiple lines > And going back to a lower level
I'm lazy, I'm only putting the angle bracket on the first line > of the long paragraph
This
very
long code
which spans across multiple lines
Shouldn't be converted.
List indentation test
1.test
tes
* mixing tabs and spaces
* mixing tabs and spaces
* mixing tabs and spaces
* mixing tabs and spaces
* mixing tabs and spaces
* mixing tabs and spaces
* mixing tabs and spaces
* mixing tabs and spaces
List type tests
Extra spaces test
PS: Le test d'espaces en trop en fin de ligne ne passe que pour les listes, c'est juste que planet-casio vire les espaces en double.
libMicrofx : https://www.planet-casio.com/Fr/forums/topic17259-2-libmicrofx-remplacez-fxlib-pour-faire-des-add-ins-tres-legers.html !
Racer3D : https://www.planet-casio.com/Fr/programmes/programme4444-1-racer3d-mb88-jeux-add-ins.html
Citer : Posté le 28/08/2024 14:19 | # | Fichier joint
Les citations sont gérés très bizarrement par https://daringfireball.net/projects/markdown/dingus . Après quelque test j'ai écrit ce markdown. Vous allez être étonné du résultat :
Faut juste que j'implémente tout ça dans md2bb maintenant .
libMicrofx : https://www.planet-casio.com/Fr/forums/topic17259-2-libmicrofx-remplacez-fxlib-pour-faire-des-add-ins-tres-legers.html !
Racer3D : https://www.planet-casio.com/Fr/programmes/programme4444-1-racer3d-mb88-jeux-add-ins.html
Citer : Posté le 28/08/2024 14:58 | # | Fichier joint
J'ai ajouté le support de citations dans les listes :
is the text still correct ?
is the text still correct ?
Markdown :
> quote
>> quote
>>> quote
* another quote
> quote
>> quote
* something else
is the text still correct ?
* another test
> quote
is the text still correct ?
Pour comparer :
libMicrofx : https://www.planet-casio.com/Fr/forums/topic17259-2-libmicrofx-remplacez-fxlib-pour-faire-des-add-ins-tres-legers.html !
Racer3D : https://www.planet-casio.com/Fr/programmes/programme4444-1-racer3d-mb88-jeux-add-ins.html
Citer : Posté le 28/08/2024 15:55 | #
Les citations en dehors des listes sont maintenant supportées.
libMicrofx : https://www.planet-casio.com/Fr/forums/topic17259-2-libmicrofx-remplacez-fxlib-pour-faire-des-add-ins-tres-legers.html !
Racer3D : https://www.planet-casio.com/Fr/programmes/programme4444-1-racer3d-mb88-jeux-add-ins.html
Citer : Posté le 28/08/2024 16:24 | #
J'ai ajouté une flag (-e) qui permet de désactiver les bugs intentionnels qui reproduisent le comportement de https://daringfireball.net/projects/markdown/dingus . Pour l'instant elle améliore que le comportement des citations pour qu'il soit plus proche de ce que l'on a l'habitude (on peut revenir à la citation dans laquelle la citation est contenue, et on peut mettre des citations à chaque élément d'une liste). Dans le futur cette flag permettra aussi de supporter les tableaux, le texte barré et le fonctionnement habituel des blocs de code.
libMicrofx : https://www.planet-casio.com/Fr/forums/topic17259-2-libmicrofx-remplacez-fxlib-pour-faire-des-add-ins-tres-legers.html !
Racer3D : https://www.planet-casio.com/Fr/programmes/programme4444-1-racer3d-mb88-jeux-add-ins.html