html2jade
converts HTML into Jade format.
This module is now maintained by @aichholzer
Mostly usable but sometimes requires fixing up, usually involving conditionals and scripts indentation.
While converting a fairly complicated theme package with ~20 HTML files, I had to hand-edit just twice.
Compatible with Node.js 4.0 (verified with v4.2.4) but likely NOT with Node.js 0.11.x, 0.12.x, and io.js.
html2jade
version prior to 0.7 support OS X and Linux only.
html2jade
version 0.7 should support OS X, Windows, and Linux.
npm install -g html2jade
Outputs to stdout if input is URL
html2jade http://twitter.com
html2jade http://twitter.com > twitter.jade
Outputs to file if input is file
html2jade mywebpage.html # outputs mywebpage.jade
html2jade public/*.html # converts all .html files to .jade
Convert HTML from stdin
cat mywebpage.html | html2jade -
To generate Scalate compatible output:
html2jade --scalate http://twitter.com
html2jade --scalate http://twitter.com > twitter.jade
html2jade --scalate mywebpage.html
html2jade --scalate public/*.html
-d, --double
- use double quotes for attributes-o, --outdir <dir>
- path to output generated jade file(s) to-n, --nspaces <n>
- the number of spaces to indent generated files with. Default is 2 spaces-t, --tabs
- use tabs instead of spaces--donotencode
- do not html encode characters. This is useful for template files which may contain expressions like {{username}}--bodyless
- do not output enveloping html and body tags--numeric
- use numeric character entities-s, --scalate
- generate Scalate variant of jade syntax--noattrcomma
- omit attribute separating commas--noemptypipe
- omit lines with only pipe ('|') printable character
To convert raw HTML into Jade:
var html2jade = require('html2jade');
var html = "<html><body>Hello World</body></html>";
html2jade.convertHtml(html, {}, function (err, jade) {
// do your thing
});
To convert DOM document into Jade (client-side):
// assumes html2jade.js file has been loaded
Html2Jade.convertDocument(document, {}, function (err, jade) {
// do your thing
});
Jade is commonly used to generate HTML with embedded Mustache or Handlebars templates.
Be sure to use version 0.8 if you use template expressions in element IDs or CSS class names to avoid generating invalid Jade files.
There is a web version of html2jade
,
kindly provided by @aaronpowell.
Pascal Garber's jade2html2jade does roundtrip from jade to HTML and back. Online demo.
Miniclip is a Linux tray app that quickly converts HTML to Jade, CSS to Stylus and JS to Coffee from clipboard.
As of version 0.4, there is a simple unit test that converts HTML files in test/data
directory
and compare them against Jade files in the same directory. Unit test harness requires coffee-script
and mocha
to be installed globally. Run the tests with command npm test
.
If you're having issues with br
line-breaks which apparently Jade has some problems with,
try @smaudet's
fix-breaklines
branch.