零基础用 Hexo + Matery 搭建博客|Github Pages 免费部署教程

一、Hexo

Hexo 是一个快速、简洁且高效的博客框架。 Hexo 使用 Markdown(或其他标记语言)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。

1.1 依赖

  • Node.js
    根据下载指南下载安装适合当前系统的 Node.js 和 npm(Node.js 包管理器)。
    安装完成后,打开终端,输入以下命令,检查是否安装成功:

    # 需要大于10.13,建议使用 Node.js 12.0 及以上版本
    node -v
    npm -v
    

    如果显示版本号,则说明安装成功。

  • Git
    根据下载指南下载安装适合当前系统的 Git。
    安装完成后,打开终端,输入以下命令,检查是否安装成功:

    git --version
    

    如果显示版本号,则说明安装成功。

1.2 快速使用

# 安装
npm install -g hexo-cli
# 初始化,<folder>输入博客名称,后续hexo会在<folder>中新建所需要的文件
hexo init <folder> && cd <folder>
npm install
# 生成静态文件
hexo generate
# 启动服务器
hexo server

现在,打开浏览器,访问 http://localhost:4000,即可看到博客本地已经搭建成功。

1.3 目录说明

初始化完成后,hexo 会在当前目录下生成一个名为 <folder> 的文件夹,该文件夹包含以下内容:

  • _config.yml:网站的配置文件,用于配置博客的标题、描述、作者等信息。
  • package.json:应用程序的信息。
  • scaffolds:存放博客文章的模板文件夹,用于生成博客文章的框架。
  • source:资源文件夹,是存放用户资源的地方。除 _posts 文件夹之外,开头命名为 (下划线)的文件 / 文件夹隐藏的文件 将会被忽略。MarkdownHTML 文件会被解析并放到 public 文件夹,而其他文件会被拷贝过去。新创建的帖子被保存到 source/_post 文件夹。
  • themes主题文件夹,用于存放博客的主题。

1.4 命令说明

详细说明请参考指令

1.4.1 常规命令
命令语法描述选项
inithexo init [folder]新建一个网站。如果没有设置folder,Hexo默认在目前的文件夹建立网站。
newhexo new [layout] <title>新建一篇文章。如果没有设置layout,默认使用_config.yml中的default_layout参数代替。使用布局 draft 来创建草稿。如果标题包含空格的话,请使用引号括起来。-p, --path: 自定义文章路径
-r, --replace: 替换当前文章
-s, --slug: 自定义文章URL
generatehexo generate生成静态文件。-d, --deploy: 生成完成后部署
-w, --watch: 监视文件变动
-b, --bail: 异常时抛出错误
-f, --force: 强制重新生成
-c, --concurrency: 设置同时生成文件的最大数量
publishhexo publish [layout] <filename>发表草稿。
serverhexo server启动服务器,默认访问http://localhost:4000/-p, --port: 重设端口
-s, --static: 只使用静态文件
-l, --log: 启用日志
deployhexo deploy部署网站。-g, --generate: 部署前生成
renderhexo render <file1> [file2] ...渲染文件。-o, --output: 输出目标地址
migratehexo migrate <type>从其他博客系统迁移内容。
cleanhexo clean清除缓存文件(db.json)和已生成的静态文件(public)。
listhexo list <type>列出所有路由。
versionhexo version显示版本信息。
confighexo config [key] [value]列出或修改网站配置(_config.yml)。
1.4.2 全局选项
选项描述
--safe安全模式:不加载插件和脚本
--debug调试模式:显示调试信息并记录到debug.log
--silent简洁模式:静默输出
--config自定义配置文件的路径(可接受逗号分隔的列表)
--draft显示source/_drafts文件夹中的草稿文章
--cwd自定义当前工作目录的路径

二、主题安装

2.1 安装 Matery 主题

2.1.1 下载
# 进入博客目录
cd <folder>
# 安装主题
git clone https://github.com/blinkfox/hexo-theme-matery.git themes/matery
2.1.2 配置
2.1.2.1 基础配置

修改 Hexo 根目录下的_config.yml 文件

# 修改主题为 matery
theme: matery
# 修改url为你自己的url(没有的话先不修改)
url: http://your-url.com
# matery建议分页条数值为 6 的倍数,如:12、18 等
per_page: 6
# 修改语言为中文
language: zh-CN
2.1.2.2 新建页面类型
页面类型命令生成文件关键配置项关联文件
分类页hexo new page "categories"source/categories/index.md需设置 type: "categories"
标签页hexo new page "tags"source/tags/index.md需设置 type: "tags"
关于页hexo new page "about"source/about/index.md需设置 type: "about"
留言板hexo new page "contact"source/contact/index.md需设置 type: "contact"需配置第三方评论系统
友情链接hexo new page "friends"source/friends/index.md需设置 type: "friends"source/_data/friends.json
404页面手动创建source/404.md需设置 type: "404"
  1. 基础页面配置(分类/标签/关于/留言板/404)
    文件路径:source/[page_type]/index.md

    ---
    title: 页面标题
    date: 2023-01-01 00:00:00
    type: "[page_type]"  # categories/tags/about/contact
    layout: "[page_type]"
    ---
    
  2. 友情链接数据文件
    文件路径:source/_data/friends.json

    [
      {
        "avatar": "http://example.com/avatar.jpg",
        "name": "好友名称",
        "introduction": "好友简介",
        "url": "http://example.com/",
        "title": "前去学习"
      }
    ]
    
  3. 404页面特殊配置
    文件路径:source/404.md

    ---
    title: 404
    date: 2018-09-30 17:25:30
    type: "404"
    layout: "404"
    description: "Oops~,我崩溃了!找不到你想要的页面 :("
    ---
    
2.1.2.3 其他配置

其他配置可参考Matery主题配置详细说明

2.2 其他主题推荐

主题名称Github 链接演示链接说明链接
Fluidhttps://github.com/fluid-dev/hexo-theme-fluidhttps://hexo.fluid-dev.com/https://github.com/fluid-dev/hexo-theme-fluid/blob/master/README.md
Butterflyhttps://github.com/jerryc127/hexo-theme-butterflyhttps://butterfly.js.org/https://github.com/jerryc127/hexo-theme-butterfly/blob/dev/README_CN.md
Materyhttps://github.com/blinkfox/hexo-theme-materyhttps://blinkfox.github.io/https://github.com/blinkfox/hexo-theme-matery/blob/develop/README_CN.md
NexThttps://github.com/theme-next/hexo-theme-nexthttps://theme-next.js.org/https://github.com/theme-next/hexo-theme-next/blob/master/README.md
Hackerhttps://github.com/CodeDaraW/Hackerhttp://blog.daraw.cn/https://github.com/CodeDaraW/Hacker/blob/master/README_zh-CN.md

更多主题请查看 Hexo官网

三、部署

3.1 部署到 Github Pages

  1. Github 上创建一个 Public 类型仓库,仓库名 <repo-name> 不重复即可。

  2. 在博客项目根目录下创建个文件,保证仓库已有分支,假设为 main 分支。

  3. 在博客项目 settings -> Pages 中,将 Branch 设置为 main 分支,点击 Save 保存。(首次部署需要等待一段时间)

  4. 等待部署完成后,复制 Github Pages 提供的链接,形如 https://<github-name>.github.io/<repo-name>,后续通过该链接在浏览器中打开即可访问博客。

  5. 在博客项目根目录下安装 hexo-deployer-git 插件:

    npm install hexo-deployer-git --save
    
  6. 修改博客配置文件 _config.yml,添加以下内容:

    deploy:
      type: git
      repo: git@github.com:<github-name>/<repo-name>.git
      branch: main
    url: https://<github-name>.github.io/<repo-name>
    
  7. 执行以下命令,将博客部署到 Github Pages:

    hexo clean && hexo g -d
    

部署完成后,即可通过 https://<github-name>.github.io/<repo-name> 访问博客。
matery

四、总结

  1. 本地搭建博客,需要安装 Node.js 和 Hexo。
  2. 主题推荐使用 Matery,配置简单,功能强大。
  3. 部署到 Github Pages,需要创建一个 Public 类型的仓库,并配置 hexo-deployer-git 插件。
  4. 后续美化博客,可以参考主题的官方文档,进行个性化配置。然后通过 hexo clean && hexo g -d 命令,将博客部署到 Github Pages。
  5. 如需部署到自己的服务器,需要自己配置域名解析,并上传博客文件到服务器。
### 如何在 GitHub 上使用 Hexo Matery 主题配置和部署博客 #### 安装必要的软件环境 为了顺利运行 Hexo 并将其与 GitHub 结合,需准备好 Git 和 Node.js 环境。对于文件编辑,则可以选择任意一款合适的编辑工具来完成配置工作[^5]。 #### 创建并初始化 Hexo 博客站点 通过命令行创建一个新的 Hexo 站点,并进入该目录下执行初始化操作: ```bash hexo init myblog cd myblog npm install ``` #### 添加 Matery 主题至 Hexo 博客 前往 [Matery 主题的 GitHub 页面](https://github.com/blinkfox/hexo-theme-matery),下载最新版本的主题压缩包后解压到本地 `themes` 文件夹内;或者直接利用 Git 克隆仓库: ```bash git clone https://github.com/blinkfox/hexo-theme-matery.git themes/matery ``` 随后,在根目录下的 `_config.yml` 中指定使用的主题名称为 matery: ```yaml theme: matery ``` #### 设置代码高亮插件 考虑到默认的代码高亮样式可能不够美观,建议安装 prism 插件以增强视觉效果: ```bash npm i -S hexo-prism-plugin ``` 接着按照官方文档说明调整相应设置项[^2]。 #### 配置 GitHub Pages 发布服务 为了让生成的内容能够托管于 GitHub Pages 上展示给访问者浏览,先要确保已成功注册了一个属于自己的 GitHub 账号以及建立了对应的远程仓库用于存储静态网页资源。之后依照以下步骤进行具体参数设定: - 编辑位于项目顶层路径中的 `_config.yml` 文件,找到 deploy 字段并补充完整如下所示的信息片段(记得替换掉其中占位符部分)[^1]: ```yaml deploy: type: git repo: github: git@github.com:<用户名>/<仓库名>.git branch: main # 或者 master 取决于目标分支实际叫法 ``` - 接着添加 hexo-deployer-git 插件支持以便后续可以一键推送更新后的 HTML 至远端服务器保存起来待发布之用: ```bash npm install hexo-deployer-git --save ``` 最后每次想要同步最新的更改记录时只需简单输入两条指令即可实现自动化流程处理: ```bash hexo clean && hexo g -d ``` 这会清除缓存、重新编译全部文章再提交改动推送到关联好的在线平台上去。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CodeSilence

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值