- Prevent regex matching following ). Fix #98.
- Fix whitespace handling.
- Support xml attributes. Fix #91.
- cease support for node 0.8 on Travis.
- Fix else if. Fix #91
- Allow
@{ @(exp) }
again. Fixes #89
- Track next non whitespace or newline character. fix #82
- Allow two-letter tlds for email addresses. #80
- Throw errors when attempting to close known void tags. #67
- BREAKING: enforce closing tags. #77
- Ensure html comments are closed properly. #77
- Handle html comments. #70
- Handle markup nodes that lose their content. #68
- Ensure .name is present on node ctors. #73
- dashes within tag names are ok. fix #71
- remove deprecation warnings. apparently razor allows that. #59, #62
- Reinstate
__express
- Quoted attribute values containing a
=
were causing the current attribute to prematurely be closed when parsing.
- Complete rewrite of parser and compiler (codegen)
- Restructure files to use CJS
- Fix numerous "unfixable" bugs
- Runtime is now
require('vash/runtime')
- No longer provide minified builds (assume consumer will)
- Simplify build system to be npm-driven
debug
module used throughout lexer/parser/codegen- Completely new AST format
- Markup parsing is now more strict, and vash knows about attributes, quotes, etc
- Much more internally.
@
inside of string or comments within code block is now literal
- New build system using make
- Revamped documentation
- More strict open html tag regex
- Fixed error reporting on windows
- Better errors when using layouts
- vQuery.maxSize defaults to 100000 for large templates
- Improved backslash escaping in content
- Improved escaped quote handling in content
Buffer#indexOf
,Buffer#lastIndexOf
can accept a regexvash.helpers.trim
html.options
within a template are the same options passed to the compiled template (tpl(model, opts)
)- Improved handling of void/non-void HTML elements containing expressions
vash(1)
:--helpers
option loads a file of compiled helpers- Compiled helpers can begin with a newline
vash.batch
is nowvash.compileBatch
.batch
is still a valid alias for now.
- Commitment to proper semver
Buffer#push
no longer auto-concats for the sake of speed- vash(1)
--render
was misnamed vash.config.simple
allows for optimization of simple templatesvash.batch
is now handled at compile timevash.compileHelper
allows for compiled helpersvash.install
can also accept object of key->tpl pairs- History.md
- Perf tests removed, see vash-benchgraph
vash.batch
(not documented),vash.install
,vash.uninstall
,vash.lookup
- Tpl cache is defined in runtime, not layout helpers
- Internal
Buffer
now uses prototypes. ~6x faster!
- Better AMD guard for runtime and vash.exports. #18
- Runtime is tested separately now. test/vows/*
- No reason to exclude CONTRIBUTING,src,etc from npm
vash.link
must exist in the runtime, not exports. #18- Fix CJS guard, #18
- Layouts only require 'views' in settings, path.join #17
- Fix "race condition" for deleting blockmarks, #16
- Layouts use
extend
instead of ES3-reserved wordextends
(#9) vash.helpers
is now a prototype of classvash.helpers.constructor
- Internal
Buffer
class vash.link
- vash(1)
--no-autolink
vash.Mark
class and API- tpl( model, fn|opts ) signature
- Tpl runtime
option.context
onRenderEnd
callback- Layout helpers render immediately to "spider"
- A period does not exit expression mode from within an expression. Fixes #10.
- Mention playground in README
- Layout blocks only allow for one definition callback
- Compiler does string replacement instead of concatenation
- Operators were being mistaken for HTML tags
- Initial layout helpers tests
vQuery
is exposed asvash.vQuery
reportError
formatting fix for line numbers < 10- Email addresses are allowed within HTML attributes
AT
andAT_COLON
are no longer discarded by parser
- Use path module for x-platform. v0.5.3-1294. Addresses #6
build.js
is nowtasks
and drives tests- Test for file extension before appending. Addresses #6
- Proper tests for
vash.config.favorText
@:
opens a markup block that is closed byNEWLINE
- Parser now takes special care of delimiters when subparsing
- Parser pays no special attention to {} in markup mode
vash.helpers.reportError
is used within the compiler
- CONTRIBUTING.md
- vQuery.maxCheck dumps parse tree if infinite loop detected
vash.config.debug
now defaults totrue
vash.config.client
is removed- vash(1) gets
--render
to immediately render the input template
- View engine works in browser
- Fixed quote escaping
- Ship vash(1) via npm
- Error reporting is moved to runtime
- Jade-like extends/block/append/prepend/include layouts
vash.config.favorText
documentedvash.config.client
documented- vash(1) documented
- @* should work in blocks too
- Express 3 support
- vash(1) command line utility
vash.config.client
returns the unlinked compiled function- Empty brackets (
[]
) following an expression is markup - jshint headers
favorText
is a compiler-only option and will favor interpreting input as markup instead of code- Standalone runtime
- New build system:
vash-runtime-all.js
andvash-runtime.js
- vQuery can flatten/reconstitute tokens
vash.saveAT
,vash.saveTextTag
- Addition of AUTHORS file
- Initial helpers API (
vash.helpers
is accessible viahtml
within template) vash.config.helpersName
vash.config.htmlEscape
allows escaping to be turned off, defaults to truevash.raw
becomeshtml.raw
and is now performed at runtime.html.escape
- Compiled functions are now "linked" to create a local reference to Helpers
- Explicit expression implicitly closes afterwards
- Lexer tokens are freely defined within main vash closure
- Greatly simplified lexer
- Removed lots of extranous
vQuery
code - Explicit expressions can be indexed into:
@('what')[0]
- Whitespace ends a non-explicit expression
- fix bug where ellipses caused infinite loops
- max depth check on vQuery to prevent lockup during infinite loops
- HTML escaping /
vash.raw
vash.config.debug
vash.vQuery
replaces VASTvash.config.debugParser
vash.config.debugCompiler
- Improved runtime error reporting (003bfcd)
- Improved compile-time error reporting (5edfcfa)
- Initial AMD Support
- keywords can follow a closing brace
- Anonymous functions
- @()IDENTIFIER consumes IDENTIFIER as markup
vash.tpl
is nowvash.compile
as defacto standard- Rewrite of parser
- Initial npm release
useWith
defaults to false- Basic express2 support
- Project start