Skip to main content

Description

tjst = Tiny JavaScript Templating

High performance JS template engine.

It supports:

  • Anything you can write on JS =)

  • Server-side and client-side compilation.

  • …?

It not supports:

  • Templates inheritence.

  • Includes.

  • …?

Installation

$ git clone https://bitbucket.org/dkuryakin/tjst.git
$ cd tjst && python setup.py install

or

$ pip install tjst

Quickstart

tjst supports only <% %> and <%= %> tags.

Suppose, we have file index.html file in some folder:

<!doctype html>
<html>
    <head>
        <script src="tpl.js"></script>
    </head>
    <body>
        <div id="content"></div>

        <script>
            var context = {
                users: [
                    {name: "Jeff", online: true,   info: "Jeff likes html"},
                    {name: "Mike", online: true,   info: "Mike likes css"},
                    {name: "Rose", online: false,  info: "Rose likes javascript"},
                    {name: "Anna", online: false,  info: "Anna likes perl"},
                ]
            };
            document.getElementById('content').innerHTML = templates['tpl.html'](context);
        </script>
    </body>
</html>

And template file tpl.html in the same folder:

<% for (var i = 0; i < users.length; i++) { %>
    <div>
        <strong style="color: <%=users[i].online ? 'green' : 'red'%>"><%=users[i].name%></strong> - <%=users[i].info%>
    </div>
<% } %>

Install tjst and go to this folder. Compile template:

$ tjst-compile tpl.html tpl.js

Now view index.html in your browser. You can find all examples here: https://bitbucket.org/dkuryakin/tjst/src/HEAD/tjst/examples/

Use as command-line tool

$ tjst-compile -e html,my-tpl-extension /path/to/template/file.html/or/folder /path/to/compiled/file.js

Use in python code

from tjst import compile_text2text, compile_file2file
js = compile_text2text('''
<div>
<% for (var i = 0; i < 10; i++) { %>
    <p><%=i%></p>
<% } %>
''')
compile_file2file('templates_file_or_dir_path', 'dst_path.js', ['html', 'txt', 'my-ext'])

Tests

You can run tests with following commands:

$ git clone https://bitbucket.org/dkuryakin/tjst.git
$ cd tjst && python setup.py test

Changelog

v0.1.0
  • Basic functionality. Py3 support was not tested.

Download files

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

Source Distribution

tjst-0.1.0.tar.gz (4.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tjst-0.1.0-py2-none-any.whl (7.4 kB view details)

Uploaded Python 2

File details

Details for the file tjst-0.1.0.tar.gz.

File metadata

  • Download URL: tjst-0.1.0.tar.gz
  • Upload date:
  • Size: 4.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for tjst-0.1.0.tar.gz
Algorithm Hash digest
SHA256 37af4a0312eaa6108156d175cc4f2eb6c3ecf1c1903fb90f3407ab1e4e25d143
MD5 515aac72b11a951efd93722cd9e27754
BLAKE2b-256 be3cdaca5eee2cd7b3aeb271f9cf0adf932a1f793b5527b5d52f52a4aacba9d2

See more details on using hashes here.

File details

Details for the file tjst-0.1.0-py2-none-any.whl.

File metadata

  • Download URL: tjst-0.1.0-py2-none-any.whl
  • Upload date:
  • Size: 7.4 kB
  • Tags: Python 2
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for tjst-0.1.0-py2-none-any.whl
Algorithm Hash digest
SHA256 359ad4fa2d8deaa72ac3e74a0f0548e8501ee9115214cc5aaea086be9914f03b
MD5 c2482dc245950babfc2a1abd94ce7fd6
BLAKE2b-256 a245c6e6c7bfa330cab4fa16494e213c384703fc65dfd3926a05b944aae58649

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page