From 8dd73704e6e95254d2addf51fede6329f90796b8 Mon Sep 17 00:00:00 2001
From: Jacky Zhao <j.zhao2k19@gmail.com>
Date: Sat, 22 Jul 2023 23:06:36 +0000
Subject: [PATCH] hot content reload
---
quartz/bootstrap-cli.mjs | 27 ++++++++++++++-------------
1 files changed, 14 insertions(+), 13 deletions(-)
diff --git a/quartz/bootstrap-cli.mjs b/quartz/bootstrap-cli.mjs
index f6f5543..b4bf3a9 100755
--- a/quartz/bootstrap-cli.mjs
+++ b/quartz/bootstrap-cli.mjs
@@ -72,7 +72,7 @@
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,
@@ -128,16 +128,6 @@
]
}))
- // 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) {
@@ -182,6 +172,16 @@
`
)
}
+
+ // 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")
@@ -255,6 +255,7 @@
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', '')
@@ -295,8 +296,8 @@
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()
--
Gitblit v1.10.0