SF.net SVN: geany:[3530] trunk
eht16 at users.sourceforge.net
eht16 at xxxxx
Fri Jan 30 18:10:27 UTC 2009
Revision: 3530
http://geany.svn.sourceforge.net/geany/?rev=3530&view=rev
Author: eht16
Date: 2009-01-30 18:10:27 +0000 (Fri, 30 Jan 2009)
Log Message:
-----------
Add a few notes about basic plugin writing guidelines.
Modified Paths:
--------------
trunk/ChangeLog
trunk/HACKING
trunk/doc/plugins.dox
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2009-01-30 16:12:25 UTC (rev 3529)
+++ trunk/ChangeLog 2009-01-30 18:10:27 UTC (rev 3530)
@@ -6,6 +6,8 @@
Allow entering paths prefixed with '~' in the filebrowser path entry.
Show the full path for files and folders in the filebrowser plugin
as tooltips.
+ * HACKING, doc/plugins.dox:
+ Add a few notes about basic plugin writing guidelines.
2009-01-29 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
Modified: trunk/HACKING
===================================================================
--- trunk/HACKING 2009-01-30 16:12:25 UTC (rev 3529)
+++ trunk/HACKING 2009-01-30 18:10:27 UTC (rev 3530)
@@ -20,6 +20,8 @@
* See plugins/demoplugin.c for a very basic example plugin.
* src/plugins.c loads and unloads plugins (you shouldn't need to read
this really).
+* The API documentation contains a few basic guidelines and hints to
+ write plugins.
You should generate and read the plugin API documentation, see below.
Modified: trunk/doc/plugins.dox
===================================================================
--- trunk/doc/plugins.dox 2009-01-30 16:12:25 UTC (rev 3529)
+++ trunk/doc/plugins.dox 2009-01-30 18:10:27 UTC (rev 3530)
@@ -44,6 +44,7 @@
* - @link plugindata.h Main Datatypes and Macros @endlink
* - @link pluginsymbols.c Plugin Symbols @endlink
* - @link signals Plugin Signals @endlink
+ * - @link guidelines Plugin Writing Guidelines @endlink
*
* @note Some of these pages are also listed in Related Pages.
*/
@@ -248,6 +249,77 @@
*
*
*
+ * @page guidelines Plugin Writing Guidelines
+ *
+ * @section intro Introduction
+ *
+ * The following hints and guidelines are only recommendations. Nobody is forced to follow
+ * them at all.
+ *
+ * @section general General notes
+ *
+ * @subsection ideas Getting a plugin idea
+ *
+ * If you want to write a plugin but don't know yet what it should do, have a look at
+ * http://www.geany.org/Support/PluginWishlist to get an idea about what users wish.
+ *
+ * @subsection code Managing the source code
+ *
+ * For authors of plugins for Geany, we created a dedicated @a geany-plugins project at
+ * Sourceforge to ease development of plugins and help new authors.
+ * Project website: http://sourceforge.net/projects/geany-plugins
+ *
+ * Each plugin author is welcome to use these services. To do so, you need an account at
+ * Sourceforge. You can easily register at (http://sourceforge.net/account/registration/).
+ * After you successfully created an account,
+ * tell your account name Enrico or Nick and you will write access to the SVN repository
+ * (http://geany-plugins.svn.sourceforge.net/viewvc/geany-plugins/).
+ * Then you can use the repository for your own plugin.
+ *
+ * Authors using this service should subscribe to the
+ * geany-plugins-commits at uvena.de and geany-plugins-tracker at uvena.de
+ * mailing lists(see my previous post) to stay up to date with changes.
+ * General plugin discussion can happen on the normal geany at uvena.de or
+ * geany-devel at uvena.de lists.
+ *
+ * At time of writing, there are some plugins already available in the
+ * repository. Feel free to use any of these plugins as a start for your own,
+ * maybe by copying the directory structure and the autotools files
+ * (Makefile.am, configure.in, ...). Most of the available plugins are also ready for
+ * i18n support, just for reference.
+ *
+ * New plugins should be imported into a new directory inside the trunk/
+ * directory. There are also the common branches and tags directories, use
+ * them as needed, use always a subdirectory for your own plugin.
+ *
+ * We encourage authors using this service to only commit changes to their
+ * own plugin and not to others' plugins. Instead just send patches to
+ * geany-devel at uvena.de or the plugin author directly.
+ *
+ * (the full announcement of this service can be found at
+ * http://lists.uvena.de/geany/2008-April/003225.html)
+ *
+ *
+ * @section paths Installation paths
+ *
+ * - The plugin binary (@c pluginname.so) should be installed in Geany's libdir. This is
+ * necessary so that Geany can find the plugin.
+ * An easy way to retrieve Geany's libdir is to use the pkg-config tool, e.g. @code
+ * `$PKG_CONFIG --variable=libdir geany`/ geany
+ * @endcode
+ * - If your plugin creates other binary files like helper programs or helper libraries,
+ * they should go into @c $prefix/bin (for programs, ideally prefixed with @a geany),
+ * additional libraries should be installed in Geany's libdir, maybe in a subdirectory.
+ * - Plugins should install their documentation files (README, NEWS, ChangeLog, licences and
+ * other documentation files) into the common documentation directory
+ * @c $prefix/share/doc/geany-plugins/$pluginname/
+ * - Translation files should be installed normally into @c $prefix/share/locale. There is no
+ * need to use Geany's translation directory. To set up translation support properly and
+ * for additional information, see main_locale_init().
+ * - Do @a never install anything into a user's home directory like installing
+ * the plugin binary in @c ~/.config/geany/plugins/.
+ *
+ *
* @page howto Plugin Howto
*
* @section intro Introduction
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Commits
mailing list