Skip to content

nxdun/Portfolio

Repository files navigation

Portfolio Logo

~/nadzu.me

Fast by default. Useful by design.

Old Release Changelog Backend Repo Rust


Tip

Backup Domain (Development/Preview Builds): nadun.eu.cc

Features

Achieves a perfect PageSpeed score (100/100).

Mobile score · Desktop score

PageSpeed Insights

A personal site that doubles as a blog platform and Additioonal Awsome tools. Built fast. Kept useful.

  • Static-first architecture via Astro with zero client-side JS by default

  • Full-text search powered by Pagefind with no external search service required

  • Auto-generated Open Graph images per post and site-wide

  • RSS feed for automation /rss.xml, robots configuration at /robots.txt

  • Health check endpoint at /api/health

  • Tag-based post grouping with paginated archive

  • CI pipleines For Linting / Formatting and Build

  • CD pipelines for Deploying into Cloudflare Workers

Toolkit

Quick-launch browser tools accessible directly via URL query parameters. No install, no sign-in. Refer Developer Documentation at :

Tool URL Description
Base64 /tools/?tool=base64 Offline Base64 encoder and decoder with a clean UI
yt-dlp Downloader /tools/?tool=ytdlp Download from 1,700+ supported sites with reCAPTCHA protection

Development

Tech Stack

Layer Choice
Framework Astro + pnpm
Language TypeScript
Styling TailwindCSS
Search Pagefind
Icons Icones
Formatting Prettier
Linting ESLint
Deployment Cloudflare Workers Cloudflare KV

Running Locally

Requires make. Install it first if not already present, then use make help to list all available targets.

# macOS
brew install make

# Windows
choco install make

Once make is available:

make install   # install dependencies via pnpm
make dev       # start local dev server
make build     # production build
make preview   # preview the production build locally
All available Make targets
Target Alias Description
install i Install dependencies via pnpm
dev Start dev server
build Production build
preview Preview the built output
check c Run lint and format-check in parallel
format f Format code via Prettier
format-check Check formatting without writing
lint Lint via ESLint
sync Sync Astro types
deploy Deploy to Cloudflare (requires production=true)
d-p Deploy to Cloudflare preview branch
clean Remove dist, node_modules, and build artifacts

Environment Variables

Copy .env.example to .env and fill in the required values before running locally.

cp .env.example .env

File Structure

Full directory tree
.
|-- Dockerfile
|-- LICENSE
|-- Makefile
|-- README.md
|-- astro.config.ts
|-- cz.yaml
|-- docker-compose.yml
|-- eslint.config.js
|-- package.json
|-- pnpm-lock.yaml
|-- pnpm-workspace.yaml
|-- public/
|   |-- PageSpeed Insights.png
|   |-- favicon.svg
|   `-- nadzu-og*.jpg
|-- src/
|   |-- actions/         # Astro server actions
|   |-- assets/          # SVG icons (ui + tech tags)
|   |-- components/      # Reusable Astro components
|   |-- data/
|   |   |-- blog/        # Markdown blog posts
|   |   |-- form/        # Contact form schema
|   |   `-- projects/    # ProjectData.json + schema
|   |-- layouts/         # Page layout wrappers
|   |-- pages/           # File-based routing
|   |-- scripts/
|   |   |-- theme.ts
|   |   `-- tools/       # Tool-specific TS modules (base64, ytdlp)
|   |-- styles/          # Global CSS and typography
|   `-- utils/           # Helpers: OG gen, slug, post filters, etc.
|-- tsconfig.json
`-- wrangler.jsonc

Docker

A Dockerfile and docker-compose.yml are included for containerized local development or self-hosting.

docker compose up

The .dockerignore excludes node_modules, dist, and other non-essential paths from the image context.


Notes

  • Disable Cloudflare Rocket Loader permanently. It interferes with client-side scripts. See #19.
  • Run npx astro telemetry disable once after cloning to opt out of Astro anonymous usage telemetry on your machine.
  • Commitizen is configured via cz.yaml for consistent conventional commit messages.

License

MIT

About

Ultra Fast Porfolio x Blogger x ToolKit

Topics

Resources

License

Stars

Watchers

Forks

Contributors