{"id":44148618,"url":"https://github.com/EveSunMaple/Frosti","last_synced_at":"2026-02-21T03:00:35.801Z","repository":{"id":228071667,"uuid":"773084546","full_name":"EveSunMaple/Frosti","owner":"EveSunMaple","description":"A clean, elegant, and fast static blog template! 🚀 Developed with Astro","archived":false,"fork":false,"pushed_at":"2026-02-13T13:31:05.000Z","size":42617,"stargazers_count":447,"open_issues_count":0,"forks_count":94,"subscribers_count":5,"default_branch":"main","last_synced_at":"2026-02-13T22:37:38.717Z","etag":null,"topics":["astro","blog","blog-template","blog-theme","daisyui","dark-theme","static","static-site","tailwind","tailwindcss"],"latest_commit_sha":null,"homepage":"https://frosti.saroprock.com","language":"Astro","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/EveSunMaple.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"docs/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"docs/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"docs/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-03-16T17:47:46.000Z","updated_at":"2026-02-13T13:31:09.000Z","dependencies_parsed_at":"2024-04-13T12:28:30.289Z","dependency_job_id":"fabd2eb1-7f28-45f8-810c-56ac1c7539be","html_url":"https://github.com/EveSunMaple/Frosti","commit_stats":null,"previous_names":["evesunmaple/frosti"],"tags_count":53,"template":true,"template_full_name":null,"purl":"pkg:github/EveSunMaple/Frosti","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EveSunMaple%2FFrosti","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EveSunMaple%2FFrosti/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EveSunMaple%2FFrosti/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EveSunMaple%2FFrosti/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/EveSunMaple","download_url":"https://codeload.github.com/EveSunMaple/Frosti/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EveSunMaple%2FFrosti/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29672238,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-21T00:11:43.526Z","status":"online","status_checked_at":"2026-02-21T02:00:07.432Z","response_time":107,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["astro","blog","blog-template","blog-theme","daisyui","dark-theme","static","static-site","tailwind","tailwindcss"],"created_at":"2026-02-09T03:00:28.580Z","updated_at":"2026-02-21T03:00:35.796Z","avatar_url":"https://github.com/EveSunMaple.png","language":"Astro","readme":"\u003cpre align=\"center\"\u003e\nA clean, elegant, and fast static blog template! 🚀 Built with Astro\n\u003c/pre\u003e\n\n\u003cdiv align=\"center\"\u003e\n\u003cimg alt=\"Frosti Logo\" src=\"https://github.com/EveSunMaple/Frosti/blob/main/docs/logo.png\" width=\"280px\"\u003e\n\u003c/div\u003e\n\n[![license](https://badgen.net/github/license/EveSunMaple/Frosti)](https://github.com/EveSunMaple/Frosti/blob/main/LICENSE)\u0026nbsp;\u0026nbsp;\u0026nbsp;[![release](https://badgen.net/github/release/EveSunMaple/Frosti)](https://github.com/EveSunMaple/Frosti/releases)\u0026nbsp;\u0026nbsp;\u0026nbsp;[![stackblitz](https://developer.stackblitz.com/img/open_in_stackblitz_small.svg)](https://stackblitz.com/github/EveSunMaple/Frosti)\n\n[**🖥️ Frosti Demo**](https://frosti.saroprock.com)\u0026nbsp;\u0026nbsp;\u0026nbsp;/\u0026nbsp;\u0026nbsp;\u0026nbsp;[**🌏 Chinese README**](https://github.com/EveSunMaple/Frosti/blob/main/docs/README.zh-CN.md)\u0026nbsp;\u0026nbsp;\u0026nbsp;/\u0026nbsp;\u0026nbsp;\u0026nbsp;[**❤️ My Blog**](https://www.saroprock.com)\n\n## 📷 Preview\n\n![preview](./docs/preview-light.png)\n\n## ✨ Features\n\n- ✅ **Light** / **Dark** mode available\n- ✅ Super fast performance with excellent SEO\n- ✅ View transition animations (using ClientRouter)\n- ✅ Search functionality for your articles (using Pagefind)\n- ✅ Responsive design built with [Tailwind CSS](https://tailwindcss.com/) and [daisyUI](https://daisyui.com/)\n- ✅ RSS feed support\n- 🛠️ Easy to use blog\n  - Customize your blog content in `frosti.config.yaml`\n  \n## 💬 Comment System\n\n- **Tutorial (Waline)**\n  - https://frosti.saroprock.com/blog/adding-comment-systems\n- **Custom styles (SCSS)**\n  - This repo provides a default, site-matching comment stylesheet at `src/styles/waline.scss`. You can use it as-is or modify it to fit your needs.\n\n## ✒️ Article Information\n\n|    Name     |       Meaning       | Required |\n| :---------: | :-----------------: | :------: |\n|    title    |    Article title    |   Yes    |\n| description | Article description |   Yes    |\n|   pubDate   |  Publication date   |   Yes    |\n|    image    | Article cover image |    No    |\n| categories  | Article categories  |    No    |\n|    tags     |    Article tags     |    No    |\n|    badge    |    Article badge    |    No    |\n|    draft    |    Draft status     |    No    |\n\n\u003e [!TIP]\n\u003e\n\u003e - You can pin your article by setting the `badge` property to `Pin`\n\u003e - Setting `draft: true` will mark the article as a draft, and it won't appear in the article list\n\n## ⬇️ Usage\n\n1. Install pnpm package manager (if you haven't already)\n\n```sh\nnpm i -g pnpm\n```\n\n2. Clone the project\n\n```sh\ngit clone https://github.com/EveSunMaple/Frosti.git Frosti\n```\n\n3. Enter the project folder\n\n```sh\ncd Frosti\n```\n\n4. Install dependencies\n\n```sh\npnpm i\n```\n\n### 5. Debug and Run the Project\n\n**On first run or after updating content**, execute `search:index` to generate the search index:\n\n```sh\n# Generate the search index for development use\npnpm run search:index\n\npnpm run dev\n```\n\n## 🔧 Configuration\n\nFrosti uses `frosti.config.yaml` as its configuration file, where you can configure the website's basic information, navigation bar, footer, and more.\n\n### Website Basic Information (site)\n\n```yaml\nsite:\n  tab: Frosti # Text displayed in the browser tab\n  title: Frosti # Website title\n  description: A clean, elegant, and fast static blog template! # Website description for SEO\n  language: en # Website language code, e.g., \"en\" for English, \"zh\" for Chinese\n  favicon: /favicon.ico # Website favicon path\n```\n\n### Theme Settings (theme)\n\n```yaml\ntheme:\n  light: winter # Light mode theme, based on daisyUI themes\n  dark: dracula # Dark mode theme, based on daisyUI themes\n  code: github-dark # Code block theme style\n```\n\n- Themes are based on options provided by [daisyUI](https://daisyui.com/docs/themes/)\n- Code block themes use styles from [Shiki](https://shiki.style/themes)\n\n### Date Format (date_format)\n\n```yaml\ndate_format: ddd MMM DD YYYY # Date display format\n```\n\n### Menu Configuration (menu)\n\n```yaml\nmenu:\n  - id: home # Unique identifier for the menu item\n    text: Home # Text displayed in the menu\n    href: / # Link address\n    svg: \"material-symbols:home-outline-rounded\" # Icon\n    target: _self # Link target\n```\n\nEach menu item includes the following properties:\n\n- `id`: Unique identifier\n- `text`: Displayed text\n- `href`: Link address\n- `svg`: Icon code using [Iconify](https://icon-sets.iconify.design/) icon set\n- `target`: Link target (`_self` for current window or `_blank` for new window)\n\n#### Sub-menu Items (subItems)\n\nYou can configure sub-menu items by adding `subItems` with the same format as main menu items.\n\n### User Information (user)\n\n```yaml\nuser:\n  name: EveSunMaple # Username\n  site: \"https://example.com\" # User website\n  avatar: /profile.png # User avatar\n```\n\n### Social Media Configuration (social)\n\nSidebar and footer can have different social media links:\n\n```yaml\nsidebar:\n  social:\n    - href: \"https://github.com/username\" # Link address\n      ariaLabel: Github # Accessibility label\n      title: Github # Tooltip on hover\n      svg: \"ri:github-line\" # Icon code\n```\n\n### Icon Settings (icon)\n\nFrosti uses [Iconify](https://icon-sets.iconify.design/) 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.\n\n### Language Settings (language)\n\nFrosti supports multiple languages, configured through:\n\n1. Setting the default language in `frosti.config.yaml`:\n\n```yaml\nsite:\n  language: en # Set to \"en\" for English, \"zh\" for Chinese\n```\n\n2. Managing all interface text translations in the `src/i18n/translations.yaml` file:\n\n```yaml\nen: # English translations\n  label:\n    noTag: No tags assigned\n    tagCard: Tags\n    # Other English labels...\n\nzh: # Chinese translations\n  label:\n    noTag: 未分配标签\n    tagCard: 标签\n    # Other Chinese labels...\n```\n\n#### Adding or Modifying Translations\n\nTo add new language support or modify existing translations:\n\n1. Add a new language code and corresponding translations in the `translations.yaml` file, or modify existing translations\n2. Change `site.language` in `frosti.config.yaml` to your preferred language code\n\n## 🚀 Automatic Updates\n\nTo keep your project up to date with the latest version of Frosti, you can use the provided update script.\n\n```sh\nbash frosti.update.sh\n```\n\nThis script will:\n\n1.  **Clone the latest version** of the Frosti repository.\n2.  **Safely update** your project files, adding and overwriting files based on the `.updateignore` file.\n3.  **Intelligently delete** files that have been removed from the official repository, without affecting your ignored files.\n4.  **Clean up** any remaining empty folders and temporary files.\n5.  **Install or update** dependencies using `pnpm`.\n\n## 👀 Issues\n\nIf you have any questions or suggestions, you can provide feedback or communicate with the developer by submitting Issues!\n\n## 🎉 Acknowledgements\n\n@[Saicaca](https://github.com/saicaca) Their inspiration was the main reason I created this theme\n\n@[WRXinYue](https://github.com/WRXinYue) They helped me a lot when I was first getting started\n","funding_links":[],"categories":["Other themes"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FEveSunMaple%2FFrosti","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FEveSunMaple%2FFrosti","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FEveSunMaple%2FFrosti/lists"}