web-dev-qa-db-ja.com

GitHubが自動的にMarkdownを指す - 666をDCLXVIに変更

私のGitHubリポジトリ にはreadmeしかありません。このreadmeでは、ローカルでこれを書きました。

Factoids:
 - There are about six different ways to do everything in Forked.
 - There are actually six different ways to enter loops.
 - There are six directionals and six I/O commands.
 - 666. ha.

最後の行を強調します。 GitHubが見せたのはnot666でした。

dclxvi

DCLXVIは、 666 のローマ数字の番号です。

これは本当に私を助け出した。私のローカルファイルと 生ファイル の両方が666を表示します。

GitHubは何をしていますか、そして番号なしリストのインデントがおかしくなっているのはなぜですか?これはイースターエッグですか、それとも悪魔的なバグですか?

597
MD XF

この後に github/markup issue 991 が続くようです。ここで、順序付きサブリストでは、10進数は自動的にローマ数字に変わります。

私は問題の原因を見つけました。 CSSです

これは入れ子になった順序付きリストがHTMLでレンダリングされるための予想される方法です。

これはHTMLでは想定されていません。 https://jsfiddle.net/tf5jtv8s

デフォルトのHTMLの動作は変更しません。

ol ol,ul ol{list-style-type:lower-roman}

CSSはわかりませんが、これが問題の原因であると私は理解しています。 CSSを無効にすることで期待通りの結果が得られます。 (私は自分の携帯電話を使っているので、ブラウザインスペクタを使うことはできません)

GitHub Flavored Markdown仕様 」で説明したように、GitHubマークダウン仕様 GFM:GitHub Flavoredマークダウン仕様CommonMark Spec の上に構築されています。

そして Tommi Kaikkonen彼の答え で述べたように、順序付きリストはドットが666に続くためです。 GFM仕様書セクション5.2 を参照してください。

6.1節 で述べたように、この問題を回避するために、ASCII句読文字はバックスラッシュでエスケープすることができます。
つまり、

- 666\. ha.

ForNeVeRanswer に明示的に示されているように)

そのため、GitHubのREADMEマークダウンでその666番号がローマ数字に変更されています。


Mike Lippert さんがコメントしました:

そのリストの最初の要素なので、iではなくdclxviとして表示されます。
マークダウンの順序付きリストでは、実際に使用されている番号と番号が順番に無視されるので、これを変更する方法は見たことがありません。

ただし、no:生成されたHTMLコードは<ol start="666">であり、これは GFM仕様 と一致しているため、dclxviが表示されます。

リスト項目が順序付けされている場合は、順序付きリストマーカーに基づいて開始番号も割り当てられます」

(ここで、 '666'は番号付きリストマーカーです)

マイクは付け加えます。

@ VonC VonCのドキュメントリンクからの他の有用な抜粋は、他の誰かにとってここにあります。

「順序付きリストの開始番号は、最初のリスト項目のリスト番号によって決まります。後続のリスト項目の番号は無視されます。」


また、間隔がおかしいのはなぜですか。私はあなたの答えでそれをキャッチしませんでした

順序付けされていないリストitem<ol>内に順序付けされたリスト<li>があります。

<ul>
  <li>
    <ol start="666">
      <li>ha.</li>
    </ol>
  </li>
</ul>

GitHub CSSのルールは以下の通りです。

.markdown-body ol {
    padding-left: 2em;
}

3emを入れると、
correct padding
の代わりに
wrong padding

390
VonC

666の後にピリオドを追加すると、 順序付きリストマーカーになります

GitHubは、ローマ数字を使用して番号付きリストマーカーをレンダリングするCSSを宣言します。

ol ol,ul ol {
    list-style-type: lower-roman
}

円記号でピリオドを脱出すると、正しい出力が表示されるはずです。

358
Tommi Kaikkonen

why あなたが問題を抱えていることを説明するのに他の答えが得意ですが、彼らはあなたに fix それをする方法の正確な例を与えていません。

そして、あなたはすでにそれを解決しているようです 不完全な方法で あなたのテキストを

- `666`. ha.

通常のテキスト(順序付きリストラベルではない)のように見せるために、数字の後のドットをエスケープする一般的な方法があります。

- 666\. ha. (this will render as you probably want)
71
ForNeVeR