Kaydet (Commit) 84fc7556 authored tarafından Enrico Tröger's avatar Enrico Tröger

Add a few notes about basic plugin writing guidelines.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3530 ea778897-0a13-0410-b9d1-a72fbfd435f5
üst 56a1470b
......@@ -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>
......
......@@ -20,6 +20,8 @@ Writing plugins
* 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.
......
......@@ -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 @@ PluginCallback plugin_callbacks[] =
*
*
*
* @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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment