roadmap/content/hosting.md

1.3 KiB

title
Hosting

Quartz effectively turns your Markdown files and other resources into a bundle of HTML, JS, and CSS files (a website!).

However, if you'd like to publish your site to the world, you need a way to host it online. This guide will detail how to deploy with either GitHub Pages or Cloudflare pages but any service that allows you to deploy static HTML should work as well (e.g. Netlify, Replit, etc.)

GitHub Pages

Like Quartz 3, you can deploy the site generated by Quartz 4 via GitHub Pages.

In your local Quartz, create a new file quartz/.github/workflows/deploy.yaml:

name: Deploy to GitHub Pages

on:
  push:
    branches:
      - v4-alpha

jobs:
  deploy:
    runs-on: ubuntu-22.04
    steps:
      - uses: actions/checkout@v2
        with:
          fetch-depth: 0    # Fetch all history for git info

	  - uses: actions/setup-node@v3
        with:
          node-version: 18.14

      - name: Install Dependencies
        run: npm ci

      - name: Build Quartz
        run: npx quartz build

      - name: Deploy
        uses: peaceiris/actions-gh-pages@v3
        with:
          github_token: ${{ secrets.GITHUB_TOKEN }}
          publish_dir: ./public
          publish_branch: master  # deploying branch
          cname: quartz.jzhao.xyz

Then, the next time you

Cloudflare Pages