-
Notifications
You must be signed in to change notification settings - Fork 10
/
Copy pathbuild.js
38 lines (31 loc) · 840 Bytes
/
build.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
'use strict'
var fs = require('fs')
var cheerio = require('cheerio')
var got = require('got')
var eachAsync = require('each-async')
var trailingLine = require('single-trailing-newline')
var CSSREF = 'http://www.w3schools.com/cssref/'
function build (refUrl, callback) {
var props = []
if (!callback) {
callback = refUrl
refUrl = CSSREF
}
got.get(refUrl, function (err, body) {
if (err) {
callback(err)
return
}
var $ = cheerio.load(body)
var refs = $('div.notranslate').find('a[target="_top"]')
var len = refs.length
var refItems = refs.toArray()
eachAsync(refItems, function (item, index, done) {
props.push(item.children[0].data)
done()
}, function () {
fs.writeFile('w3c-css-properties.json', trailingLine(JSON.stringify(props)))
})
})
}
build()