| | |
| | | ``` |
| | | |
| | | ## General Configuration |
| | | |
| | | 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`: used as an anchor to return to the home page. This is also used when generating the [[RSS Feed]] for your site. |
| | |
| | | - `null`: don't use analytics; |
| | | - `{ provider: 'plausible' }`: use [Plausible](https://plausible.io/), a privacy-friendly alternative to Google Analytics; or |
| | | - `{ provider: 'google', tagId: <your-google-tag> }`: use Google Analytics |
| | | - `caononicalUrl`: sometimes called `baseURL` in other site generators. 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. `https://quartz.jzhao.xyz/` for this site). Note that Quartz 4 will avoid using this as much as possible and use relative URLs whenever it can to make sure your site works no matter *where* you end up actually deploying it. |
| | | - `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. |
| | | - `caononicalUrl`: sometimes called `baseURL` in other site generators. 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. `https://quartz.jzhao.xyz/` for this site). Note that Quartz 4 will avoid using this as much as possible and use relative URLs whenever it can to make sure your site works no matter _where_ you end up actually deploying it. |
| | | - `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. |
| | | - `theme`: configure how the site looks. |
| | | - `typography`: what fonts to use. Any font available on [Google Fonts](https://fonts.google.com/) works here. |
| | | - `header`: Font to use for headers |
| | |
| | | - `highlight`: internal link background, highlighted text, [[syntax highlighting|highlighted lines of code]] |
| | | |
| | | ## Plugins |
| | | |
| | | You can think of Quartz plugins as a series of transformations over content. |
| | | |
| | | ![[quartz-transform-pipeline.png]] |
| | |
| | | By adding, removing, and reordering plugins from the `tranformers`, `filters`, and `emitters` fields, you can customize the behaviour of Quartz. |
| | | |
| | | > [!note] |
| | | > Each node is modified by every transformer *in order*. Some transformers are position-sensitive so you may need to take special note of whether it needs come before or after any other particular plugins. |
| | | > Each node is modified by every transformer _in order_. Some transformers are position-sensitive so you may need to take special note of whether it needs come before or after any other particular plugins. |
| | | |
| | | Additionally, plugins may also have their own configuration settings that you can pass in. For example, the [[Latex]] plugin allows you to pass in a field specifying the `renderEngine` to choose between Katex and MathJax. |
| | | |
| | | ```ts |
| | | transformers: [ |
| | | Plugin.FrontMatter(), // uses default options |
| | | Plugin.Latex({ renderEngine: 'katex' }) // specify some options |
| | | Plugin.Latex({ renderEngine: "katex" }), // specify some options |
| | | ] |
| | | ``` |
| | | |
| | | ### Layout |
| | | |
| | | Certain emitters may also output [HTML](https://developer.mozilla.org/en-US/docs/Web/HTML) files. To make sure that |
| | | |
| | | ### Components |