Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
88 changes: 46 additions & 42 deletions README.md
Original file line number Diff line number Diff line change
@@ -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

* <img src="https://go-skill-icons.vercel.app/api/icons?i=md" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Written in GitHub style Markdown via `.md` or `.mdx`
* <img src="https://go-skill-icons.vercel.app/api/icons?i=tailwind" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Tailwind CSS and tailwindprose plugin
* <img src="https://go-skill-icons.vercel.app/api/icons?i=astro" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Astro 5
* <img src="https://go-skill-icons.vercel.app/api/icons?i=react" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; React islands components - interactive UI components only where needed
* <img src="https://go-skill-icons.vercel.app/api/icons?i=shadcn" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Shadcn
* <img src="https://go-skill-icons.vercel.app/api/icons?i=typescript" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TypeScript
### Content & Authoring
* <img src="https://go-skill-icons.vercel.app/api/icons?i=md" height="18" /> **Markdown / MDX** — Written in GitHub-style Markdown via `.md` or `.mdx`
### Framework and Rendering
* <img src="https://go-skill-icons.vercel.app/api/icons?i=astro" height="18" /> **Astro 5** — Static-first framework with partial hydration
### Styling & UI
* <img src="https://go-skill-icons.vercel.app/api/icons?i=tailwind" height="18" /> **Tailwind CSS** — Utility-first styling with `@tailwindcss/typography`
* <img src="https://go-skill-icons.vercel.app/api/icons?i=shadcn" height="18" /> **shadcn/ui** — Reusable, accessible component primitives
### Interactivity
* <img src="https://go-skill-icons.vercel.app/api/icons?i=react" height="18" /> **React (Islands)** — Interactive components only where needed
### Language
* <img src="https://go-skill-icons.vercel.app/api/icons?i=typescript" height="18" /> **TypeScript** — Type-safe UI and content logic

---

Expand All @@ -30,57 +33,69 @@ 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
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:

Expand Down Expand Up @@ -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.

Expand All @@ -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)


Binary file added public/images/retrodex_thumnail.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down