wiki:OhlohWidgetsMacroPlugin

Version 8 (modified by figaro, 8 years ago) (diff)

Rearranged paragraphs to maintain consistency

Ohloh statistics widgets macro

Description

Ohloh has some nice widgets which you can put on your site to show some statistics about your project. This plugin is a Trac macro to make embedding these widgets in your Trac wiki easy and does not force you to lower Trac's security settings.

Also this macro has a special API so you can modify any Ohloh widget so it blends in better with your layout.

See also: OhlohBadgeMacro

Source

Actual development and bug tracking happens on macro development site. You can also find more information about the API to customize Ohloh plugins on that page.

The source code is in a mercurial repository under the liberalMIT license.

Installation

Prerequisites:

Enable the macro in your trac.ini:

[components]
ohloh_widgets.macro = enabled
# if you want to have better display of certain macros, enable also widget modificators:
ohloh_widgets.* = enabled

Configuration

Some Ohloh widgets do not look nice on a Trac page, because some elements do not respect Trac's layout, eg they use different colors for links. This macro already includes some modifiers which can change the appearance of some Ohloh macros with Javascript (jQuery) and CSS, but you can easily add your own by writing a small plugin which implements this interface:

# This class is in ohloh_widgets.api
class IOhlohWidgetModifier(Interface):
    def widget_name(self):
        """Return the name of the widget which this modifier can modify.
        
        The widget name is the name of the JS file (e.g. 'project_factoids.js')
        without the '.js' suffix (=> 'project_factoids').
        """
    
    def widget_fix(self):
        """Return a Genshi tag which is inserted directly after the widget's script 
        tag. Use this to add custom CSS/Javascript which whips the widget into shape
        (again)."""

Examples

Display a single widget by specifying your project id and the widget name, ie the Javascript file name without the '.js' suffix:

[[OhlohWidget(483602, project_basic_stats)]]

Also you can display a group of widgets together:

[[OhlohWidgetGroup(483602, project_basic_stats, project_factoids, project_users?style=green)]]

This has the advantage that all widgets are grouped in a div so you can style it easily.

Screenshots

example screenshot

Check the online demo to see the macro in action.

Author/Contributors

Author: felix_schwarz
Maintainer: Felix Schwarz
Contributors:

Attachments (2)

Download all attachments as: .zip