melinks (version version 0.0.10 2010-08-31)
index
/home/vmj/tmp/melinks/melinks.py

PyBlosxom plugin that adds $melinks template variable
 
So called "me" links are a way to connect your different social
network profile pages together, so that services like Google's Social
Graph will identify them as belonging to the same person.  By adding
"me" links from your blog to all your profile pages makes your blog a
well connected hub in your piece of the 'net.
 
For an example, see the left sidebar section "Elsewhere" at
http://www.linuxbox.fi/~vmj/blog/ and then see how Google sees it at
http://socialgraph-resources.googlecode.com/svn/trunk/samples/findyours.html?q=http%3A%2F%2Flinuxbox.fi%2F%7Evmj%2Fblog%2F
or what plaxo crawler makes of it at
http://www.plaxo.com/opensocialgraph.py?url=http%3A%2F%2Fwww.linuxbox.fi%2F~vmj%2Fblog&output=&verbose=1
 
INSTALLATION
============
 
Download the melinks.py file and place it in your plugins directory.
 
You can find the latest version at
http://www.linuxbox.fi/~vmj/melinks/melinks.py which is documented at
http://www.linuxbox.fi/~vmj/melinks/melinks.html
 
Previous versions of the plugin can be found at
http://www.linuxbox.fi/~vmj/melinks/archive/
 
CONFIGURATION
=============
 
First of all, make sure you add the plugin into plugin load list:
 
   py['load_plugins'] = [..., 'melinks', ...]
 
You need to add the account information into your config.py.  For
example,
 
   py["melinks_accounts"] = [
       ['Identi.ca', 'vmj'],
       ['Twitter', '_vmj_'],
   ]
 
tells melinks plugin that you've got an account at Identi.ca (where
your user name is 'vmj') and you're also on Twitter (known there as
'_vmj_').  These are later refered to as account descriptors.
 
For a few sites, the plugin knows how to derive the Profile Page URL
from your user name (as is the case with Identi.ca and Twitter).  For
other sites you need to tell the plugin the URL.  For example,
 
   py["melinks_accounts"] = [
       ['Some Site', None, {'url': 'http://some.site.com/123/}],
   ]
 
Note that the user name is not used in this case.  Notably, currently
at least PhotoBucket and Plaxo profile page URLs are a mystery to this
plugin.
 
As you noticed, the third item in the list is a dictionary.  Other
keys that you can place there are:
 
   * 'icon': Override the URL of the favicon.  This is useful if you
             want to use a custom favicon for a site.  But if you want
             to use the default icon, don't use this setting.
 
   * 'label': Label for the site.  By default this is the same as the
              first item in the account descriptor.
 
Now you're all set.  Rest of the configuration is optional.
 
By default, the plugin generates a vertical list with icons and
labels.  You can change to a more compact (but IMHO less usable)
horizontal list of icons by adding the following to the config.py:
 
   py["melinks_style"] = "icons"
 
You can also define a placeholder favicon for those that don't have
one by adding the following to the config.py:
 
   py["melinks_icon"] = "http://my.blog.net/favicon.ico"
 
Note that the placeholder is only used if the icon URL is not
overridden and the plugin doesn't know the default icon.
 
Finally, add the template variable $melinks somewhere in your
templates, like the foot template.  For example,
 
   <h2>Elsewhere</h2>
   <div class="sidebox">
   $melinks
   </div>
 
 
CACHING THE FAVICONS LOCALLY
============================
 
To make local copies of the favicons, add following to your config.py:
 
   py['melinks_icon_dir'] = '/absolute/path/to/favicon/dir'
   py['melinks_icon_url'] = 'http://my.blog.net/images'
 
Then, on command line, change to the directory where you have the
config.py and execute command:
 
    PYTHONPATH=. python path/to/plugins/melinks.py
 
melinks.py will download all the favicons to the directory pointed to
by 'melinks_icon_dir' setting.  The directory need not exist, yet.
Only the default icons are downloaded, not those you have overridden
with the account specific 'icon' setting.
 
When later adding accounts, just rerun the above command and it will
download the new icons.
 
 
COPYRIGHT
=========
 
Copyright 2009,2010 Mikko Värri (vmj@linuxbox.fi)
 
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
 
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.
 
You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.

 
Modules
       
posixpath
Pyblosxom.tools

 
Functions
       
cb_prepare(args)
Prepare the request data.
 
This callback is called after Pyblosxom default handler has
figured out what it is rendering and before it is rendered.
 
Plugins are expected to modify the data dict in the Request.
 
Implemented to add 'melinks' key to request data dictionary.
The value is the HTML to display XFN "me" links.
 
:param args: A dictionary with following keys
  * request - The Request object
:return: None (ignored)
verify_installation(request)
Verify plugin installation.
 
Always returns 1 (installation OK) but nags if there are no
account information, which means this plugin has nothing to
do.
 
:param request: Ignored.
:return: 1 if the plugin installation seems fine, 0 if the plugin can not work.

 
Data
        __author__ = 'Mikko V\xc3\xa4rri - vmj at linuxbox dot fi'
__description__ = 'Adds me-links for Social Graph and semantic web'
__url__ = 'http://www.linuxbox.fi/~vmj/melinks/melinks.html'
__version__ = 'version 0.0.10 2010-08-31'

 
Author
        Mikko Värri - vmj at linuxbox dot fi