1. html2jade
HTML to Jade conversion tool
html2jade
Package: html2jade
Created by: donpark
Last modified: Sat, 18 Jun 2022 22:01:47 GMT
Version: 0.8.6
License: BSD
Downloads: 2,956
Repository: https://github.com/donpark/html2jade

Install

npm install html2jade
yarn add html2jade

html2jade

Build Status

html2jade converts HTML into Jade format.

This module is now maintained by @aichholzer

Status

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.

Requirements

html2jade version prior to 0.7 support OS X and Linux only.

html2jade version 0.7+ should support OS X, Windows, and Linux.

Install

npm install -g html2jade

Command-line Usage

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

Command-line Options

  • -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

Programmatic Usage (>= 0.0.7)

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
});

Converting Mustache/Handlebars Templates

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.

Tools using html2jade

Web version

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.

Linux tray app

Miniclip is a Linux tray app that quickly converts
HTML to Jade, CSS to Stylus and JS to Coffee from clipboard.

Testing

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.

Useful forks

If you're having issues with br line-breaks which apparently Jade has some problems with,
try @smaudet's
fix-breaklines branch.

RELATED POST

Enhancing Vue.js Development: Harnessing the Potential of Vue-Loader

Enhancing Vue.js Development: Harnessing the Potential of Vue-Loader

Simplify Data Validation in Vue.js: A Step-by-Step Guide to Using Regex

Simplify Data Validation in Vue.js: A Step-by-Step Guide to Using Regex

Troubleshooting Made Easy: Common Issues and Solutions with vue-loader Without vue-cli

Troubleshooting Made Easy: Common Issues and Solutions with vue-loader Without vue-cli

Optimizing Webpack 4 with Vue CLI 3: Disabling the Cache-Loader

Optimizing Webpack 4 with Vue CLI 3: Disabling the Cache-Loader

Step-by-Step Guide: How to Add a Function to Your Vuex Plugin

Step-by-Step Guide: How to Add a Function to Your Vuex Plugin