Skip to content
Snippets Groups Projects
user avatar
Martin Geisler authored
Emacs doesn't recognize "utf8" as a valid coding system. The correct
name is "utf-8". This is in line with the UTF-8 FAQ:

  http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8

  The official name and spelling of this encoding is UTF-8, where UTF
  stands for UCS Transformation Format. Please do not write UTF-8 in
  any documentation text in other ways (such as utf8 or UTF_8), unless
  of course you refer to a variable name and not the encoding itself.
8c079b3b

Mako Templates for Python

Mako is a template library written in Python. It provides a familiar, non-XML syntax which compiles into Python modules for maximum performance. Mako's syntax and API borrows from the best ideas of many others, including Django templates, Cheetah, Myghty, and Genshi. Conceptually, Mako is an embedded Python (i.e. Python Server Page) language, which refines the familiar ideas of componentized layout and inheritance to produce one of the most straightforward and flexible models available, while also maintaining close ties to Python calling and scoping semantics.

Nutshell

<%inherit file="base.html"/>
<%
    rows = [[v for v in range(0,10)] for row in range(0,10)]
%>
<table>
    % for row in rows:
        ${makerow(row)}
    % endfor
</table>

<%def name="makerow(row)">
    <tr>
    % for name in row:
        <td>${name}</td>\
    % endfor
    </tr>
</%def>

Philosophy

Python is a great scripting language. Don't reinvent the wheel...your templates can handle it !

Documentation

See documentation for Mako at http://www.makotemplates.org/docs/

License

Mako is licensed under an MIT-style license (see LICENSE). Other incorporated projects may be licensed under different licenses. All licenses allow for non-commercial and commercial use.