A clean, elegant, and fast static blog template! 🚀 Built with Astro
🖥️ Frosti Demo / 🌏 Chinese README / ❤️My Blog
frosti.config.yaml
Name | Meaning | Required |
---|---|---|
title | Article title | Yes |
description | Article description | Yes |
pubDate | Publication date | Yes |
image | Article cover image | No |
categories | Article categories | No |
tags | Article tags | No |
badge | Article badge | No |
draft | Draft status | No |
[!TIP]
- You can pin your article by setting the
badge
property toPin
- Setting
draft: true
will mark the article as a draft, and it won't appear in the article list
npm i -g pnpm
git clone https://github.com/EveSunMaple/Frosti.git Frosti
cd Frosti
pnpm i
# If this is your first deployment, build first
pnpm run build
pnpm run dev
[!NOTE] You must build before starting the debug server, otherwise pagefind won't have an index, and the search functionality will not work.
Frosti uses frosti.config.yaml
as its configuration file, where you can configure the website's basic information, navigation bar, footer, and more.
site:
tab: Frosti # Text displayed in the browser tab
title: Frosti # Website title
description: A clean, elegant, and fast static blog template! # Website description for SEO
language: en # Website language code, e.g., "en" for English, "zh" for Chinese
favicon: /favicon.ico # Website favicon path
theme:
light: winter # Light mode theme, based on daisyUI themes
dark: dracula # Dark mode theme, based on daisyUI themes
code: github-dark # Code block theme style
date_format: ddd MMM DD YYYY # Date display format
menu:
- id: home # Unique identifier for the menu item
text: Home # Text displayed in the menu
href: / # Link address
svg: "material-symbols:home-outline-rounded" # Icon
target: _self # Link target
Each menu item includes the following properties:
id
: Unique identifiertext
: Displayed texthref
: Link addresssvg
: Icon code using Iconify icon settarget
: Link target (_self
for current window or _blank
for new window)You can configure sub-menu items by adding subItems
with the same format as main menu items.
user:
name: EveSunMaple # Username
site: "https://example.com" # User website
avatar: /profile.png # User avatar
Sidebar and footer can have different social media links:
sidebar:
social:
- href: "https://github.com/username" # Link address
ariaLabel: Github # Accessibility label
title: Github # Tooltip on hover
svg: "ri:github-line" # Icon code
Frosti uses Iconify as its icon library. You can search for icons you like on their website, then copy the icon code to the svg
field in the configuration file.
Frosti supports multiple languages, configured through:
frosti.config.yaml
:site:
language: en # Set to "en" for English, "zh" for Chinese
src/i18n/translations.yaml
file:en: # English translations
label:
noTag: No tags assigned
tagCard: Tags
# Other English labels...
zh: # Chinese translations
label:
noTag: 未分配标签
tagCard: 标签
# Other Chinese labels...
To add new language support or modify existing translations:
translations.yaml
file, or modify existing translationssite.language
in frosti.config.yaml
to your preferred language codeIf you have any questions or suggestions, you can provide feedback or communicate with the developer by submitting Issues!
@Saicaca Their inspiration was the main reason I created this theme
@WRXinYue They helped me a lot when I was first getting started