Jacky Zhao
2023-06-08 59109a8c1d505f516d50d6b7f88cfe070bc1ca84
add flamethrower router
1 files added
4 files modified
25 ■■■■■ changed files
package-lock.json 15 ●●●●● patch | view | raw | blame | history
package.json 1 ●●●● patch | view | raw | blame | history
quartz/bootstrap-cli.mjs 1 ●●●● patch | view | raw | blame | history
quartz/components/scripts/spa.inline.ts 3 ●●●●● patch | view | raw | blame | history
quartz/plugins/index.ts 5 ●●●●● patch | view | raw | blame | history
package-lock.json
@@ -14,6 +14,7 @@
        "chalk": "^4.1.2",
        "cli-spinner": "^0.2.10",
        "esbuild-sass-plugin": "^2.9.0",
        "flamethrower-router": "^0.0.0-meme.12",
        "github-slugger": "^2.0.0",
        "globby": "^13.1.4",
        "gray-matter": "^4.0.3",
@@ -33,7 +34,6 @@
        "remark-frontmatter": "^4.0.1",
        "remark-gfm": "^3.0.1",
        "remark-math": "^5.1.1",
        "remark-obsidian-callout": "^1.1.3",
        "remark-parse": "^10.0.1",
        "remark-rehype": "^10.1.0",
        "remark-smartypants": "^2.0.0",
@@ -1523,6 +1523,11 @@
        "node": ">=8"
      }
    },
    "node_modules/flamethrower-router": {
      "version": "0.0.0-meme.12",
      "resolved": "https://registry.npmjs.org/flamethrower-router/-/flamethrower-router-0.0.0-meme.12.tgz",
      "integrity": "sha512-PWcNrjzItwk61RTk/SbbKJNcAgl6qCXH8xkZjGjUGV/dgKAnURci+k+Yk8emubUQWTdAd1kSqujy0VRjoeEgxg=="
    },
    "node_modules/foreground-child": {
      "version": "3.1.1",
      "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz",
@@ -3405,14 +3410,6 @@
        "url": "https://opencollective.com/unified"
      }
    },
    "node_modules/remark-obsidian-callout": {
      "version": "1.1.3",
      "resolved": "https://registry.npmjs.org/remark-obsidian-callout/-/remark-obsidian-callout-1.1.3.tgz",
      "integrity": "sha512-q2jZgPMHP5Wyq0WgeGdwboPoepqN7Ib77iWagEKThZjtl1wUd7/f2tdErdPr/LeZu9K7I6r52XylwhLs5GJi9g==",
      "dependencies": {
        "unist-util-visit": "^4.1.2"
      }
    },
    "node_modules/remark-parse": {
      "version": "10.0.2",
      "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-10.0.2.tgz",
package.json
@@ -30,6 +30,7 @@
    "chalk": "^4.1.2",
    "cli-spinner": "^0.2.10",
    "esbuild-sass-plugin": "^2.9.0",
    "flamethrower-router": "^0.0.0-meme.12",
    "github-slugger": "^2.0.0",
    "globby": "^13.1.4",
    "gray-matter": "^4.0.3",
quartz/bootstrap-cli.mjs
@@ -75,6 +75,7 @@
                stdin: {
                  contents: text,
                  loader: 'ts',
                  resolveDir: '.',
                  sourcefile: path.relative(path.resolve('.'), args.path),
                },
                write: false,
quartz/components/scripts/spa.inline.ts
New file
@@ -0,0 +1,3 @@
import flamethrower from 'flamethrower-router'
const router = flamethrower()
export default "SpaScript"
quartz/plugins/index.ts
@@ -4,6 +4,7 @@
import { googleFontHref, joinStyles } from '../theme'
import { EmitCallback, PluginTypes } from './types'
import styles from '../styles/base.scss'
import spaRouterScript from '../components/scripts/spa.inline'
export type ComponentResources = {
  css: string[],
@@ -31,6 +32,10 @@
    afterDOMLoaded: []
  }
  if (cfg.enableSPA) {
    componentResources.afterDOMLoaded.push(spaRouterScript)
  }
  for (const component of allComponents) {
    const { css, beforeDOMLoaded, afterDOMLoaded } = component
    if (css) {