Hexo主題實現多級分類顯示

前言

最近在搞一個博客,是託管在githubgitcafe上的,利用Hexo生成的。
以後,發現一個問題,顯示的分類都是一級的。而我想要的是:能顯示多級分類,井井有條`的那樣。css

問題

基本主題自帶的分類顯示都是一級的,如何顯示多級?html

解決方案

因此,研究了一下,找到了理想的方法,方法以下:git

  1. 利用系統的list_categories([categories], [options])輔助函數生成分類列表;github

  2. 利用css實現樣式.hexo

示例

說明:我使用的是jacman主題,以這個主題爲例說明。ide

  1. 在主題文件夾下找到layout/_widget/category.ejs文件,內容以下:函數

    <% if (site.categories.length){ %>
    <div class="categorieslist">
        <p class="asidetitle"><%= __('categories') %></p>
            <ul>
            <% site.categories.sort('name').each(function(item){ %>
              <% if(item.posts.length){ %>
                <li><a href="<%- config.root %><%- item.path %>" title="<%= item.name %>"><%= item.name %><sup><%= item.posts.length %></sup></a></li>
              <% } %>
            <% }); %>
            </ul>
    </div>
    <% } %>
  2. 修改內容,利用上面提到的list_categories([categories], [options])輔助函數:post

    <% if (site.categories.length){ %>
    <div class="category-block">
      <h3 class="asidetitle"><%= __('categories') %></h3>
         <%- list_categories(site.categories) %>
    </div>
    <% } %>
  3. 修改樣式文件code

  • 在主題文件夾下找到source/css/_partial/aside.styl文件,其餘的也多是source/css/_partial/sidebar.styl。反正,能在頁面顯示便可。htm

  • 添加新的樣式,個人以下:

    //categories
    .category-block>ul>li
      border-bottom 1px solid #ccc
    .category-block li
      margin-bottom 8px
    .category-list
      @media mini
        width 45%
        float left
        margin 0 5% 0 0
      @media tablet
        width 100%
        float none
        margin .5em 0 0
      .categoriy-list-item
        padding .5em 5%
      .category-list-count
        top -.5em
        padding-left .3em
        font-size 75%
        line-height 0
        position relative
        vertical-align baseline
      ul, ol, dl
        list-style none
      ul, ol, dl
        background-color #f9f9fa
        margin-left 20px
        li
          border-bottom 1px dashed #ccc
      .category-list-child
        border-top 1px dashed #ccc
        margin-bottom 8px

想實現不一樣的樣式,本身能夠修改。

效果圖

原文來自:http://git.seay.me

相關文章
相關標籤/搜索