Add api page (#32)

# Changes

- Added [redocusaurus](https://github.com/rohit-gohri/redocusaurus) package to display swagger api with reference to [woodpecker](https://github.com/woodpecker-ci/woodpecker/tree/master/docs)
- Change `sed` for swagger.json for proper version and baseurl.
- Add a dropdown for different api versions. (screenshot below)
- On API pages, only API version dropdown will show(hide locale dropdown, version dropdown for doc, and doc search)
- Allow build CSR API pages for development so it saves building time.

# Screenshots

![Screen Shot 2023-06-27 at 11.56.59](/attachments/7f43976d-f9f1-42ff-85f5-0bc84e549441)

![Screen Shot 2023-06-27 at 10.58.11](/attachments/bde25da5-b0a6-4908-9c69-c6aed41f8f59)

![Screen Shot 2023-06-21 at 12.26.26](/attachments/84a9bf5a-229b-4031-9654-3bae6cb3301a)

![Screen Shot 2023-06-19 at 16.34.33](/attachments/653b2b59-bc8a-4e6c-82f2-eb9710f55d8d)

Search:

![Screen Shot 2023-06-21 at 14.49.15](/attachments/3a09bd89-36a8-4156-a2df-2d3176d3ddb1)

Reviewed-on: https://gitea.com/gitea/gitea-docusaurus/pulls/32
Co-authored-by: HesterG <[email protected]>
Co-committed-by: HesterG <[email protected]>
This commit is contained in:
HesterG
2023-07-05 03:54:54 +00:00
committed by Lunny Xiao
parent a6ca489269
commit 04a97d20b1
14 changed files with 2069 additions and 60 deletions
+55 -1
View File
@@ -13,6 +13,40 @@ function sortItemsByCategory(items) {
return sortedItems;
}
const includeAPI = process.env.INCLUDE_API !== 'false';
const apiConfig = [
'redocusaurus',
{
// Plugin Options for loading OpenAPI files
specs: includeAPI ? [
{
spec: 'static/swagger-latest.json',
route: '/api/next/',
},
{
route: '/api/1.20/',
spec: 'static/swagger-20.json',
},
{
route: '/api/1.19/',
spec: 'static/swagger-19.json',
},
]: [],
// Theme Options for modifying how redoc renders them
theme: {
// Change with your site colors
primaryColor: '#1890ff',
},
},
]
const pageConfig = includeAPI ? {
exclude: [
'api/**',
],
}: {}
/** @type {import('@docusaurus/types').Config} */
const config = {
title: 'Gitea Documentation',
@@ -82,8 +116,10 @@ const config = {
theme: {
customCss: require.resolve('./src/css/custom.css'),
},
pages: pageConfig,
}),
],
apiConfig,
],
themes: [
[
@@ -119,10 +155,28 @@ const config = {
},
items: [
{
to: '/',
type: 'doc',
docId: 'intro',
position: 'left',
label: 'Docs',
},
{
to: '/api/1.19/',
label: 'API',
position: 'left',
activeBaseRegex: 'api/(1.19|1.20|next)/',
},
{
type: 'dropdown',
label: 'API Version',
position: 'right',
items: [
{to: '/api/next/', label: '1.21-dev' },
{to: '/api/1.20/', label: '1.20.0-rc0' },
{to: '/api/1.19/', label: '1.19.3' },
],
className: 'api-dropdown',
},
{
href: 'https://github.com/go-gitea/gitea',
label: 'Code',