Skip to main content

Document Templating Markup Language (DTML)

Project description

.. image:: https://travis-ci.org/zopefoundation/DocumentTemplate.svg?branch=master
:target: https://travis-ci.org/zopefoundation/DocumentTemplate

.. image:: https://coveralls.io/repos/github/zopefoundation/DocumentTemplate/badge.svg?branch=master
:target: https://coveralls.io/github/zopefoundation/DocumentTemplate?branch=master

.. image:: https://img.shields.io/pypi/v/DocumentTemplate.svg
:target: https://pypi.org/project/DocumentTemplate/
:alt: Current version on PyPI

.. image:: https://img.shields.io/pypi/pyversions/DocumentTemplate.svg
:target: https://pypi.org/project/DocumentTemplate/
:alt: Supported Python versions

DocumentTemplate
================

This package implements the original Document Templating Markup Language
(DTML). It uses custom SGML tags to implement simple programmatic features,
such as variable replacement, conditional logic and loops.

Inside Zope environments page templates and TAL have superseded DTML for most
use cases.


Changelog
=========

3.0b9 (2019-05-01)
------------------

- Be much more careful when setting encoding if it is not passed in

- Only decode input in ``html_quote`` when needed under Python 3
(`Products.PythonScripts#28 <https://github.com/zopefoundation/Products.PythonScripts/issues/28`_>)


3.0b8 (2019-04-26)
------------------

- make sure all JSON-serialized data is text data and not bytes
(`#45 <https://github.com/zopefoundation/DocumentTemplate/issues/45>`_)


3.0b7 (2019-04-25)
------------------

- Add support for Python 3.8

- Make the rendering encoding configurable to fix rendering on Zope 4
(`#43 <https://github.com/zopefoundation/DocumentTemplate/issues/43>`_)

- Add unit tests for ``dtml-if``, ``dtml-unless`` and ``dtml-in`` variables
(`#7 <https://github.com/zopefoundation/DocumentTemplate/issues/7>`_)


3.0b6 (2019-03-01)
------------------

- Fix regression in ``.DT_Util.InstanceDict`` which broke the acquisition
chain of the item it wraps.
(`#38 <https://github.com/zopefoundation/DocumentTemplate/issues/38>`_)


3.0b5 (2018-10-05)
------------------

Breaking changes
++++++++++++++++

- Remove ``VSEval`` module. Please use DT_Util.EVal now.

- Remove ``DTtestExpr`` module. It contained nothing useful.

Features
++++++++

- Add support for Python 3.7.

Bugfixes
++++++++

- Fix regression with exception handling in ``<dtml-except>`` with Python 2.
(`#25 <https://github.com/zopefoundation/DocumentTemplate/issues/25>`_)

- Stabilized TreeTag rendering for objects without ``_p_oid`` values.
(`#26 <https://github.com/zopefoundation/DocumentTemplate/issues/26>`_)

- Remove support for string exceptions in ``<dtml-except>``.
(`#29 <https://github.com/zopefoundation/DocumentTemplate/pull/29>`_)

- Fix handling of parsing a ``ParseError`` in Python 3.
(`#29 <https://github.com/zopefoundation/DocumentTemplate/pull/29>`_)

- Fix bugs with ``<dtml-in>``:

- Raise proper error if prefix is not simple.
- Fix complex multisort in Python 3.
- Fix iteration over list of tuples in Python 3.


3.0b4 (2018-07-12)
------------------

- Drop Python 3.4 support.

- Fix a regression in the Python implementation differing from the C
implementation in ``DocumentTemplate.DT_Util.InstanceDict``.
`#24 <https://github.com/zopefoundation/DocumentTemplate/pull/24>`_

- Improve compatibility with flake8.

- Update deprecated assert method calls.


3.0b3 (2018-04-18)
------------------

- Fixed a problem with Python 3 compatibility when computing the
state strings in tree tags.

- No longer use icons which got deleted in Zope 4.

- Fix sorting in <dtml-in> for duplicate entries in Python 3.


3.0b2 (2017-11-03)
------------------

- Under Python 3, make sure no binary representations end up in the
state string used for the tree tag.


3.0b1 (2017-09-15)
------------------

- No changes since 3.0a4.

3.0a4 (2017-06-06)
------------------

- Further fixes for Python 3 compatibility.

3.0a3 (2017-05-17)
------------------

- Further fixes for Python 3 compatibility.

3.0a2 (2017-05-05)
------------------

- Add support for Python 3.4 up to 3.6.

3.0a1 (2017-01-19)
------------------

- Ensure html_quote is being applied to content.

- Replace C code with a pure-Python implementation.

- Add `__contains__` support to DocumentTemplate.TemplateDict.

2.13.2 (2011-12-12)
-------------------

- Restrict the available functions in `DocumentTemplate.sequence` to public
API's of `zope.sequencesort`.

2.13.1 (2010-07-15)
-------------------

- LP #143273: Enable the dtml-var modifiers url_quote, url_unquote,
url_quote_plus and url_unquote_plus to handle unicode strings.


2.13.0 (2010-06-19)
-------------------

- Released as separate package.


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

DocumentTemplate-3.0b9.tar.gz (67.3 kB view details)

Uploaded Source

Built Distribution

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

DocumentTemplate-3.0b9-py2.py3-none-any.whl (89.7 kB view details)

Uploaded Python 2Python 3

File details

Details for the file DocumentTemplate-3.0b9.tar.gz.

File metadata

  • Download URL: DocumentTemplate-3.0b9.tar.gz
  • Upload date:
  • Size: 67.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.3

File hashes

Hashes for DocumentTemplate-3.0b9.tar.gz
Algorithm Hash digest
SHA256 30ce1e003a3eed5434c4caa5ad7999a0c01d336459239e2fc7432ec7cb89c3f2
MD5 affaf7ee7d91f9c9c1781873334672f3
BLAKE2b-256 979e5dea0c9923655fc1645c2cdbc82224a984c0039a34facce92b802b68dc3e

See more details on using hashes here.

File details

Details for the file DocumentTemplate-3.0b9-py2.py3-none-any.whl.

File metadata

  • Download URL: DocumentTemplate-3.0b9-py2.py3-none-any.whl
  • Upload date:
  • Size: 89.7 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.3

File hashes

Hashes for DocumentTemplate-3.0b9-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 1ddc2c1430b9ab44f539af63c1385744d3449538cddf7b0d85591e15d0de2df6
MD5 261be3d916cdbde535560a5f99dfeb98
BLAKE2b-256 8201f0609591099775053ea4387760235680e6fa5da641f937fa98016fa45543

See more details on using hashes here.

Supported by

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