Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

296 lines (206 sloc) 7.352 kb
Version 0.3.5
* remove domain support, it actually introduces bugs in globalAgent
socket tracking.
Version 0.3.4
* fix notemplate.window()
Version 0.3.3
* do not set cookie if none (avoids
Version 0.3.2
* temporarily depends on patched jsdom + w3c-xmlhttprequest
* pass cookie and href as locals functions to prevent their serialization.
Version 0.2.7
* depends on jsdom + w3c-xmlhttprequest
* safer handling of xhr responses after view is closed
* propagate request Cookie header into document.cookie
* depends express 4
Version 0.2.6
* depends on jquery package, jquery-browser is no longer needed.
Version 0.2.5
* depends on custom node-XMLHttpRequest@1.5.1 module with optional
http agent. Use globalAgent.
This requires removal of previously installed module located at:
Version 0.2.4
* cleanup after xhr request error, rethrow error after timeout handler
Version 0.2.3
* drop dependency on node-canvas. It is up to the program using this
module to depend on it.
Version 0.2.2
* run client scripts inside a domain. Catch errors, dispose of domain.
Version 0.2.1
* add dependency on node-canvas. Not really used for the moment.
Version 0.2.0
* xhr requests emit nodejs-bound 'request' events with
(method, url, status, data) passed as parameters to the listeners.
This allows tracking of the resources used by a document.
* window 'load' event is triggered after all listeners of 'data' event
have been called.
Version 0.1.19
* The 'render' event is emitted upon completion of asynchronous calls
like XMLHttpRequest and setTimeout.
Version 0.1.18
* require('notemplate').window(htmlstr, href) returns a window with
window.$ jquery, optionally parsing htmlstr into it.
href can be used to set document.location.
Version 0.1.17
* Limited IE-style conditional comments support (must be in <head>, must
contain only one tag, !IE not supported). The comment is replaced by
its content and get notemplate:comment-start notemplate:comment-end
attributes before and after data/render events.
Version 0.1.16
* the view cache has no real performance gain and is leaky. Remove it.
* if instance.output is an EventEmitter, call window.close on its end
and error events (or else window could be closed before we stop using
Version 0.1.15
* Remove listeners before replaying document.ready,
since data listeners are set after again.
Version 0.1.14
* Fix policy on ready events :
document.ready is now correctly emitted after the page has been instanciated.
Before that, page-bound scripts would not act upon the same documentElement,
forcing node selection to be done only in event.
notemplate.ready is still emitted before the page has been instanciated,
allowing to change the template before it becomes a page.
* Rewrite parts of README.
Version 0.1.13
* Add view.instance to the view parameter of 'render' listeners.
Pass instance as the parameter of 'output' listeners.
view.instance.window, view.instance.toString,
and use view.instance.output to determine if toString
must be called or not.
Version 0.1.12
* window.navigator.server is true when run in notemplate.
Version 0.1.11
* Support setting of document.location with
Version 0.1.10
* Fix: script with template="server" attribute wasn't removed.
Version 0.1.9
* Use jquery 2.0.x - update jquery fix.
* Use jsdom 0.6.x - set page url to / by default.
* Small compatibility fix for nodejs 0.10
* Use html5 parser if it is available, otherwise use jsdom default parser.
* Relax express version
Version 0.1.8
* Use html5 parser instead of node-htmlparser, because it correctly
handles brackets in attributes values.
Will probably switch to node-htmlparser2 or switch back to the default
jsdom parser when this is fixed, see
Version 0.1.7
* Bugfix disable completely jQuery.ajax and jQuery.globalEval,
instead of buildFragment monkey patch that does work with jQuery 1.9.
* Depend on jsdom 0.5.x
* Refactor defaults options for jsdom window creation.
* Only one newline after doctype.
Version 0.1.6
* Bugfix race condition loading scripts
Version 0.1.5
* Bugfix $.each, not .forEach
Version 0.1.4
* Use original jsdom 0.4.x.
* Use jquery 1.9.x.
* Use Step instead of Async.
Version 0.1.3
* Ensure jQuery ready event is called before data event.
Version 0.1.2
* Global ready event is called after all scripts have been loaded,
this mimics browser behavior (and is more useful).
Version 0.1.1
* Designed for express 3, not compatible with express 2.
* Fully asynchronous.
* Listeners signatures changed to (view, opts) where
view.window is the current DOM window, and opts is the argument
given by express 3 to templates.
* Global events: ready, data, render, output
* Settings :
+ app.settings.statics, default value process.cwd() + '/public'
Version 0.0.13
* Fix: buildFragment override has a bug.
* Document 'output' event.
Version 0.0.12
* Fix: fragment is in data, not in compile options. Production.
Version 0.0.11
* Clone documentElement before applying changes. Production.
Version 0.0.10
* Use app.set("view settings").notemplate for global options :
public : './public/', // the parent of the public javascripts folder
Render-specific options are still at the same place :
render(page, {fragment:'body'});
Version 0.0.9
* Add "output" handler type. Called after dom to html conversion.
Allows changing string output.
Version 0.0.8
* Pretty XHTML output (by using jsdom fork).
Version 0.0.7
monkey-patch jQuery so it doesn't download nor run script content when
they are inserted into DOM.
Version 0.0.6
* Use require.resolve to find path to jquery-browser.
Version 0.0.5
* Use jquery instead of jquip
since jquery brings its own sizzle engine, we do not need to patch
jsdom's querySelectorAll.
* Instead of having _merge or merge callbacks, functions are triggered
by a 'data' event, see
Global handlers of 'data' and 'render' events are possible, making it
possible to define middleware.
Version 0.0.4
* Ensure window.console is the node console global.
Version 0.0.3
* render(view, opts)
opts.fragment can be a selector, selected nodes outer html will be
outputed instead of the all document.
Version 0.0.2
* notemplate attribute on script tags can have server,both,client values.
Default value is client (not loaded).
The notemplate attribute is removed after template is compiled.
Jump to Line
Something went wrong with that request. Please try again.