Comments (9)
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.
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.
@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.
@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.
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.
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.
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.
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.
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)
- Mettre les commits futurs dans une autre branche HOT 1
- UNIQUE constraint failed HOT 2
- dépôt git avec la constitution HOT 11
- Affichage des dates inférieure à 1970 erroné HOT 20
- Site web d’affichage HOT 8
- Pas de texte avec cet ID ou CID HOT 2
- en-têtes markdown HOT 10
- Exporter directement au format Git-pack HOT 5
- Ajouter les en-têtes et pieds-de-page HOT 4
- [nuitducodecitoyen2018] Plantage si données maquantes
- Certificat HTTPS expiré HOT 1
- Code rural HOT 3
- Articles sans date de début
- Limiter les noms de fichiers à 255 caractères HOT 1
- Traiter différemment les codes abrogés HOT 2
- Ajouter les lois et ordonnances
- Export Git de tout les textes dans un seul dépôt HOT 3
- Refondre Archéo Lex et le format sous-jacent
- Mise à jour des données HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from archeo-lex.