From bcb5b2df09cb8c8fc0736ec476b2486f9b4643be Mon Sep 17 00:00:00 2001
From: Emile Bangma <ewjbangma@hotmail.com>
Date: Mon, 04 Mar 2024 17:52:28 +0000
Subject: [PATCH] feat(frontmatter): configure max length for description (#946)
---
quartz/cli/handlers.js | 62 +++++++++++++++++++++++-------
1 files changed, 47 insertions(+), 15 deletions(-)
diff --git a/quartz/cli/handlers.js b/quartz/cli/handlers.js
index 96ee9bc..12e7e8e 100644
--- a/quartz/cli/handlers.js
+++ b/quartz/cli/handlers.js
@@ -113,7 +113,10 @@
}
}
- await fs.promises.unlink(path.join(contentFolder, ".gitkeep"))
+ const gitkeepPath = path.join(contentFolder, ".gitkeep")
+ if (fs.existsSync(gitkeepPath)) {
+ await fs.promises.unlink(gitkeepPath)
+ }
if (setupStrategy === "copy" || setupStrategy === "symlink") {
let originalFolder = sourceDirectory
@@ -165,22 +168,20 @@
// get a preferred link resolution strategy
linkResolutionStrategy = exitIfCancel(
await select({
- message: `Choose how Quartz should resolve links in your content. You can change this later in \`quartz.config.ts\`.`,
+ message: `Choose how Quartz should resolve links in your content. This should match Obsidian's link format. 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",
+ hint: "(default)",
+ },
+ {
+ value: "absolute",
+ label: "Treat links as absolute path",
},
{
value: "relative",
label: "Treat links as relative paths",
- hint: "for just normal Markdown files",
},
],
}),
@@ -196,6 +197,12 @@
)
await fs.promises.writeFile(configFilePath, configContent)
+ // setup remote
+ execSync(
+ `git remote show upstream || git remote add upstream https://github.com/jackyzha0/quartz.git`,
+ { stdio: "ignore" },
+ )
+
outro(`You're all set! Not sure what to do next? Try:
• Customizing Quartz a bit more by editing \`quartz.config.ts\`
• Running \`npx quartz build --serve\` to preview your Quartz locally
@@ -250,6 +257,7 @@
},
write: false,
bundle: true,
+ minify: true,
platform: "browser",
format: "esm",
})
@@ -339,7 +347,7 @@
directoryListing: false,
headers: [
{
- source: "**/*.html",
+ source: "**/*.*",
headers: [{ key: "Content-Disposition", value: "inline" }],
},
],
@@ -438,11 +446,23 @@
console.log(
"Pulling updates... you may need to resolve some `git` conflicts if you've made changes to components or plugins.",
)
- gitPull(UPSTREAM_NAME, QUARTZ_SOURCE_BRANCH)
+
+ try {
+ gitPull(UPSTREAM_NAME, QUARTZ_SOURCE_BRANCH)
+ } catch {
+ console.log(chalk.red("An error occurred above while pulling updates."))
+ await popContentFolder(contentFolder)
+ return
+ }
+
await popContentFolder(contentFolder)
console.log("Ensuring dependencies are up to date")
- spawnSync("npm", ["i"], { stdio: "inherit" })
- console.log(chalk.green("Done!"))
+ const res = spawnSync("npm", ["i"], { stdio: "inherit" })
+ if (res.status === 0) {
+ console.log(chalk.green("Done!"))
+ } else {
+ console.log(chalk.red("An error occurred above while installing dependencies."))
+ }
}
/**
@@ -499,13 +519,25 @@
console.log(
"Pulling updates from your repository. You may need to resolve some `git` conflicts if you've made changes to components or plugins.",
)
- gitPull(ORIGIN_NAME, QUARTZ_SOURCE_BRANCH)
+ try {
+ gitPull(ORIGIN_NAME, QUARTZ_SOURCE_BRANCH)
+ } catch {
+ console.log(chalk.red("An error occurred above while pulling updates."))
+ await popContentFolder(contentFolder)
+ return
+ }
}
await popContentFolder(contentFolder)
if (argv.push) {
console.log("Pushing your changes")
- spawnSync("git", ["push", "-f", ORIGIN_NAME, QUARTZ_SOURCE_BRANCH], { stdio: "inherit" })
+ const res = spawnSync("git", ["push", "-uf", ORIGIN_NAME, QUARTZ_SOURCE_BRANCH], {
+ stdio: "inherit",
+ })
+ if (res.status !== 0) {
+ console.log(chalk.red(`An error occurred above while pushing to remote ${ORIGIN_NAME}.`))
+ return
+ }
}
console.log(chalk.green("Done!"))
--
Gitblit v1.10.0