Render List Plugin

Render bullet lists in a variety of formats

Syntax Rules

RENDERLIST Variable

  • Place a %RENDERLIST{ <parameters> }% before any bullet list
    • The lists 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 one level at a time
      • Like this
  • Decreasing indentation many levels at a time is OK
  • Wrap long text with 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

%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

%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

%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

%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

%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

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

Note: You do not need to install anything on the browser to use this plugin. The following instructions are for the administrator who installs the plugin on the TWiki server.

  • Download the ZIP file from the Plugin Home (see below)
  • Unzip RenderListPlugin.zip in your twiki installation directory. Content:
    File:Sorted ascending Description:
    data/TWiki/RenderListPlugin.txt,v Plugin topic repository
    data/TWiki/RenderListPlugin.txt Plugin topic
    lib/TWiki/Plugins/RenderListPlugin.pm Plugin Perl module
    pub/TWiki/RenderListPlugin/*.gif Image files for themes
  • TWiki 4.0 and up: Run the configure script to enable the Plugin
  • Test if the installation was successful: See if above examples work

Plugin Info

Plugin Author: TWiki:Main/PeterThoeny
Copyright: © 2006-2007, Peter@ThoenyNOSPAM.org, TWIKI.NET
License: GPL (GNU General Public License)
Plugin Version: 15 Jan 2008 (2.0)
Change History:  
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: TWikiPlugins, DeveloperDocumentationCategory, AdminDocumentationCategory, TWikiPreferences, TWiki:Plugins/TreePlugin

-- TWiki:Main/PeterThoeny - 30 Sep 2007

Topic revision: r12 - 2007-09-30 - 01:27:54 - TWikiContributor
 
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback
Note: Please contribute updates to this topic on TWiki.org at TWiki:TWiki.RenderListPlugin