Blogging system for Trac

There will be no 0.11 version. For 0.11 blogs, use the FullBlogPlugin.


A blogging system for Trac.

TracBlogPlugin allows one to harness the power of TagsPlugin to generate blogs. It provides a wiki macro so that blogs can be inserted in any wiki page. It also provides a navigation component.


Main blog page New Blog Post Blog admin

Bugs/Feature Requests

Existing bugs and feature requests for TracBlogPlugin are here.

If you have any issues, create a new ticket.


Download the zipped source from here.


You can check out TracBlogPlugin from here using Subversion, or browse the source with Trac.

Please do not use trunk. It is known to not work. It is a work in progress. When it is ready, it will be renamed.


TracBlogPlugin should work with 0.9.x and 0.10.x.


If using 0.9.x it may be necessary to install the TagsPlugin and the WebAdmin plugin globally instead of the project's plugin directory. This is due to the need for those plugins to load before the TracBlogPlugin loads. Unfortunately, 0.9.x does not support plugin dependencies, so the only way to get it to work properly is installing the above plugins globally via:

# python install

An indication that this may be the case is if a message similar to the following is displayed

    raise DistributionNotFound(req)  # XXX put more info here
DistributionNotFound: TracWebAdmin

Install in the same manner as any other Trac plugin:

# python bdist_egg
# cp dist/*.egg /srv/trac/env/plugins

If the TracBlogPlugin is installed system wide, then you will need to enable the plugin in your trac.ini:

tBlog.* = enabled


If you want only the blog to be your frontpage instead of the wiki, in trac.ini:

default_handler = TracBlogPlugin

nb: Using the TracBlogPlugin as the default_handler is a non supported, non recommended usage. But it has been known to work.

Otherwise, if you want to integrate the blog into your wiki, use the following examples in conjunction with regular WikiFormatting:

Displays a blog based on tags The list of tags to be shown can be specified as arguments to the macro. If no tags are specified as parameters, then the default 'blog' tag is used.

The following options can be specified:

union - Specify whether the join for the tags listed should be a union or intersection(default).
num_posts - Number of posts to display.
year - Year for which to show posts.
month - Month for which to show posts.
day - Day of the month for which to show posts.
delta - How many days of posts should be shown.
mark_update - Specify whether to show "Updated on" for posts that have been updated.
hidecal - Hide the calendar (when set to true).

If specifying dates with year, month, and/or day, the current value is specified if missing. For example, if day is specified but year and month are not, then year will be filled in with the current year and month will be filled with the current month. If only year and month are specified, then that indicates the whole month is desired.

The num_posts options is bounded by the date options if combined. For example, if num_posts=5 and month=4 is specified, it will show up to 5 posts from the month of April. If only 3 posts exist, then only 3 are shown. If a date option is not specified, then it will show the last num_posts posts.

Inserts a link to create a new blog post

Accepts keyword arguments that specify default parameters. The macro will be hidden unless the user has BLOG_POSTER permissions.

tag - Tag that populates the "Tag under" field. This key may be specified as a tuple or list to pass multiple values.
blogtitle - Default blog entry title.
text - Default entry body text.
pagename - Default wiki page name.
readonly - Default readonly page status.
link - Text to display as the link.

[[BlogPost(tag=blog,blogtitle="A Simple Title",text="Body Text")]]
[[BlogPost(tag=(blog,pacopablo),link="A New Blog Post")]]  

trac.ini Documentation

date_format = %x %X              ; format string in strftime format
page_format = %Y/%m/%d/%H.%M     ; format string in strftime format
default_tag = blog               ; comma separated list of tags
post_size = 1024                 ; number of bytes to show before truncation
history_days = 30                ; number of days of blog entries to show
new_blog_link = New Blog Post    ; default value for new blog post link


If you use TracBlog, please post a link to your blog:

Recent Changes

[3516] by pacopablo on 04/15/08 18:14:15

Added patch from retracile to include wiki:BlogHeader? in the top of the blog page.

[3371] by pacopablo on 03/15/08 15:12:07

More 0.11 porting

[3225] by pacopablo on 02/13/08 08:52:05

  • Refs #1111 - First big push towards porting to 0.11
  • The blog entry window has mostly been finished.

[3214] by pacopablo on 02/12/08 07:13:29

Beginning of port to 0.11


Author: pacopablo
Maintainer: pacopablo