It is kept as simple as possible to write plugins for Mammutmap.
Create a file helloWorld.ts in the ./plugin-src/ folder:
import { coreUtil } from '../dist/pluginFacade'
coreUtil.logInfo('Hello World')or even simpler:
console.log('Hello World')Run in the root directory of the Mammutmap project:
npm start
This compiles all plugins from ./plugin-src/ into ./plugin/ and starts Mammutmap. All .js-files in ./plugin/ are loaded on startup.
In the Mammutmap terminal you should now see the logged text 'Hello World'.
In ./plugin-src/ there are some example plugins that you can activate in the applicationMenu's Plugins-tab:
- tutorialHelloWorld.ts: A little bit more advanced HelloWorld that opens a popup.
- tutorialBoxTabs.ts: A plugin that let's you add tabs to boxes where you can render everything (meant for file/folder related stuff).
- tutorialAddRawDataFields.ts: A tutorial that let's you save arbitrary data in the boxMapData json files, the project settings and the application settings.json file.
- tutorialRenderManager.ts: A more advanced example how to directly access the renderManager.
- tutorialWidgets.ts: An example that uses Widgets as pattern to encapsulate and structure frontend components.