::-- qingfeng [2005-08-15 03:37:14]

1. 什么是ClearSilver

2. 为什么使用ClearSilver

3. 文档

http://www.clearsilver.net/docs/

4. 下载

http://www.clearsilver.net/downloads/

5. 教程

一切从Hello World开始

::-- ZoomQuiet [2005-08-23 03:52:16]

5.1. 快速体验

clearsilver是一个高性能的模版系统,让我们看看他的使用网站,就知道他的表现有多好。

  1. Bloglines
  2. Google Groups
  3. Yahoo Groups

其他的应用请到这里http://www.clearsilver.net/examples.hdf

clearsilver由3各部分组成:hdf数据描述,cst模版文件,py逻辑处理向hdf赋值

http://www.clearsilver.net/img/misc/Clearsilver-Architecture.gif

编写hdf文件:hello.hdf

# This is my static data for Hello World (and this is a comment)

Hello = Hello World!

WeekDays {
        0 = Sunday
        1 = Monday
        2 = Tuesday
        3 = Wednesday
        4 = Thursday
        5 = Friday
        6 = Saturday
}

编写模版文件:hello.cst

<?cs var:Hello ?>
<br>

<?cs each:day = WeekDays ?>
    On <?cs var:day ?>, <?cs var:Hello ?> <br>
<?cs /each ?>

<?cs if:?Query.day ?>
    <font color="red">On <?cs var:WeekDays[Query.day] ?>, <?cs var:Hello ?> </font><br>
<?cs /if ?>

Hey <?cs var:html_escape(Query.name) ?>, <?cs var:Hello ?>

这个模版文件唯一要注意的就是cs if:?Query.day,是用来处理链接参数的:cgi-bin/hello.py?day=1

模版语法详见: http://www.clearsilver.net/docs/

然后将这两部分合二为一:

   1 #!/usr/bin/python
   2 #
   3 # Hello World using the ClearSilver CGI Kit and Python
   4 
   5 import neo_cgi
   6 
   7 # create a CGI handler context
   8 ncgi = neo_cgi.CGI() 
   9 
  10 # parse the form data (and post upload data)
  11 ncgi.parse()
  12 
  13 # Load our static data
  14 ncgi.hdf.readFile("hello.hdf")
  15 
  16 ncgi.display("hello.cst") 

P.S: 测试环境winXP+IIS5(懒得装apache了)

6. 讨论

  • 感觉clesarsilver很像zope的dtml,都有循环、判断语句什么的。 --tomz
  • 因为都是模版系统,所以肯定有类似的地方,clesarsilver的优势在于:语言无关,性能好,模版语言丰富,逻辑界面分离。--清风

ClearSilver (last edited 2009-12-25 07:09:36 by localhost)