MarkDown 파일들을 static HTML 파일로 변환한 후 git repo에 push 해주는 툴.

공식 repo 홈페이지

Quartz는 컨텐츠용 GitHub repo를 하나 새로 만들어 쓰는 것을 전제로 한다.

특징

  • 처음에 Quartz repogit clone 후, 개인용 새로운 repo를 만들어 remote origin으로 교체해서 쓴다.
  • 기본적으로 CLI 툴임: npx quartz sync 명령 등을 제공
  • 내부적으로 node.js 사용
    • 제작자가 올린 redidit에 따르면 v3까지는 내부적으로 Hugo를 사용했으나, v4부터 node.js + JSX로 바꿨다고 함.
  • GitHub를 repo로 쓸 경우: GitHub Action 사용 가능
  • Hosting 설명을 보면 GitHub보다 CloudFlare Pages를 더 추천하는 듯 함.
  • Syntax Highlight 기능

퍼블리싱 흐름

flowchart TD

subgraph Quartz
    subgraph /content
        Files["*.md"]
    end
end
Files -.-> Quartz
Quartz -.-> sync(npx quartz sync)
sync -.->|commit & push| GitHub(GitHub)
GitHub -.-> Pages(CloudFlare Pages)
GitHub -.-> github_page(username.github.io/repo)
Pages -.-> build(Build Static Pages)
build -.-> cloudflare_pages(*.pages.dev)

퍼블리시: npx quartz sync

최초 셋업 이후 Obsidian으로 수정한 *.md 파일을 퍼블리시 할 때 사용한다.

npx quartz sync
 Quartz v4.3.1

Backing up your content
...
...
오브젝트 쓰는 중: 100% (11/11), 1.48 KiB | 1.48 MiB/s, 완료.
Total 11 (delta 8), reused 0 (delta 0), pack-reused 0 (from 0)
remote: Resolving deltas: 100% (8/8), completed with 8 local objects.
To https://github.com/****/****.git
   44164b48..d2a5840c  v4 -> v4
branch 'v4' set up to track 'origin/v4'.
Done!

TODO

상세 셋업

favicon 변경

/quartz/static/icon.png 변경하면 된다.