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, 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,

View File

@ -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) {

View File

@ -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) {

View File

@ -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[]

View File

@ -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)

View File

@ -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)
} }

View File

@ -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)