fix(alias): resolve relative if alias is relative
This commit is contained in:
parent
fe2e16d937
commit
c18e6cd5bb
1 changed files with 9 additions and 4 deletions
|
@ -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 @@ async function* processFile(ctx: BuildCtx, file: VFile) {
|
|||
</head>
|
||||
</html>
|
||||
`,
|
||||
slug,
|
||||
slug: aliasTargetSlug,
|
||||
ext: ".html",
|
||||
})
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue