TracHacks has moved

trac-hacks.org is now living on a new, shinier server. If you notice any problems, let me know.

If you use https to access TracHacks you may be experiencing some difficulties. SVN over https is currently not working, so please switch to http until this is rectified: (...)


Stability problems

As you may have noticed, TracHacks has been having some stability problems. The server itself is experiencing massive I/O wait which causes some requests to time out, and users to receive 500 errors. Please bear with us as we investigate and try to resolve the problem. (...)


Bandwidth/connection throttling

To reduce the impact of people copying TracHacks (what the?!?) I've enabled bandwidth and connection throttling. This should only impact you if you're hammering the site, but please let me know if it is causing problems.


Added hack listing version filtering

The hack listing can now be filtered by version, with 0.10 and anyrelease the default set.

Welcome to Trac Hacks

The purpose of TracHacks is to provide free Subversion hosting for community created Trac hacks.

TracHacks uses the excellent TagsPlugin, which adds basic categorisation to Trac. All hacks are tagged with one or more of the available tags.

How to Contribute

I've tried to make this as simple as possible:

  1. Register a user name then login (requires cookies).
  2. Fill out the NewHack form.
  3. Verify all the details for your new page are correct.
  4. Commit your code to the provided Subversion URL
    (alternatively you can simply attach your hack to your Wiki page, ala MacroBazaar, but remember that you can't delete or replace attachments)
  5. Have a look at TracHackDevelopment.

The TracHacks page contains more information, contact details, bug reports, enhancements, suggestions, etc.

I host my own hack elsewhere

Feel free to create a stub page here with a short description and links to your own hack. Please stick to the page naming convention, by appending the hack type (eg. GanttPlugin)

eg. The DoStuff macro would become the page DoStuffMacro.

Once you have created your page, tag it with the hack type and it will appear on the front page. Tag it with your TracHacks user id if you want it to show up on your user page.

How do I install these things?

Refer to the Trac plugin documentation and the MacroBazaar for details on how to build and install plugins and macros, respectively. For other types please refer to the page of the hack you are installing for instructions.

Request-a-Hack

Have a look at the RequestaHack page for features that people request.

Hacks

Show hacks for releases: 0.8 0.9 0.10 0.11 anyrelease
Integrating Trac with 3rd party applications

Macros

Macros are simple enhancements to Trac's Wiki engine. Examples include SubWiki, TOC, FootNote, etc.

Patches

Modifications to the Trac source in the form of patches. This can include simple changes to Clear Silver templates, patches to the Python code,etc.

Plugins

As part of the move to a component architecture, Trac 0.9 is now extensible via plugins. Plugins can be used to add functionality to Trac that was not previously possible without extensive modification to the source. This could include anything from extended milestone facilities, multi-project functionality, integration of automated build systems, other link types, to simple macros.

Refer to the Trac documentation for installation instructions and more information.

Scripts

Scripts that enhance the functionality of Trac. This could include things like wrappers around creation of Subversion and Trac projects, post-commit hooks, etc.

Themes

Themes are modifications to the visual layout and style of Trac. They can be anything from just CSS changes, to full templates with additional images and styles.

Translations

Translations of Trac into other languages.

Tutorials

Useful and interesting tutorials related to Trac.

Miscellany

Using the GeneralLinkSyntaxPlugin, I have added several shortcuts for commonly used links: download:hackname, google:search, trac:wikipage, trac-changeset:changeset and trac-ticket:ticket.

Registered users of TracHacks.

Hacks for Trac 0.8, 0.9 and 0.10.

Example hacks.

Adhering to the principle that one should eat one's own dog food, the following hacks are used on TracHacks:
AccountManagerPlugin, AddCommentMacro, WikiGoodiesPlugin, FootNoteMacro, PollMacro, RefMacro, TocMacro, TracHacksPlugin and XmlRpcPlugin.

Tag Cloud

The tag cloud is a visual representation of tag frequency, similar to a histogram.

I'm linking to the tag index to reduce system load.