Markdown 문서를 정적 HTML 페이지로 표시하는 제로 구성 스크립트
Gumdrop 은 Markdown으로 작성된 웹 사이트와 문서를 생성할 수 있는 사용하기 쉬운 독립형 스크립트로 설계되었습니다. CDN(Markdown 파서 포함)에서 모든 종속성을 동적 로드하며 구성이나 초기화가 필요하지 않습니다.
Gumdrop은 설치가 필요하지 않으며 script 태그가 있는 HTML 문서에 로드하기만 하면 됩니다.
< script src =" https://cdn.jsdelivr.net/npm/gumdrop@4 " > </ script > Markdown을 사용하여 정적 웹사이트를 만들려면 파일 서버에 HTML 템플릿( index.html )을 만들고 Gumdrop을 외부 스크립트 파일로 추가하기만 하면 됩니다.
< main > </ main >
< script src =" path/to/gumdrop.js " >
file프로토콜은 가져오기 요청을 지원하지 않으므로http/https프로토콜을 통해 파일을 제공해야 합니다.
pages 폴더에 있는 마크다운 파일을 로드할 수 있습니다. Gumdrop은 URL의 해시 조각을 감시하고 pages 폴더에서 해당 Markdown 파일을 로드합니다. 구문 분석된 Markdown 파일은 존재하는 경우 <main> HTML 노드에서 렌더링되고, 그렇지 않은 경우 body 에서 렌더링됩니다. 파일이 지정되지 않은 경우 로드되는 기본 파일은 pages/index.md 입니다. pages 폴더의 다른 파일에 대한 링크를 만들려면 이름 앞에 #!/ 가 붙은 링크를 만드세요.
[ Link to about.md ] ( #!/about ) 정적 리소스(예: 이미지)는 파일 서버에서 제공하는 모든 폴더에서 로드할 수 있으며 경로는 index.html 에 상대적입니다. 다양한 HTTP 오류에 대한 오류 페이지는 errors 폴더에 배치될 수 있습니다. 각 파일은 그것이 나타내는 HTTP 오류 코드에 따라 이름을 지정해야 합니다(예: errors/404.md ).
YAML 서문에서 문서에 대한 추가 데이터를 지정할 수 있습니다. 콧수염 템플릿을 사용하여 모든 Markdown 문서에서 이 데이터에 액세스할 수 있습니다.
별도의 파일을 사용하여 데이터를 저장하고 이러한 리소스 파일을 머리말의 문서에 연결할 수도 있습니다. 리소스 파일은 YAML(기본값), JSON 또는 Markdown 유형을 사용할 수 있습니다. !file 유형으로 주석이 달린 문서 머리말의 모든 값은 파일 리소스로 간주됩니다. 선행 / 로 시작하는 파일 경로는 index.html 에 상대적입니다. 선행 / 누락된 경우 data 폴더가 리소스 위치로 간주됩니다. 파일 유형(확장자)이 지정되지 않으면 .yaml 확장자가 가정됩니다. .md 리소스 파일의 경우 반환되는 값은 렌더링된 Markdown 문서입니다.
# data/todo.yaml
todos :
- title : First todo
text : Complete your first assignment
completed : true
- title : YAML
text : Learn more about YAML Front Matters
completed : false ---
todos: !file todo.yaml
---
{{#todos}}
- **{{title}}**: {{text}} {{#completed}}(✔){{/completed}}
{{/todos}}
Fenced 코드 블록은 Prism.js에 의해 자동으로 처리됩니다. 지원되는 언어는 Prism.js 번들의 기본 언어입니다. 구문 강조를 위해서는 index.html 에 Prism.js 스타일을 포함해야 합니다.
< link rel =" stylesheet " href =" https://cdn.jsdelivr.net/npm/prismjs@1/themes/prism.css " /> 정적 파일 서버 역할을 할 수 있으므로 GitHub 페이지와 함께 Gumdrop을 사용할 수 있습니다. GitHub 페이지가 Jekyll을 사용하여 사이트를 변환하는 것을 방지하려면 사이트 루트에 빈 .nojekyll 파일을 추가하세요.
모든 아이디어, 권장 사항, 버그 보고서, 끌어오기 요청을 환영합니다. ?