GitHub가 Markdown을 망치는 문제-666을 DCLXVI로 변경


729

내 GitHub 리포지토리 에는 추가 정보가 없습니다. 이 읽어보기에서 로컬로 다음과 같이 썼습니다.

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가 보여 주기로 결정한 것은 아닙니다 666 .

dclxvi

DCLXVI666 의 로마 숫자 입니다.

이것은 정말로 나를 놀라게했다. 내 로컬 파일과 원시 파일이 모두 표시 666됩니다.

GitHub의 기능은 무엇이며 번호가 매겨지지 않은 목록의 들여 쓰기가 엉망인 이유는 무엇입니까? 이것은 부활절 달걀입니까, 아니면 사탄 버그입니까?


15
내가 올바르게 본다면 당신은 - 5. whatever그것을 시도 해야 했습니까·V whatever
Hans Koch

8
방금 테스트 한 결과 모든 숫자는 로마 숫자로 변환됩니다 : github.com/NoahCristino/Forked/tree/…
Noah Cristino

27
글 머리 기호에 하이픈을 사용하는 @immibis는 표준 마크 다운입니까?
ESR

16
@EdmundReed 중첩 목록 표기법도 표준 마크 다운이 아닙니까?
user253751 2016 년

4
실제 라틴 번호도 걱정하지 마십시오. 이 숫자는 아마도 번역 오류로 인해 일반적인 이해가 무엇인지를 의미하지는 않습니다.

답변:


474

이것은 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 Markdown SpecCommonMark Spec 위에 구축됩니다 .

로 그리고 Tommi Kaikkonen가 언급 그의 대답 , 정렬 된 목록 때문에 666 페이지의 다음과 같은 점이다 GFM 사양 5.2 절 .

섹션 6.1 에서 언급 했듯이이 문제를 피하기 위해 ASCII 문장 부호 문자는 백 슬래시 이스케이프 처리 될 수 있습니다.
그 의미는:

- 666\. ha.

( ForNeVeR답변 에 명시 적으로 표시됨 )

666따라서 GitHub README마크 다운 에서 해당 숫자가 로마 숫자로 변경됩니다 .


Mike Lippert 는 다음과 같이 언급했습니다.

해당 목록의 첫 번째 요소이므로 inot로 표시되어야합니다 dclxvi.
마크 다운 순서 목록은 실제 사용 된 숫자와 숫자를 순차적으로 무시하므로 변경 방법을 보지 못했습니다.

그러나 아니오 : dclxvi생성 된 html 코드가 GFM 사양<ol start="666"> 과 일치 하기 때문에을 보여줍니다 .

목록 항목이 주문 된 경우 주문 된 목록 마커를 기반으로 시작 번호도 지정됩니다. "

(여기서 ' 666'는 정렬 된 목록 마커입니다.)

마이크는 다음과 같이 덧붙입니다.

@VonC 다른 사람을 위해 여기에 VonC의 문서 링크에서 유용한 또 다른 발췌가 있습니다.

"주문 된 목록의 시작 번호는 초기 목록 항목의 목록 번호에 의해 결정됩니다. 후속 목록 항목의 수는 무시됩니다."


또한 왜 간격이 엉망입니까? 나는 당신의 대답에서 그것을 잡지 못했습니다

정렬 <ol>되지 않은 목록 항목 내 에서 정렬 된 목록을 얻습니다 <li>.

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

GitHub CSS 규칙에는 다음이 포함됩니다.

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

당신이 두는 경우에 3em, 당신은 얻을 것 대신
올바른 패딩

잘못된 패딩


10
@MDXF 숫자 뒤에 점이 오더는 정렬 되지 않은 목록 항목 ( '-') 과 같은 줄에 정렬 된 목록 으로 변환되기 때문 입니다. 일반적으로 <li>와 <ol>은 같은 줄에 렌더링되어서는 안됩니다 ...
VonC

@MDXF 잘못된 CSS 간격을 일으키는 정확한 CSS 규칙으로 답변을 편집했습니다.
VonC

2
실제로 나는 출력물이 내가 들어 보지 못한 마크 다운 향상 또는 버그라고 생각합니다. 예 -.666 은 정렬 된 하위 목록입니다. 그러나이 목록의 첫 번째 요소이므로 dclxvi가 아닌 i로 표시되어야합니다 . 마크 다운 순서 목록은 실제 사용 된 숫자와 숫자를 순차적으로 무시하므로 변경 방법을 보지 못했습니다.
Mike Lippert 2016 년

2
@MikeLippert 아니오, 생성 된 HTML 코드가 github.github.com/gfm/#list-items<ol start="666"> 와 일치 하기 때문에 dclxvi에 표시됩니다 . "목록 항목이 주문 된 경우 시작 번호도 할당됩니다. 정렬 된 목록 마커를 기반으로 ""(여기서 '666'은 정렬 된 목록 마커 임)
VonC

2
@VonC 고마워, 나는 github 풍미가있는 마크 다운에 대한 향상을 알지 못했으며, 논평하기 전에 빠른 인터넷 검색을 찾지 못했습니다. VonC의 문서 링크에서 발췌 한 또 다른 유용한 문서는 "주문 된 목록의 시작 번호는 초기 목록 항목의 목록 번호에 의해 결정됩니다. 후속 목록 항목의 수는 무시됩니다."
Mike Lippert 2016 년

376

후 기간을 추가 666차종이 정렬 된 목록 마커 .

GitHub는 로마 숫자를 사용하여 정렬 된 목록 마커를 렌더링하는 CSS를 선언합니다.

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

백 슬래시로 마침표를 벗어나면 올바른 출력이 표시됩니다.


84

다른 답변은 문제가 있는지 설명하는 데 도움이되지만 문제를 해결 하는 방법에 대한 정확한 예는 제공하지 않았습니다 .

그리고 이미 불완전한 방식으로 해결 하여 텍스트를

- `666`. ha.

숫자 다음에 점을 이스케이프 처리하여 일반적인 텍스트처럼 보이도록 (일반적인 목록 레이블이 아님) 일반적인 트릭이 있습니다.

- 666\. ha. (this will render as you probably want)
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.