Jacky Zhao
2025-03-24 c18e6cd5bb7e0de7e1a9a77927b48069f0bad4b9
fix(alias): resolve relative if alias is relative
1 files modified
13 ■■■■■ changed files
quartz/plugins/emitters/aliases.ts 13 ●●●●● patch | view | raw | blame | history
quartz/plugins/emitters/aliases.ts
@@ -1,14 +1,19 @@
import { resolveRelative, simplifySlug } from "../../util/path"
import { isRelativeURL, resolveRelative, simplifySlug } from "../../util/path"
import { QuartzEmitterPlugin } from "../types"
import { write } from "./helpers"
import { BuildCtx } from "../../util/ctx"
import { VFile } from "vfile"
import path from "path"
async function* processFile(ctx: BuildCtx, file: VFile) {
  const ogSlug = simplifySlug(file.data.slug!)
  for (const slug of file.data.aliases ?? []) {
    const redirUrl = resolveRelative(slug, file.data.slug!)
  for (const aliasTarget of file.data.aliases ?? []) {
    const aliasTargetSlug = isRelativeURL(aliasTarget)
      ? path.normalize(path.join(ogSlug, "..", aliasTarget))
      : aliasTarget
    const redirUrl = resolveRelative(aliasTargetSlug, ogSlug)
    yield write({
      ctx,
      content: `
@@ -23,7 +28,7 @@
        </head>
        </html>
        `,
      slug,
      slug: aliasTargetSlug,
      ext: ".html",
    })
  }