Mobile wallpaper
1791 字
9 分钟

使用 Fuwari 搭建个人博客并集成 Twikoo 评论系统

2025-07-06
2025-08-04
浏览量 加载中...
AI内容警告

本文使用了AI润色,更多内容请看文章内容说明

更新日志

  • 2025-08-03 更新1: 更新 Twikoo 评论部分,确保评论系统能够正确加载和显示。
  • 2025-08-03 更新2: 新增“高级 Markdown 用法参考”附录,内容总结自官方示例。
  • 2025-08-03 更新3: 文章内容润色。
  • 2025-08-04: 附录移动至Fuwari 主题 Markdown 速查表与高级用法

本教程旨在提供一个从零到一的建站指南,即使是新手也能轻松上手。

开始前的准备

在正式开始之前,请确保您的电脑已安装以下软件:

  • Node.js (建议使用 LTS 版本)
  • Visual Studio Code (或其他代码编辑器)
  • 一个 Markdown 编辑器 (VS Code 也不是不可以,可以安装Markdown All in One扩展)

一、 部署 Fuwari 主题#

首先,我们来初始化 Fuwari 项目。

小提示

项目创建过程中会自动生成一个新文件夹,所以您无需提前手动创建。

  1. 打开终端,执行以下命令:

    Terminal window
    npm create fuwari@latest
  2. 终端会提示您是否需要安装 create-fuwari 包,直接按回车键(y)继续:

    Terminal window
    Need to install the following packages:
    create-fuwari@0.0.13
    Ok to proceed? (y)
  3. 接下来,根据提示完成初始化设置:

    选项解释建议
    Install Dependencies?是否安装项目依赖Yes
    Initialize Git?是否初始化 Git 仓库Yes (如果使用 Git)
  4. 看到 Done!😊 字样时,说明项目已成功创建。

  5. 使用 cd 命令进入您的项目目录。

关于报错

如果在安装依赖时遇到问题,可以尝试全局安装 pnpm,然后进入项目根目录执行 pnpm installpnpm add sharp 来修复。

Terminal window
# 全局安装 pnpm
npm install -g pnpm
# 进入项目目录后执行
pnpm install
pnpm add sharp

如有其他报错,建议完整复制丢给AI


二、 修改基础配置#

项目创建完成后,我们需要修改一些基础配置信息。

1. 网站信息配置#

打开 src/config.ts 文件,您会看到如下配置项,请根据解释进行修改:

配置项解释备注
title网站主标题
subtitle网站副标题可选
lang网站语言默认为 en,可改为 zh_CN
themeColor.hue主题色调可以在博客右上角的调色盘中实时预览和选择
banner首页横幅图片src 为图片路径/链接,credit 控制是否显示版权
favicon网站图标
NavBarConfig导航栏链接配置
ProfileConfig侧边栏个人信息avatar:头像,name:昵称,bio:简介

主题色

2. 网站 URL 配置#

打开项目根目录下的 astro.config.mjs 文件,找到 site 选项,并将其值修改为您的网站域名。


三、 开始撰写博客#

配置完成后,就可以开始创作您的第一篇博客了。

1. 创建新文章#

Fuwari 提供了便捷的命令行工具来创建新文章。

  1. 执行以下命令:
    Terminal window
    pnpm new-post "你的文章标题"
  2. 命令执行后,在 src/content/posts/ 目录下会生成一个对应的 Markdown 文件。
文章资源管理

为了更好地管理文章相关的图片等资源,建议在 src/content/posts/ 目录下为每篇文章创建一个同名文件夹,并将 Markdown 文件和相关资源(如图片)都放入该文件夹中。这样,您就可以方便地使用相对路径 ![图片](./图片名.png) 来引用资源。

2. 理解 Front-matter#

每篇文章的开头部分都有一段 --- 包裹的区域,这被称为 Front-matter,用于定义文章的元数据。

---
title: 我的第一篇博客
published: 2025-08-03
description: 这是我的 Astro 博客的第一篇文章。
image: './cover.jpg'
tags: [Astro, Blog]
category: '技术分享'
draft: false
---

以下是常用字段的说明:

属性解释
title文章标题。
published发布日期
updated更新日期(可选)。
description文章简介,会显示在主页的文章卡片上。
image文章封面图路径。
网络图片: 以 http://https:// 开头。
本地公共图片: 以 / 开头,指向 public 目录。
文章相对路径: 直接写图片名,如 ./cover.jpg
tags文章标签,可设置多个。
category文章分类。
draft草稿状态。如果设为 true,文章不会被构建和显示。

四、 集成 Twikoo 评论系统#

本章节内容参考并修改自 HyperCherry 的博客文章

为了让博客更具互动性,我们可以为其添加 Twikoo 评论系统。

1. 获取 Twikoo 环境 ID#

首先,请根据 Twikoo 官方文档 的指引完成部署,并获取您的 环境 ID (envId)

2. 下载 Twikoo 静态资源#

Twikoo 文档 下载最新的 twikoo.min.js 文件,然后放置在 public/twikoo/ 目录下(如果目录不存在,请手动创建)。

3. 创建评论组件#

  1. src/components/ 目录下创建一个新文件夹 comment

  2. src/components/comment/ 目录下创建一个新文件 Twikoo.astro

  3. 将以下代码复制到 Twikoo.astro 文件中,并务必填入您自己的 envId

    src/components/comment/Twikoo.astro
    ---
    const config = {
    el: "#comment",
    path: Astro.props.path,
    };
    ---
    <div id="comment">
    <div class="text-center text-gray-500 dark:text-gray-400 p-8">
    <p>评论区加载中...</p>
    <p class="text-sm mt-2">如果长时间无法显示,请尝试刷新页面。</p>
    </div>
    </div>
    <script is:inline define:vars={{ config }}>
    function initTwikoo() {
    const commentContainer = document.getElementById('comment');
    if (!commentContainer) return;
    // 清理旧的 Twikoo 实例和脚本
    if (window.twikoo) {
    window.twikoo = undefined;
    }
    const oldScript = document.getElementById('twikoo-script');
    if (oldScript) {
    oldScript.remove();
    }
    // 创建并注入新的 Twikoo 脚本
    const script = document.createElement('script');
    script.id = 'twikoo-script';
    script.src = '/twikoo/twikoo.min.js'; // 确保路径正确
    script.defer = true;
    // 脚本加载后初始化 Twikoo
    script.onload = () => {
    if (window.twikoo) {
    window.twikoo.init({
    ...config,
    envId: "请在这里填写你的envId", // !!!请替换为您的真实 envId
    lang: 'zh-CN',
    });
    }
    };
    document.head.appendChild(script);
    }
    // 监听 Astro 的页面加载事件来初始化评论
    document.addEventListener('astro:page-load', initTwikoo);
    </script>

4. 在文章页面中引入评论组件#

  1. 打开 src/pages/posts/[...slug].astro 文件。

  2. 在文件顶部的 --- 代码块中,导入刚刚创建的 Twikoo 组件。

    ---
    import path from "node:path";
    import Twikoo from "@components/comment/Twikoo.astro";
    import License from "@components/misc/License.astro";
    // ... 其他导入
    ---
  3. 在文件的 </div> 标签下方,添加以下代码来渲染评论区。

    </div>
    <div class="card-base p-6 mb-4">
    <div class="flex items-center mb-4">
    <div class="w-1 h-5 rounded-md bg-[var(--primary)] mr-3"></div>
    <h2 class="text-xl font-bold">评论区</h2>
    </div>
    <Twikoo path={`/posts/${entry.slug}`} />
    </div>
    <div class="flex flex-col md:flex-row justify-between mb-4 gap-4 overflow-hidden w-full">

5. 添加评论区样式#

访问 这个 Gist 下载 twikoo.css 文件,并将其放入 src/styles 文件夹下,以美化评论区样式。


五、 运行与构建#

万事俱备,现在可以运行和构建您的博客了。

命令作用
pnpm dev启动本地开发服务器,通过 http://localhost:4321 访问。
pnpm build构建您的网站,生成的文件位于 ./dist/ 目录。
pnpm preview在本地预览构建好的网站。
pnpm check运行 Astro 错误检查
pnpm format使用 Biome 格式化代码
pnpm lint检查并修复代码问题
pnpm new-post <文件名>快速创建一篇新文章。
pnpm astro ...执行其他 Astro 命令,如 astro check

附录:高级用法参考#

为了保持本篇教程的简洁性,所有高级 Markdown 用法、代码块增强功能等内容都已迁移至一篇独立的速查表。

推荐阅读

如果您希望撰写出格式更精美的文章,请参阅: Fuwari 主题 Markdown 速查表与高级用法

赞助支持

如果这篇文章对你有帮助,欢迎赞助支持!

赞助
使用 Fuwari 搭建个人博客并集成 Twikoo 评论系统
https://blog.cmtyx.top/posts/fuwari-twikoo-guide/
作者
璨梦踏月
发布于
2025-07-06
许可协议
CC BY-NC-SA 4.0
最后更新于 2025-08-04,距今已过 104 天

部分内容可能已过时

评论区

目录