Jacky Zhao
2023-07-10 08f8e3b4a4879dd7c91c16fbce80c4f2bc5e357f
quartz/components/renderPage.tsx
@@ -25,7 +25,7 @@
    css: [baseDir + "/index.css", ...staticResources.css],
    js: [
      { src: baseDir + "/prescript.js", loadTime: "beforeDOMReady", contentType: "external" },
      { loadTime: "afterDOMReady", contentType: "inline", spaPreserve: true, script: contentIndexScript },
      { loadTime: "beforeDOMReady", contentType: "inline", spaPreserve: true, script: contentIndexScript },
      ...staticResources.js,
      { src: baseDir + "/postscript.js", loadTime: "afterDOMReady", moduleType: 'module', contentType: "external" }
    ]
@@ -38,39 +38,35 @@
  const Body = BodyConstructor()
  const LeftComponent =
    <div class="left">
      <div class="left-inner">
        {left.map(BodyComponent => <BodyComponent {...componentData} />)}
      </div>
    <div class="left sidebar">
      {left.map(BodyComponent => <BodyComponent {...componentData} />)}
    </div>
  const RightComponent =
    <div class="right">
      <div class="right-inner">
        {right.map(BodyComponent => <BodyComponent {...componentData} />)}
      </div>
    <div class="right sidebar">
      {right.map(BodyComponent => <BodyComponent {...componentData} />)}
    </div>
  const doc = <html>
    <Head {...componentData} />
    <body data-slug={slug}>
      <div id="quartz-root" class="page">
        <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}>
          {LeftComponent}
          <div class="center">
            <div class="page-header">
              <Header {...componentData} >
                {header.map(HeaderComponent => <HeaderComponent {...componentData} />)}
              </Header>
              <div class="popover-hint">
                {beforeBody.map(BodyComponent => <BodyComponent {...componentData} />)}
              </div>
            </div>
            <Content {...componentData} />
            <Footer {...componentData} />
          </div>
          {RightComponent}
        </Body>
        <Footer {...componentData} />
      </div>
    </body>
    {pageResources.js.filter(resource => resource.loadTime === "afterDOMReady").map(res => JSResourceToScriptElement(res))}