Markdown content management based on Astro Content Collections, with articles, notes, moments, friend links, and music all maintained as files
Quasar-Astro-Theme — Astro Portfolio Template
By SingyanLabs
Quasar-Astro-Theme is a free theme developed by SingyanLabs based on Astro. It includes modules for blog, notes, moments, albums, music, and more. Interface interactions are implemented with pure CSS and vanilla JavaScript, and content is managed through Markdown files.
Explore the design
Compare the page layouts and mobile experience. Open any screenshot for a closer look.
Actual screenshot captured by the server browser.
All pages & views 3
Screenshots show visual appearance; interactive behavior may differ.
What stands out
A quick read of the recorded project description.
Includes multiple content modules such as long-form articles, notes, albums, moments, music, and friend links; the notes list uses pure CSS for expansion and tag filtering
The album module connects to the Google Photos API via GooglePhotosFetcher.ts and provides a responsive masonry layout, lazy loading, and a global lightbox
The music module uses a custom vanilla JavaScript audio player engine with a dynamic visualization background and a side control panel
The homepage provides a 3D Earth and parallax text, and includes built-in widgets such as weather, studio status, and quotes
Most configuration, including site name, navigation, subpage copy, and feature toggles, is centralized in config.ts at the root
Template Details
Quasar-Astro-Theme is a blog and personal site theme based on Astro, released under the MIT license with code hosted on GitHub. The theme separates content from code: articles, notes, moments, friend links, music, and other information are stored as Markdown files in the src/content/ directory and validated through Astro Content Collections, without requiring an external CMS or database. Most site configuration is centralized in config.ts at the root, allowing adjustment of site name and SEO metadata, navigation links, subpage copy and feature toggles, social links, and more.
The theme includes multiple content modules: long-form articles and notes, photo albums, a Weibo-like moments feed, a music player, friend links and site recommendations, plus a 3D Earth and parallax text on the homepage. The album module uses GooglePhotosFetcher.ts to call the Google Photos API for cloud media; the music module uses a custom vanilla JavaScript player engine; and local generation tools under pages/generator/ are provided for generating SVG covers, favicons, and site color schemes.
Before use, note the following: the runtime requires Node.js v22.12.0 or higher, and pnpm is recommended for dependency management; the album feature depends on the Google Photos API and requires you to prepare the corresponding credentials; the generator tools are intended only for local or development environments. The licenses for third-party assets such as demo images, fonts, and icons must be checked separately; the MIT license for the code does not cover these assets.
Is it right for your project?
Use Cases
- Build a personal blog focused on Markdown writing, publishing both long-form articles and short notes
- Create a personal homepage with album, moments, and music pages to showcase multiple types of content in one place
- Provide friend link cards, site information panels, and random redirect entries for friend links and site recommendations
- Use the built-in generator locally to create SVG covers, favicons, and site color schemes
Suitable For
- Developers familiar with Astro or willing to configure an Astro project according to the documentation
- Individual site owners who want to manage content with Markdown files rather than an external CMS
- Personal sites that need multiple content modules such as blog, notes, albums, moments, and music
- Users who accept preparing their own Google Photos API credentials to enable the album feature
Getting started & customization
Use these recorded setup notes alongside the repository instructions for your chosen version.
- 1
The runtime requires Node.js v22.12.0 or higher; pnpm is recommended for installing dependencies
- 2
After cloning the repository, run pnpm install (or npm install), then run pnpm dev to start the local development server, with the default address at http://localhost:4321/
- 3
Configuration such as site name, SEO metadata, navigation links, subpage copy, and feature toggles is modified in config.ts at the root
- 4
The album feature depends on the Google Photos API, and you need to prepare and configure the corresponding credentials yourself
- 5
The cover, favicon, and color scheme generation tools under pages/generator/ are intended only for local or development environments
License & source material
Usage conditions & limitations
Free to use · keep license noticeThis entry covers the free version in the public repository under the MIT license; the free scope applies to that version's code and does not mean external services or third-party assets are free.
Must comply with when using
- You may use, modify, commercialize, and distribute this version's code for free.
- When distributing copies or substantial portions of the code, retain the original author's copyright notice and the full MIT license notice.
- The code is provided as is; warranties and limitations of liability are governed by the original license and applicable law.
Additional costs & items to verify
- Demo images, fonts, icons, and other third-party assets must be checked against their respective licenses and cannot be judged solely by the code's MIT license.
- External services such as domains, hosting, databases, payments, or AI may incur additional fees.
- The runtime requires Node.js v22.12.0 or higher; pnpm is recommended for dependency management.
- The album module calls the Google Photos API via GooglePhotosFetcher.ts to fetch cloud media, and you need to prepare the corresponding credentials yourself.
- The cover, favicon, and color scheme generation tools under pages/generator/ are intended only for local or development environments.
View Original Text Basis
Permission is hereby granted, free of charge
Original License Text
Requires Node.js `v22.12.0` or higher. `pnpm` is recommended for faster dependency management.
Original README
Integrated Google Photos API (`GooglePhotosFetcher.ts`) for fetching cloud media.
Original README
https://github.com/SingyanLabs/Quasar-Astro-Theme/blob/main/LICENSEhttps://github.com/SingyanLabs/Quasar-Astro-Theme/blob/main/README.md├── generator/ # Local/Dev-only asset generator tools
Original README
Compiled by DeepSeek based on repository license and README ·2026-10-07. Results only cover the materials read; dependencies, images, fonts, and subsequent term changes are subject to their respective original texts.
Project checks & description sources
Template Information
- Source platforms
- GitHub
- Documentation and maintenance reference score
- More documented · 88 / 100
- Technologies
- Astro
- Website type
- Portfolio · Blog
How this score is calculated
Our heuristic uses license records (up to 30), a demo link (12), a preview (10), stars (15), recorded maintenance (15), description completeness (8), feature records (5) and classification data (5). It is not a code, security or performance test, or a Google score. A link does not establish tested functionality.
What to verify for this project
- Repository update recorded
- 2026-10-07
- Screenshot last checked
- 2026-10-07
A demo link is listed. Check it with your own content and viewport sizes; its presence does not confirm that forms, authentication or payments work.
The catalog identifies Astro as the primary stack. Check the actual dependency manifest and lockfile for versions and hosting requirements. These notes use recorded metadata, not a code audit or a deployment test.
Use a selection guide →How this description was prepared
AI-assisted description based on catalog records and repository material. Repository authors are not automatically the reviewers of this description.
Review declaration: [email protected] · 2026-10-08
Inspect the recorded source material
SHA-256: bc2a155c5f8324ecb1f56993edf8570d1befe66aae13c7a97c04e9fd705ce701
2026-10-07T18:30:44.793Z
Source file / repository<div align="right"> <a title="中文" href="/README-CN.md">中文</a> </div> <div align="left"> <img src="./.source/Quasar-logo.svg" height="220" alt="Quasar Logo" /> # 🌌 Quasar - A cosmic-inspired Astro theme > A cosmic-inspired Astro theme grounded in Earth-like stability. Clean, performant, and crafted for a seamless blogging experience. > > Built on Astro v7 without heavy runtime frameworks, powered entirely by pure CSS and Vanilla JS to deliver sub-millisecond response times and silky-smooth micro-interactions. ## ✨ Philosophy Quasar is more than just a blog—it's your digital alter ego. Leveraging Astro's Islands Architecture, Quasar squeezes every drop of frontend performance. Powered by meticulously crafted CSS `@keyframes` animations and non-blocking Vanilla JavaScript, it delivers exceptional SEO alongside an immersive seamless dark/light mode toggle, frosted glass parallax effects, and native-app-like View Transitions. ## 📸 Screenshots <img src="./.source/Screenshot-desktop.png" height="320" alt="Quasar Screenshot Desktop" /> <img src="./.source/Screenshot-mobile.png" height="320" alt="Quasar Screenshot Mobile" /> 📢 **Demo**: [Quasar Official](https://demo.singyan.top/) | [Singyan Blog](https://singyan.top/) ## 🚀 Core Features Quasar is built with multiple highly autonomous, expressive channel modules: * 📝 **Long-form Posts & Notes** * 100% type-safe Markdown rendering backed by Astro `Content Collections`. * **Notes:** Features a pure CSS-driven inline expansion and tag filtering system for a seamless, minimalist list layout. * 📸 **Photo Albums** * Integrated Google Photos API (`GooglePhotosFetcher.ts`) for fetching cloud media. * A refined adaptive masonry layout with built-in `LazyLoad` and a global `Lightbox` gallery viewer. * 💭 **Moments** * A Twitter/Moments-style microblogging feed with a custom sidebar, interactive likes (`MomentsLikeButton`), and expandable detail cards. * 🎵 **Immersive Music Room** * A fully custom Vanilla JS audio player engine (`music-engine.js`). * Includes dynamic visualizer backgrounds (`MusicBackground`) and dual sidebar control panels. * 🪐 **Interactive Home & Widget Ecosystem** * Homepage features an interactive 3D Globe (`Earth.astro`) and parallax hero text (`IntroWord.astro`). * Built-in widget suite: Weather (`WeatherWidget`), Studio Status (`StudioWidget`), and Quotes (`QuoteWidget`). * 🤝 **Friends & Inter-site Relay** * Elegant modal dialogs powered by `GentleModal`. * Combines friend cards, site info panels, and a random inter-site jump gateway (`relay.js`) to build an interconnected web galaxy. * 🛠️ **Internal Generator Suite** * Custom internal toolchain (`pages/generator/`) for one-click generation of SVG covers, favicons, and complete site color themes. ## 📂 Architecture A modular, well-structured, and geek-friendly directory layout: Plaintext ``` Quasar/ ├── assets/ # Core static asset engine │ ├── scripts/ # Vanilla JS engine suite (music-engine, navbar-engine, intro-engine, etc.) │ └── styles/ # On-demand CSS animation and layout modules (moments.css, notes.css, etc.) ├── components/ # Highly decoupled UI component library │ ├── about/ # About page radar chart, tech stack showcase, floating Dock │ ├── albums/ # Masonry gallery view and album headers │ ├── common/ # Global infrastructure (Lightbox gallery, LazyLoad, ExternalLinkGuard) │ ├── friends/ # Friend network and Gentle modal dialogs │ ├── head/ # <head> injection (flash-free theme sync ThemePerfInit) │ ├── moments/ # Moment cards, like button, and timeline sidebar │ ├── music/ # Custom music player interface panels │ ├── navbar/ # Global fuzzy search and top navigation hub │ ├── notes/ # Pure CSS note list filter │ ├── posts/ # Blog post views │ ├── services/ # External API integrations (GooglePhotosFetcher) │ └── widgets/ # Modular homepage widgets (Weather, Studio, etc.) ├── content/ # Content Collections data hub (Markdown) │ ├── albums/ & friends/ │ ├── moments/ & music/ │ ├── notes/ & posts/ # Your articles and data source live here │ └── Empty.md # Structure placeholder ├── layouts/ # Core site layout frame (BaseLayout.astro) ├── pages/ # File-based routing │ ├── api/ # Serverless endpoints (e.g., albums.ts data fetching) │ ├── generator/ # Local/Dev-only asset generator tools │ ├── posts/ # Dynamic post route ([...slug].astro) │ └── index, about, music, moments, friends, notes... # Main channel entries ├── utils/ # Utility functions (clipboard, visibilityGuard, etc.) ├── config.ts # Global variables, feature toggles, and base configuration └── content.config.ts # Astro Content Collections type definitions ``` ## 🚀 Getting Started Requires Node.js `v22.12.0` or higher. `pnpm` is recommended for faster dependency management. **1. Clone the repository** Bash ``` git clone https://github.com/<your-username>/Quasar.git cd Quasar ``` **2. Install dependencies** Bash ``` # Recommended pnpm install # Or using npm npm install ``` **3. Start local development server** Bash ``` # Using pnpm pnpm dev # Or using npm npm run dev # Open http://localhost:4321/ in your browser ``` **4. Build for production** Bash ``` # Using pnpm pnpm build # Or using npm npm run build ``` ## ✍️ Content Management Quasar separates content from code and requires no external CMS or database. All content is managed via Markdown files inside `src/content/`: * **Posts:** Create Markdown files inside `content/posts/` and set frontmatter metadata. * **Moments:** Write microblog entries in `content/moments/`. * **Friends:** Edit friend link entries in `content/friends/`. * **Music:** Add track info in `content/music/`. *Fully integrated with TypeScript validation—missing or invalid frontmatter fields trigger build-time warnings to keep data completely safe.* ## ⚙️ Configuration No need to dig deep into the codebase; 80% of site customization can be done directly via `config.ts` in the root directory, including: * Site name and SEO metadata * Navigation bar links and icons * Sub-page (Music, Blog, Moments) copy and feature toggles * Social media profile links ## 📜 License Licensed under the [MIT License](https://mit-license.org/). Feel free to modify and distribute, provided the original copyright notice is preserved. --- <div align="center"> *Architected with ❤️ by [SingyanLabs](https://github.com/singyanlabs) , powered by Google Gemini.* **✨ If this theme helps you, please give us a ⭐ Star! ✨** </div>
Explore similar templates
Compare previews and descriptions within the same stack and category.

astrowind
AstroWind is a free, open-source Astro starter theme using Astro and Tailwind CSS, released under the MIT license.
Astro · Blog

astro-paper
AstroPaper is a minimal, responsive, accessible, and SEO-friendly Astro blog theme. Articles are stored as Markdown/MDX in src/content/posts/, with subdirectories affecting URLs.
Astro · Blog

fuwari
Fuwari is a static blog template built with Astro and Tailwind CSS for personal blogs. It manages posts as Markdown files in src/content/posts/, with frontmatter for title, date, description, cover, tags, categories, draft status, and language.
Astro · Blog

Firefly
Firefly is a clean personal blog theme forked from Astro and Fuwari, offering four background modes, single/double sidebar and list/grid layouts, Pagefind client-side full-text search, and a six-language UI.
Astro · Blog

astro-theme-cactus
Astro Cactus is an Astro-based blog and portfolio theme that uses Markdown/MDX content collections to manage posts, notes, and tags, with frontmatter type-checked by a schema.
Astro · Portfolio

astrofy
Astrofy is a free and open-source personal portfolio website template built with Astro and TailwindCSS, with built-in blog, CV timeline, project showcase, store, and RSS feed modules.
Astro · Portfolio
