hexo博客搭建

Hexo是一个快速、简洁且高效的博客框架,支持Markdown格式的文章编写。本指南将介绍如何使用不同的包管理器(pnpm和npm/cnpm)搭建Hexo博客,并部署到GitHub Pages。

2024年使用pnpm搭建博客

pnpm相比于npm性能更好,且依赖管理更加高效,推荐使用此方式进行博客搭建。

环境准备

  1. 安装Node.js和pnpm

    1
    sudo pacman -S nodejs pnpm
  2. 检查安装版本

    1
    2
    node -v
    pnpm -v
  3. 设置国内镜像源加速

    1
    pnpm config set registry https://registry.npmmirror.com/

Hexo安装与初始化

  1. 全局安装Hexo命令行工具

    1
    pnpm install -g hexo-cli
  2. 检查Hexo安装

    1
    hexo -v
  3. 创建并初始化博客目录

    1
    2
    3
    mkdir blog
    cd blog
    hexo init # 如果卡住,可能需要翻墙或更换源

博客基本操作

  1. 本地启动博客预览

    1
    hexo s    # 本地默认地址:http://localhost:4000
  2. 创建新博客文章

    1
    hexo n "你的博客标题"    # 在source/_posts/目录下生成md文件
  3. 清理与生成静态文件

    1
    2
    hexo clean    # 清理缓存和已生成的静态文件
    hexo g # 生成静态文件

部署到GitHub Pages

  1. 安装Git部署插件

    1
    pnpm install --save hexo-deployer-git
  2. 配置部署信息
    编辑_config.yml文件,找到deployment部分并修改:

    1
    2
    3
    4
    deploy:
    type: git
    repo: git@github.com:yourname/yourname.github.io.git
    branch: master
  3. 配置SSH密钥

    1
    ssh-keygen -t rsa    # 生成SSH密钥

    将~/.ssh/id_rsa.pub中的内容添加到GitHub账户的SSH keys中

    1
    ssh -T git@github.com    # 检查SSH连接是否成功
  4. 部署到GitHub

    1
    hexo d    # 部署到GitHub Pages

主题设置

  1. 安装Next主题

    1
    git clone https://github.com/next-theme/hexo-theme-next themes/next
  2. 启用主题

    1
    2
    # 编辑博客根目录下的_config.yml文件,修改theme字段:
    theme: next

2022年使用cnpm搭建博客

如果您更习惯使用npm/cnpm,也可以参考以下步骤进行博客搭建。

环境准备

  1. 安装Node.js和npm

    1
    sudo pacman -S nodejs npm
  2. 检查安装版本

    1
    2
    node -v
    npm -v
  3. 安装cnpm(国内源加速)

    1
    sudo npm install -g cnpm --registry=https://registry.npm.taobao.org
  4. 检查cnpm安装

    1
    cnpm -v

Hexo安装与初始化

  1. 全局安装Hexo命令行工具

    1
    sudo cnpm install -g hexo-cli
  2. 检查Hexo安装

    1
    hexo -v
  3. 创建并初始化博客目录

    1
    2
    3
    mkdir blog
    cd blog
    sudo hexo init # 如果卡住,可能需要翻墙或更换源

常见问题与解决方案

  1. 初始化卡住:可能是网络问题,尝试使用代理或更换国内镜像源。

  2. 部署失败:检查GitHub仓库名称是否正确,SSH密钥是否配置成功。

  3. 主题不生效:确保_config.yml中的theme字段设置正确,并且主题文件夹存在。

参考资料