Hexo静态博客Hexo静态博客+github部署
终于抽点空搞了静态博客,用的hexo,方便同步github,也方便同步AWS S3,记录下
Hexo安装
安装Node.js
Hexo基于Node.js,Node.js下载地址:Download | Node.js 下载安装包,安装Node.js会包含环境变量及npm的安装,安装后,检测Node.js是否安装成功,在命令行中输入 node -v
检测npm是否安装成功,在命令行中输入npm -v :
安装Hexo
电脑里找个地儿新建文件夹,比如hexo,然后cmd到这个文件夹下
npm安装hexo
1 | npm install -g hexo-cli |
新建博客
这个blog自己起名字,就是个文件夹名
1 | hexo init blog |
进入到blog目录下,新建文章
1 | hexo new test_my_site |
这三个命令是新建一篇博客文章、生成网页、在本地预览
浏览器访问:
1 | localhost:4000 |
就能看到博客了,默认主题丑了点,稍后改模板
hexo常见命令
1 | npm install hexo -g #安装Hexo |
命令简写
1 | hexo n "我的博客" == hexo new "我的博客" #新建文章 |
其他命令
1 | hexo server #Hexo会监视文件变动并自动更新,无须重启服务器 |
更换主题
默认太丑,这里很多主题, 现在把默认主题更改成Next主题,在blog目录中cmd:
1 | npm install hexo-theme-next |
或者去next的github, 还有一种装法是直接git clone到themes文件夹下,要装下git
修改配置,hexo/blog/_config.yml文件里的查找并修改主题和语言,
1 | language: zh-CN |
next主题的配置文件在hexo\blog\node_modules\hexo-theme-next\_config.yml
next主体有四种样式,上面这个配置文件修改这里,我用的第三个Pisces样式
1 | #scheme: Muse |
修改site信息
1 | title: #博客名 |
编辑文章
新建文章后在\source\_posts里就能看到文章***.md,用markdown编辑器编辑,推荐typora,现在都收费了,用最后一个免费版0.11.18并且注册表修改下可以用,专门写了一篇Markdown神器typora 0.11.18
现在本地4000端口可以访问,下篇写deploy到github上
Hexo托管到github
github注册
注册,我注册的名字是samzzzz,
然后新建库repository,如果为了github pages能访问,那此处名字必须是注册名.github.io,即samzzzz.github.io,且保持默认的Public,此时在库里上传个index.html,即可访问自己的github pages;
github pages的介绍,但具体步骤不需要按照这个,他的步骤是本地克隆,然后本地修改推到git上,咱们用hexo的deploy来推。
安装git,下载地址
安装hexo-deployer-git
1 | npm install hexo-deployer-git --save |
修改配置,hexo/blog/_config.yml里的deploy,注意repo后面的注释
1 | deploy: |
也可以增加token,但是上传到git上的,总觉得不安全,还是不加了
部署到github
1 | hexo d |
初次会弹出窗口让浏览器登陆github,目的是关联权限,至于token还是关联权限还是ssh哪个安全还未知,慢慢研究吧。
至此,以后修改md文件后两条语句即可
1 | hexo g |
也可浓缩成一条
1 | hexo g -d |
ok,可以正常同步上去了
github pages使用自己域名
域名DNS里域名CNAME设为xxx.github.io
原本以为直接ok,结果不行,继续下面操作
去github的xxx.github.io库里,Settings——Pages——Custom Domain,
把已经CNAME的域名填进去,会自动检查,就ok了;
结果hexo d后又失效了,研究发现,设置域名后会在库里生成一个CNAME的文件,文件内容就是域名,一hexo d就没了
解决办法在hexo的source文件夹下创建和CNAME的文件,重新三连
1 | hexo clean |
这样,deploy后库里也有CNAME文件了,搞定!
下一篇,聊聊托管到AWS S3上咋搞。