- fix overzealous deprecation warnings
- fix line endings for executable command
- fix
localsvariable being undefined - fix an obscure bug that could occur if multiple mixins interact badly (see substack/lexical-scope#13)
- deprecate implicit text-only
scriptandstyletags - make
withat compile time usinglexical-scope - add
options.parserthat behaves exactly likeoptions.compiler - add "component.json" for component (runtime) support
- removed
hasOwnPropertycheck 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)
- 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
- 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
- wtf coffeescript is not a dep
- add passing of filename to include filters
- fix wrong new lines for include filters
- 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:
- 反馈地址
- 样式
- 联系
- 初稿,翻译完
- 接受大鸟的建议
- 头晕,翻译一点点
- 到过滤器翻译完毕
- 翻译一部分
- 中文翻译单独放
- 特性部分
- 再翻
- 翻译一点点
- fix each/else clause for enumerated objects
- fix #764 (incorrect line number for error messages)
- fix double-escaping of interpolated js slashes. Closes #784
- Included templates can not override blocks of their parent. Closes #699
- fix attr interpolation escaping. Closes #771
- fix include yields. Closes #770
- fix escaping of interpolation. Closes #769
- loosen "mkdirp" version restriction [TooTallNate]
- Revert "fixing string interpolation escaping #731", problems reported
- fix attribute interpolation escaping #731
- fix string interpolation escaping #731
- added ability to pass in json file to
--obj - add preliminary
eachelsesupport. Closes #716 - fix doctype bug overlooked in #712
- fix stripping of utf-8 BOMs
- Update version of commander that supports node v0.8.
- 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 jade util functions [3rd-Eden]
- Fixed
attrs()escape bug [caseywebdev]
- Changed default doctype to html5
- Performance: statically compile attrs when possible [chowey]
- Fixed some class attribute merging cases
- Fixed so
blockdoesn't consumeblockquotestag [chowey] - Fixed backslashes in text nodes [chowey]
- Fixed / in text. Closes #638
- Added package.json component support
- Added explicit self-closing tag support. Closes #605
- Added
blockstatement - Added mixin tag-like behaviour [chowey]
- Fixed mixins with extends [chowey]
- Added preliminary mixin block support. Closes #310
- Fixed whitespace handling in various situations [chowey]
- Fixed indentation in various situations [chowey]
- Fixed unescaped attribute compilation
- Fixed pretty-printing of text-only tags (Warning: this may affect rendering) [chowey]
- Added data-attr json stringification support. Closes #572
- Added unescaped attr support. Closes #198
- Fixed #1070, reverted mixin function statements
- Fixed jade.1 typo
- Fixed source tags. now self-closing. Closes #308
- Fixed: escape backslashes in coffeescript filter
- Added jade manpage (
man jadeafter installation for docs) - Added
-D, --no-debugto jade(1) - Added
-p, --prettyto jade(1) - Added
-c, --clientoption to jade(1) - Fixed
-o { client: true }with stdin - Fixed: skip blank lines in lexer (unless within pipeless text). Closes #399
- 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
- Changed: pass
.filenameto filters only
- Fixed
:stylusimport capabilities, pass .filename
- Fixed Block#includeBlock() with textOnly blocks
- Added a browser example
- Added
yieldfor blockincludes - Changed: replaced internal
__var with__jade[chrisleishman] - Fixed two globals. Closes #433
- Added block
append/prependsupport. Closes #355 - Added link in readme to jade-mode for Emacs
- Added link to python implementation
- Changed: only ['script', 'style'] are text-only. Closes #398'
- jade.renderFile() is back! (for express 3.x)
- Fixed
Object.keys()failover bug
- Fixed a test due to reserved keyword
- Fixed: commander 0.1.x dep for 0.5.x
- 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 .jade extension as jade files
- Fixed include regression. Closes #354
- Fixed unexpected
elsebug when compileDebug: false - Fixed attr state issue for balancing pairs. Closes #353
- Added
includeblock support. Closes #303 - Added template inheritance via
blockandextends. Closes #242 - Added 'type="text/css"' to the style tags generated by filters.
- Added 'uglifyjs' as an explicit devDependency.
- Added -p, --path flag to jade(1)
- Added support for any arbitrary doctype
- Added
jade.render(str[,options], fn)back - Added first-class
whilesupport - Added first-class assignment support
- Fixed runtime.js
Array.isArray()polyfill. Closes #345 - Fixed: set .filename option in jade(1) when passing filenames
- Fixed
Object.keys()polyfill typo. Closes #331 - Fixed
includeerror context - Renamed magic "index" to "$index". Closes #350
- Fixed script template html. Closes #316
- Revert "Fixed script() tag with trailing ".". Closes #314"
- Added Makefile example. Closes #312
- Fixed script() tag with trailing ".". Closes #314
- Fixed new conditional boundaries. Closes #307
- Fixed jade(1) support due to
res.render()removal - Removed --watch support (use a makefile + watch...)
- Added
clientoption 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,elseandelse ifsupport - Added first-class
each/forsupport - Added
make benchmarkfor continuous-bench - Removed
inlineoption, SS helpers are no longer inlined either - Removed
Parser#debug() - Removed
jade.render()andjade.renderFile() - Fixed runtime.js
escape()bug causing window.escape to be used - Fixed a bunch of tests
- Added
includesupport for non-jade files - Fixed code indentation when followed by newline(s). Closes #295 [reported by masylum]
- Added
colonsoption for everyone stuck with ":". Closes #231 - Optimization: consecutive lines are merged in compiled js
- Added array iteration with index example. Closes #276
- Added runtime.js
- Added
compileDebugoption to enable lineno instrumentation - Added
inlineoption to disable inlining of helpers (for client-side)
- Added
mixinsupport - Added
includesupport - Added array support for the class attribute
- Fixed filter indentation bug. Closes #243
- Fixed empty strings support. Closes #223
- Fixed conditional comments documentation. Closes #245
- Fixed
make test - Fixed block comments
- Fixed attribute interpolation with double quotes. Fixes #232 [topaxi]
- Added
doctypeas alias of!!! - Added; doctype value is now case-insensitive
- Added attribute interpolation support
- Fixed; retain original indentation spaces in text blocks
- 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)
- Added
selfobject to avoid poorwith(){}performance [masylum] - Added
doctypeoption [Jeremy Larkin]
- expose Parser
- Fixed CS
Object.keys()[reported by robholland]
- 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
- Added
htmldoctype, same as "5" - Fixed
pre, no longer text-only
- Fixed support for quoted attribute keys ex
rss("xmlns:atom"="atom")
- Fixed pipeless text bug with missing outdent
- Fixed
support/compile.jsto exclude browser js in node - Fixes for IE [Patrick Pfeiffer]
- Added AST-filter support back in the form of
<tag>[attrs]<:><block>
- Added
Block#unshift(node) - Added
jade.jsfor the client-side to the repo - Added
jade.min.jsfor 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.
- Added jade
--version - Removed
${}interpolation support, use#{}
- Fixed invalid
.map()call due to recent changes
- Added client-side browser support via
make jade.jsandmake jade.min.js.
- Fixed preservation of newlines in text blocks
- Fixed jade(1) stdio
- Added
mkdirs()to jade(1) - Added jade(1) stdio support
- Added new features to jade(1),
--watch, recursive compilation etc [khingebjerg] - Fixed pipe-less text newlines
- Removed jade(1)
--pipeflag
- Fixed parenthesized expressions in attrs. Closes #170
- Changed; default interpolation values
== nullto ''. Closes #167
- Added pipe-less text support with immediate ".". Closes #157
- Fixed object support in attrs
- Fixed array support for attrs
- Fixed issue with expressions being evaluated several times. closes #162
- Added markdown, discount, and markdown-js support to
:markdown. Closes #160 - Removed
:discount
- Added
prepipe-less text support (and auto-escaping)
- Added block-expansion support. Closes #74
- Added support for multi-line attrs without commas. Closes #65
- Fixed
script()etc pipe-less text with attrs
- Removed
:javascriptfilter (it doesn't really do anything special, usescripttags) - Added pipe-less text support. Tags that only accept text nodes (
script,textarea, etc) do not require|. - Added
:textfilter 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
:stylusfilter - Added
:discountfilter - 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.namewhen undefined or null will not output "undefined". Closes #130 - Fixed; throw on unexpected token instead of hanging
- Added
eachsupport for Array-like objects [guillermo]
- Added CSRF example, showing how you can transparently add inputs to a form
- Added link to vim-jade
- Fixed self-closing col support [guillermo]
- Fixed exception when getAttribute or removeAttribute run into removed attributes [Naitik Shah]
- Added unescaped interpolation variant
!{code}. Closes #124 - Changed; escape interpolated code by default
#{code}
- Fixed; hyphen in get
tag()
- Added
exports.compile(str, options) - Renamed internal
_to__, since_()is commonly used for translation
-
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.
- 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
- Fixed bug when tags with code also have a block [reported by chrisirhc]
-
Added; Text introduces newlines to mimic the grammar. Whitespace handling is a little tricky with this sort of grammar. Jade 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 Jade was previously doing.
-
Added
Tag#textto disambiguate between immediate / block text -
Removed pretty option (was kinda useless in the state it was in)
-
Reverted ignoring of newlines. Closes #92.
-
Fixed;
Parser#parse()ignoring newlines
- 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
- 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
- Added support for arbitrary indentation for single-line comments. Closes #71
- Only strip first space in text (ex '| foo' will buffer ' foo')
- 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
- Added single line comment support. Closes #25
- Removed CDATA from :javascript filter. Closes #47
- Removed sys local
- Fixed code following tag
- Added Buffer support to
render() - Fixed filter text block exception reporting
- Fixed tag exception reporting
- Fixed newlines before block
- Fixed; tag text allowing arbitrary trailing whitespace
- Added support for
jade.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
-
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
- Added
- eachsupport for readable iteration - Added markdown-js support (no compilation required)
- Removed node-discount support
- Added
${}support for interpolation. Closes #45 - Added support for quoted attr keys:
label("for": 'something')is allowed (although not required) [Guillermo] - Added
:lessfilter [jakeluer]
- Added
contextas synonym forscopeoption [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]