| | |
| | | import HeaderConstructor from "./Header" |
| | | import BodyConstructor from "./Body" |
| | | import { JSResourceToScriptElement, StaticResources } from "../resources"; |
| | | import { resolveToRoot } from "../path"; |
| | | import { CanonicalSlug, pathToRoot } from "../path"; |
| | | |
| | | interface RenderComponents { |
| | | head: QuartzComponent |
| | |
| | | footer: QuartzComponent, |
| | | } |
| | | |
| | | export function pageResources(slug: string, staticResources: StaticResources): StaticResources { |
| | | const baseDir = resolveToRoot(slug) |
| | | export function pageResources(slug: CanonicalSlug, staticResources: StaticResources): StaticResources { |
| | | const baseDir = pathToRoot(slug) |
| | | |
| | | const contentIndexPath = baseDir + "/static/contentIndex.json" |
| | | const contentIndexScript = `const fetchData = fetch(\`${contentIndexPath}\`).then(data => data.json())` |
| | |
| | | } |
| | | } |
| | | |
| | | export function renderPage(slug: string, componentData: QuartzComponentProps, components: RenderComponents, pageResources: StaticResources): string { |
| | | export function renderPage(slug: CanonicalSlug, componentData: QuartzComponentProps, components: RenderComponents, pageResources: StaticResources): string { |
| | | const { head: Head, header, beforeBody, pageBody: Content, left, right, footer: Footer } = components |
| | | const Header = HeaderConstructor() |
| | | const Body = BodyConstructor() |