diff --git a/README.md b/README.md index 1631d48..e0ce141 100644 --- a/README.md +++ b/README.md @@ -1,23 +1,26 @@ # Yorisoft.dev -This repository contains the source for **Yorisoft.dev**, my personal blog and portfolio site. +This repository contains the source for Yorisoft.dev, my personal blog and portfolio site. +It’s used for technical blogging, project write-ups, and long-form engineering notes. -The design of this site is inspired by [W3’s free portfolio website](https://www.w3schools.com/howto/howto_website_create_portfolio.asp), which served as an early reference for layout and information hierarchy. From there, the design was adapted and reworked to better support support my needs, such as cheap hosting, SGG, and SEO. - -The site is built with **Astro** and **Tailwind CSS**, and is primarily used for technical blogging, project logs, and gaming related escapades. +The design of this site is inspired by [W3’s free portfolio website](https://themes.3rdwavemedia.com/devcard/bs5/index.html), which served as an early reference for layout and information hierarchy. From there, the design was adapted and reworked to better support my needs, such as cheap hosting, SGG, and SEO. 🌐 **Live site:** [http://yorisoft.github.io/](http://yorisoft.github.io/) --- ## ✨ Tech Stack - -*        Written in GitHub style Markdown via `.md` or `.mdx` -*        Tailwind CSS and tailwindprose plugin -*        Astro 5 -*        React islands components - interactive UI components only where needed -*        Shadcn -*        TypeScript +### Content & Authoring +* **Markdown / MDX** β€” Written in GitHub-style Markdown via `.md` or `.mdx` +### Framework and Rendering +* **Astro 5** β€” Static-first framework with partial hydration +### Styling & UI +* **Tailwind CSS** β€” Utility-first styling with `@tailwindcss/typography` +* **shadcn/ui** β€” Reusable, accessible component primitives +### Interactivity +* **React (Islands)** β€” Interactive components only where needed +### Language +* **TypeScript** β€” Type-safe UI and content logic --- @@ -30,24 +33,25 @@ src/ β”œβ”€β”€ pages/ # Route-based pages β”œβ”€β”€ content/ β”‚ └── blog/ # Markdown blog posts +β”‚ └── project/ # Markdown project page β”œβ”€β”€ styles/ # Global styles public/ └── images/ # Static assets (thumbnails, media) ``` -* Blog content lives in `src/content/blog/` -* Static assets are served from `public/` -* Image assets are served from `public/images` +* Blog content lives in `src/content/blog/.` +* Static assets (including images) are served from `public/` --- ## πŸ“ Writing Blog Posts -Blog posts are written in Markdown and managed using **Astro Content Collections**. +Blog posts are written in Markdown and validated using Astro Content Collections, which enforce required frontmatter fields at build time. ### frontmatter ```yaml +// Blogs --- title: string authors: array @@ -55,32 +59,43 @@ pubDate: ISO date description: string thumbnail: string url: string + + +// Projects +title: string +authors: array +date: ISO date +description: string +url: string +thumbnail: string +technologies: array --- // Example --- -title: "GSoC’25 KWin Project Blog Post: Week 3–4" +title: "Blog Title: foo" authors: ["yorisoft"] pubDate: 2025-09-15 -description: "Turning research into real KWin logic" -url: "https://external-link-if-needed" -thumbnail: "/images/kwin-week-3-4.png" ---- - -``` +description: "foo" +url: "https://foo.co" +thumbnail: "/images/foo.png" -**Required** -* `title` -* `pubDate` -* `authors` -**Optional** +title: "Project Title: foo" +authors: ["yorisoft"] +date: 2025-01-10 +description: "foo" +url: "foo.co" +thumbnail: "/images/foo.png" +technologies: + - js + - nodejs + - docker +--- -* `description` -* `thumbnail` -* `url` +``` Each post automatically: @@ -112,11 +127,7 @@ Once subscribed, new posts will appear automatically in your reader. ## 🎨 Design Notes -The requirements for my blog are simple: - -- Cost efficient hosting -- Static Site Generation -- Ability to generate good SEO +This site prioritizes cost efficiency, static generation, and SEO. These requirements feed into one another. For cost efficiency, I focused on inexpensive hosting options. At the top of my list were **GitHub Pages (`github.io`)** and **AWS S3**. Both are affordable because they serve **static files directly to the client**β€”there’s no server-side compute or worker doing runtime rendering. @@ -128,15 +139,8 @@ This is where **Astro** really shines. It meets all of these requirements while Check it out: **[https://astro.build](https://astro.build)** ---- -## Contribute - -Check [CONTRIBUTING.md](https://github.com/Yorisoft/yorisoft.github.io/blob/main/CONTRIBUTING.md) for info on how to contribute. - --- ## ❀️ Support Me If you find this site, the writing, or the open-source work behind it useful, consider supporting me. [Support](https://github.com/sponsors/Yorisoft) - - diff --git a/public/images/retrodex_thumnail.png b/public/images/retrodex_thumnail.png new file mode 100644 index 0000000..7151900 Binary files /dev/null and b/public/images/retrodex_thumnail.png differ diff --git a/src/content/project/redero-dex/index.md b/src/content/project/retro-dex/index.md similarity index 98% rename from src/content/project/redero-dex/index.md rename to src/content/project/retro-dex/index.md index 04a2a6f..8ce6cf8 100644 --- a/src/content/project/redero-dex/index.md +++ b/src/content/project/retro-dex/index.md @@ -5,7 +5,7 @@ authors: date: 2024-01-19 description: A Pokedex app built from scratch for MiyooMini url: https://github.com/Yorisoft/pokedex_miyoo -thumbnail: https://github.com/user-attachments/assets/7080b6cd-66a1-4a10-88d9-bf5364bdd3cc +thumbnail: /images/retrodex_thumnail.png technologies: - cpp - cmake