Set up Quartz first

This plugin manages Quartz content from Obsidian. Please set up Quartz if you have not already. See instructions below.

Set up Quartz

Create Quartz GitHub repository

If you haven’t set up a Quartz repository on GitHub yet, click here to create it using the Quartz template.

Configure Quartz settings

Configure quartz.config.ts

Configure the following settings in the quartz.config.ts file:

(Below example only shows a subset of all settings. Please do not remove any settings.)

quartz.config.ts
const config: QuartzConfig = {
  configuration: {
    pageTitle: "Quartz 4",
    // Change to your desired site title
    ...
    baseUrl: "quartz.jzhao.xyz",
    // Change to your site URL without https://.
    // This is your own domain,
    // or "<github-user-name>.github.io/<repository-name>" when using GitHub Pages.
    // See below for details
    ...
    defaultDateType: "modified",
    // Change to tell Quartz what date to display on notes
    // Valid options:
    // "created", use when the note was created.
    // "modified", use when the note was last modified.
    // "published", use when the note was published.
    // See Quartz docs for details.
    ...
    }
  }
  plugins: {
    transformers: [
      ...
      Plugin.CrawlLinks({ markdownLinkResolution: "shortest" }),
      // Sets how Quartz should resolve links between notes.
      // Should match the settings you use in Obsidian.
      // Valid options:
      // "shortest"
      // "relative"
      // "absolute"
      ...
    ]
    ...
  }
}

Configure automatic deployment

If you haven’t already, set up Quartz to automatically deploy on push:

GitHub Pages setup (recommended)

In your GitHub repository, go to Settings > Pages and set Source to “GitHub Actions”.

Next, add one of the following deploy scripts:

For other options, see the Quartz docs on hosting.

Generating a fine-grained access token

  1. Go to this page and apply the following settings:
  2. Token name: The name to identify this token. I’d recommend something that indicates it is for Quartz Syncer, like Quartz Syncer token.
  3. Expiration: When this token will expire. Defaults to 30 days from now. GitHub will send you an email when your token is about to expire.
  4. Repository access: Select Only select repositories and in the drop-down select your Quartz repository.
  5. Permissions: Click Repository permissions to open all options.
  6. Scroll to the Contents option and change Access: No access to Access: Read and write. This will allow Quartz Syncer to manage your Quartz’ content folder.
  7. Now scroll down and click the button that says Generate token.
  8. A popup with show with the current settings. Click Generate token to confirm.
  9. Click the copy button to copy the generated access token.
  10. Open Obsidian.
  11. Open Obsidian’s settings and click on Quartz Syncer under Community Plugins.
  12. Paste the generated token in the GitHub token field.

Set up Quartz Syncer

In Obsidian, open Settings > Community Plugins > Quartz Syncer > Options and configure the following fields:

  • GitHub repo name: the name of your repository on GitHub.
  • GitHub username: the name of the GitHub user (or organization) the repository belongs to.
  • GitHub token: the generated authentication token to allow Quartz Syncer to manage your Quartz content folder.

After setting all three fields, you should get a green checkmark in the Quartz Syncer options. If not, check the relevant troubleshooting page for help.

That’s it

You should now be able to start publishing to Quartz using Quartz Syncer.

For further details, check the Usage Guide.