Astral Halo
[!WARNING] 该项目仍在开发中,可能存在 bug,且会有破坏性变更。请谨慎使用。
在线预览(Netlify) | English | 简体中文 | 繁體中文
Astral Halo 是一个基于 Astro 开发的静态博客模板。
[!NOTE] 本项目托管于如下仓库:
- Codeberg(主仓库): HPCesia/AstralHalo
- GitHub(镜像): HPCesia/astral-halo
镜像仓库仅用于收集 issue,不接受 PR。
功能特性/TODO
- 基于 Astro 和 Tailwind CSS(使用 daisyUI)开发
- 可自由切换的明亮/暗黑主题
- 响应式设计
- 搜索(目前仅支持 Pagefind)
- 响应式的文章目录显示
- 部分支持 Obsidian 特性
- Callout
- Wiki 链接(仅支持对文章的链接)
- 反向链接(仅支持对 Wiki 链接的反向链接显示)
- 评论系统,支持:
- 各种各样可在文章中使用的组件
- 流畅的动画和页面过渡
- 实用 JS 脚本工具
- PWA 支持
使用方法
-
使用此模板生成新仓库或 Fork 此仓库。
-
进行本地开发,克隆仓库到本地,执行
pnpm install安装依赖,执行pnpm dev启动开发服务器。- 若未安装 pnpm,请先执行
npm install -g pnpm安装 pnpm。
- 若未安装 pnpm,请先执行
-
通过配置文件
src/config.ts自定义博客,配置说明位于src/types/config.ts的文档注释中。 -
执行
pnpm new创建新草稿。编写完成后执行pnpm pub发布文章到src/content/posts目录。 -
参考官方指南将博客部署至 Vercel, Netlify, GitHub Pages 等;部署前需编辑 astro.config.mjs 中的站点设置。
文章 Front Matter
---
title: 文章标题
slug: post-entry # 文章将生成至 [BASE_URL]/posts/post-entry/ 路径下
published: 1970-01-01T00:00:00Z
description: 文章描述
category: Lorem
tags: [Foo, Bar]
cover: /path/to/cover.jpg
lang: zh-CN # 仅当文章语言与 `config.ts` 中站点语言不同时需要设置
comment: true # 是否启用评论,需要在 `config.ts` 中启用并配置评论系统
---
指令
下列指令均需要在项目根目录执行:
| 指令 | 行为 |
|---|---|
pnpm install |
安装依赖 |
pnpm dev |
在 localhost:4321 启动开发服务器 |
pnpm build |
构建静态站点到 ./dist/ 目录 |
pnpm preview |
本地预览构建的静态站点 |
pnpm new |
创建新文章 |
pnpm pub |
发布草稿 |
pnpm lint |
检查代码 |
pnpm format |
格式化代码 |
pnpm astro ... |
运行 Astro CLI |