Updated specs, docs, content, theme

This commit is contained in:
Luke Hagar
2024-06-21 02:13:02 -05:00
parent 97f4d54159
commit 616ba23747
12 changed files with 1444 additions and 482 deletions

7
API-Specification.mdx Normal file
View File

@@ -0,0 +1,7 @@
All of the [API documentation](/api-reference/server/server-capabilities) on this site as well as all of the [SDKs](/SDKs) listed here are fully generated from the [main Plex OpenAPI specification here](https://github.com/LukeHagar/plex-api-spec), and I invite anyone in the community to contribute!.
If you want to learn more about OpenAPI how to utilize it to document APIs, [OpenAPI.Info](https://openapi.info/) is the most comprehensive OpenAPI reference I have seen out there.
The Plex OpenAPI specification, and all the SDKs by extension are managed from the [Plex GitHub project](https://github.com/users/LukeHagar/projects/3).
Currently the project is primarily being maintained by [Luke Hagar](https://github.com/LukeHagar), and the community has made a few amazing contributions!

7
Intro.mdx Normal file
View File

@@ -0,0 +1,7 @@
Hello Plex Community!
This documentation site is generously provided by the amazing folks over at [Mintlify](https://mintlify.com), and porting over all my Plex documentation to this platform has been a fantastic experience.
This will be the new home of all my Plex documentation, and I'm looking forward to continuing to improve it.
If you have any feedback or suggestions, please let me know!

15
SDKs.mdx Normal file
View File

@@ -0,0 +1,15 @@
SDKs are generously provided by [Speakeasy](https://www.speakeasyapi.dev/).
The Speakeasy platform generates high quality SDKs in 9 different languages, as well as Terraform providers and Postman collections, all from a unified OpenAPI specification.
Currently SDKs are being created in the following languages:
| Language | Repository | Releases | Other |
| -------- | ---------- | ------- | ----- |
| Python | [GitHub](https://github.com/LukeHagar/plexpy) | [PyPI](https://pypi.org/project/plex-api-client/) |
| JavaScript/TypeScript | [GitHub](https://github.com/LukeHagar/plexjs) | [NPM](https://www.npmjs.com/package/@lukehagar/plexjs) \ [JSR](https://jsr.io/@lukehagar/plexjs) |
| Go | [GitHub](https://github.com/LukeHagar/plexgo) | [Releases](https://github.com/LukeHagar/plexgo/releases) | [GoDoc](https://pkg.go.dev/github.com/LukeHagar/plexgo) |
| Ruby | [GitHub](https://github.com/LukeHagar/plexruby) | [Releases](https://github.com/LukeHagar/plexruby/releases) | - |
| Swift | [GitHub](https://github.com/LukeHagar/plexswift) | [Releases](https://github.com/LukeHagar/plexswift/releases) | - |
| PHP | [GitHub](https://github.com/LukeHagar/plexphp) | [Releases](https://github.com/LukeHagar/plexphp/releases) | - |
| Java | [GitHub](https://github.com/LukeHagar/plexjava) | [Releases](https://github.com/LukeHagar/plexjava/releases) | - |
| C# | [GitHub](https://github.com/LukeHagar/plexcsharp) | [Releases](https://github.com/LukeHagar/plexcsharp/releases) | - |

View File

@@ -0,0 +1,3 @@
---
openapi: get /library/all/top
---

View File

@@ -0,0 +1,3 @@
---
openapi: get /home
---

View File

@@ -0,0 +1,3 @@
---
openapi: get /
---

View File

@@ -0,0 +1,3 @@
---
openapi: get /statistics/bandwidth
---

View File

@@ -0,0 +1,3 @@
---
openapi: get /statistics/resources
---

View File

@@ -0,0 +1,3 @@
---
openapi: get /library/sections/watchlist/{filter}
---

5
makefile Normal file
View File

@@ -0,0 +1,5 @@
.PHONY: docs
docs:
curl https://raw.githubusercontent.com/LukeHagar/plex-api-spec/main/plex-media-server-spec-dereferenced.yaml > plex-media-server-spec-dereferenced.yaml
npx @mintlify/scraping@latest openapi-file ./plex-media-server-spec-dereferenced.yaml -o api-reference

View File

@@ -1,16 +1,12 @@
{ {
"$schema": "https://mintlify.com/schema.json", "$schema": "https://mintlify.com/schema.json",
"name": "Plex API Documentation", "name": "Plex API Documentation",
"openapi": ["./plex-spec.yaml"], "openapi": "https://raw.githubusercontent.com/LukeHagar/plex-api-spec/main/plex-media-server-spec-dereferenced.yaml",
"favicon": "/favicon.svg", "favicon": "/favicon.svg",
"colors": { "colors": {
"primary": "#03045e", "primary": "#219ebc",
"light": "#0077b6", "light": "#8ecae6",
"dark": "#00b4d8", "dark": "#219ebc"
"anchors": {
"from": "#90e0ef",
"to": "#caf0f8"
}
}, },
"topbarCtaButton": { "topbarCtaButton": {
@@ -26,14 +22,19 @@
} }
], ],
"navigation": [ "navigation": [
{
"group": "Getting Started",
"pages": ["Intro", "API-Specification", "SDKs"]
},
{ {
"group": "API Documentation", "group": "API Documentation",
"pages": [ "pages": [
{ {
"group": "Server", "group": "Server",
"pages": [ "pages": [
"api-reference/server/server-capabilities", "api-reference/server/get-server-capabilities",
"api-reference/server/get-server-preferences", "api-reference/server/get-server-preferences",
"api-reference/server/get-available-clients", "api-reference/server/get-available-clients",
"api-reference/server/get-devices", "api-reference/server/get-devices",
@@ -75,6 +76,14 @@
"api-reference/butler/stop-a-single-butler-task" "api-reference/butler/stop-a-single-butler-task"
] ]
}, },
{
"group": "Plex",
"pages": [
"api-reference/plex/get-plex-home-data",
"api-reference/plex/get-a-pin",
"api-reference/plex/get-access-token"
]
},
{ {
"group": "Hubs", "group": "Hubs",
"pages": [ "pages": [
@@ -103,6 +112,7 @@
"api-reference/library/search-library", "api-reference/library/search-library",
"api-reference/library/get-items-metadata", "api-reference/library/get-items-metadata",
"api-reference/library/get-items-children", "api-reference/library/get-items-children",
"api-reference/library/get-top-watched-content",
"api-reference/library/get-on-deck" "api-reference/library/get-on-deck"
] ]
}, },
@@ -114,13 +124,6 @@
"api-reference/log/enabling-papertrail" "api-reference/log/enabling-papertrail"
] ]
}, },
{
"group": "Plex",
"pages": [
"api-reference/plex/get-a-pin",
"api-reference/plex/get-access-token"
]
},
{ {
"group": "Playlists", "group": "Playlists",
"pages": [ "pages": [
@@ -144,7 +147,11 @@
}, },
{ {
"group": "Statistics", "group": "Statistics",
"pages": ["api-reference/statistics/get-media-statistics"] "pages": [
"api-reference/statistics/get-media-statistics",
"api-reference/statistics/get-resources-statistics",
"api-reference/statistics/get-bandwidth-statistics"
]
}, },
{ {
"group": "Sessions", "group": "Sessions",
@@ -162,6 +169,12 @@
"api-reference/updater/checking-for-updates", "api-reference/updater/checking-for-updates",
"api-reference/updater/apply-updates" "api-reference/updater/apply-updates"
] ]
},
{
"group": "Watchlist",
"pages": [
"api-reference/watchlist/get-user-watchlist"
]
} }
] ]
} }

File diff suppressed because it is too large Load Diff