boxmoe_header_banner_img

加载中

Astro全面介绍及Mizuki二次元主题修改教程


Astro全面介绍及Mizuki二次元主题修改教程

Astro是一款现代静态网站生成器,而Mizuki是基于它构建的优雅二次元风格博客主题。下面为你详细介绍Astro、Mizuki主题,以及如何发文章、修改样式的完整教程。

一、Astro是什么?

Astro是一款现代化的静态网站生成器,由Astro团队开发,旨在解决传统前端框架“加载过重”的问题。它采用独特的“岛屿架构”(Islands Architecture),在构建时尽可能生成静态HTML,只在必要的地方加载JavaScript。

Astro的核心优势

特性 说明
默认零JS 默认输出纯静态HTML,页面加载速度极快
岛屿架构 只在需要交互的地方加载JS,其余保持静态
多框架支持 同时支持React、Vue、Svelte、Solid等组件混用
内容驱动 内置Markdown、MDX支持,适合博客、文档站
按需构建 只打包页面实际需要的资源,优化产物大小

Astro特别适合内容型网站——博客、文档、作品集、企业官网等。它不像Next.js那样是全能框架,而是专注做好“内容展示”这一件事。

二、Mizuki主题介绍

Mizuki是一款基于Astro构建的优雅二次元风格博客主题,由开发者松坂有希创建,目前在Astro官方主题市场收录。

2.1 主题风格

Mizuki的设计理念是“融入二次元元素的优雅博客”。它的视觉风格:

· 整体简洁大气,搭配柔和的二次元色调
· 支持亮色/暗色模式,跟随系统偏好自动切换
· 可自定义主题色(通过调整色相值)
· 动态轮播横幅,支持多图切换

2.2 核心功能

功能类别 具体特性
内容写作 Markdown支持、代码高亮、数学公式(KaTeX)、提示框(Admonitions)
搜索导航 Pagefind全文搜索、自动滚动目录、文章归档
特殊页面 追番记录页、友链页、日记/碎碎念页、关于页、图库页
多语言 内置10+语言支持(中、英、日、韩等),自动检测用户偏好
社交功能 Twikoo评论系统、RSS订阅、阅读时间估算
性能优化 图片懒加载、PhotoSwipe图库预览、SEO自动优化

2.3 真实案例

有博主使用Mizuki主题搭配Vercel部署个人博客,并通过Cloudflare加速国内访问,体验流畅。该博主提到,虽然配置过程中遇到一些技术难题(如Twikoo评论、Pagefind搜索的部署问题),但最终效果令人满意。

三、如何发文章?

3.1 文章存放位置

Mizuki的所有文章都存放在src/content/posts/目录下。每篇文章是一个单独的Markdown(.md)或MDX文件。

3.2 创建新文章

有两种方式:

方式一:使用命令(推荐)

pnpm new-post 我的新文章

这会在src/content/posts/自动生成一个带基础模板的Markdown文件。

方式二:手动创建
直接在src/content/posts/新建一个.md文件,文件名会作为URL的一部分(建议用英文或拼音)。

3.3 文章头部信息(Frontmatter)

每篇文章开头必须包含以下信息(YAML格式):

---
title: 我的第一篇博客文章      # 文章标题(必填)
published: 2024-01-15        # 发布日期(必填)
description: 这是文章的描述    # 描述,用于SEO和预览
image: ./cover.jpg           # 封面图路径(相对当前文件)
tags: [Astro, 博客, 二次元]    # 标签数组
category: 技术杂谈            # 分类
draft: false                 # 是否为草稿(true则不发布)
pinned: true                 # 是否置顶(置顶文章优先显示)
lang: zh                     # 若文章语言与站点配置不同,可单独指定

重点说明:

· 置顶功能:设置pinned: true后,文章会始终显示在列表最前面,按发布日期排序
· 草稿模式:draft: true的文章在开发环境可见,但生产构建时不会包含

3.4 文章正文写作

Mizuki支持增强的Markdown语法:

普通内容:直接写Markdown即可

提示框(Admonitions):

> [!NOTE]
> 这是一条普通提示

> [!TIP]
> 这是一个小技巧

> [!WARNING]
> 注意这里有坑

数学公式:

行内公式:$E = mc^2$

块级公式:
$$
\sum_{i=1}^n i = \frac{n(n+1)}{2}
$$

嵌入GitHub仓库卡片:

::github{repo="matsuzaka-yuki/Mizuki"}

3.5 发布流程

  1. 写完文章后,运行pnpm build检查构建是否正常
  2. 推送到Git仓库(如GitHub)
  3. 部署平台(Vercel/Netlify)自动拉取更新并发布

四、如何修改样式?

Mizuki基于Tailwind CSS构建,所有样式都可以通过配置文件或自定义CSS修改。

4.1 快速修改主题色

这是最简单的个性化方式:

  1. 打开src/config.ts文件
  2. 找到themeColor配置项:
themeColor: {
  hue: 210,      // 修改这个数值(0-360),210是蓝色,330是粉色,45是橙色
  fixed: false,  // true则固定颜色,用户无法通过主题色选择器修改
},

修改hue值即可改变整个网站的主色调。

4.2 修改网站基础信息

同样在src/config.ts中:

export const siteConfig: SiteConfig = {
  title: "你的博客名称",
  subtitle: "你的博客副标题",
  lang: "zh-CN",  // 默认语言
  // ...其他配置
};

4.3 修改横幅轮播图

banner: {
  enable: true,   // 是否开启横幅
  src: [
    "assets/banner/1.webp",  // 在这里添加或替换图片路径
    "assets/banner/2.webp",
  ],
  carousel: {
    enable: true,
    interval: 0.8,  // 切换间隔(秒)
  },
},

图片建议放在src/assets/banner/目录下,使用WebP格式以获得更好性能。

4.4 自定义CSS

如果需要更细致的样式修改:

方法一:添加全局CSS
在src/styles/目录下创建自定义CSS文件,然后在布局组件中引入。

方法二:覆盖Tailwind类
Mizuki的组件使用Tailwind的类名,你可以通过浏览器开发者工具查看元素使用的类,然后在自己的CSS中覆盖。

方法三:修改组件源码
如果你熟悉Astro和Tailwind,可以直接修改src/components/下的组件文件。

4.5 修改特殊页面内容

页面 修改位置
关于页 src/content/spec/about.md
友链页 src/content/spec/friends.md
追番页 编辑src/pages/anime.astro中的数据
日记页 编辑src/pages/diary.astro

五、进阶自定义

5.1 修改导航菜单

导航菜单通常在布局组件中定义,查找src/layouts/下的文件,找到导航栏组件进行修改。

5.2 添加新页面

  1. 在src/pages/下创建新的.astro文件(如gallery.astro)
  2. 按照现有页面的模板编写内容
  3. 在导航菜单中添加链接

5.3 配置评论系统

Mizuki默认集成Twikoo评论系统,需要在src/config.ts中配置你的Twikoo环境ID。

5.4 多语言配置

如果开启多语言功能(translate.enable: true),主题会自动检测用户浏览器语言并翻译页面内容,无需手动维护多语言版本。

六、常见问题

6.1 修改后不生效?

· 开发环境下修改会热更新,如果没变化可以重启pnpm dev
· 检查修改的文件是否正确保存
· 如果是配置文件修改,可能需要重启开发服务器

6.2 文章图片显示不出来?

· 检查图片路径是否正确(相对于文章文件的位置)
· 推荐将图片放在src/assets/或public/目录下
· 可以使用图床(如腾讯云COS)配合Picgo上传,避免附件迁移问题

6.3 搜索功能不正常?

Pagefind搜索在本地开发和生产部署可能表现不一致。解决方法:

· 确保pnpm build后运行pnpm preview测试
· 检查astro.config.mjs中的site URL配置是否正确

6.4 部署后样式错乱?

· 确认部署平台的构建命令是否正确(通常是pnpm build)
· 检查输出目录是否设置为dist
· 如果是Vercel部署,可以在项目设置中修改构建命令

七、总结

Mizuki是一款功能丰富、设计优雅的Astro二次元博客主题,它解决了博客建站的多数痛点——搜索、评论、多语言、特殊页面等开箱即用。

文章发布流程:src/content/posts/下创建Markdown文件 → 填写头部信息 → 写正文 → 推送到仓库部署。

样式修改要点:主题色在config.ts的hue值调整;自定义内容在对应spec文件修改;更深入的样式需修改Tailwind类或组件源码。

如果你想要一个既有二次元风格、又功能完备的个人博客,Mizuki是非常值得考虑的选择。遇到具体问题时,可以查阅官方文档(docs.mizuki.mysqil.com)或在GitHub仓库提issue。

注:Mizuki是免费开源的,如果喜欢记得给GitHub仓库点个Star支持开发者。

上一次更新已经跑远了✨ 计算中...
(‾◡◝) 本内容里的一些消息,可能已经跟不上时间啦~
感谢您的支持
微信赞赏

微信扫一扫

支付宝赞赏

支付宝扫一扫



评论(0)

查看评论列表

暂无评论


发表评论

北京时间 (Asia/Shanghai)

定位中...
🌤️
--°C
加载中...
体感: --°C
湿度: --%

博客统计

  • 171 点击次数
重要的日子2026年3月20日
重要的日子即将来临。
2026 年 3 月
 1
2345678
9101112131415
16171819202122
23242526272829
3031  

已阻挡的垃圾评论

后退
前进
刷新
复制
粘贴
全选
删除
返回首页

💿 音乐控制窗口

🎼 歌词

🪗 歌曲信息

封面

🎚️ 播放控制

🎶 播放进度

00:00 00:00

🔊 音量控制

100%

📋 歌单

0%
目录
顶部
底部
📖 文章导读