博客

技术选择

  1. 我的个人笔记都做在语雀上,语雀具有非常优秀的编辑器体验,我不舍得放弃,但是我也想搭建自己的个人博客,于是查询到了 yuque-hexo 和 hexo
  2. 服务器 Centos
  3. 反向代理 nginx

服务器的购买与部署

阿里云开发者成长计划

https://developer.aliyun.com/plan/grow-up

腾讯云学生机

https://cloud.tencent.com/act/campus

这个我就不赘述了,服务器教程非常多

当然,如果觉得服务器麻烦,也可以将 hexo 部署在 giteePages,githubPages 这样的免费页面上,我选择服务器,是因为 Linux 服务器具有更高的可玩性

hexo 的安装

hexo 官方文档:https://hexo.io/zh-cn/docs/

node.js 的安装

在 root 用户下(Centos)

curl -fsSL https://rpm.nodesource.com/setup_16.x | bash -

node.js 测试

node -v
npm -v

如果都能够打印出版本号,则安装成功

git 的安装

sudo yum install git-core

hexo 安装

npm install -g hexo-cli

测试

当输入 hexo -v 时,如果能够打印出版本号,则安装成功
image.png

开启 hexo

创建文件夹

  1. 进入想要的文件目录
  2. 运行 hexo init
  3. cd 对应的文件夹
  4. npm install
$ hexo init <folder>
$ cd <folder>
$ npm install

image.png

开启 hexo 服务

hexo server

这里 hexo 会在本地的 4000 端口开启,在浏览器使用 ip:4000 即可访问 hexo 初始页面(若使用云服务器,需要在对应厂商的服务器控制台中放行 4000 端口)

hexo 主题

hexo 提供了大量好看漂亮的主题,而且提供了非常方便的切换
链接为:https://hexo.io/themes/
我目前使用的是 https://github.com/Shen-Yu/hexo-theme-ayer

博客文章的编写(本章节只适合使用语雀做编辑器的同学)

yuque-hexo

安装

npm install yuque-hexo --save

配置

编辑 package.json 文件

{
  "name": "hexo-site",
  "version": "0.0.0",
  "private": true,
  "scripts": {
    "build": "hexo generate",
    "clean": "hexo clean",
    "deploy": "hexo deploy",
    "server": "hexo server",
    "sync": "yuque-hexo sync",
    "clean:yuque": "yuque-hexo clean"
  },
  "hexo": {
    "version": "5.4.0"
  },
  "dependencies": {
    "hexo": "^5.0.0",
    "hexo-generator-archive": "^1.0.0",
    "hexo-generator-baidu-sitemap": "^0.1.9",
    "hexo-generator-category": "^1.0.0",
    "hexo-generator-index": "^2.0.0",
    "hexo-generator-json-content": "^4.2.3",
    "hexo-generator-sitemap": "^2.1.0",
    "hexo-generator-tag": "^1.0.0",
    "hexo-renderer-ejs": "^1.0.0",
    "hexo-renderer-marked": "^4.0.0",
    "hexo-renderer-stylus": "^2.0.0",
    "hexo-server": "^2.0.0",
    "hexo-theme-ayer": "^1.9.5",
    "hexo-theme-keep": "^3.4.2",
    "hexo-theme-landscape": "^0.0.3",
    "hexo-theme-volantis": "^4.3.1"
  },
  "yuqueConfig": {
    "postPath": "source/_posts/yuque",
    "cachePath": "yuque.json",
    "mdNameFormat": "title",
    "adapter": "hexo",
    "concurrency": 5,
    "baseUrl": "https://www.yuque.com/api/v2",
    "login": "语雀个人路径",
    "repo": "知识库名称",
    "onlyPublished": true,
    "onlyPublic": false,
    "token": "在语雀上申请的token"
  },
  "devDependencies": {
    "yuque-hexo": "^1.7.0"
  }
}