| | |
| | | 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 |
| | |
| | | } |
| | | ``` |
| | | |
| | | ### Request Filter |
| | | |
| | | *SINCE 1.6.0* |
| | | |
| | | You can provide your own custom request filter by subclassing the *HttpRequestFilter* class. |
| | | |
| | | ```java |
| | | import com.gitblit.extensions.HttpRequestFilter; |
| | | import ro.fortsoft.pf4j.Extension; |
| | | |
| | | @Extension |
| | | public class MyRequestFilter extends HttpRequestFilter { |
| | | |
| | | @Override |
| | | public void doFilter(ServletRequest request, ServletResponse response, |
| | | FilterChain chain) throws IOException, ServletException { |
| | | } |
| | | } |
| | | ``` |
| | | |
| | | ### 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); |
| | | } |
| | | } |
| | | ``` |