# Plugins
In this section you can find the list of officially supported PRESENTA Lib plugins, sorted by type.
# Blocks
A Block renders a content. When you need a different type of media or render a content in a different way, external blocks might help, such as:
- Youtube (opens new window)
- Chartjs (opens new window)
- Fitty (opens new window)
- Vega-Lite (opens new window)
- ModelViewer (opens new window)
- Flowchart.js (opens new window)
- Emoji (opens new window)
- Barcode (opens new window)
- QRCode (opens new window)
Want to create your own Block?
Awesome! There's a guide for that!. If you plan to make it public, let us know!
# Modules
A Module extends a scene
in order provide additional features at scene level. Here some examples:
Want to create your own Module?
Awesome! There's a guide for that!. If you plan to make it public, let us know!
# Controllers
A Controller extends the presentation as a whole by adding global capabilities:
Want to create your own Controller?
Awesome! There's a guide for that!. If you plan to make it public, let us know!
# Installation
This section describes the installation possibilities enforced by official plugins.
First off, you need to know the unique name
of the plugin and replace the <PLUGIN-NAME>
placeholder with it (i.e. block-youtube
or controller-shuffle
or module-markdown
)
# From unpkg
:
Using the script tag in the HTML document (recommended):
<script src="https://unpkg.com/@presenta/<PLUGIN-NAME>"></script>
# From npm
:
If you are in a local dev enviroment with the common node.js based toolchain already installed, you can run npm
with:
npm install @presenta/<PLUGIN-NAME>
now you can include the plugin in the browser with (it needs to be included after PRESENTA Lib):
<script src="/node_modules/@presenta/lib/dist/presenta.min.js"></script>
<script src="/node_modules/@presenta/<PLUGIN-NAME>/dist/presenta-<PLUGIN-NAME>.min.js"></script>
Or using SkyPack service in ES6:
<script type="module">
import Presenta from 'https://cdn.skypack.dev/@presenta/lib'
import myPluginName from 'https://cdn.skypack.dev/@presenta/<PLUGIN-NAME>'
Presenta.use(myPluginName)
</script>
Or using a bundler:
import * as Presenta from '@presenta/lib'
import myPluginName from '@presenta/<PLUGIN-NAME>'
Presenta.use(myPluginName)
# Development
Go to this page to learn about how to develop you own PRESENTA Lib plugin.