docusaurus-theme-openapi-docs 2.0.0-beta.0 → 2.0.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/index.js +30 -2
- package/lib/theme/ApiDemoPanel/CodeTabs/_CodeTabs.scss +22 -0
- package/lib/theme/ApiDemoPanel/Curl/index.js +10 -1
- package/lib/theme/ApiDemoPanel/Response/index.js +2 -3
- package/lib/theme/DiscriminatorTabs/_DiscriminatorTabs.scss +1 -1
- package/lib/theme/Markdown/Details/_Details.scss +5 -1
- package/lib/theme/ParamsItem/_ParamsItem.scss +2 -2
- package/lib/theme/SchemaItem/_SchemaItem.scss +2 -2
- package/lib/theme/styles.scss +6 -0
- package/lib-next/index.js +40 -1
- package/lib-next/theme/ApiDemoPanel/CodeTabs/_CodeTabs.scss +22 -0
- package/lib-next/theme/ApiDemoPanel/Curl/index.js +11 -0
- package/lib-next/theme/ApiDemoPanel/Response/index.js +2 -3
- package/lib-next/theme/DiscriminatorTabs/_DiscriminatorTabs.scss +1 -1
- package/lib-next/theme/Markdown/Details/_Details.scss +5 -1
- package/lib-next/theme/ParamsItem/_ParamsItem.scss +2 -2
- package/lib-next/theme/SchemaItem/_SchemaItem.scss +2 -2
- package/lib-next/theme/styles.scss +6 -0
- package/package.json +4 -4
- package/src/index.ts +40 -1
- package/src/theme/ApiDemoPanel/CodeTabs/_CodeTabs.scss +22 -0
- package/src/theme/ApiDemoPanel/Curl/index.tsx +11 -0
- package/src/theme/ApiDemoPanel/Response/index.tsx +2 -3
- package/src/theme/DiscriminatorTabs/_DiscriminatorTabs.scss +1 -1
- package/src/theme/Markdown/Details/_Details.scss +5 -1
- package/src/theme/ParamsItem/_ParamsItem.scss +2 -2
- package/src/theme/SchemaItem/_SchemaItem.scss +2 -2
- package/src/theme/styles.scss +6 -0
package/lib/index.js
CHANGED
|
@@ -27,9 +27,37 @@ function docusaurusThemeOpenAPI() {
|
|
|
27
27
|
getTypeScriptThemePath() {
|
|
28
28
|
return _path.default.resolve(__dirname, "..", "src", "theme");
|
|
29
29
|
},
|
|
30
|
-
configureWebpack() {
|
|
30
|
+
configureWebpack(_, isServer, utils) {
|
|
31
|
+
const {
|
|
32
|
+
getStyleLoaders
|
|
33
|
+
} = utils;
|
|
34
|
+
const isProd = process.env.NODE_ENV === "production";
|
|
31
35
|
return {
|
|
32
|
-
plugins: [new NodePolyfillPlugin()]
|
|
36
|
+
plugins: [new NodePolyfillPlugin()],
|
|
37
|
+
module: {
|
|
38
|
+
rules: [{
|
|
39
|
+
test: /\.s[ca]ss$/,
|
|
40
|
+
oneOf: [{
|
|
41
|
+
test: /\.module\.s[ca]ss$/,
|
|
42
|
+
use: [...getStyleLoaders(isServer, {
|
|
43
|
+
modules: {
|
|
44
|
+
localIdentName: isProd ? `[local]_[hash:base64:4]` : `[local]_[path][name]`,
|
|
45
|
+
exportOnlyLocals: isServer
|
|
46
|
+
},
|
|
47
|
+
importLoaders: 2,
|
|
48
|
+
sourceMap: !isProd
|
|
49
|
+
}), {
|
|
50
|
+
loader: require.resolve("sass-loader"),
|
|
51
|
+
options: {}
|
|
52
|
+
}]
|
|
53
|
+
}, {
|
|
54
|
+
use: [...getStyleLoaders(isServer, {}), {
|
|
55
|
+
loader: require.resolve("sass-loader"),
|
|
56
|
+
options: {}
|
|
57
|
+
}]
|
|
58
|
+
}]
|
|
59
|
+
}]
|
|
60
|
+
}
|
|
33
61
|
};
|
|
34
62
|
}
|
|
35
63
|
};
|
|
@@ -209,6 +209,28 @@
|
|
|
209
209
|
}
|
|
210
210
|
}
|
|
211
211
|
|
|
212
|
+
.language-powershell {
|
|
213
|
+
max-height: 500px;
|
|
214
|
+
overflow: auto;
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
.openapi-tabs__code-item--powershell {
|
|
218
|
+
color: var(--ifm-color-info);
|
|
219
|
+
|
|
220
|
+
&::after {
|
|
221
|
+
content: "";
|
|
222
|
+
width: 28px;
|
|
223
|
+
height: 28px;
|
|
224
|
+
background: url("https://raw.githubusercontent.com/devicons/devicon/master/icons/windows8/windows8-original.svg");
|
|
225
|
+
margin-block: auto;
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
&.active {
|
|
229
|
+
border-bottom-color: var(--ifm-color-success);
|
|
230
|
+
background-color: var(--ifm-color-emphasis-100);
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
|
|
212
234
|
@media only screen and (min-width: 768px) and (max-width: 996px) {
|
|
213
235
|
.openapi-tabs__code-list {
|
|
214
236
|
justify-content: space-around;
|
|
@@ -96,6 +96,15 @@ const languageSet = [{
|
|
|
96
96
|
trimRequestBody: true
|
|
97
97
|
},
|
|
98
98
|
variant: "OkHttp"
|
|
99
|
+
}, {
|
|
100
|
+
highlight: "powershell",
|
|
101
|
+
language: "powershell",
|
|
102
|
+
logoClass: "powershell",
|
|
103
|
+
options: {
|
|
104
|
+
followRedirect: true,
|
|
105
|
+
trimRequestBody: true
|
|
106
|
+
},
|
|
107
|
+
variant: "RestMethod"
|
|
99
108
|
}];
|
|
100
109
|
exports.languageSet = languageSet;
|
|
101
110
|
function CodeTab({
|
|
@@ -217,7 +226,7 @@ function Curl({
|
|
|
217
226
|
return <CodeTab value={lang.language} label={""} key={lang.variant ? `${lang.language}-${lang.variant}` : lang.language} attributes={{
|
|
218
227
|
className: `openapi-tabs__code-item--${lang.logoClass}`
|
|
219
228
|
}}>
|
|
220
|
-
<_CodeBlock.default language={lang.highlight} className="openapi-demo__code-block">
|
|
229
|
+
<_CodeBlock.default language={lang.highlight} className="openapi-demo__code-block" title={`${lang.language} / ${lang.variant}`}>
|
|
221
230
|
{codeText}
|
|
222
231
|
</_CodeBlock.default>
|
|
223
232
|
</CodeTab>;
|
|
@@ -69,7 +69,6 @@ function Response() {
|
|
|
69
69
|
</button>
|
|
70
70
|
</div>
|
|
71
71
|
</summary>
|
|
72
|
-
|
|
73
72
|
<div style={{
|
|
74
73
|
backgroundColor: prismTheme.plain.backgroundColor,
|
|
75
74
|
paddingLeft: "1rem",
|
|
@@ -83,13 +82,13 @@ function Response() {
|
|
|
83
82
|
<_TabItem.default label={` ${code}`} value="body" attributes={{
|
|
84
83
|
className: (0, _clsx.default)("openapi-response__dot", responseStatusClass)
|
|
85
84
|
}} default>
|
|
86
|
-
<_CodeBlock.default className="openapi-response__status-code" language={response.startsWith("<") ? `xml` : `json`}>
|
|
85
|
+
<_CodeBlock.default className="openapi-demo__code-block openapi-response__status-code" language={response.startsWith("<") ? `xml` : `json`}>
|
|
87
86
|
{prettyResponse || "No Response"}
|
|
88
87
|
</_CodeBlock.default>
|
|
89
88
|
</_TabItem.default>
|
|
90
89
|
{/* @ts-ignore */}
|
|
91
90
|
<_TabItem.default label="Headers" value="headers">
|
|
92
|
-
<_CodeBlock.default className="openapi-response__status-headers" language={response.startsWith("<") ? `xml` : `json`}>
|
|
91
|
+
<_CodeBlock.default className="openapi-demo__code-block openapi-response__status-headers" language={response.startsWith("<") ? `xml` : `json`}>
|
|
93
92
|
{JSON.stringify(headers, undefined, 2)}
|
|
94
93
|
</_CodeBlock.default>
|
|
95
94
|
</_TabItem.default>
|
|
@@ -75,7 +75,7 @@
|
|
|
75
75
|
position: relative;
|
|
76
76
|
margin: 0 !important;
|
|
77
77
|
padding: 5px 0 5px 0 !important;
|
|
78
|
-
border-left: thin solid var(--
|
|
78
|
+
border-left: thin solid var(--openapi-tree-line-color) !important;
|
|
79
79
|
}
|
|
80
80
|
|
|
81
81
|
@media screen and (max-width: 500px) {
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
.openapi-markdown__details {
|
|
4
4
|
margin: unset !important;
|
|
5
|
-
max-width: 600px;
|
|
6
5
|
background-color: transparent;
|
|
7
6
|
color: var(--ifm-font-color-base);
|
|
8
7
|
padding: unset;
|
|
@@ -34,3 +33,8 @@
|
|
|
34
33
|
.openapi-markdown__details p {
|
|
35
34
|
margin-bottom: 0;
|
|
36
35
|
}
|
|
36
|
+
|
|
37
|
+
/* Hide defaul details marker by default */
|
|
38
|
+
details summary::-webkit-details-marker {
|
|
39
|
+
display: none;
|
|
40
|
+
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
margin: 0 0 0 1rem !important;
|
|
3
3
|
position: relative;
|
|
4
4
|
padding-left: 1rem;
|
|
5
|
-
border-left: thin solid var(--
|
|
5
|
+
border-left: thin solid var(--openapi-tree-line-color) !important;
|
|
6
6
|
margin-top: unset !important;
|
|
7
7
|
|
|
8
8
|
// Horizonal line styling for param attributes
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
height: 0.5rem;
|
|
16
16
|
/* vertical position of line */
|
|
17
17
|
vertical-align: top;
|
|
18
|
-
border-bottom: thin solid var(--
|
|
18
|
+
border-bottom: thin solid var(--openapi-tree-line-color);
|
|
19
19
|
content: "";
|
|
20
20
|
display: inline-block;
|
|
21
21
|
}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
position: relative;
|
|
4
4
|
margin: 0 !important;
|
|
5
5
|
padding: 5px 0 5px 1rem;
|
|
6
|
-
border-left: thin solid var(--
|
|
6
|
+
border-left: thin solid var(--openapi-tree-line-color) !important;
|
|
7
7
|
|
|
8
8
|
// Horizontal line styling for schema properties
|
|
9
9
|
&::before {
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
height: 0.5rem;
|
|
16
16
|
/* vertical position of line */
|
|
17
17
|
vertical-align: top;
|
|
18
|
-
border-bottom: thin solid var(--
|
|
18
|
+
border-bottom: thin solid var(--openapi-tree-line-color);
|
|
19
19
|
content: "";
|
|
20
20
|
display: inline-block;
|
|
21
21
|
}
|
package/lib/theme/styles.scss
CHANGED
|
@@ -43,6 +43,7 @@
|
|
|
43
43
|
--openapi-card-border-radius: var(--ifm-pre-border-radius);
|
|
44
44
|
--openapi-input-border: var(--ifm-color-primary);
|
|
45
45
|
--openapi-input-background: var(--openapi-card-background-color);
|
|
46
|
+
--openapi-tree-line-color: var(--ifm-toc-border-color);
|
|
46
47
|
}
|
|
47
48
|
|
|
48
49
|
[data-theme="dark"] {
|
|
@@ -115,3 +116,8 @@
|
|
|
115
116
|
.openapi__heading {
|
|
116
117
|
font-size: var(--ifm-h1-font-size);
|
|
117
118
|
}
|
|
119
|
+
|
|
120
|
+
.openapi-demo__code-block code {
|
|
121
|
+
max-height: 500px;
|
|
122
|
+
overflow: auto;
|
|
123
|
+
}
|
package/lib-next/index.js
CHANGED
|
@@ -20,9 +20,48 @@ export default function docusaurusThemeOpenAPI() {
|
|
|
20
20
|
getTypeScriptThemePath() {
|
|
21
21
|
return path.resolve(__dirname, "..", "src", "theme");
|
|
22
22
|
},
|
|
23
|
-
configureWebpack() {
|
|
23
|
+
configureWebpack(_, isServer, utils) {
|
|
24
|
+
const { getStyleLoaders } = utils;
|
|
25
|
+
const isProd = process.env.NODE_ENV === "production";
|
|
24
26
|
return {
|
|
25
27
|
plugins: [new NodePolyfillPlugin()],
|
|
28
|
+
module: {
|
|
29
|
+
rules: [
|
|
30
|
+
{
|
|
31
|
+
test: /\.s[ca]ss$/,
|
|
32
|
+
oneOf: [
|
|
33
|
+
{
|
|
34
|
+
test: /\.module\.s[ca]ss$/,
|
|
35
|
+
use: [
|
|
36
|
+
...getStyleLoaders(isServer, {
|
|
37
|
+
modules: {
|
|
38
|
+
localIdentName: isProd
|
|
39
|
+
? `[local]_[hash:base64:4]`
|
|
40
|
+
: `[local]_[path][name]`,
|
|
41
|
+
exportOnlyLocals: isServer,
|
|
42
|
+
},
|
|
43
|
+
importLoaders: 2,
|
|
44
|
+
sourceMap: !isProd,
|
|
45
|
+
}),
|
|
46
|
+
{
|
|
47
|
+
loader: require.resolve("sass-loader"),
|
|
48
|
+
options: {},
|
|
49
|
+
},
|
|
50
|
+
],
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
use: [
|
|
54
|
+
...getStyleLoaders(isServer, {}),
|
|
55
|
+
{
|
|
56
|
+
loader: require.resolve("sass-loader"),
|
|
57
|
+
options: {},
|
|
58
|
+
},
|
|
59
|
+
],
|
|
60
|
+
},
|
|
61
|
+
],
|
|
62
|
+
},
|
|
63
|
+
],
|
|
64
|
+
},
|
|
26
65
|
};
|
|
27
66
|
},
|
|
28
67
|
};
|
|
@@ -209,6 +209,28 @@
|
|
|
209
209
|
}
|
|
210
210
|
}
|
|
211
211
|
|
|
212
|
+
.language-powershell {
|
|
213
|
+
max-height: 500px;
|
|
214
|
+
overflow: auto;
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
.openapi-tabs__code-item--powershell {
|
|
218
|
+
color: var(--ifm-color-info);
|
|
219
|
+
|
|
220
|
+
&::after {
|
|
221
|
+
content: "";
|
|
222
|
+
width: 28px;
|
|
223
|
+
height: 28px;
|
|
224
|
+
background: url("https://raw.githubusercontent.com/devicons/devicon/master/icons/windows8/windows8-original.svg");
|
|
225
|
+
margin-block: auto;
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
&.active {
|
|
229
|
+
border-bottom-color: var(--ifm-color-success);
|
|
230
|
+
background-color: var(--ifm-color-emphasis-100);
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
|
|
212
234
|
@media only screen and (min-width: 768px) and (max-width: 996px) {
|
|
213
235
|
.openapi-tabs__code-list {
|
|
214
236
|
justify-content: space-around;
|
|
@@ -96,6 +96,16 @@ export const languageSet = [
|
|
|
96
96
|
},
|
|
97
97
|
variant: "OkHttp",
|
|
98
98
|
},
|
|
99
|
+
{
|
|
100
|
+
highlight: "powershell",
|
|
101
|
+
language: "powershell",
|
|
102
|
+
logoClass: "powershell",
|
|
103
|
+
options: {
|
|
104
|
+
followRedirect: true,
|
|
105
|
+
trimRequestBody: true,
|
|
106
|
+
},
|
|
107
|
+
variant: "RestMethod",
|
|
108
|
+
},
|
|
99
109
|
];
|
|
100
110
|
function CodeTab({ children, hidden, className, onClick }) {
|
|
101
111
|
return (
|
|
@@ -257,6 +267,7 @@ function Curl({ postman, codeSamples }) {
|
|
|
257
267
|
<CodeBlock
|
|
258
268
|
language={lang.highlight}
|
|
259
269
|
className="openapi-demo__code-block"
|
|
270
|
+
title={`${lang.language} / ${lang.variant}`}
|
|
260
271
|
>
|
|
261
272
|
{codeText}
|
|
262
273
|
</CodeBlock>
|
|
@@ -74,7 +74,6 @@ function Response() {
|
|
|
74
74
|
</button>
|
|
75
75
|
</div>
|
|
76
76
|
</summary>
|
|
77
|
-
|
|
78
77
|
<div
|
|
79
78
|
style={{
|
|
80
79
|
backgroundColor: prismTheme.plain.backgroundColor,
|
|
@@ -97,7 +96,7 @@ function Response() {
|
|
|
97
96
|
default
|
|
98
97
|
>
|
|
99
98
|
<CodeBlock
|
|
100
|
-
className="openapi-response__status-code"
|
|
99
|
+
className="openapi-demo__code-block openapi-response__status-code"
|
|
101
100
|
language={response.startsWith("<") ? `xml` : `json`}
|
|
102
101
|
>
|
|
103
102
|
{prettyResponse || "No Response"}
|
|
@@ -106,7 +105,7 @@ function Response() {
|
|
|
106
105
|
{/* @ts-ignore */}
|
|
107
106
|
<TabItem label="Headers" value="headers">
|
|
108
107
|
<CodeBlock
|
|
109
|
-
className="openapi-response__status-headers"
|
|
108
|
+
className="openapi-demo__code-block openapi-response__status-headers"
|
|
110
109
|
language={response.startsWith("<") ? `xml` : `json`}
|
|
111
110
|
>
|
|
112
111
|
{JSON.stringify(headers, undefined, 2)}
|
|
@@ -75,7 +75,7 @@
|
|
|
75
75
|
position: relative;
|
|
76
76
|
margin: 0 !important;
|
|
77
77
|
padding: 5px 0 5px 0 !important;
|
|
78
|
-
border-left: thin solid var(--
|
|
78
|
+
border-left: thin solid var(--openapi-tree-line-color) !important;
|
|
79
79
|
}
|
|
80
80
|
|
|
81
81
|
@media screen and (max-width: 500px) {
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
.openapi-markdown__details {
|
|
4
4
|
margin: unset !important;
|
|
5
|
-
max-width: 600px;
|
|
6
5
|
background-color: transparent;
|
|
7
6
|
color: var(--ifm-font-color-base);
|
|
8
7
|
padding: unset;
|
|
@@ -34,3 +33,8 @@
|
|
|
34
33
|
.openapi-markdown__details p {
|
|
35
34
|
margin-bottom: 0;
|
|
36
35
|
}
|
|
36
|
+
|
|
37
|
+
/* Hide defaul details marker by default */
|
|
38
|
+
details summary::-webkit-details-marker {
|
|
39
|
+
display: none;
|
|
40
|
+
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
margin: 0 0 0 1rem !important;
|
|
3
3
|
position: relative;
|
|
4
4
|
padding-left: 1rem;
|
|
5
|
-
border-left: thin solid var(--
|
|
5
|
+
border-left: thin solid var(--openapi-tree-line-color) !important;
|
|
6
6
|
margin-top: unset !important;
|
|
7
7
|
|
|
8
8
|
// Horizonal line styling for param attributes
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
height: 0.5rem;
|
|
16
16
|
/* vertical position of line */
|
|
17
17
|
vertical-align: top;
|
|
18
|
-
border-bottom: thin solid var(--
|
|
18
|
+
border-bottom: thin solid var(--openapi-tree-line-color);
|
|
19
19
|
content: "";
|
|
20
20
|
display: inline-block;
|
|
21
21
|
}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
position: relative;
|
|
4
4
|
margin: 0 !important;
|
|
5
5
|
padding: 5px 0 5px 1rem;
|
|
6
|
-
border-left: thin solid var(--
|
|
6
|
+
border-left: thin solid var(--openapi-tree-line-color) !important;
|
|
7
7
|
|
|
8
8
|
// Horizontal line styling for schema properties
|
|
9
9
|
&::before {
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
height: 0.5rem;
|
|
16
16
|
/* vertical position of line */
|
|
17
17
|
vertical-align: top;
|
|
18
|
-
border-bottom: thin solid var(--
|
|
18
|
+
border-bottom: thin solid var(--openapi-tree-line-color);
|
|
19
19
|
content: "";
|
|
20
20
|
display: inline-block;
|
|
21
21
|
}
|
|
@@ -43,6 +43,7 @@
|
|
|
43
43
|
--openapi-card-border-radius: var(--ifm-pre-border-radius);
|
|
44
44
|
--openapi-input-border: var(--ifm-color-primary);
|
|
45
45
|
--openapi-input-background: var(--openapi-card-background-color);
|
|
46
|
+
--openapi-tree-line-color: var(--ifm-toc-border-color);
|
|
46
47
|
}
|
|
47
48
|
|
|
48
49
|
[data-theme="dark"] {
|
|
@@ -115,3 +116,8 @@
|
|
|
115
116
|
.openapi__heading {
|
|
116
117
|
font-size: var(--ifm-h1-font-size);
|
|
117
118
|
}
|
|
119
|
+
|
|
120
|
+
.openapi-demo__code-block code {
|
|
121
|
+
max-height: 500px;
|
|
122
|
+
overflow: auto;
|
|
123
|
+
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "docusaurus-theme-openapi-docs",
|
|
3
3
|
"description": "OpenAPI theme for Docusaurus.",
|
|
4
|
-
"version": "2.0.0-beta.
|
|
4
|
+
"version": "2.0.0-beta.2",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"openapi",
|
|
@@ -45,13 +45,13 @@
|
|
|
45
45
|
"dependencies": {
|
|
46
46
|
"@docusaurus/theme-common": "^2.3.0",
|
|
47
47
|
"@mdx-js/react": "^1.6.21",
|
|
48
|
-
"@paloaltonetworks/postman-code-generators": "
|
|
48
|
+
"@paloaltonetworks/postman-code-generators": "1.1.15-patch.2",
|
|
49
49
|
"@paloaltonetworks/postman-collection": "^4.1.0",
|
|
50
50
|
"@reduxjs/toolkit": "^1.7.1",
|
|
51
51
|
"buffer": "^6.0.3",
|
|
52
52
|
"clsx": "^1.1.1",
|
|
53
53
|
"crypto-js": "^4.1.1",
|
|
54
|
-
"docusaurus-plugin-openapi-docs": "^2.0.0-beta.
|
|
54
|
+
"docusaurus-plugin-openapi-docs": "^2.0.0-beta.2",
|
|
55
55
|
"docusaurus-plugin-sass": "^0.2.3",
|
|
56
56
|
"file-saver": "^2.0.5",
|
|
57
57
|
"immer": "^9.0.7",
|
|
@@ -76,5 +76,5 @@
|
|
|
76
76
|
"engines": {
|
|
77
77
|
"node": ">=14"
|
|
78
78
|
},
|
|
79
|
-
"gitHead": "
|
|
79
|
+
"gitHead": "ba8fd77e6b9e90e0bca5e169fbc1c71ac50f44e0"
|
|
80
80
|
}
|
package/src/index.ts
CHANGED
|
@@ -28,9 +28,48 @@ export default function docusaurusThemeOpenAPI(): Plugin<void> {
|
|
|
28
28
|
return path.resolve(__dirname, "..", "src", "theme");
|
|
29
29
|
},
|
|
30
30
|
|
|
31
|
-
configureWebpack() {
|
|
31
|
+
configureWebpack(_, isServer, utils) {
|
|
32
|
+
const { getStyleLoaders } = utils;
|
|
33
|
+
const isProd = process.env.NODE_ENV === "production";
|
|
32
34
|
return {
|
|
33
35
|
plugins: [new NodePolyfillPlugin()],
|
|
36
|
+
module: {
|
|
37
|
+
rules: [
|
|
38
|
+
{
|
|
39
|
+
test: /\.s[ca]ss$/,
|
|
40
|
+
oneOf: [
|
|
41
|
+
{
|
|
42
|
+
test: /\.module\.s[ca]ss$/,
|
|
43
|
+
use: [
|
|
44
|
+
...getStyleLoaders(isServer, {
|
|
45
|
+
modules: {
|
|
46
|
+
localIdentName: isProd
|
|
47
|
+
? `[local]_[hash:base64:4]`
|
|
48
|
+
: `[local]_[path][name]`,
|
|
49
|
+
exportOnlyLocals: isServer,
|
|
50
|
+
},
|
|
51
|
+
importLoaders: 2,
|
|
52
|
+
sourceMap: !isProd,
|
|
53
|
+
}),
|
|
54
|
+
{
|
|
55
|
+
loader: require.resolve("sass-loader"),
|
|
56
|
+
options: {},
|
|
57
|
+
},
|
|
58
|
+
],
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
use: [
|
|
62
|
+
...getStyleLoaders(isServer, {}),
|
|
63
|
+
{
|
|
64
|
+
loader: require.resolve("sass-loader"),
|
|
65
|
+
options: {},
|
|
66
|
+
},
|
|
67
|
+
],
|
|
68
|
+
},
|
|
69
|
+
],
|
|
70
|
+
},
|
|
71
|
+
],
|
|
72
|
+
},
|
|
34
73
|
};
|
|
35
74
|
},
|
|
36
75
|
};
|
|
@@ -209,6 +209,28 @@
|
|
|
209
209
|
}
|
|
210
210
|
}
|
|
211
211
|
|
|
212
|
+
.language-powershell {
|
|
213
|
+
max-height: 500px;
|
|
214
|
+
overflow: auto;
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
.openapi-tabs__code-item--powershell {
|
|
218
|
+
color: var(--ifm-color-info);
|
|
219
|
+
|
|
220
|
+
&::after {
|
|
221
|
+
content: "";
|
|
222
|
+
width: 28px;
|
|
223
|
+
height: 28px;
|
|
224
|
+
background: url("https://raw.githubusercontent.com/devicons/devicon/master/icons/windows8/windows8-original.svg");
|
|
225
|
+
margin-block: auto;
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
&.active {
|
|
229
|
+
border-bottom-color: var(--ifm-color-success);
|
|
230
|
+
background-color: var(--ifm-color-emphasis-100);
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
|
|
212
234
|
@media only screen and (min-width: 768px) and (max-width: 996px) {
|
|
213
235
|
.openapi-tabs__code-list {
|
|
214
236
|
justify-content: space-around;
|
|
@@ -108,6 +108,16 @@ export const languageSet: Language[] = [
|
|
|
108
108
|
},
|
|
109
109
|
variant: "OkHttp",
|
|
110
110
|
},
|
|
111
|
+
{
|
|
112
|
+
highlight: "powershell",
|
|
113
|
+
language: "powershell",
|
|
114
|
+
logoClass: "powershell",
|
|
115
|
+
options: {
|
|
116
|
+
followRedirect: true,
|
|
117
|
+
trimRequestBody: true,
|
|
118
|
+
},
|
|
119
|
+
variant: "RestMethod",
|
|
120
|
+
},
|
|
111
121
|
];
|
|
112
122
|
|
|
113
123
|
export interface Props {
|
|
@@ -278,6 +288,7 @@ function Curl({ postman, codeSamples }: Props) {
|
|
|
278
288
|
<CodeBlock
|
|
279
289
|
language={lang.highlight}
|
|
280
290
|
className="openapi-demo__code-block"
|
|
291
|
+
title={`${lang.language} / ${lang.variant}`}
|
|
281
292
|
>
|
|
282
293
|
{codeText}
|
|
283
294
|
</CodeBlock>
|
|
@@ -81,7 +81,6 @@ function Response() {
|
|
|
81
81
|
</button>
|
|
82
82
|
</div>
|
|
83
83
|
</summary>
|
|
84
|
-
|
|
85
84
|
<div
|
|
86
85
|
style={{
|
|
87
86
|
backgroundColor: prismTheme.plain.backgroundColor,
|
|
@@ -104,7 +103,7 @@ function Response() {
|
|
|
104
103
|
default
|
|
105
104
|
>
|
|
106
105
|
<CodeBlock
|
|
107
|
-
className="openapi-response__status-code"
|
|
106
|
+
className="openapi-demo__code-block openapi-response__status-code"
|
|
108
107
|
language={response.startsWith("<") ? `xml` : `json`}
|
|
109
108
|
>
|
|
110
109
|
{prettyResponse || "No Response"}
|
|
@@ -113,7 +112,7 @@ function Response() {
|
|
|
113
112
|
{/* @ts-ignore */}
|
|
114
113
|
<TabItem label="Headers" value="headers">
|
|
115
114
|
<CodeBlock
|
|
116
|
-
className="openapi-response__status-headers"
|
|
115
|
+
className="openapi-demo__code-block openapi-response__status-headers"
|
|
117
116
|
language={response.startsWith("<") ? `xml` : `json`}
|
|
118
117
|
>
|
|
119
118
|
{JSON.stringify(headers, undefined, 2)}
|
|
@@ -75,7 +75,7 @@
|
|
|
75
75
|
position: relative;
|
|
76
76
|
margin: 0 !important;
|
|
77
77
|
padding: 5px 0 5px 0 !important;
|
|
78
|
-
border-left: thin solid var(--
|
|
78
|
+
border-left: thin solid var(--openapi-tree-line-color) !important;
|
|
79
79
|
}
|
|
80
80
|
|
|
81
81
|
@media screen and (max-width: 500px) {
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
.openapi-markdown__details {
|
|
4
4
|
margin: unset !important;
|
|
5
|
-
max-width: 600px;
|
|
6
5
|
background-color: transparent;
|
|
7
6
|
color: var(--ifm-font-color-base);
|
|
8
7
|
padding: unset;
|
|
@@ -34,3 +33,8 @@
|
|
|
34
33
|
.openapi-markdown__details p {
|
|
35
34
|
margin-bottom: 0;
|
|
36
35
|
}
|
|
36
|
+
|
|
37
|
+
/* Hide defaul details marker by default */
|
|
38
|
+
details summary::-webkit-details-marker {
|
|
39
|
+
display: none;
|
|
40
|
+
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
margin: 0 0 0 1rem !important;
|
|
3
3
|
position: relative;
|
|
4
4
|
padding-left: 1rem;
|
|
5
|
-
border-left: thin solid var(--
|
|
5
|
+
border-left: thin solid var(--openapi-tree-line-color) !important;
|
|
6
6
|
margin-top: unset !important;
|
|
7
7
|
|
|
8
8
|
// Horizonal line styling for param attributes
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
height: 0.5rem;
|
|
16
16
|
/* vertical position of line */
|
|
17
17
|
vertical-align: top;
|
|
18
|
-
border-bottom: thin solid var(--
|
|
18
|
+
border-bottom: thin solid var(--openapi-tree-line-color);
|
|
19
19
|
content: "";
|
|
20
20
|
display: inline-block;
|
|
21
21
|
}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
position: relative;
|
|
4
4
|
margin: 0 !important;
|
|
5
5
|
padding: 5px 0 5px 1rem;
|
|
6
|
-
border-left: thin solid var(--
|
|
6
|
+
border-left: thin solid var(--openapi-tree-line-color) !important;
|
|
7
7
|
|
|
8
8
|
// Horizontal line styling for schema properties
|
|
9
9
|
&::before {
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
height: 0.5rem;
|
|
16
16
|
/* vertical position of line */
|
|
17
17
|
vertical-align: top;
|
|
18
|
-
border-bottom: thin solid var(--
|
|
18
|
+
border-bottom: thin solid var(--openapi-tree-line-color);
|
|
19
19
|
content: "";
|
|
20
20
|
display: inline-block;
|
|
21
21
|
}
|
package/src/theme/styles.scss
CHANGED
|
@@ -43,6 +43,7 @@
|
|
|
43
43
|
--openapi-card-border-radius: var(--ifm-pre-border-radius);
|
|
44
44
|
--openapi-input-border: var(--ifm-color-primary);
|
|
45
45
|
--openapi-input-background: var(--openapi-card-background-color);
|
|
46
|
+
--openapi-tree-line-color: var(--ifm-toc-border-color);
|
|
46
47
|
}
|
|
47
48
|
|
|
48
49
|
[data-theme="dark"] {
|
|
@@ -115,3 +116,8 @@
|
|
|
115
116
|
.openapi__heading {
|
|
116
117
|
font-size: var(--ifm-h1-font-size);
|
|
117
118
|
}
|
|
119
|
+
|
|
120
|
+
.openapi-demo__code-block code {
|
|
121
|
+
max-height: 500px;
|
|
122
|
+
overflow: auto;
|
|
123
|
+
}
|