aboutsummaryrefslogtreecommitdiffhomepage
path: root/support
diff options
context:
space:
mode:
authorChocobozzz <me@florianbigard.com>2022-01-10 11:38:58 +0100
committerChocobozzz <me@florianbigard.com>2022-01-10 11:38:58 +0100
commit3c33d71474786ce39049b000fc6bc20404d19002 (patch)
tree7791ae6015740231001d694dfbb4439b974ea2b6 /support
parent5097cbda4aad10cc60d3dc485dc9e9c3b1eddb17 (diff)
downloadPeerTube-3c33d71474786ce39049b000fc6bc20404d19002.tar.gz
PeerTube-3c33d71474786ce39049b000fc6bc20404d19002.tar.zst
PeerTube-3c33d71474786ce39049b000fc6bc20404d19002.zip
Add "Create client page" plugin doc
Diffstat (limited to 'support')
-rw-r--r--support/doc/plugins/guide.md60
1 files changed, 36 insertions, 24 deletions
diff --git a/support/doc/plugins/guide.md b/support/doc/plugins/guide.md
index 5c1f6a2af..52e3b6052 100644
--- a/support/doc/plugins/guide.md
+++ b/support/doc/plugins/guide.md
@@ -16,11 +16,10 @@
16 - [Add new transcoding profiles](#add-new-transcoding-profiles) 16 - [Add new transcoding profiles](#add-new-transcoding-profiles)
17 - [Server helpers](#server-helpers) 17 - [Server helpers](#server-helpers)
18 - [Client API (themes & plugins)](#client-api-themes--plugins) 18 - [Client API (themes & plugins)](#client-api-themes--plugins)
19 - [Plugin static route](#plugin-static-route) 19 - [Get plugin static and router routes](#get-plugin-static-and-router-routes)
20 - [Notifier](#notifier) 20 - [Notifier](#notifier)
21 - [Markdown Renderer](#markdown-renderer) 21 - [Markdown Renderer](#markdown-renderer)
22 - [Auth header](#auth-header) 22 - [Auth header](#auth-header)
23 - [Plugin router route](#plugin-router-route)
24 - [Custom Modal](#custom-modal) 23 - [Custom Modal](#custom-modal)
25 - [Translate](#translate) 24 - [Translate](#translate)
26 - [Get public settings](#get-public-settings) 25 - [Get public settings](#get-public-settings)
@@ -30,6 +29,7 @@
30 - [Plugin selector on HTML elements](#plugin-selector-on-html-elements) 29 - [Plugin selector on HTML elements](#plugin-selector-on-html-elements)
31 - [HTML placeholder elements](#html-placeholder-elements) 30 - [HTML placeholder elements](#html-placeholder-elements)
32 - [Add/remove left menu links](#addremove-left-menu-links) 31 - [Add/remove left menu links](#addremove-left-menu-links)
32 - [Create client page](#create-client-page)
33 - [Publishing](#publishing) 33 - [Publishing](#publishing)
34- [Write a plugin/theme](#write-a-plugintheme) 34- [Write a plugin/theme](#write-a-plugintheme)
35 - [Clone the quickstart repository](#clone-the-quickstart-repository) 35 - [Clone the quickstart repository](#clone-the-quickstart-repository)
@@ -531,7 +531,7 @@ See the [plugin API reference](https://docs.joinpeertube.org/api-plugins) to see
531 531
532### Client API (themes & plugins) 532### Client API (themes & plugins)
533 533
534#### Plugin static route 534#### Get plugin static and router routes
535 535
536To get your plugin static route: 536To get your plugin static route:
537 537
@@ -542,6 +542,24 @@ function register (...) {
542} 542}
543``` 543```
544 544
545And to get your plugin router route, use `peertubeHelpers.getBaseRouterRoute()`:
546
547```js
548function register (...) {
549 registerHook({
550 target: 'action:video-watch.video.loaded',
551 handler: ({ video }) => {
552 fetch(peertubeHelpers.getBaseRouterRoute() + '/my/plugin/api', {
553 method: 'GET',
554 headers: peertubeHelpers.getAuthHeader()
555 }).then(res => res.json())
556 .then(data => console.log('Hi %s.', data))
557 }
558 })
559}
560```
561
562
545#### Notifier 563#### Notifier
546 564
547To notify the user with the PeerTube ToastModule: 565To notify the user with the PeerTube ToastModule:
@@ -594,27 +612,6 @@ function register (...) {
594} 612}
595``` 613```
596 614
597#### Plugin router route
598
599**PeerTube >= 3.3**
600
601To get your plugin router route, you can use `peertubeHelpers.getBaseRouterRoute()`:
602
603```js
604function register (...) {
605 registerHook({
606 target: 'action:video-watch.video.loaded',
607 handler: ({ video }) => {
608 fetch(peertubeHelpers.getBaseRouterRoute() + '/my/plugin/api', {
609 method: 'GET',
610 headers: peertubeHelpers.getAuthHeader()
611 }).then(res => res.json())
612 .then(data => console.log('Hi %s.', data))
613 }
614 })
615}
616```
617
618#### Custom Modal 615#### Custom Modal
619 616
620To show a custom modal: 617To show a custom modal:
@@ -806,6 +803,21 @@ See the complete list on https://docs.joinpeertube.org/api-plugins
806 803
807Left menu links can be filtered (add/remove a section or add/remove links) using the `filter:left-menu.links.create.result` client hook. 804Left menu links can be filtered (add/remove a section or add/remove links) using the `filter:left-menu.links.create.result` client hook.
808 805
806#### Create client page
807
808To create a client page, register a new client route:
809
810```js
811function register ({ registerClientRoute }) {
812 registerClientRoute({
813 route: 'my-super/route',
814 onMount: ({ rootEl }) => {
815 rootEl.innerHTML = 'hello'
816 }
817 })
818}
819```
820
809 821
810### Publishing 822### Publishing
811 823