log markup/template.py @ 162:f767cf98e3e3

age author description
Wed, 16 Aug 2006 22:32:31 +0000 cmlenz Various docstring additions and other cosmetic changes.
Wed, 16 Aug 2006 18:31:56 +0000 cmlenz Fix for backwards compatibility proposed by cboos in #28.
Wed, 16 Aug 2006 14:04:30 +0000 cmlenz * Make sure `py:def` macros don't go out of scope if they are defined inside another directive.
Wed, 16 Aug 2006 10:35:01 +0000 cmlenz Fix relative includes on Windows. Closes #27.
Wed, 16 Aug 2006 10:25:15 +0000 cmlenz Add some tests for relative template includes (see #27).
Tue, 15 Aug 2006 22:01:01 +0000 cmlenz Removed to many classes from the `__all__` list of `markup.template` in [191].
Tue, 15 Aug 2006 21:59:07 +0000 cmlenz `Template.generate()` now accepts the context data as keyword arguments, so that you don't have to import the `Context` class every time you want to pass data into a template.
Tue, 15 Aug 2006 09:52:47 +0000 cmlenz * Fix error in expression evaluation when the expression evaluates to an iterable that does not produce event tuples.
Wed, 09 Aug 2006 21:00:15 +0000 cmlenz Fix bug in HTML serializer, plus some other minor tweaks.
Wed, 09 Aug 2006 12:25:02 +0000 cmlenz Implement position reporting for XPath syntax errors. Closes #20.
Sun, 06 Aug 2006 18:07:21 +0000 cmlenz * Improve the accuracy of line numbers for text nodes, so that reported errors about syntax or evaluation errors in expressions point to the right line (not quite perfect yet, though).
Sun, 06 Aug 2006 17:10:47 +0000 cmlenz Minor cleanup and performance improvement for the builder module.
Wed, 02 Aug 2006 11:56:31 +0000 cmlenz * Allow `py:with` directives to define `lambda`s
Tue, 01 Aug 2006 17:06:03 +0000 cmlenz Merged [135:138/branches/experimental/cspeedups].
Mon, 31 Jul 2006 17:25:43 +0000 cmlenz Some fixes and more unit tests for the XPath engine.
Thu, 27 Jul 2006 09:22:17 +0000 cmlenz Added `py:with` directive based on Jonas' patch in #17.
Mon, 24 Jul 2006 18:57:33 +0000 cmlenz Ported [115] to trunk.
Fri, 21 Jul 2006 11:35:56 +0000 cmlenz Improve performance of push/pop operations on the context.
Thu, 20 Jul 2006 23:33:51 +0000 cmlenz Minor bugfi x follow-up to [97]: don't yield the terminator event from the whitespace filter.
Thu, 20 Jul 2006 23:06:36 +0000 cmlenz More performance improvements... this time for whitespace normalization and template loops.
Wed, 19 Jul 2006 17:50:17 +0000 cmlenz When an expression evaluates to a callable, it is called implicitly.
Mon, 17 Jul 2006 23:10:35 +0000 cmlenz Support comments in templates that are not included in the output, in the same way Kid does: if the comment text starts with a `!` character, it is stripped from the output.
Mon, 17 Jul 2006 15:08:53 +0000 cmlenz Fix some problems in expression evaluation by transforming the AST and compiling that to bytecode, instead of generating bytecode directly. Invalidates #13.
Sat, 15 Jul 2006 11:59:13 +0000 cmlenz Some minor cleanup.
Sat, 15 Jul 2006 11:29:25 +0000 cmlenz Template expressions are now compiled to Python bytecode.
Thu, 13 Jul 2006 19:13:02 +0000 cmlenz * Improve template error messages
Thu, 13 Jul 2006 15:41:34 +0000 cmlenz Minor improvements to how directives are applied in template processing.
Thu, 13 Jul 2006 12:32:11 +0000 cmlenz * Simplify implementation of the individual XPath tests (use closures instead of callable classes)
Wed, 12 Jul 2006 21:27:30 +0000 cmlenz Empty attributes in templates were being stripped out. Thanks to Jonas for the patch.
Wed, 12 Jul 2006 19:45:13 +0000 cmlenz Fix expression interpolation where both shorthand notation and full notation are used inside a single text node. Thanks Jonas.
Wed, 12 Jul 2006 18:47:39 +0000 cmlenz Some more performance tweaks.
Tue, 11 Jul 2006 17:41:47 +0000 cmlenz Add back line that was accidentially left commented out in [75].
Tue, 11 Jul 2006 17:40:41 +0000 cmlenz Use `collections.deque` for the template context stack on Python 2.4, which improves performance if there are many context frame pop/push operations.
Mon, 10 Jul 2006 17:37:01 +0000 cmlenz A couple of minor performance improvements.
Sun, 09 Jul 2006 17:46:12 +0000 cmlenz Switch copyright to Edgewall and URLs to markup.edgewall.org.
Sun, 09 Jul 2006 15:23:26 +0000 cmlenz Support the use of directives as elements to reduce the need for using `py:strip`.
Fri, 07 Jul 2006 17:54:52 +0000 cmlenz Use a different namespace than Kid uses.
Tue, 04 Jul 2006 13:09:36 +0000 cmlenz Fix a number of escaping problems:
Tue, 04 Jul 2006 11:57:08 +0000 cmlenz * Add helper function to let directives apply any remaining directives, and use that helper consistently in every directive.
Tue, 04 Jul 2006 09:03:04 +0000 cmlenz Fix `py:for` directive when combined with other directives (such as `py:strip`).
Tue, 04 Jul 2006 08:37:25 +0000 cmlenz Fix the way multiple directives are applied to a single `SUB` in many cases by making the directives themselves responsible for applying any remaining directives.
Tue, 04 Jul 2006 04:49:22 +0000 mgood convert the result of expressions in attributes to strings so that values like ints are output correctly
Mon, 03 Jul 2006 23:55:03 +0000 mgood implement `py:choose/when/otherwise` directives for conditionally selecting one of several blocks
Mon, 03 Jul 2006 11:28:13 +0000 cmlenz Fix for #2 (incorrect context node in path expressions). Still some paths that produce incorrect results, but the common case seems to work now.
Sun, 02 Jul 2006 23:10:27 +0000 cmlenz Moved some of the tests for the strip directive to a new unittest test case to not clutter up the documentation.
Sun, 02 Jul 2006 22:39:03 +0000 cmlenz Fix for #7: match templates no longer process their own output.
Sun, 02 Jul 2006 21:23:52 +0000 cmlenz Simplify template processing model by removing dynamically generated `SUB` events.
Wed, 28 Jun 2006 18:39:05 +0000 cmlenz * More test cases for expression evaluation.
Wed, 28 Jun 2006 10:40:39 +0000 cmlenz * Minor simplification of template directives: they no longer get passed the template instance and the position, as no directive was actually using
Wed, 28 Jun 2006 09:28:09 +0000 cmlenz * Fix the boilerplate in the Python source files.
Tue, 20 Jun 2006 17:31:32 +0000 cmlenz Separate match and eval filters from the include and user-supplied filters.
Tue, 20 Jun 2006 15:10:24 +0000 cmlenz Fix for the template engine plugin: the search path is now ignored if the requested template path is absolute.
Tue, 20 Jun 2006 13:05:37 +0000 cmlenz * Include paths are now interpreted relative to the path of the including template. Closes #3.
Mon, 19 Jun 2006 15:47:28 +0000 cmlenz Actually make use of the `markup.core.Namespace` class, and add a couple of doctests.
Sun, 18 Jun 2006 22:33:33 +0000 cmlenz Refactoring to address #6: all match templates are now processed by a single filter, which means that match templates added by included templates are properly applied. A side effect of this refactoring is that `Context` objects may not be reused across multiple template processing runs.
Tue, 13 Jun 2006 17:56:42 +0000 cmlenz The `<py:match>` directive now protects itself against simple infinite recursion (see MatchDirective), while still allowing recursion in general.
Mon, 05 Jun 2006 00:03:43 +0000 cmlenz Match directives should now also be applied when included indirectly.
Sun, 04 Jun 2006 12:34:17 +0000 cmlenz Moved the template-specific stream event kinds into the template module.
Sun, 04 Jun 2006 10:46:14 +0000 cmlenz Simplified implementation of `py:content` directive.
Sat, 03 Jun 2006 15:29:27 +0000 cmlenz Improved `py:attrs` directive so that it removes existing attributes if they evaluate to `None` (AFAICT matching Kid behavior).
Copyright (C) 2012-2017 Edgewall Software