]> source.dussan.org Git - gitblit.git/commitdiff
Documentation
authorJames Moger <james.moger@gitblit.com>
Sun, 30 Mar 2014 19:26:54 +0000 (15:26 -0400)
committerJames Moger <james.moger@gitblit.com>
Thu, 10 Apr 2014 23:00:52 +0000 (19:00 -0400)
src/site/resources/6x12.dfont [new file with mode: 0644]
src/site/resources/6x13.dfont [new file with mode: 0644]
src/site/resources/7x13.dfont [new file with mode: 0644]
src/site/resources/7x14.dfont [new file with mode: 0644]
src/site/setup_plugins.mkd

diff --git a/src/site/resources/6x12.dfont b/src/site/resources/6x12.dfont
new file mode 100644 (file)
index 0000000..8c35f35
Binary files /dev/null and b/src/site/resources/6x12.dfont differ
diff --git a/src/site/resources/6x13.dfont b/src/site/resources/6x13.dfont
new file mode 100644 (file)
index 0000000..6cf59fe
Binary files /dev/null and b/src/site/resources/6x13.dfont differ
diff --git a/src/site/resources/7x13.dfont b/src/site/resources/7x13.dfont
new file mode 100644 (file)
index 0000000..577d638
Binary files /dev/null and b/src/site/resources/7x13.dfont differ
diff --git a/src/site/resources/7x14.dfont b/src/site/resources/7x14.dfont
new file mode 100644 (file)
index 0000000..465af8e
Binary files /dev/null and b/src/site/resources/7x14.dfont differ
index 4e5c733a15e085668c40debae319c963a777beac..6ab4f1efd70081fda1a85ed2d0b06e0cf4e0d9e2 100644 (file)
@@ -3,4 +3,45 @@
 \r
 *SINCE 1.5.0*\r
 \r
-Document (limited) plugin infrastructure.\r
+Gitblit supports extending and enhacing the core functionality through plugins.  This mechanism is very young and incomplete with few extension points, but you can expect it to evolve rapidly in upcoming releases.\r
+\r
+### Architecture\r
+\r
+The existing plugin mechanism is based on [pf4j](https://github.com/decebals/pf4j).  Plugins are distributed as zip files and may include their runtime dependencies or may rely on the bundled dependencies of other plugins and/or Gitblit core.\r
+\r
+The zip plugins are stored in `${baseFolder}/plugins` and are unpacked on startup into folders of the same name.\r
+\r
+A plugin defines it's metadata in the META-INF/MANIFEST.MF file:\r
+\r
+    Plugin-Class: com.gitblit.plugins.cookbook.CookbookPlugin\r
+    Plugin-Dependencies: foo, bar\r
+    Plugin-Id: gitblit-plugin\r
+    Plugin-Provider: John Doe\r
+    Plugin-Version: 1.0\r
+\r
+In addition to extending Gitblit core, plugins can also define extension points that may be implemented by other plugins.  Therefore a plugin may depend on other plugins.\r
+\r
+    Plugin-Dependencies: foo, bar\r
+\r
+Plugins are controlled by the `plugin` SSH dispatch command.  Only *administrators* have permission to use this dispatch command.\r
+\r
+The pf4j plugin framework relies on a javac apt processor to generate compile-time extension information, so be sure to enable apt processing in your build process.\r
+\r
+### Extension Point: SSH DispatchCommand\r
+\r
+You can provide your own custom SSH commands by extending the DispatchCommand.\r
+\r
+For some examples of how to do this, please see:\r
+\r
+[gitblit-cookbook-plugin (Maven project)](https://dev.gitblit.com/summary/gitblit-cookbook-plugin.git)\r
+[gitblit-powertools-plugin (Ant/Moxie project)](https://dev.gitblit.com/summary/gitblit-powertools-plugin.git)\r
+\r
+### Mac OSX Fonts\r
+\r
+Gitblit's core SSH commands and those in the *powertools* plugin rely on use of ANSI border characters to provide a pretty presentation of data.  Unfortunately, the fonts provided by Apple - while very nice - don't work well with ANSI border characters.  The following public domain fixed-width, fixed-point, bitmapped fonts work very nicely.  I find the 6x12 font with a line spacing of ~0.8 to be quite acceptable.\r
+\r
+[6x12.dfont](6x12.dfont)\r
+[6x13.dfont](6x13.dfont)\r
+[7x13.dfont](7x13.dfont)\r
+[7x14.dfont](7x14.dfont)\r
+\r