Jump to content

Kid (templating language)

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Xardox (talk | contribs) at 13:40, 16 January 2016 (Kid is definitely the view, not the controller. Same link (MVC), different buzzword.). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Kid is a simple template engine for XML-based vocabularies written in Python. Kid claims to have many of the best features of XSLT, TAL, and PHP, but "with much of the limitations and complexity stamped out".

Kid initially acted as the View component of the TurboGears framework in the framework's version 1.x implementation; however, the TurboGears project team has since replaced it with Genshi, citing perceived performance advantages.[1]

Kid is used by the Fedora Project in the repoview utility [2] which creates a set of static HTML pages within a YUM repository.

Example

Python part:

from kid import Template
template = Template(file='mytemplate.kid',
    title='bar',
    mylist=['1', '2', '3', '4', '5', '6']
)
print template.serialize()

Template part:

<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:py="http://purl.org/kid/ns#">
  <head>
    <title py:content="title">title goes here</title>
  </head>
  <body>
    <ul>
      <li py:for="item in mylist" py:content="item">item goes here</li>
    </ul>
  </body>
</html>

References

  1. ^ Replacing Kid with Genshi, A Brief Introduction to Kid Templates — TurboGears v1.0 documentation
  2. ^ Repoview at Fedora Hosted