1

Je récemment fait le passage de Maruku à Kramdown sur les pages Github, et je suis tombé sur un problème:Comment désactiver les tables dans Kramdown?

Problem with Kramdown

Voici le démarquage qui est l'origine du problème:

Five days ago I wrote [Standardizing Harmony Classes] 
(/standardizing-harmony-classes "Aadit M Shah | Standardizing Harmony Classes"). 

Vous voyez que tuyau dans "Aadit M Shah | Standardizing Harmony Classes"? Kramdown le traite à tort comme un séparateur de cellule de tableau résultant dans le tableau horrible ci-dessus, qui est en fait censé être un paragraphe.

Cela n'a aucun sens car le séparateur de tuyaux est à l'intérieur d'un littéral de texte de lien, et la démarque ne doit pas être appliquée pour lier des littéraux de texte. Clairement c'est un bug dans Kramdown.

Alors comment désactiver les tables dans Kramdown Jekyll? Il y a beaucoup d'endroits où j'ai des tuyaux et je ne souhaite pas les changer. Y a-t-il une autre solution à ce problème?

+1

Apparemment, ce problème est toujours présent. Courir dans le même problème avec une image et son texte alt. – kleinfreund

Répondre

2

L'échappement des tuyaux comme suggéré par Gaurav ne fonctionne pas car les barres obliques inverses apparaissent dans la sortie, ce qui est faux. Finalement, j'ai eu tellement marre de Kramdown que je suis passé à Redcarpet à la place. Maintenant tout fonctionne comme un charme.

2

Que diriez-vous de leur échapper?

http://kramdown.gettalong.org/syntax.html#automatic-and-manual-escaping

Donc, dans votre cas, il serait probablement: "Aadit M Shah \| Standardizing Harmony Classes"!

Espérons que cela aide!

+0

Je pensais à ça avant. Cependant, comme ma question l'indique: «Il y a beaucoup d'endroits où j'ai des pipes et je ne souhaite pas les changer.» Mon raisonnement est que ma démarque est correcte et que je n'ai pas besoin de la changer. Le problème est avec Kramdown et je ne souhaite pas modifier ma démarque juste pour contourner un bug comme celui-ci. –

+0

Ce n'est pas vraiment un bug, c'est ce qu'ils fournissent comme une fonctionnalité -> http://kramdown.gettalong.org/syntax.html#tables –

+4

C'est un bug quand __pipes dans un littéral de texte de lien__ sont traités comme une table séparateurs de cellules. –

0

assez tard à la fête, mais a couru dans cette ainsi:

Kramdown prend en charge plusieurs parseurs, parmi lesquels: :Kramdown, mais aussi :markdown:GFM (Github aromatisée) et :HTML.

:markdown vient sans analyse de table et aurait résolu votre problème aussi. Initialisez-le comme suit:

Kramdown::Document.new(string, input: :markdown) 
Questions connexes