2009-05-07 8 views

Répondre

1

Si vous changez de Genshi au lieu de l'enfant par défaut, vous pouvez le faire avec une balise include:

<xi:include href="menu.html" /> 

Permutation à Genshi est assez facile, je pense qu'il est une question de confuration seulement. Les balises templates fonctionnent autrement pareil. Vous devez cependant renommer les extensions de .kid en .html.

+0

Ceci est correct seulement dans 2 balises et est plus rapide, compile pour une meilleure syntaxe et en plus donne une meilleure sortie d'erreur. –

1

Vous pouvez d'abord définir un modèle de "base_layout.kid":

<html xmlns:py="http://purl.org/kid/ns#"> 
    <head> 
     <title>App Name - ${page_title}</title> 
     <link href="layout.css" type="text/css" rel="stylesheet" /> 
     ${page_specific_css()} 
    </head> 

    <body> 
     <h1>Now viewing: ${page_title} of App Name</h1> 

     <content>Default content</content> 

     <div class="footer">Page Footer Text</div> 
    </body> 

</html> 

remplacez le tag "contenu" dans "page.kid" avec toutes les données que vous voulez:

<html py:layout="'base_layout.kid'" 
    xmlns:py="http://purl.org/kid/ns#"> 

    <link py:def="page_specific_css()" 
    href="layout.css" type="text/css" rel="stylesheet" /> 

    <div py:match="item.tag == 'content'"> 
     <ul> 
      <li>Content Item 1</li> 
      <li>Content Item 2</li> 
      <li>Content Item 3</li> 
     </ul> 
    </div> 

</html> 

Vous peut vérifier si vous obtenez le html correct dans le shell python (après avoir enlevé tous les identifiants utilisés):

>>> import kid 
>>> t = kid.Template("page.kid") 
>>> print t.serialize() 
Questions connexes