fix emit filepaths, tag emit being overriden by content
This commit is contained in:
parent
f5adfa4ed7
commit
0ce30d451d
@ -1,5 +1,7 @@
|
|||||||
---
|
---
|
||||||
title: Private Pages
|
title: Private Pages
|
||||||
|
tags:
|
||||||
|
- plugin/filter
|
||||||
---
|
---
|
||||||
|
|
||||||
There may be some notes you want to avoid publishing as a website. Quartz supports this through two mechanisms which can be used in conjunction:
|
There may be some notes you want to avoid publishing as a website. Quartz supports this through two mechanisms which can be used in conjunction:
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
title: "Table of Contents"
|
title: "Table of Contents"
|
||||||
tags:
|
tags:
|
||||||
- component
|
- component
|
||||||
- plugins/transformer
|
- plugin/transformer
|
||||||
---
|
---
|
||||||
|
|
||||||
Quartz can automatically generate a table of contents from a list of headings on each page. It will also show you your current scroll position on the site by marking headings you've scrolled through with a different colour.
|
Quartz can automatically generate a table of contents from a list of headings on each page. It will also show you your current scroll position on the site by marking headings you've scrolled through with a different colour.
|
||||||
|
@ -9,7 +9,7 @@ const config: QuartzConfig = {
|
|||||||
analytics: {
|
analytics: {
|
||||||
provider: "plausible",
|
provider: "plausible",
|
||||||
},
|
},
|
||||||
baseUrl: "quartz.jzhao.xyz",
|
baseUrl: "four.quartz.jzhao.xyz",
|
||||||
ignorePatterns: ["private", "templates"],
|
ignorePatterns: ["private", "templates"],
|
||||||
theme: {
|
theme: {
|
||||||
typography: {
|
typography: {
|
||||||
|
@ -3,7 +3,7 @@ import { Fragment, jsx, jsxs } from "preact/jsx-runtime"
|
|||||||
import { toJsxRuntime } from "hast-util-to-jsx-runtime"
|
import { toJsxRuntime } from "hast-util-to-jsx-runtime"
|
||||||
import style from "../styles/listPage.scss"
|
import style from "../styles/listPage.scss"
|
||||||
import { PageList } from "../PageList"
|
import { PageList } from "../PageList"
|
||||||
import { ServerSlug, canonicalizeServer, getAllSegmentPrefixes } from "../../path"
|
import { ServerSlug, canonicalizeServer, getAllSegmentPrefixes, joinSegments } from "../../path"
|
||||||
import { QuartzPluginData } from "../../plugins/vfile"
|
import { QuartzPluginData } from "../../plugins/vfile"
|
||||||
|
|
||||||
const numPages = 10
|
const numPages = 10
|
||||||
@ -11,7 +11,7 @@ function TagContent(props: QuartzComponentProps) {
|
|||||||
const { tree, fileData, allFiles } = props
|
const { tree, fileData, allFiles } = props
|
||||||
const slug = fileData.slug
|
const slug = fileData.slug
|
||||||
|
|
||||||
if (!slug?.startsWith("tags/")) {
|
if (!(slug?.startsWith("tags/") || slug === "tags")) {
|
||||||
throw new Error(`Component "TagContent" tried to render a non-tag page: ${slug}`)
|
throw new Error(`Component "TagContent" tried to render a non-tag page: ${slug}`)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -44,7 +44,7 @@ function TagContent(props: QuartzComponentProps) {
|
|||||||
return (
|
return (
|
||||||
<div>
|
<div>
|
||||||
<h2>
|
<h2>
|
||||||
<a class="internal tag-link" href={`./tags/${tag}`}>
|
<a class="internal tag-link" href={`./${joinSegments("tags", tag)}`}>
|
||||||
#{tag}
|
#{tag}
|
||||||
</a>
|
</a>
|
||||||
</h2>
|
</h2>
|
||||||
|
@ -24,7 +24,7 @@ export const Assets: QuartzEmitterPlugin = () => {
|
|||||||
const dir = path.dirname(dest) as FilePath
|
const dir = path.dirname(dest) as FilePath
|
||||||
await fs.promises.mkdir(dir, { recursive: true }) // ensure dir exists
|
await fs.promises.mkdir(dir, { recursive: true }) // ensure dir exists
|
||||||
await fs.promises.copyFile(src, dest)
|
await fs.promises.copyFile(src, dest)
|
||||||
res.push(fp)
|
res.push(dest)
|
||||||
}
|
}
|
||||||
|
|
||||||
return res
|
return res
|
||||||
|
@ -12,6 +12,6 @@ export const Static: QuartzEmitterPlugin = () => ({
|
|||||||
const staticPath = joinSegments(QUARTZ, "static")
|
const staticPath = joinSegments(QUARTZ, "static")
|
||||||
const fps = await glob("**", staticPath, cfg.configuration.ignorePatterns)
|
const fps = await glob("**", staticPath, cfg.configuration.ignorePatterns)
|
||||||
await fs.promises.cp(staticPath, joinSegments(argv.output, "static"), { recursive: true })
|
await fs.promises.cp(staticPath, joinSegments(argv.output, "static"), { recursive: true })
|
||||||
return fps.map((fp) => joinSegments("static", fp)) as FilePath[]
|
return fps.map((fp) => joinSegments(argv.output, "static", fp)) as FilePath[]
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
@ -49,7 +49,7 @@ export const TagPage: QuartzEmitterPlugin<FullPageLayout> = (userOpts) => {
|
|||||||
return [
|
return [
|
||||||
tag,
|
tag,
|
||||||
defaultProcessedContent({
|
defaultProcessedContent({
|
||||||
slug: joinSegments("tags", tag, "index") as ServerSlug,
|
slug: joinSegments("tags", tag) as ServerSlug,
|
||||||
frontmatter: { title, tags: [] },
|
frontmatter: { title, tags: [] },
|
||||||
}),
|
}),
|
||||||
]
|
]
|
||||||
@ -59,7 +59,7 @@ export const TagPage: QuartzEmitterPlugin<FullPageLayout> = (userOpts) => {
|
|||||||
for (const [tree, file] of content) {
|
for (const [tree, file] of content) {
|
||||||
const slug = file.data.slug!
|
const slug = file.data.slug!
|
||||||
if (slug.startsWith("tags/")) {
|
if (slug.startsWith("tags/")) {
|
||||||
const tag = joinSegments(slug.slice("tags/".length), "index")
|
const tag = slug.slice("tags/".length)
|
||||||
if (tags.has(tag)) {
|
if (tags.has(tag)) {
|
||||||
tagDescriptions[tag] = [tree, file]
|
tagDescriptions[tag] = [tree, file]
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user