use posix style paths for all path ops

This commit is contained in:
Jacky Zhao 2023-08-02 23:04:26 -07:00
parent de72dd4e4a
commit 663c41fa41
7 changed files with 6 additions and 13 deletions

View File

@ -49,12 +49,6 @@ const SyncArgv = {
default: true,
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: {
boolean: true,
default: true,

View File

@ -99,7 +99,7 @@ async function startServing(ctx: BuildCtx, initialContent: ProcessedContent[]) {
ctx.allSlugs = [...new Set([...contentMap.keys(), ...toRebuild])]
.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)
for (const content of parsedContent) {

View File

@ -18,7 +18,7 @@ export const AliasRedirects: QuartzEmitterPlugin = () => ({
for (const [_tree, file] of content) {
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[] = []
if (file.data.frontmatter?.aliases) {

View File

@ -1,6 +1,5 @@
import { FilePath, QUARTZ, joinSegments } from "../../path"
import { QuartzEmitterPlugin } from "../types"
import path from "path"
import fs from "fs"
import { glob } from "../../glob"
@ -10,7 +9,7 @@ export const Static: QuartzEmitterPlugin = () => ({
return []
},
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)
await fs.promises.cp(staticPath, joinSegments(argv.output, "static"), { recursive: true })
return fps.map((fp) => joinSegments("static", fp)) as FilePath[]

View File

@ -27,7 +27,7 @@ export const CreatedModifiedDate: QuartzTransformerPlugin<Partial<Options> | und
let modified: 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) {
if (source === "filesystem") {
const st = await fs.promises.stat(fp)

View File

@ -76,7 +76,7 @@ export const CrawlLinks: QuartzTransformerPlugin<Partial<Options> | undefined> =
// don't process external links or intra-document anchors
if (!(isAbsoluteUrl(dest) || dest.startsWith("#"))) {
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)
outgoing.add(destCanonical as CanonicalSlug)
}

View File

@ -91,7 +91,7 @@ export function createFileParser(ctx: BuildCtx, fps: FilePath[]) {
}
// 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
const ast = processor.parse(file)