Loading...
Navigation
Table of Contents

Hexo博客搭建 - 本地部署Tech

搭建博客

Hexo轻量级静态博客有着速度快, 页面美观等优点, 目前已经越来越流行. 而配置Hexo博客的最好方法是参考官方中文文档, 这里记录下我搭建过程中遇到的一些问题.

绑定域名

为了使解析更加快速, 可以使用DNSpod平台(现已被腾讯云收购)做解析. 那么只需要把xxx.github.io.这个填在DNSpod里面(因为是CNAME记录, 所以填域名进去; 如果是A记录, 才会填IP地址). 然后把DNSpod的两个域名填在Godaddy里就行, Godaddy里其他不用动, 这里网上很多文章就没说清楚这件事.

当某个用户IP访问页面时, DNSpod的服务器就把这个访问转交给GitHub的一个实际IP地址. 那么GitHub每天接到这么多访问, 它是怎么知道这次是哪个IP访问的呢?原来DNSpod传给GitHub信息时应该包含了原访问地址jiaxi.me, GitHub又把自己所有的CNAME都集合在了一起, 它通过在CNAME列表里查找jiaxi.me, 就知道应该返回xxx.github.io了. 所以这也是为什么要在GitHub里放一个CNAME文件, 而且不同repository的CNAME文件一定还不能重复, 否则会出错.

用Markdown写文章

使用一款MarkDown编辑器写Blog. 写完后将文件以*.md的格式保存在本地[网站目录]\source\_posts中. 文件编码必须为UTF-8, 这一点仅Windows用户需注意. 每篇Blog都有固定的参数必须填写, 参数如下, 注意每个参数的:后都有一个空格. 详见官方格式.

插入iframe

MarkDown中可以使用iframe标签插入音乐或视频, 以优酷为例

<iframe height=498 width=510 src="http://player.youku.com/embed/XNjcyMDU4Njg0" frameborder=0 allowfullscreen></iframe>

CDN加速

什么是CDN, "肯德基总店在外国, 你家楼下就有一个店, 里面和外国总店的东西一样. 这就是cdn", 参见知乎CDN是什么?使用CDN有什么优势?

使用七牛云存储作为图床, 是一个比较高效简单的方案. 但是七牛在覆盖图片时, 会出现图片在CDN服务器处不刷新的情况. 目前比较简单的方法就是把图片的URL放在七牛-个人面板-刷新预取中刷新. 参见刷新缓存和生效时间

使用LaTeX

最合适的方法是使用默认的hexo-renderer-marked渲染器, 注意可以通过配置开启table等功能. 然后安装hexo-math, 由此便可以直接写LaTeX公式了. 但是注意到形如_balabala_的代码会先被hexo markdown编译器转换为<em>(强调标签), 所以我们把所有的\写成\_即可, 更多的issues参加插件主页.

这种做法虽然略微麻烦了一点, 但是其和sublime的markdown preview插件的标准匹配, 而且也能使用表格功能.

更新主题

cd themes/xxx
git pull origin master

修改其他页面文章数量

如果想让archive页面每页显示的文章数量和首页不同, 可以使用hexo-generator-archive; 类似的还有hexo-generator-taghexo-generator-category. 安装好了后在hexo默认配置文件中添加对应参数.

其它Tips

  • 在博文article123中插入本地图片, 不用写(article123/img.jpg)了, 直接写(./img.jpg).

  • 添加about类界面:hexo new page about

  • hexo-blog-encrypt:可以给博文加密

  • 代码高亮: 参见highlightjs官网的语法和别名(aliases).

  • Even主题修改:
    首先查找自定义字体1001 Fonts, 之后去Font Converter上转化字体.

  • 默认文章链结是以http://xxx.com/2016/08/08/title/的格式的. 要想改成 http://xxx.com/category/2016-08-08-hello-world/这样的格式, 则需要在_config.yml文件里修改permalink:permalink: :category/:year-:month-:day-:title/

  • 使用PS批量处理图片

  • loading圈圈网站

References

Last updated on Oct 02, 2019.