Python으로 작성된 경량 정적 사이트 생성기입니다.
특징:
pip install --upgrade gnrt
$PATH
에 $HOME/.local/bin
추가해야 할 수도 있습니다.
gnrt
gnrt
현재 작업 디렉터리에서 선택적 config.yml
파일, templates
폴더에서 선택적 Jinja2 템플릿, content
폴더에서 마크다운 파일을 찾은 다음 content
폴더와 하위 폴더를 존중하면서 생성된 출력 파일을 public
폴더에 씁니다. 폴더 구조.
옵션 목록을 얻으려면 다음을 사용하십시오.
gnrt -h
구성은 config.yml
에 저장됩니다. 모든 키-값 쌍이 허용됩니다. 이러한 키와 해당 값은 콘텐츠 및 템플릿 파일에서 사용할 수 있습니다.
---
sitename: My awesome blog
baseurl: https://example.com
language: en
foo: bar
config.yml
파일이 있으면 gnrt
defaults
을 찾아 항목을 lists
.
여기서는 콘텐츠 파일에서 재정의할 수 있는 기본 구성 값을 정의합니다.
예:
defaults:
template: default.j2
markdown-extras:
- break-on-newline
- fenced-code-blocks
nav: includes/nav.html
bar: foo
이러한 키는 특정한 의미를 가지며 해당 값은 다른 default
과 마찬가지로 콘텐츠 파일에서 재정의될 수 있습니다.
markdown-extras
: Markdown 확장을 활성화할 수 있습니다. 값 목록은 Extras를 참조하세요.template
: 콘텐츠 파일을 렌더링하는 동안 사용할 기본 Jinja 템플릿을 설정합니다.여기에서 콘텐츠 목록이 정의되어 예를 들어 링크 목록을 생성할 수 있습니다.
예:
lists:
nav1:
filter:
key: category
value: page
template: nav-page.j2
nav2:
filter:
key: category
value: article
sort: published
reverse: true
template: nav-article.j2
rss:
filter:
key: category
value: article
sort: published
reverse: true
template: rss.j2
target: public/rss.xml
목록은 메타데이터 key
와 일치하는 value
가져오는 filter
통해 콘텐츠를 선택할 수 있습니다.
메타데이터 값(예: 게시 날짜, 정수 등)을 기준으로 정방향(기본값) 또는 reverse
으로 정렬할 수 있습니다.
렌더링하는 동안 생성된 콘텐츠는 캐싱을 위해 includes
폴더에 저장되며, target
키를 통해 파일 경로를 사용자 정의할 수 있습니다. 이를 통해 예를 들어 RSS 피드를 생성할 수 있습니다.
콘텐츠 파일은 확장자가 .md
이며 content
폴더에 저장됩니다.
콘텐츠 파일에는 YAML로 작성된 머리말, 즉 구조화된 메타데이터가 있을 수 있습니다.
여기에서 기본값을 재정의할 수 있습니다.
예:
---
id: home
title: Home
link: /
nav-order: 3
---
id
: 이 항목의 메타데이터에 액세스하기 위해 모든 콘텐츠 파일에서 사용할 수 있는 현재 항목 식별자입니다.link
: 생성된 페이지의 URLtarget
: 생성된 파일의 경로title
: 현재 항목의 제목 콘텐츠 body
Markdown으로 작성됩니다.
또한 다른 페이지에 대한 링크와 같은 dataset
값을 삽입할 수 있는 Jinja2 구문 및 자리 표시자가 포함될 수도 있습니다.
Check the [about]({{ data.about.link }}) page or read the [articles]({{ data.articles.link }})!
gnrt
설치하고, 이 저장소를 복제하고, gnrt/docs/example
로 이동하고, gnrt
실행하여 생성할 수 있는 docs/example
의 예제 웹사이트를 참조하세요.
그런 다음 생성된 public
폴더로 이동하고 python3 -m http.server 8080
실행하여 http://localhost:8080/
에서 찾아볼 수 있습니다.
gnrt가 생성한 실시간 블로그를 확인하고 gnrt에 대한 이 기사를 읽어볼 수도 있습니다.