Skip to content

ansango/ansango.template

Repository files navigation

ansango.template

🌐 Personal Blog & Wiki Template

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 Based 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

About

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.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors