The source for manabu.ninja, a static site built with Astro.
🧰 Prerequisites
Node.js LTS 18+ -- verify with node --version
🚀 Getting Started
cd astro
npm install
npm run dev # Dev server at http://localhost:4321
The dev server hot-reloads as you edit files.
💻 Commands
All commands run from the astro/ directory:
| Command | What it does |
|---|---|
npm install |
Install dependencies |
npm run dev |
Start local dev server at localhost:4321 with hot reload |
npm run build |
Build the production site to ./dist/ |
npm run preview |
Preview the production build locally before deploying |
📂 Project Structure
astro/
src/
pages/ # Each .astro file becomes a route (index.astro -> /)
components/ # Reusable Astro components
layouts/ # Page layout templates
public/ # Static assets (images, fonts) copied as-is to the build
astro.config.mjs # Astro configuration
package.json # Dependencies and scripts
Astro uses file-based routing. A file at src/pages/about.astro becomes the /about page.
🚢 Deploying
From the project root (not astro/):
task site:deploy
Builds the site and uploads dist/ to the server via rsync. See infra/README.md for full deployment docs.
📖 Learning Astro
Astro components (.astro files) look like HTML with a frontmatter script section. If you know HTML and a little JavaScript, you can contribute.