以前用wordpress写的博客,因为疏于更新后台,被勤劳的小蜜蜂们各种挂马,服务商给我下通牒的时候我才知道,记录的东西也丢失了七七八八。最近闲下来在看nodejs相关的资料时,无意间了解到hexo,然后决定入坑.
安装篇:
nodejs
下软件就行了
git
下软件看说明各种下一步结束
hexo
创建个文件夹来存放当前项目,并且,在该目录下右键菜单 选择: git bash
初始化
在新开窗口下疯狂码字:
git config –-global user.name "zhangsan" //(""里的账号是刚才Github里面自己注册的账号)
git config –-global user.email "123456789@qq.com" //(""里的邮箱是注册的github邮箱)
// 生成密钥到github
cd ~/.ssh
ssh-keygen -t rsa -C "123456789@qq.com"
然后打开
C:\\Users\\username.ssh 文件夹,复制 id_rsa.pub文件里的内容,丢到github上的sshKey上
途径:github->settings->SSH and GPG key->new ssh key
不进行这两步,以后提交代码的时候要输帐号密码
npm install
npm install -g hexo-cli // 第一次使用hexo要安装 成功后下一步
hexo init
到这模版就创建好了。蛋事,模版毕竟是模版,还是要自己修改一下配置信息
配置
根目录下的 _config.yml
文件,某些东西一定要改
title: xxx # 博客名,站点名称
author: xxx # 博客作者名字
description: xxx # 对站点的描述,搜索引擎会抓取,可以自定义
language: zh-CN # 语言 简体中文
theme: sky # 配置的主题名
这样,一个站点的基础配置就完了
想要发布到github上,也要做跟github”关联”的配置,一样在_config.yml
最底下追加内容
deploy: # 部署相关配置
type: git # 使用 Git 提交
repository: git@github.com/username/username.github.io.git # 博客的仓库地址,仓库名最好是 用户名.github.io
branch: master # 分支名称
创建文章
初始化完毕就可以创建文章了
hexo new "xxxx"
在hexo/source/_posts下生成:”xxxx”文件夹、”xxxx.md”这俩.”xxxx.md”就是markdown语法的文章,文件夹目前还不知道干啥的,以后更新,我是直接在编辑器里,打开_posts文件夹,直接新建”a.md”文件,省去了文件夹,编译下来也没什么不一样。
创建后的页面内容如下:
\-\-\-
title: 标题
date: 2018-11-20 11:26:00 # 时间
tags: 标签
categories: 分类
\-\-\-
内容
标签和分类,当在页面有填入对应的值时,会自动创建分类,如果要手动创建分类页面
hexo new page "categories"
发布网站
发布之前要装个git的插件,不然hexo d
会报错
npm install hexo-deployer-git --save
文章写完,发布到github上
hexo clean // 清除缓存
hexo g // 生成
hexo s // 启动本地服务查看,默认 localhost:4000//
hexo s -p 5000 假如4000端口被占用,更改其他端口启动服务
hexo d // 发布到github上
也可以一次性执行:
hexo clean && hexo g && hexo s
装完吐槽
最初,考虑到自己的英文水平不怎样,看github略困难,谷歌浏览器没梯子不能翻译,了解到方便的国内代码托管平台有不少,在下试用了coding.net、码云、腾讯云:
coding.net使用感觉还不错,私有仓库、pages服务免费,并且
Enforce https
可以不用长时间的等解析,证书也是秒生成,不带https的请求也都一并强制了https,非常舒服。
但是coding.net被腾讯注资了,到处是”转移到腾讯云获得更好的服务”诸如此类的信息。看到这类提示,强迫症表示不点不舒服,点之,一路”下一步”进入马总的怀抱…然后回不来了,每次登录到coding.net就跳转腾讯云,真是手贱当斩!腾讯云的托管系统界面和操作都跟coding.net基本没差别,初用也很顺滑,唯一查到的区别就是腾讯云的代码托管有隐藏的容量限制,没达到之前不会告诉你的(好像是总量10G),要突破还得去找客服申请,而coding没有。想想也没关系,个人用户一般没事,然后绑定域名开启https一气呵成。然后,第二天打开这博客地址的时候,慌的一批,F12看到,页面加载2min,一个几kb的小图片加载20s,2kb的css加载16s,这公网服务速度真是没的说…
我:页面这么慢怎么办?
tx:年轻人,你这个问题非常好,其实“点这”就可以解决的
我:再见来不及挥手~码云,体验还行,界面都是中文的,操作也还算顺手,但是pages服务和自定义域名要收钱,再见码云~
github,绕一圈又回到github,英文界面不习惯,走投无路的心情下,用着用着也就舒服了,只有一处坑,就是配置https:解析
Enforce https
一直点不上,一直提示配置不对。杠了半天,发现要添加域名解析A记录到185.199.109.153,然后把Custom domain
下的域名删掉之后,等个五六七八个小时后,再重新添加域名进去,然后再等个十几分钟,就可以勾选了
为博客安装评论
Gitment
第一接触的评论插件是Gitment,自带的landscape主题也是用这玩意儿,必须要github帐号登录才能评论,又是注册 OAuth Application,又是配置callback乱七八糟的东西,排除了种种错误之后,在知乎上某篇文章了解到gitment作者弃坑了,要用gitment,得自己搭建服务器才行。
valine
折腾过gitment之后,再看valine,它简直就是个jquery插件。Valine依赖于Leancloud的后端服务,去leanclould注册一个账号,按部就班的配置一下就行。里面分为免费版和商业版还有企业版,免费版有一定限制首先API请求每天30000,最大10GB的储存空间,支持markdown语法。有点点不好的就是不会markdown语法的读者不好传图片。还有,由于是免登陆插件,所以这个评论没管理员概念,不会提示谁是当前作者。目前本站用的就是这个。
hypercomments
这个麻瓜以前免费,现在不免费了,不想讲了
gitalk
安装教程:https://github.com/gitalk/gitalk/blob/master/readme-cn.md
装后优化篇 (2020-1-10)
上传github 后 自定义域名的坑
域名解析,到域名解析界面增加一个CNAME记录,值为Username.github.io就行
然后进入(https://github.com/Username/Username.github.io/)
,选择settings,找到Custom domain输入自己的域名
然后一定要在源文件根目录的source 文件夹下,新建一个名字为“CNAME”的文件,没后缀,内容写自己的域名,保存/生成/发布 ,不然每次hexo d
,都要去重新绑定域名
填坑篇
hexo g 不生成style.css,导致整个站点没有style.css文件
找了几种办法,改_config.yml的url,root,安装什么hexo-renderer-stylus
什么的都是假的,真正原因在主题里,把style.css加到themes-themename-source-css里,就完事了