diff --git a/quartz/components/ArticleTitle.tsx b/quartz/components/ArticleTitle.tsx
index 318aeb24e..b284b8871 100644
--- a/quartz/components/ArticleTitle.tsx
+++ b/quartz/components/ArticleTitle.tsx
@@ -3,7 +3,8 @@ import { classNames } from "../util/lang"
const ArticleTitle: QuartzComponent = ({ fileData, displayClass }: QuartzComponentProps) => {
const title = fileData.frontmatter?.title
- if (title) {
+ const visible = fileData.frontmatter?.visible
+ if (title && visible) {
return
{title}
} else {
return null
diff --git a/quartz/components/Breadcrumbs.tsx b/quartz/components/Breadcrumbs.tsx
index 9ccfb9a6a..692c01e7a 100644
--- a/quartz/components/Breadcrumbs.tsx
+++ b/quartz/components/Breadcrumbs.tsx
@@ -59,8 +59,9 @@ export default ((opts?: Partial) => {
allFiles,
displayClass,
}: QuartzComponentProps) => {
- // Hide crumbs on root if enabled
- if (options.hideOnRoot && fileData.slug === "index") {
+ const visible = fileData.frontmatter?.visible
+ // Hide crumbs on root if enabled or if visible is false
+ if ((options.hideOnRoot && fileData.slug === "index") || !visible) {
return <>>
}
diff --git a/quartz/components/ContentMeta.tsx b/quartz/components/ContentMeta.tsx
index e378bccee..95f1140e3 100644
--- a/quartz/components/ContentMeta.tsx
+++ b/quartz/components/ContentMeta.tsx
@@ -25,8 +25,9 @@ export default ((opts?: Partial) => {
function ContentMetadata({ cfg, fileData, displayClass }: QuartzComponentProps) {
const text = fileData.text
+ const visible = fileData.frontmatter?.visible
- if (text) {
+ if (text && visible) {
const segments: (string | JSX.Element)[] = []
if (fileData.dates) {
diff --git a/quartz/components/TagList.tsx b/quartz/components/TagList.tsx
index 4a89fbd67..bbe29de54 100644
--- a/quartz/components/TagList.tsx
+++ b/quartz/components/TagList.tsx
@@ -4,8 +4,9 @@ import { classNames } from "../util/lang"
const TagList: QuartzComponent = ({ fileData, displayClass }: QuartzComponentProps) => {
const tags = fileData.frontmatter?.tags
+ const visible = fileData.frontmatter?.visible
const baseDir = pathToRoot(fileData.slug!)
- if (tags && tags.length > 0) {
+ if (tags && tags.length > 0 && visible) {
return (