Jacky Zhao
2023-08-17 58d9dc0528cc5d7232ac7a237c98213ff1075f39
format
5 files modified
27 ■■■■ changed files
content/features/upcoming features.md 2 ●●● patch | view | raw | blame | history
quartz/bootstrap-cli.mjs 2 ●●● patch | view | raw | blame | history
quartz/components/scripts/spa.inline.ts 2 ●●● patch | view | raw | blame | history
quartz/util/path.test.ts 15 ●●●● patch | view | raw | blame | history
quartz/util/path.ts 6 ●●●● patch | view | raw | blame | history
content/features/upcoming features.md
@@ -5,7 +5,7 @@
## todo
- static icon path (in head) never gets updated
    - do we update relative links on spa?
  - do we update relative links on spa?
- back button with anchors / popovers + spa is broken
- debounce cfg rebuild on large repos
  - investigate content rebuild triggering multiple times even when debounced, causing an esbuild deadlock
quartz/bootstrap-cli.mjs
@@ -460,7 +460,7 @@
          await build(clientRefresh)
        })
    } else {
      await build(() => { })
      await build(() => {})
      ctx.dispose()
    }
  })
quartz/components/scripts/spa.inline.ts
@@ -17,7 +17,7 @@
      }
      return true
    }
  } catch (e) { }
  } catch (e) {}
  return false
}
quartz/util/path.test.ts
@@ -198,7 +198,15 @@
})
describe("link strategies", () => {
  const allSlugs = ["a/b/c", "a/b/d", "a/b/index", "e/f", "e/g/h", "index", "a/test.png"] as ServerSlug[]
  const allSlugs = [
    "a/b/c",
    "a/b/d",
    "a/b/index",
    "e/f",
    "e/g/h",
    "index",
    "a/test.png",
  ] as ServerSlug[]
  describe("absolute", () => {
    const opts: TransformOptions = {
@@ -285,7 +293,10 @@
      assert.strictEqual(path.transformLink(cur, "../../../index.png", opts), "../../../index.png")
      assert.strictEqual(path.transformLink(cur, "../../../index#abc", opts), "../../../#abc")
      assert.strictEqual(path.transformLink(cur, "../../../", opts), "../../../")
      assert.strictEqual(path.transformLink(cur, "../../../a/test.png", opts), "../../../a/test.png")
      assert.strictEqual(
        path.transformLink(cur, "../../../a/test.png", opts),
        "../../../a/test.png",
      )
      assert.strictEqual(path.transformLink(cur, "../../../e/g/h", opts), "../../../e/g/h")
      assert.strictEqual(path.transformLink(cur, "../../../e/g/h", opts), "../../../e/g/h")
      assert.strictEqual(path.transformLink(cur, "../../../e/g/h#abc", opts), "../../../e/g/h#abc")
quartz/util/path.ts
@@ -72,7 +72,7 @@
export function isRelativeURL(s: string): s is RelativeURL {
  const validStart = /^\.{1,2}/.test(s)
  const validEnding = !(s.endsWith("/index") || s === "index")
  return validStart && validEnding && ![".md", ".html"].includes(_getFileExtension(s) ?? "")
  return validStart && validEnding && ![".md", ".html"].includes(_getFileExtension(s) ?? "")
}
/** A server side slug. This is what Quartz uses to emit files so uses index suffixes */
@@ -133,7 +133,7 @@
    slug = slug.replace(/_index$/, "index")
  }
  return slug + ext as ServerSlug
  return (slug + ext) as ServerSlug
}
export function transformInternalLink(link: string): RelativeURL {
@@ -239,7 +239,7 @@
    }
    // if it's not unique, then it's the absolute path from the vault root
    return joinSegments(pathToRoot(src), canonicalSlug) + folderTail as RelativeURL
    return (joinSegments(pathToRoot(src), canonicalSlug) + folderTail) as RelativeURL
  }
}