Astro作品集博客

Quasar-Astro-Theme — Astro 作品集模板

作者 SingyanLabs

Quasar-Astro-Theme 是 SingyanLabs 基于 Astro 开发的免费主题,包含博客、笔记、动态、相册、音乐等模块,采用纯 CSS 与原生 JavaScript 实现界面交互,内容以 Markdown 文件管理。

看看你的网站会是什么样

浏览真实页面截图,比较内容排版与手机效果。点击下方缩略图切换,放大查看整页细节。

3 个预览视图
桌面端首页1 / 3
桌面端截图首屏预览

由服务器浏览器实际访问页面后截取。

全部页面与视图 3

截图用于了解视觉与布局,交互效果请以实际项目为准。

采集于 2026-10-07查看来源

值得关注的模板亮点

从已有项目资料中,快速了解它的特点。

01

基于 Astro Content Collections 的 Markdown 内容管理,文章、笔记、动态、友链、音乐均以文件形式维护

02

包含长文、笔记、相册、动态、音乐、友链等多个内容模块,笔记列表使用纯 CSS 实现展开与标签筛选

03

相册模块通过 GooglePhotosFetcher.ts 接入 Google Photos API,并提供自适应瀑布流、懒加载与全局灯箱

04

音乐模块使用自定义的原生 JavaScript 音频播放器引擎,带动态可视化背景与侧边控制面板

05

首页提供 3D 地球与视差文字,并内置天气、工作室状态、语录等小组件

06

站点名称、导航、子页面文案与功能开关等大部分配置集中在根目录 config.ts 中

模板详细介绍

Quasar-Astro-Theme 是一款基于 Astro 的博客与个人站点主题,采用 MIT 许可发布,代码托管在 GitHub。主题将内容与代码分离,文章、笔记、动态、友链、音乐等信息均以 Markdown 文件存放在 src/content/ 目录下,通过 Astro Content Collections 进行类型校验,不需要外部 CMS 或数据库。站点的大部分配置集中在根目录的 config.ts 中,可调整站点名称与 SEO 元数据、导航链接、子页面文案与功能开关、社交链接等。

主题包含多个内容模块:长文与笔记、照片相册、类似微博的动态流、音乐播放器、友链与站点互推,以及首页的 3D 地球与视差文字。相册模块通过 GooglePhotosFetcher.ts 调用 Google Photos API 获取云端媒体;音乐模块使用自定义的原生 JavaScript 播放器引擎;内部还提供 pages/generator/ 下的本地生成工具,用于生成 SVG 封面、favicon 和站点配色。

使用前需要留意:运行环境要求 Node.js v22.12.0 或更高版本,推荐使用 pnpm 管理依赖;相册功能依赖 Google Photos API,需要自行准备相应凭据;生成器工具仅用于本地或开发环境。演示图片、字体、图标等第三方素材的许可需单独核对,代码的 MIT 许可不覆盖这些素材。

Astro作品集博客

适合你的项目吗?

适用场景

  • 搭建以 Markdown 写作的个人博客,同时发布长文与短笔记
  • 建立带相册、动态和音乐页面的个人主页,集中展示多种内容
  • 为友链与站点互推场景提供友链卡片、站点信息面板和随机跳转入口
  • 在本地使用内置生成器制作 SVG 封面、favicon 与站点配色方案

适合人群

  • 熟悉 Astro 或愿意按文档配置 Astro 项目的开发者
  • 希望用 Markdown 文件而非外部 CMS 管理内容的个人站长
  • 需要博客、笔记、相册、动态、音乐等多种内容模块的个人站点
  • 接受自行准备 Google Photos API 凭据以启用相册功能的用户

上手与定制指南

结合仓库当前版本的说明,按下面的资料检查内容、配置与运行要求。

  1. 1

    运行环境要求 Node.js v22.12.0 或更高版本,推荐使用 pnpm 安装依赖

  2. 2

    克隆仓库后执行 pnpm install(或 npm install),再运行 pnpm dev 启动本地开发服务器,默认地址为 http://localhost:4321/

  3. 3

    站点名称、SEO 元数据、导航链接、子页面文案与功能开关等配置在根目录 config.ts 中修改

  4. 4

    相册功能依赖 Google Photos API,需要自行准备并配置相应凭据

  5. 5

    pages/generator/ 下的封面、favicon 与配色生成工具仅用于本地或开发环境

查看仓库使用说明

授权与来源资料

使用条件与限制

免费使用 · 保留许可声明

本次收录的是公开仓库中采用 MIT 许可的免费版本;免费范围为该版本代码,不代表外部服务或第三方素材免费。

使用时需要遵守

  • 允许免费使用、修改、商用和分发该版本代码。
  • 分发代码副本或实质性部分时,保留原作者版权声明和完整 MIT 许可声明。
  • 代码按现状提供;担保与责任限制以原许可证及适用法律为准。

额外费用与待核对事项

  • 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
  • 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
  • 运行环境要求 Node.js v22.12.0 或更高版本,推荐使用 pnpm 管理依赖。
  • 相册模块通过 GooglePhotosFetcher.ts 调用 Google Photos API 获取云端媒体,需要自行准备相应凭据。
  • pages/generator/ 下的封面、favicon 与配色生成工具仅用于本地或开发环境。
查看原文依据

Permission is hereby granted, free of charge

许可证原文

Requires Node.js `v22.12.0` or higher. `pnpm` is recommended for faster dependency management.

README 原文

Integrated Google Photos API (`GooglePhotosFetcher.ts`) for fetching cloud media.

README 原文

├── generator/ # Local/Dev-only asset generator tools

README 原文
https://github.com/SingyanLabs/Quasar-Astro-Theme/blob/main/LICENSEhttps://github.com/SingyanLabs/Quasar-Astro-Theme/blob/main/README.md

DeepSeek 根据仓库许可证和 README 整理 ·2026-10-07。结果仅覆盖已读取资料,依赖、图片、字体及后续条款变更以各自原文为准。

项目核对记录与介绍依据

模板资料

来源平台
GitHub
资料与维护参考分
资料较完整 · 88 / 100
技术栈
Astro
网站类型
作品集 · 博客
这个分数如何计算

本站按许可资料(最高30分)、演示链接(12分)、预览图(10分)、Star数(15分)、记录的维护时间(15分)、描述完整度(8分)、功能记录(5分)和分类资料(5分)计算。它不是代码、安全或性能测试,也不是 Google 评分;有链接不代表已实测可用。

这个项目需要核对什么

记录的仓库更新时间
2026-10-07
截图检查日期
2026-10-07

已收录演示链接。请用你的内容与屏幕尺寸检查;有演示不代表表单、认证或支付已经可用。

目录记录的主要技术栈是 Astro。请通过依赖清单和锁文件核对实际版本与托管要求。这些说明基于收录资料,不代表代码审计或部署实测。

查看具体选型方法 →

介绍的制作与核对状态

介绍由 AI 辅助整理目录与仓库资料。仓库作者不等于这篇介绍的审核者。

审核声明: [email protected] · 2026-10-08

查看当时使用的来源资料

SHA-256: bc2a155c5f8324ecb1f56993edf8570d1befe66aae13c7a97c04e9fd705ce701

2026-10-07T18:30:44.793Z

来源文件 / 仓库
<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>

反馈内容错误

看看同类模板

对比同技术栈与用途的模板,找到更适合的视觉与内容结构。