hexo+github 的个人博客搭建,参考 Hiccup。本文仅表明本人在搭建过程中遇到的问题,以下是我在使用 hexo + github 搭建个人博客的时候遇到问题及其解决办法。
# 准备工作
- 安装 git
- 安装 nodejs
- 申请一个 github 账号
# 安装 Hexo
- 创建任意目录以作为博客的根目录,如 blog
- 进行目录,右键 Git Bash 或者使用 cmd 命令打开终端窗口。
- 使用命令
npm install -g hexo
安装 hexo - 然后使用命令
hexo init
进行初始化。
完成上诉步骤后,一个原始主题的 hexo 便可以正常运行起来了。可以通过 hexo s
启动服务,网页访问如下
# 部署 github
为了方便后续部署,建议配置 git 的 ssh
# git 配置 ssh
1. 配置用户名称与邮箱
设置 Git 的 username 和 email (替换为自己的用户名和邮箱):
git config --global user.name "username"
git config --global user.email "email"
2. 生成 SSH 密钥过程
ssh-keygen -t rsa -C “email”
执行上面命令后有几个需要用户输入的参数,新手直接默认回车就行。
执行成功后,会在你的 **c:/ 用户 / 当前登录账户名 /.ssh/** 目录下生成两个文件,分别是 id_rsa 和 id_rsa.pub
3. 添加 ssh key
登录自己之前注册的 github 账号
然后点击右上角的头像,选择 Settings
选中 SSH and GPG keys
点击 New SSH key,将上面生成的 id_rsa.pub 的内容复制进来,点击 Add SSH key 就 ok 啦
在本机使用
ssh -T git@github.com
来测试是否配置成功,出现 **Hi {你的 github 名字}! You've successfully authenticated, but GitHub does not provide shell access.** 则表示配置成功
# hexo 部署 github
- 创建一个 public 的仓库,并且命名为: username.github.io, 注意这里的 username 需要替换为你自己真是 username。
- 打开博客根目录下的 **_config.yml**,设置 deploy 配置,如下:(图中的 lemonman1 应该是你自己的 username)
部署到 github
使用部署命令
hexo d
部署成功后访问 https://username.github.io/ 就可以访问自己的个人博客啦。
# 可能遇见的问题及解决方法
# npm 不可用
使用淘宝镜像进行解决,配置淘宝源或者安装 cnpm
配置源
npm config set registry https://registry.npm.taobao.org
安装 cnpm
npm install -g cnpm --registry=https://registry.npm.taobao.org
使用 cnpm, 也就是将原本的 npm 替换为 cnpm 即可,如下
cnpm install
# hexo server (hexo s) 不成功
hexo 3 以后需要手动安装 hexo server
npm install hexo-server --save
# 白板 + Cannot GET /
由于版本的更新,可能需要自己手动配置一些东西,输入以下三条命令以解决。
npm install hexo-renderer-ejs --save
npm install hexo-renderer-stylus --save
npm install hexo-renderer-marked --save
# 配置后依然还是 Cannot GET /
有时候修改了问题,可能需要删除 node_modules 目录后重新
npm install
一下
# hexo deploy (hexo d) 不执行或者报错
可能是确实 deployer 插件直接安装即可
npm install hexo-deployer-git -–save
# 其他
# 主题
Themes | Hexo
↑可以在这上面找到心仪的那个那个主题哦!
# 常用的 hexo 命令
hexo cl #清除生成的静态文件 | |
hexo g #生成静态文件 | |
hexo s #启动本地预览 | |
hexo d #远程部署 | |
hexo new [layout] <title> #新建一篇文章 |
更多指令可前往指令 | Hexo 查看更多。