aboutsummaryrefslogtreecommitdiffhomepage
path: root/services/nuldoc/nuldoc-src/pages/HomePage.ts
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2025-11-27 04:02:06 +0900
committernsfisis <nsfisis@gmail.com>2025-11-27 04:02:06 +0900
commitd1014de68415df8f0a5dc3389332e086119c6198 (patch)
tree6564411eb6381eb48f86ed2b658c5440295596fa /services/nuldoc/nuldoc-src/pages/HomePage.ts
parentb587ae4cfdfb991dcd9d7a1109b7530f774691dd (diff)
downloadnsfisis.dev-d1014de68415df8f0a5dc3389332e086119c6198.tar.gz
nsfisis.dev-d1014de68415df8f0a5dc3389332e086119c6198.tar.zst
nsfisis.dev-d1014de68415df8f0a5dc3389332e086119c6198.zip
refactor(nuldoc): eliminate JSX
Diffstat (limited to 'services/nuldoc/nuldoc-src/pages/HomePage.ts')
-rw-r--r--services/nuldoc/nuldoc-src/pages/HomePage.ts78
1 files changed, 78 insertions, 0 deletions
diff --git a/services/nuldoc/nuldoc-src/pages/HomePage.ts b/services/nuldoc/nuldoc-src/pages/HomePage.ts
new file mode 100644
index 0000000..503a382
--- /dev/null
+++ b/services/nuldoc/nuldoc-src/pages/HomePage.ts
@@ -0,0 +1,78 @@
+import GlobalFooter from "../components/GlobalFooter.ts";
+import GlobalHeader from "../components/DefaultGlobalHeader.ts";
+import PageLayout from "../components/PageLayout.ts";
+import { Config } from "../config.ts";
+import { elem, Element } from "../dom.ts";
+
+export default async function HomePage(config: Config): Promise<Element> {
+ return await PageLayout({
+ metaCopyrightYear: config.site.copyrightYear,
+ metaDescription: "nsfisis のサイト",
+ metaTitle: config.sites.default.siteName,
+ metaAtomFeedHref: `https://${config.sites.default.fqdn}/atom.xml`,
+ site: "default",
+ config,
+ children: elem(
+ "body",
+ { class: "single" },
+ GlobalHeader({ config }),
+ elem(
+ "main",
+ { class: "main" },
+ elem(
+ "article",
+ { class: "post-single" },
+ elem(
+ "article",
+ { class: "post-entry" },
+ elem(
+ "a",
+ { href: `https://${config.sites.about.fqdn}/` },
+ elem(
+ "header",
+ { class: "entry-header" },
+ elem("h2", {}, "About"),
+ ),
+ ),
+ ),
+ elem(
+ "article",
+ { class: "post-entry" },
+ elem(
+ "a",
+ { href: `https://${config.sites.blog.fqdn}/posts/` },
+ elem("header", { class: "entry-header" }, elem("h2", {}, "Blog")),
+ ),
+ ),
+ elem(
+ "article",
+ { class: "post-entry" },
+ elem(
+ "a",
+ { href: `https://${config.sites.slides.fqdn}/slides/` },
+ elem(
+ "header",
+ { class: "entry-header" },
+ elem("h2", {}, "Slides"),
+ ),
+ ),
+ ),
+ elem(
+ "article",
+ { class: "post-entry" },
+ elem(
+ "a",
+ { href: `https://repos.${config.sites.default.fqdn}/` },
+ elem(
+ "header",
+ { class: "entry-header" },
+ elem("h2", {}, "Repositories"),
+ ),
+ ),
+ ),
+ ),
+ ),
+ GlobalFooter({ config }),
+ ),
+ });
+}