You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
30 lines
891 B
JavaScript
30 lines
891 B
JavaScript
6 years ago
|
var cheerio = require('cheerio')
|
||
|
, http = require('http');
|
||
|
|
||
|
http.get('http://www.w3.org/html/wg/drafts/html/master/syntax.html', function (res) {
|
||
|
var str = '';
|
||
|
res.setEncoding('utf8');
|
||
|
res.on('data', function (buf) {
|
||
|
str += buf;
|
||
|
}).on('end', function () {
|
||
|
var $ = cheerio.load(str);
|
||
|
var codes = $('dfn#void-elements')
|
||
|
.parent()
|
||
|
.next()
|
||
|
.text()
|
||
|
.replace(/\s/gm,'')
|
||
|
.split(",")
|
||
|
.reduce(function (obj, code) {
|
||
|
obj[code] = true;
|
||
|
return obj;
|
||
|
}, {});
|
||
|
|
||
|
console.log('/**');
|
||
|
console.log(' * This file automatically generated from `pre-publish.js`.');
|
||
|
console.log(' * Do not manually edit.');
|
||
|
console.log(' */');
|
||
|
console.log();
|
||
|
console.log('module.exports = %s;', JSON.stringify(codes, null, 2));
|
||
|
});
|
||
|
});
|