forked from rescript-lang/rescript
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathprocess.js
38 lines (30 loc) · 1.11 KB
/
process.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 marked = require('marked')
var renderer = new marked.Renderer()
var path = require('path')
var oldrender = new marked.Renderer()
renderer.link = function(href,title,text){
var ext = path.extname(href)
if(!title && (ext === ".md" )){
return `<a href="${path.join(path.dirname(href),path.basename(href,".md"))+'.html'}">${text}</a>`
} else{
return oldrender.link(href,title,text);
}
}
var glob= require('glob')
var sidebar = "_Sidebar.md"
var HandleBars = require('handlebars')
let template = HandleBars.compile(fs.readFileSync("_template.html.tpl", 'utf8'))
let index = marked(fs.readFileSync(sidebar,'utf8'), {renderer})
glob.sync("*.md").forEach(x=>{
if (!x.startsWith("_")){
console.log(`processing ${x}`)
var content = marked(fs.readFileSync(x,'utf8'),{renderer});
var github_link = `https://github.com/bucklescript/bucklescript/tree/master/docs/${x}`
let output = template({content, index, github_link})
fs.writeFileSync(
"dist/" + path.basename(x,".md")+".html",
output,'utf8')
}
})