一、前期准备

1.1. 环境安装

下载必须环境

NodeJS:下载 | Node.js 中文网 (nodejs.cn)

Git:Git - Downloads (git-scm.com)

测试是否安装成功

node -v
npm -v
git --version

安装cnpm以使用国内景象

npm install -g cnpm --registry=https://registry.npm.taobao.org

安装hexo

cnpm install hexo-cli -g
hexo -v

1.2. 建立Github仓库

注册GitHub账号(略)

建立GitHub仓库

这里注意,要将Repository name设置为 用户名.github.io,建立一个README.md。

1.3. 生成并绑定ssh key

  1. 打开命令行,定位到某文件夹下,输入ssh查看ssh是否已经正常安装。

    ssh-keygen -t rsa -C "注册GitHub时使用的邮件地址"
    # 例如:
    ssh-keygen -t rsa -C "abc@example.com"
    # 输入命令后,根据提示按四次回车
    
  2. 生成完毕后,进入.ssh文件夹。Linux/mac用户在~/.ssh/,Windows用户一般在C:\Users\用户名\.ssh,找到里面的id_rsaid_rsa.pub

  3. 打开GitHub的settings页面,在左边找到SSH and GPG keys,点击绿色的New SSH key按钮。Title随便写都行,并将刚才的id_rsa.pub中的内容复制到Key栏,点击Add SSH key

  4. 测试SSH是否绑定成功:

    ssh -T git@github.com	# 此命令无需任何修改,直接复制执行即可。
    # 根据提示输入“yes”,最后提示“success”则绑定成功。
    

二、本地生成博客

  1. 选择一个空文件夹,进入命令行。

    hexo init	# 由于是从GitHub上拉取,可能会遇到网络问题,多试几次
    hexo s		# 生成本地静态页面,并打开本地服务器
    
  2. 找到刚才文件夹下的_config.yml,用Notepad++打开。在文件的最底部添加下列内容(将用户名添加上):

    deploy: 
    	type: git
    	repository: https://github.com/用户名/用户名.github.io.git
    	branch: main
    

    其中的repository项可在对应仓库中找到自己的.git文件。

  3. 安装部署工具。在博客文件夹下打开命令行,输入

    cnpm install hexo-deployer-git --save
    

三、部署博客

  1. 在博客文件夹下打开命令行,输入

    hexo g		# 生成
    hexo d		# 上传
    # 连接可能不稳定,多试几次
    
  2. 在弹出的窗口中输入GitHub用户名,密码别着急输入,看下一步(别输错,否则得重来);

  3. 打开浏览器,进入[Personal Access Tokens (github.com)](https://github.com/settings/tokens),点击Generate new token,随便取个名字。

    • 有效期限30 days;
    • 下面的Select scopes全选上;
    • 由于令牌只在第一次生成时可见,建议将其复制到其他地方保存
    • 复制令牌到刚才到OpenSSH的密码框中。
  4. 启用GitHub pages;

  5. 打开 用户名.github.io 查看页面。

四、自定义博客

4.1 简单配置

  1. Hexo的文章在source/_posts下,我们可以看到hello-world.md文件,打开即可修改。
  2. 网站的关键信息可以在_config.yml下修改;
  3. 具体修改可以参考配置 | Hexo

4.2. 配置主题

  • 打开Themes | Hexo
  • 注意:Hexo 5.x相对4.x是一次破坏性升级,所以很多4.x下的主题在5.x中并不可用。
  • 以xoxo主题为例:
git clone --depth 1 https://github.com/KevinOfNeu/hexo-theme-xoxo themes/xoxo
hexo config theme xoxo
hexo s