ansango.dev Svelte Themes

Ansango.dev

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.

ansango.dev

🌐 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

  • Obsidian & Deployment - Obsidian workflow and GitHub Actions

  • Deployment - Hosting on Cloudflare Pages, Vercel, Netlify

    Contributing

  • Contributing - How to contribute to this project

šŸ”§ 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

šŸ“„ 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

Top categories

Loading Svelte Themes