docs: Fix bad link in api.rst. Fixes 1019
[mediagoblin.git] / docs / source / pluginwriter / api.rst
index 66def1730b163332a5f8fac3b4cc334fdab6d4dc..a8763f9d6193a0a45e47114f68a65a0d11cd5aed 100644 (file)
@@ -42,7 +42,7 @@ exist yet: what to do then?
 The plan at present is that we are adding hooks as people need them,
 with community discussion.  If you find that you need a hook and
 MediaGoblin at present doesn't provide it at present, please
-`http://mediagoblin.org/pages/join.html <talk to us>`_!  We'll
+`talk to us <http://mediagoblin.org/pages/join.html`_!  We'll
 evaluate what to do from there.
 
 
@@ -69,6 +69,32 @@ example might look like::
 This means that when people enable your plugin in their config you'll
 be able to provide defaults as well as type validation.
 
+You can access this via the app_config variables in mg_globals, or you
+can use a shortcut to get your plugin's config section::
+
+  >>> from mediagoblin.tools import pluginapi
+  # Replace with the path to your plugin.
+  # (If an external package,  it won't be part of mediagoblin.plugins)
+  >>> floobie_config = pluginapi.get_config('mediagoblin.plugins.floobifier')
+  >>> floobie_dir = floobie_config['floobie_dir']
+  # This is the same as the above
+  >>> from mediagoblin import mg_globals
+  >>> config = mg_globals.global_config['plugins']['mediagoblin.plugins.floobifier']
+  >>> floobie_dir = floobie_config['floobie_dir']
+  
+A tip: you have access to the `%(here)s` variable in your config,
+which is the directory that the user's mediagoblin config is running
+out of.  So for example, your plugin may need a "floobie" directory to
+store floobs in.  You could give them a reasonable default that makes
+use of the default `user_dev` location, but allow users to override
+it, like so::
+
+  [plugin_spec]
+  floobie_dir = string(default="%(here)s/user_dev/floobs/")
+
+Note, this is relative to the user's mediagoblin config directory,
+*not* your plugin directory!
+
 
 Context Hooks
 -------------