mirror of
https://github.com/oceanprotocol/docs.git
synced 2024-11-26 19:49:26 +01:00
output more swagger metadata
This commit is contained in:
parent
c9055b2c1e
commit
e907e5c2b2
@ -6,6 +6,7 @@
|
|||||||
"title":"Aquarius",
|
"title":"Aquarius",
|
||||||
"version":"0.1.4"
|
"version":"0.1.4"
|
||||||
},
|
},
|
||||||
|
"basePath": "/api/v1/aquarius",
|
||||||
"paths":{
|
"paths":{
|
||||||
"/api/v1/aquarius/assets":{
|
"/api/v1/aquarius/assets":{
|
||||||
"get":{
|
"get":{
|
||||||
|
@ -6,6 +6,7 @@
|
|||||||
"title":"Brizo",
|
"title":"Brizo",
|
||||||
"version":"1.0"
|
"version":"1.0"
|
||||||
},
|
},
|
||||||
|
"basePath": "/api/v1/brizo",
|
||||||
"paths":{
|
"paths":{
|
||||||
"/api/v1/brizo/services/access/initialize":{
|
"/api/v1/brizo/services/access/initialize":{
|
||||||
"post":{
|
"post":{
|
||||||
|
@ -4,7 +4,7 @@ import remark from 'remark'
|
|||||||
import remarkReact from 'remark-react'
|
import remarkReact from 'remark-react'
|
||||||
import styles from './DocHeader.module.scss'
|
import styles from './DocHeader.module.scss'
|
||||||
|
|
||||||
const DocHeader = ({ title, description }) => {
|
const DocHeader = ({ title, description, prepend }) => {
|
||||||
const descriptionHtml =
|
const descriptionHtml =
|
||||||
description &&
|
description &&
|
||||||
remark()
|
remark()
|
||||||
@ -13,7 +13,9 @@ const DocHeader = ({ title, description }) => {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<header className={styles.header}>
|
<header className={styles.header}>
|
||||||
<h1 className={styles.title}>{title}</h1>
|
<h1 className={styles.title}>
|
||||||
|
{title} {prepend && prepend}
|
||||||
|
</h1>
|
||||||
{description && (
|
{description && (
|
||||||
<div className={styles.lead}>{descriptionHtml}</div>
|
<div className={styles.lead}>{descriptionHtml}</div>
|
||||||
)}
|
)}
|
||||||
@ -23,7 +25,8 @@ const DocHeader = ({ title, description }) => {
|
|||||||
|
|
||||||
DocHeader.propTypes = {
|
DocHeader.propTypes = {
|
||||||
title: PropTypes.string.isRequired,
|
title: PropTypes.string.isRequired,
|
||||||
description: PropTypes.string
|
description: PropTypes.string,
|
||||||
|
prepend: PropTypes.any
|
||||||
}
|
}
|
||||||
|
|
||||||
export default DocHeader
|
export default DocHeader
|
||||||
|
@ -23,7 +23,7 @@
|
|||||||
color: $orange;
|
color: $orange;
|
||||||
}
|
}
|
||||||
|
|
||||||
:global(.api) & {
|
:global(.reference) & {
|
||||||
color: $green;
|
color: $green;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -80,12 +80,13 @@ export default class ApiSwaggerTemplate extends Component {
|
|||||||
const { location, data, pageContext } = this.props
|
const { location, data, pageContext } = this.props
|
||||||
const sections = data.allSectionsYaml.edges
|
const sections = data.allSectionsYaml.edges
|
||||||
const { api } = pageContext
|
const { api } = pageContext
|
||||||
const { title, description, version } = api.info
|
const { host, basePath, info } = api
|
||||||
|
const { title, description, version, license, contact } = info
|
||||||
|
|
||||||
// output section title as defined in sections.yml
|
// output section title as defined in sections.yml
|
||||||
const sectionTitle = sections.map(({ node }) => {
|
const sectionTitle = sections.map(({ node }) => {
|
||||||
// compare section against section title from sections.yml
|
// compare section against section title from sections.yml
|
||||||
if (node.title.toLowerCase().includes('api')) {
|
if (node.title.toLowerCase().includes('reference')) {
|
||||||
return node.title
|
return node.title
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@ -123,9 +124,44 @@ export default class ApiSwaggerTemplate extends Component {
|
|||||||
<DocHeader
|
<DocHeader
|
||||||
title={title}
|
title={title}
|
||||||
description={description}
|
description={description}
|
||||||
|
prepend={
|
||||||
|
<span className={styles.version}>
|
||||||
|
{version}
|
||||||
|
</span>
|
||||||
|
}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
{version}
|
{(contact || license) && (
|
||||||
|
<ul className={styles.swaggerMeta}>
|
||||||
|
{contact && (
|
||||||
|
<li>
|
||||||
|
<a
|
||||||
|
href={`mailto:${
|
||||||
|
contact.email
|
||||||
|
}`}
|
||||||
|
>
|
||||||
|
{contact.email}
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
)}
|
||||||
|
{license && (
|
||||||
|
<li>
|
||||||
|
<a href={license.url}>
|
||||||
|
{license.name}
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
)}
|
||||||
|
</ul>
|
||||||
|
)}
|
||||||
|
|
||||||
|
{(host || basePath) && (
|
||||||
|
<div className={styles.basePath}>
|
||||||
|
<code>
|
||||||
|
<span>{host}</span>
|
||||||
|
{basePath}
|
||||||
|
</code>
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
|
|
||||||
{Object.entries(api.paths).map(
|
{Object.entries(api.paths).map(
|
||||||
([key, value]) => (
|
([key, value]) => (
|
||||||
|
@ -1,5 +1,54 @@
|
|||||||
@import 'variables';
|
@import 'variables';
|
||||||
|
|
||||||
|
.version {
|
||||||
|
font-size: $font-size-base;
|
||||||
|
font-family: $font-family-monospace;
|
||||||
|
color: $brand-grey-light;
|
||||||
|
}
|
||||||
|
|
||||||
|
.swaggerMeta {
|
||||||
|
margin-top: -($spacer);
|
||||||
|
padding: 0;
|
||||||
|
font-size: $font-size-small;
|
||||||
|
|
||||||
|
li {
|
||||||
|
display: inline-block;
|
||||||
|
margin-left: $spacer;
|
||||||
|
|
||||||
|
&:first-child {
|
||||||
|
margin-left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
&:before { display: none;}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.basePath {
|
||||||
|
margin-top: $spacer * 2;
|
||||||
|
font-size: $font-size-large;
|
||||||
|
font-family: $font-family-monospace;
|
||||||
|
font-weight: $font-weight-bold;
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
&:after {
|
||||||
|
content: 'Base path';
|
||||||
|
font-size: $font-size-mini;
|
||||||
|
color: $brand-grey-light;
|
||||||
|
position: absolute;
|
||||||
|
left: 0;
|
||||||
|
top: -1.25rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
span {
|
||||||
|
color: $brand-grey-light;
|
||||||
|
}
|
||||||
|
|
||||||
|
code {
|
||||||
|
// stylelint-disable-next-line
|
||||||
|
font-size: inherit !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.pathName {
|
.pathName {
|
||||||
font-size: $font-size-h2;
|
font-size: $font-size-h2;
|
||||||
border-bottom: 1px solid $brand-grey-lighter;
|
border-bottom: 1px solid $brand-grey-lighter;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user