How to extend TinyMCE in Piranha CMS?

In Piranha CMS you can easily extend TinyCME with additional plugins, here is how.
Published on Sunday, 5 December 2021

Screenshot by Jan Reilink

Recently I started to use Piranha CMS on a project. Piranha CMS is a .NET 6 compatible content management system and comes with TinyMCE 5 as its editor. I wanted to extend TinyMCE and load additional plugins in my project. Here is how you can do the same.

Because the latest Piranha CMS release is fully built for .NET 6, you need Visual Studio 2022. If you open up your project and in Solutions Exlorer you click through to

-> core
  -> Piranha.Manager.Tiny.MCE
    -> assets
      -> tinymce
        -> plugins

TinyMCE plugin list in Visual Studio solution explorer

You'll see a lot of available plugins, but not all are loaded and available in the admin panel. These need to be configured first. Configure which TinyMCE plugins are available in the editorconfig.json file of your project, and it may looks like this:

Available TinyMCE plugins in editorconfig.json for Piranha CMS

You can add more plugins to the plugins line, and plugins that have a toolbare image available can be added to the toolbar configuration line. For example:

Piranha CMS added additoinal TinyMCE plugins in editorconfig.json

Here you see I added code, toc and template as plugins, and I added code and toc to the toolbar. In the admin panel's editor, this looks as follows:

Additional TinyMCE plugins available in the toolbar

Conclusion

To sum it up, all you need to do is add plugins to your editorconfig.json file, rebuild your project, Web Deploy Publish and you're ready to go. Unfortunately, the Page Embed plugin to add a Google Map is a premium plugin.