第八部分:内容创作与长期维护

第八部分:内容创作与长期维护

拥有一个上线并能自动部署的博客后,持续的内容创作和日常维护就成为了新的重点。本部分将指导我们如何高效地创作文章、管理博客源文件,以及如何进行主题和插件的更新与日常维护。

1. 内容创作流程

在 Hexo 中,文章是博客的核心。我们使用 Markdown 格式撰写文章,并通过 Front-matter 配置文章的元信息。

  1. 创建新文章:在 Hexo 项目根目录下打开命令行,使用 hexo new post <文章标题> 命令创建新文章。

    1
    2
    # 创建一篇名为 "我的第一篇文章" 的新文章
    hexo new post "我的第一篇文章"

    执行此命令后,Hexo 会在 source/_posts/ 目录下创建一个 <文章标题>.md 文件(例如 source/_posts/我的第一篇文章.md),并自动生成基础的 Front-matter。

    Hexo new post 命令生成的 Markdown 文件截图
    图:使用 hexo new post 命令生成的新文章 Markdown 文件截图,顶部是自动生成的 Front-matter。

  2. 撰写文章并配置 Front-matter:打开生成的 Markdown 文件,你会看到顶部由 --- 包围的部分,这就是文章的 Front-matter。在这里,我们可以配置文章的各种属性。

    一个标准的文章 Front-matter 示例(基于 Butterfly 主题常用字段):

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    ---
    title: 我的Hexo博客搭建与美化之路 # 文章标题,必填。会用作页面 <title> 和 H1 标题
    date: 2023-10-28 10:00:00 # 文章发布日期和时间,格式为 YYYY-MM-DD HH:mm:ss
    tags: # 文章标签列表,可选。使用列表形式,每个标签前加短横线 -
    - Hexo
    - Butterfly
    - 建站教程
    categories: # 文章分类列表,可选。使用列表形式,可以包含层级
    - 博客搭建
    - 主题配置
    description: 这篇文章记录了我从零开始搭建 Hexo 博客,并使用 Butterfly 主题进行美化的完整过程和遇到的问题。 # 文章摘要或描述,可选。会显示在首页文章列表下方,对 SEO 有益
    cover: /img/post-covers/setup-guide.jpg # 文章封面图路径,可选。会显示在文章列表和文章顶部的头图位置
    sticky: 10 # 文章置顶权重,可选。数字越大越靠前,0 或不填则不置顶
    password: your_secret_password # 文章加密,可选。设置后访问文章需要输入密码
    # auto_excerpt: ## 自动摘要配置,可选,通常在 _config.yml 中全局配置或禁用
    # img: /img/article-images/image1.jpg # 文章内的图片,如果在 Front-matter 定义,主题可能会有特殊处理,具体看主题文档
    # ... 其他主题或插件支持的 Front-matter 字段
    ---

    # 文章正文开始

    欢迎阅读我的 Hexo 博客搭建指南!

    ## 环境准备

    首先,我们需要安装 Node.js Git...
    ... (使用 Markdown 语法撰写文章内容,包括标题、段落、列表、链接、图片、代码块等)
    • title: 文章的标题,非常重要,会直接影响页面标题 <title> 和文章页的 H1 标题。
    • date: 文章的发布日期和时间,决定了文章在归档中的位置和排序。
    • tags: 为文章添加标签,有助于内容的组织和读者查找。可以为一个文章添加多个标签。
    • categories: 为文章添加分类,可以包含层级关系,比如 技术/前端
    • description: 文章的简短描述或摘要,会显示在首页文章列表下方,用于吸引读者点击,也对 SEO 有益。
    • cover: 指定文章的封面图片路径,Butterfly 主题会将其作为文章列表项的配图和文章顶部的头图。
    • sticky: 用于设置文章置顶,数字越大排名越靠前。
    • password: 为文章设置访问密码。

    完成 Front-matter 配置和正文 Markdown 撰写后,保存文件即可。你可以运行 hexo server 在本地预览效果。

  3. 使用 Git 进行版本控制和备份:将整个 Hexo 项目(除了 publicnode_modules 目录)使用 Git 进行版本控制并推送到远程仓库(如 GitHub, Gitee, GitLab 等)是极其重要的备份和协作手段。Hexo 项目源文件(包括 source 目录下的文章、页面、资源文件,以及根目录下的 _config.yml 和主题配置文件 _config.butterfly.yml 等)是你的博客的“DNA”,丢失了这些文件,你就丢失了博客的一切。

    我们的 Git 仓库应该包含以下关键文件和目录:

    • .gitignore (确保忽略 publicnode_modules)
    • _config.yml (Hexo 全局配置文件)
    • _config.butterfly.yml (Butterfly 主题配置文件)
    • package.json, package-lock.jsonyarn.lock (项目依赖信息)
    • scaffolds/ (文章模板)
    • source/ (文章、页面、图片等源文件)
    • themes/butterfly/ (主题文件,如果不是 submodule 安装) 或 themes/ 下的主题目录

    备份流程示意(文本描述,无图):

    1
    2
    3
    4
    5
    6
    7
    8
    9
    本地 Hexo 项目 (包含源文件)

    Git Add (暂存更改)

    Git Commit (提交版本,记录更改)

    Git Push (推送到远程 Git 仓库,如 GitHub)

    远程 Git 仓库 (安全的备份)

    每次在本地修改了文章、配置或主题后,都应该执行 git add ., git commit -m "描述本次更改"git push 命令,将最新的源文件同步到远程仓库。这样即使本地电脑出现问题,也能从远程仓库恢复整个博客项目。

2. 主题与插件更新

Hexo 和 Butterfly 主题以及各种插件都在不断更新,以修复 bug、增加新功能或改进性能。定期更新是保持博客活力和安全的重要步骤。

  1. 检查更新:在 Hexo 项目根目录,打开命令行执行 npm outdated 命令。它会列出所有已安装的依赖(包括 Hexo、主题、插件等)中,有新版本可用的项。

    1
    2
    # 检查所有过期的依赖
    npm outdated
  2. 执行更新:根据 npm outdated 的输出,我们可以选择性地更新。

    • 更新单个依赖:npm update <package-name>
    • 更新所有依赖:npm update (不推荐,可能会引入兼容性问题)

    更安全的做法是先更新 Hexo CLI (npm update -g hexo-cli),然后进入项目目录,更新核心依赖:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    # 更新 Hexo 核心
    npm update hexo --save

    # 更新 Butterfly 主题
    npm update hexo-theme-butterfly --save # 如果使用 npm 安装的主题
    # 如果使用 Git Clone 安装的主题,进入 themes/butterfly 目录执行 git pull
    # cd themes/butterfly
    # git pull origin master # 或 main,取决于主题仓库的主分支名
    # cd ../.. # 返回项目根目录

    # 更新其他插件 (例如 sitemap 生成器)
    npm update hexo-generator-sitemap --save
    npm update hexo-generator-baidu-sitemap --save
    # ... 更新其他你使用的插件

    重要提示:主题配置文件的管理

    第二部分我们就强调过,为了防止主题更新时覆盖你的个性化配置,我们推荐的做法是将 themes/butterfly/_config.butterfly.yml 文件复制到 Hexo 项目的根目录,并重命名_config.butterfly.yml。以后所有的主题配置修改都在根目录的 _config.butterfly.yml 文件中进行

    当你更新 Butterfly 主题(无论是通过 npm update 还是 git pull)时,主题目录 themes/butterfly 下的原始 _config.butterfly.yml 文件会被更新到最新版本。但由于你的实际配置是在根目录的副本中,主题的更新不会影响你的配置。如果在主题的新版本中引入了新的配置项,你需要手动将这些新配置项从 themes/butterfly/_config.butterfly.yml 复制到你根目录的 _config.butterfly.yml 中,并根据需要进行配置。

    始终在根目录修改主题配置文件,这是保证主题更新顺畅的关键最佳实践。

3. 日常维护 Checklist

维护一个健康的博客是一个持续的过程。除了内容创作和定期更新,还有一些日常维护工作可以帮助我们确保博客的稳定运行和良好的用户体验。

以下是一个日常维护的 Checklist 表格:

维护项频率建议检查内容 / 操作步骤工具 / 方法备注
检查网站状态每日/每周网站是否正常访问?页面加载速度如何?是否有 404 错误?各功能(搜索、评论、导航)是否正常?手动访问,浏览器开发者工具,在线网站状态检测工具特别是部署或更新后进行检查
处理评论每日回复读者评论,删除垃圾评论。保持互动。评论系统后台(如 Valine admin, Twikoo admin)及时回复能增强读者参与感
撰写新文章/更新旧文章按计划持续输出高质量内容。定期回顾并更新现有文章,修正错误,补充新信息。Markdown 编辑器,Git 工作流内容是博客的核心
检查死链每月/每季检查站内和站外的链接,确保没有失效的链接。在线死链检测工具,Hexo 插件 (如 hexo-broken-links)死链影响用户体验和 SEO
检查依赖更新每月/每季检查 Hexo, 主题, 插件是否有新版本。npm outdated 命令及时更新可获取新功能和修复 bug
执行依赖更新根据检查结果选择性地更新 Hexo, 主题, 插件。npm update <package>git pull更新前最好备份,注意兼容性问题
备份博客源文件每周/重大更改后将整个 Hexo 项目目录(排除 public, node_modules)推送到远程 Git 仓库。也可使用其他备份工具。Git (Commit & Push),或手动复制到云盘/外部存储最重要的维护项,防止数据丢失
监测网站流量与 SEO 表现每周/每月查看网站访问量、来源渠道、热门文章等。监测在搜索引擎中的排名、收录情况、搜索词。Google Analytics, Google Search Console, 百度搜索资源平台了解博客受欢迎程度和优化效果
优化网站性能每月/每季根据 Lighthouse 等工具的报告,进行图片压缩、资源合并、缓存配置等优化。Lighthouse, 在线工具,Hexo 插件持续优化可提升用户体验和 SEO 排名
检查安全性每季如果使用了有后端的评论系统或其他服务,注意其安全性。保持依赖更新,减少已知漏洞。N/A静态博客本身安全性较高,主要关注附加服务和依赖
清理缓存与生成的静态文件遇到异常时当修改配置或文件后网站表现异常时,尝试清理。hexo clean 命令能解决很多因缓存导致的奇怪问题

通过遵循这个 Checklist,我们可以系统地管理我们的 Hexo 博客,确保它不仅内容丰富,而且技术上保持健康、安全和高性能。持续的维护投入将为博客的长期成功奠定坚实基础。