From 5dc7db36f80cf63fcb2ec076d2d1ce0a1cfe0978 Mon Sep 17 00:00:00 2001 From: Kenneth Date: Mon, 4 Aug 2025 00:43:27 +0100 Subject: [PATCH 1/3] initial book read page layout --- src/pages/reads.astro | 79 +++++++++++++++++++++++++++++++++++++++++++ src/styles/global.css | 5 +++ 2 files changed, 84 insertions(+) create mode 100644 src/pages/reads.astro diff --git a/src/pages/reads.astro b/src/pages/reads.astro new file mode 100644 index 0000000..dc4c491 --- /dev/null +++ b/src/pages/reads.astro @@ -0,0 +1,79 @@ +--- +import BaseHead from "../components/BaseHead.astro"; +--- + + + + + + + +
+
+

+ Kenneth's Reads +

+

+ Quotes and notes from my readings. +

+
+ +
+
+
+
+

Now Reading

+
+
+ +
+

The Creative Act

+
+ +
+

+

+ The Creative Act +

+
+

+ Practicing a way of being that allows you to see the world through + uncorrupted, innocent eyes can free you to act in concert with the + universe's timetable. +

+ +

+ All Books +

+ +
+ + diff --git a/src/styles/global.css b/src/styles/global.css index c6ab10e..4892cf2 100644 --- a/src/styles/global.css +++ b/src/styles/global.css @@ -1,5 +1,6 @@ @import "tailwindcss"; @import "@catppuccin/tailwindcss/mocha.css"; +@import url("https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap"); @plugin "@tailwindcss/typography"; @@ -84,6 +85,10 @@ body.blog { font-family: "Source Serif 4", "Georgia", serif; } +body.reads * { + font-family: "Inter", sans-serif; +} + .nf { font-family: "NerdFont"; } From 2936ab33842b20cde7c1dcd5a5797a0e8850e1ec Mon Sep 17 00:00:00 2001 From: Kenneth Date: Wed, 6 Aug 2025 01:15:18 +0100 Subject: [PATCH 2/3] add notes and web pages for them --- src/components/Header.astro | 1 + src/content/config.ts | 11 ++++- src/content/read/being-you.md | 6 +++ src/content/read/the-creative-act.md | 34 ++++++++++++++++ src/content/read/user-friendly.md | 7 ++++ src/content/read/zero-to-one.md | 7 ++++ src/layouts/BookRead.astro | 58 +++++++++++++++++++++++++++ src/pages/blog/[...slug].astro | 8 ++-- src/pages/index.astro | 13 +++++- src/pages/{reads.astro => read.astro} | 45 ++++++++++++++------- src/pages/read/[...slug].astro | 20 +++++++++ src/styles/global.css | 24 +++++++++++ 12 files changed, 212 insertions(+), 22 deletions(-) create mode 100644 src/content/read/being-you.md create mode 100644 src/content/read/the-creative-act.md create mode 100644 src/content/read/user-friendly.md create mode 100644 src/content/read/zero-to-one.md create mode 100644 src/layouts/BookRead.astro rename src/pages/{reads.astro => read.astro} (64%) create mode 100644 src/pages/read/[...slug].astro diff --git a/src/components/Header.astro b/src/components/Header.astro index 95d8141..495cb0a 100644 --- a/src/components/Header.astro +++ b/src/components/Header.astro @@ -6,5 +6,6 @@ import Link from "./Link.astro"; diff --git a/src/content/config.ts b/src/content/config.ts index 32b905a..dc37935 100644 --- a/src/content/config.ts +++ b/src/content/config.ts @@ -14,4 +14,13 @@ const blog = defineCollection({ }), }); -export const collections = { blog }; +const read = defineCollection({ + type: "content", + schema: z.object({ + title: z.string(), + author: z.string(), + goodReadLink: z.string().optional(), + }), +}); + +export const collections = { blog, read }; diff --git a/src/content/read/being-you.md b/src/content/read/being-you.md new file mode 100644 index 0000000..7455005 --- /dev/null +++ b/src/content/read/being-you.md @@ -0,0 +1,6 @@ +--- +title: Being You +author: Anil Seth +--- + +I am still organizing my notes for this book. diff --git a/src/content/read/the-creative-act.md b/src/content/read/the-creative-act.md new file mode 100644 index 0000000..ac9e0fd --- /dev/null +++ b/src/content/read/the-creative-act.md @@ -0,0 +1,34 @@ +--- +title: The Creative Act +author: Rick Rubin +goodReadLink: https://www.goodreads.com/book/show/60965426-the-creative-act +--- + +## Everyone is a creator + +- To live as an artist is a way of being in the world + +## Tuning in + +- We are all participating in a larger creative act we are not conducting. We are being conducted. The artist is on a cosmic timetable, just like all of nature. +- In this great unfolding, ideas and thoughts, themes and songs and other works of art exist in the aether and ripen on schedule, ready to find expression in the physical world. +As artists, it is our job to draw down this information, transmute it, and share it. +- We are all antennae for creative thought. +- To pick up on signals, don't look for it, or try to predict and analyze our way into it. Instead, create an open space that allows it. A space so free of the normal overpacked condition of our minds that it functions as a vacuum. +- Practicing a way of being that allows you to see the world through uncorrupted, innocent eyes can free you to act in concert with the universe's timetable. + +## The source of creativity + +- The Source is out there. A wisdom surrounding us, an inexhaustible offering that is always available. +- Art is a circulation of energetic ideas. What makes them appear new is that they are combining differently each time they come back. + +## Awareness + +- The universe is only as large as our perception of it. When we cultivate our awareness, we are expanding the universe. + +## The Vessal and the Filter + +- The vessel holds the sum of our thoughts, feelings, dreams, and experiences in the world. +- Information is filtered uniquely for each person before entering the vessel. +- Artists seek to restore childlike perceptions, a more innocent state of wonder and appreciation untethered to utility or survival. +- One can think of the creative act as taking the sum of our vessel's contents as potential material, selecting for elements that seem useful or significant in the moment, and re-representing them. diff --git a/src/content/read/user-friendly.md b/src/content/read/user-friendly.md new file mode 100644 index 0000000..afc0746 --- /dev/null +++ b/src/content/read/user-friendly.md @@ -0,0 +1,7 @@ +--- +title: User Friendly +author: Cliff Kuang, Robert Fabricant +goodReadLink: https://www.goodreads.com/book/show/41940285-user-friendly +--- + +I will start making notes here when I start reading this book. diff --git a/src/content/read/zero-to-one.md b/src/content/read/zero-to-one.md new file mode 100644 index 0000000..d6dbbc7 --- /dev/null +++ b/src/content/read/zero-to-one.md @@ -0,0 +1,7 @@ +--- +title: Zero to One +author: Peter Thiel, Blake Masters +goodReadLink: https://www.goodreads.com/book/show/18050143-zero-to-one +--- + +I will start making notes here when I start reading this book. diff --git a/src/layouts/BookRead.astro b/src/layouts/BookRead.astro new file mode 100644 index 0000000..7da72a4 --- /dev/null +++ b/src/layouts/BookRead.astro @@ -0,0 +1,58 @@ +--- +import type { CollectionEntry } from "astro:content"; +import BaseHead from "../components/BaseHead.astro"; + +type Props = CollectionEntry<"read">["data"]; + +const { title, author, goodReadLink } = Astro.props; +--- + + + + + + + +
+
+

Kenneth's Read

+

Quotes and notes from my readings.

+
+
+
+
+
+
+

{title}

+

{author}

+
+ GoodRead +
+
+ +
+
+ +
+ + diff --git a/src/pages/blog/[...slug].astro b/src/pages/blog/[...slug].astro index 07dbce2..e64c562 100644 --- a/src/pages/blog/[...slug].astro +++ b/src/pages/blog/[...slug].astro @@ -1,15 +1,15 @@ --- -import { type CollectionEntry, getCollection } from 'astro:content'; -import BlogPost from '../../layouts/BlogPost.astro'; +import { type CollectionEntry, getCollection } from "astro:content"; +import BlogPost from "../../layouts/BlogPost.astro"; export async function getStaticPaths() { - const posts = await getCollection('blog'); + const posts = await getCollection("blog"); return posts.map((post) => ({ params: { slug: post.slug }, props: post, })); } -type Props = CollectionEntry<'blog'>; +type Props = CollectionEntry<"blog">; const post = Astro.props; const { Content } = await post.render(); diff --git a/src/pages/index.astro b/src/pages/index.astro index 5fb9948..a6eeb9e 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -25,7 +25,11 @@ const posts = (await getBlogs()).sort(

kennethnym

-

dumping ground for my thoughts. all opinions are my own.

+

+ software engineer @ gitpod. + all opinions are my own. +

+

check out the books I am reading!

current projects:

  • @@ -68,9 +72,14 @@ const posts = (await getBlogs()).sort( >
    KENNETHNYM v23.5

     

    -

    software engineer. unpaid hhkb salesman.

    +

    + software engineer @ gitpod. + unpaid hhkb salesman. +

     

     

    + books i am reading +

     

      book.slug !== nowReading.slug, +); --- @@ -31,7 +46,7 @@ import BaseHead from "../components/BaseHead.astro";

      Now Reading

      @@ -39,7 +54,9 @@ import BaseHead from "../components/BaseHead.astro";
      -

      The Creative Act

      + {nowReading.title}

      - The Creative Act + {quote.bookTitle}

      - Practicing a way of being that allows you to see the world through - uncorrupted, innocent eyes can free you to act in concert with the - universe's timetable. + {quote.content}

diff --git a/src/pages/read/[...slug].astro b/src/pages/read/[...slug].astro new file mode 100644 index 0000000..b885cd8 --- /dev/null +++ b/src/pages/read/[...slug].astro @@ -0,0 +1,20 @@ +--- +import { type CollectionEntry, getCollection } from "astro:content"; +import BookRead from "../../layouts/BookRead.astro"; + +export async function getStaticPaths() { + const posts = await getCollection("read"); + return posts.map((post) => ({ + params: { slug: post.slug }, + props: post, + })); +} +type Props = CollectionEntry<"read">; + +const post = Astro.props; +const { Content } = await post.render(); +--- + + + + diff --git a/src/styles/global.css b/src/styles/global.css index 4892cf2..04ea3c1 100644 --- a/src/styles/global.css +++ b/src/styles/global.css @@ -92,3 +92,27 @@ body.reads * { .nf { font-family: "NerdFont"; } + +.scroll-to-blur { + animation-name: scroll-to-blur; + animation-duration: 1ms; /* Firefox requires this to apply the animation */ + animation-timeline: scroll(block nearest); +} + +@keyframes scroll-to-blur { + 0% { + filter: blur(0px); + } + + 20% { + filter: blur(5px); + transform: scale(0.99); + opacity: 0%; + } + + 100% { + filter: blur(5px); + transform: scale(0.99); + opacity: 0%; + } +} From 85f91aed49234f39ac80795a5d82a0e416fe38a8 Mon Sep 17 00:00:00 2001 From: Kenneth Date: Wed, 6 Aug 2025 01:18:08 +0100 Subject: [PATCH 3/3] fix book read layout header overlap on mobile --- src/layouts/BookRead.astro | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/layouts/BookRead.astro b/src/layouts/BookRead.astro index 7da72a4..9b00483 100644 --- a/src/layouts/BookRead.astro +++ b/src/layouts/BookRead.astro @@ -19,10 +19,10 @@ const { title, author, goodReadLink } = Astro.props; class="w-full reads -z-2 bg-stone-200 dark:bg-stone-900 flex justify-center dark:text-stone-300 pt-20 md:py-40" >

Kenneth's Read

Quotes and notes from my readings.