标签归档:Hexo

Next主题中从服务器加载Google字体

 

概述

想要在Hexo的Next主题中使用Google字体,一个问题在于这个字体的加载并不是很方便(与Next主题本身无关)。

解决的方法可以是修改主题,在没有合适CDN的情况下,从服务器直接加载对应字体也是一种选择。

实现

准备字体

首先,通过Chrome开发者工具,会发现难以加载的是这一css文件以及相关联的字体:

当前使用的Next主题使用的是Lato这一个字体,那么应该如何得到这一字体呢?

这时候就需要Google WebFont Downloader了。

如果有Node环境,那么直接执行:

即可。

使用上,可以通过-h查看参数定义:

通过上面的url,可以确定使用的的字体为Lato,那么下载相同的字体需要指定的参数为:

这里-a参数保证下载了所有字体。

如果可以顺利的访问对应的资源,那么成功之后将会在当前目录出现字体名为名字的css以及字体目录。

修改主题

对应的域名是googleapis,可以考虑在Next主题的vendors目录下新增一个同名的目录,将css以及字体组织。目录层级会变为:

剩下的工作是,在加载原先的css的partials中将url改成加载verdors中对应的地址即可:

当然,如果不想这么麻烦,直接在主题设置中关闭Lato字体即可。

从Pelican到Hexo

起因

用Pelican在GitHub上搭blog有段时间了,一直想要更清爽简单的blog解决方案,之前使用的Pelican算是满足了我的需求,但是还想尝试一下其他的系统,同时从视觉效果上来说Hexo+Next主题目前更让我觉得满意,于是决定从Pelican迁移到Hexo。

问题

搭建、使用Hexo的教程google一下就能找到,这里主要说一下自己迁移过程中遇到的一些小问题。

文档迁移

Pelican本身也是支持Markdown的的文章写作方式,其实需要修正的地方主要是头部的部分属性。

首先可以将Pelican的content目录下的所有Markdown文件复制到Hexo目录下的source/_posts/目录下。

Pelican通过DateTitleCategoryTagsSlug来表征写作时间、标题、分类、标签、Url等信息,例如:

而Hexo也是类似:

可以简单使用sed完成转换:

关于sed -i后的参数问题,参见stackoverflow上关于在Mac OS X下的sed使用问题

Git设置

允许Git添加非ASCII文件

hexo deploy过程中会在Git中在添加非ascii文件,所以需要在选项中开启这一设置。

Git中文文件名

某些情况下文章使用了中文tag,而生成Tag时会生成中文文件名的目录文件,Git需要关闭对中文文件名的转码。

GitHub CNAME问题

使用GitHub部署的情况下,绑定自定义域名的方法自然是添加一个CNAME文件,最简单的方法可以使用插件来完成。

最后

以上