-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathsidebars.js
88 lines (78 loc) · 1.98 KB
/
sidebars.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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
/**
* Creating a sidebar enables you to:
- create an ordered group of docs
- render a sidebar for each doc of that group
- provide next/previous navigation
The sidebars can be generated from the filesystem, or explicitly defined here.
Create as many sidebars as you want.
*/
// @ts-check
const isLocal = process.env.NODE_ENV=== 'development'
const registry = process.env.REGISTRY || 'root'
const providers = [
{name: 'aws'},
{name: 'azure'},
{name: 'google'},
{name: 'googleadmin'},
{name: 'digitalocean'},
{name: 'databricks_account'},
{name: 'databricks_workspace'},
{name: 'confluent'},
{name: 'github'},
{name: 'openai'},
{name: 'anthropic'},
{name: 'linode'},
{name: 'netlify'},
{name: 'okta'},
{name: 'sumologic'},
{name: 'firebase'},
{name: 'k8s'},
{name: 'vercel'},
{name: 'pagerduty'},
{name: 'datadog'},
{name: 'godaddy'},
{name: 'homebrew'},
{name: 'azure_extras'},
{name: 'azure_isv'},
{name: 'azure_stack'},
]
const getProviderSiteUrl = (name) =>{
return `https://${name.replace('_', '-')}.stackql.io/providers/${name}`
}
const providerDocItems = providers.map(provider =>{
const name = provider.name
//TODO: move item url into providers file, create getUrl as function
if(registry === name){
return {
type: 'category',
label: `${name}`,
link:{type: 'doc', id: `${name}-doc`},
collapsed: true,
items:[
{
type: 'autogenerated',
dirName: `providers/${registry}`,
},
]
}
}
return {
type: 'html',
value: `<a href="${getProviderSiteUrl(name)}">${name}</a>`,
}
})
/** @type {import('@docusaurus/plugin-content-docs').SidebarsConfig} */
const sidebars = {
docsSidebar: [
'stackql-provider-registry',
{
type: 'category',
label: `Available Providers`,
collapsible: true,
collapsed: false,
// @ts-ignore
items: providerDocItems
},
],
};
module.exports = sidebars;