淘先锋技术网

首页 1 2 3 4 5 6 7

这里是在 macOS 上进行搭建的,其他系统大体步骤差不多

安装 Node.js

去 Nodejs 官网或者点击 Node.js 下载安装包安装
安装完成后,检查一下 node 和 npm 的版本,如果能正确显示版本号,则说明安装成功。

sh-3.2# node -v
v10.16.1
sh-3.2# npm -v
6.9.0

安装 cnpm

cnpm 是淘宝 npm 镜像,相比于 npm 下载安装软件速度更快,下面的安装步骤尽量在超级用户下进行。
切换到超级用户

sudo su 

安装 cnpm

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

安装 cnpm 时注意最好用 -g 参数安装,这是全局安装的意思

查看一下 cnpm 的版本号,证明安装成功

sh-3.2# cnpm -v
[email protected] (/usr/local/lib/node_modules/cnpm/lib/parse_argv.js)
[email protected] (/usr/local/lib/node_modules/cnpm/node_modules/npm/lib/npm.js)
[email protected] (/usr/local/bin/node)
[email protected] (/usr/local/lib/node_modules/cnpm/node_modules/npminstall/lib/index.js)
prefix=/usr/local 
darwin x64 17.5.0 
registry=https://r.npm.taobao.org

安装 Hexo

cnpm install -g hexo-cli

生成博客

  • 本地新建一个文件夹,用于保存博客,这里新建一个 blog 文件夹
mkdir blog
  • 安装 git
brew install git

查看 git 版本

sh-3.2# git --version
git version 2.22.0
  • 初始化一个 Hexo 博客
hexo init

这一步会自动 git clone 一个项目。如果出现 timeout 现象,先 ping github.com

ping github.com

如果 ping 不通,则修改一下 hosts

vim /etc/hosts

在文件末尾添加如下代码

192.30.253.113 github.com
  • 启动博客
hexo s

在浏览器地址栏输入 http://localhost:4000 会出现一个标题为 Hello World 的博客页面

  • 新建一篇文章
hexo n "博客测试"

会在 source/_post 目录下自动创建一个名为 "博客测试.md"的文件,这里在用 markdown 语法添加文件内容即可

  • 生成博客
    在 blog 目录下
hexo g

生成完后,可以输入 hexo s 命令本地查看一下博客效果

部署博客到 github

  • 在自己的 GitHub 仓库中新建一个仓库,仓库名必须为 “用户名.github.io”,例如我这里命名为 Victoryli.github.io
  • 安装 git 部署插件
    进入 blog 目录下进行安装
cnpm install --save hexo-deployer-git
  • 进入 blog 目录,修改 _config.yml,添加 GitHub 仓库地址,添加内容如下:
# Deployment
## Docs: https://hexo.io/docs/deployment.html
deploy:
  type: git
  repo: https://github.com/Victoryli/Victoryli.github.io.git
  branch: master
  • 将博客部署到GitHub
hexo d

在浏览器地址栏输入 Victoryli.github.io 即可访问博客

更改博客主题

比如选一个 yilia 主题

git clone https://github.com/litten/hexo-theme-yilia.git themes/yilia

修改 _config.yml

# Extensions
## Plugins: https://hexo.io/plugins/
## Themes: https://hexo.io/themes/
theme: yilia

重新部署一下博客

hexo clean
hexo g -d

此时博客主题更新完成