Skip to content

Commit 0e5fdc4

Browse files
adding script for docs setup (nodegui#26)
* Fixes nodegui#25 Fix docs script * Use Widgets heading, add ;
1 parent 437befb commit 0e5fdc4

File tree

4 files changed

+39
-4
lines changed

4 files changed

+39
-4
lines changed

.eslintignore

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
dist
22
demo
3-
website
3+
website
4+
scripts

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
"lint": "eslint --ext ts .",
1111
"build": "tsc",
1212
"dev": "npm run build && webpack -p && qode --inspect ./demo-dist/main.js",
13-
"docs": "rm -rf ./website/docs/api && typedoc && rm ./website/docs/api/globals.md ./website/docs/api/index.md"
13+
"docs": "npx run-func ./scripts/docs.js cleanApiDocs && typedoc && node ./scripts/docs.js"
1414
},
1515
"repository": {
1616
"type": "git",

scripts/docs.js

+34
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
const fs = require('fs');
2+
const path = require('path');
3+
4+
const API_PATH = path.resolve(__dirname, '../website/docs/api');
5+
const SIDEBARS_FILE = path.resolve(__dirname, '../website/sidebars.js');
6+
const sidebarsData = require('../website/sidebars');
7+
8+
['index.md', 'globals.md'].forEach((fileName) => {
9+
if (fs.existsSync(`${API_PATH}/${fileName}`)) {
10+
fs.unlinkSync(`${API_PATH}/${fileName}`);
11+
}
12+
});
13+
14+
if (sidebarsData.guides && sidebarsData.guides.Interfaces) {
15+
const interfaces = sidebarsData.guides.Interfaces;
16+
delete sidebarsData.guides.Interfaces;
17+
18+
if (sidebarsData.api) {
19+
sidebarsData.api.Widgets = interfaces;
20+
}
21+
22+
if (fs.existsSync(SIDEBARS_FILE)) {
23+
const data = `module.exports = ${JSON.stringify(sidebarsData, null, 2)};\n`;
24+
fs.writeFileSync(SIDEBARS_FILE, data);
25+
}
26+
}
27+
28+
function cleanApiDocs() {
29+
if (fs.existsSync(API_PATH)) {
30+
fs.rmdirSync(API_PATH, { recursive: true });
31+
}
32+
}
33+
34+
module.exports = { cleanApiDocs };

website/sidebars.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ module.exports = {
88
"guides/5-handle-events",
99
"guides/6-images",
1010
"guides/7-networking"
11-
],
11+
]
1212
},
1313
"api": {
1414
"Widgets": [
@@ -24,4 +24,4 @@ module.exports = {
2424
"api/interfaces/viewprops"
2525
]
2626
}
27-
};
27+
};

0 commit comments

Comments
 (0)