Home » Projekte » Webber » Functions

Functions

You can call functions only from Mako templates, not from pages. If you need the latter, look at Macros.

Example 

Modified ${format_date(mtime)}

List of functions 

Here's list of functions defined by webber and it's default plugins:

format_date(timestamp, format) 

Takes a timestamp (seconds since 1st January 1970) and converts it into a string.

"format" is optional. If not used, "cfg.date_format" will be used. Otherwise it should be a format-string as documented by "man strftime". For example, "%Y-%m-%d" stands for year-month-date.

Defined in webber.py.

get_time(format) 

Returns the current date/time as a string.

"format" is optional. If not used, "cfg.date_format" will be used. Otherwise it should be a format-string as documented by "man strftime". For example, "%Y-%m-%d" stands for year-month-date.

Defined in webber.py.

get_breadcrumbs() 

Returns the breadcrumbs as "(page, link)" tuples, where "page" is a "class File"-object and link is a relative link from the current page to "page".

Defined in hierarchy.py, where you find an example.

get_current_file() 

Returns the current "class File" object.

Defined in webber.py.

get_recently(page) 

Returns a list of up to 10 pages below the specified page. If you don't specify a page, the current page will be used. For each page, you'll get a "(page, link)" tuple back, where "page" is a "class File"-object and link is a relative link from the current page to "page".

Defined in hierarchy.py, where you find an example.

get_sidemenu(root) 

Returns a menu for the current page. For each page in this menu you'll get back a "(level, part_of_path, is_current, page, link)" tuple, where "page" is a "class File"-object and link is a relative link from the current page to "page".

You'll need to specify "root" if your top-most page isn't named "Home".

Defined in hierarchy.py, where you find an example.

get_linear_sitemap(root, level) 

Returns all pages as "(level, page, link)" tuples, where "page" is a "class File"-object and link is a relative link from the current page to "page".

You'll need to specify "root" if your top-most page isn't named "Home".

The "level" will by default start at 1.

Defined in hierarchy.py, where you find an example.

get_toc() 

Returns an unsorted list with the hierarchy of the table-of-contents.

Defined in toc.py, where you find an example.

Writing functions 

A function is a simply python function which returns HTML. The function needs to be decorated with "@set_function(name)". There's an example in skeleton.py, which looks like:

@set_function("func")
def sample_func():
        if cfg.test_verbose:
                print "in macro skeleton.sample_func"
        return "{ output from sample function }"

Inside your template, you can call the function without parameters or with arbitrary parameters, like this:

${func(a=1, b="test")}

Inside your function you can access this as ...