
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
@educandu/educandu-plugin-example
Advanced tools
An example plugin for educandu
npm i -g gulp-cliThe output of this repository is an npm package (@educandu/educandu-plugin-example).
Import the published package into your educandu driven website:
$ yarn add @educandu/educandu-plugin-example
Add the plugin info to the application's custom resolvers module:
import ExamplePlugin from '@educandu/educandu-plugin-example';
export default {
resolveCustomPageTemplate: null,
resolveCustomHomePageTemplate: null,
resolveCustomSiteLogo: null,
resolveCustomPluginInfos: () => [ExamplePlugin]
};
Add the plugin name, the translations and any additional controllers to your server config:
import educandu from '@educandu/educandu';
import { createRequire } from 'node:module';
import ExampleController from '@educandu/educandu-plugin-example/example-controller.js';
const require = createRequire(import.meta.url);
const examplePluginTranslationsPath = require.resolve('@educandu/educandu-plugin-example/translations.json');
educandu({
plugins: [/* your other plugins here */, 'educandu/educandu-plugin-example'],
resources: [/* your other translations here */, examplePluginTranslationsPath],
additionalControllers: [/* your other additional controllers here */, ExampleController],
/* your other server config here */
});
Import the plugin styles to your main LESS entry point:
// Base styles from Educandu:
@import url('@educandu/educandu/styles/main.less');
// Styles for the custom plugin:
@import url('@educandu/educandu-plugin-example/example.less');
// Other styles here
Of course, if your plugin does not require any additional controller, or if it doesn't add any styles or translations, the above steps can be skipped accordingly. The bare minimum configuration is to add the plugin info module to the custom resolvers and the plugin type name into the list of activated plugins in the server configuration.
You need to come up with two good names:
In the case of this repository, the namespace is educandu (as this is also the Github/NPM namespace used) and the plugin name is (obviously): example.
Out of these two parts you can generate according to these templates:
{namespace}/educandu-plugin-{plugin-name} (all kebab-cased), example: educandu/educandu-plugin-example
typeName for the plugin in the info.js module*.yml filesEP_{Namespace}_{PluginName}_{PutYourCssClassNameHere} (all Pascal-cased), example: EP_Educandu_Example_MyClassName
For example, if a person called "John Doe" wants to publish a plugin called "Slide show", the names could be:
john-doe/educandu-plugin-slide-showEP_JohnDoe_SlideShow_HeaderImageFunded by 'Stiftung Innovation in der Hochschullehre'
A Project of the 'Hochschule für Musik und Theater München' (University for Music and Performing Arts)
Project owner: Hochschule für Musik und Theater München
Project management: Ulrich Kaiser
FAQs
An example plugin for educandu
The npm package @educandu/educandu-plugin-example receives a total of 0 weekly downloads. As such, @educandu/educandu-plugin-example popularity was classified as not popular.
We found that @educandu/educandu-plugin-example demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 3 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.