use posix style paths for all path ops
This commit is contained in:
parent
815f65f688
commit
7941b0d87a
@ -49,12 +49,6 @@ const SyncArgv = {
|
|||||||
default: true,
|
default: true,
|
||||||
describe: "push updates to your Quartz fork",
|
describe: "push updates to your Quartz fork",
|
||||||
},
|
},
|
||||||
force: {
|
|
||||||
boolean: true,
|
|
||||||
alias: ["f"],
|
|
||||||
default: true,
|
|
||||||
describe: "whether to apply the --force flag to git commands",
|
|
||||||
},
|
|
||||||
pull: {
|
pull: {
|
||||||
boolean: true,
|
boolean: true,
|
||||||
default: true,
|
default: true,
|
||||||
|
@ -99,7 +99,7 @@ async function startServing(ctx: BuildCtx, initialContent: ProcessedContent[]) {
|
|||||||
|
|
||||||
ctx.allSlugs = [...new Set([...contentMap.keys(), ...toRebuild])]
|
ctx.allSlugs = [...new Set([...contentMap.keys(), ...toRebuild])]
|
||||||
.filter((fp) => !toRemove.has(fp))
|
.filter((fp) => !toRemove.has(fp))
|
||||||
.map((fp) => slugifyFilePath(path.relative(argv.directory, fp) as FilePath))
|
.map((fp) => slugifyFilePath(path.posix.relative(argv.directory, fp) as FilePath))
|
||||||
|
|
||||||
const parsedContent = await parseMarkdown(ctx, filesToRebuild)
|
const parsedContent = await parseMarkdown(ctx, filesToRebuild)
|
||||||
for (const content of parsedContent) {
|
for (const content of parsedContent) {
|
||||||
|
@ -18,7 +18,7 @@ export const AliasRedirects: QuartzEmitterPlugin = () => ({
|
|||||||
|
|
||||||
for (const [_tree, file] of content) {
|
for (const [_tree, file] of content) {
|
||||||
const ogSlug = canonicalizeServer(file.data.slug!)
|
const ogSlug = canonicalizeServer(file.data.slug!)
|
||||||
const dir = path.relative(argv.directory, file.dirname ?? argv.directory)
|
const dir = path.posix.relative(argv.directory, file.dirname ?? argv.directory)
|
||||||
|
|
||||||
let aliases: CanonicalSlug[] = []
|
let aliases: CanonicalSlug[] = []
|
||||||
if (file.data.frontmatter?.aliases) {
|
if (file.data.frontmatter?.aliases) {
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
import { FilePath, QUARTZ, joinSegments } from "../../path"
|
import { FilePath, QUARTZ, joinSegments } from "../../path"
|
||||||
import { QuartzEmitterPlugin } from "../types"
|
import { QuartzEmitterPlugin } from "../types"
|
||||||
import path from "path"
|
|
||||||
import fs from "fs"
|
import fs from "fs"
|
||||||
import { glob } from "../../glob"
|
import { glob } from "../../glob"
|
||||||
|
|
||||||
@ -10,7 +9,7 @@ export const Static: QuartzEmitterPlugin = () => ({
|
|||||||
return []
|
return []
|
||||||
},
|
},
|
||||||
async emit({ argv, cfg }, _content, _resources, _emit): Promise<FilePath[]> {
|
async emit({ argv, cfg }, _content, _resources, _emit): Promise<FilePath[]> {
|
||||||
const staticPath = path.join(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("static", fp)) as FilePath[]
|
||||||
|
@ -27,7 +27,7 @@ export const CreatedModifiedDate: QuartzTransformerPlugin<Partial<Options> | und
|
|||||||
let modified: MaybeDate = undefined
|
let modified: MaybeDate = undefined
|
||||||
let published: MaybeDate = undefined
|
let published: MaybeDate = undefined
|
||||||
|
|
||||||
const fp = path.join(file.cwd, file.data.filePath as string)
|
const fp = path.posix.join(file.cwd, file.data.filePath as string)
|
||||||
for (const source of opts.priority) {
|
for (const source of opts.priority) {
|
||||||
if (source === "filesystem") {
|
if (source === "filesystem") {
|
||||||
const st = await fs.promises.stat(fp)
|
const st = await fs.promises.stat(fp)
|
||||||
|
@ -76,7 +76,7 @@ export const CrawlLinks: QuartzTransformerPlugin<Partial<Options> | undefined> =
|
|||||||
// don't process external links or intra-document anchors
|
// don't process external links or intra-document anchors
|
||||||
if (!(isAbsoluteUrl(dest) || dest.startsWith("#"))) {
|
if (!(isAbsoluteUrl(dest) || dest.startsWith("#"))) {
|
||||||
dest = node.properties.href = transformLink(dest)
|
dest = node.properties.href = transformLink(dest)
|
||||||
const canonicalDest = path.normalize(joinSegments(curSlug, dest))
|
const canonicalDest = path.posix.normalize(joinSegments(curSlug, dest))
|
||||||
const [destCanonical, _destAnchor] = splitAnchor(canonicalDest)
|
const [destCanonical, _destAnchor] = splitAnchor(canonicalDest)
|
||||||
outgoing.add(destCanonical as CanonicalSlug)
|
outgoing.add(destCanonical as CanonicalSlug)
|
||||||
}
|
}
|
||||||
|
@ -91,7 +91,7 @@ export function createFileParser(ctx: BuildCtx, fps: FilePath[]) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// base data properties that plugins may use
|
// base data properties that plugins may use
|
||||||
file.data.slug = slugifyFilePath(path.relative(argv.directory, file.path) as FilePath)
|
file.data.slug = slugifyFilePath(path.posix.relative(argv.directory, file.path) as FilePath)
|
||||||
file.data.filePath = fp
|
file.data.filePath = fp
|
||||||
|
|
||||||
const ast = processor.parse(file)
|
const ast = processor.parse(file)
|
||||||
|
Loading…
Reference in New Issue
Block a user