颜值即正义,以前用WordPress搭建的博客太丑了,没有好看有免费的主题,于是转战hexo,一般都是使用的GitHub存放网页,但是这在国内打开速度实在不忍直视,于是部署在了腾讯云上,使用COS+CDN,记录为笔记。
先部署在GitHub上的
搭建Hexo
安装程序
1 | npm install -g hexo-cli |
本地搭建
在任意目录下新建文件夹
folder
右键
Git Bash
执行
hexo init folder
成功提示
INFO Start blogging with Hexo!进入folder目录,执行
npm install
执行下列命令
1
2hexo generate
hexo server显示内容为 INFO Start processing INFO Hexo is running at http://localhost:4000/. Press Ctrl+C to stop.
此时在浏览器中输入上面URL可以看到初始页面
发布到GitHub
在GitHub里新建仓库,命名为username.github.io
编辑_config.yml文件,看意思来配置就好了,这里列出关键的
#Deployment
##Docs: https://hexo.io/docs/deployment.html
deploy:type: git repo: https://github.com/betamaoIS/betamaoIS.github.io.git branch: master
即repo的值为2复制的值
在bash里面执行
1
2
3$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
ssh-keygen -t rsa -C "Github的注册邮箱地址"(引号中的内容替换为你的邮箱)之后,打开c://Users/yourname/.ssh/id_rsa.pub将其全部添加到GitHub的个人设置->SSH and GPG keys里面
发布文章
1
2
3
4hexo clean #清除缓存 网页正常情况下可以忽略此条命令
hexo generate #生成
hexo server #启动服务预览,非必要,可本地浏览网页
hexo deploy #部署发布
解决错误
执行hexo deploy
后,若出现error deployer not found:git
错误,执行命令解决
1 | npm install hexo-deployer-git --save |
新建文章
执行
hexo new "title"
会在\source_posts\目录下生成title.md文件,使用markdown语法编辑发布
1
hexo g -d
更换主题
之前说了,之所以换博客,就是冲着颜值来的,默认的还是不能满足需求,知乎上有很多漂亮的主题推荐,这里先随便换一个,以后再来
先去下载一个主题
将其解压到themes目录,再在_config.yml更改主题为spfk#Extensions
##Plugins: https://hexo.io/plugins/
##Themes: https://hexo.io/themes/
theme: spfk
再执行1
git pull
效果
参考kami的博客
部署至腾讯云
腾讯云对学生是挺优惠的,比阿里好很多,比如对象存储和CDN免费额度挺大的,个人博客站不被打足够了。至于怎么开启这些直接看官方文档就好了,这里只说两个地方
发布内容
要是用GitHub,可以直接执行hexo d
发布,但是现在用了COS了,就要换一种方法,可以自己写脚本,但是我偷懒了,直接用腾讯自带的文件同步工具,但是似乎有问题,总感觉每次同步都会重复上传很多文件,(不知道是不是感觉出了偏差),经检查,当生成新文件时,hexo会重新生成部分不会改变的文件到public目录,这样文件时间变了,但内容确实没变,于是读了下官方给的代码,这里似乎有问题,没有仔细看:
如图,当文件最后修改时间变了时会比较md5值,但是官方的代码写的是:
这两个是字符串,若是没有其他特别的操作这个一般情况下都是不相等的,于是意味着只要文件最后修改时间变了就会全部重传,把代码改下,然后到opbin\rebuild.bat
就好了(需要安装maven)
更新内容
emmmm,这是才开始遇到的坑,由于CDN缓存,更新的内容不会立即生效,需要过很长时间,可以手动刷新,当然是用官方提供的API会简单很多,这里写了个脚本,支持刷新目录或URL:
1 | #coding:utf-8 |
哇,就这样吧