Hexo + Github Page 搭建技术博客教程系列(二) 之 配置 yilia 主题

庄小帅的博客

前言


在上一篇博客中,我们介绍了如何搭建自己的博客。今天我们接着说说如何进行博客的主题 (theme) 配置来美化自己的博客页面。首先可以在 hexo 官网主题页 寻找你喜欢的个性主题,根据官网使用文档说明修改相应的配置,达到自己想要的效果,例如设置字体、开启打赏功能、添加评论系统、数据统计等功能。设置不同的主题,博客的页面外观风格完全不同。我们推荐的主题是 litten 老哥制作的 yilia 主题,可以点击 litten 老哥的博客 预览效果。

yilia.png

主题选择与下载安装


我们以 yilia 主题为例,说说如何下载安装主题。可以在 hexo 主题官网 中进行搜索相应主题,也可以打开 yilia 主题主页 查看如何操作。如果不求甚解的话,简单,直接打开命令行,敲下面一行代码就完事了。
$ git clone https://github.com/litten/hexo-theme-yilia.git themes/yilia

这样,yilia 主题就已经下载安装到本地博客文件夹下的 themes/yilia/ 文件夹下了。

主题使用


修改 hexo 博客根目录下的配置文件 _config.yml 的 theme属性为 yilia 即可(注意冒号后面有一个空格):
theme: yilia

这样博客就已经配置为 yilia 主题了,可以在本地 hexo s 预览下效果。

主题配置


基本配置

打开 yilia 主题的配置文件 /themes/yilia/_config.yml,有关主题的配置几乎都在这个文件里实现了,可以根据我的配置文件进行相应修改添加。

# Header
menu: # 菜单
  主页: /
  技术: tags/tech
  随笔: tags/something
  相册: /photos

subtitle: # 博客名字下面的个性签名

# SubNav
subnav: # 页面左侧的社交图标
  github: "https://github.com/你的Github"
  #weibo: "微博主页链接"
  zhihu: "知乎主页链接"
  #qq: "#"
  weixin: "微信二维码链接"
  #douban: "豆瓣主页链接"
  #mail: "邮箱"
# RSS 功能
rss: /atom.xml

# 是否需要修改 root 路径
# 如果您的网站存放在子目录中,例如 http://yoursite.com/blog,
# 请将您的 url 设为 http://yoursite.com/blog 并把 root 设为 /blog/。
root: /

# Content
excerpt_link: more # md文章中插入 <!-- more --> 就会截断文章显示摘要,在对应位置显示"more"
# 文章卡片右下角常驻链接,不需要请设置为false
show_all_link: '展开全文'
# 数学公式
mathjax: false
# 是否在新窗口打开链接
open_in_new: true
# fancybox
fancybox: true

# 打赏功能设定:0-关闭打赏; 1-文章对应的md文件里有reward:true属性,才有打赏; 2-所有文章均有打赏
reward_type: 2
reward_wording: '谢谢大佬' # 打赏显示的字
# 支付宝收款二维码图片地址,跟你设置头像的方式一样。比如:/assets/img/alipay.jpg
alipay: /assets/img/alipay.png
# 微信收款二维码图片地址
weixin: /assets/img/wxpay.png

# 目录
# 目录设定:0-不显示目录; 1-文章对应的md文件里有toc:true属性,才有目录; 2-所有文章均显示目录
toc: 1
# 根据自己的习惯来设置,如果你的目录标题习惯有标号,置为true即可隐藏hexo重复的序号;否则置为false
toc_hide_index: true
# 目录为空时的提示
toc_empty_wording: '目录,不存在的…'

# 是否有快速回到顶部的按钮
top: true

# Miscellaneous
baidu_analytics: '475fe3bc980b2bb65bae8bbf8de77994' # 百度分析
google_analytics: ''
favicon: /assets/img/myico.ico # 网页加载图标

#你的头像
avatar: /assets/img/heichuan.png 

#是否开启分享
share_jia: true

#评论:1、多说;2、网易云跟帖;3、畅言;4、Disqus;5、Gitment
#不需要使用某项,直接设置值为false,或注释掉
#具体请参考wiki:https://github.com/litten/hexo-theme-yilia/wiki/

# 样式定制 - 一般不需要修改,除非有很强的定制欲望…
style:
  # 头像上面的背景颜色
  #header: '#4d4d4d'
  header: '#00000'
  # 右滑板块背景
  #slider: 'linear-gradient(200deg,#a0cfe4,#e8c37e)'
  slider: 'linear-gradient(200deg,#1E90FF,#B0C4DE)'

# slider的设置
slider:
  # 是否默认展开tags板块
  showTags: true

# 配置gitalk
gitalk:
  enable: true
  owner: Username
  repo: '存储评论的 repo'
  clientID: ''
  clientSecret: ''
  admin: Username
  distractionFreeMode: true

# 智能菜单
# 如不需要,将该对应项置为false
# 比如
#smart_menu:
friends: true # 友链
smart_menu:
  innerArchive: '所有文章'
  friends: '友链'
  aboutme: '关于我'

friends: # 友链
  水恒涛的博客: http://hengtao.top/
  刘看山的博客: https://xiangyuliuseu.github.io/
  吕归尘的博客: https://guichenlv.github.io/

# aboutme: 你好<br><br>这是我的博客<br>很高兴认识大家<br><br>Le vent se lève,<br>il faut tenter de vivre

修复失效的微信分享二维码

由于 yilia 主题作者已经不维护了,微信分享的二维码已经过期了,因此需要进行相应的替换。打开 themes\yilia\layout\_partial\post\share.ejs 文件,把第49行中的 //pan.baidu.com/share/qrcode?url= 修改为: //api.qrserver.com/v1/create-qr-code/?size=150x150&data=

同时,修改博客配置文件 _config.ymlurl 为你的博客站点,如:

url: http://littledream.top 

这样,点击文章页面右下角的分享按钮就可以将文章分享到微信了。

所有文章按钮功能启用

启用 yilia 主题后会发现点击“所有文章”按钮会出现错误,提示缺少模块。在博客根目录安装相应模块。
npm i hexo-generator-json-content --save
接着在博客配置文件 _config.yml 最下面加上以下代码即可。

# 缺失模块解决
jsonContent:
  meta: false
  pages: false
  posts:
    title: true
    date: true
    path: true
    text: false
    raw: false
    content: false
    slug: false
    updated: false
    comments: false
    link: false
    permalink: false
    excerpt: false
    categories: false
    tags: true

添加图片资源文件夹

之前提到的 头像、微信收款二维码、支付宝收款二维码、微信二维码、加载图标 ico 等图片源文件需要存放在对应的文件夹中。因此在博客根目录/source/下新建文件夹assets/img/文件夹,把之前提到的这些图片源文件存放在这个文件夹里即可。此时博客根目录下的 source 文件夹里有以下几个文件(夹):

source.png

其中,_drafts 为博客草稿文件夹, _posts 为博客文件夹, assets 为图片资源文件夹, CNAME 为之前添加的存放博客域名的文件,tags 为添加的标签分类(下一篇博客会说到)。

ico 图标的制作与设置

ico 图标是干什么的呢?咱们看看下面的这张图就知道这里的 ico 图标是干什么的了:

ico.png

添加站点访问人数/次数统计

使用 不蒜子 来统计并显示访问次数,只需要两行代码。首先在 yilia 主题的配置文件中定义不蒜子属性:

busuanzi:
    enable: true

再打开 /themes/yilia/layout/_partial/footer.ejs,在 </footer> 上面添加以下代码:

<% if (theme.busuanzi && theme.busuanzi.enable){ %>
      <!-- 不蒜子统计 -->
      <script async src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script>
      <span id="busuanzi_container_site_pv" style='display:none'>
            本站总访问量<span id="busuanzi_value_site_pv"></span>次
      </span>
      <span class="post-meta-divider">|</span>
      <span id="busuanzi_container_site_uv" style='display:none'>
            本站总访客数<span id="busuanzi_value_site_uv"></span>人次
      </span>
<% } %>

这样在网页底部就会显示站点访问次数与访问人数。

添加文章阅读次数统计

与上面一条相似的,可以使用不蒜子统计每一篇文章的阅读次数。打开 /themes/yilia/layout/_partial/article.ejs,在 </header> 上面添加以下代码:

<% if ( !index ){ %>
  <span class="archive-article-date">
      阅读量:<span id="busuanzi_value_page_pv">
  </span>
<% } %>

这样在文章详情页面上部就可以显示文章的阅读次数。

添加文章字数/阅读时间统计


首先,安装字数统计插件,在博客根目录下 Git Bash Here:
npm i --save hexo-wordcount

接着,在 themes/yilia/layout/_partial/post/ 文件夹下新建 word.ejs 文件:

<div style="margin-top:10px;">
    <span class="post-time">
      <span class="post-meta-item-icon">
        <i class="fa fa-keyboard-o"></i>
        <span class="post-meta-item-text" style="font-size: 14px;color: grey">  字数统计:</span>
        <!--这里样式可以自己定制-->
        <span class="post-count" style="font-size: 14px;color: grey"><%= wordcount(post.content)%>字</span>
      </span>
    </span>

    <span class="post-time">
      &nbsp; | &nbsp;
      <span class="post-meta-item-icon">
        <i class="fa fa-hourglass-half"></i>
        <span class="post-meta-item-text" style="font-size: 14px;color: grey">  阅读时长:</span>
        <span class="post-count" style="font-size: 14px;color: grey"><%= min2read(post.content)%>分钟</span>
      </span>
    </span>
</div>

然后,打开 themes/yilia/layout/_partial/article.ejs,修改相应代码为:

  <div class="article-inner">
    <% if (post.link || post.title){ %>
      <header class="article-header">
        <%- partial('post/title', {class_name: 'article-title'}) %>
        <% if (!post.noDate){ %>
        <%- partial('post/date', {class_name: 'archive-article-date', date_format: null}) %>

        <!-- 需要添加的位置 -->
        <!-- 开始添加字数统计-->
        <% if(theme.word_count && !post.no_word_count){%>
          <%- partial('post/word') %>
          <% } %>
        <!-- 添加完成 -->

        <% } %>

        <% if ( !index ){ %>
          <span class="archive-article-date">
              阅读量:<span id="busuanzi_value_page_pv">
          </span>
        <% } %>

      </header>
    <% } %>

最后,在yilia主题的配置文件 _config.yml 中添加技术属性:

# 字数计数
word_count: true

至此就完成了 yilia 主题的基本配置,如果还有一些其他的个性化要求,下一篇博客我们将接着介绍如何设置头像旋转、自定义左侧背景、添加 fork me on Github 图标、添加评论插件、更改社交软件图标等。

参考信息


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,406评论 6 503
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,732评论 3 393
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,711评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,380评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,432评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,301评论 1 301
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,145评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,008评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,443评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,649评论 3 334
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,795评论 1 347
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,501评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,119评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,731评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,865评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,899评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,724评论 2 354