Commit Graph

10 Commits

Author SHA1 Message Date
Travis Parks d7a0ab3b38 Add support for index in each tags
It was requested that the current index could be accessed in the each
tag.
2013-07-20 12:06:38 -04:00
Travis Parks 22e0cb4c2a Rename Namespace
I made the mustache namespace upper case. An easy find/replace will fix
this for most projects. I bumped the version up to a minor release
anyway.
2013-05-03 08:44:57 -04:00
Travis Parks 11b73b696e Pop Context When Exiting Tag
I was not removing context when I was leaving a tag. This caused the
context to grow indefinitely, which is not a valid representation of
where the placeholder was located in the template.
2013-04-25 08:46:03 -04:00
Travis Parks 42463a888f Provide context when placeholders found.
It could be useful to know the context when discovering a placeholder.
I also renamed MissingKeyEventArgs to KeyNotFoundEventArgs.
I created a new event KeyFoundEventArgs.
2013-04-24 21:21:00 -04:00
Travis Parks fe54d9522b Default the Scope and Writer for Nested Contexts
I forgot to default the KeyScope and TextWriter to the parent tag's
scope and writer if they are not provided.
2013-01-16 16:06:35 -05:00
Travis Parks 790f856b44 Optimized text generation.
The way the code was implemented before, each block of text was
generating a string which was then being added to a StringBuilder. This
only improved performance within a block itself. Needing to then copy
the results of that builder into the parent tag's builder was wasteful.
Now, a single TextWriter is used for all tags. If a block needs to be
processed after-the-fact, the tag can indicate that it wants to provide
a new text writer and that it wants to consolidate the text.
2013-01-16 15:10:25 -05:00
Travis Parks 7d75c7a2e4 Implemented better custom tag handling.
I needed to make it easier to handle scopes and define custom tags,
including context-sensitive tags.
2013-01-12 14:53:12 -05:00
Travis Parks 49f9478c79 Added support for trimming unnecessary newlines. 2013-01-09 21:58:45 -05:00
Travis Parks 0b84ca8877 Made progress implementing the object model, including all of the built-in tags. 2013-01-09 21:17:45 -05:00
Travis Parks f8628aaf86 Implement custom tags.
This is the first step towards supporting custom tags. There are
wrinkles I need to work out, since I'm not 100% sure what the finished
code will look like.
2013-01-08 21:33:53 -05:00