Skip to content

Instantly share code, notes, and snippets.

@tmpvar
Forked from Marak/gist:431059
Created June 9, 2010 04:53
Show Gist options
  • Save tmpvar/431070 to your computer and use it in GitHub Desktop.
Save tmpvar/431070 to your computer and use it in GitHub Desktop.
var sys = require("sys"),
dom = require('./lib/jsdom/lib/level1/core').dom.level1.core,
fs = require("fs"),
haml = require('./lib/haml-js/lib/haml')
windower = require("./lib/jsdom/lib/browser");
exports.toJUP = function(template) {
template = haml.render(template);
var window = windower.windowAugmentation(dom);
var document = window.document;
var location = window.location;
var navigator = window.navigator = { userAgent: "node-js" };
global.window = window;
var jquery = fs.readFileSync('./lib/jquery.js', encoding='utf8');
var JUP = fs.readFileSync('./lib/JUP.js', encoding='utf8');
global.window.document.compareDocumentPosition = function() {};
dom.Node.prototype.addEventListener = window.addEventListener = window.document.addEventListener = function() {};
try {
eval(jquery.toString());
} catch (e) {
sys.puts(sys.inspect(e.stack, true));
}
try {
eval(JUP.toString());
} catch (e) {
sys.puts(sys.inspect(e.stack, true));
}
// Doing this requires you setup a parser, easiest way is to put node-htmlparser.js into
// ~/.node_libraries/
window.jQuery(document.body).append("<div class='testing'>Hello World, It works!</div>");
return window.JUP.parseDOM();
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment