Skip to content
This repository has been archived by the owner on May 6, 2018. It is now read-only.

数据类型及字段

yhgz edited this page Nov 18, 2013 · 16 revisions

Site

属性列表

变量名 描述
site.title 网站的标题
site.url 网站的域名,字符型
site.config 网站的自定义属性
site.config.template 网站主题
site.config.dataformat 网站默认输出时间的格式
site.config.doc 网站日志文件存放位置
site.config.html 网站生成的静态HTML文件存放位置
site.config.post_per_page 网站每页显示多少文章
site.pages 所有的页面的清单
site.posts 一个按照时间倒叙的所有文章的清单
site.tags.TAG 所有在TAG标签下的文章
site.categories.CATEGORY 所有在CATEGORY标签下的文章

Menu

Menu的数据类型为数组,下面用[0]代表子元素。

属性列表

变量名 描述
menu[0].title 菜单第一个的标题
menu[0].url 菜单第一个的网址
menu[0].description 菜单第一个的描述

Link

Link的数据类型为数组,下面用[0]代表子元素。

属性列表

变量名 描述
link[0].title 友情链接第一个的标题
link[0].url 友情链接第一个的网址
link[0].description 友情链接第一个的描述

Post

属性列表

变量名 描述
post.title 文章的标题
post.date 文章的发表时间
post.url 文章的URL
post.type 文章的类型
post.filename 文章的文件名
post.filepath 文章去除site.url之后的相对路径
post.content 文章正文
post.opening 以<!--more-->分割post.content,并提取前半部分
post.read_more 如果post.opening已是全文,则为false;反之为true
post.cover 文章封面图片的url地址,取正文内的第一张插图,若无则为None
post.template 文章模板
post.tags 文章标签
post.categories 文章分类
post.prev 上一篇文章的相关信息
post.prev.title 上一篇文章的标题
post.prev.url 上一篇文章的地址
post.next 下一篇文章的相关信息
post.next.title 下一篇文章的标题
post.next.url 下一篇文章的地址
post.custom 文章的自定义变量(在文章用以custom-变量名:变量值实现)

TagCloud

TagCloud的数据类型为数组,下面用[0]代表子元素。

属性列表

变量名 描述
TagCloud[0].title 标签的名称
TagCloud[0].url 标签对应的网址
TagCloud[0].length 标签对应的文章数

CategoryCloud

CategoryCloud的数据类型为数组,下面用[0]代表子元素。

属性列表

变量名 描述
CategoryCloud[0].title 分类的名称
CategoryCloud[0].url 分类对应的网址
CategoryCloud[0].length 分类对应的文章数

Paginator

Paginator输出当前页面的页码信息

属性列表

变量名 描述
paginator.per_page 每页数量
paginator.object_list 当前页的文章,不常用
paginator.total_pages 总共多少页
paginator.page 当前是第几页
paginator.page_url 当前页的url地址
paginator.previous_page 上一页页码
paginator.pre_page 同previous_page
paginator.previous_page_url 上一页的url
paginator.pre_page_url 同previous_page_url
paginator.next_page 下一页页码
paginator.next_page_url 下一页的url
paginator.has_next 是否有下一页 True/False
paginator.has_previous 是否有上一页 True/False
paginator.has_pre 同has_previous
paginator.prefix_url 页面的url前缀,导航页的为http://abc.com/,标签页的为http://abc.com/tag/tagname,分类页的为http://abc.com/category/categoryname

###代码示例

一个比较常见的,对paginator处理的代码就是上下页导航:

  <div class="page-navigator">
    	{% if paginator.has_previous %}
 			<a class="round pre" id="pre" href="{{paginator.previous_page_url}}">{{paginator.previous_page}}</a>
 		{% endif %}
 		{% if paginator.has_next %}
    		<a class="round next" id="next" href="{{paginator.next_page_url}}">{{paginator.next_page}}</a>
    	{% endif %}
    </div>

另外一种比较常见的就是显示页码数字导航:

<nav role="pagination" class="pager">
    <ul>
    {% set total = paginator.total_pages %}
        {% set current = paginator.page %}
        {% set current_url = paginator.page_url %}
        {% if paginator.has_pre %}
            <li><a href="{{paginator.prefix_url}}/index.html">First</a></li>
            <li><a href="{{paginator.pre_page_url}}">Previous</a></li>
            {% if current < 6 %}
                {% for page in 1..(current-1) %}
                    <li><a href="{{paginator.prefix_url}}/page/{{page}}">{{page}}</a></li>
                {% endfor %}
            {% else %}
                <li><a href="index.html">1</a></li>
                <li>...</li>
                {% for page in (current-3)..(current-1) %}
                   <li><a href="{{paginator.prefix_url}}/page/{{page}}">{{page}}</a></li>
                {% endfor %}
            {% endif %}
        {% endif %} 
        <li class="current"><a href="{{current_url}}">{{current}}</a></li>
        {% if paginator.has_next %}
            {% if current > (total - 5) %}
                {% for page in (current+1)..total %}
                    <li><a href="{{paginator.prefix_url}}/page/{{page}}">{{page}}</a></li>
                {% endfor %}
            {% else %}
                {% for page in (current+1)..(current+3) %}
                    <li><a href="{{paginator.prefix_url}}/page/{{page}}">{{page}}</a></li>
                {% endfor %}
                <li>...</li>
                <li><a href="{{paginator.prefix_url}}/page/{{total}}">{{total}}</a></li>
            {% endif %}
            <li><a href="{{paginator.next_page_url}}">Next</a></li>
            <li><a href="{{paginator.prefix_url}}/page/{{total}}">Last</a></li>
       {% endif %} 
    </ul>
</nav>