2016-10-18 1 views
0

지킬을 이해하려고합니다.Jekyll과 게시물의 제목과 내용이 다르게 처리 된 mathjax

저는 Kramdown을 마크 다운 프로세서로 사용하고 있습니다.

제목과 내용에서 mathjax가 처리되는 방식에 큰 차이가 있습니다.

내가 이런 걸 쓸 필요가 게시물의 앞 문제에서 \sqrt{x}

쓰고 싶은 말 :

--- 
title: \(\sqrt x\) 
--- 

을하지만 게시물의 내용에 내가 쓸 필요가 :

\\(\sqrt x\\) 

제목에 \\(\sqrt x\\)을 입력하면 웹 페이지의 모양이 엉망입니다. 내가 게시물의 내용에 \(\sqrt x\)을 할 경우

나는 (\sqrt x)

이유는 내부의 문자 단일 brakets를 얻을 수 있습니다? 누군가이 두 문자열이 어떻게 취급되며 왜 다르게 취급되는지 설명 할 수 있습니까?

답변

1

frontmatter (메타 데이터)의 텍스트는 Markdown으로 구문 분석되지 않습니다. 실제로, Jekyll은 Kramdown으로 전달하기 전에 문서에서 frontmatter를 제거합니다. Kramdown은 프론트 매터조차 보지 못합니다. 따라서 "제목"은있는 그대로 전달되므로 필요한 탈출은 없습니다. 그것이 도움이된다면, frontmatter는 Markdown의 일부가 아닙니다. 지킬 특유의 부가 기능입니다.

대조적으로, Markdown 텍스트 내에서 mathjax를 이스케이프 처리해야합니다. 일부 mathjax 구문은 Markdown 구문과 충돌하므로 파서에 mathjax가 무엇인지 알려주지 않아야합니다. 이는 mathjax를 적절한 구분자로 둘러싼 다. 그런 다음 Markdown 파서는 내용에서 이스케이프 문자를 제거하지만 그렇지 않으면 내용을 변경하지 않습니다.

mathjax 구문은 실제로 브라우저에서 JavaScript로 구문 분석되어 올바르게 형식이 지정된 수식으로 변환됩니다. Kramdown/Jekyll이 생성 한 HTML에는 해석되지 않은 mathjax 구문이 포함되어 있습니다. 그러나 두 가지 경로가 있으므로 동일한 결과물을 얻는 데 약간 다른 두 가지 방법이 있습니다.