Personal portfolio built with Astro + Tailwind CSS, deployed to GitHub Pages.
| Page | URL | Content file |
|---|---|---|
| Home | / |
src/pages/index.astro |
| About | /about |
src/data/about.json |
| Projects | /projects |
src/content/projects/*.md |
| Awards | /awards |
src/data/awards.json |
| Courses | /courses |
src/data/courses.json |
| Blog | /blog |
src/content/blog/*.md |
Create src/content/blog/my-post.md:
---
title: "Post Title"
date: 2025-06-01
description: "One-line summary shown in the list."
tags: ["topic", "learning"]
---
Write your post content here in Markdown.Create src/content/projects/my-project.md:
---
title: "Project Name"
description: "Short description."
tech: ["Python", "React", "PostgreSQL"]
github: "https://github.com/you/repo"
demo: "https://your-demo.com"
featured: true
date: 2025-06-01
---
## Overview
Write a longer writeup here.Append to src/data/awards.json:
{
"title": "Award Name",
"organization": "Organization",
"year": 2025,
"description": "What it was for.",
"link": "https://..."
}Append to src/data/courses.json:
{
"name": "Course Name",
"provider": "Platform",
"status": "planned",
"date": "2025-S1",
"link": "https://...",
"certificate": "https://...",
"description": "What it covers."
}Status options: "completed" | "in-progress" | "planned"
link— syllabus URL, shown as "Syllabus ↗" (optional)certificate— certificate URL, shown as "Certificate ↗" (optional)
Edit src/data/config.json — set "enabled": false to hide a page from the nav:
{ "key": "awards", "enabled": false }- Name / tagline: Edit
src/pages/index.astro— findYour Nameand therolesarray in the<script>tag. - Bio / skills / contact: Edit
src/data/about.json. - GitHub link: Search for
narumedsr-pand replace with your username. - Repo base path: If your repo is NOT named
narumedsr-p.github.io, setbase: '/repo-name'inastro.config.mjs.
- Push this repo to GitHub as
narumedsr-p.github.io(or any name). - Go to Settings → Pages → Source → set to GitHub Actions.
- Push to
main— the workflow in.github/workflows/deploy.ymlbuilds and deploys automatically.
Every time you push a content change (new .md, edited .json), the site rebuilds and deploys within ~30 seconds.
npm install
npm run dev # http://localhost:4321
npm run build # build to dist/