edit | blame | history | raw

---

title: Authoring Content

All of the content in your Quartz should go in the /content folder. The content for the home page of your Quartz lives in content/index.md. If you've [[index#🪴 Get Started|setup Quartz]] already, this folder should already be initailized. Any Markdown in this folder will get processed by Quartz.

It is recommended that you use Obsidian as a way to edit and maintain your Quartz. It comes with a nice editor and graphical interface to preview, edit, and link your local files and attachments.

Got everything setup? Let's [[build]] and preview your Quartz locally!

Syntax

As Quartz uses Markdown files as the main way of writing content, it fully supports Markdown syntax. By default, Quartz also ships with a few syntax extensions like Github Flavored Markdown (footnotes, strikethrough, tables, tasklists) and Obsidian Flavored Markdown ([[callouts]], [[wikilinks]]).

Additionally, Quartz also allows you to specify additional metadata in your notes called frontmatter.

```md title="content/note.md"

title: Example Title
draft: false
tags:

- example-tag

The rest of your content lives here. You can use Markdown here :)
```

Some common frontmatter fields that are natively supported by Quartz:

  • title: Title of the page. If it isn't provided, Quartz will use the name of the file as the title.
  • aliases: Other names for this note. This is a list of strings.
  • draft: Whether to publish the page or not. This is one way to make [[private pages|pages private]] in Quartz.
  • date: A string representing the day the note was published. Normally uses YYYY-MM-DD format.

Syncing your Content

When you're Quartz is at a point you're happy with, you can save your changes to GitHub by doing npx quartz sync.

[!hint] Flags and options
For full help options, you can run npx quartz sync --help.

Most of these have sensible defaults but you can override them if you have a custom setup:

  • -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