Giter Site home page Giter Site logo

Comments (9)

Seb35 avatar Seb35 commented on June 15, 2024 1

Sans préjuger d’une décision sur cette issue, je viens a minima d’organiser un peu la soupe de tags de tableaux HTML, ça rend le texte et les diffs plus lisibles en restant fidèle à l’original. Par exemple sur le git-blame du code de la propriété intellectuelle, on voit assez distinctement sur l’article D631-1 les différentes modifications -- j’ai fait en sorte de retirer les espaces en fin de ligne à l’intérieur des cellules sinon ça rajoute des "faux-positifs" sur la version au 1er janvier 2012 (ainsi on voit sur cette version que seul le gras du titre est changé).

from archeo-lex.

Changaco avatar Changaco commented on June 15, 2024

Il faudrait nettoyer cette soupe de balises HTML

Cette fonctionnalité est implémentée dans legi.py 0.3 (Legilibre/legi.py#25).

from archeo-lex.

boogheta avatar boogheta commented on June 15, 2024

@Seb35 Le problème de la syntaxe markdown des tableaux est qu'elle repose sur des espaces complétant le texte, ce qui est déjà un peu chiant à générer imho mais ça n'est pas critique*
Mais surtout du coup dès que le texte d'une cellule va augmenter, ça génerera du diff sur toutes les autres cellules de la même colonne
L'idéal à mon avis serait de partir sur des pistes du type daff mais je ne sais pas à quel point c'est facilement intégrable
On a le même souci dans la fabrique et pas encore trouvé de solution idéale à ce jour. cc @mdamien

from archeo-lex.

Seb35 avatar Seb35 commented on June 15, 2024

@boogheta Je n’avais effectivement pas pensé que les espaces généreront des diffs ; on peut peut-être contourner ceci en mettant toujours une espace à gauche et à droite de chaque cellule même si le texte brut est moins lisible. En syntaxe MediaWiki, il n’y aurait pas ce problème mais ce n’est pas non plus très lisible (exemple ci-dessous). @mdamien m’a parlé de daff (on a échangé sur différentes problématiques techniques qu’on rencontrait chacun de notre côté) ; ça peut effectivement convenir côté visualisation, mais j’aimerais avoir une solution texte brut pour ce qui est des dépôts Git.

A B C
D E F
MediaWiki :
{|
|-
| A
| B
| C
|-
| D
| E
| F
|}

GitHub Flavoured Markdown:
| A | B | C |
|:-:|:-:|:-:|
| D | E | F |

from archeo-lex.

boogheta avatar boogheta commented on June 15, 2024

Effectivement si on accepte de rendre le markdown moins lisible, soit en méthode wiki avec une ligne par cellule, soit en méthode github avec juste un espace à gauche et à droite, ça peut rendre les diffs lisibles sans bruit.
Du coup c'est un compromis à trouver entre lisiblité du texte et lisibilité des diffs, relou :p

exemple ci-dessous plus réaliste pour le côté peu lisible de la version github avec des cellules de longueur différentes :

| A | Bateau | Cri |
|:-:|:-:|:-:|
| Demain | Est | Forcément un autre jour |

from archeo-lex.

mdamien avatar mdamien commented on June 15, 2024

J'ai une préférence perso pour la syntaxe mediawiki, en markdown, cela te force d'avoir un header, ce qui ajoute du bruit dans le diff

from archeo-lex.

Seb35 avatar Seb35 commented on June 15, 2024

J’ai aussi une préférence pour la syntaxe MediaWiki qui permet aussi des fusions de cellules. Par contre, je me vois pas trop écrire les titres en Markdown et les tableaux en MediaWiki, sinon l’option est du "tout MediaWiki", mais la syntaxe est largement moins répandue que Markdown.

Bon, après, l’idéal serait de faire un sondage sur ce que proposent les principales interfaces Git (GitHub, Gitlab, Gogs, …) comme syntaxe de tableau et comme formats supportés, et mettre en balance tout ça avec la lisibilité des syntaxes.

PS : toutes ces syntaxes, il y a en plein, un peu trop d’ailleurs et elles ne sont pas toujours bien formalisés (genre toutes les variantes de Markdown), et elles sont parfois limitées comme ce problème de tableaux ou le fait qu’il n’y a que 6 niveaux de titres (alors que j’aurais besoin de plus, 10 niveaux je crois ; je me permets d’ailleurs d’aller au-delà des 6 niveaux réglementaires, même si ça n’est pas reconnu par les moteurs de rendu). Je vais peut-être finir par faire ma propre syntaxe pour parer aux limitations, comme dit XKCD 927 (je dis ça dans un moment de déprime, mais c’est peut-être pas une solution raisonnable).

from archeo-lex.

fenollp avatar fenollp commented on June 15, 2024

C’est plus joli d’avoir des pages qui rendent bien sur github/gitlab/gogs mais sûrement juste un petit plus non ?
Si la syntaxe MediaWiki est mieux définie + supporte plus de niveaux de tableau + a des parsers dans plusieurs langages mainstream ça a l’air plus intéressant IMO.
Si c’est le cas ça permet un peut moins de déprime dans ce monde :)

from archeo-lex.

Seb35 avatar Seb35 commented on June 15, 2024

Je viens de tomber sur le forum de CommonMark et il y a une longue discussion sur les tableaux (et qq autres, chercher "table"). (Je le mentionne mais j’ai pas encore lu en détails.)

En y repensant à l’instant, je me dis que finalement la lisibilité des diffs peut être moins importante que la lisibilité de la syntaxe (donc j’ai moins de scrupules à utiliser une syntaxe Markdown/GFM) étant donné que je travaille sur la visualisation des diffs pour le site archeo-lex.fr (donc je me place sur plus de liberté d’action, comme pour la Fabrique, voir cette issue qui fait suite aux implémentations en PHP et Python) et il y a aussi l’option -w dans git diff -w pour éviter les différences d’espaces, et GitHub a désormais un "rich diff" sur les fichiers Markdown où ils ignorent peut-être les différences d’espaces.

from archeo-lex.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.