The plugin registers itself with a name and a factory function:
public class PluginFeatureFactory extends PluginFeatureFactoryBase {
@Override
public void registerMarkupSystems(MarkUpSystems systems) {
systems.register(MyMarkup.NAME, MyMarkup::new);
System.out.println(MyMarkup.NAME + " system registered");
... any initialization required ...
}
}
The markup system class must implement the MarkUpSystem interface:
public class MyMarkup implements MarkUpSystem {
public static final String NAME = "mymarkup";
... implemented methods...
}
To use the new markup syntax, include a comment with the markup system name on the first line of the page:
#lang mymarkup ... page content ...
Other pages in the wiki will continue to use the standard wiki syntax.