wiki:FlexibleWikiPlugin

Version 2 (modified by Alexey Kinyov, 15 years ago) (diff)

Screenshot added

Flexible Wiki Plugin

Description

Plugin allows to make flexible structure of wiki pages. For any of wiki pages parent page can be set up. So we get flexible structure instead of 'plain' wiki structure.

Bugs/Feature Requests

Existing bugs and feature requests for FlexibleWikiPlugin are here.

If you have any issues, create a new ticket.

Download

Download the zipped source from [download:flexiblewikiplugin here].

Source

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

Example

After installing plugin you will need to upgrade your environment.

You will get an extra item New page in mainnav, which opens page creation dialog. You can set up title and name, and parent is set up automatically by current page. Thus, you can create 'sub-pages' for any page.

Each page now has extra properties:

  • title: string, just page title, appears in menu and on each of pages
  • parent: name of parent wiki page or empty if none
  • weight: number, defines page ordering in menu
  • hide: flag, if set, page won't appear in menu generated by [[TracFlexWikiTreeMacro]]

They can be changed in page edit dialog.

Additional macros

Plugin provides extra wiki macros.

[[TracFlexWikiTreeMacro]]

Shows wiki pages tree menu. Menu is generated as simple unordered list. Macro receives one optional parameter class, wich defines CSS class of menu.

Example:

[[TracFlexWikiTreeMacro(class=flex-menu)]]

Screenshot

Here's plugin in work - page editing: flexiblewikiplugin-scr1.jpg.

Note extra navigation item New page and extra fields Parent page, Hide from menu, Page weight.

Navigation line above page title is inserted by this plugin automatically.

Menu in left sidebar is provided by macro [[TracFlexWikiTreeMacro(class=flex-menu)]]. It's added globally in site templates, this plugin doesn't do this automatically.

Further development

Some features are not implemented yet, like site map etc.

Plugin is a bit tricky. It adds extra key 'node' to request.args, that is instance of class TracFlexWikiNode, which provides something like API for this plugin.

Feedback is welcome!

Recent Changes

7816 by rudyryk on 2010-04-05 22:16:20
flexiblewikiplugin: example for site.html - site_example.html
7815 by rudyryk on 2010-04-05 21:04:56
flexiblewikiplugin: bigfix #6905 - getting current node for request
5589 by rudyryk on 2009-04-24 17:31:12
  • TracFlexWikiPlugin source commited
5588 by rudyryk on 2009-04-24 17:27:54
New hack FlexibleWikiPlugin, created by rudyryk
(more)

Author/Contributors

Author: rudyryk
Contributors:

Attachments (2)

Download all attachments as: .zip