AstralHalo/README.md
2025-04-05 18:17:43 +08:00

76 lines
3.6 KiB
Markdown

# Astral Halo
> [!WARNING]
> This project is still under development and may contain bugs and breaking changes. Use with caution.
[**Live Demo** (Netlify)](https://astral-halo.netlify.app/) | English | [简体中文](README-zh_CN.md)
Astral Halo is a static blog template developed with [Astro](https://astro.build).
## Features/TODO
- [x] Built with Astro and Tailwind CSS (using [daisyUI](https://daisyui.com/?lang=en))
- [x] Freely switchable light/dark themes
- [x] Responsive design
- [x] Search functionality (currently only supports [Pagefind](https://pagefind.app/))
- [x] Responsive article table of contents
- [x] Bidirectional references in articles
- [x] Comments system, supports:
- [Twikoo](https://twikoo.js.org/en/)
- [Giscus](https://giscus.app/en/)
- [Waline](https://waline.js.org/en/)
- [Artalk](https://artalk.js.org/?lng=en)
- [x] Various components that can be used in articles
- [ ] Smooth animations and page transitions
- [ ] Useful JS script tools
- [ ] PWA supports
## Getting Started
1. Use this template to [generate a new repository](https://github.com/HPCesia/astral-halo/generate) or fork this repository.
2. For local development, clone the repository, run `pnpm install` to install dependencies, and `pnpm dev` to start the development server.
- If [pnpm](https://pnpm.io/) is not installed, first run `npm install -g pnpm` to install it.
3. Customize your blog through the configuration file `src/config.ts`. Configuration documentation can be found in the comments of `src/types/config.ts`.
4. Run `pnpm new [draft|post] [title]` to create a new article. If creating a draft, run `pnpm pub` to publish it to the `src/content/posts` directory when finished.
5. Refer to the [official guide](https://docs.astro.build/en/guides/deploy/) to deploy your blog to Vercel, Netlify, GitHub Pages, etc. Before deployment, edit the site settings in astro.config.mjs.
## Article Front Matter
```yaml
---
title: Article Title
slug: post-entry # The article will be generated at the path [BASE_URL]/posts/post-entry/
published: 1970-01-01T00:00:00Z
description: Article Description
category: Lorem
tags: [Foo, Bar]
cover: /path/to/cover.jpg
lang: en # Only needed when article language differs from site language in `config.ts`
comment: true # Enable comments, requires comment system to be enabled and configured in `config.ts`
---
```
## Commands
All commands need to be run from the project root directory:
| Command | Action |
| -------------------------------- | ------------------------------------ |
| `pnpm install` | Install dependencies |
| `pnpm dev` | Start dev server at `localhost:4321` |
| `pnpm build` | Build static site to `./dist/` |
| `pnpm preview` | Preview built site locally |
| `pnpm new [draft\|post] [title]` | Create new article |
| `pnpm pub` | Publish draft |
| `pnpm lint` | Check code |
| `pnpm format` | Format code |
| `pnpm astro ...` | Run Astro CLI |
## Acknowledgments
- This project is inspired by [Fuwari](https://github.com/saicaca/fuwari) and references some of its code and design elements.
- This project is inspired by [Pure](https://github.com/cworld1/astro-theme-pure) and references some of its code and design elements.
- This project is inspired by [Solitude](https://github.com/everfu/hexo-theme-solitude) and references some of its design elements.