Add a self-contained blog to Trac
This plugin provides a project blog, but unlike SimpleBlogPlugin it does not use Wiki pages to store the content. It has no dependencies on other plugins.
This is a production-ready release, supporting Trac 0.11-1.3 installations. The plugin does not yet support other locales than English, ie there is no l10n/i18n support.
- Create, edit and view blog posts under a new 'Blog' menu.
- Browse post by month, category and author and Archive page for all posts.
- Attachments on blog posts.
- Comments for blog posts.
- Posts and comments appear in Timeline / RSS + separate post comments feed.
- Search for blog posts and comments.
- Admin page for basic settings and editing informational text in sidebar.
- Permissions for
- Support for Trac fine-grained permissions security checks (based on resource / realm).
- Special handling of a post named 'about'.
- Area in sidebar for information text, blogroll, links and similar.
- TracLink provider. Examples:
- Delete post version, delete post and delete comment.
- A tags provider for TagsPlugin if plugin is available.
[[BlogList]]news-listing macro with various display modes for pulling blog posts into the wiki.
- Change listener and manipulator APIs for hooking on to changes.
- Spamfilter implementation included - thanks to athomas ().
- Sample plugin provided illustrating how to use the hooks.
- FullBlogNotificationPlugin adds email notification of changes to posts and comments.
- AnnouncerPlugin has a plugin to provide the same functionality as the FullBlogNotificationPlugin.
- Sample plugin that implements blog post 'draft' functionality (
Some planned features:
- Diff between version of the post.
- XmlRpcPlugin support.
Feedback is most welcome, see osimons to get in touch with me by mail or on the #trac channel.
A macro to display list of posts and extracts outside (or inside) the Blog module, most commonly Wiki pages.
All arguments are optional:
Available named arguments:
recent=- maximum number of posts
category=- a category
author=- an author
period=- time period of the format YYYY/MM
heading=- a heading for the list
format=- type of display (see below for details)
max_size=- maximum number of characters to render for each post
Example showing some available named arguments:
[[BlogList(recent=5, max_size=250, period=2017/12, author=osimons, format=float, heading=Some Trac Posts)]]
The arguments for criteria are 'AND'-based, so the above example will render at most 5 posts by 'osimons' in December 2017.
There is no heading unless specified.
Without restriction on recent number of posts, it will use the number currently active in the Blog module as default for 'float' and 'full' rendering. For rendering of 'inline' list it will render all found as default unless restricted. Additionally for 'float' and 'full' it will truncate content if it is larger than a max_size (if set).
format= keyword argument supports rendering these formats:
|Renders an unordered list in the normal text flow (default).|
|A floating box out on the side of the page with slightly more detail.|
|Full rendering like on period, category and author listings inside blog.|
The arguments can appear in any order.
Posts are rendered sorted by newest first for all modes.
An old-ish screenshot, showing the posting view with commenting:
To see the blog in action, visit its home at http://www.coderesort.com/about/blog.
To use it:
- Install TagsPlugin 0.6
- Install FullBlogPlugin
- Upgrade the Trac environment:
trac-admin /path/to/env upgrade
- Run the migration script:
- Confirm that the migration succeeded, then remove the old posts if desired:
migrate-tracblog.py /path/to/environment --delete-only
Take a look at
migrate-tracblog.py --help for more options.
If you have any issues, create a new ticket.
Download the zipped source from here.
- After download, unzip the file, and
cdinto the directory with correct version (currently 0.11). Run
python setup.py install.
- Or, check out the source (see below) and similarly run
python setup.py installat correct location (like previous alternative). To update the plugin later, you can then just do
svn upto pull down the latest source from repository and install it again.
- Or, to install it directly from repository to get the latest version with revision marker, use
easy_install --always-unzip https://trac-hacks.org/svn/fullblogplugin/0.11
After installation, follow these steps and configuration hints:
- Enable the plugin:
[components] tracfullblog.* = enabled
- Upgrade your Trac environment by running:
trac-admin /path/to/env upgrade.
- Restart server and as
TRAC-ADMINyou should now see 'Blog' in menu.
- Add one or more permissions to let users view, create, comment and modify posts, see list above.
The link to 'Blog' in menu will appear last. To move it, edit your
trac.ini config file to add
blog into the ordered list:
[trac] mainnav = wiki,blog,timeline,....
If you would like the blog to be the new default home page for your project (ie handle requests to
/myproject/), then update
[trac] default_handler = FullBlogModule
- 16217 by osimons on 2017-02-01 13:59:48
FullBlogPlugin: Render genshi admin template correctly with very latestst jinja2 support in Trac trunk (1.3.2dev).
- 16216 by osimons on 2017-02-01 12:30:06
FullBlogPlugin: Small (but vital) fix for reading version from database correctly.
- 16215 by osimons on 2017-02-01 02:12:08
FullBlogPlugin: Various compatibility fixes to make plugin (apparently) compatible with current Trac trunk at ~1.3.2dev.
Now also with basic tests for web requests.
Also a missing
db.commit()for old compat code.