开始
其实 Hexo 在官网已经非常清除的说明了安装过程…个鬼喔,踩了一堆坑,文章仅仅是笔记,碰到的问题有限,仅限参考。
因为目前常用的系统仍然是 Windows,所以还是使用 Windows 下的 Ubuntu 子系统,并且发布在 GitHub 上。
安装
Ubuntu 子系统
只要是 2017/10 (1709) 后发布的 Windows 10 版本都能安装 Ubuntu 子系统。可以 win + r
调出运行窗口,输入 winver
指令查看版本号
启动 WSL
以管理员身份打开 PowerShell
如果你的系统版本还没更新到 2004,那使用 WSL 1
1 | dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart |
如果你的系统版本比 2004 更加高,那使用 WSL 2
1 | dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart |
然后重启系统
安装 Ubuntu
重启后在 Microsoft Store 里搜索 Ubuntu
安装后首次启动会执行安装,安装后输入用户名与密码
目前 Ubuntu 已安装完毕
配置环境
先更新一下源
由于系统初始化的源是官方源,国内访问相对来说比较慢,所以需要换成国内源。如果有办法加速官方源那可以跳过这一步。
1 | sudo vi /etc/apt/sources.list |
更换的是清华的源,为了偷懒就不整个文件重写,直接替换域名字段。进入 vi 后直接在英文状态下敲打下面指令
1 | :%s/archive.ubuntu.com/mirrors.tuna.tsinghua.edu.cn/g |
然后输入下面指令保存退出
1 | :wq |
回到终端,执行命令更新源
1 | sudo apt update |
安装 node.js
有两个方法安装,两种方法配置出来的环境各有不同,apt
安装,使用 npm 可能存在权限问题,手动安装则不会。推荐手动安装。
使用 apt
直接安装
1 | sudo apt install nodejs |
当然这样安装版本可能会比较低,官方提供各种版本的安装方式,可以参考安装新版本。也可以使用 nvm
工具管理 node-js 版本。
手动安装
在官方下载页面找到对应系统的包,目前方案使用 Linux Binaries (X64) 版本的二进制包,复制下载链接后,在 Ubuntu 中访问你想存放 node-js 的目录,下载并解压。
1 | wget https://nodejs.org/dist/v14.15.5/node-v14.15.5-linux-x64.tar.xz |
也可以通过源码编译后安装
1 | wget https://nodejs.org/dist/v14.15.5/node-v14.15.5.tar.gz |
编译安装
1 | cd node-v14.15.5 |
无论下载二进制包还是自己编译,都需要配置一下环境变量,注意这里修改的是用户的 profile。
1 | vi ~/.profile |
在底部添加两行,把 node-js
和 npm
添加到环境变量中。
1 | # node-js |
保存退出后激活修改
1 | source ~/.profile |
然后验证一下
1 | node -v |
到这里,hexo 的环境已搭建完成
安装 hexo
一般安装 node-js 过程会把 npm 也安装上,使用 npm 安装
1 | npm install -g hexo-cli |
安装成功后查看版本号
1 | hexo -v |
如果想装最新版本,也推荐装最新版本,发现 hexo 的版本并不是最新的,可以使用工具升级。在 hexo
的目录下
1 | npm install -g npm-check |
安装更新后发现版本号仍然没更新,看到官方的 Issues 里一个老哥给的解决方式
Run
1 npm i hexo@5.2.0The latest version of
hexo-cli
is 4.2.0 thus you don’t need to upgrade it globally
安装后版本号到最新。
到目前 hexo 已安装完毕。
建站
初始化
访问到需要存放博客的路径,这个地方是存放原始文章的地方。
1 | # 新建并初始化一个站点 |
到这一步,站点布置已经完成,可以生成静态文件看看效果
1 | hexo g # 生成静态文件 |
能正常访问说明站点布置成功
配置
编辑一下博客目录下 _config.yml
文件,具体可以查看官网介绍,这里就贴出比较重要的设置
1 | # Site |
写文章
可以使用指令来新建一篇文章
1 | hexo new [layout] <title> |
这样新建文章,hexo 会在文件内初始化一些参数
1 | --- |
这些参数能帮助索引文章等,其他参数可以参考官网。你也可以自行新建文件后添加。当你写完文章后,重新生成静态文件即可。
更新到 Github 上
建立 Github Page
创建账号后创建一个与账号同名的仓库,这样可以使用<你的 GitHub 用户名>.github.io
,注意一个账号只能创建一个静态站点
安装 git
1 | sudo apt install git |
配置本地用户
1 | git config --global user.name "GitHub 的用户名" |
生成 SSH key
1 | ssh-keygen -t rsa -C "创建 GitHub 时的邮箱" |
生成过程有三个让用户输入的自定义参数,如果没什么特殊要求直接留空回车
创建完成后需要吧 public key 加入到 GitHub 账号中,输入下面指令可以获取刚刚生成的 public key
1 | cat ~/.ssh/id_rsa.pub |
输出的内容全选复制,来到 Github 账户设置,找到 SSH and GPG Keys
一项,添加 SSH Key
,把刚才复制的 public key 添加进 key 项,保存。到这一步,你使用系统的 git
无密码推送更新。
到这一步,可以根据官网的多个步骤把静态站点推到 Github 上。鬼才做那么多步骤,所以使用一键工具 hexo-deployer-git
安装 hexo-deployer-git 工具
1 | npm install hexo-deployer-git --save |
对 _config.yml
进行配置
1 | deploy: |
然后一行代码部署
1 | hexo d |
具体使用步骤
hexo new
新建一个文章- 肝文章
hexo g
生成静态网站hexo s
预览文章- 文章有问题,
goto 2
hexo d
将文章推送到 GitHub 上
各种自定义操作 (不定时更新)
修改主题
修改很简单,用 NexT 来作为例子
下载主题包
定位到 you_site_folder/themes
,把包放到这个目录
1 | cd you_site_folder/themes |
配置
编辑 _config.yml
文件,找到 theme
字段,修改值为包的文件夹名字
1 | theme: next |
建议先清除掉原有的静态站点的文件
1 | hexo clean |
然后重新生成预览网站
NexT:主页不显示全部文章
目前有三个方法
文章中在自己喜欢的地方加入
<!-- more -->
,手动截断。在
front-matter
添加description
,提供摘录让主题自己生成摘要,在主题根目录
_config.yml
文件种添加1
2
3auto_excerpt:
enable: true
length: 150 # 截断字符长度
推荐使用第一种方式
使用腾讯云域名解析给网站一个域名
完成备案后访问腾讯云的域名解析列表,选择需要解析的域名。
添加下面两条记录,记录类型使用CNAME
主机记录 | 记录类型 | 线路类型 | 记录值 |
---|---|---|---|
@ | CNAME | 默认 | 托管在Github上的页面域名 |
www | CNAME | 默认 | 托管在Github上的页面域名 |
在站点源码处,创建文件 sourec/CNAME
,在里面填写备案的域名,完成后重新生成静态文件并推送即可