From b4ed66fda03d83fd281ca9cbeae0a1c7785489e4 Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Fri, 09 May 2014 09:55:19 -0400 Subject: [PATCH] Move delete repository function into the edit page --- src/site/plugins_extensions.mkd | 110 ++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 105 insertions(+), 5 deletions(-) diff --git a/src/site/plugins_extensions.mkd b/src/site/plugins_extensions.mkd index 86d0729..7bf63c1 100644 --- a/src/site/plugins_extensions.mkd +++ b/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 @@ -75,14 +106,14 @@ public class MyDispatcher extends DispatchCommand { @Override - protected void setup(UserModel user) { + protected void setup() { // commands in this dispatcher - register(user, CommandA.class); - register(user, CommandB.class); + register(CommandA.class); + register(CommandB.class); // nested dispatchers - register(user, SubDispatcher1.class); - register(user, SubDispatcher2.class); + register(SubDispatcher1.class); + register(SubDispatcher2.class); } @CommandMetaData(name = "commanda", aliases = { "ca" }, description = "description of command a") @@ -185,3 +216,72 @@ } ``` +### 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); + } +} +``` -- Gitblit v1.9.1