| | |
| | | This part of the configuration concerns anything that can affect the whole site. The following is a list breaking down all the things you can configure: |
| | | |
| | | - `pageTitle`: title of the site. This is also used when generating the [[RSS Feed]] for your site. |
| | | - `pageTitleSuffix`: a string added to the end of the page title. This only applies to the browser tab title, not the title shown at the top of the page. |
| | | - `enableSPA`: whether to enable [[SPA Routing]] on your site. |
| | | - `enablePopovers`: whether to enable [[popover previews]] on your site. |
| | | - `analytics`: what to use for analytics on your site. Values can be |
| | | - `null`: don't use analytics; |
| | | - `{ provider: 'google', tagId: '<your-google-tag>' }`: use Google Analytics; |
| | | - `{ provider: 'plausible' }` (managed) or `{ provider: 'plausible', host: '<your-plausible-host>' }` (self-hosted): use [Plausible](https://plausible.io/); |
| | | - `{ provider: 'plausible' }` (managed) or `{ provider: 'plausible', host: 'https://<your-plausible-host>' }` (self-hosted, make sure to include the `https://` protocol prefix): use [Plausible](https://plausible.io/); |
| | | - `{ provider: 'umami', host: '<your-umami-host>', websiteId: '<your-umami-website-id>' }`: use [Umami](https://umami.is/); |
| | | - `{ provider: 'goatcounter', websiteId: 'my-goatcounter-id' }` (managed) or `{ provider: 'goatcounter', websiteId: 'my-goatcounter-id', host: 'my-goatcounter-domain.com', scriptSrc: 'https://my-url.to/counter.js' }` (self-hosted) use [GoatCounter](https://goatcounter.com); |
| | | - `{ provider: 'posthog', apiKey: '<your-posthog-project-apiKey>', host: '<your-posthog-host>' }`: use [Posthog](https://posthog.com/); |
| | | - `{ provider: 'tinylytics', siteId: '<your-site-id>' }`: use [Tinylytics](https://tinylytics.app/); |
| | | - `{ provider: 'cabin' }` or `{ provider: 'cabin', host: 'https://cabin.example.com' }` (custom domain): use [Cabin](https://withcabin.com); |
| | | - `{provider: 'clarity', projectId: '<your-clarity-id-code' }`: use [Microsoft clarity](https://clarity.microsoft.com/). The project id can be found on top of the overview page. |
| | | - `{ provider: 'matomo', siteId: '<your-matomo-id-code', host: 'matomo.example.com' }`: use [Matomo](https://matomo.org/), without protocol. |
| | | - `{ provider: 'vercel' }`: use [Vercel Web Analytics](https://vercel.com/docs/concepts/analytics). |
| | | - `locale`: used for [[i18n]] and date formatting |
| | | - `baseUrl`: this is used for sitemaps and RSS feeds that require an absolute URL to know where the canonical 'home' of your site lives. This is normally the deployed URL of your site (e.g. `quartz.jzhao.xyz` for this site). Do not include the protocol (i.e. `https://`) or any leading or trailing slashes. |
| | | - This should also include the subpath if you are [[hosting]] on GitHub pages without a custom domain. For example, if my repository is `jackyzha0/quartz`, GitHub pages would deploy to `https://jackyzha0.github.io/quartz` and the `baseUrl` would be `jackyzha0.github.io/quartz`. |
| | |
| | | - `ignorePatterns`: a list of [glob](<https://en.wikipedia.org/wiki/Glob_(programming)>) patterns that Quartz should ignore and not search through when looking for files inside the `content` folder. See [[private pages]] for more details. |
| | | - `defaultDateType`: whether to use created, modified, or published as the default date to display on pages and page listings. |
| | | - `theme`: configure how the site looks. |
| | | - `cdnCaching`: If `true` (default), use Google CDN to cache the fonts. This will generally will be faster. Disable (`false`) this if you want Quartz to download the fonts to be self-contained. |
| | | - `cdnCaching`: if `true` (default), use Google CDN to cache the fonts. This will generally be faster. Disable (`false`) this if you want Quartz to download the fonts to be self-contained. |
| | | - `typography`: what fonts to use. Any font available on [Google Fonts](https://fonts.google.com/) works here. |
| | | - `header`: Font to use for headers |
| | | - `code`: Font for inline and block quotes. |
| | | - `body`: Font for everything |
| | | - `title`: font for the title of the site (optional, same as `header` by default) |
| | | - `header`: font to use for headers |
| | | - `code`: font for inline and block quotes |
| | | - `body`: font for everything |
| | | - `colors`: controls the theming of the site. |
| | | - `light`: page background |
| | | - `lightgray`: borders |
| | |
| | | - `secondary`: link colour, current [[graph view|graph]] node |
| | | - `tertiary`: hover states and visited [[graph view|graph]] nodes |
| | | - `highlight`: internal link background, highlighted text, [[syntax highlighting|highlighted lines of code]] |
| | | - `textHighlight`: markdown highlighted text background |
| | | |
| | | ## Plugins |
| | | |
| | |
| | | ] |
| | | ``` |
| | | |
| | | Some plugins are included by default in the[ `quartz.config.ts`](https://github.com/jackyzha0/quartz/blob/v4/quartz.config.ts), but there are more available. |
| | | Some plugins are included by default in the [`quartz.config.ts`](https://github.com/jackyzha0/quartz/blob/v4/quartz.config.ts), but there are more available. |
| | | |
| | | You can see a list of all plugins and their configuration options [[tags/plugin|here]]. |
| | | |
| | | If you'd like to make your own plugins, see the [[making plugins|making custom plugins]] guide. |
| | | |
| | | ## Fonts |
| | | |
| | | Fonts can be specified as a `string` or a `FontSpecification`: |
| | | |
| | | ```ts |
| | | // string |
| | | typography: { |
| | | header: "Schibsted Grotesk", |
| | | ... |
| | | } |
| | | |
| | | // FontSpecification |
| | | typography: { |
| | | header: { |
| | | name: "Schibsted Grotesk", |
| | | weights: [400, 700], |
| | | includeItalic: true, |
| | | }, |
| | | ... |
| | | } |
| | | ``` |