搭建个人博客 HEXO+Node.Js(四)


本站采用Hexo-Theme-Matery主题

修改摘要(summary)在“前一篇/后一篇”卡片中”失效”的问题

matery的文章目录是卡片式的。
在首页,若文章有摘要,则会显示摘要(summary),若没有才会显示文章的前70个字。
但是在打开其中一篇文章时,最底部的“前一篇”和“后一篇”文章的卡片上却直接显示文章的前120个字,不论前/后一篇文章有没有摘要。我做出如下更改,使得在“前一篇”和“后一篇”文章的卡片上也同样显示摘要。
对/themes/hexo-theme-matery/layout/_partial/prev-next.ejs文件作如下更改:

第41行左右,<div class="summary">...</div>的那行改成以下几行:

<div class="summary">
      <% if (page.prev.summary && page.prev.summary.length > 0) &#123; %>
          <%- page.prev.summary %>
      <% &#125; else &#123; %>
          <%- strip_html(page.prev.content).substring(0, 70) %>
      <% &#125; %>
  </div>

第104行左右,<div class="summary">...</div>的那行改成以下几行:

<div class="summary">
      <% if (page.summary && page.summary.length > 0) &#123; %>
          <%- page.summary %>
      <% &#125; else &#123; %>
          <%- strip_html(page.content).substring(0, 70) %>
      <% &#125; %>
  </div>

第168行左右,<div class="summary">...</div>的那行改成以下几行:

  <div class="summary">
      <% if (page.next.summary && page.next.summary.length > 0) &#123; %>
          <%- page.next.summary %>
      <% &#125; else &#123; %>
          <%- strip_html(page.next.content).substring(0, 70) %>
      <% &#125; %>

增加在文章页显示作者名的功能

原来只会在文章卡片上显示作者名(并且是在没有分类的情况下),在文章内容页没有显示作者名。作如下修改使得在文章页显示:
在post-detail.ejs第37行左右,增加下列代码:

 <div class="text-color" align=center style="font-size:large">
    <% if (page.author && page.author.length > 0) &#123; %>
        <i class="far fa-square"></i> <%- page.author %>
    <% &#125; else &#123; %>
        <i class="far fa-square"></i> <%- config.author %>
    <% &#125; %>
</div>

修改配色

原来的主题虽然很好看,但是没有一个统一的主题色。可在/themes/hexo-theme-matery/source/css/matery.css中修改标题栏、菜单栏、各种标签背景的颜色,使主题颜色为Material的粉红色。感谢Material Design Colours提供的配色方案。

到此搭建个人博客就告一段落啦~


文章作者: zelin
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 zelin !
  目录