James Moger
2014-05-05 d69d73e5da5a12f279d5c0c38c871801739f33d6
src/site/plugins_extensions.mkd
@@ -52,6 +52,37 @@
    public void onUninstall() {
    }
}
/**
 * You can also create Webapp plugins that register mounted pages.
 */
public class ExampleWicketPlugin extends GitblitWicketPlugin {
    @Override
    public void start() {
    }
    @Override
    public void stop() {
    }
    @Override
    public void onInstall() {
    }
    @Override
    public void onUpgrade(Version oldVersion) {
    }
    @Override
    public void onUninstall() {
    }
    @Override
    protected void init(GitblitWicketApp app) {
        app.mount("/logo", LogoPage.class);
        app.mount("/hello", HelloWorldPage.class);
    }
}
```
### SSH Dispatch Command
@@ -205,3 +236,52 @@
}
```
### User Menu Items
*SINCE 1.6.0*
You can provide your own user menu items by subclassing the *UserMenuExtension* class.
```java
import java.util.Arrays;
import java.util.List;
import ro.fortsoft.pf4j.Extension;
import com.gitblit.extensions.UserMenuExtension;
import com.gitblit.models.Menu.ExternalLinkMenuItem;
import com.gitblit.models.Menu.MenuItem;
import com.gitblit.models.UserModel;
@Extension
public class MyUserMenuContributor extends UserMenuExtension {
    @Override
    public List<MenuItem> getMenuItems(UserModel user) {
        MenuItem item = new ExternalLinkMenuItem("Github", String.format("https://github.com/%s", user.username));
        return Arrays.asList(item);
    }
}
```
### Navigation Links
*SINCE 1.6.0*
You can provide your own top-level navigation links by subclassing the *NavLinkExtension* class.
```java
import java.util.Arrays;
import java.util.List;
import ro.fortsoft.pf4j.Extension;
import com.gitblit.extensions.NavLinkExtension;
import com.gitblit.models.UserModel;
@Extension
public class MyNavLink extends NavLinkExtension {
    @Override
    public List<NavLink> getNavLinks(UserModel user) {
        NavLink link = new ExternalLinkMenuItem("Github", String.format("https://github.com/%s", user.username));
        return Arrays.asList(link);
    }
}
```