转载自:http://orzcss.com/posts/5a207d64/

概述

默认安装的 hexo 本身是没有分类和标签首页的,
例如:http://orzcss.com/categories/
页面打开后,总是显示 Cannot GET /categories/
尝试了很多方法还是无效。

找了很多资料,都没有人提供解决方案,更多的是没有答案的问题,也许是这个问题太简单了,没人愿意记录笔记。

现在告诉大家怎么实现。

步骤一

新建一个页面,命名为 ‘categories’ | ‘tags’。命令如下:

  1. 1
    2
    3
  1. hexo new page "categories"
  2.  
  3. hexo new page "tags"

步骤二

编辑刚新建的页面,将页面的类型设置为 categories | tags ,主题将自动为这个页面显示 分类|标签云。页面内容如下:

  1. 1
    2
    3
    4
    5
  1. ---
    title: 分类
    date: 2016-10-21 11:59:10
    type: "categories"
    ---
  1. 1
    2
    3
    4
    5
  1. ---
    title: 标签
    date: 2016-10-21 11:59:10
    type: "tags"
    ---

注意:如果有启用多说 或者 Disqus 评论,默认页面也会带有评论。需要关闭的话,请添加字段 comments 并将值设置为 false,如:

  1. 1
    2
    3
    4
    5
    6
  1. ---
    title: 分类
    date: 2016-10-21 11:59:10
    type: "categories"
    comments: false
    ---
  1. 1
    2
    3
    4
    5
    6
  1. ---
    title: 标签
    date: 2016-10-21 11:59:10
    type: "tags"
    comments: false
    ---

步骤三

在菜单中添加链接。编辑 yilia/_config.yml(我用的是 yilia 主题),添加 categories | tags 到 menu 中,如下:

  1. 1
    2
    3
    4
    5
  1. menu:
    home: /
    archives: /archives
    categories: /categories
    tags: /tags

步骤四 【这一步非常重要!!!】

找到 layout/_partial/article.ejs (我用的是 yilia 主题)

然后找到 <div class="article-entry" itemprop="articleBody"> 这一行

这个 div 里面的内容全部替换为:

  1. 1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
  1. <% if (page.type === "tags") { %>
    <div class="tag-cloud">
    <div class="tag-cloud-title">
    <%- _p('counter.tag_cloud', site.tags.length) %>
    </div>
  2.  
  3. <div class="tag-cloud-tags">
    <%- tagcloud({
    min_font: 12,
    max_font: 30,
    amount: 200,
    color: true,
    start_color: '#ccc',
    end_color: '#111'
    }) %>
    </div>
    </div>
  4.  
  5. <% } else if (page.type === 'categories') { %>
  6.  
  7. <div class="category-all-page">
    <div class="category-all-title">
    <%- _p('counter.categories', site.categories.length) %>
    </div>
  8.  
  9. <div class="category-all">
    <%- list_categories() %>
    </div>
  10.  
  11. </div>
  12.  
  13. <% } else { %>
  14.  
  15. <% if (post.excerpt && index){ %> <%- post.excerpt %>
    <% } else { %>
    <%- post.content %>
    <% } %>
    <% } %>

步骤五

修改样式,如果觉得不好看,自己改喜欢的样式

找到 yilia/source/css/_partial/article.styl 在最后面添加下面的 css 代码

  1. 1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
  1. /*tag-cloud*/
    .tag-cloud {
    text-align: center;
    margin-top: 50px;
    }
    .tag-cloud a {
    display: inline-block;
    margin: 10px;
    }
    .tag-cloud-title {
    font-weight: 700;
    font-size: 24px;
    }
    .tag-cloud-tags {
    margin-top: 15px;
    a {
    display: inline-block;
    text-decoration: none;
    font-weight: normal;
    font-size: 10px;
    color: #fff;
    line-height: normal;
    padding: 5px 5px 5px 10px;
    position: relative;
    border-radius: 0 5px 5px 0;
    font-family: Menlo, Monaco, "Andale Mono", "lucida console", "Courier New", monospace;
    &:hover {
    opacity: 0.8;
    }
    &:before {
    content: " ";
    width: 0;
    height: 0;
    position: absolute;
    top: 0;
    left: -18px;
    border: 9px solid transparent;
    }
    &:after {
    content: " ";
    width: 4px;
    height: 4px;
  2.  
  3. border-radius: 4px;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, .3);
    position: absolute;
    top: 7px;
    left: 2px;
    }
    }
    a.color1 {
    background: #FF945C;
    &:before {
    border-right-color: #FF945C;
    }
    }
    a.color2 {
    background: #F5C7B7;
    &:before {
    border-right-color: #F5C7B7;
    }
    }
    a.color3 {
    background: #BA8F6C;
    &:before {
    border-right-color: #BA8F6C;
    }
    }
    a.color4 {
    background: #CFB7C4;
    &:before {
    border-right-color: #CFB7C4;
    }
    }
    a.color5 {
    background: #7B5D5F;
    &:before {
    border-right-color: #7B5D5F;
    }
    }
    }
  4.  
  5. /*category-all-page*/
    .category-all-page {
    margin-top: 50px;
    .category-all-title {
    font-weight: 700;
    font-size: 24px;
    text-align: center;
    }
    .category-list-item:after {
    content: '';
    clear: both;
    display: table;
    }
    .category-list-count {
    float: right;
    margin-left: 5px;
    }
    .category-list-count:before {
    content: '一共 ';
    }
    .category-list-count:after {
    content: ' 篇文章';
    }
    }

Hexo-博客yilia主题创建分类(categories)和标签(tags)首页的更多相关文章

  1. hexo博客yilia主题深度设置

    转载:Shuyan http://dongshuyan.com/2019/05/24/hexo博客注意事项/ 1.微信分享异常 这里是themes\yilia\layout\ _partial\pos ...

  2. Hexo博客yilia主题添加Gitment评论系统

    一开始搭建hexo+yilia博客使用的评论功能是通过来必力实现的.来必力免费,功能多,一开始的体验效果很好,但是后来打开网站发现来必力加载的越来越慢(来必力是韩国的公司,可能是国内限制),遂打算换一 ...

  3. hexo博客yili主题个性化自定义教程(1) ——借鉴中学习,初认yili主题

    文章转载于:hexo博客yili主题个性化自定义教程(1) --借鉴中学习,初认yili主题 这个博客跌跌撞撞也弄了好多天了,由于Next主题不知道什么情况,被我玩坏了.所以换了一个主题. 大名鼎鼎的 ...

  4. Hexo博客maupassant主题添加Google Adsense广告

    自从在 Github Page 落户以后,很长一段时间使用的是极简且有点艺术范儿的 fexo 主题,而不是大名鼎鼎的 next 主题.后来偶然发现了符合我审美的Hexo博客 maupassant 主题 ...

  5. 关于Hexo博客NEXT主题(Gmini)站点图标不显示,显示错误的解决办法

    关于Hexo博客NEXT主题(Gmini)站点图标不显示,显示错误的解决办法   最近闲着没事自己利用Hexo和Github搭了个博客,但是在NEXT(Gmini)主题优化时,出了很多错误,图标不显示 ...

  6. hexo博客更换主题

    前边我们已经学会了博客的搭建了,这次我们来看看怎么样让我们的博客更漂亮,更个性化.那就是来更换博客的主题,让我们的博客与众不同起来.我们可以去hexo的主题官网去挑选你自己喜欢的主题风格.里边收录了很 ...

  7. hexo博客pure主题解决不蒜子计数不显示的问题

    最近在建个人博客网站,想统计自己的博客页面访问量,就用到了不蒜子页面访问统计.可是遇到了糟心事,居然不显示!!! 不蒜子官网示例:两行代码,搞定计数 <script async src=&quo ...

  8. Hexo博客skapp主题部署填坑指南

    相信大家都很喜欢 hexo skapp 的主题,由于作者采用结巴分词,加上需要依赖各种各样的环境 所以可能大家踩过很多坑,也许每个人踩得坑不一样,这里使用 Docker 容器 centos 来部署, ...

  9. Hexo博客NexT主题美化之评论系统

    前言 更多效果展示,请访问我的博客 https://kangmingxian.github.io/ 效果图:   image Valine 诞生于2017年8月7日,是一款基于Leancloud的快速 ...

随机推荐

  1. docker私有仓库部署

    首先科普docker几种“仓库”概念,可分为:本地镜像,本地仓库,公有仓库(docker hub) 本地镜像:在把java程序打包成镜像,输出的镜像的位置就是本地镜像 公有仓库:一个叫docker h ...

  2. ORA-00911: invalid character 错误解决

    多数情况如下: 控制面板--系统和安全---系统--高级系统设置--高级--环境变量--系统变量中 变量名:NLS_LANG 变量值:SIMPLIFIED CHINESE_CHINA.ZHS16GBK ...

  3. [转]Oracle 11g 基于CentOS7静默安装教程(无图形界面,远程安装) --有部份地方有问题

    Oracle 11g 基于CentOS7静默安装教程(无图形界面,远程安装) [转载]原文地址:http://canonind.blog.51cto.com/8239025/1883066 一.安装前 ...

  4. C#.Net 调用Java的Web Service

    首先,得有一个web service地址:http://www.baiduc.om/XXServices?wsdl 然后在.net 项目中添加Web引用,并把地址给它输进去 第三.编码: using ...

  5. 一、C++类库与C#类库相互调用

    1.C++调用C#类库 1.准备C#类库(dll文件) 1.1.创建C#类库: 右击项目类库生成即可, 出现.dll(类库)与.pdb(pdb文件包含了编译后程序指向源代码的位置信息, 用于调试的时候 ...

  6. UNIX网络编程总结四

    socket: 为了执行网络I/O,一个进程做的第一件事就是调用socket函数. family指明协议族,type指明类型,除非在原始套接口,protocol一般为0,并非所有的family,typ ...

  7. mysql查询时间戳转换

    mysql查询时间戳转换 SELECT FROM_UNIXTIME(create_time) FROM tablename; 更新时间为七天以后 UPDATE t_rebate_trade_item ...

  8. 前端 js javascript

    新浪SAE公共资源 推荐指数★★★ 支持https http://lib.sinaapp.com/http://lib.sinaapp.com/js/jquery/2.0.3/jquery-2.0.3 ...

  9. Windows电脑无法识别USB设备怎么办?

    您可能已经注意到,如果您使用USB设备并将其插入计算机,Windows会识别并配置它.然后,如果你拔掉它并将其重新插入另一个USB端口,Windows就会出现一连串的健忘症,并认为这是一个完全不同的设 ...

  10. python:图片拼接

    一:尺寸相同的图片拼接 import os from PIL import Image width_i = 200 height_i = 200 row_max = 3 line_max = 3 al ...