From e0ebee5aa9b3646de722f139f1d8d15591df538e Mon Sep 17 00:00:00 2001
From: Jacky Zhao <j.zhao2k19@gmail.com>
Date: Sun, 02 Jul 2023 20:08:29 +0000
Subject: [PATCH] various polish
---
quartz/components/renderPage.tsx | 43 ++++++++++++++++++++++++++++++-------------
1 files changed, 30 insertions(+), 13 deletions(-)
diff --git a/quartz/components/renderPage.tsx b/quartz/components/renderPage.tsx
index 0e0f4c0..c70f092 100644
--- a/quartz/components/renderPage.tsx
+++ b/quartz/components/renderPage.tsx
@@ -17,10 +17,15 @@
export function pageResources(slug: string, staticResources: StaticResources): StaticResources {
const baseDir = resolveToRoot(slug)
+
+ const contentIndexPath = baseDir + "/static/contentIndex.json"
+ const contentIndexScript = `const fetchData = fetch(\`${contentIndexPath}\`).then(data => data.json())`
+
return {
css: [baseDir + "/index.css", ...staticResources.css],
js: [
{ src: baseDir + "/prescript.js", loadTime: "beforeDOMReady", contentType: "external" },
+ { loadTime: "afterDOMReady", contentType: "inline", spaPreserve: true, script: contentIndexScript },
...staticResources.js,
{ src: baseDir + "/postscript.js", loadTime: "afterDOMReady", moduleType: 'module', contentType: "external" }
]
@@ -32,28 +37,40 @@
const Header = HeaderConstructor()
const Body = BodyConstructor()
+ const LeftComponent =
+ <div class="left">
+ <div class="left-inner">
+ {left.map(BodyComponent => <BodyComponent {...componentData} />)}
+ </div>
+ </div>
+
+ const RightComponent =
+ <div class="right">
+ <div class="right-inner">
+ {right.map(BodyComponent => <BodyComponent {...componentData} />)}
+ </div>
+ </div>
+
const doc = <html>
<Head {...componentData} />
<body data-slug={slug}>
<div id="quartz-root" class="page">
- <Header {...componentData} >
- {header.map(HeaderComponent => <HeaderComponent {...componentData} />)}
- </Header>
- <div class="popover-hint">
- {beforeBody.map(BodyComponent => <BodyComponent {...componentData} />)}
+ <div class="page-header">
+ <Header {...componentData} >
+ {header.map(HeaderComponent => <HeaderComponent {...componentData} />)}
+ </Header>
+ <div class="popover-hint">
+ {beforeBody.map(BodyComponent => <BodyComponent {...componentData} />)}
+ </div>
</div>
<Body {...componentData}>
- <div class="left">
- {left.map(BodyComponent => <BodyComponent {...componentData} />)}
- </div>
- <div class="center popover-hint">
+ {LeftComponent}
+ <div class="center">
<Content {...componentData} />
+ <Footer {...componentData} />
</div>
- <div class="right">
- {right.map(BodyComponent => <BodyComponent {...componentData} />)}
- </div>
+ {RightComponent}
</Body>
- <Footer {...componentData} />
</div>
</body>
{pageResources.js.filter(resource => resource.loadTime === "afterDOMReady").map(res => JSResourceToScriptElement(res))}
--
Gitblit v1.10.0