Links with nested HTML or \n confuse the markdown converter
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 35/100
- Type d'issue
- Bug
- Clarté
- Plutôt claire
- Activité
- À l'abandon
- Stack technique
- javascript
- Domaine
- tooling
Piste de recherche
L’issue ne mentionne aucun fichier ni test. Commencez par reproduire les trois cas de liens HTML du rapport dans le convertisseur Markdown, puis examinez la mise en correspondance du texte d’ancre et la gestion de node textContent qui y sont décrites. Le travail est terminé lorsque les éléments imbriqués et les sauts de ligne dans les liens produisent les liens Markdown attendus, avec une couverture de régression pour les exemples signalés.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
A couple cases that generate the wrong markup.
1. nested html elements in link
<a href="http://example.com/"><span>foo</span></a> <a href="http://example.com/">bar</a> foo bar
gets converted to
[foo](http://example.com/) bar foo [bar](http://example.com/)
when I would expect
[foo](http://example.com/) [bar](http://example.com/) foo bar
What happens: the walker enters the a and then enters the span again, finding the same text twice. But the proper label text was already consumed, so it consumes until it finds another match. In some cases (like above) it even linkifies the wrong text.
2. line breaks in link
<a href="https://example.com/">foo
bar</a>
(notice the line break) gets converted to
foo bar
when I would expect
[foo bar](https://example.com/)
What happens: the node textContent is 'foo\nbar' which doesn't match any text in the plaintext.
2b. <br> in link
Another similar (but possibly harder to fix) case is
<a href="https://example.com/">foo<br>bar</a>
which like 2 doesn't create a link:
foo
bar
In general, since the code can't rely on the browser to properly deal with HTML content, some of these corner cases will probably keep popping up. But this happened in the real world (try copying and pasting the first news entry in the deprecated section here) and it seemed to be significant enough to report.
I will follow up with a PR that suggests potential fixes for 1 and 2 (but not 2b), but this is not my field so it might be far from good.
- Langage dominant
- JavaScript
- Étoiles
- 234
- Forks
- 47
- Merge moyen
- 1 j 12 h
- PR mergées (30 j)
- 5
Préparer son environnement
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de github/paste-markdown
-
Pasting a link whose text/html label is a shortened form of its URL plants a `[` inside the URLOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
github/paste-markdown#118 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
github/paste-markdown#107 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 45/100
github/paste-markdown#104 ·
-
Examples page is brokenOuverte
Difficulté 3/5 1-2 jours Accessibilité débutants 35/100
github/paste-markdown#100 ·
-
Difficulté 3/5 1-2 jours Accessibilité débutants 48/100
github/paste-markdown#96 · 1 commentaire ·
Toutes les issues de github/paste-markdown
Issues similaires
-
Add: Digi 4K LogoOuvertecheck:passed logos:add
Difficulté 1/5 Moins d'une heure Accessibilité débutants 82/100
Les mainteneurs répondent en général sous 1 jour
-
component/administration domain/framework needs-triage Platform(Default) priority/low
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 90/100
semantic-release/gitlab#1032 ·
-
agent/guide documentation hive/hosted-available-lke648397-260827-5n31
Difficulté 1/5 Moins d'une heure Accessibilité débutants 92/100
Les mainteneurs répondent en général sous 1 jour
-
[aw] Upgrade availableOuverteagentic-workflows
Difficulté 1/5 Moins d'une heure Accessibilité débutants 85/100
githubnext/gh-aw-workshop#3933 ·
Les mainteneurs répondent en général sous 2 jours