From bf1b326988ac7af759e044a483136d145ea7a74e Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Fri, 1 Jan 2021 15:19:35 +0000 Subject: [PATCH] Docs: allow docs to be built on Windows --- docs/build.js | 25 +++++++++++++++++++++++++ docs/firebase.json | 1 + package.json | 2 +- 3 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 docs/build.js diff --git a/docs/build.js b/docs/build.js new file mode 100644 index 00000000..325138df --- /dev/null +++ b/docs/build.js @@ -0,0 +1,25 @@ +'use strict'; + +const fs = require('fs').promises; +const path = require('path'); +const documentation = require('documentation'); + +[ + 'constructor', + 'input', + 'resize', + 'composite', + 'operation', + 'colour', + 'channel', + 'output', + 'utility' +].forEach(async (m) => { + const input = path.join('lib', `${m}.js`); + const output = path.join('docs', `api-${m}.md`); + + const ast = await documentation.build(input, { shallow: true }); + const markdown = await documentation.formats.md(ast, { markdownToc: false }); + + await fs.writeFile(output, markdown); +}); diff --git a/docs/firebase.json b/docs/firebase.json index ef55e06c..5ba9f56c 100644 --- a/docs/firebase.json +++ b/docs/firebase.json @@ -4,6 +4,7 @@ "public": ".", "ignore": [ ".*", + "build.js", "firebase.json", "*.md", "image/**", diff --git a/package.json b/package.json index 72ae9bf0..b9b804e8 100644 --- a/package.json +++ b/package.json @@ -82,7 +82,7 @@ "test-licensing": "license-checker --production --summary --onlyAllow=\"Apache-2.0;BSD;ISC;MIT\"", "test-coverage": "./test/coverage/report.sh", "test-leak": "./test/leak/leak.sh", - "docs-build": "documentation lint lib && for m in constructor input resize composite operation colour channel output utility; do documentation build --shallow --format=md --markdown-toc=false lib/$m.js >docs/api-$m.md; done && node docs/search-index/build", + "docs-build": "documentation lint lib && node docs/build && node docs/search-index/build", "docs-serve": "cd docs && npx serve", "docs-publish": "cd docs && npx firebase-tools deploy --project pixelplumbing --only hosting:pixelplumbing-sharp" },