A VitePress-based blog theme built with Vue3, MDUI, and GSAP
vitepress-theme-akari — VitePress Blog Template
By OasisAkari
A VitePress-based blog theme in Material You style, built with Vue3, MDUI, and GSAP, supporting bilingual Chinese and English content and CC license display for articles.
Explore the design
Compare the page layouts and mobile experience. Open any screenshot for a closer look.
Preview provided in the project README.
One original preview is available. Open the full image to inspect the design.
Screenshots show visual appearance; interactive behavior may differ.
What stands out
A quick read of the recorded project description.
Provides en-US and zh-CN bilingual support, configurable in config.ts
Setting cc_license: true in an article's frontmatter displays a CC license component at the bottom of the page
Runs content-fixer.mjs during build to automatically fill in missing color, color_dark, date, and other parameters for articles
Provides optional page view counter and filing information configuration; the counter requires deploying your own backend
Template Details
vitepress-theme-akari is a blog theme for VitePress. The author describes it as Material You style and built with technologies such as Vue3, MDUI, and GSAP. It provides an online demo site, and the author also uses a customized version on their personal site.
The theme's configuration is centralized in config.ts, where the author has added comments. A built-in page view counter option is included but hidden by default; it requires deploying your own backend, with reference code in counter.py in the repository. It also provides filing information configuration, allowing you to fill in icons, links, and text for public security filing and ICP filing. In the frontmatter of an article's Markdown, you can set cc_license: true to display a CC license component at the bottom of the page; the display text can be configured in translation.ts.
During the build process, content-fixer.mjs runs to automatically fill in missing parameters such as color, color_dark, and date for articles, so there is no need to fill them in manually. The theme currently supports en-US and zh-CN, configurable in config.ts; other languages require submitting a PR yourself. In the README, the author notes that this is their first Vue project, that they consider the animations to be lacking, and that the style does not strictly follow the MD3 specification.
Is it right for your project?
Use Cases
- Building a personal blog site and wanting a Material You visual style
- Needing a bilingual Chinese-English blog and wanting to display CC license information at the bottom of articles
- Deploying on a server in mainland China and needing to configure public security filing and ICP filing information
- Wanting article metadata to be automatically filled in during build to reduce manual frontmatter entry
Suitable For
- Developers using VitePress who want to switch to a blog theme
- Users who accept deploying their own page view counter backend, or who do not need that feature
- Personal site authors who need bilingual Chinese-English content display
Getting started & customization
Use these recorded setup notes alongside the repository instructions for your chosen version.
- 1
After cloning the repository, run npm install to install dependencies, then complete configuration in config.ts
- 2
Use npm run docs:dev for development, npm run docs:build for building, and npm run docs:preview to preview the build output
- 3
The page view counter is hidden by default and requires deploying your own backend; refer to counter.py in the repository
- 4
Filing information is configured in config.ts under footer.beian, where public security filing and ICP filing can be filled in separately
- 5
To display a CC license for an article, set cc_license: true in the frontmatter; adjust the display text in translation.ts
License & source material
Usage conditions & limitations
Free to use · keep license noticeThis entry covers the free version under the MIT license in the public repository; the free scope is the code of this version and does not mean that external services or third-party assets are free.
Must comply with when using
- You are allowed to use, modify, commercialize, and distribute the code of this version for free.
- When distributing copies or substantial portions of the code, retain the original author's copyright notice and the complete MIT license notice.
- The code is provided as is; warranties and limitations of liability are governed by the original license and applicable law.
Additional costs & items to verify
- The page view counter is hidden by default and requires deploying your own backend service (refer to counter.py in the repository) to use this feature.
- Using the page view counting feature requires deploying your own backend, which is an external service dependency and not available out of the box with the theme.
- Filing information configuration is only useful in mainland China server scenarios and is an optional configuration, not a mandatory requirement.
- Demo images, fonts, icons, and other third-party assets must be checked against their respective licenses; you cannot judge based solely on the code's MIT license.
- External services such as domains, hosting, databases, payments, or AI may incur additional charges.
View Original Text Basis
Permission is hereby granted, free of charge
Original License Text
it required backend things, so I just hide it by default.
Original README
However, you can just deploy it by yourself, the reference code is in `counter.py`.
Original README
https://github.com/OasisAkari/vitepress-theme-akari/blob/main/LICENSEhttps://github.com/OasisAkari/vitepress-theme-akari/blob/main/README.mdIf your server are located in China, these options may be useful.
Original README
Compiled by DeepSeek based on repository license and README ·2026-10-01. Results only cover the materials read; dependencies, images, fonts, and subsequent term changes are subject to their respective original texts.
Project checks & description sources
Template Information
- Source platforms
- GitHub
- Documentation and maintenance reference score
- More documented · 79 / 100
- Technologies
- VitePress
- Website type
- Blog
How this score is calculated
Our heuristic uses license records (up to 30), a demo link (12), a preview (10), stars (15), recorded maintenance (15), description completeness (8), feature records (5) and classification data (5). It is not a code, security or performance test, or a Google score. A link does not establish tested functionality.
What to verify for this project
- Repository update recorded
- 2026-09-24
- Screenshot last checked
- 2026-10-01
A demo link is listed. Check it with your own content and viewport sizes; its presence does not confirm that forms, authentication or payments work.
The catalog identifies VitePress as the primary stack. Check the actual dependency manifest and lockfile for versions and hosting requirements. These notes use recorded metadata, not a code audit or a deployment test.
Use a selection guide →How this description was prepared
AI-assisted description based on catalog records and repository material. Repository authors are not automatically the reviewers of this description.
Automatically checked against source and license rules; no manual editorial review.
Inspect the recorded source material
SHA-256: 9c4b91a948c593157ed06605f72a33caec75f98df351ae84ed6a29710685467c
2026-10-01T03:56:45.959Z
Source file / repository## Description
A Material You stylized theme for vitepress, built with Vue3 + MDUI + GSAP and etc.
## Showcase

## Demos
[vitepress-theme-akari.vercel.app](https://vitepress-theme-akari.vercel.app)
[stray-soul.com](https://stray-soul.com) (I made some customs for my self, but however you can make your own too!)
## Usage
Just clone this repo, install dependencies (`npm install`), then configure some things:
### config.ts
I added some comments so you can just go open and see it, it could be easily understand. (Maybe...)
However, some fields are not included, the following are the details:
#### Views counter
```js
const themeConfig: AkariThemeConfig = {
...
viewsCounter: '',
...
}
```
Basically, it is just links to a simple counter for page total views, it required backend things, so I just hide it by default.
However, you can just deploy it by yourself, the reference code is in `counter.py`.
#### Beian
```js
const themeConfig: AkariThemeConfig = {
...
footer: {
...
beian:{
use: true,
gongan: {
icon: '',
link: '',
text: ''
},
icp: {
link: '',
text: ''
}
}
...
}
...
}
```
If your server are located in China, these options may be useful. :>
### Article
```md
---
...
cc_license: true
...
---
```
When set to true, the cc license component will be displayed at the bottom of the page. The display text can be configured in `translation.ts`
## Run & Build
Dev: `npm run docs:dev`
Build: `npm run docs:build`
Preview dist: `npm run docs:preview`
Note that content-fixer.mjs will be run when executing the build to fix missing parameter fields in the article, so there is no need to add `color`, `color_dark`, `date` manually.
## Translations
Currently, the theme supports `en-US` and `zh-CN` language, it can be configured in `config.ts`.
If you want to support another language, the PR is welcome.
## Q&A
### Wait, why Akari, not MDxx?
I added my flavor to it, so it may not designed in MD3 style precisely. Also I have no idea about name it... so that.
### Your code smells so terrible...
This is my first project built with Vue and etc. so... you probably know. But however PR is welcome.
### Animations are so buggy...
I tried my best... sorry.
### What else you want to say?
I dunno at this point, so that's all.
## References
[MDUI](https://mdui.org/)
[GSAP](https://gsap.com/)
[vitepress-blog-pure](https://github.com/airene/vitepress-blog-pure)
[vitepress-blog-zaun](https://github.com/clark-cui/vitepress-blog-zaun)
[vitepress-theme-trigger](https://github.com/laplacetw/vitepress-theme-trigger)
[bsblog](https://github.com/bsdayo/blog)
Explore similar templates
Compare previews and descriptions within the same stack and category.

sugar-blog
A VitePress-based personal blog monorepo that separates blog content, the reusable @sugarat/theme theme, shared utilities, and a creation template, and also maintains plugins for image preview, pagefind offline full-text search, RSS, 51.la analytics, announcements, back-to-top, product cards, and comments.
VitePress · Blog

vitepress-nav-template
A personal front-end navigation page template built on VitePress, created by maomao1996 under the MIT license.
VitePress · Blog

vitepress-blog-pure
A minimalist VitePress blog theme used by copying files into the project root. It provides post lists, tags, archives, local search, and Giscus comments, with posts placed in the posts directory and title required in frontmatter.
VitePress · Blog

vitepress-blog-starter
A VitePress-based blog starter template with runnable example content for posts and authors, blog logic organized through Composables, UnoCSS styling, and VitePress's built-in local search. It uses pnpm for installation, development, and build, and the repository is MIT licensed.
VitePress · Blog

vitepress-theme-trigger
vitepress-theme-trigger is a blog theme for VitePress built with Tailwind CSS, released under the MIT license.
VitePress · Blog

KiwiBlog
KiwiBlog is a Chinese personal blog template built on VitePress for publishing daily shares and articles.
VitePress · Blog
