三条常用コマンド:
hexo cleanhexo generatehexo deploy
Github + Hexo 实现個人ブログ及主题設定(超详细)#
前言#
现在市面上的ブログ很多,如 CSDN,ブログ园,简书等平台,できます直接在上面发表,用户交互做得好,写的文章百度也能搜索到。缺点是比较不自由,会受到平台的各种限制和恶心的广告。
而自己购买域名和サーバー,構築ブログ的成本实在是太高了,不光是说这些购买成本,单单是花力气去自己搭这么一个网站,还要定期的维护它,对于我们大多数人来说,实在是没有这样的精力和时间。
那么就有第三种选择,直接在 GitHub Pages 平台上托管我们的ブログ。这样就できます安心的来写作,又不必要定期维护,而且 Hexo 作为一个快速简洁的ブログ框架,用它来構築ブログ真的非常容易。
Hexo 简介#
Hexo 是一个快速、简洁且高效的ブログ框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。
大家できます进入 Hexo 官网进行详细確認,なぜなら Hexo 的作成者是台湾人,对中文的支持很友好,できます选择中文进行確認。
Hexo 是基于 Node.js 的静态ブログ框架,依赖少易于インストール使用,できます方便地生成静态网页托管在 GitHub 和 Coding 上,是構築ブログ的首选框架。
Hexo 構築チュートリアル#
本次チュートリアル主要分为 8 个部分,看完便可構築自己喜欢的個人ブログ。
- インストール Git
- インストール Node.js
- インストール Hexo
- GitHub 作成个人リポジトリ
- 将 Hexo 部署到 GitHub
- 设置个人域名
- 更改主题(以 Fluid 为例)
- 发布文章
1. インストール Git#
- Windows: 到 Git 官网 下载并インストール即可,下载后会有一个 Git Bash 的コマンド行ツール,以后就用このツール来使用 Git。
- Mac: 可通过 MacPorts 或インストール程序インストール。
- Linux (Ubuntu, Debian):
sudo apt-get install git-core - Linux (Fedora, Red Hat, CentOS):
sudo yum install git-core
2. インストール Node.js#
Hexo 是基于 Node.js 编写的,そのため必要インストール Node.js 和 npm ツール。
- Windows: 官方インストール,选择 LTS 版本即可。
- Linux:インストール完成后,打开コマンド行,输入以下两行检查インストール是否成功:
sudo apt-get install nodejs sudo apt-get install npmnode -v npm -v
3. インストール Hexo#
インストール好 Git 之后,选择你想要インストール Hexo 的地方(たとえば新建ファイル夹)。进入ファイル夹后,我们できます右击选择 “Git Bash Here” 来打开コマンド行窗口,输入:
$ npm install -g hexo-cli输入 hexo -v 確認一下版本,至此环境准备完成,开始使用 Hexo 構築個人ブログ。
4. 初始化 Hexo#
在你选择的ファイル夹中,输入以下指令:
$ hexo init 文件夹名
$ cd 文件夹名
$ npm install这会生成许多ファイル夹,不用担心,了解設定即可。
node_modules: 依赖包public: 存放生成的页面scaffolds: 生成文章的一些模板source: 存放你的文章themes: 主题_config.yml: ブログ的設定ファイル
接着,输入以下指令进行ローカル启动確認:
$ hexo clean
$ hexo g
$ hexo s在浏览器中输入 localhost:4000 就できます看到生成的ブログ页面了。使用 ctrl + c できます关闭服务。
5. 作成 GitHub リポジトリ#
まず,你必要有一个 GitHub 账户。もし还没有,请去注册一个。
注册完后,登录 GitHub,在 GitHub. com 中点击 “New repository” 作成一个新的リポジトリ。作成一个与用户名相同的リポジトリ,后面加 .github.io。たとえば,もし你的 GitHub 用户名是 zjc2782171149,则リポジトリ名称应为 zjc2782171149.github.io。
6. 生成 SSH 密钥并追加到 GitHub リポジトリ#
もし之前已绑定 GitHub リポジトリ的 SSH 密钥,可跳过此手順。在 Git Bash 中输入:
git config --global user.name "yourname"
git config --global user.email "youremail"替换 yourname 和 youremail 为你的 GitHub 用户名和邮箱。检查設定:
git config user.name
git config user.email生成 SSH 密钥:
ssh-keygen -t rsa -C "youremail"在 GitHub 的设置中找到 SSH keys 选项,点击 “New SSH key” 并将 id_rsa.pub 的内容复制进去。
7. 将 Hexo 部署到 GitHub#
打开 Hexo 的站点設定ファイル _config.yml,変更以下内容:
deploy:
type: git
repo: [email protected]:zjc2782171149/zjc2782171149.github.io.git
branch: masterインストール hexo-deployer-git 插件:
npm install hexo-deployer-git --save进行部署:
hexo clean
hexo generate
hexo deploy访问 http://你的用户名.github.io 確認部署结果。
8. 个人域名設定#
购买并注册一个域名,たとえば通过阿里云。設定域名解析,将域名解析到 你的用户名.github.io 上。在 GitHub リポジトリ的 “Settings” 中,设置 Custom domain,输入你的域名。
在 source ファイル夹中作成一个名为 CNAME 的ファイル,ファイル内容为你的域名。たとえば:
blog.zhangjiancong.top更改默认分支为 master,并重新部署:
hexo clean
hexo g
hexo d更改主题#
以 Fluid 主题为例:
- 下载 Fluid 主题的压缩包,将其解压到
themesファイル夹下,并更名为fluid。 - 変更
_config.ymlファイル,将theme属性更改为fluid,并将language属性変更为zh-CN。 - 输入以下指令重新部署:
hexo clean hexo g hexo d
发布文章#
发布新文章:
hexo new newpapername编辑 source/_posts 中的 Markdown ファイル,完成后进行重新部署:
hexo clean
hexo g
hexo d每次更新文章或設定ファイル时都必要重新部署。
如有小伙伴觉得每次重新部署都麻烦,できます研究 GitHub Pages 的自动部署功能。
hexo 网站的完善#
在 Hexo 网站上,标签页面和分类页面是两种不同的内容组织方式,但它们都できます帮助你对文章进行分类和组织。让我们先看看如何分别实现 标签页面 和 分类页面,以及如何使用 tags 和 categories 来实现文章的标签和分类。
1. 标签页面(Tags Page)#
标签页面展示所有文章的标签及其对应的文章。它通常和文章的 tags 属性相结合,让读者できます通过点击某个标签来浏览该标签下的所有文章。
如何实现标签页面#
- 作成标签页面:
在 source ディレクトリ下作成一个 tags ファイル夹,并在其中作成一个 index.md ファイル。
mkdir -p source/tags
touch source/tags/index.md- 编辑
index.md:
在 index.md ファイル中,追加以下内容来指定它是一个标签页面:
---
title: Tags
date: 2024-09-06 00:00:00
type: "tags"
---这里 type: "tags" 告诉 Hexo 这是一个标签页面,Hexo 会自动生成所有标签的列表。
- 使用文章中的 Tags:
在你的文章(.md ファイル)中使用 tags 字段来为文章指定标签。たとえば:
---
title: 我的文章
date: 2024-09-06
tags:
- 技术
- Hexo
---在この例子中,文章被打上了 技术 和 Hexo 两个标签。生成网站后,在标签页面 (/tags/) 中,点击这些标签会列出相关的文章。
2. 分类页面(Categories Page)#
分类页面展示所有文章的分类及其对应的文章。与 tags 不同,分类是更高层次的组织方式,通常用于将文章分组为不同的主题或类型。
如何实现分类页面#
- 作成分类页面:
和作成标签页面类似,在 source ディレクトリ下作成一个 categories ファイル夹,并在其中作成一个 index.md ファイル。
mkdir -p source/categories
touch source/categories/index.md- 编辑
index.md:
在 index.md ファイル中,追加以下内容来指定它是一个分类页面:
---
title: Categories
date: 2024-09-06 00:00:00
type: "categories"
---这里 type: "categories" 告诉 Hexo 这是一个分类页面,Hexo 会自动生成所有分类的列表。
- 使用文章中的 Categories:
在你的文章(.md ファイル)中使用 categories 字段来为文章指定分类。たとえば:
---
title: 我的文章
date: 2024-09-06
categories:
- 编程
- 前端开发
---在この例子中,文章被归类为 编程 和 前端开发。生成网站后,在分类页面 (/categories/) 中,点击这些分类会列出相关的文章。
3. 标签(Tags)和分类(Categories)的区别与组合使用#
标签 (Tags):标签通常用于给文章追加多个关键字,便于读者快速找到具有相似标签的文章。文章できます有多个标签,没有层级结构,通常适合更细粒度的内容分类。
分类 (Categories):分类则是将文章组织成更大的类别,具有层级结构。たとえば,一个分类できます有子分类。每篇文章通常只有一个主分类,适合更广泛的内容分组。
例文章使用标签和分类#
---
title: 我的博客文章
date: 2024-09-06
tags:
- Hexo
- 博客搭建
categories:
- 技术
- Web开发
---- Tags (标签):文章有两个标签
Hexo和ブログ構築,点击这些标签できます找到所有有这些标签的文章。 - Categories (分类):文章被归类为
技术->Web开发,读者できます通过分类页面找到属于该分类的所有文章。
4. 关于我(about)页面#
在 Hexo 中,你できます通过作成“关于页面”(About Page)来展示个人信息,比如 GitHub 链接、ブログ、QQ 等。できます通过作成一个单独的 Markdown ファイル,并在其中定义这些信息。接下来,我会详细紹介如何设置“关于页面”以及如何在其中展示和跳转到你的个人信息。
1. 作成“关于页面”#
まず,你必要在 Hexo 的 source ディレクトリ下作成一个新的ファイル夹,并在其中追加一个 index.md ファイル:
mkdir -p source/about
touch source/about/index.md2. 编辑 index.md ファイル#
在 index.md ファイル中,你できます使用 Markdown 来书写内容并追加个人信息。Hexo 会将このファイル渲染成 HTML 页面。你できます使用 HTML 或 Markdown 链接来跳转到 GitHub、ブログ等。
以下是一个“关于页面”的例:
---
title: 关于我
date: 2024-09-06
type: "about"
---
# 关于我
你好,我是 [你的名字],这是一段关于我的介绍。
## 联系方式
- **GitHub**: [我的 GitHub](https://github.com/yourusername)
- **博客**: [我的博客](https://yourblog.com)
- **QQ**: 123456789
欢迎通过以上方式联系我!3. 显示个人信息并追加链接#
你できます用 Markdown 格式轻松展示个人信息并追加超链接,比如:
4. 在导航栏中追加“关于”页面#
为了让用户できます轻松访问“关于页面”,你できます在 Hexo 的主题設定ファイル(通常是 themes/your-theme/_config.yml)中,将“关于”页面的链接追加到导航栏中。
找到 menu 設定项,并追加 about 页面:
menu:
Home: /
Archives: /archives
About: /about这样,导航栏中就会出现“关于”链接,点击后会跳转到 /about 页面。
5. 自定义样式#
もし你想要让“关于页面”更加个性化,できます在主题的 CSS ファイル中追加自定义样式。たとえば,できます为页面的个人信息部分定义一些自定义的样式,以美化显示效果。
在 themes/your-theme/source/css/ 中的样式ファイル(たとえば style.css 或 custom.css)中,追加以下内容:
.about-info {
font-size: 18px;
color: #333;
}
.about-info a {
color: #007bff;
text-decoration: none;
}
.about-info a:hover {
text-decoration: underline;
}その後,在 index.md ファイル中将内容包裹在一个 div 里:
<div class="about-info">
## 联系方式
- **GitHub**: [我的 GitHub](https://github.com/yourusername)
- **博客**: [我的博客](https://yourblog.com)
- **QQ**: 123456789
</div>这样,你就できます通过 CSS 自定义“关于页面”的样式。

