Skip to content

Latest commit

 

History

History
200 lines (134 loc) · 6.76 KB

File metadata and controls

200 lines (134 loc) · 6.76 KB

ansango.dev

Astro Svelte TailwindCSS TypeScript License Deploy

🌐 Personal Blog & Wiki

A modern, content-first personal website built with Astro, designed for technology articles, wikis, projects, and indie web principles. Write in Obsidian, publish with ease.

See live demo → | GitHub Template Repository →

✨ Features

Modern template for bloggers, developers, and indie web enthusiasts with:

  • 📝 Content Collections: Blog, Wiki, Projects, and standalone pages
  • 🔍 Full-text Search: Powered by Pagefind with keyboard shortcuts
  • 🎵 Live Integrations: Last.fm music and Raindrop.io bookmarks
  • 🌓 Dark Mode: Theme switching with persistent preference
  • 📄 SEO Optimized: Complete meta tags, structured data, and sitemap
  • ✍️ Obsidian Integration: Write in Obsidian, deploy automatically
  • Fast Performance: Static generation with Lighthouse 95+ scores

See full feature list →

🛠️ Tech Stack

Built with modern, production-ready technologies:

Core

Integrations

Deployment

See architecture details →

🚀 Quick Start

Prerequisites

  • Node.js 18+
  • npm, pnpm, or bun

Installation

# Clone repository
git clone https://github.com/ansango/ansango.dev.git
cd ansango.dev

# Install dependencies
npm install

# Configure environment (optional),
# Edit .env with your API keys for integrations
cp .env.sample .env

# Start development server and http://localhost:4321 🎉
npm run dev

See installation guide →

✍️ Writing Content with Obsidian

This template is designed to work seamlessly with Obsidian:

  1. Open as Vault: Open this repository in Obsidian
  2. Install Plugins: Enable recommended community plugins:
    • `obsidian-git` - Auto-commit and sync
    • `obsidian-linter` - Auto-format frontmatter
    • `obsidian-local-images-plus` - Optimize images to WebP
  3. Write Content: Create markdown files in `src/content/`
  4. Auto-Deploy: Push to GitHub → Automatic conversion and deployment

Content Structure

src/content/
├── blog/ # Blog posts
├── wiki/ # Hierarchical knowledge base
├── projects/ # Portfolio items
├── about.md # About page
├── uses.md # Tools & setup
└── now.md # Current activities

See Obsidian integration → | Content management →

📦 Available Commands

All commands run from the project root:

Command Action
`npm install` Install dependencies
`npm run dev` Start dev server at `localhost:4321`
`npm run build` Build production site to `./dist/`
`npm run preview` Preview production build locally
`npm run format` Format code with Prettier
`npm run astro` Run Astro CLI commands

📚 Documentation

Complete documentation available in the `/docs` directory:

Getting Started

Development

Optimization & SEO

  • SEO - Search engine optimization
  • Search - Full-text search implementation
  • RSS Feed - RSS configuration and usage

Deployment

Contributing

🔧 Environment Variables

Optional API integrations require environment variables:

## Raindrop.io (for bookmarks and reading)
RAINDROP_ACCESS_TOKEN=your_token

## Last.fm (for music integration)
PUBLIC_LASTFM_API_KEY=your_key
LASTFM_SHARED_SECRET=your_secret

## GoatCounter (optional analytics)
PUBLIC_GOATCOUNTER_CODE=yoursite

Copy .env.sample to .env and add your credentials.

See configuration guide →

Performance

results

📄 License

MIT License - feel free to use this template for your own site!

🙏 Acknowledgments

Built with:

Inspired by the IndieWeb movement.

🤝 Contributing

Contributions welcome! See Contributing Guide for details.


Made with ❤️ using Astro, Svelte 5, and Tailwind CSS v4