Skip to content

Commit bc9baef

Browse files
committed
feat: auto sidebar for typedoc
1 parent d22d415 commit bc9baef

File tree

4 files changed

+70
-3
lines changed

4 files changed

+70
-3
lines changed

main/.vitepress/config.mjs

+6
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import { defineConfig } from 'vitepress';
22
import { nav } from './themeConfig/nav.js';
33
import { rewrites } from './themeConfig/rewrites.js';
4+
import { apiSidebar } from './themeConfig/sidebar.js';
45

56
export default defineConfig({
67
/* --- FOR DEPLOYMENT TO GITHUB PAGES--- */
@@ -410,6 +411,11 @@ export default defineConfig({
410411
},
411412
],
412413
},
414+
{
415+
text: 'API',
416+
collapsed: true,
417+
...apiSidebar,
418+
},
413419
{
414420
text: 'Support',
415421
collapsed: true,
+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import { generateSidebar } from 'vitepress-sidebar';
2+
3+
export const apiSidebar = generateSidebar([
4+
{
5+
documentRootPath: 'main',
6+
scanStartPath: 'api',
7+
resolvePath: '/api/',
8+
useTitleFromFileHeading: true,
9+
// hyphenToSpace: true,
10+
useFolderTitleFromIndexFile: true,
11+
// excludeFiles: ['mutable-quote.md'],
12+
},
13+
])['/api/'];

package.json

+4-3
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77
"docs:dev": "NODE_OPTIONS=--openssl-legacy-provider vitepress dev main",
88
"docs:build": "NODE_OPTIONS=--openssl-legacy-provider vitepress build main",
99
"docs:preview": "NODE_OPTIONS=--openssl-legacy-provider vitepress preview main",
10-
"docs:build-endo": "cd endo; yarn install; yarn docs:markdown-for-agoric-documentation-repo; mv api-docs ../main/reference/endo",
11-
"docs:build-agoric-sdk": "cd agoric-sdk; yarn install; yarn build; yarn docs:markdown-for-agoric-documentation-repo; mv api-docs ../main/reference/agoric-sdk",
10+
"docs:build-endo": "cd endo; yarn install; yarn docs:markdown-for-agoric-documentation-repo; mv api-docs ../main/api/endo",
11+
"docs:build-agoric-sdk": "cd agoric-sdk; yarn install; yarn build; yarn docs:markdown-for-agoric-documentation-repo; mv api-docs ../main/api/agoric-sdk",
1212
"//docs:build-cf": "echo 'XXX Cloudflare Pages deployment will automatically run `yarn install` right after `git clone`, but this will interfere with building markdown files for endo and agoric-sdk. So we rename node_modules directory before building markdown files and rename it back before running vitepress'",
1313
"docs:build-cf": "mv node_modules not_node_modules; yarn docs:build-endo; yarn docs:build-agoric-sdk; mv not_node_modules node_modules; DEBUG='vitepress:*' NODE_OPTIONS=--openssl-legacy-provider vitepress build main && cp _redirects dist/",
1414
"git-submodule:init": "git submodule init",
@@ -70,7 +70,8 @@
7070
"prettier": "^1.19.1",
7171
"ses": "^0.18.8",
7272
"stylus": "^0.62.0",
73-
"vitepress": "^1.0.1"
73+
"vitepress": "^1.0.1",
74+
"vitepress-sidebar": "^1.21.0"
7475
},
7576
"resolutions": {},
7677
"globals": {

yarn.lock

+47
Original file line numberDiff line numberDiff line change
@@ -3000,6 +3000,13 @@ express@^4.17.1:
30003000
utils-merge "1.0.1"
30013001
vary "~1.1.2"
30023002

3003+
extend-shallow@^2.0.1:
3004+
version "2.0.1"
3005+
resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f"
3006+
integrity sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==
3007+
dependencies:
3008+
is-extendable "^0.1.0"
3009+
30033010
fast-check@^3.0.0:
30043011
version "3.12.0"
30053012
resolved "https://registry.yarnpkg.com/fast-check/-/fast-check-3.12.0.tgz#440949277387a053f7f82cd532fa3fcf67346ba1"
@@ -3339,6 +3346,16 @@ graceful-fs@^4.2.6:
33393346
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3"
33403347
integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==
33413348

3349+
gray-matter@^4.0.3:
3350+
version "4.0.3"
3351+
resolved "https://registry.yarnpkg.com/gray-matter/-/gray-matter-4.0.3.tgz#e893c064825de73ea1f5f7d88c7a9f7274288798"
3352+
integrity sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==
3353+
dependencies:
3354+
js-yaml "^3.13.1"
3355+
kind-of "^6.0.2"
3356+
section-matter "^1.0.0"
3357+
strip-bom-string "^1.0.0"
3358+
33423359
has-bigints@^1.0.1:
33433360
version "1.0.1"
33443361
resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.1.tgz#64fe6acb020673e3b78db035a5af69aa9d07b113"
@@ -3629,6 +3646,11 @@ is-error@^2.2.2:
36293646
resolved "https://registry.yarnpkg.com/is-error/-/is-error-2.2.2.tgz#c10ade187b3c93510c5470a5567833ee25649843"
36303647
integrity sha512-IOQqts/aHWbiisY5DuPJQ0gcbvaLFCa7fBa9xoLfxBZvQ+ZI/Zh9xoI7Gk+G64N0FdK4AbibytHht2tWgpJWLg==
36313648

3649+
is-extendable@^0.1.0:
3650+
version "0.1.1"
3651+
resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89"
3652+
integrity sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==
3653+
36323654
is-extglob@^2.1.1:
36333655
version "2.1.1"
36343656
resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
@@ -3853,6 +3875,11 @@ jsonify@~0.0.0:
38533875
resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73"
38543876
integrity sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=
38553877

3878+
kind-of@^6.0.0, kind-of@^6.0.2:
3879+
version "6.0.3"
3880+
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd"
3881+
integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==
3882+
38563883
levn@^0.4.1:
38573884
version "0.4.1"
38583885
resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade"
@@ -4884,6 +4911,14 @@ sax@~1.3.0:
48844911
resolved "https://registry.yarnpkg.com/sax/-/sax-1.3.0.tgz#a5dbe77db3be05c9d1ee7785dbd3ea9de51593d0"
48854912
integrity sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==
48864913

4914+
section-matter@^1.0.0:
4915+
version "1.0.0"
4916+
resolved "https://registry.yarnpkg.com/section-matter/-/section-matter-1.0.0.tgz#e9041953506780ec01d59f292a19c7b850b84167"
4917+
integrity sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==
4918+
dependencies:
4919+
extend-shallow "^2.0.1"
4920+
kind-of "^6.0.0"
4921+
48874922
semver@^6.0.0, semver@^6.3.0:
48884923
version "6.3.1"
48894924
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4"
@@ -5211,6 +5246,11 @@ strip-ansi@^7.0.1:
52115246
dependencies:
52125247
ansi-regex "^6.0.1"
52135248

5249+
strip-bom-string@^1.0.0:
5250+
version "1.0.0"
5251+
resolved "https://registry.yarnpkg.com/strip-bom-string/-/strip-bom-string-1.0.0.tgz#e5211e9224369fbb81d633a2f00044dc8cedad92"
5252+
integrity sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==
5253+
52145254
strip-bom@^3.0.0:
52155255
version "3.0.0"
52165256
resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"
@@ -5504,6 +5544,13 @@ vite@^5.2.2:
55045544
optionalDependencies:
55055545
fsevents "~2.3.3"
55065546

5547+
vitepress-sidebar@^1.21.0:
5548+
version "1.22.0"
5549+
resolved "https://registry.yarnpkg.com/vitepress-sidebar/-/vitepress-sidebar-1.22.0.tgz#a37a2fc8c83081874c795e3e3138129c6abab274"
5550+
integrity sha512-qweTBD1D+KRM2PJA8gHhSE3Nf6yXOdW49MgPm6Hpq/zJUWTEBVmwN3u+wZ8fWInckS5zp254jLjmXxhgBGwlSw==
5551+
dependencies:
5552+
gray-matter "^4.0.3"
5553+
55075554
vitepress@^1.0.1:
55085555
version "1.0.1"
55095556
resolved "https://registry.yarnpkg.com/vitepress/-/vitepress-1.0.1.tgz#828fe140d5f4975154845b31e97437f035a36c69"

0 commit comments

Comments
 (0)