Remove restriction of balanced parens in definition destination

オープン
#661 コメント 2 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
5/5
見積もり時間
1週間以上
初心者へのやさしさ
35/100
issue の種類
機能追加
明瞭さ
おおむね明確
活発さ
停滞
技術スタック
markdown
領域
documentation

調査の方向性

Start by comparing the Link reference definitions, Link destination, and Links sections of the CommonMark specification with the issue's examples. Review how the proposed alternatives affect parsing and the expected HTML. Done means the specification has an agreed rule for parentheses in definitions and matching examples reflect that rule.

索引モデルが issue の本文から書いたものです。

説明

For links, balanced parens are useful: [a](b(c)), although it imposes a potential performance problem due to having to track that balance (Implementations may impose limits on parentheses nesting to avoid performance issues, but at least three levels of nesting should be supported. (link))

For definitions, having to track balance adds nothing useful for vendors or authors. Rather, it imposes potential performance problems for vendors or unexpected results for authors.

[x]: a(b
[y]: a)b

[x] [y].

Yields:

<p>[x]: a(b
[y]: a)b</p>
<p>[x] [y].</p>

Expected:

<p><a href="a(b">x</a> <a href="a)b">y</a>.</p>

For a solution in the spec, I suggest either explicitly lifting the restriction for Link reference definitions, or lifting it in the Link destination and enforcing it in Links

主要言語
Python
スター
5.2k
フォーク
361
PR マージ指標
30日以内にマージされた PR はありません

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

commonmark/commonmark-spec のほかの issue

commonmark/commonmark-spec の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。