Quartz Scaffold — Colliers/Costal

Esta pasta é o scaffold da configuração Quartz. Não é o repositório Quartz em si.

Como usar

Repo de destino: Anouk-Partners/colliers-costal-wiki.

Recomendado: rodar ../bootstrap.sh — automatiza tudo abaixo.

Manual:

  1. Clonar o repo localmente: git clone https://github.com/Anouk-Partners/colliers-costal-wiki.git
  2. Trazer código Quartz v4 como base (ver deployment-guide §1.2)
  3. Copiar os arquivos desta pasta para dentro do repo Quartz nos caminhos indicados:
    • quartz.config.ts → raiz do repo (base config — sobrescreve a default)
    • filters/audience-filter.tsquartz/plugins/filters/
    • filters/ignore-patterns.tsquartz/plugins/filters/
  4. Content: o conteúdo do vault entra em content/ (via rclone no CI — ver sync-options)

Por que não há mais build-internal.ts / build-client.ts / build-board.ts?

Quartz v4 não aceita --config; sempre lê ./quartz.config.ts. A audiência é controlada por env var AUDIENCE (lida pela config). Para buildar cada audiência:

AUDIENCE=internal BASE_URL=interno.colliers.wiki.anoukpartners.com npx quartz build --output public-internal
AUDIENCE=client   BASE_URL=cliente.colliers.wiki.anoukpartners.com npx quartz build --output public-client
AUDIENCE=board    BASE_URL=board.colliers.wiki.anoukpartners.com   npx quartz build --output public-board

Todo o filtro de audiência está em quartz.config.ts + quartz/plugins/filters/audience-filter.ts.

Estrutura esperada no repo final

colliers-costal-wiki/                  ← repo GitHub
├── quartz.config.ts                   ← config base (deste scaffold)
├── build-internal.ts                  ← config internal (override filter)
├── build-client.ts                    ← config client
├── build-board.ts                     ← config board
├── quartz/
│   ├── plugins/
│   │   └── filters/
│   │       ├── audience-filter.ts     ← filtro custom (deste scaffold)
│   │       └── ignore-patterns.ts     ← paths da denylist
│   └── ...                            ← código Quartz padrão
├── content/                           ← vault (via sync)
└── public/                            ← output do build

Notas importantes

  • Quartz v4 usa TypeScript/ESM. Node ≥ 22 obrigatório (Quartz 4.5+).
  • O filter audience-filter lê frontmatter publish: e compara com AUDIENCE (env var).
  • Cada build (build-internal, build-client, build-board) apenas define AUDIENCE diferente.
  • CI (GitHub Actions) roda os três em paralelo com matrix.

Ver também: deployment-guide, wiki.yml.