Jade with optional tags
It's a W3C's spec: [http://www.w3.org/html/wg/drafts/html/master/syntax.html#optional-tags]
npm install cutsin/jade
bash$ jade foo bar --omitTag [safe|radical|unsafe|dangerous]
var jade = require'jade'var options =omitTag : 'radical' // or 'safe' or 'unsafe' or 'dangerous'var fn = jadecompileFile'./foo.jade' optionsvar html = fnlocals
In browser, before HTML minify and after it, the result is different, because browser must be generated implied end tags.
Sync with Jade, only a few changes.
If you using default option: true or 'safe', it's just provide 12 absolutely safe tags, most browsers(IE6+/chrome/safari/Firefox/Opera/...) works perfect.
Actually, it appeared in HTML 4.01, and we used many years on our corp's projects.
In test case, other levels will be fallback to "safe" when using "pretty: true", because it's really unsafe with space character and comment by w3's SPEC.
In browser, the rendering results are different, because of white-space processing model
In addition, according to omitted tag's implicit rules, we can do a lot of useful things.
Values for Jade, it can be reduce indentationslike this:
omitTag: 'radical' at least
doctype htmlhtml(lang="en")//- `base` is a `head scope` only tag.base(href="/n/contacts/")p I'm main body.ulli
It can resolve the different rendering results on browser side(white-space processing model) when using