背景
本文将持续跟进主题更新,除了 Github 的文档,就这里更详细了,有错误发现和建议可以直接提在本文后头
任何的软件作品,不论是成品还是半成品,提供一份易懂的说明还是很重要也非常有必要的。在这件事情上,我很抱歉!因为主题制作过程本来断断续续,开始我也只是想弄个主题供自己用,后来发到 Github 和 hexo 官方,发现还是有不少朋友喜欢,在此一并感谢。最近 Github 反馈的问题很频繁,所以写个文档显得更为迫切和有必要
主题概况
大概介绍下,主题的统计用的CNZZ
,评论组件用的Disqus
,搜索是Google InsightSearch
,大致风格是简书网的前身。对于统计和评论,你可以直接改主题的对应文件,替换就好了,只是考虑到统计为私有信息,因此把配置放到了站点配置文件中,如果你为此感到难受,请自己放到主题配置文件里就好。多余的不用纠结。
主题发布这段时间,感谢热心网友提 PR 改进意见,现在主题已经支持Gitment,代码高亮也显示的比较顺眼了。由于个人原因,博文和主题前半年关注较少,再次一并感谢所有对开源做出贡献的朋友们,谢谢你们。后边,咱们一起装逼,一起飞……
当你下载了这份主题,改好站点配置后,第一个工作不应该是hexo g
或hexo s
运行演示,因为这样你一定会遇到错误,要完整的运行,你需要手动配置如下项目:
1、写作模板文件配置
在scaffolds
文件夹下,保留两个文件即可:post.md
和page.md
,他们分别表示普通文章和独立页面
post模板内容如下
title: {{ title }}
date: {{ date }}
author: 托码斯
avatar: /images/favicon.png
authorLink: https://tangkunyin.com
author: https://hello.tangkunyin.com
authorDesc: 一个写代码的「伪文人」categories: 科技
tags: - hexo - web
keywords:
description:
photos:
- img/2017/demo.jpg
---
如果新建的文章要归属于某个分类,请在
categories
处对应你的分类名称即可。标签使用同理,一篇文章可以有多个标签,打标签的方式就是写成数组方式。photos
是缩略图,地址可以是相对的,也可以是绝对的。
page模板同上,但没有categories
和tags
,多了comments
,后者用来控制独立页是否支持评论组件。至于要把作者的信息放到模板里,是考虑到如果网站采用投稿方式,可以保留原创信息。即:显示不同作者不同文章信息,不会乱!
2、站点分类别名和自定义 URL 配置
关于自定义 URL,请参考这篇文章:在 hexo 博客中打造相对完美的 URL
分类别名和标签别名配置,站点_config.yml
文件中,其中主题配置文件里的menu
项需要和category_map
键值对一致。二者顺序可以不同,但是主题中的顺序决定网站导航栏菜单的顺序。
# Category & Tag
default_category: 技术
category_map:
技术: tech
人文: humanity
tag_map:
hexo: hexo
生活: life
3、站点左侧导航配置
# 便于动态配置导航,最新版把左导航写成配置方式了。注意 uri 前边的"-",这里是 object 类型,内层包了数组
leftPagesMenu:
- uri: pageName // 这个是创建 layout 为 page 类型的页面名称,简而言之,就是独立页面名称
title: navName // 故名意思,导航名称,这在大屏幕时体现
faName: fa-wifi // FontAwesome 样式名称,最新主题使用了 4.7.0,请参考http://fontawesome.io/icons/
4、社交信息
最新一版支持了telegram
, instagram
, slack
, twitter
, github
, sinaWb
, facebook
7 中,你要不嫌挤,可以全部配置上
5、关于搜索功能
相对于静态博客而言,本站所使用的搜索功能,我个人觉得还是相当赞的,但是这并不意味着需要很复杂的配置,来一起看看你的package.json
依赖吧:
"dependencies": {
"hexo": "^3.2.2",
"hexo-git-backup": "^0.1.2",
"hexo-renderer-ejs": "^0.2.0",
"hexo-renderer-marked": "^0.2.11",
"hexo-renderer-stylus": "^0.3.1",
"hexo-server": "^0.2.0",
"hexo-deployer-git": "0.2.0",
"hexo-generator-archive": "^0.1.4",
"hexo-generator-category": "^0.1.3",
"hexo-generator-index": "^0.2.0",
"hexo-generator-tag": "^0.2.0",
"hexo-generator-json-content": "^2.2.0"
}
请注意最后一行,那是用来生成检索数据content.json
用的,这个文件在你的public
下,当你无法使用搜索时,请务必检查依赖以及是否生成了数据文件。
6、关于 CNAME 多提一嘴
有朋友提Issues
说,每次deploy之后,相应的CNAME文件就丢失了,难道每次deploy都需要重新创建CNAME文件,这个怎么解决啊?
这个只是你把CNAME
文件放错位置了而已,解决办法就是把 CNAME 文件放到主题的 source 文件夹中,这样就不会丢了
特别提示
- 主题目前的最新版本是v1.0.2,由于时效性原因,上文提到的信息请慎重参考;
- 本站目前运行的版本和
1.0.2
没有特别大的差异,如有配置不清楚、运行错误等,请本文底部留言交流;