From 741a1b6429041dd48c0cf336def13223cec38185 Mon Sep 17 00:00:00 2001 From: thomasabishop Date: Sun, 1 Mar 2026 15:24:59 +0000 Subject: [PATCH] interim commit --- src/components/EolasListing.jsx | 90 +++++++++--------- src/components/LanguagesChart.jsx | 2 +- src/components/Scorecard.jsx | 2 +- src/containers/CodeStats.jsx | 4 +- src/containers/PostListing.jsx | 4 +- src/index.css | 96 ++++++++++--------- src/pages/home.jsx | 122 ++++++++++++------------ src/styles/_variables.css | 148 +++++++++++++++--------------- src/templates/BlogTemplate.jsx | 80 ++++++++-------- src/templates/MainTemplate.jsx | 110 +++++++++++----------- 10 files changed, 332 insertions(+), 326 deletions(-) diff --git a/src/components/EolasListing.jsx b/src/components/EolasListing.jsx index db59768..06ca566 100644 --- a/src/components/EolasListing.jsx +++ b/src/components/EolasListing.jsx @@ -3,57 +3,57 @@ import eolasApi from "@/api/eolas-api" import { convertDate } from "@/utils/convertDate" const EolasEntries = ({ entries }) => { - return ( - entries && - entries.map((entry, i) => ( - - )) - ) + return ( + entries && + entries.map((entry, i) => ( + + )) + ) } const EolasListing = () => { - const { data, isLoading, error } = useQuery({ - queryKey: [`eolas_listing`], - queryFn: () => - eolasApi.get(`entries?limit=5&sort=date`).then((res) => res.data), - }) + const { data, isLoading, error } = useQuery({ + queryKey: [`eolas_listing`], + queryFn: () => + eolasApi.get(`entries?limit=5&sort=date`).then((res) => res.data), + }) - return ( -
-
-
-

- {`eolas recent`} -

+ return ( +
+
+
+

+ {`Recent learning`} +

- {isLoading &&
Loading...
} + {isLoading &&
Loading...
} - {error ? ( -
- Error fetching recent learning -
- ) : ( - - )} -
-
-
- ) + {error ? ( +
+ Error fetching recent learning +
+ ) : ( + + )} +
+
+
+ ) } export default EolasListing diff --git a/src/components/LanguagesChart.jsx b/src/components/LanguagesChart.jsx index b54d5f2..7f6a246 100644 --- a/src/components/LanguagesChart.jsx +++ b/src/components/LanguagesChart.jsx @@ -2,7 +2,7 @@ import MetricBar from "./MetricBar" const LanguagesChart = ({ chartData, error }) => { return ( -
+
programming languages
diff --git a/src/components/Scorecard.jsx b/src/components/Scorecard.jsx index fa2e1dd..00758bd 100644 --- a/src/components/Scorecard.jsx +++ b/src/components/Scorecard.jsx @@ -1,6 +1,6 @@ const Scorecard = ({ title, metric }) => { return ( -
+
{title}
{metric}
diff --git a/src/containers/CodeStats.jsx b/src/containers/CodeStats.jsx index 9cdc912..a68969d 100644 --- a/src/containers/CodeStats.jsx +++ b/src/containers/CodeStats.jsx @@ -71,7 +71,7 @@ const CodeStats = () => {
-

+

{`code stats`}

@@ -79,7 +79,7 @@ const CodeStats = () => { {convertDateFriendly(data?.to)}
-
+
{
-

+

{`${title}`}

{posts.map((post) => (
  • -
    +
    {convertDate(post.date)} diff --git a/src/index.css b/src/index.css index bf3b986..12ecdc4 100644 --- a/src/index.css +++ b/src/index.css @@ -4,91 +4,97 @@ @import "tw-animate-css"; * { - outline-color: color-mix(in srgb, var(--ring) 50%, transparent); + outline-color: color-mix(in srgb, var(--ring) 50%, transparent); } html { - font-family: var(--font-sansserif); + font-family: var(--font-sansserif); } body { - background-color: var(--background); - color: var(--foreground); + background-color: var(--background); + color: var(--foreground); } .condensed { - font-family: "Inter"; + font-family: "IBM Plex Sans"; } figcaption { - font-weight: 500; - font-family: "Inter"; + font-weight: 500; + font-family: "IBM Plex Sans"; } h1 { - color: var(--color-orange-light); - font-family: "Inter"; + color: var(--color-orange-light); + font-family: "IBM Plex Sans"; } h2 { - font-family: "Inter"; - color: var(--color-green-light); + font-family: "IBM Plex Sans"; + color: var(--color-green-light); } .h2-home { - font-family: "Inter"; - font-weight: 600; + font-family: "IBM Plex Sans"; + font-weight: 600; } h3 { - font-family: "Inter"; - font-weight: 600 !important; + font-family: "IBM Plex Sans"; + font-weight: 600 !important; } .monospaced-font { - font-family: "iA Writer Mono"; + font-family: "iA Writer Mono"; } .scanlined { - position: relative; - /* Add this */ + position: relative; + /* Add this */ } .scanlined::after { - content: ""; - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - background-image: linear-gradient(rgba(0, 0, 0, 0.4) 1px, transparent 1px); - background-size: 2px 2px; - background-repeat: repeat; - pointer-events: none; - z-index: 9999; - /* Might want to lower this too */ + content: ""; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background-image: linear-gradient(rgba(0, 0, 0, 0.4) 1px, transparent 1px); + background-size: 2px 2px; + background-repeat: repeat; + pointer-events: none; + z-index: 9999; + /* Might want to lower this too */ } code { - font-family: var(--font-monospaced); + font-family: var(--font-monospaced); +} + +p, +li { + font-size: 1.125rem !important; + line-height: 1.8 !important; } p code { - color: var(--foreground); - background: #504945; - font-size: 14px; - padding: 0.2rem 0.3rem; - border-radius: var(--radius); - font-weight: 500; + color: var(--foreground); + background: #504945; + font-size: 14px; + padding: 0.2rem 0.3rem; + border-radius: var(--radius); + font-weight: 500; } .shiki { - padding: 1rem 1.2rem; - border-radius: 0; - overflow-x: auto; - margin: 1.5rem 0; - line-height: 1.3; - /* counter-reset: line; */ - font-family: var(--font-monospaced) !important; - font-size: 14px !important; + padding: 1rem 1.2rem; + border-radius: 0; + overflow-x: auto; + margin: 1.5rem 0; + line-height: 1.3; + /* counter-reset: line; */ + font-family: var(--font-monospaced) !important; + font-size: 14px !important; } diff --git a/src/pages/home.jsx b/src/pages/home.jsx index 64a8c43..e527e8c 100644 --- a/src/pages/home.jsx +++ b/src/pages/home.jsx @@ -4,72 +4,72 @@ import { usePosts } from "@/hooks/usePosts" import gruvboxComputer from "../images/gruvbox-computer.svg" import EolasListing from "@/components/EolasListing" import CodeStats from "../containers/CodeStats" -// import TodayILearned from "@/containers/TodayILearned" const HomePage = () => { - const { posts } = usePosts() - return ( - -
    -
    -
    -
    -
    - -
    -
    -

    -
    - systems obscure -
    -

    -

    - A wizard who goes to bed early. This is my technical scrapbook - and digital garden. -

    -
    -
    -
    -
    -
    + const { posts } = usePosts() + return ( + +
    +
    +
    +
    +
    + +
    +
    +

    +
    systems obscure
    +

    +

    + A wizard who goes to bed early. This is my technical scrapbook + and digital garden. +

    +
    +
    +
    +
    +
    - + - post.tags.includes("highlight"))} - /> + post.tags.includes("highlight"))} + /> -
    -
    -
    -

    - {`projects`} -

    -
      -
    • - - eolas - -
    • -
    • -

      - A public frontend for my local Zettelkasten created with - NodeJS, Python and React. -

      -
    • -
    -
    -
    -
    - - -
    - ) +
    +
    +
    +

    + {`projects`} +

    +
      +
    • + + eolas + +
    • +
    • +

      + A public frontend for my local Zettelkasten created with + NodeJS, Python and React. +

      +
    • +
    +
    +
    +
    + + +
    + ) } export { HomePage } diff --git a/src/styles/_variables.css b/src/styles/_variables.css index c619c2d..710bcb0 100644 --- a/src/styles/_variables.css +++ b/src/styles/_variables.css @@ -1,79 +1,79 @@ :root { - --radius: 0.3rem; - --background: #282828; - --foreground: #ebdbb2; - --sidebar: #3c3836; - --color-red-light: #fb4934; - --color-orange-light: #fe8019; - --color-green-light: #b8bb26; - --color-aqua-muted: #689d6a; - --card: oklch(1 0 0); - --card-foreground: oklch(0.145 0 0); - --popover: oklch(1 0 0); - --popover-foreground: oklch(0.145 0 0); - --primary: #8ec07c; - --primary-muted: #689d6a; - --primary-foreground: oklch(0.985 0 0); - --secondary: oklch(0.97 0 0); - --secondary-foreground: oklch(0.205 0 0); - --muted: #bdae93; - --muted-foreground: #928374; - --accent: oklch(0.97 0 0); - --accent-foreground: oklch(0.205 0 0); - --destructive: oklch(0.577 0.245 27.325); - --border: oklch(0.922 0 0); - --input: oklch(0.922 0 0); - --ring: oklch(0.708 0 0); - --chart-1: oklch(0.646 0.222 41.116); - --chart-2: oklch(0.6 0.118 184.704); - --chart-3: oklch(0.398 0.07 227.392); - --chart-4: oklch(0.828 0.189 84.429); - --chart-5: oklch(0.769 0.188 70.08); - --sidebar-foreground: oklch(0.145 0 0); - --sidebar-primary: oklch(0.205 0 0); - --sidebar-primary-foreground: oklch(0.985 0 0); - --sidebar-accent: oklch(0.97 0 0); - --sidebar-accent-foreground: oklch(0.205 0 0); - --sidebar-border: oklch(0.922 0 0); - --sidebar-ring: oklch(0.708 0 0); - --font-monospaced: "Jetbrains Mono"; - --font-sansserif: "Inter", sans-serif; + --radius: 0.3rem; + --background: #282828; + --foreground: #fbf1c7; + --sidebar: #3c3836; + --color-red-light: #fb4934; + --color-orange-light: #fe8019; + --color-green-light: #b8bb26; + --color-aqua-muted: #689d6a; + --card: oklch(1 0 0); + --card-foreground: oklch(0.145 0 0); + --popover: oklch(1 0 0); + --popover-foreground: oklch(0.145 0 0); + --primary: #8ec07c; + --primary-muted: #689d6a; + --primary-foreground: oklch(0.985 0 0); + --secondary: oklch(0.97 0 0); + --secondary-foreground: oklch(0.205 0 0); + --muted: #bdae93; + --muted-foreground: #928374; + --accent: oklch(0.97 0 0); + --accent-foreground: oklch(0.205 0 0); + --destructive: oklch(0.577 0.245 27.325); + --border: oklch(0.922 0 0); + --input: oklch(0.922 0 0); + --ring: oklch(0.708 0 0); + --chart-1: oklch(0.646 0.222 41.116); + --chart-2: oklch(0.6 0.118 184.704); + --chart-3: oklch(0.398 0.07 227.392); + --chart-4: oklch(0.828 0.189 84.429); + --chart-5: oklch(0.769 0.188 70.08); + --sidebar-foreground: oklch(0.145 0 0); + --sidebar-primary: oklch(0.205 0 0); + --sidebar-primary-foreground: oklch(0.985 0 0); + --sidebar-accent: oklch(0.97 0 0); + --sidebar-accent-foreground: oklch(0.205 0 0); + --sidebar-border: oklch(0.922 0 0); + --sidebar-ring: oklch(0.708 0 0); + --font-monospaced: "Jetbrains Mono"; + --font-sansserif: "IBM Plex Sans", sans-serif; } @theme inline { - --radius-sm: calc(var(--radius) - 4px); - --radius-md: calc(var(--radius) - 2px); - --radius-lg: var(--radius); - --radius-xl: calc(var(--radius)); - --color-background: var(--background); - --color-foreground: var(--foreground); - --color-card: var(--card); - --color-card-foreground: var(--card-foreground); - --color-popover: var(--popover); - --color-popover-foreground: var(--popover-foreground); - --color-primary: var(--primary); - --color-primary-foreground: var(--primary-foreground); - --color-secondary: var(--secondary); - --color-secondary-foreground: var(--secondary-foreground); - --color-muted: var(--muted); - --color-muted-foreground: var(--muted-foreground); - --color-accent: var(--accent); - --color-accent-foreground: var(--accent-foreground); - --color-destructive: var(--destructive); - --color-border: var(--border); - --color-input: var(--input); - --color-ring: var(--ring); - --color-chart-1: var(--chart-1); - --color-chart-2: var(--chart-2); - --color-chart-3: var(--chart-3); - --color-chart-4: var(--chart-4); - --color-chart-5: var(--chart-5); - --color-sidebar: var(--sidebar); - --color-sidebar-foreground: var(--sidebar-foreground); - --color-sidebar-primary: var(--sidebar-primary); - --color-sidebar-primary-foreground: var(--sidebar-primary-foreground); - --color-sidebar-accent: var(--sidebar-accent); - --color-sidebar-accent-foreground: var(--sidebar-accent-foreground); - --color-sidebar-border: var(--sidebar-border); - --color-sidebar-ring: var(--sidebar-ring); + --radius-sm: calc(var(--radius) - 4px); + --radius-md: calc(var(--radius) - 2px); + --radius-lg: var(--radius); + --radius-xl: calc(var(--radius)); + --color-background: var(--background); + --color-foreground: var(--foreground); + --color-card: var(--card); + --color-card-foreground: var(--card-foreground); + --color-popover: var(--popover); + --color-popover-foreground: var(--popover-foreground); + --color-primary: var(--primary); + --color-primary-foreground: var(--primary-foreground); + --color-secondary: var(--secondary); + --color-secondary-foreground: var(--secondary-foreground); + --color-muted: var(--muted); + --color-muted-foreground: var(--muted-foreground); + --color-accent: var(--accent); + --color-accent-foreground: var(--accent-foreground); + --color-destructive: var(--destructive); + --color-border: var(--border); + --color-input: var(--input); + --color-ring: var(--ring); + --color-chart-1: var(--chart-1); + --color-chart-2: var(--chart-2); + --color-chart-3: var(--chart-3); + --color-chart-4: var(--chart-4); + --color-chart-5: var(--chart-5); + --color-sidebar: var(--sidebar); + --color-sidebar-foreground: var(--sidebar-foreground); + --color-sidebar-primary: var(--sidebar-primary); + --color-sidebar-primary-foreground: var(--sidebar-primary-foreground); + --color-sidebar-accent: var(--sidebar-accent); + --color-sidebar-accent-foreground: var(--sidebar-accent-foreground); + --color-sidebar-border: var(--sidebar-border); + --color-sidebar-ring: var(--sidebar-ring); } diff --git a/src/templates/BlogTemplate.jsx b/src/templates/BlogTemplate.jsx index 552aa8e..49ed0d8 100644 --- a/src/templates/BlogTemplate.jsx +++ b/src/templates/BlogTemplate.jsx @@ -5,41 +5,41 @@ import { convertDate } from "@/utils/convertDate" import { usePosts } from "@/hooks/usePosts" const BlogTemplate = () => { - const { slug } = useParams() - const { posts } = usePosts() - const post = posts?.find((x) => x.slug === slug) + const { slug } = useParams() + const { posts } = usePosts() + const post = posts?.find((x) => x.slug === slug) - return ( - -
    - {!post ? ( -
    Loading...
    - ) : ( -
    -
    -

    - {post?.title} -

    -
    - -
    - {post?.tags?.map((tag, i) => ( - - {tag} - - ))} -
    -
    -
    + return ( + +
    + {!post ? ( +
    Loading...
    + ) : ( +
    +
    +

    + {post?.title} +

    +
    + +
    + {post?.tags?.map((tag, i) => ( + + {tag} + + ))} +
    +
    +
    -
    h2]:text-2xl [&>h2]:font-bold [&>h2]:my-4 [&>h2]:text-[#ebdbb2]! [&>h3]:text-xl [&>h3]:font-bold [&>h3]:my-4 [&>h3]:text-[#ebdbb2]! [&>h4]:text-lg [&>h4]:font-bold [&>h4]:my-4 [&>h4]:text-[#ebdbb2]! @@ -65,13 +65,13 @@ const BlogTemplate = () => { [&>table>tbody>tr]:m-0 [&>table>tbody>tr]:border-t [&>table>tbody>tr]:p-0 [&>table>tbody>tr:even]:bg-muted [&>table>tbody>tr>td]:border [&>table>tbody>tr>td]:px-4 [&>table>tbody>tr>td]:py-2 [&>table>tbody>tr>td]:text-left [&>table>tbody>tr>td[align=center]]:text-center [&>table>tbody>tr>td[align=right]]:text-right " - dangerouslySetInnerHTML={{ __html: post?.html }} - /> -
    - )} -
    -
    - ) + dangerouslySetInnerHTML={{ __html: post?.html }} + /> +
    + )} +
    +
    + ) } export default BlogTemplate diff --git a/src/templates/MainTemplate.jsx b/src/templates/MainTemplate.jsx index c8eb3af..96f1ec9 100644 --- a/src/templates/MainTemplate.jsx +++ b/src/templates/MainTemplate.jsx @@ -3,66 +3,66 @@ import gruvboxComputer from "../images/gruvbox-computer.svg" import { Link } from "react-router" const Header = () => { - return ( -
    - -
    - ) + return ( +
    + +
    + ) } const Footer = () => { - return ( - - ) + return ( + + ) } const MainTemplate = ({ children }) => { - return ( -
    -
    -
    -
    {children}
    -
    -
    -
    - ) + return ( +
    +
    +
    +
    {children}
    +
    +
    + ) } export default MainTemplate