Skip to main content

Tiny JavaScript Templating.

Project description

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.

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

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

Uploaded Source

Built Distribution

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

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.

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