-
Notifications
You must be signed in to change notification settings - Fork 0
/
Gulpfile.js
79 lines (72 loc) · 13.5 KB
/
Gulpfile.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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
var gulp = require('gulp');
var map = require('map-stream');
var rename = require('gulp-rename');
var concat = require('gulp-concat');
var replace = require('gulp-replace');
var markdownpdf = require('gulp-markdown-pdf');
var argv = require('yargs').argv;
var path = require('path');
gulp.task('default', function() {
if (!argv.src) {
console.error('option --src required');
return;
}
var chapitre = 1;
gulp.src('./' + argv.src + '/**/*.md')
.pipe(rename(function(path) {
// continuous naming, optionaly used by h1()
path.basename = chapitre++ + '. ' + path.basename.substr(3).trim();
console.log(path.basename);
}))
.pipe(h1())
.pipe(pgbrk())
.pipe(concat(argv.src + '.md'))
.pipe(images())
// turn image relative paths to absolute to work with markdownpdf
.pipe(replace(/(!\[.*?\]\()(.+?)(\))/g, function(whole, start, url, end) {
var newUrl = url;
if (!url.match(/^http/)) {
newUrl = path.resolve('./' + argv.src + '/' + url);
}
return start + newUrl + end;
}))
.pipe(markdownpdf({
runningsPath: __dirname + '/runnings.js',
cssPath: __dirname + '/pdf.css',
paperOrientation: argv.orientation
}))
.pipe(gulp.dest('.'));
});
var pgbrk = function() {
return map(function(file, cb) {
if (file.contents) {
var sContents = file.contents.toString('utf8');
sContents = sContents.replace(/^\s*(…|\.\.\.)\/(…|\.\.\.)\s*$/mg, '<p class="pgbrk">…/…</p>');
file.contents = new Buffer(sContents);
}
cb(null, file);
});
};
var h1 = function() {
return map(function(file, cb){
if (argv.autoH1 !== false) {
file.contents = Buffer.concat([
new Buffer('\n# ' + path.basename(file.path, '.md') + '\n\n'),
file.contents
]);
}
cb(null, file);
});
};
var images = function() {
return map(function(file, cb){
file.contents = Buffer.concat([
file.contents,
// LMTM
//new Buffer('<img style="display:none;" src="data:image/png;base64,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" />')
// CleverAge
new Buffer('<img style="display:none;" src="data:image/png;base64,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" />')
]);
cb(null, file);
});
};