{"configuration":{"title":"Configuration","links":["layout","RSS-Feed","SPA-Routing","popover-previews","hosting","private-pages","graph-view","syntax-highlighting","making-plugins","Latex"],"tags":[],"content":"Quartzismeanttobeextremelyconfigurable,evenifyoudon’tknowanycoding.Mostoftheconfigurationyoushouldneedcanbedonebyjusteditingquartz.config.tsorchangingthelayoutinquartz.layout.ts.\n\n\n\nTip\n\n\nIfyoueditQuartzconfigurationusingatext-editorthathasTypeScriptlanguagesupportlikeVSCode,itwillwarnyouwhenyouyou’vemadeanerrorinyourconfiguration,helpingyouavoidconfigurationmistakes!\n\nTheconfigurationofQuartzcanbebrokendownintotwomainparts:\nquartz.config.tsconstconfig:QuartzConfig={\nconfiguration:{...},\nplugins:{...},\n}\nGeneralConfiguration§\nThispartoftheconfigurationconcernsanythingthatcanaffectthewholesite.Thefollowingisalistbreakingdownallthethingsyoucanconfigure:\n\npageTitle:titleofthesite.ThisisalsousedwhengeneratingtheRSSFeedforyoursite.\nenableSPA:whethertoenableSPARoutingonyoursite.\nenablePopovers:whethertoenablepopoverpreviewsonyoursite.\nanalytics:whattouseforanalyticsonyoursite.Valuescanbe\n\nnull:don’tuseanalytics;\n{provider:'plausible'}:usePlausible,aprivacy-friendlyalternativetoGoogleAnalytics;or\n{provider:'google',tagId:<your-google-tag>}:useGoogleAnalytics\n\n\nbaseUrl:thisisusedforsitemapsandRSSfeedsthatrequireanabsoluteURLtoknowwherethecanonical‘home’ofyoursitelives.ThisisnormallythedeployedURLofyoursite(e.g.quartz.jzhao.xyzforthissite).Donotincludetheprotocol(i.e.https://) or any leading or trailing slashes.\n\nThis 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\nNote 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.\n\n\nignorePatterns: a list of glob patterns that Quartz should ignore and not search through when looking for files inside the content folder. See private pages for more details.\ntheme: configure how the site looks.\n\ntypography: what fonts to use. Any font available on Google Fonts works here.\n\nheader: Font to use for headers\ncode: Font for inline and block quotes.\nbody: Font for everything\n\n\ncolors: controls the theming of the site.\n\nlight: page background\nlightgray: borders\ngray: graph links, heavier borders\ndarkgray: body text\ndark: header text and icons\nsecondary: link colour, current graph node\ntertiary: hover states and visited graph nodes\nhighlight: internal link background, highlighted text, highlighted lines of code\n\n\n\n\n\nPlugins §\nYou can think of Quartz plugins as a series of transformations over content.\n\nplugins: {\n transformers: [...],\n filters: [...],\n emitters: [...],\n}\n\nTransformers map over content (e.g. parsing frontmatter, generating a description)\nFilters filter content (e.g. filtering out drafts)\nEmitters reduce over content (e.g. creating an RSS feed or pages that list all files with a specific tag)\n\nBy adding, removing, and reordering plugins from the tranformers, filters, and emitters fields, you can customize the behaviour of Quartz.\n\n\n \n Note \n \n \nEach 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.\n\nAdditionally, plugins may also have their own configuration settings that you can pass in. For example, the Latex plugin allows you to