Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

Links with nested HTML or \n confuse the markdown converter

Ouverte
#53 1 commentaire 1 réaction 0 personnes assignées Voir sur GitHub

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

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de github/paste-markdown

Toutes les issues de github/paste-markdown

Issues similaires

Plus d'issues JavaScript

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.