Quartz is a fast, batteries-included static-site generator that transforms Markdown content into fully functional websites. This is used on top of an existing Obsidian Vault in order to share it publicly on the internet.

More reference information can be found here

Process

  1. Changes are made to my local copy of my Obsidian Vault
  2. Changes are then pushed to a GitHub repository
  3. Cloudflare Pages builds a static copy from this repository.

Running Locally

npx quartz build --serve

Syncing Content

Use npx quartz sync

Flags and options

  • -d or --directory: the content folder. This is normally just content
  • -v or --verbose: print out extra logging information
  • --commit or --no-commit: whether to make a git commit for your changes
  • --push or --no-push: whether to push updates to your GitHub fork of Quartz
  • --pull or --no-pull: whether to try and pull in any updates from your GitHub fork (i.e. from other devices) before pushing

Frontmatter

Obsidian and Quartz both support the use of YAML frontmatter in order to define certain attributes and variables for a given note. The following frontmatter is included on all published pages.

---
date: 2023-12-03
tags: 
publish: true
---
  • date: A string representing the day the note was published. Normally uses YYYY-MM-DD format.
  • tags: A list of strings representing the tags associated to this note.
  • publish: A boolean indicating whether a page is to be published. Defaults to false.

Folder/Tag Listings

Quartz creates an index page for each unique tag and folder (including subfolders)

  • For tags, create a corresponding file in tags/
  • For folders, create an index.md in the folder