让octopress支持标签(tag)

  • 安装插件

    • octopress-tag-cloud
  • 在侧边栏显示标签云
  • 使用
  • 参考

安装插件

目前有多个插件实现标签功能。其中一个是octopress官方推荐版本,据说不支持多标签。还有些人用的是“3D”标签云,风格上我不是太喜欢。最终选用的是robbyedwards的一组插件。这组插件有两个,一个是octopress-tag-pages,用于生成标签页面,另一个是octopress-tag-cloud,用于显示实现标签云功能。

### octopress-tag-pages

首先安装octopress-tag-page。从上面链接处得到插件,复制这些文件到octopress的相同路径:

plugins/tag_generator.rb

source/_includes/custom/tag_feed.xml

source/_includes/post/tags.html

source/_layouts/tag_index.html

其中tag_generator.rb和tag_feed.xml是必须的,其它据网上的一些人说是可选的。

另外一些文件是同名文件,如果复制过来一方面会影响已经配置的功能,另外可能导致发生一些问题(可能是版本兼容的问题造成的)。

这个插件不需要做配置。

octopress-tag-cloud

然后安装octopress-tag-cloud。在上面链接处得到插件,同样复制一些文件到octopress的相同路径:

plugins/tag_cloud.rb

source/_includes/custom/asides/tags.html

tag_cloud.rb为必须。tags.html为在侧边栏显示标签的示例。可以参照它进行配置。

在侧边栏显示标签云

在_config.yml中的default_asides:中增加custom/asides/tags.html,用于在侧边栏显示标签云。如果想汉化,则修改tags.html等文件即可。

使用

在新建的博客文件中加入一行“tags: ”,类似:

---
layout: post
title: "test tag"
published: true
date: 2014-10-28 00:42
comments: true
tags: [扩展, ttt]
categories:
---

这样会给这一博文增加两个标签,使标签与分类对文章进行不同维度的分类。

当有文章有多个标签时,在执行rake generate时会出现类似如下问题:

1
2
3
4
5
6
7
8
9
10
$ rake generate
(in /ubdata/octopress)
## Generating Site with Jekyll
identical source/stylesheets/screen.css
Configuration file: /ubdata/octopress/_config.yml
            Source: source
       Destination: public
      Generating...
  Liquid Exception: comparison of Array with Array failed in _layouts/page.html
jekyll 2.4.0 | Error:  comparison of Array with Array failed

经十几天的反复测试,发现在source/_includes/custom/asides/tags.html如果加了“limit”参数,就会出现问题。去掉就好了。

另一个问题是2.0版本的ocroptrss调用的generate操作会执行plugings中的所有插件,所以会报一些错,忽略即可。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
$ rake generate
(in /ubdata/octopress)
## Generating Site with Jekyll
identical source/stylesheets/screen.css
Configuration file: /ubdata/octopress/_config.yml
            Source: source
       Destination: public
      Generating...
     Build Warning: Layout ‘nil‘ requested in tags/kuo-zhan/atom.xml does not exist.
     Build Warning: Layout ‘nil‘ requested in tags/ttt/atom.xml does not exist.
     Build Warning: Layout ‘nil‘ requested in tags/kuo-zhan/atom.xml does not exist.
     Build Warning: Layout ‘nil‘ requested in tags/ttt/atom.xml does not exist.
                    done.
 Auto-regeneration: disabled. Use --watch to enable.

参考

http://codemacro.com/2012/07/18/add-tag-to-octopress/

http://loudou.info/blog/2014/02/15/wei-octopress-tian-jia-tag-gong-neng/

原文链接地址:
http://pangyi.github.io/blog/20150125/rang-octopresszhi-chi-biao-qian-(tag)/

written by PangYi
?posted at http://pangyi.github.io

时间: 2024-12-18 04:38:43

让octopress支持标签(tag)的相关文章

JSP自定义分页标签TAG

首先我们需要在WEB-INF/tld/目录下创建page.tld文件 <?xml version="1.0" encoding="ISO-8859-1"?> <taglib> <tlib-version>1.0</tlib-version> <jsp-version>1.2</jsp-version> <short-name>page</short-name> <u

struts2 官方系列教程三:使用struts2 标签 tag

避免被爬,先贴上本帖地址:struts2 官方系列教程一:使用struts2 标签 tag http://www.cnblogs.com/linghaoxinpian/p/6901316.html 本教材假定你已完成了HelloWorld项目,你可以在 struts2 官方系列教程三:使用struts2 标签 tag 下载本章节的代码 在上一节教程中,我们在index.jsp中使用 url tag 创建了一个超链接hello.action 这节我们将探索struts2中其它tags Web应用程

一、变量.二、过滤器(filter).三、标签(tag).四、条件分支tag.五、迭代器tag.六、自定义过滤器与标签.七、全系统过滤器(了解)

一.变量 ''' 1.视图函数可以通过两种方式将变量传递给模板页面 -- render(request, 'test_page.html', {'变量key1': '变量值1', ..., '变量keyn': '变量值n'}) -- render(request, 'test_page.html', locals()) # locals() 就是将视图函数中的所有变量都传递给模板页面 2.模板页面中对变量的使用 def dtl(request): num = 3.14 ss = '大碗宽面' #

DESTOON B2B标签(tag)调用手册

什么是标签调用?标签调用是根据调用条件(condition)从数据表(table)读取调用数量(pagesize)条数据,并按排序方式(order)排序,最终通过标签模板的布局输出数据.可以看出,标签的工作分两个部分,一是读取数据,二是显示数据. 标签函数原型标签函数保存于 include/tag.func.php tag($parameter, $expires = 0) $parameter 表示传递给tag函数的字符串,系统自动将其转换为多个变量.例如传递 table=destoon&pa

检测浏览器是否支持标签的某个属性

例如 IE lt9 不支持 input标签的 placeholder 属性: 1 function placeholder() { 2 return 'placeholder' in document.createElement('input'); 3 } 扩展:其他元素是否支持 指定的属性: function isPropertySupport(property,tagName) { return property in document.createElement(tagName); }

HTML5不支持标签和新增标签

1.HTML5不支持或不赞成使用的标签 <acronym>——定义只取首字母的缩写,HTML5 不支持.使用<abbr>定义缩写代替,其中title 属性可用于在鼠标指针移动到元素上时显示出缩写的完整版本,坚持写上title,这样对浏览器和搜索引擎都比较友好. <applet>——定义嵌入的 applet,HTML5 中不支持.使用 object 元素标签代替. <b>——定义规定粗体文本.支持但根据 HTML5 规范,在没有其他合适标签更合适时,才应该把

Struts2 自定义下拉框标签Tag

自定义标签主要包括三个步骤: 1.编写java类,继承TagSupport类: 2.创建tld文件,影射标签名和标签的java类: 3.jsp页面引入tld. 例子:自定义下拉框标签 如果页面上有下拉选择框,通常最好的解决方法是使用数据字典,因为有可能多个页面 使用同一个下拉框,便于后台统一维护. 自定义Tag类 import java.io.IOException; import javax.servlet.jsp.JspException; import javax.servlet.jsp.

androi自定义自动换行的View(类似网页的标签Tag)

看来只有礼拜天才有时间写点博客啊,平时只能埋头苦干了.今天在公司加班,遇到一个需求,就是自动换行的TextView,有点像网页的tag标签,点击一下,就自动加上去了,不过这个是根据后台拿来的数据来显示多少个View,在网上找找,看见了许多,我自己也封装写一个吧,以便以后需要...开工 package com.woyou.ui.component; import android.content.Context; import android.util.AttributeSet; import an

PHP标签Tag的设计模式

没有太多时间进行全文翻译,就把重点挑出来,用自己的话串起来,名曰 选择性翻译. 以后可能会比较多的采用这种方式. 社会书签的tag存储一直是一个比较麻烦的问题. 一个好的数据表设计,不但要能准确查出tag,还应该支持tag的AND/OR/NOT查询.我们来看看解决方案. “MySQLicious” solution 表结构 存储实例 Intersection (AND) “search+webservice+semweb”类的查询: SELECT * FROM `delicious` WHERE