diff --git a/docs/configuration.md b/docs/configuration.md index 1dc114816..302d06730 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -21,6 +21,7 @@ const config: QuartzConfig = { 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 diff --git a/quartz.config.ts b/quartz.config.ts index b6abbb2d3..e96ee4843 100644 --- a/quartz.config.ts +++ b/quartz.config.ts @@ -9,6 +9,7 @@ import * as Plugin from "./quartz/plugins" const config: QuartzConfig = { configuration: { pageTitle: "🪴 Quartz 4.0", + pageTitleSuffix: "", enableSPA: true, enablePopovers: true, analytics: { diff --git a/quartz/cfg.ts b/quartz/cfg.ts index 0c344d33a..9e93fd141 100644 --- a/quartz/cfg.ts +++ b/quartz/cfg.ts @@ -41,6 +41,7 @@ export type Analytics = export interface GlobalConfiguration { pageTitle: string + pageTitleSuffix?: string /** Whether to enable single-page-app style rendering. this prevents flashes of unstyled content and improves smoothness of Quartz */ enableSPA: boolean /** Whether to display Wikipedia-style popovers when hovering over links */ diff --git a/quartz/components/Head.tsx b/quartz/components/Head.tsx index 46ba5e002..7b9815ca0 100644 --- a/quartz/components/Head.tsx +++ b/quartz/components/Head.tsx @@ -6,7 +6,8 @@ import { QuartzComponent, QuartzComponentConstructor, QuartzComponentProps } fro export default (() => { const Head: QuartzComponent = ({ cfg, fileData, externalResources }: QuartzComponentProps) => { - const title = fileData.frontmatter?.title ?? i18n(cfg.locale).propertyDefaults.title + const title = + (fileData.frontmatter?.title ?? i18n(cfg.locale).propertyDefaults.title) + cfg.pageTitleSuffix const description = fileData.description?.trim() ?? i18n(cfg.locale).propertyDefaults.description const { css, js } = externalResources