ZEP-05 : Refonte du traitement markdown pour l'export

a marqué ce sujet comme résolu.

Kje : je pense que tu devrais te fixer sur une release de pandoc le temps de développer la ZEP pour ne pas avoir à gérer les merge upstream trop souvent. Une fois la ZEP sortie on ne ferait plus que des merges de release en release.

C'est en tout cas ce que j'avais fais avec GitPython à l'époque pour éviter de faire rentrer du code non stable dans ZdS.

Moi aussi je peux donner un coup de main à l'occasion pour l'export.

+0 -0

Petite suggestion au niveau de la syntaxe des blocs spéciaux : il serait peut-être préférable d'adopter un système de balises à la HTML (comme on fait pour le LaTeX avec $$ en fait) et de se débarrasser des barres verticales en début de chaque ligne. En effet, il est aujourd'hui un peu laborieux d'annuler une citation, un bloc "information"… Comme il est peu pratique de devoir ajouter manuellement la barre verticale quand on souhaite ajouter une ligne au bloc.

+7 -0

Itou.

La solution du "je colle mon code, je le sélectionne et je clique sur le bloc correspondant" fonctionne bien de façon temporaire sur le forum, mais c'est pas non plus le pied (j'aime pas l'idée de dépendre d'un truc en JS pour ça, ça me donne l'impression de m'être fait greffer un déambulateur). Et tout le monde n'utilise pas un éditeur aussi cool que Vim qui permet de faire ça avec un :

  • Ctrl+V,
  • (sélection de la première colonne),
  • I,
  • "| ",
  • Echap
  • (et attendre qu'il mouline parce que Vim, quand il aime pas faire un truc, il prend bien tout son temps).

Save the mice, save Vim, save the world. :}

+3 -0

Et tout le monde n'utilise pas un éditeur aussi cool que Vim qui permet de faire ça avec un :

  • Ctrl+V,
  • (sélection de la première colonne),
  • I,
  • "| ",
  • Echap
  • (et attendre qu'il mouline parce que Vim, quand il aime pas faire un truc, il prend bien tout son temps).

nohar

Ça se fait au clavier ou à la souris avec SublimeText. C'est graphique, et c'est instantané. :p

+1 -0

Remarques :

  • un des avantages cité pour la syntaxe bloc lors de sa mise en place était qu'elle était suffisamment chiante pour pas que les gens en abuse…
  • les citations peuvent difficilement etre changés, c'est comme ca dans tous les markdown
  • une fois que cette zep sera en voit de passer en prod, je comptais lancer un sujet "markdown v2" pour discuter évolution de syntaxes, ca attendra probablement ce moment là.
  • qui dit changement de syntaxes, dit incompatibilité. Donc un tel changement casserait 90% des contenus. Il implique forcément la création d'un outils de conversion (donc attendre la fin de la zep-5).
  • attention, les syntaxe a délimitations de ce genre posent facilement plus de soucis de parsing et/ou génèrent des ambiguïté.

Bref un tel changement ça mérite un sujet a part et il faudra dans tous les cas des outils dédié, donc post zep-5

Oui. C'est évident que le plus gros risque va être de péter la compatibilité. À mon avis il faudra garder la syntaxe legacy1 et proposer une alternative.

Dans tous les cas on a cité des solutions temporaires qui devraient suffire pour s' en accomoder.


  1. Doux Jésus, je viens de qualifier de legacy un truc qui a 2 ans à tout péter… 

+0 -0

En fait si je parle de post-zep-5 c'est qu'il y a plusieurs raisons :

  • On aura une nouvelle chaine de propre en place, ce sera plus facile de faire des évolutions. Avant ça, tout changement dans le markdown oblige a repercuter les changements dans plusieurs outils avec des risques d'incompatibilité.
  • On arrivera au un an du site à la louche, il pourra être temps de commencer à parler de changement incompatibles. Vraiment je pense qu'il sera le bon moment pour parler d'un "markdown v2", quitte a ce qu'il pete la compatibilité. Il y a eu (et il y a encore) régulièrement des évolutions proposés, je pense qu'un gros chantier de mise a jour de la syntaxe sera pertinent mais il ne faut pas se voiler la face, ce sera à moi de le mettre en place et mon temps est assez compté. Donc une chose à la fois.
  • Une fois la ZEP-5 en place, nous aurrons déjà presque automatiquement un outils magique à disposition, un convertisseur markdown -> markdown (notre fork accepte déjà notre syntaxe en entrée, j'aurai pas grand chose à faire pour qu'il l'accepte complètement en sortit aussi). Ça a l'air idiot dit comme ça mais en rajoutant nos nouvelles syntaxes dans le module de sortie nous permettra de disposer d'un convertisseur zmarkdown-v1 -> zmarkdown-v2 à moindre coup et donc d'envisager des changements de syntaxes plus important.

Sinon concernant la zep-5, je devrait avoir un peu de temps libre ces prochains jours, je vais essayer d'avancer. Actuellement mes problèmes sont surtout Latex. Entre autre le point qui m'occupe actuellement est de résussir à faire des tableaux qui ne dépassent pas de partout sans raisons. Je pense que j'ai des incompatibilité de packages mais elles sont difficile à identifier. Il faut que je prenne le temps de faire un exemple minimale.

Apres si il y a des gens motivés qui connaissent bien Latex, je peux les aider à mettre en place la chaine temporaire de dev pour qu'ils m'aident à avancer. Les principaux changement sont à faire uniquement dans le code latex en général. Sinon je posterais dans des sujets sur le forum les points précis que je rencontre.

@Eskimon : mp ou sujet peut importe en réalité. Cependant tout dépend du temps et de l'implication possibles des personnes disponible pour m'aider. Par exemple la, j'ai converti un tuto et j'ai un problème sur les tableau. Le problème est au milieu d'un tuto J'ai essayé de trouver une solution mais tout ce qui devrait marcher ne fonctionne pas. J'en suis a l'étape ou il faut donc que j'identifie clairement la source du problème car c'est un tableau au milieu d'un contenu généré. Le tzmplate étant costau, il faut que je fasse un exemple minimale. Et ca prend du temps. Si quelqu'un a du temps, je pourrait lui refiler le latex complet pour investiguer. Sinon il faut que je fasse cette étape moi meme.

Bah j'ai proposé le mp car il semblait y avoir des gens connaisseurs et motivé dans le thread, donc sûrement de quoi faire un bon boulot si tu fais comme tu as dit plus tôt (explication de comment installer les outils et les trucs de test ou je ne sais quoi encore pour que les gens puissent jouer avec toi ^^ )

+0 -0

Bon je viens de comprendre mon soucis avec les tableaux :

The cells of pipe tables cannot contain block elements like paragraphs and lists, and cannot span multiple lines. Note also that in LaTeX/PDF output, the cells produced by pipe tables will not wrap, since there is no information available about relative widths. If you want content to wrap within cells, use multiline or grid tables.

Doc de pandoc

En gros dans les tableaux dit chez nous "avancé", le convertisseur peut déterminer la largeur des lignes du tableau depuis ça forme. Dans le cas des tableaux simples, pandoc ne dispose pas d'informations sur les largeur relatives (puisque la norme utilisé n'impose pas une largeur identique sur toutes les lignes). Donc les largeurs relatives entre les colonnes ne peuvent pas être déduites et donc elles ne peuvent pas être adapté à la page.

Du coup je vois deux solutions :

  • On conserve cette restriction : faire des pipe tables ne garanti pas que les tableaux rentreront dans la page
  • On rajoute du code pour essayer de l'estimer, par exemple prendre pour chaque colonne une largeur de reference correspondant au nombre de caractère max des lignes de chaque colonne. Le gros risque est que les tableaux rendent assez mal si le rapport est mal évalué.

Un avis ?

Nouveau soucis : cet article contient une image (celle de l'elephant) que pandoc n'arrive pas a télécharger et qui fait donc planter la comilation. Je pense que la raison est qu'elle sur une connexion sécurisé. Sur mon Firefox on me demande d'ajouter une exception pour l'obtenir… Je ne vois pas trop quoi faire pour le coup

Tout ça, ce sont des problèmes liés à Pandoc… Je ne suis pas allé voir la documentation mais n'y aurait-il pas moyen de prendre le problème à l'envers.

Je ne sais plus dans quel sujet, il était dit que les images externes des tutos étaient en copies sur les serveurs de ZdS pour éviter les liens cassés, peut être que celle-ci y est également et qu'elle est accessible. Après, comment la récupérer automatiquement, c'est un autre problème.

Concernant le problème des tableaux, c'est également un problème spécifique à Pandoc, et là comme ça, je ne vois pas.

Oui tout ça ce sont des problèmes de pandoc mais c'est tout l'objectif de cette zep justement

Non, les images de seule les tutos provenant du sdz ont été sauvegardés sur le serveur. Pas celles de tous les tutos. Pandoc tente, lors de la conversion en pdf, de télécharger les images externes pour que latex puisse les transformer. Malheureusement dans cas là ça ne passe pas et apres pas mal de recherche, j'arrive pas à trouver un moyen pour autoriser les connexions non sûrs. Une solution est qu'au lieu de laisser pandoc faire ça, je le fait à la main avant (au moins pour les images sous https). L'autre solution est de simplement prévenir les auteurs que des images ainsi peuvent faire rater la compilation en pdf.

Pour les tableaux c'est plus complexe. C'est lié aux limitations de latex qui ne permet vraiment que de spécifier la largeur de chaque colonne. Pour cela il faut donc la largeur relative de chaque colonne vis a vis des autres. Et Pandoc ne le fait pas pour ce genre de tableaux. Donc soit on l'ajoute (mais comment évaluer ça ?), soit encore une fois on préviens les auteurs du risque d'utiliser ce genre de tableaux

A court terme je vais noter dans un coin ces bugs et continuer. Si il n'y a que ces deux soucis, on peut imaginer les considérer comme des bugs connu et ne les traiter que plus tard.

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