마크 다운을 HTML로 변환하기위한 사용자 친화적 인 파이썬 모듈 및 명령 줄 프론트 엔드. 기본적으로 GitHubs Online Markdown-to-Html-API (인터넷 연결이 필요한)를 사용하지만 오프라인 변환 옵션 (GitHubs 동작을 밀접하게 모방 함)과 다른 Python 또는 CommandLine 도구도 연결할 수 있습니다. 더 많은 내용 및 출력 옵션, Github-Plavored CSS, Formula Support, Advanced Image Caching and Optimization, Host-ready 파일 및 이미지 배치, PDF- 수정, TOC 지원 등 다양한 기능으로 자동 확장됩니다.
주요 목적은 Markdown 파일의 정적 페이지를 작성하는 것이지만, 예를 들어 Github에서 호스팅하는 경우 정적 웹 사이트 빌더 또는 GitHub 작업과 관련하여 다른 목적으로는 매우 잘 사용될 수 있습니다.
다음은 장점과 기능의 (반드시 광범위한) 목록입니다.
$ -formula- $ 사용)을 지원합니다. GH-MD-to-HTML은 라텍스와 disvgm이 설치된 경우 (이점 : 빠른, 인터넷이 필요하지 않음), 그렇지 않으면 CodeCogs Eqnitor (이점 : 3GB의 라텍스 라이브러리를 설치할 필요가 없음)를 사용하여이를 달성합니다.[[_TOC_]] , {:toc} 및 [toc] 의 사용에 대한 선택적 지원이 제공되어 Gitlab-flavored Markdown과 같은 문서의 컨텐츠 테이블을 작성합니다.Markdown을 PDF로 변환하기 위해 Pandoc의 대안을 찾고있는 경우, 작업을 위해 Pandoc 대신 GH-MD-to-HTML을 사용하려는 이유의 목록이 있습니다.
Pandoc을 사용하여 Markdown에서 PDF로 변환하는 동안 일반적으로 더 아름다운 결과 (Pandoc은 라텍스를 사용합니다)를 산출하지만 GH-MD-to-HTML은 숙제 할당이나 신뢰성이 미용보다 더 많은 다른 목적을 위해 복잡한 파일을 신속하게 변환 할 때 고유 한 장점이 있습니다.
$ -signs를 코너링하는 공백의 양과 공식이 시작할 수있는 문자와 관련하여 적용됩니다. 이 규칙은 Marktext와 같은 일부 일반적인 Markdown 편집기에는 적용되지 않지만, Pandoc으로 편집자에서 일한 공식이 더 이상 작동하지 않을 때 많은 좌절감이 발생합니다 (MarkText의 자체 내보내기 -PDF- 기능은 오류 메시지없이 공식화 된 파일에서 실패하여 신뢰성이 덜합니다). 최악의 부분은 Pandoc이 .md를 .pdf로 변환하는 데 실패 할 때마다 입력 .md-file 대신 중간 .tex-file을 기반으로 한 오류의 줄 수를 표시하여 문제의 루트를 찾기가 어렵다는 것입니다. 당신이 추측했듯이, GH-MD-to-HTML은 공식을 시작하는 공백의 양에 대해 덜 신경 쓰지 못했고,이 결정을 당신에게 맡깁니다.요약하면, Pandoc의 MD-to-PDF-Conversion은 이미지, 중첩 목록, 다중 총알 포인트 항목 또는 공식과 관련하여 매우 특이한 작용을합니다.
pip3 install gh-md-to-html Python 패키지 인덱스에서 직접 설치하거나 python3 -m pip install gh-md-to-html .
둘 다 Linux에서 sudo 필요할 수 있으며 선택적으로 할 수 있습니다.
python3 -m pip install gh-md-to-html[pdf_export]
옵션 PDF-CONVERSION 기능을 얻으려면 WKHTMLTOPDF (V0.12.6 이상)를 설치하고 Markdown 파일을 PDF 및/또는 또는/또는 전환합니다.
python3 -m pip install gh-md-to-html[offline_conversion]
선택적인 오프라인 수정 기능을 확보하려면 실행 중입니다.
Windows에있는 경우 현재 작업 디렉토리의 경로에 wkhtmltopdf 추가하여 PDF 변환을 수행하려면 PATH=%PATH%;c:/program files/wkhtmltopdf/bin 또는 설치 위치에 따라 유사한 것입니다.
명령 줄과의 인터페이스에 액세스하려면 Help Text ( gh-md-to-html -h 와 함께 액세스 할 수 있고 아래에 표시된)에 gh-md-to-html 제공 할 수 있습니다. Windows에서는 python3 -m gh_md_to_html 에 해당 인수를 제공해야합니다.
Python을 통해 인터페이스에 액세스하려면 사용할 수 있습니다.
import gh_md_to_html 그런 다음 명령 줄 인터페이스에 제공하는 동일한 인수 (및 기본값)와 함께 gh_md_to_html.main() 을 사용하십시오.
Github의 REST API 오프라인으로 변환 결과 수율을 모방하려면 이미지 캐싱, 포뮬러 지원 및 멋진 CSS 스타일을 원하지 않는 경우 사용하십시오.
html_as_a_string = gh_md_to_html.core_converter.markdown(your_markdown_as_a_string)
파이썬에서.
사용법 : gh-md-to-html <input_name> <optional_arguments>
기본 동작 :
기본적으로 GH-MD-to-HTML은 MarkDown 파일 이름을 인수로 취하고 생성 된 HTML을 같은 이름의 파일로 저장하고 .html 대신 .md 로 저장합니다.
일부 기발한 :
github-markdown-css/github-css.css 에 저장됩니다 (대신 인라인으로 만들기 위해 -c 추가)../images 로 캐시, 저장 및 참조됩니다 (이를 비활성화하려면 -i 추가).-w 추가).id 및 파일 내부 링크는 user-content- 에 의해 사전으로 표시되므로 ID 충돌을 위험에 빠뜨리지 않고 더 큰 웹 사이트에 생성 된 HTML을 포함시킬 수 있습니다. 일부 일반적인 사용 사례 :
과거의 문제를 통해, 나는 대부분의 사람들 이이 모듈에 대해 가지고있는 매우 일반적인 사용 사례가 있다는 것을 깨달았습니다. 다음은 가장 일반적인 것들과 그들에게 사용할 옵션과 주장은 다음과 같습니다.
-i -w --math false --box-width 25cm 그립 이이 목적으로 더 효율적일 수 있습니다.--toc 추가하십시오.--math true --emoji-support 0 --dont-make-images-links true .-i -c 사용하여 모든 것을 하나의 파일로 갖습니다. 웹에서 Markdown 파일을 --origin-type 로 변환합니다.
로컬 Markdown 파일뿐만 아니라 Github 리포지토리의 파일, 웹 호스팅 된 제품 또는 문자열의 내용을 변환 할 수 있습니다. 웹의 위치가 참조하는 이미지에 대한 링크가 어떻게 해결되어야하는지에 영향을 미치기 때문에 이것들을 다운로드하거나 파일에 저장하는 것만으로는 종종 충분하지 않습니다. 운 좋게도 GH-MD-to-HTML이 등을 맞이했습니다!
입력 한 입력의 종류를 설명하는 데 사용할 수있는 여러 가지 인수가 있습니다.
--origin-type file : 기본값; (상대 또는 절대) 파일 경로를 가져옵니다--origin-type repo : pth를 <user_name>/<repo_name>/<branch-name>/<path_to_markdown>.md <branch-name>/<path_to_markdown> .md 형식으로 GitHub 저장소의 Markdown 파일로 가져옵니다.--origin-type web : 웹 호스트 마크 다운 파일의 URL을 취합니다.--origin-type string : Markdown이 포함 된 문자열을 취합니다. 사용하는 이러한 옵션 중 일부는 Markdown 파일 내 이미지 링크가 해결되는 방식에 영향을 미칩니다. 이 readme의 후반부는 이것을 자세히 설명합니다. 어디로 가는지 미세 조정 :
GH-MD-to-HTML은 현재 작업 디렉토리를 루트로 사용하여 호스트 준비 정적 웹 사이트를 생성하려는 목표로 작성되었습니다. -w 사용하여이를 비활성화하고 브라우저에서 생성 된 파일을 직접 볼 수있는 것 외에도 웹 사이트의 루트를 어디로 가는지 미세 조정할 수있는 여러 가지 옵션이 있습니다. 어떤 이유로 든 원하지 않는 한 그렇게 할 필요가 없으므로 필요하지 않으면 이것을 읽지 마십시오!
--website-root (또는 -w ) : 위에서 설명한 대로이 옵션을 비워두면 생성 된 HTML 파일을 호스팅하지 않으려는 경우 브라우저에서 생성 된 HTML 파일을 브라우저에서 직접 미리 볼 수 있지만 웹 사이트의 루트로 사용하려는 디렉토리를 제공 할 수도 있습니다. 현재 작업 디렉토리로 기본적으로 표시됩니다.--destination (또는 -d ) : 생성 된 HTML 파일이 저장되는 --website-root 에 대한 경로. 기본적으로 웹 사이트 루트가 사용됩니다.--image-paths (OR -i ) : 위에서 설명한대로 이미지 캐싱을 비활성화하기 위해이 빈 방치를 남길 수 있습니다 ( --origin-type 수정 한 경우에는 작동하지 않음). 웹 사이트 뿌리와 관련하여 이미지가 저장되는 위치를 수정하는 경로를 제공합니다. 기본적으로 images 로 표시됩니다.image-paths -디렉토리는 이러한 이유로 GH-MD-to-HTML의 여러 실행 사이에 자동으로 비워지지 않으므로이 최적화가 다중 파일을 대량으로 변환 할 때 크로스 파일을 사용할 수 있도록합니다.--css-paths (OR -c ) :이 빈 방치를 떠나 외부 CSS 파일에 CSS를 저장하는 것을 비활성화 할 수 있습니다 (위에서 설명한대로 하나의 파일 만 변환하려는 경우 유용함). 또는 웹 사이트 root에 대한 경로를 제공하여 CSS 파일 ( github-css.css 라고 함)이 저장되는 위치를 수정합니다. 기본값은 github-markdown-css 입니다.--output-name (또는 -n ) : 생성 된 HTML 파일을 대상-디렉토리에 저장하는 파일 이름. 이 문자열의 어느 곳에서나 <name> 사용할 수 있으므로 Markdown 파일의 이름으로 자동으로 대체됩니다. 예를 들어 gh-md-to-html inp.md -n "<name>-conv.html" 결과를 ino-conv.html 에 저장합니다 (이는 --origin-type string 과 함께 작동하지 않음).-n print 사용하여 출력을 어디서나 저장하는 대신 Stdout (콘솔에 인쇄)에 출력을 작성할 수 있습니다. 기본값은 <name>.html 이므로 입력 파일 이름에 적응합니다.--output-pdf (또는 -p ) : 생성 된 pdf를 저장하는 파일. 여기에서 <name> -syntax도 사용할 수 있습니다. -p -Option이 사용되지 않으면 PDF가 생성되지 않습니다 (그리고 위의 PDFKIT & WKHTMLTOPDF 설치 지침을 따라이 옵션 작업을 수행해야 함). 그러나 인수없이 -p 사용하여 <name>.pdf 를 민감한 파일 이름 기본값으로 사용할 수 있습니다. PDF로 내보내기 :
위에서 언급했듯이 --output-pdf -option을 사용하여 생성 된 HTML 파일을 PDF로 내보낼 수 있습니다. 이를 위해서는 wkhtmltopdf (QT-Patched 버전)를 설치하고 (Windows에있는 경우) 경로에 추가하고 pdfkit 통해 pip3 install gh-md-to-html[offline_conversion] )을 설치해야하지만, 이러한 요구 사항은 이미 설치 섹션에서 설명되어 있어야합니다.
그래도 여기에 주목할 가치가있는 것들이 있습니다. 우선, {yourpdfexportdestination}.html 이라는 파일에 귀중한 정보가있는 경우이 옵션을 사용하지 마십시오. {yourpdfexportdestination} 프로세스에서 일시적으로 덮어 쓰기 때문에 -p 에 제공 한 것입니다. 또한 -x -Option에 신뢰할 수없는 입력을 제공하는 경우 -p 전혀 사용하지 마십시오.
-p 와 함께 사용하기 위해 특별히 맞춤화 된 몇 가지 옵션도 있습니다. 이들은 현재입니다.
--style-pdf (또는 -s ) : github의 CSS로 생성 된 pdf 파일 스타일을 비활성화하려면 이것을 false 로 설정하십시오. Github의 CSS가 페이지 주위에 그리는 테두리가 PDF에서 반 직관적으로 보일 수 있지만 다른 부분의 모양에 부정적인 영향을 줄 수 있으므로 소금 한 덩어리와 함께 사용하십시오. 사용할 코어 마크 다운 변환기 변경 :
GH-MD-to-HTML은 실제로 마크 다운을 구문 분석하고 PDF로 변환 할 때 그 자체로 많은 역할을하지 않습니다. 대신, Markdown 사양에 따라 기본 변환을 수행하는 소위 "코어 컨버터"를 감싸고 자체 옵션, 기능, 사용자 정의 및 스타일을 구축합니다. 기본적으로 Github Markdown REST API는 GitHub가 ReadMes와 함께하는 일에 가장 가깝기 때문에 GH-MD-To-HTML에 다른 기본 Markdown 변환기를 제공 할 수도 있기 때문입니다.
GH-MD-to-HTML에는 2 개의 빌드 인 대체 코어 변환기가 제공되며, 이는 GitHub의 REST API를 가능한 한 가깝게 모방하면서 자신의 개인적인 접촉을 추가합니다.
코어 변환기를 결정하는 옵션 :
--core-converter (또는 -o ) : 기본값과 다르려는 경우이 옵션을 사용하여 미리 정의 된 코어 변환기 (아래 참조) 중에서 선택할 수 있습니다.
{md} 는 gh-md-to-html에 의해 쉘 에스코 한 입력 마크 다운이 삽입되는 곳의 자리 표시 자로 서있는 Windows의 BASH 명령 (UNIX/Linux 시스템) 또는 Windows의 CMD.exe 명령을 제공 할 수 있습니다. 예를 들어,
gh-md-to-html inp.md -o "pandoc -f markdown -t html <<< {md}"
Pandoc을 코어 변환기로 사용합니다.
여러 명령을 사용하여 그렇게 할 수도 있습니다
gh-md-to-html -o "printf {md} >> temp.md; pandoc -f markdown -t html temp.md; rm temp.md" ,
결과가 stdout에 인쇄되는 한.
Python-Interface를 Gh-MD-to-HTML로 사용하는 경우 MarkDown 문자열을 HTML 문자열로 변환하는 기능 을이 인수로 제공 할 수도 있습니다.
문자열로 --core-converter 에 쉽게 공급할 수있는 사전 정의 된 코어 변환기 :
OFFLINE : Github의 Markdown REST API를 모방하지만 Mistune을 사용하여 오프라인. 이를 위해서는 pip3 install gh-md-to-html[offline_conversion] 또는 pip3 install mistune>=2.0.0rc1 사용하여 "offline_conversion"을 만족시키기위한 선택적 종속성이 필요합니다.OFFLINE+ : 오프라인과 동일하게 작동하지만 JavaScript와 같은 잠재적 인 유해한 컨텐츠 및 GitHub REST API와 같은 CSS는 일반적으로 수행하지 않습니다. 모든 인라인 JS/스타일링을 제거하지 않고 수동으로 확인 된 마크 다운 파일을 변환하는 방법이 필요하지 않으면이 기능을 사용하지 마십시오! 인라인 형식 지원 :
gh-md-to-html 기본적으로 인라인 공식을 지원합니다 (어떤 코어 컨버터에 관계없이 위의 참조, 사용). 즉, 같은 줄에 2 달러짜리 표지판 사이에 라텍스 공식을 쓸 수 있으며 상기 공식을 표시하는 SVG 이미지로 대체됩니다. 예를 들어,
$e = m cdot c^2$
아인슈타인의 유명한 공식을 SVG 이미지로 추가 할 것입니다.
gh-md-to-html 항상 로컬 라텍스 설치를 사용 하여이 전환을 수행하려고합니다 (이점 : 빠르고 인터넷이 필요하지 않음). 그러나 라텍스 또는 DisvGM이 설치되지 않았거나 찾을 수없는 경우 온라인 변환기 (이점 : 3GB의 라텍스 라이브러리를 설치할 필요가 없음)를 사용하여이를 달성합니다.
다음 옵션을 사용 하여이 동작을 수정할 수 있습니다.
--math (또는 -m ) : 공식 렌더링을 비활성화하려면 이것을 false 로 설정합니다.--suppress-online-fallbacks : Formula 렌더링에 대한 온라인 폴백을 비활성화하기 위해 true 로 설정하여 요구 사항이 로컬로 설치되지 않았거나 어떤 이유로 찾을 수없는 경우 오류가 발생합니다. 이미지 캐싱 및 이미지 압축 :
위의 심도에 설명 된 바와 같이 GH-MD-to-HTML은 이미지를 저장하여 동일한 폴더에서 모두로드 할 수 있습니다. 이것은 장점과 함께 제공됩니다
이러한 장점 외에도 GH-MD-to-HTML을 사용하면 이러한 이미지에 사용할 이미지 압축 수준을 설정할 수 있습니다. 그렇게하기로 결정한 경우, 모든 이미지는 JPEG (좋아요의 배경색 및 품질 설정을 사용하여)로 변환되며, 생성 된 HTML이 어쨌든 전체 크기로 필요하지 않다고 말하면 이미지가 다운 스케일링됩니다 ( <img> -TAG를 문서에 바로 사용하여 설명과 width height 을 공급할 수 있음).
GH-MD-to-HTML은 HTML srcset -Attribute를 사용할 수있는 유일한 Markdown 변환기이며,이를 통해 생성 된 문서는 동일한 이미지의 여러 가지 스케일 버전을 참조 할 수있게되며 브라우저는 작은 화면 크기로 가장 작은 크기를로드 할 수 있습니다. 이 기능을 활성화하면 가시적 인 이미지 품질을 희생하지 않고 추가로드 시간 감소로 이어질 수 있으며, 이는 이미지가 많은 Markdown 파일에서 빠르게로드하는 웹 사이트를 생성하려면 GH-MD-to-HTML이 최상의 선택으로 만듭니다.
이 모든 것에 사용하는 옵션은입니다
--compress-images .
다음 속성을 가진 JSON 데이터를 수용합니다.
bg-color : RGBA 이미지를 JPEG (RGB- 형식)로 변환 할 때 배경색으로 사용할 색상. " white "으로 기본값을 받고 거의 모든 html5 색상 값 ( " #FFFFFF ", " #ffffff ", " white "및 " rgb(255, 255, 255) "가 모두 유효한 값이었을 것입니다).progressive : 이미지를 프로그레시브 JPEG로 저장하십시오. 기본값은 False입니다.srcset : 이미지의 다르게 스케일 된 버전을 저장하고 SRCSET 속성의 이미지에 제공합니다. 기본값으로 거짓. " [500, 800, 1200, 1500, 1800, 2000] 의 바로 가기 역할을하는 다른 너비 또는 True 의 배열을 취합니다.quality : 이미지를 저장 해야하는 품질을 설명하는 0에서 100까지의 값. 기본값은 90입니다. HTML의 특정 이미지에 대해 특정 크기가 지정되면 품질을 줄이기 전에 이미지가 항상 올바른 크기로 변환됩니다.이 인수가 비어 있으면 압축이 전혀 사용되지 않습니다. 이 인수가 true로 설정되면 모든 기본값이 사용됩니다. JSON 데이터로 설정되고 일부 값이 생략되면 기본값이 사용됩니다.
Python Frontend 에서이 옵션을 사용하는 경우 JSON 데이터가 포함 된 문자열 대신 DICT를 전달할 수도 있습니다.
이미지 캐싱을 비활성화하기 위해 -i 사용하는 경우 명백한 이유로 이미지 압축이 작동하지 않습니다.
내 개인적인 선택 :
Github- 맛의 Markdown과 Markdown은 일반적으로 인기가없는 선택을하고 GH-MD-TO-HTML을 모방하면서 많은 것을 만듭니다. 목표가 (Github-flavored) Markdown에 가능한 한 가깝지 않으면 GH-MD-to-HTML이 최대한으로 제공하는 전체 힘을 활용하려면 다음 (매우 의견이 많은) 설정 및 옵션 목록을 권장합니다. 그러나 사용자가 생성 한 컨텐츠를 변환 할 때는이 중 일부가 안전하지 않습니다.
--math true : 이것은 기본적으로 이미 활성화되어 있으므로 실제로 권장 사항은 아니지만 파일에 라텍스 수학 지원을 원할 것입니다.--core-converter OFFLINE+ : github의 REST API를 사용하는 대신 Markdown 파일을 오프라인으로 변환하고 인라인 코드 및 Markdown 파일에서 원하는 모든 HTML과 같은 안전하지 않은 물건을 사용할 수 있습니다.--compress-images :이 옵션을 미세화하는 방법에는 여러 가지가 있지만 HTML srcset -Attribute의 사용을 포함하여 캐시 된 이미지에 대한 약간의 최적화가 가능하며 다른 Markdown 변환기는 현재 AFAIK를 지원하지 않습니다.--box-width 25cm : 생성 된 HTML을 더 큰 HTML 파일에 포함시키지 않는 한, 생성 된 웹 사이트의 컨텐츠가 가독성 이유로 표시되는 상자의 너비를 제한하고 싶을 것입니다.--toc true : [[_TOC_]] 생성 된 파일의 목차에 대한 바로 가기로 사용할 수 있습니다.--dont-make-images-links true : 기본적으로 Github는 이미지가 이미 다른 링크로 랩핑되지 않는 한 모든 이미지를 이미지 소스에 대한 링크로 랩핑합니다. 이 옵션은 이미지의 링크를보다 제어 할 수 있도록이 동작을 비활성화합니다.--emoji-support 2 : gh-md-to-html은 다음과 :joy: 이모티콘 단축 코드를 사용하여 다음과 같이 지원합니다. --emoji-support 2 자신의 사용자 정의 이모티콘 :path/to/funny_image.png: 사용할 수있게 함으로써이 한 레벨을 더 많이 차지 funny_image.png .--soft-wrap-in-code-boxes true : 기본적으로 Github는 오버플레이션의 위험이있는 경우 수평 스크롤 바와 함께 멀티 라인 코드 상자를 표시합니다. 이 옵션을 사용하여 대신 코드 박스에 소프트 랩 (IMHO보다 합리적) 소프트 랩을 사용하십시오. 옵션은 관련성에 의해 주문되어 있으며, 이들은 모두 합리적인 기본값을 가지고 있으므로 얼마나 많은지에 압도적이라고 느끼지 마십시오. 당신은 당신이 찾고있는 곳을 찾을 때까지 그것들을 읽고 나머지를 안전하게 무시할 수 있습니다.
대부분의 옵션은 기본 동작을 사용자 정의하기위한 것이므로 대부분의 사용 사례에 대해서는 필수적이지 않습니다.
usage: __main__.py [-h] [-t {file,repo,web,string}]
[-w WEBSITE_ROOT [WEBSITE_ROOT ...]]
[-d DESTINATION [DESTINATION ...]]
[-i [IMAGE_PATHS [IMAGE_PATHS ...]]]
[-c CSS_PATHS [CSS_PATHS ...]]
[-n OUTPUT_NAME [OUTPUT_NAME ...]]
[-p OUTPUT_PDF [OUTPUT_PDF ...]] [-s STYLE_PDF]
[-f FOOTER [FOOTER ...]] [-m MATH]
[-x EXTRA_CSS [EXTRA_CSS ...]]
[-o CORE_CONVERTER [CORE_CONVERTER ...]]
[-e COMPRESS_IMAGES [COMPRESS_IMAGES ...]]
[-b BOX_WIDTH [BOX_WIDTH ...]] [-a TOC]
MD-origin [MD-origin ...]
Convert markdown to HTML using the GitHub API and some additional tweaks with
python.
positional arguments:
MD-origin Where to find the markdown file that should be
converted to html
optional arguments:
-h, --help show this help message and exit
-t {file,repo,web,string}, --origin-type {file,repo,web,string}
In what way the MD-origin-argument describes the origin
of the markdown file to use. Defaults to file. The
options mean:
* file: takes a relative or absolute path to a file
* repo: takes a path to a markdown-file in a github
repository, such as <user_name>/<repo_name>/<branch-
name>/<path_to_markdown>.md
* web: takes an url to a markdown file
* string: takes a string containing the files content
-w WEBSITE_ROOT [WEBSITE_ROOT ...], --website-root WEBSITE_ROOT [WEBSITE_ROOT ...]
Only relevant if you are creating the html for a static
website which you manage using git or something similar.
--website-root is the directory from which you serve
your website (which is needed to correctly generate the
links within the generated html, such as the link
pointing to the css, since they are all root- relative),
and can be a relative as well as an absolute path.
Defaults to the directory you called this script from.
If you intent to view the html file on your laptop
instead of hosting it on a static site, website-root
should be a dot and destination not set. The reason the
generated html files use root-relative links to embed
images is that on many static websites,
https://foo/bar/index.html can be accessed via
https://foo/bar, in which case relative (non-root-
relative) links in index.html will be interpreted as
relative to foo instead of bar, which can cause images
not to load.
-d DESTINATION [DESTINATION ...], --destination DESTINATION [DESTINATION ...]
Where to store the generated html. This path is relative
to --website-root. Defaults to "".
-i [IMAGE_PATHS [IMAGE_PATHS ...]], --image-paths [IMAGE_PATHS [IMAGE_PATHS ...]]
Where to store the images needed or generated for the
html. This path is relative to website-root. Defaults to
the "images"-folder within the destination folder. Leave
this option empty to completely disable image
caching/downloading and leave all image links
unmodified.
-c CSS_PATHS [CSS_PATHS ...], --css-paths CSS_PATHS [CSS_PATHS ...]
Where to store the css needed for the html (as a path
relative to the website root). Defaults to the
"<WEBSITE_ROOT>/github-markdown-css"-folder.
-n OUTPUT_NAME [OUTPUT_NAME ...], --output-name OUTPUT_NAME [OUTPUT_NAME ...]
What the generated html file should be called like. Use
<name> within the value to refer to the name of the
markdown file that is being converted (if you don't use
"-t string"). You can use '-n print' to print the file
(if using the command line interface) or return it (if
using the python module), both without saving it.
Default is '<name>.html'.
-p OUTPUT_PDF [OUTPUT_PDF ...], --output-pdf OUTPUT_PDF [OUTPUT_PDF ...]
If set, the file will also be saved as a pdf file in the
same directory as the html file, using pdfkit, a python
library which will also need to be installed for this to
work. You may use the <name> variable in this value like
you did in --output-name. Do not use this with the -c
option if the input of the -c option is not trusted;
execution of malicious code might be the consequence
otherwise!!
-s STYLE_PDF, --style-pdf STYLE_PDF
If set to false, the generated pdf (only relevant if you
use --output-pdf) will not be styled using github's css.
-f FOOTER [FOOTER ...], --footer FOOTER [FOOTER ...]
An optional piece of html which will be included as a
footer where the 'hosted with <3 by github'-footer in a
gist usually is. Defaults to None, meaning that the
section usually containing said footer will be omitted
altogether.
-m MATH, --math MATH If set to True, which is the default, LaTeX-formulas
using $formula$-notation will be rendered.
-x EXTRA_CSS [EXTRA_CSS ...], --extra-css EXTRA_CSS [EXTRA_CSS ...]
A path to a file containing additional css to embed into
the final html, as an absolute path or relative to the
working directory. This file should contain css between
two <style>-tags, so it is actually a html file, and can
contain javascript as well. It's worth mentioning and
might be useful for your css/js that every element of
the generated html is a child element of an element with
id xxx, where xxx is "article-" plus the filename
(without extension) of:
* output- name, if output-name is not "print" and not
the default value.
* the input markdown file, if output- name is "print",
and the input type is not string. * the file with the
extra-css otherwise. If none of these cases applies, no
id is given.
-o CORE_CONVERTER [CORE_CONVERTER ...], --core-converter CORE_CONVERTER [CORE_CONVERTER ...]
The converter to use to convert the given markdown to
html, before additional modifications such as formula
support and image downloading are applied; this defaults
to using GitHub's REST API and can be
* on Unix/ any system with a cmd: a command containing
the string "{md}", where "{md}" will be replaced with an
escaped version of the markdown file's content, and
which returns the finished html. Please note that
commands for Unix-system won't work on Windows systems,
and vice versa etc.
* when using gh-md-to- html in python: A callable which
converts markdown to html, or a string as described
above.
* OFFLINE as a value to indicate that gh-md-to-html
should imitate the output of their builtin
md-to-html-converter using mistune. This requires the
optional dependencies for "offline_conversion" to be
satisfied, by using `pip3 install
gh-md-to-html[offline_conversion]` or `pip3 install
mistune>=2.0.0rc1`.
* OFFLINE+ behaves identical to OFFLINE, but it doesn't
remove potentially harmful content like javascript and
css like the GitHub REST API usually does. DO NOT USE
THIS FEATURE unless you need a way to convert secure
manually-checked markdown files without having all your
inline js stripped away!
-e COMPRESS_IMAGES [COMPRESS_IMAGES ...], --compress-images COMPRESS_IMAGES [COMPRESS_IMAGES ...]
Reduces load time of the generated html by saving all
images referenced by the given markdown file as jpeg.
This argument takes a piece of json data containing the
following information; if it is not used, no compression
is done:
* bg-color: the color to use as a background color when
converting RGBA-images to jpeg (an RGB-format). Defaults
to "white" and accepts almost any HTML5 color-value
("#FFFFFF", "#ffffff", "white" and "rgb(255, 255, 255)"
would've all been valid values).
* progressive: Save images as progressive jpegs. Default
is False.
* srcset: Save differently scaled versions of the image
and provide them to the image in its srcset attribute.
Defaults to False. Takes an array of different widths or
True, which serves as a shortcut for "[500, 800, 1200,
1500, 1800, 2000]".
* quality: a value from 0 to 100 describing at which
quality the images should be saved (this is done after
they are scaled down, if they are scaled down at all).
Defaults to 90. If a specific size is specified for a
specific image in the html, the image is always
converted to the right size. If this argument is left
empty, no compression is down at all. If this argument
is set to True, all default values are used. If it is
set to json data and values are omitted, the defaults
are also used. If a dict is passed instead of json data
(when using the tool as a python module), the dict is
used as the result of the json data.
-b BOX_WIDTH [BOX_WIDTH ...], --box-width BOX_WIDTH [BOX_WIDTH ...]
The text of the rendered file is always displayed in a
box, like GitHub READMEs and issues are. By default,
this box fills the entire screen (max-width: 100%), but
you can use this option to reduce its max width to be
more readable when hosted stand-alone; the resulting box
is always centered. --box-width accepts the same
arguments the css max-width attribute accepts, e.g. 25cm
or 800px.
-a TOC, --toc TOC Enables the use of `[[_TOC_]]`, `{:toc}` and `[toc]`
at the beginning of an otherwise empty line to create a
table of content for the document. These syntax are
supported by different markdown flavors, the most
prominent probably being GitLab-flavored markdown
(supports `[[_TOC_]]`), and since GitLab displays its
READMEs quite similar to how GitHub does it, this option
was added to improve support for GitLab- flavored
markdown.
위에서 언급 한 바와 같이, Markdown 파일에 참조 된 모든 이미지는 로컬로 저장되고 생성 된 HTML에서 루트-관련 하이퍼 링크를 사용하여 참조됩니다. 컨버터가 이미지의 위치를 추측하는 방법은 다음 표에 표시되며, imagelink 유형이 상단에 표시되고 입력 유형의 왼쪽에 표시됩니다.
https:// 또는 http:// | ABS. FilePath | rel. FilePath | / (예 : /imagedir/image.png )부터 시작 | / (예 : imagedir/image.png )로 시작하지 않음 | |
|---|---|---|---|---|---|
-t file | 주소에서 | ABS. FilePath | rel. FilePath ( .md -file 거짓말)에서 | - | - |
-t string | 주소에서 | abs. filepath이지만 보안상의 이유로 확인이 필요합니다 | rel. FilePath (도구가 호출되는 곳)이지만 보안상의 이유로 확인이 필요합니다. | - | - |
username/repo/dir/file.md -t repo | 주소에서 | - | - | username/repo/imagedir/image.png | username/repo/dir/imagedir/image.png |
https://foo.com/bar/baz.md -t web | 주소에서 | - | - | https://foo.com/image.png | https://foo.com/bar/image.png |
내 모든 프로젝트와 마찬가지로 피드백 (피드백은 제 프로젝트에 대한 사용 사례를 알려주거나 ReadMe의 구조가 마음에 들지 않았다고 말하거나 특별히 특정 기능을 좋아한다고 말하는 것과 같은 작은 것도). 피드백, 짧고 비공식적 인 문제로 문제를 삭제하거나 어떤 이유로 문제를 제기하고 싶지 않은 경우 저에게 이메일을 보낼 수도 있습니다. 나는 현재 미래에 기능을 추가 할 계획이 없지만 항상 기존 기능, Documentation et Cetera를 수정하고 조정하는 데 개방적이며 가까운 시일 내에 추가 할 계획이 없더라도 기능 제안을 듣고 싶습니다.
나는 Github 문제에 관해서는 일반적으로 매우 반응이 좋으며, 그것들을 매우 진지하게 받아들이고 최대한 빨리 해결하려고 노력합니다. 내 도구를 사용하는 동안 버그, 이상한 동작, 설치 오류 등을 사용하는 경우 주저하지 말고 문제를 해결하여 문제를 해결할 수 있습니다!
이 도구가 유용하다고 생각되면 Github에 출연하여 감사의 말을 전하십시오! 또한 코드 사본에서 문제를 해결하더라도 발생하는 문제에 대해 말해 주면 감사하겠습니다. 그래서이 저장소에서도 수정할 수 있습니다.
gh-md-to-html 사용하는 방법에 대한 더 나은 설명 (MD-to-PDF 변환에 대한 요점 아래) : 링크gh-md-to-html 에 대한 간단한 언급 : 링크아이콘은 만들어졌습니다
.md-file.icon : flaticon.com의 Freepik
.md-file.icon : flaticon.com의 Freepik
Arrow-Icon : Font Awesome By Dave Gandy, Creative Commons Attribution-Share alke 3.0 Unported에 따라 라이센스
github-iCon : iconscout의 github 아이콘
면책 조항 :이 모듈은 Github에 의해 작성되지 않았으며 Github가 지원하거나 Github에 의해 구동되거나 Github와 제휴 한 Github가 승인되지 않습니다. MIT 라이센스에 따라 GitHub에서 라이센스가 부여 된 .CSS-File뿐만 아니라 GitHub에서 제공하는 공개 API 만 사용합니다.