Scaffold basic page layout and site generation
Set up the basic layout of the site and greybox its content based on statically generated pages. Content pages uses general base layouts defined centrally to avoid duplicating code.
This commit is contained in:
parent
51b458103b
commit
8fb809fa95
10 changed files with 268 additions and 21 deletions
47
content/projects.tsx
Normal file
47
content/projects.tsx
Normal file
|
@ -0,0 +1,47 @@
|
|||
import { BasePage } from "./bases.js";
|
||||
import type { Page } from "./types.js";
|
||||
|
||||
export const projects: Page[] = [
|
||||
{
|
||||
title: "Buddhabrot renderer",
|
||||
ref: "projects/buddhabrot.html",
|
||||
},
|
||||
{
|
||||
title: "Wooden Drawing Board",
|
||||
ref: "projects/drafting-board.html",
|
||||
},
|
||||
{
|
||||
title: "Flying Hornwitser Paper Craft",
|
||||
ref: "projects/paper-hornwitser.html",
|
||||
},
|
||||
{
|
||||
title: "Prototype Soren Plush",
|
||||
ref: "projects/plush-soren.html",
|
||||
},
|
||||
{
|
||||
title: "Blender to CSS export script",
|
||||
ref: "projects/blender-css.html",
|
||||
},
|
||||
].map(page => ({
|
||||
title: page.title,
|
||||
ref: page.ref,
|
||||
content: <BasePage title={page.title}>
|
||||
<h1>{page.title}</h1>
|
||||
<p>Placeholder content</p>
|
||||
</BasePage>
|
||||
}));
|
||||
|
||||
|
||||
const title = "Hornwitser's Projects";
|
||||
export const projectsIndex: Page = {
|
||||
title,
|
||||
ref: "projects.html",
|
||||
content: <BasePage title={title}>
|
||||
<main>
|
||||
<h1>{title}</h1>
|
||||
<ul>
|
||||
{ projects.map(project => <li><a href={"./" + project.ref}>{project.title}</a></li>)}
|
||||
</ul>
|
||||
</main>
|
||||
</BasePage>
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue