Skip to main content

An integrated web templating environment

Project description

Tayra is a full-featured abstract markup language to template web documents. It is primarily inspired from mako-templates and HAML (especially the indentation based markup definitions). Only templating language that allow developers to build and distribute their templates as plugins, not to mention the fact that tayra’s implementation itself is heavily based on plugins.

Example,

@doctype html

<html>
  <head>
    <style text/css>
      .italics { font-style : italics; }

  <body>
    <div>
      <p> <span .italics> hello world
      <p> counting to hundred, ${[ x for x in range(1, 100) ]}

Features

  • concise and neat syntax.

  • based on pluggdapps component system.

  • leverages on pluggdapps’ configuration system.

  • full programmability available via,

    • expression substitution with optional escape encoding.

    • control-blocks like if-elif-else.

    • looping contructs like for / while.

    • python statements.

  • template abstraction using function blocks, with its own local scope.

  • import other template scripts into the local namespace and access their functions

  • template inheritance for re-usable web-layouts.

  • extensible filter blocks.

  • expression substitution can be extended by plugins to interpret different types of expression.

  • unique ability to create template plugins, distribute them as separate package.

  • easy to debug. when used with pluggdapps’ CatchAndDebug plugin, exception tracebacks are tweaked to directly point to faulting line in the template.

  • pluggable tag handlers for custom tag elements.

  • compiles down to optimal python code and optionally memcached. Also possible to persist the intermediate python code to avoid re-compilation in case of server restart.

  • works with python 3.x.

  • has full unicode support.

  • lexer for generating syntax-highlighted web documents using Pygments.

  • vim-plugin for template scripts.

  • License: GPLv3 license.

  • Requires: Linux, Python-3.x, Pluggdapps, PLY.

    • If beautify_html settings is enabled for tayra.ttlcompiler plugin, the beautifulsoup4 needs to be installed.

  • Status: Core design stable. Not expected to change.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tayra-0.45dev.tar.gz (92.0 kB view details)

Uploaded Source

File details

Details for the file tayra-0.45dev.tar.gz.

File metadata

  • Download URL: tayra-0.45dev.tar.gz
  • Upload date:
  • Size: 92.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for tayra-0.45dev.tar.gz
Algorithm Hash digest
SHA256 d77e5654f0ce4d8fbe7b05bfd24b77492a367c8ec3516f1a13e77fe1aab3d2c9
MD5 fde49d18095e3b84c3ef27f429167440
BLAKE2b-256 6569b7ea02bcaaeafe586f2b099ab12de4cbf9c0f9d032a3352ac47f064b6b32

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page