diff --git a/lib/pages.js b/lib/pages.js index ef43d9f4..644542f3 100644 --- a/lib/pages.js +++ b/lib/pages.js @@ -1,33 +1,36 @@ const pandoc = require("./pandoc"); const fs = require("fs"); -const VOCAB = require("../package.json").name; +const PKG = require("../package.json"); +const GITHUB_REPO = PKG.repository.url.match(/^git\+(.*?)\.git$/)[1]; const REPO = process.argv[process.argv.length - 1]; function file(dir, title, filename) { console.log(`${dir}/${filename}`); pandoc( { - stdin: fs.createReadStream(`${__dirname}/../${dir}/${filename}`), + stdin: fs.createReadStream(`${dir}/${filename}`), stdout: fs.createWriteStream( `_site/${dir}/${filename === "README.md" ? "index.html" : filename.replace(/\.md$/, ".html")}`, ), }, { - "-c": `/${VOCAB}/styles/style.css`, + "-c": `/${PKG.name}/styles/style.css`, "-F": `${__dirname}/md2html.js`, "-M": `title=${REPO}${title ? " - " + title : ""}`, + "-V": [`github-repo=${GITHUB_REPO}`, `github-path=${dir}/${filename}`], "--template": "assets/template", }, ); } function directory(dir, title) { - if (fs.existsSync(`${__dirname}/../${dir}`)) { - fs.cpSync(`${__dirname}/../${dir}`, `_site/${dir}`, { - recursive: true, - }); - fs.readdirSync(`${__dirname}/../${dir}`) + if (fs.existsSync(dir)) { + if (dir !== ".") + fs.cpSync(`${dir}`, `_site/${dir}`, { + recursive: true, + }); + fs.readdirSync(dir) .filter((fn) => fn.endsWith(".md")) .forEach(function (filename) { file(dir, title, filename); @@ -39,7 +42,7 @@ fs.cpSync(`${__dirname}/../assets/styles`, `_site/styles`, { recursive: true, }); -file(".", "", "README.md"); +directory(".", ""); directory("docs", "Documents"); directory("examples", "Examples"); directory("vocabularies", "Vocabularies"); diff --git a/package.json b/package.json index 2fb80ca3..2cf9f02c 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,8 @@ "url": "git+https://github.com/oasis-tcs/odata-vocabularies.git" }, "files": [ - "lib/*" + "lib/*", + "assets/*" ], "bin": { "odata-vocab2md": "lib/cli.js"