Render List Plugin

Render bullet lists in a variety of formats

Syntax Rules

RENDERLIST Variable

  • Place a %RENDERLIST{ <parameters> }% above any bullet list
    • The list can be handcrafted, generated by another plugin, a %TOC%, or the result of a FormattedSearch
  • Supported parameters:
"name" or
theme="name"
Select a rendering theme
focus="any text" Focus list on a bullet with specified text
depth="2" Remove bullets with an indent greater then the depth. The depth is relative to the highlighted bullet in case focus is specified
  • Rendering themes can be defined by <name>_THEME plugin settings
    • Each theme is defined by a comma separated list containing the render type and parameters required by that render type
    • There are different render types; this initial plugin version has tree and icon render types
  • Format of the tree render type:
    • Set <name>_THEME = tree, <0/1 flag to suppress/show lines of first level>
  • Format of the icon render type:
    • Set <name>_THEME = icon, <0/1 flag to suppress/show lines of first level>, <icon width>, <icon height>, <spacer graph>, <T-line graph>, <I-line graph>, <L-line graph>, <icon image>
    • To define new Icon themes, attach images to this plugin topic and set the parameters accordingly
  • Focus bullet list:
    • Search bullet list for text. If a bullet is found:
      1. Highlight text and remove [[][]] links on bullet where text is found
      2. Reduce bullet list to show only its parents and children
    • This is useful to maintain one large bullet list with links to team pages, representing the organization of a company. Each team page can INCLUDE the bullet list with focus set to itself.

Bullets

  • Use regular * bullets
  • Start with level one
    • Increase indentation only by one level at a time
      • Like this
  • It's OK to decrease more than one indentation levels at a time
  • Wrap long text, e.g. split it up into continuation lines - the plugin does not do that for you
    Align continuation lines with leading spaces like this
  • You can specify an icon for a bullet of render type tree or icon:
    • Attach the icon to this plugin topic, e.g. myicon.gif, or
    • Use one of the existing icons: globe.gif globe.gif, home.gif home.gif, virtualhome.gif virtualhome.gif, group.gif group.gif, persons.gif persons.gif, virtualpersons.gif virtualpersons.gif, person.gif person.gif, virtualperson.gif virtualperson.gif, email.gif email.gif, trend.gif trend.gif, folder.gif folder.gif, folders.gif folders.gif, file.gif file.gif, files.gif files.gif, doc.gif doc.gif, image.gif image.gif, pdf.gif pdf.gif, ppt.gif ppt.gif, sound.gif sound.gif, xls.gif xls.gif, zip.gif zip.gif, see.gif see.gif
    • Refer to an attached icon at the beginning of the bullet with:
      • icon:myicon Followed by normal bullet text
    • Any TWikiDocGraphics icon can be used as well:
      • %ICON{name}% Followed by normal bullet text

Examples

You type: You get: (simulated) You get: (if installed)
%RENDERLIST{"thread"}%
   * one
      * one.a
         * one.a.x
      * one.b
         * one.b.x
           continue
         * one.b.y
            * icon:person Tim
            * icon:person Mico
   * two
   * three

one
one.a
one.a.x
one.b
one.b.x
continue
one.b.y
Tim
Mico
two
three

one
one.a
one.a.x
one.b
one.b.x
continue
one.b.y
  Tim
  Mico
two
three

%RENDERLIST{"org"}%
   * one
      * one.a
         * one.a.x
      * one.b
         * one.b.x
           continue
         * one.b.y
            * icon:person Tim
            * icon:person Mico
   * two
   * three

  one
  one.a
  one.a.x
  one.b
  one.b.x
  continue
  one.b.y
  Tim
  Mico
  two
  three

  one
  one.a
  one.a.x
  one.b
  one.b.x
  continue
  one.b.y
  Tim
  Mico
  two
  three

%RENDERLIST{ "org" focus="one.b" }%
   * one
      * one.a
         * one.a.x
      * one.b
         * one.b.x
           continue
         * one.b.y
            * icon:person Tim
            * icon:person Mico
   * two
   * three

  one
  one.b
  one.b.x
  continue
  one.b.y
  Tim
  Mico

  one
  one.b
  one.b.x
  continue
  one.b.y
  Tim
  Mico

RenderListPlugin Settings

Plugin settings are stored as preferences variables. To reference a plugin setting write %<plugin>_<setting>%, i.e. %RENDERPLUGIN_SHORTDESCRIPTION%

  • One line description, is shown in the TextFormattingRules topic:
    • Set SHORTDESCRIPTION = Render bullet lists in a variety of formats

  • Debug plugin: (See output in data/debug.txt)
    • Set DEBUG = 0

  • Themes are named <SOMETHING>_THEME and contain a comma delimited list of render type with parameters:
    • Set THREAD_THEME = tree, 1
    • Set HOME_THEME = icon, 1, 16, 16, empty.gif, dot_udr.gif, dot_ud.gif, dot_ur.gif, home.gif
    • Set ORG_THEME = icon, 0, 16, 16, empty.gif, dot_udr.gif, dot_ud.gif, dot_ur.gif, home.gif
    • Set GROUP_THEME = icon, 0, 16, 16, empty.gif, dot_udr.gif, dot_ud.gif, dot_ur.gif, group.gif
    • Set EMAIL_THEME = icon, 0, 16, 16, empty.gif, dot_udr.gif, dot_ud.gif, dot_ur.gif, email.gif
    • Set TREND_THEME = icon, 0, 16, 16, empty.gif, dot_udr.gif, dot_ud.gif, dot_ur.gif, trend.gif
    • Set FILE_THEME = icon, 0, 16, 16, empty.gif, dot_udr.gif, dot_ud.gif, dot_ur.gif, file.gif

Plugin Installation Instructions

This plugin is pre-installed. TWiki administrators can upgrade the plugin as needed on the TWiki server.

  • For an automated installation, run the configure script and follow "Find More Extensions" in the in the Extensions section.

  • Or, follow these manual installation steps:
    • Download the ZIP file from the Plugins home (see below).
    • Unzip RenderListPlugin.zip in your twiki installation directory. Content:
File: Description:
data/TWiki/RenderListPlugin.txt Plugin topic
data/TWiki/VarRENDERLIST.txt Documentation of the RENDERLIST variable
pub/TWiki/RenderListPlugin/*.gif Image files for themes
lib/TWiki/Plugins/RenderListPlugin.pm Plugin Perl module
    • Set the ownership of the extracted directories and files to the webserver user.

  • Plugin configuration and testing:
    • Run the configure script and enable the plugin in the Plugins section.
    • Test if the installation was successful: See example above.

Plugin Info

Plugin Author: TWiki:Main.PeterThoeny
Copyright: © 2003-2013 Peter[at]Thoeny.org, TWiki.org
© 2003-2013 TWiki:TWiki.TWikiContributor
License: GPL (GNU General Public License)
Plugin Version: 2013-01-28
2013-01-28: TWikibug:Item7091: Use TWISTY in installation instructions and change history
2012-11-14: TWikibug:Item7020: Categorize TWiki Variable RENDERLIST
2012-09-05: TWikibug:Item6837: Doc fixes
2011-07-09: TWikibug:Item6725: Change global package variables from "use vars" to "our"
2010-05-16: 2.1: TWikibug:Item6433 - doc improvements; replacing TWIKIWEB with SYSTEMWEB
15 Jan 2008: 2.0: Kenneth Lavrsen. No more reporting warnings in the error log when a render list starts at deeper level than 1
30 Sep 2007: Added VarRENDERLIST to have it listed in TWikiVariables
23 Sep 2006: Support for img tag and image URL after icon: (suggested by TWiki:Main.JanFilipsky); support for TWikiDocGraphics icons, such as %ICON{folder}% instead of icon:folder; added files.gif and folders.gif (contributed by TWiki:Main.SteveHobbs)
25 Apr 2006: SVN sync, Cairo + Dakar compatibility
14 Apr 2006: TWikiRelease04x00 compatibility update
21 Nov 2004: Added benchmarks (no code changes)
21 Mar 2004: Internal change: Fixed unofficial function call
01 Mar 2004: Added FILE_THEME and folder/file icons
29 Dec 2003: Fixed rendering issue if focus bullet contains icon:name; added TREND_THEME
16 Dec 2003: Specify icons with icon:name syntax
11 Dec 2003: Added focus and depth parameters
05 Dec 2003: Fixed rendering issue with IE; added EMAIL_THEME
02 Dec 2003: Initial version
CPAN Dependencies: none
Other Dependencies: none
Perl Version: 5.005
TWiki:Plugins/Benchmark: GoodStyle 97%, FormattedSearch 98%, RenderListPlugin 93%
Plugin Home: http://TWiki.org/cgi-bin/view/Plugins/RenderListPlugin
Feedback: http://TWiki.org/cgi-bin/view/Plugins/RenderListPluginDev
Appraisal: http://TWiki.org/cgi-bin/view/Plugins/RenderListPluginAppraisal

Related Topics: VarRENDERLIST, TWikiPlugins, DeveloperDocumentationCategory, AdminDocumentationCategory, TWikiPreferences, TWiki:Plugins.TreePlugin