写在前面
因为刚结束学业,加之暂时赋 dai 闲 ye 在家, 萌生出想要记录一些平时写码或者玩工具的个人经验,于是就有了本文的诞生。
本文非教程向, 仅用来作为笔者的备忘录。
配置环境
注:此处笔者所用的环境是 Windows 10 + WSL (Ubuntu 18.04)
安装配置 nvm(可选)和 Node.js
nvm 安装 (可选)
Node Version Manager (nvm) 是 Node.js
版本管理工具,类似于 Python
的 pyenv
。
# https://github.com/nvm-sh/nvm#installing-and-updating |
node 安装
# 有安装 nvm |
安装 cnpm 由于 npm
的官方镜像在国内的连接性十分堪忧,所以使用淘宝的 cnpm
代替
# https://developer.aliyun.com/mirror/NPM |
安装 Hexo 工具及初始化项目
# 全局安装 hexo-cli |
完成项目的初始化后,目录结构如下:
tree -L 2
.
├── _config.yml
├── node_modules
│ ├── @types
│ ├── ***
*
├── package-lock.json
├── package.json
├── scaffolds
│ ├── draft.md
│ ├── page.md
│ └── post.md
├── source
│ └── _posts
└── themes
└── landscape
_config.yml
是整个站点(博客)的配置目录;
node_modules
是 node 模块的安装路径;
package-lock.json
和 package.json
储存项目所依赖模块的信息;
scaffolds
是 Hexo 的脚手架,在新建文章时,Hexo 会根据 scaffolds
文件夹内相对应的文件来建立文件,例如:hexo new photo "My Gallery"
source
文件夹存放博客文章及页面等
themes
存放主题模板
接下来,可通过 hexo server
命令在本地环境下启动临时的 Hexo 服务器,通过 localhost:4000
进行测试访问
部署云端
Git 安装与配置
# Debian/Ubuntu | 其他平台可参考:https://git-scm.com/download/ |
查看生成的公钥:cat ~/.ssh/id_rsa.pub
,复制并导入到 Github 账户,地址:https://github.com/settings/keys
测试密钥:ssh -T [email protected]
修改博客站点配置:
# ./_config.yml |
添加域名
参考 Github 官方文档:点我
推送文章
# 新建文章 |
访问设置的域名或者 https://YourUsername.github.io/ 即可看到博客站点
配置主题
主题选择
推荐:
更多主题可到 Hexo 社区去选择下载:https://hexo.io/themes/
安装 NexT:
cd YourProjectName |
配置站点及主题
# ./_config.yml |
# ./themes/next/_config.yml |
footer 文件
<!-- ./source/_data/footer.njk --> |
如果 ./source
路径下不存在 about
, categories
等文件夹,需先进行创建:
hexo new page "about" |
并编辑对应目录下的 index.md
,添加属性 type: about
等
启用搜索
cnpm install hexo-generator-searchdb
安装插件修改站点配置:
# Search configuration
search:
path: search.xml
field: post
format: html
limit: 10000修改主题配置:
# Dependencies: https://github.com/next-theme/hexo-generator-searchdb
local_search:
enable: true
# If auto, trigger search by changing input.
# If manual, trigger search by pressing enter key or search button.
trigger: auto
# Show top n results per article, show all results by setting to -1
top_n_per_article: 1
# Unescape html strings to the readable one.
unescape: false
# Preload the search data when the page loads.
preload: false
启用评论插件
配置 Github
打开链接:点我点我,填写相关信息,获取
id
和secret
注:Authorization callback URL 应填写博客实际访问的 URL,如本站为 https://blog.half9000.com
配置主题:
# Gitalk
# For more information: https://gitalk.github.io, https://github.com/gitalk/gitalk
gitalk:
enable: true
github_id: YourName # GitHub repo owner
repo: YourName.github.io # Repository name to store issues
client_id: YourIdD # GitHub Application Client ID
client_secret: YourSecret # GitHub Application Client Secret
admin_user: YourAccount # GitHub repo owner and collaborators, only these guys can initialize gitHub issues
distraction_free_mode: true # Facebook-like distraction free mode
# Gitalk's display language depends on user's browser or system environment
# If you want everyone visiting your site to see a uniform language, you can set a force language value
# Available values: en | es-ES | fr | ru | zh-CN | zh-TW
language: zh-CN