diff --git a/README.md b/README.md index 0dce326..d2a444e 100644 --- a/README.md +++ b/README.md @@ -8,35 +8,38 @@ This site is not just a portfolio — it acts as an entry point into a larger ec ## Overview -The site is divided into three conceptual layers: +The site is divided into two conceptual layers: -### 1. Home +### 1. Tabs (Home) -The homepage provides a high-level overview of who I am and what I work on. -It highlights selected projects and core skills, without listing everything. +The homepage provides tabs for three sections: + +- **Projects** — fetches and renders READMEs from self-hosted Forgejo repositories via raw URL +- **Current-activity** — language learning progress and active work +- **About** — personal background, philosophy, and Q&A ### 2. Header -The header serves as a navigation layer into my self-hosted infrastructure. -Each entry links to a running instance. +The header serves as a navigation layer into my self-hosted infrastructure. Each entry links to a running instance. - Nextcloud — file storage and synchronization - Navidrome — personal music streaming -- Forgejo — Git hosting and development platform -- OmniSearch — privacy-focused search engine -- Stream service — live media platform powered by MediaMTX -- Friend’s Gitea instance — external development collaboration +- Forgejo Git — Git hosting and development platform +- Stream — live media platform powered by MediaMTX (internal route) +- Omnisearch — privacy-focused search engine +- Gitea zach-dev — external development collaboration -These services are part of my personal infrastructure and exist outside the portfolio itself. +## Stack -### 3. Pages - -Dedicated pages for deeper content: - -- Projects — selected work and builds -- Systems — architecture and self-hosted infrastructure overview -- About — personal background and context -- CV — formal resume (if applicable) +| Layer | Choice | Notes | +| --------- | ---------------------------- | ----------------------------------------- | +| Language | TypeScript / React 19 | Vite 8 + rolldown | +| CSS | TailwindCSS v4 | Catppuccin macchiato/latte | +| Markdown | react-markdown v10 | remark-gfm, rehype-raw, rehype-sanitize | +| Syntax HL | Shiki v4 | Catppuccin themes, CSS variable switching | +| Font | Inter (self-hosted, 4 WOFF2) | no Google Fonts | +| Theme | Catppuccin macchiato/latte | JS toggle, persisted to localStorage | +| Git host | Forgejo (self-hosted) | git.aramjonghu.dev | ## Philosophy @@ -51,19 +54,21 @@ Instead of a traditional portfolio, it focuses on: It evolves alongside my personal development and technical interests. -## Stack +## Project layout -- React -- Vite -- Tailwind CSS -- Catppuccin theme -- Self-hosted backend services (Forgejo, Nextcloud, etc.) - -## Status - -This site is continuously evolving and serves as both a portfolio and experimental environment. - -Expect structural changes as systems grow. +``` +├── public/ favicon +├── src/ +│ ├── assets/ images, fonts, logo +│ ├── components/ MdProcessor, Header, Layout, ProjectInfo, ... +│ ├── content/ about.md, current-activity.md, projects.json +│ ├── hooks/ useTheme +│ ├── pages/ Home +│ └── utils/ theme, highlighter +├── index.html +├── package.json +└── LICENSE +``` ## License