含有章节索引的中文 文章模板

-- limodou [2004-09-03 04:58:02]

1. 为pyBlosxom增加样式

是pyBlosxom的模板功能,此文档参照 Flavour Templates所写,也可以算作是译文

1.1. 概述

pyBlosxom有定制样式的能力,它缺省提供了html, rss0.9和rss3的样式。

一个样式包含以下几个文件:

  • content_type.flav - 用于返回Content-type值(对于web页面来说,只是"text/html")
  • head.flav - 在Blog条目之前的内容
  • story.flav - Blog条目显示在这里
  • foot.flav- 页脚。对于关闭<table>或<div>标记有用

  • date_head.flav - 在日期前显示
  • date_foot.flav - 在日期后显示
  • comment*.flav - 查阅评论(comment)的安装

一个样式文件名的后缀可以随便起。不同的后缀用来区分不同的样式。

1.2. 样式的使用

在pyBlosxom安装后,缺省会在/usr/local/share/pyblosxom-1.0.0/contrib/flavour_examples下安装一些样式。那么你可以将这些样式拷贝到你的blog条目所在的目录。在我的实验中是放在/var/www/html/limodou/entries下。这一点很重要,开始我的样式不起作用就是因为没将样式放在正确的目录。

如果在目录下只有一个样式集,则自动会生效。如果有多个,则可以在config.py中设定一个变量来指定缺省的样式。如:

py['defaultFlavour']='html'

对于多种样式,你还可以在URL上输入: ?flav=样式名 来切换样式。

如果你的Blog还存在分类(分类就是一些子目录),则放在最顶层的数据目录中的样式对所有分类都起作用。如果想在某个分类中使用不同的样式,则只要在那个分类目录下设置新的样式就可以了。注意,新的样式后缀应与上层的样式后缀不同。

1.3. 样式的修改

对于不满意的样式,你也可以自行修改。

每个样式文件就是一段html代码。其中可以含存一些变量,叫模板变量。模板变量为$开始的一个字符串。这些变量在显示Blog时会提供给模板,然后进行相应的替换后,输出成HTML。这些变量有些是pyblosxom在分析blog记录时自动生成的,有些是从环境中取得的,还有一些可以在config.py中设置。

可以在config.py中设置:

py["renderer"] = "debug"

然后输出页面是就会以Debug的形式输出内容,其中保存了可以使用的所有模板变量。在这里有个示例:PyBlosxom模板变量

1.4. 一个简单地模板示例

这里模板后缀为basic

content_type.basic

text/html  

head.basic

<html> 
 
<head> 
  <title>$blog_title</title> 
</head> 
 
<body> 
 
  <h1><a href="$base_url">$blog_title</a></h1> 
  <h2>$blog_description</h2> 

注意,$blog_title, $base_url, $blog_description就是模板变量。这些就是从config.py从得到的。

story.basic

  <h5><a href="$base_url/$fn.html">$title</a></h5> 
  $body 

foot.basic

</body> 

</html> 

1.5. 可用的flavour资源

在planetpyblosxom上提供了两个flavour资源:

1.6. 讨论