mirror of
https://codeberg.org/HPCesia/AstralHalo.git
synced 2025-04-08 17:34:27 +08:00
76 lines
3.6 KiB
Markdown
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.
|