1.11.0 / 2015-06-12
- Added block code support (@alephyud)
- Improved runtime performance of mixins significantly (Andreas Lubbe)
- Improved runtime performance of pug's string escaping (Andreas Lubbe) and (@ForbesLindesay)
- Better line number counting for pipeless text (@alephyud)
1.10.0 / 2015-05-25
- Now supports jstransformers, which allows improved handling of embedded languages such as Coffee-Script, and deprecated Transformers support in filters - to be removed in 2.0.0 (@ForbesLindesay)
- CLI: added a flag to keep directory hierarchy when a directory is specified - this behavior will be the default in 2.0.0 (@TimothyGu)
- disabled 'compileDebug' flag by default when used with express in production mode (Andreas Lubbe)
- Fixed a memory leak on modern versions of Chrome as well as node 0.12 and iojs (Andreas Lubbe)
- update website (@GarthDB)
1.9.2 / 2015-01-18
- Do not ignore some parser errors for mismatched parenthesis (@TimothyGu)
- Warn for
:
that is not followed by a space (@ForbesLindesay) - Fix #1794 (a bizzare bug with a certain combination of inheritance, mixins and &attributes) (@ForbesLindesay)
- Add
compileClientWithDependenciesTracked
(@ForbesLindesay) - Support comments in
case
blocks (@ForbesLindesay) - Fix blocks in nested mixins (@ForbesLindesay)
- Lots more documentation (@enlore)
- Fix watching in CLI (@pavel)
1.9.1 / 2015-01-17
- Clean up path/fs functions in CLI as we no longer support node@0.6 (@TimothyGu)
- Update commander (@TimothyGu)
- Document
cache
andparser
options (@TimothyGu) - Fix bug in 1.9.0 where we read the file if cache was enabled, even if a string was provided (@TimothyGu)
- Fix year in changelog (@tomByrer)
1.9.0 / 2015-01-13
- Fix
--watch
sometimes dying when there were file-system errors (@ForbesLindesay) - Fix
--watch
by usingfs.watchFile
correctly (@TimothyGu) - Fix errors with using the CLI to compile from stdin
- Better looking badges (@TimothyGu)
- Added
--extension
to CLI(@nicocedron and @TimothyGu) - Refactor and improve internal cache handling (@TimothyGu)
- Loads more tests (@TimothyGu)
1.8.2 / 2014-12-16
- Use
-
as the default filename when using stdin on CLI (@TimothyGu) - Prevent some compiler errors being silenced (@ForbesLindesay)
- Remove use of non-standard
string.trimLeft()
(@ForbesLindesay) - Fix bug in CLI when no name was provided for child template (@ForbesLindesay)
- Remove dependency on monocle (hopefully fixing installation on 0.8) (@ForbesLindesay)
- Add gitter chat room (@ForbesLindesay)
1.8.1 / 2014-11-30
- Fix corner case when the pretty option was passed a non-string truthy value (@TimothyGu)
- Warn when
lexer
is given as an option (@TimothyGu) - Update dependencies (@TimothyGu)
1.8.0 / 2014-11-28
- Fix empty text-only block (@rlidwka)
- Warn about future change to ISO 8601 style dates (@TimothyGu and @ForbesLindesay)
- Add warnings when data-attributes contain ampersands (@TimothyGu)
- Allow custom pretty indentation (@bfred-it)
- Add support for an object in the style attribute (@ForbesLindesay)
- Add support for an object in the class attribute (@ForbesLindesay)
- Ignore fs module in browser builds (@sokra)
- Update dependencies (@hildjj)
- Check mixin arguments are valid JavaScript expressions (@ForbesLindesay)
- Remove symlink (@slang800)
1.7.0 / 2014-09-17
- Add Doctype option on command line (@ForbesLindesay)
- Support ES6 style rest args in mixins (@ForbesLindesay)
- Fix support for unicode newlines (\u2028, \u2029) (@rlidwka)
- Expose
globals
option from thewith
module (@sokra) - Lots of new documentation (@ForbesLindesay)
1.6.0 / 2014-08-31
- Allow optional white space after
+
when calling a mixin (@char101) - Use void-elements module to replace internal self-closing list (@hemanth)
- Fix a warning that eroniously warned for un-used blocks if in an extending template from an include (Reported by @Dissimulazione)
- Fix mixins not working at end of file (@ForbesLindesay)
- Fix error reporting when mixin block was followed by blank lines (@ForbesLindesay)
1.5.0 / 2014-07-23
- Added compileFile API (@ForbesLindesay)
- Fix line number in un-used blocks warning (@ForbesLindesay)
- Fix a warning that eroniously warned for un-used blocks if they were under another block (Reported by @pesho)
1.4.2 / 2014-07-16
- Fix a warning that eroniously warned for un-used blocks if they were under a "Code" element (Reported by @narirou)
1.4.1 / 2014-07-16
- Fix an error that sometimes resulted in 'unexpected token "pipless-text"' being erroniously thrown (Reported by @Artazor and @thenitai)
1.4.0 / 2014-07-15
- Fix CLI so it keeps watching when errors occur (@AndrewTsao)
- Support custom names for client side templates (@ForbesLindesay and @dscape)
- Allow whitepsace other than "space" before attributes passed to mixins (N.B. there is a small chance this could be a breaking change for you) (@regular)
- Track dependencies so file watchers can be more clever (@ForbesLindesay and @sdether)
- Allow passing options to filtered includes (@ForbesLindesay)
- Fix bugs with indentation in filters (@ForbesLindesay and @lackac)
- Warn on block names that are never used (@ForbesLindesay)
1.3.1 / 2014-04-04
- Fix error with tags in xml that are self-closing in html (@ForbesLindesay)
- Fix error message for inline tags with content (@hiddentao)
1.3.0 / 2014-03-02
- Fix a bug where sometimes mixins were removed by an optimisation even though they were being called (@ForbesLindesay, reported by @leider)
- Updated with to support automatically detecting when a value is "global" and removed redundant
options.globals
option (@ForbesLindesay) - Improve warnings for tags with multiple attributes (@ForbesLindesay)
- Deprecate (with a warning)
node.clone
,block.replace
,attrs.removeAttribute
,attrs.getAttribute
- these are all internal APIs for the AST (@ForbesLindesay)
1.2.0 / 2014-02-26
- Use variables instead of properties of pug, improving performance and reliability with nested templates (@ForbesLindesay)
- Support compiling templates from stdin via a user typing (@yorkie)
- Lazily add mixins (@ForbesLindesay)
- Fix case fall-through (@ForbesLindesay)
- Earlier errors for
when
withoutcase
andelse
withoutif
(@ForbesLindesay) - Allow
if
/else
etc. to not have a block. - Remove lib-cov legacy to make browserify work better (@silver83)
- Add and improve test coverage using istanbul (@ForbesLindesay)
1.1.5 / 2014-01-19
- Add filename to and fix line numbers for missing space before text warning (@ijin82)
- Fix filenames for some error reporting in extends/includes (@doublerebel)
- Fix a corner case where a mixin was called with
&attributes
but no other attributes and a block that was supposed to be fixed in 1.1.4 (@ForbesLindesay)
1.1.4 / 2014-01-09
- Fix a corner case where a mixin was called with
&attributes
but no other attributes and a block (@ForbesLindesay)
1.1.3 / 2014-01-09
- Fix failure of npm prepublish not running
1.1.2 / 2014-01-09
- Fix same interaction of
&attributes
withfalse
null
orundefined
but combined with dynamic attributes (@ForbesLindesay)
1.1.1 / 2014-01-09
- Fix a bug when
&attributes
is combined with static attributes that evaluate tofalse
ornull
orundefined
(@ForbesLindesay)
1.1.0 / 2014-01-07
- Fix class merging to work as documented (@ForbesLindesay)
- Throw an error when the same attribute is duplicated multiple times (@ForbesLindesay)
- Move more errors into the parser/lexer so they have more info about line numbers (@ForbesLindesay)
- Support mixin blocks at the end of files (@ForbesLindesay)
1.0.2 / 2013-12-31
- Fix a bug when
&attributes
is combined with dynamic attributes (@ForbesLindesay)
1.0.1 / 2013-12-29
- Allow self closing tags to contian whitespace (@ForbesLindesay)
- Allow tags to have a single white space after them (@ForbesLindesay)
- Support text bodies of tags that begin with
//
rather than treating them as comments (@ForbesLindesay)
1.0.0 / 2013-12-22
- No longer support node@0.8 (@ForbesLindesay)
- Fix error reporting in layouts & includes (@ForbesLindesay)
- Allow a list of 'globals' to be passed as an array at compile time & don't automatically expose all globals (@ForbesLindesay)
- Escape apostrophes in data attributes (@qualiabyte)
- Fix mixin/block interaction (@ForbesLindesay & @paulyoung)
- Ignore trailing space after mixin declaration (@ForbesLindesay)
- Make literal
.
work as expected (@ForbesLindesay) - Remove implicit text only for script/style (@ForbesLindesay)
- Stop parsing comments and remove support for conditional comments (@ForbesLindesay)
- Make filtering includes explicit (@ForbesLindesay)
- Remove special assignment syntax (@ForbesLindesay)
- Remove
!!!
shortcut fordoctype
(@ForbesLindesay) - Remove
5
shorcut forhtml
doctype (@ForbesLindesay) - Remove
colons
option from the distant past (@ForbesLindesay) - Add a sepatate
compileClient
andcompileFileClient
to replace theclient
option (@ForbesLindesay) - Remove polyfills for supporting old browsers (@ForbesLindesay)
- Allow interpolation for mixin names (@jeromew
- Use
node.type
instead ofnode.constructor.name
so it can be minified (@ForbesLindesay) - Allow hyphens in filter names (@ForbesLindesay)
- Throw an error if a self closing tag has content (@ForbesLindesay)
- Support inline tags (@ForbesLindesay)
- Replace
attributes
magic attribute with&attributes(attributes)
(@ForbesLindesay) - Remove automatic tag wrapping for filters, you can just put the tags in yourself now (@ForbesLindesay)
- Remove whitespace from tags nested inside pre tags (@markdalgleish)
0.35.0 / 2013-08-21
- Add support for space separated attributes (thanks to @ForbesLindesay)
- Add earlier errors for invalid JavaScript expressions (thanks to @ForbesLindesay)
- Fix parsing files with UTF8 BOMs when they are includes or parent/layout templates (thanks to @kiinoo)
0.34.1 / 2013-07-26
- fix render file not working when called with callback (reported by @xieren58)
0.34.0 / 2013-07-26
- callbacks only called once for async methods even if they throw (reported by @davidcornu)
- HTML comments are pretty printed better (thanks to @eddiemonge)
- callbacks are optional and leaving them out results in synchronous operation (thanks to @ForbesLindesay)
- empty filter nodes are now permitted (thanks to @coderanger)
- overhaul website and documentation (thanks to @ForbesLindesay), much more of this to come.
0.33.0 / 2013-07-12
- Hugely more powerful error reporting (especially with
compileDebug
set explicitly totrue
) - Add a warning for tags with multiple attributes
- be strict about requiring newlines after tags to fix some odd corner cases
- fix escaping of class to allow it to be unescaped (thanks to @christiangenco)
0.32.0 / 2013-06-28
- remove
pug.version
and fixpug --version
- add file name and line number to deprecation warnings
- use constantinople for better constant detection
- update
with
for a massive performance upgrade at compile time
0.31.2 / 2013-06-07
- fix overzealous deprecation warnings
0.31.1 / 2013-05-31
- fix line endings for executable command
- fix
locals
variable being undefined - fix an obscure bug that could occur if multiple mixins interact badly (see substack/lexical-scope#13)
0.31.0 / 2013-05-30
- deprecate implicit text-only
script
andstyle
tags - make
with
at compile time usinglexical-scope
- add
options.parser
that behaves exactly likeoptions.compiler
- add "component.json" for component (runtime) support
- removed
hasOwnProperty
check in each loops - removed .min files from the repository (people can just generate these themselves)
- use browserify to compile client side libraries
- fix buggy block extending should now be fixed
- fix preserve case of custom doctypes
- fix regexps in attributes sometimes not being accepted
- fix allow
$
sign in each loop variable names - fix mixins with buffered code on the same line
- fix separate class names by
rather than
,
(was sometimes incorrect)
0.30.0 / 2013-04-25
- add support for 'include' and 'extends' to use paths relative to basedir
- fix accidental calling of functions in iteration block. Closes #986
- fix: skip rethrow on client
- fix each/else prefixed with
-
- fix multi-block prepend/append
- swap -o and -O, set -o to --out
0.29.0 / 2013-04-16
- add "monocle" for watcher that actually works...
- fix interpolation in blocks of text
- fix attribute interpolation
- move filters to an external library
- fix JavaScript escaping corner cases
0.28.2 / 2013-03-04
- wtf coffeescript is not a dep
0.28.1 / 2013-01-10
- add passing of filename to include filters
- fix wrong new lines for include filters
0.28.0 / 2013-01-08
- add .css and .js "filters". re #438
- add include filters. Closes #283
- fix "class:" within attribute escaping
- removing ast filters
- things I can't read:
- 反馈地址
- 样式
- 联系
- 初稿,翻译完
- 接受大鸟的建议
- 头晕,翻译一点点
- 到过滤器翻译完毕
- 翻译一部分
- 中文翻译单独放
- 特性部分
- 再翻
- 翻译一点点
0.27.7 / 2012-11-05
- fix each/else clause for enumerated objects
- fix #764 (incorrect line number for error messages)
- fix double-escaping of interpolated js slashes. Closes #784
0.27.6 / 2012-10-05
- Included templates can not override blocks of their parent. Closes #699
0.27.5 / 2012-09-24
- fix attr interpolation escaping. Closes #771
0.27.4 / 2012-09-18
- fix include yields. Closes #770
0.27.3 / 2012-09-18
- fix escaping of interpolation. Closes #769
- loosen "mkdirp" version restriction [TooTallNate]
0.27.2 / 2012-08-07
- Revert "fixing string interpolation escaping #731", problems reported
0.27.1 / 2012-08-06
- fix attribute interpolation escaping #731
- fix string interpolation escaping #731
0.27.0 / 2012-07-26
- added ability to pass in json file to
--obj
- add preliminary
each
else
support. Closes #716 - fix doctype bug overlooked in #712
- fix stripping of utf-8 BOMs
0.26.3 / 2012-06-25
- Update version of commander that supports node v0.8.
0.26.2 / 2012-06-22
- Added --options alias of --obj
- Added reserved word conflict prevention in Google's Closure Compiler
- Added tag interpolation. Closes #657
- Allow the compiled client to use it's own pug util functions [3rd-Eden]
- Fixed
attrs()
escape bug [caseywebdev]
0.26.1 / 2012-05-27
- Changed default doctype to html5
- Performance: statically compile attrs when possible [chowey]
- Fixed some class attribute merging cases
- Fixed so
block
doesn't consumeblockquotes
tag [chowey] - Fixed backslashes in text nodes [chowey]
- Fixed / in text. Closes #638
0.26.0 / 2012-05-04
- Added package.json component support
- Added explicit self-closing tag support. Closes #605
- Added
block
statement - Added mixin tag-like behaviour [chowey]
- Fixed mixins with extends [chowey]
0.25.0 / 2012-04-18
- Added preliminary mixin block support. Closes #310
- Fixed whitespace handling in various situations [chowey]
- Fixed indentation in various situations [chowey]
0.24.0 / 2012-04-12
- Fixed unescaped attribute compilation
- Fixed pretty-printing of text-only tags (Warning: this may affect rendering) [chowey]
0.23.0 / 2012-04-11
- Added data-attr json stringification support. Closes #572
- Added unescaped attr support. Closes #198
- Fixed #1070, reverted mixin function statements
- Fixed pug.1 typo
0.22.1 / 2012-04-04
- Fixed source tags. now self-closing. Closes #308
- Fixed: escape backslashes in coffeescript filter
0.22.0 / 2012-03-22
- Added pug manpage (
man pug
after installation for docs) - Added
-D, --no-debug
to pug(1) - Added
-p, --pretty
to pug(1) - Added
-c, --client
option to pug(1) - Fixed
-o { client: true }
with stdin - Fixed: skip blank lines in lexer (unless within pipeless text). Closes #399
0.21.0 / 2012-03-10
- Added new input/output test suite using Mocha's string diffing
- Added alias
extend
->extends
. Closes #527 [guillermo] - Fixed include escapes. Closes #513
- Fixed block-expansion with .foo and #foo short-hands. Closes #498
0.20.3 / 2012-02-16
- Changed: pass
.filename
to filters only
0.20.2 / 2012-02-16
- Fixed
:stylus
import capabilities, pass .filename
0.20.1 / 2012-02-02
- Fixed Block#includeBlock() with textOnly blocks
0.20.0 / 2011-12-28
- Added a browser example
- Added
yield
for blockinclude
s - Changed: replaced internal
__
var with__pug
[chrisleishman] - Fixed two globals. Closes #433
0.19.0 / 2011-12-02
- Added block
append
/prepend
support. Closes #355 - Added link in readme to pug-mode for Emacs
- Added link to python implementation
0.18.0 / 2011-11-21
- Changed: only ['script', 'style'] are text-only. Closes #398'
0.17.0 / 2011-11-10
- pug.renderFile() is back! (for express 3.x)
- Fixed
Object.keys()
failover bug
0.16.4 / 2011-10-24
- Fixed a test due to reserved keyword
- Fixed: commander 0.1.x dep for 0.5.x
0.16.3 / 2011-10-24
- Added: allow leading space for conditional comments
- Added quick implementation of a switch statement
- Fixed parens in mixin args. Closes #380
- Fixed: include files with a .pug extension as pug files
0.16.2 / 2011-09-30
- Fixed include regression. Closes #354
0.16.1 / 2011-09-29
- Fixed unexpected
else
bug when compileDebug: false - Fixed attr state issue for balancing pairs. Closes #353
0.16.0 / 2011-09-26
- Added
include
block support. Closes #303 - Added template inheritance via
block
andextends
. Closes #242 - Added 'type="text/css"' to the style tags generated by filters.
- Added 'uglifyjs' as an explicit devDependency.
- Added -p, --path flag to pug(1)
- Added support for any arbitrary doctype
- Added
pug.render(str[,options], fn)
back - Added first-class
while
support - Added first-class assignment support
- Fixed runtime.js
Array.isArray()
polyfill. Closes #345 - Fixed: set .filename option in pug(1) when passing filenames
- Fixed
Object.keys()
polyfill typo. Closes #331 - Fixed
include
error context - Renamed magic "index" to "$index". Closes #350
0.15.4 / 2011-09-05
- Fixed script template html. Closes #316
- Revert "Fixed script() tag with trailing ".". Closes #314"
0.15.3 / 2011-08-30
- Added Makefile example. Closes #312
- Fixed script() tag with trailing ".". Closes #314
0.15.2 / 2011-08-26
- Fixed new conditional boundaries. Closes #307
0.15.1 / 2011-08-26
- Fixed pug(1) support due to
res.render()
removal - Removed --watch support (use a makefile + watch...)
0.15.0 / 2011-08-26
- Added
client
option to reference runtime helpers - Added
Array.isArray()
for runtime.js as well - Added
Object.keys()
for the client-side runtime - Added first-class
if
,unless
,else
andelse if
support - Added first-class
each
/for
support - Added
make benchmark
for continuous-bench - Removed
inline
option, SS helpers are no longer inlined either - Removed
Parser#debug()
- Removed
pug.render()
andpug.renderFile()
- Fixed runtime.js
escape()
bug causing window.escape to be used - Fixed a bunch of tests
0.14.2 / 2011-08-16
- Added
include
support for non-pug files - Fixed code indentation when followed by newline(s). Closes #295 [reported by masylum]
0.14.1 / 2011-08-14
- Added
colons
option for everyone stuck with ":". Closes #231 - Optimization: consecutive lines are merged in compiled js
0.14.0 / 2011-08-08
- Added array iteration with index example. Closes #276
- Added runtime.js
- Added
compileDebug
option to enable lineno instrumentation - Added
inline
option to disable inlining of helpers (for client-side)
0.13.0 / 2011-07-13
- Added
mixin
support - Added
include
support - Added array support for the class attribute
0.12.4 / 2011-06-23
- Fixed filter indentation bug. Closes #243
0.12.3 / 2011-06-21
- Fixed empty strings support. Closes #223
- Fixed conditional comments documentation. Closes #245
0.12.2 / 2011-06-16
- Fixed
make test
- Fixed block comments
0.12.1 / 2011-06-04
- Fixed attribute interpolation with double quotes. Fixes #232 [topaxi]
0.12.0 / 2011-06-03
- Added
doctype
as alias of!!!
- Added; doctype value is now case-insensitive
- Added attribute interpolation support
- Fixed; retain original indentation spaces in text blocks
0.11.1 / 2011-06-01
- Fixed text block indentation [Laszlo Bacsi]
- Changed; utilizing devDependencies
- Fixed try/catch issue with renderFile(). Closes #227
- Removed attribute ":" support, use "=" (option for ':' coming soon)
0.11.0 / 2011-05-14
- Added
self
object to avoid poorwith(){}
performance [masylum] - Added
doctype
option [Jeremy Larkin]
0.10.7 / 2011-05-04
- expose Parser
0.10.6 / 2011-04-29
- Fixed CS
Object.keys()
[reported by robholland]
0.10.5 / 2011-04-26
- Added error context after the lineno
- Added; indicate failing lineno with ">"
- Added
Object.keys()
for the client-side - Fixed attr strings when containing the opposite quote. Closes 207
- Fixed attr issue with js expressions within strings
- Fixed single-quote filter escape bug. Closes #196
0.10.4 / 2011-04-05
- Added
html
doctype, same as "5" - Fixed
pre
, no longer text-only
0.10.3 / 2011-03-30
- Fixed support for quoted attribute keys ex
rss("xmlns:atom"="atom")
0.10.2 / 2011-03-30
- Fixed pipeless text bug with missing outdent
0.10.1 / 2011-03-28
- Fixed
support/compile.js
to exclude browser js in node - Fixes for IE [Patrick Pfeiffer]
0.10.0 / 2011-03-25
- Added AST-filter support back in the form of
<tag>[attrs]<:><block>
0.9.3 / 2011-03-24
- Added
Block#unshift(node)
- Added
pug.js
for the client-side to the repo - Added
pug.min.js
for the client-side to the repo - Removed need for pipes in filters. Closes #185 Note that this will break filters used to manipulate the AST, until we have a different syntax for doing so.
0.9.2 / 2011-03-23
- Added pug
--version
- Removed
${}
interpolation support, use#{}
0.9.1 / 2011-03-16
- Fixed invalid
.map()
call due to recent changes
0.9.0 / 2011-03-16
- Added client-side browser support via
make pug.js
andmake pug.min.js
.
0.8.9 / 2011-03-15
- Fixed preservation of newlines in text blocks
0.8.8 / 2011-03-14
- Fixed pug(1) stdio
0.8.7 / 2011-03-14
- Added
mkdirs()
to pug(1) - Added pug(1) stdio support
- Added new features to pug(1),
--watch
, recursive compilation etc [khingebjerg] - Fixed pipe-less text newlines
- Removed pug(1)
--pipe
flag
0.8.6 / 2011-03-11
- Fixed parenthesized expressions in attrs. Closes #170
- Changed; default interpolation values
== null
to ''. Closes #167
0.8.5 / 2011-03-09
- Added pipe-less text support with immediate ".". Closes #157
- Fixed object support in attrs
- Fixed array support for attrs
0.8.4 / 2011-03-08
- Fixed issue with expressions being evaluated several times. closes #162
0.8.2 / 2011-03-07
- Added markdown, discount, and markdown-js support to
:markdown
. Closes #160 - Removed
:discount
0.8.1 / 2011-03-04
- Added
pre
pipe-less text support (and auto-escaping)
0.8.0 / 2011-03-04
- Added block-expansion support. Closes #74
- Added support for multi-line attrs without commas. Closes #65
0.7.1 / 2011-03-04
- Fixed
script()
etc pipe-less text with attrs
0.7.0 / 2011-03-04
- Removed
:javascript
filter (it doesn't really do anything special, usescript
tags) - Added pipe-less text support. Tags that only accept text nodes (
script
,textarea
, etc) do not require|
. - Added
:text
filter for ad-hoc pipe-less - Added flexible indentation. Tabs, arbitrary number of spaces etc
- Added conditional-comment support. Closes #146
- Added block comment support
- Added rss example
- Added
:stylus
filter - Added
:discount
filter - Fixed; auto-detect xml and do not self-close tags. Closes #147
- Fixed whitespace issue. Closes #118
- Fixed attrs.
,
,=
, and:
within attr value strings are valid Closes #133 - Fixed; only output "" when code == null. Ex:
span.name= user.name
when undefined or null will not output "undefined". Closes #130 - Fixed; throw on unexpected token instead of hanging
0.6.3 / 2011-02-02
- Added
each
support for Array-like objects [guillermo]
0.6.2 / 2011-02-02
- Added CSRF example, showing how you can transparently add inputs to a form
- Added link to vim-pug
- Fixed self-closing col support [guillermo]
- Fixed exception when getAttribute or removeAttribute run into removed attributes [Naitik Shah]
0.6.0 / 2010-12-19
- Added unescaped interpolation variant
!{code}
. Closes #124 - Changed; escape interpolated code by default
#{code}
0.5.7 / 2010-12-08
- Fixed; hyphen in get
tag()
0.5.6 / 2010-11-24
- Added
exports.compile(str, options)
- Renamed internal
_
to__
, since_()
is commonly used for translation
0.5.5 / 2010-10-30
- Add coffeescript filter [Michael Hampton]
- Added link to slim; a ruby implementation
Fixed quoted attributes issue.
Fixed attribute issue with over greedy regexp. Previously "p(foo=(((('bar')))))= ((('baz')))" would fail for example since the regexp would lookahead to far. Now we simply pair the delimiters.
0.5.4 / 2010-10-18
- Adding newline when using tag code when preceding text
- Assume newline in tag text when preceding text
- Changed; retain leading text whitespace
- Fixed code block support to prevent multiple buffer openings [Jake Luer]
- Fixed nested filter support
0.5.3 / 2010-10-06
- Fixed bug when tags with code also have a block [reported by chrisirhc]
0.5.2 / 2010-10-05
-
Added; Text introduces newlines to mimic the grammar. Whitespace handling is a little tricky with this sort of grammar. Pug will now mimic the written grammar, meaning that text blocks using the "|" margin character will introduce a literal newline, where as immediate tag text (ex "a(href='#') Link") will not.
This may not be ideal, but it makes more sense than what Pug was previously doing.
Added
Tag#text
to disambiguate between immediate / block textRemoved pretty option (was kinda useless in the state it was in)
Reverted ignoring of newlines. Closes #92.
Fixed;
Parser#parse()
ignoring newlines
0.5.1 / 2010-10-04
- Added many examples
- Added; compiler api is now public
- Added; filters can accept / manipulate the parse tree
- Added filter attribute support. Closes #79
- Added LL(*) capabilities
- Performance; wrapping code blocks in {} instead of
(function(){}).call(this)
- Performance; Optimized attribute buffering
- Fixed trailing newlines in blocks
0.5.0 / 2010-09-11
- Major refactor. Logic now separated into lexer/parser/compiler for future extensibility.
- Added pretty option
- Added parse tree output for debug option
- Added new examples
- Removed context option, use scope
0.4.1 / 2010-09-09
- Added support for arbitrary indentation for single-line comments. Closes #71
- Only strip first space in text (ex '| foo' will buffer ' foo')
0.4.0 / 2010-08-30
- Added tab naive support (tabs are converted to a single indent, aka two spaces). Closes #24
- Added unbuffered comment support. Closes #62
- Added hyphen support for tag names, ex: "fb:foo-bar"
- Fixed bug with single quotes in comments. Closes #61
- Fixed comment whitespace issue, previously padding. Closes #55
0.3.0 / 2010-08-04
- Added single line comment support. Closes #25
- Removed CDATA from :javascript filter. Closes #47
- Removed sys local
- Fixed code following tag
0.2.4 / 2010-08-02
- Added Buffer support to
render()
- Fixed filter text block exception reporting
- Fixed tag exception reporting
0.2.3 / 2010-07-27
- Fixed newlines before block
- Fixed; tag text allowing arbitrary trailing whitespace
0.2.2 / 2010-07-16
- Added support for
pug.renderFile()
to utilize primed cache - Added link to textmate bundle
- Fixed filter issue with single quotes
- Fixed hyphenated attr bug
- Fixed interpolation single quotes. Closes #28
- Fixed issue with comma in attrs
0.2.1 / 2010-07-09
Added support for node-discount and markdown-js depending on which is available.
Added support for tags to have blocks and text. this kinda fucks with arbitrary whitespace unfortunately, but also fixes trailing spaces after tags with blocks.
Caching generated functions. Closes #46
0.2.0 / 2010-07-08
- Added
- each
support for readable iteration - Added markdown-js support (no compilation required)
- Removed node-discount support
0.1.0 / 2010-07-05
- Added
${}
support for interpolation. Closes #45 - Added support for quoted attr keys:
label("for": 'something')
is allowed (although not required) [Guillermo] - Added
:less
filter [jakeluer]
0.0.2 / 2010-07-03
- Added
context
as synonym forscope
option [Guillermo] - Fixed attr splitting:
div(style:"color: red")
is now allowed - Fixed issue with
(
and)
within attrs:a(class: (a ? 'a' : 'b'))
is now allowed - Fixed issue with leading / trailing spaces in attrs:
a( href="#" )
is now allowed [Guillermo]