diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
new file mode 100644
index 0000000..bcf0be2
--- /dev/null
+++ b/.github/workflows/build.yml
@@ -0,0 +1,30 @@
+name: Publish on GitHub Pages
+
+on:
+ push:
+ branches: [main]
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Clone repository
+ uses: actions/checkout@v2
+
+ - name: Setup Deno environment
+ uses: denoland/setup-deno@v1
+ with:
+ deno-version: v1.x
+
+ - name: Build site
+ run: |
+ deno task build --location=https://jonathanhudak.com
+ - name: DeployDeploy to GitHub Pages
+ if: success()
+ # https://github.com/peaceiris/actions-gh-pages
+ uses: peaceiris/actions-gh-pages@v3
+ with:
+ cname: jonathanhudak.com
+ publish_dir: _site
+ github_token: ${{ secrets.GITHUB_TOKEN }}
diff --git a/CNAME b/CNAME
deleted file mode 100644
index 8562a39..0000000
--- a/CNAME
+++ /dev/null
@@ -1 +0,0 @@
-jonathanhudak.com
\ No newline at end of file
diff --git a/_config.ts b/_config.ts
new file mode 100644
index 0000000..1dd762d
--- /dev/null
+++ b/_config.ts
@@ -0,0 +1,18 @@
+import lume from "lume/mod.ts";
+import lightningcss from "lume/plugins/lightningcss.ts";
+import jsx from "lume/plugins/jsx.ts";
+import mdx from "lume/plugins/mdx.ts";
+import pug from "lume/plugins/pug.ts";
+import metas from "lume/plugins/metas.ts";
+
+const site = lume({
+ src: "./src",
+});
+
+site.use(lightningcss());
+site.use(jsx());
+site.use(mdx());
+site.use(pug());
+site.use(metas());
+
+export default site;
diff --git a/_site/index.html b/_site/index.html
new file mode 100644
index 0000000..80564be
--- /dev/null
+++ b/_site/index.html
@@ -0,0 +1,5 @@
+
+
-
-
-
-
- 2022
-
- -
- Alive and well on Bainbridge Island, Wa.
-
- -
- Senior Frontend Engineer at Amazon Web Services
-
- -
- Learning techniques of japanese joinery, and wood carving.
-
- -
- Creating art and music and not sharing it much.
-
- -
- Playing nostalgic 90's rock songs on my old acoustic guitar while my son Theodore builds with lego bricks.
-
-
-
-
-
- 2020
-
- Move to Bainbridge
- During Covid times, Seattle got to be a drag so we moved across the Puget Sound to Bainbridge Island. My only complaint about living on the island is the limited array of restaurants. Otherwise it has been beautiful and quiet. We have been able to explore the Olympic Penninsula and enjoy more of my home State.
-
-
-
-
-
-
-
-
diff --git a/server.ts b/server.ts
deleted file mode 100644
index e2bf016..0000000
--- a/server.ts
+++ /dev/null
@@ -1,74 +0,0 @@
-import { Application, Router } from "https://deno.land/x/oak/mod.ts";
-import "https://deno.land/x/dotenv/load.ts";
-import { ApiFactory } from "https://deno.land/x/aws_api/client/mod.ts";
-import { S3 } from "https://deno.land/x/aws_api/services/s3/mod.ts";
-
-let s3: any;
-
-function getClient() {
- if (s3) return s3;
-
- s3 = new ApiFactory({
- region: "us-west-2",
- credentials: {
- awsAccessKeyId: Deno.env.get("KEY") || "",
- awsSecretKey: Deno.env.get("SECRET") || "",
- },
- }).makeNew(S3);
-
- return s3;
-}
-
-async function listObjects(context: any) {
- const client = getClient();
- // context.objects = await client.listObjects({
- // Bucket: "hudak.lol",
- // });
- context.response.body = await client.listObjects({
- Bucket: "hudak.lol",
- });
-}
-
-// export default () => {
-// const body = JSON.stringify({ msg: "HERE COMES THE FUTURE" });
-// return new Response(body);
-// };
-
-const app = new Application();
-
-app.use(async (context, next) => {
- try {
- await context.send({
- root: Deno.cwd(),
- index: "index.html",
- });
- } catch {
- next();
- }
-});
-
-app.addEventListener("listen", ({ hostname, port }) => {
- console.log(`Listening on ${hostname}:${port}`);
-});
-
-const router = new Router();
-router.get("/api/objects/list", listObjects, (context: any) => {
- // console.debug(response);
- // return new Promise((resolve, reject) => {
- // client
- // ?.listObjects({
- // Bucket: "hudak.lol",
- // })
- // .then((result: any) => {
- // context.response.body = JSON.stringify(result);
- // resolve(result);
- // });
- // // context.response.type = "application/json";
- // }).then(next);
- return listObjects(context);
-});
-
-app.use(router.routes());
-app.use(router.allowedMethods());
-
-await app.listen({ port: 5678 });
diff --git a/src/_data.yml b/src/_data.yml
new file mode 100644
index 0000000..9991acc
--- /dev/null
+++ b/src/_data.yml
@@ -0,0 +1,3 @@
+layout: layout.pug
+site:
+ title: Jonathan Hudak
diff --git a/src/_includes/layout.pug b/src/_includes/layout.pug
new file mode 100644
index 0000000..199f53e
--- /dev/null
+++ b/src/_includes/layout.pug
@@ -0,0 +1,7 @@
+doctype html
+head
+ meta(charset='utf-8')
+ title= site.title
+
+ link(rel='stylesheet', href='main.css')
+main !{content}
diff --git a/src/index.pug b/src/index.pug
new file mode 100644
index 0000000..6ca2450
--- /dev/null
+++ b/src/index.pug
@@ -0,0 +1,44 @@
+.u-flow
+ header
+ .u-flow
+ h1 Jonathan Hudak
+ p Born 1984 in Tacoma, Washington USA
+ ul.ul
+ li
+ a(href='https://www.instagram.com/hudak_doodles/') Artist 🖼
+ li
+ | Musician 🎸
+ a(title='Mystical Synth Pop from 2010-2011' href='https://tumbledry.bandcamp.com/music') >🎹
+ | 🎤 🎧
+ li
+ | Coder of Web 💻
+ a(href='https://hudak.codes') hudak.codes
+ | 💾
+ a(href='https://github.com/jonathanhudak') github
+ main
+ .u-flow
+ details
+ summary
+ | 2022
+ ul.ul
+ li
+ | Alive and well on Bainbridge Island, Wa.
+ li
+ | Senior Frontend Engineer at Amazon Web Services
+ li
+ | Learning techniques of japanese joinery, and wood carving.
+ li
+ | Creating art and music and not sharing it much.
+ li
+ | Playing nostalgic 90's rock songs on my old acoustic guitar while my son Theodore builds with lego bricks.
+ details
+ summary
+ | 2020
+ details
+ summary Move to Bainbridge
+ p
+ | During Covid times, Seattle got to be a drag so we moved across the Puget Sound to Bainbridge Island. My only complaint about living on the island is the limited array of restaurants. Otherwise it has been beautiful and quiet. We have been able to explore the Olympic Penninsula and enjoy more of my home State.
+ footer.footer
+ .u-flow
+ p
+ | Jonathan Hudak © 2023
\ No newline at end of file
diff --git a/style.css b/src/main.css
similarity index 94%
rename from style.css
rename to src/main.css
index ce72eb1..c27c307 100644
--- a/style.css
+++ b/src/main.css
@@ -84,27 +84,16 @@ body {
header, main, footer {
padding: 0 var(--space-m-l);
- max-width: calc(var(--space-3xl) * 4);
+ max-width: calc(var(--space-3xl) * 6);
margin: auto;
display: block;
+ border: none;
}
a {
color: var(--accent-color);
}
-summary {
- /* display: flex; */
- align-items: center;
- padding-bottom: var(--space-xs);
-}
-summary > h2, summary > h3 {
- display: inline-block;
-}
-
-summary:focus {
- border: 1px solid var(--accent);
-}
h1, h2 {
padding-top: var( --space-m-l);
diff --git a/static/CNAME b/static/CNAME
deleted file mode 100644
index 8562a39..0000000
--- a/static/CNAME
+++ /dev/null
@@ -1 +0,0 @@
-jonathanhudak.com
\ No newline at end of file