-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathsidebars.js
More file actions
122 lines (112 loc) · 2.69 KB
/
sidebars.js
File metadata and controls
122 lines (112 loc) · 2.69 KB
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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
/**
* 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: 'github'},
{name: 'snowflake'},
{name: 'databricks_workspace'},
{name: 'databricks_account'},
{name: 'openai'},
{name: 'anthropic'},
{name: 'k8s'},
{name: 'googleadmin'},
{name: 'okta'},
{name: 'datadog'},
{name: 'confluent'},
{name: 'firebase'},
{name: 'netlify'},
{name: 'vercel'},
{name: 'digitalocean'},
{name: 'pagerduty'},
{name: 'sumologic'},
{name: 'linode'},
{name: 'azure_extras'},
{name: 'azure_isv'},
{name: 'azure_stack'},
{name: 'godaddy'},
{name: 'homebrew'}
]
const getProviderSiteUrl = (name) =>{
if (
[
'okta',
'snowflake',
'google',
'googleadmin',
'googleworkspace',
'firebase',
'databricks_workspace',
'databricks_account',
'digitalocean',
'linode',
'datadog',
'godaddy',
'netlify',
'pagerduty',
'azure',
'azure_extras',
'azure_isv',
'azure_stack',
'aws',
'sumologic',
'vercel',
'k8s',
'homebrew',
'openai',
'anthropic',
'confluent',
'github'
].includes(name)) {
return `https://${name.replace('_', '-')}-provider.stackql.io/`
} else {
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;