-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.js
executable file
·68 lines (62 loc) · 1.87 KB
/
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
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
var
Metalsmith = require('metalsmith'),
markdown = require('metalsmith-markdown'),
templates = require('metalsmith-templates'),
collections = require('metalsmith-collections'),
permalinks = require('metalsmith-permalinks'),
branch = require('metalsmith-branch'),
sass = require('metalsmith-sass'),
assets = require('metalsmith-assets'),
ignore = require('metalsmith-ignore'),
Handlebars = require('handlebars'),
fs = require('fs');
Handlebars.registerPartial('header', fs.readFileSync(__dirname + '/templates/partials/header.hbt').toString());
Handlebars.registerPartial('footer', fs.readFileSync(__dirname + '/templates/partials/footer.hbt').toString());
var ms = Metalsmith(__dirname);
ms
.use(
branch('content/*/*.md')
.use(ignore([
'\.*'
]))
.use(collections({
projects: {
pattern: 'content/projects/*.md'
},
pages: {
pattern: 'content/pages/*.md'
},
posts: {
pattern: 'content/posts/*.md',
sortBy: 'date',
reverse: true
}
}))
.use(markdown({gfm:true, breaks:true}))
.use(permalinks({
pattern: ':collection/:title'
}))
.use(templates('handlebars'))
)
.use(
branch('index.md')
.use(markdown({gfm:true, breaks:true}))
// .use(permalinks({
// pattern: ':collection/:title'
// }))
.use(templates('handlebars'))
)
// .use(
// branch('assets')
// .use(assets({
// source: './assets' //, // relative to the working directory
// // destination: './a' // relative to the build directory
// }))
// )
;
ms
.use(sass({
outputDir: 'css/'
}))
.destination('./build')
.build();