| | |
| | | serve: { |
| | | boolean: true, |
| | | default: false, |
| | | describe: 'run a local server to preview your Quartz' |
| | | describe: 'run a local server to live-preview your Quartz' |
| | | }, |
| | | port: { |
| | | number: true, |
| | |
| | | ] |
| | | })) |
| | | |
| | | // TODO |
| | | const linkResolutionStrategy = exitIfCancel(await select({ |
| | | message: `Choose how Quartz should resolve links in your content. You can change this later in \`quartz.config.ts\`.`, |
| | | options: [ |
| | | { value: 'absolute', label: "Treat links as absolute path", hint: "for content made for Quartz 3 and Hugo" }, |
| | | { value: 'shortest', label: "Treat links as shortest path", hint: "for most Obsidian vaults" }, |
| | | { value: 'relative', label: "Treat links as relative paths", hint: "for just normal Markdown files" }, |
| | | ] |
| | | })) |
| | | |
| | | async function rmContentFolder() { |
| | | const contentStat = await fs.promises.lstat(contentFolder) |
| | | if (contentStat) { |
| | |
| | | ` |
| | | ) |
| | | } |
| | | |
| | | // get a prefered link resolution strategy |
| | | const linkResolutionStrategy = exitIfCancel(await select({ |
| | | message: `Choose how Quartz should resolve links in your content. You can change this later in \`quartz.config.ts\`.`, |
| | | options: [ |
| | | { value: 'absolute', label: "Treat links as absolute path", hint: "for content made for Quartz 3 and Hugo" }, |
| | | { value: 'shortest', label: "Treat links as shortest path", hint: "for most Obsidian vaults" }, |
| | | { value: 'relative', label: "Treat links as relative paths", hint: "for just normal Markdown files" }, |
| | | ] |
| | | })) |
| | | |
| | | // now, do config changes |
| | | const configFilePath = path.join(cwd, "quartz.config.ts") |
| | |
| | | setup(build) { |
| | | build.onLoad({ filter: /\.inline\.(ts|js)$/ }, async (args) => { |
| | | let text = await promises.readFile(args.path, 'utf8') |
| | | |
| | | // remove default exports that we manually inserted |
| | | text = text.replace('export default', '') |
| | | text = text.replace('export', '') |
| | |
| | | console.log(`Successfully transpiled ${Object.keys(meta.inputs).length} files (${prettyBytes(meta.bytes)})`) |
| | | } |
| | | |
| | | const { default: init } = await import(cacheFile) |
| | | init(argv, version) |
| | | const { default: buildQuartz } = await import(cacheFile) |
| | | buildQuartz(argv, version) |
| | | }) |
| | | .showHelpOnFail(false) |
| | | .help() |