zmarkdown

Tentative de remplacer Python-ZMarkdown

a marqué ce sujet comme résolu.

Vive les jours fériés. J’ai pu débuter la compilation de l’AST Markdown vers LaTeX.

Avec le cool template de Karnaj et pierre_24, j’en suis là :

Le compilo vers LaTeX se trouve ici pour les curieux : https://github.com/zestedesavoir/zmarkdown/tree/master/packages/rebber

+8 -0

Lol tu l’as trouvé où ton lorem ipsum ?

Et sinon, je remarque que les smileys ne sont plus remplacés par leurs icônes, c’est normal ?

+0 -0

Pouvez commencer à jouer avec le tout début de la compilation latex FYI: https://zestedesavoir.github.io/zmarkdown/public/

[edit] Ajout des premiers plugins pour la typo française, le reste viendra.

+4 -0

Pas mal d’avancées côté zmarkdown, on approche pas mal du but, ça devient plus facile techniquement mais plus pénible niveau rédaction de READMEs et écriture de tests tordus.

Côté compilation markdown -> latex, on supporte actuellement

  • heading
  • paragraph
  • text
  • break
  • strong
  • emphasis
  • delete
  • inlineCode
  • blockquote
  • thematicBreak
  • zds: figure: blockquote with caption
  • zds: emoticons

Côté Markdown, les nouveautés sont :

  • grid tables (gros gros morceau, GG AmarOk)
  • typo : per mille

Comme d’habitude la démo est là : https://zestedesavoir.github.io/zmarkdown/public/

+5 -0

Démo mise à jour ici : https://zestedesavoir.github.io/zmarkdown/public/

Normalement celle-ci marque la fin du travail sur la typographie, gros boulot d’Amar0k. On a répliqué toute l’extension de typo française de l’ancien markdown. Si vous êtes fan de typo, allez tester svp.

Côté rebber, on supporte désormais sup et sub :)

Prochainement, les légendes pour les tables, les blocks de code, etc. artragis est dessus en ce moment !

+5 -0

Yeah, c’est super !

Bon, j’ai noté pleins de trucs en vrac (il y a des trucs moins prioritaires que d’autres) :


1
Je m'apelle 'Roipoussiere' !

Je m’apelle « Roipoussiere » !

Par contre,

1
Je m'apelle 'Roipoussiere'.

Je m’apelle ’Roipoussiere’.


Ce serait possible d’insérer (automatiquement) un espace insécable avant chaque ;?!:» ?


Ce serait aussi merveilleux d’avoir des titres ancrés, genre #Mon titre peut être lié par [lien](#mon-titre). :)


La séquence :P n’est pas associée à l’émoticône :P (fonctionne pour :p).


À ce propos, serait-il possible d’avoir les images des émoticônes sur le zMarkdown test pour qu’on puisse tester plus facilement les cas particuliers ? :)


Une killer-feature de typo : remplacer les oe par œ quand ça s’y prête, (pas forcément pourtous les mots mais sur quelques-uns les plus utilisés).


Il y a une potentielle faille pour phishing en insérant une URL en titre d’un lien : [http://site_gentil.fr](http://site_mechant.fr) mais bon, aucun viewer Markdown ne semble s’en soucier…

+3 -0

oooh, thx Roi. Ça, ça vient de textr et pas de notre code (plus précisément de https://github.com/iamstarkov/typographic-quotes ). Je suis contre ce plugin perso dans les deux cas on devrait avoir ’RoiPoussiere’ amha.

Sinon je suis contre l’idée d’insérer des espaces insécables automatiques devant ;?!:». Dans l’état actuel (et comme sur zds), ça remplace les espaces normaux par des insécables. Et ce n’est pas à l’éditeur de décider si on doit placer un espace à tel endroit (il ne corrige pas le texte).

Par exemple je peux choisir d’écrire en anglais un morceau de texte et ne pas vouloir l’espace devant le : (dans une citation par exemple).

zmd n’a pas à faire de corrections othographiques.

+3 -0

Yeah, c’est super !

Bon, j’ai noté pleins de trucs en vrac (il y a des trucs moins prioritaires que d’autres) :

Merci !

(Je skip ce à quoi AmarOk a déjà répondu si j’ai rien à y ajouter.)

1/ +1 AmarOk

2/ +1 AmarOk

Ce serait aussi merveilleux d’avoir des titres ancrés, genre #Mon titre peut être lié par [lien](#mon-titre). :)

Si tu as trouvé un bug avec ça, peux-tu stp donner le Markdown et ce qu’il est censé générer ?

La séquence :P n’est pas associée à l’émoticône :P (fonctionne pour :p).

Oui j’ai pas mis la liste des smileys. Je compte pas particulièrement le faire, le but c’est que les smileys fonctionnent et de mon point de vue ils fonctionnent. ;)

Tu peux tous les ajouter à la config si tu veux.

À ce propos, serait-il possible d’avoir les images des émoticônes sur le zMarkdown test pour qu’on puisse tester plus facilement les cas particuliers ? :)

Même fichier que ci-dessus, tu peux même mettre un lien absolu pointant vers les smileys de la beta, comme ça on les aura dans la démo.

Une killer-feature de typo : remplacer les oe

+1 AmarOk

Il y a une potentielle faille pour phishing en insérant une URL en titre d’un lien : [http://site_gentil.fr](http://site_mechant.fr) mais bon, aucun viewer Markdown ne semble s’en soucier…

Roipoussiere

Non non, c’est pas une faille et c’est pas du phishing. C’est le comportement normal des liens hypertext. (Comprendre : c’est ce que Sir Tim a inventé en 1989 et qu’on utilise depuis, c’est la spécificité du web. Tu peux faire un lien faisant pointer un texte vers une URI.)

Rien à avoir avec Markdown non plus. Tu peux faire exactement ce que tu décris dans Microsoft Word Excel Powerpoint en surlignant un texte et en créant un lien dessus. Idem dans Google Docs. Idem sur Wikipedia. Idem dans un Wordpress. Bref c’est comme ça que fonctionnent les liens partout sur le web parce que c’est la base, la fondation du web. :)

+7 -0

Ok pour vos remarques. Je continue :

1
2
3
ma liste :
- item 1
- item 2

ma liste :

  • item 1
  • item 2

(en passant je trouve que c’est chouette d’avoir mis le saut de ligne facultatif car ce n’était pas très évident pour les néophytes)

Mais

1
2
3
ma liste :
1. item 1
2. item 2

ma liste : 1. item 1 2. item 2

(incohérence)

et

1
2
3
maliste
- item 1
- item 2

maliste

  • item 2

(perte de donnée)

Normalement, le titre souligné se fait avec au minimum 3 tirets/signe égal et le soulignement ne devrait pas comporter d’autres caractères, ce qui éviterait ce problème.


À ce propos, je remarque qu’il y a énormément de membres qui oublient de sauter une ligne pour changer de paragraphe, est-ce qu’on ne profiterait pas de cette nouvelle version de zMd pour lever également cette contrainte ?

+1 -0

Normalement, le titre souligné se fait avec au minimum 3 tirets/signe égal et le soulignement ne devrait pas comporter d’autres caractères, ce qui éviterait ce problème.

Yep, là il y a effectivement un problème, merci !

À ce propos, je remarque qu’il y a énormément de membres qui oublient de sauter une ligne pour changer de paragraphe, est-ce qu’on ne profiterait pas de cette nouvelle version de zMd pour lever également cette contrainte ?

Roipoussiere

Non. Le but ici est de se rapprocher du Markdown, pas de s’en éloigner encore plus. ;)

+3 -0

Non. Le but ici est de se rapprocher du Markdown, pas de s’en éloigner encore plus. 

Je me permet d’intervenir (avec du retard) : Il sera toujours possible de faire un "zMarkown v2" une fois le moteur migré ou on casse la syntaxe si on a un moyen de migrer le contenu existant (probablement faisable avec une AST). Mais il vaut mieux le faire en deux étapes : le changement de moteur va probablement déjà cassé des choses donc pas la peine de rajouter des erreurs supplémentaires.

On est d’accord Kje.

Pour être clair :

  • On n’est pas du tout en train de tout casser, ce qu’on prépare est compatible à 99% avec le markdown actuel. Le 1% restant sont des features alternatives (lire "bug") du markdown actuel de ZdS.
  • Oui le nouveau moteur Markdown va casser des choses. Principalement, ça va forcer ceux qui utilisent des bugs comme feature à changer 2-3 trucs dans leur markdown quand ils éditeront un truc rédigé avec l’ancien markdown.
  • Quand je dis que le but est de se rapprocher d’un Markdown plus canonique/moins exotique et surtout pas de s’en éloigner, c’est réellement notre but. Permettre de créer un paragraphe sans \n\n serait aller à l’encontre de but d’une façon très très significative.

Quelques exemples d’avant/après :

link title, link URL encoding

input:

[link](<simple link> "my title")

diff:

1
2
-<p><a href="simple link" title>link</a>
+<p><a href="simple%20link" title="my title">link</a>

list item indented code block

diff:

1
2
3
4
 * list item

-        indented code
+      indented code

list items with list children are wrapped

input:

1
2
3
* foo
  * bar
    * baz

diff:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
 <ul>
   <li>
-    foo
+    <p>foo</p>
     <ul>
       <li>
-        bar
+        <p>bar</p>
         <ul>
           <li>baz</li>
         </ul>
       </li>
     </ul>
   </li>
 </ul>

hard wrap is Commonmark compliant

input:

1
2
3
4
5
6
7
8
This short paragraph is wrapped at 40
columns and a line which starts with eg
1. does not render as a list. It's much
better that way.

An asterisk followed by a space should
* create a list anyway! That's what we
want.

diff:

1
2
3
4
5
6
7
8
9
 <p>This short paragraph is wrapped at 40
 columns and a line which starts with eg
 1. does not render as a list. It's much
 better that way.</p>
 <p>An asterisk followed by a space should</p>
-* create a list anyway! That's what we
-want.</p>
+<ul><li>create a list anyway! That's what we
+want.</li></ul>

del is consistent

input:

1
2
3
~~foo~~

bar ~~~~ baz

diff:

1
2
3
 <p><del>foo</del></p>
-<p>bar ~~~~ baz</p>
+<p>bar <del></del> baz</p>

new blockquote after blank line

input:

1
2
3
>    > foo

>    > bar

diff:

1
2
3
4
5
6
7
8
 <blockquote>
   <blockquote>
     <p>foo</p>
+  </blockquote>
+  <blockquote>
     <p>bar</p>
   </blockquote>
 </blockquote>

autourlize only for protocoled url and htmlchars

input :

1
2
3
4
5
6
7
www.google.fr

http://google.fr

https://fr.wikipedia.org/wiki/Compactifi%C3%A9_d%27Alexandrov

toto@gmail.com

diff

1
2
3
4
5
6
7
- <p><a href="http://www.google.fr">www.google.fr</a></p>
+ <p>www.google.fr</p>
  <p><a href="http://google.fr">http://google.fr</a></p>
- <p><a href="https://fr.wikipedia.org/wiki/Compactifi%C3%A9_d%27Alexandrov">https://fr.wikipedia.org/wiki/Compactifi%C3%A9_d%27Alexandrov</a></p>
+ <p><a href="https://fr.wikipedia.org/wiki/Compactifi%C3%A9_d&#39;Alexandrov">https://fr.wikipedia.org/wiki/Compactifi%C3%A9_d%27Alexandrov</a></p>
- <p><a href="mailto:toto@gmail.com">toto@gmail.com</a></p>
+ <p>toto@gmail.com</p>
+5 -0

On continue à bien progresser côté zmarkdown et côté latex !

Voici de quoi jouer un peu.

Si vous allez ici : https://momo.morph.ist et que vous collez ça :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
## this is a list

* foo
* **bar**

```python
def foo(bar=12):
    return bar // 5
```

hey

vous obtiendrez ça : https://momo.morph.ist/pdf/9c3b6fc7-6b7d-487b-aa2b-c0d90981bb3e.pdf

Quant à la démo HTML + LaTeX, elle est mise à jour ici : https://zestedesavoir.github.io/zmarkdown/public/


Ne sont pas encore supportés :

Voici un exemple un tout petit peu plus évolué : https://momo.morph.ist/pdf/faf4565c-5b8b-4696-8996-728062098a36.pdf

Notez que si vous remplacez pdf par tex ou md dans l’URL, vous obtenez les formats correspondants :

+7 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte