root / HServer / 00.Server / 00.Program / node_modules / mongoose / website.js
이력 | 보기 | 이력해설 | 다운로드 (2.28 KB)
1 |
var fs = require('fs'); |
---|---|
2 |
var jade = require('jade'); |
3 |
var package = require('./package'); |
4 |
var linktype = require('./docs/helpers/linktype'); |
5 |
var href = require('./docs/helpers/href'); |
6 |
var klass = require('./docs/helpers/klass'); |
7 |
|
8 |
const markdown = require('marked');
|
9 |
const highlight = require('highlight.js');
|
10 |
markdown.setOptions({ |
11 |
highlight: function(code) { |
12 |
return highlight.highlight('JavaScript', code).value; |
13 |
} |
14 |
}); |
15 |
|
16 |
jade.filters.markdown = markdown; |
17 |
|
18 |
function getVersion() { |
19 |
return require('./package.json').version; |
20 |
} |
21 |
|
22 |
function getLatestLegacyVersion(startsWith) { |
23 |
var hist = fs.readFileSync('./History.md', 'utf8').replace(/\r/g, '\n').split('\n'); |
24 |
for (var i = 0; i < hist.length; ++i) { |
25 |
var line = (hist[i] || '').trim(); |
26 |
if (!line) {
|
27 |
continue;
|
28 |
} |
29 |
var match = /^\s*([^\s]+)\s/.exec(line); |
30 |
if (match && match[1] && match[1].startsWith(startsWith)) { |
31 |
return match[1]; |
32 |
} |
33 |
} |
34 |
throw new Error('no match found'); |
35 |
} |
36 |
|
37 |
// use last release
|
38 |
package.version = getVersion();
|
39 |
package.latest4x = getLatestLegacyVersion('4.'); |
40 |
package.latest38x = getLatestLegacyVersion('3.8'); |
41 |
|
42 |
var filemap = require('./docs/source'); |
43 |
var files = Object.keys(filemap);
|
44 |
|
45 |
function jadeify(filename, options, newfile) { |
46 |
options = options || {}; |
47 |
options.package = package; |
48 |
options.linktype = linktype; |
49 |
options.href = href; |
50 |
options.klass = klass; |
51 |
jade.renderFile(filename, options, function(err, str) {
|
52 |
if (err) {
|
53 |
console.error(err.stack); |
54 |
return;
|
55 |
} |
56 |
|
57 |
newfile = newfile || filename.replace('.jade', '.html'); |
58 |
fs.writeFile(newfile, str, function(err) {
|
59 |
if (err) {
|
60 |
console.error('could not write', err.stack);
|
61 |
} else {
|
62 |
console.log('%s : rendered ', new Date, newfile); |
63 |
} |
64 |
}); |
65 |
}); |
66 |
} |
67 |
|
68 |
files.forEach(function(file) {
|
69 |
var filename = __dirname + '/' + file; |
70 |
jadeify(filename, filemap[file]); |
71 |
|
72 |
if (process.argv[2] === '--watch') { |
73 |
fs.watchFile(filename, {interval: 1000}, function(cur, prev) { |
74 |
if (cur.mtime > prev.mtime) {
|
75 |
jadeify(filename, filemap[file]); |
76 |
} |
77 |
}); |
78 |
} |
79 |
}); |
80 |
|
81 |
var acquit = require('./docs/source/acquit'); |
82 |
var acquitFiles = Object.keys(acquit);
|
83 |
acquitFiles.forEach(function(file) {
|
84 |
var filename = __dirname + '/docs/acquit.jade'; |
85 |
jadeify(filename, acquit[file], __dirname + '/docs/' + file);
|
86 |
}); |