Table of Contents

Block Quote Plugin

The blockquote plugin creates semantically correct quotes by using the blockquote XHTML tag. In contrast to the default wiki markup for quoting, the content of the quote can contain any wiki markup which then gets interpreted as it would outside of the quote environment. Thus, also nested quotes are possible.

Syntax

The plugin provides two additional pairs of markup tags, the blockquote and the cite markup. The blockquote allows an additional citation source to be given after the blockquote keyword in the opening tag. The cite markup was mainly created to allow the addition of more complex citation sources (including links, text formatting etc) inside the blockquote environment, although it can also be used standalone. See the examples below.

Examples

Loads of markup

The following code

<blockquote>
Test with loads of markup...

Another paragraph with a little [[http://nowhere|link]] to nowhere. Oh, and while we are at it, what about some **bold**, some //italic// and some __underlined__ text? And finally, an itemization:

  * item 1
    * item 1.1
    * item 1.2
  * item 2
    - ordered item 2.1
    - ordered item 2.2
      - ordered item 2.2.1
  * item 3

Works :-)
</blockquote>

results in

Test with loads of markup…

Another paragraph with a little link to nowhere. Oh, and while we are at it, what about some bold, some italic and some underlined text? And finally, an itemization:

  • item 1
    • item 1.1
    • item 1.2
  • item 2
    1. ordered item 2.1
    2. ordered item 2.2
      1. ordered item 2.2.1
  • item 3

Works :-)

The cite attribute

The following code

<blockquote J. Random Hacker>Test with a cite attribute...</blockquote>

results in

Test with a cite attribute…

The cite command

The following code

<blockquote>Test with a cite command...<cite>J. Random Hacker, [[http://localhost/~jrhacker]]</cite></blockquote>

results in

Test with a cite command…J. Random Hacker, http://localhost/~jrhacker

2018/05/09 22:04 · Alan Shea

Box Plugin

Highlight particularly important parts of your wiki in boxes that stand out with Box Plugin.

A simple box:

<box> the box contents </box>
the box contents

Some more complex boxes

<box 80% round orange|a title> the box contents</box>

a title

the box contents



<box 50% left blue>the box contents</box|a caption>
the box contents

a caption





<box 60% round #f99 #fc9 #fcc #f60|title>the box contents</box|caption>

title

the box contents

caption


Full syntax

<box width classes colours | title text> contents text </box>

  • width — any legal CSS width value
  • classes — any number of classes which use the styles in your template or the plugin's own stylesheet to determine the look of the box. The box plugins comes with the following classes already defined:
    • round — box will have rounded corners
    • blue — blue colour scheme
    • red — red colour scheme
    • green — green colour scheme
    • orange — orange colour scheme
    • left — float the box left within the wiki page
    • right — float the box right within the wiki page

if no classes are specified the default styles will be used, that is square corners in a colour scheme based on the default DokuWiki colour scheme.

  • colours — 1-4 colours in CSS hex or RGB notation, e.g. #F00 #fcab94 rgb(255,255,0). The colours are applied in order to:
    1. content background
    2. title background
    3. outer box background
    4. borders

if less than four colours are specified, the first colour is used for the missing colours.

  • title text — text (including DokuWiki markup) displayed above the box contents, with distinct style.
  • caption text — text (no markup allowed) displayed below the box contents, with distinct style.

The opening <box … > including the title must all appear on one line. The box contents can appear over as many lines as are needed.

See the plugin in action here. The sample page shows all the styles available with the plugin.

Box Plugin Examples

testing

a title

the box contents

'let us start a quote and not finish it.

Boxed & titled

this isn't also boxed

using hex colours

lorem ipsum dolor …

using rgb colours

lorem ipsum dolor …


This is a test of the box using named color rgb colors and I want a border but don't know how to add one. There, it's done… but what colors are available?

Oh, I see now (I read the docs) and everything is ok.

The bottom credits goes here (if only I could align this right)


this is also boxed

boxed & captioned

as is this

title with formatting, a link and rounded corners :-)

boxes can also contain markup…
  • a list
  • of several
  • items
<div class='box'>
  <b class='xtop'><b class='xb1'></b><b class='xb2'></b><b class='xb3'></b><b class='xb4'></b></b>
  <div class='xbox'>
    <p class='box_title'>Title text would go here</p>
    <div class='box_content'>
      <p>Including this html snippet of a box</p>
      <p>All those &lt;b&gt; tags handle the rounded corners</p>
    </div>
  </div>
  <b class='xbottom'><b class='xb4'></b><b class='xb3'></b><b class='xb2'></b><b class='xb1'></b></b>
</div>

=== headings aren't allowed in boxes ===

but tables are

and plugins … ; definition : list : list : list

and a link

Wow, a lot of stuff

title

a box to match the default dokuwiki colour scheme

Example box

to test what is possible: NICE PLUGIN: You can
  • make Lists
  • other markup
  • set the color of the box

looks good?

title

red box, 80% wide, with a title
this is a blue box
this is a blue box

title

blue box with a title

title

a wide green box
and an orange box

title teste

testing

title test

testing

title teste

testing

title test

testing

Is the colour wrong?

this is also boxed

title test

testing 123456 gagagaga gaggagagaga gaagagagag agagagag agaga gaagagaga gagagagag agagaggag agagaga gag agag

Simple box with rounded edges and title

I wonder what uses I could find for a box…
  • I will have to check this out
  • tomorrow
  • on my wiki
But can there be a box inside of a box?

Yes! there can!

Simple box with rounded edges and no title But with some “code”, not really code, but just code layout
  * I will have to check this out
  * tomorrow
  * on my wiki
Same thing on the right handside But with some “code”, not really code, but just code layout
  * I will have to check this out
  * tomorrow
  * on my wiki

Headline

This is a right-hand side box with a picture and caption.


Boxes in boxes works but will create another line per box, an inline option would be nice.

This is the parent

this is a child

Child Box

this is another child

Another child that i would like inlined with one before

This is the parent

this is a child

Child Box

this is a nested child

Another child that i would like inlined with one before
2018/05/09 22:05 · Alan Shea

File List Plugin

The filelist plugin provides a syntax for adding linked and sorted lists of files as selected by wildcard based glob patterns to a wiki page and thus allows dynamically including file listings of arbitrary filesystem locations and media namespaces. Using the additional filename command, one can also add a single link to a file out of a list anywhere in the text, which can be used to automatically keep download links for software releases up to date with the most recent upload.

Usage

The filelist plugin provides two new commands to be used in wiki pages, filelist and filename. The general command syntax for both is the following:

{{[ command ]>[ pattern ][ parameterlist ]}}
  • command must be either filelist or filename.
  • pattern is a searching pattern for files to include in the generated list, defined using the pattern syntax of the unix fnmatch function. An example: If you want to include all files ending on .txt in the folder some/path/1), you would use some/path/*.txt as the pattern (and the parameter direct=1, see parameters below). Analogue to this, to include all jpeg media files in :some:namespace, you'd use :some:namespace:*.jpg.
  • parameterlist can be used to define optional, & separated parameters (defined as key-value-pairs). For a list of supported parameters, see below.

Paths

The filelist plugin supports both absolute as well as relative paths into the filesystem or Dokuwiki media namespaces. All paths are checked against a whitelist of allowed paths for scanning (as defined via the configuration setting ''allowed_absolute_paths''). Paths which are not located below these whitelisted paths are not allowed for globbing and thus filelist/filename calls to such paths fail. Per default, the Dokuwiki basedir as defined in DOKU_INC is included in this whitelist and mapped to the Dokuwiki base-URL, DOKU_URL.

Relative paths into the filesystem are interpreted relative to the Dokuwiki basedir. Relative media paths (without a leading : that is) are interpreted relative to the namespace of the currently active page. Thus, :snippets:dokuwiki:* and * would be interpreted the same on the current page :snippets:dokuwiki:filelist.

Parameters

Name Description Possible values Default
direct Whether to interpret the given pattern as a direct path in the file system or as an dokuwiki media id. Defaults to media id. 0 or 1 0
sort The property by which to sort the internal file list. By default, the file name is used, with upper case being sorted before lower case (use iname for a case insensitive sorting criteria). name, iname, ctime, mtime, size name
order Whether to sort the internal file list ascending or descending. Sorting in ascending order is the default. asc, desc asc
filelist specific parameters
offset The offset in the internal file list from which on to display the list. Default is an offset of 0. any numeric value 0
limit The number of files to display, beginning at index offset. A number of 0 means to display all available files. any numeric value 0
style The style to use for display. list creates an unordered bullet list (the default), olist an ordered list, table a table view and page a heading/section based view of the selected files. list, olist, table, page list
tableheader Whether to show the table header describing the table columns. Off by default. 0 or 1 0
tableshowdate Whether to show the file modification date in the table view. Off by default. 0 or 1 0
tableshowsize Whether to show the file size in the table view. Off by default. 0 or 1 0
recursive Whether to do a recursive file crawl starting at the defined basepath. If this parameter is set to 1, the whitecard part of the search pattern is applied to each found subdirectory. If no files are found, the subdirectory is not included in the search result. All display styles besides table will show the result in a hierarchical structure; table will first flatten the result by prepending all found files with there subtree pathname (note that this happens before sorting). 0 or 1 0
titlefile The filename of a file which to lookup in each subtree if recursive is set to 1 and whose content to use as title for the directory. It will be ignored in the results of the filelisting itself. Defaults to _title.txt. Example: A _title.txt file containing “My special title” found during a crawl on the subpath my/subpath will be rendered as having the name “My special title” instead of “subpath”. any filename _title.txt
filename specific parameters
index Which specific item to select for display from the internal file list. The default is the first one. any numeric value 0

Examples

filename

{{filename>:wiki:pluginsytnax:filelist*}}

turns into

[n/a: No match]

filelist

Example 1
{{filelist>*.pdf&style=table&tableheader=1&tableshowdate=1&tableshowsize=1}}

turns into

[n/a: No match]
Example 2
Example 3
{{filelist>lib/images/*&style=olist&direct=1&recursive=1&sort=iname}}

turns into

  1. _deprecated.txt
  2. admin
    1. acl.png
    2. config.png
    3. plugin.png
    4. popularity.png
    5. README
    6. revert.png
    7. styling.png
    8. usermanager.png
  3. blank.gif
  4. bullet.png
  5. closed-rtl.png
  6. closed.png
  7. diff.png
  8. email.png
  9. email.svg
  10. error.png
  11. external-link.png
  12. external-link.svg
  13. fileicons
    1. 32x32
      1. 7z.png
      2. asm.png
      3. bash.png
      4. bz2.png
      5. c.png
      6. cc.png
      7. conf.png
      8. cpp.png
      9. cs.png
      10. csh.png
      11. css.png
      12. csv.png
      13. deb.png
      14. diff.png
      15. doc.png
      16. docx.png
      17. file.png
      18. gif.png
      19. gz.png
      20. h.png
      21. hpp.png
      22. htm.png
      23. html.png
      24. ico.png
      25. java.png
      26. jpeg.png
      27. jpg.png
      28. js.png
      29. json.png
      30. lua.png
      31. mp3.png
      32. mp4.png
      33. odc.png
      34. odf.png
      35. odg.png
      36. odi.png
      37. odp.png
      38. ods.png
      39. odt.png
      40. ogg.png
      41. ogv.png
      42. pas.png
      43. pdf.png
      44. php.png
      45. pl.png
      46. png.png
      47. ppt.png
      48. pptx.png
      49. ps.png
      50. py.png
      51. rar.png
      52. rb.png
      53. rpm.png
      54. rtf.png
      55. sh.png
      56. sql.png
      57. svg.png
      58. swf.png
      59. sxc.png
      60. sxd.png
      61. sxi.png
      62. sxw.png
      63. tar.png
      64. tgz.png
      65. txt.png
      66. wav.png
      67. webm.png
      68. xls.png
      69. xlsx.png
      70. xml.png
      71. zip.png
    2. 7z.png
    3. asm.png
    4. bash.png
    5. bz2.png
    6. c.png
    7. cc.png
    8. conf.png
    9. cpp.png
    10. cs.png
    11. csh.png
    12. css.png
    13. csv.png
    14. deb.png
    15. diff.png
    16. doc.png
    17. docx.png
    18. file.png
    19. gif.png
    20. gz.png
    21. h.png
    22. hpp.png
    23. htm.png
    24. html.png
    25. ico.png
    26. index.php
    27. java.png
    28. jpeg.png
    29. jpg.png
    30. js.png
    31. json.png
    32. lua.png
    33. mp3.png
    34. mp4.png
    35. odc.png
    36. odf.png
    37. odg.png
    38. odi.png
    39. odp.png
    40. ods.png
    41. odt.png
    42. ogg.png
    43. ogv.png
    44. pas.png
    45. pdf.png
    46. php.png
    47. pl.png
    48. png.png
    49. ppt.png
    50. pptx.png
    51. ps.png
    52. py.png
    53. rar.png
    54. rb.png
    55. README
    56. rpm.png
    57. rtf.png
    58. sh.png
    59. sql.png
    60. svg
      1. 7z.svg
      2. asm.svg
      3. bash.svg
      4. bz2.svg
      5. c.svg
      6. conf.svg
      7. cpp.svg
      8. cs.svg
      9. csh.svg
      10. css.svg
      11. csv.svg
      12. deb.svg
      13. doc.svg
      14. docx.svg
      15. file.svg
      16. gif.svg
      17. gz.svg
      18. h.svg
      19. htm.svg
      20. html.svg
      21. ico.svg
      22. index.php
      23. java.svg
      24. jpeg.svg
      25. jpg.svg
      26. js.svg
      27. json.svg
      28. lua.svg
      29. mp3.svg
      30. mp4.svg
      31. ods.svg
      32. odt.svg
      33. ogg.svg
      34. ogv.svg
      35. pdf.svg
      36. php.svg
      37. pl.svg
      38. png.svg
      39. ppt.svg
      40. pptx.svg
      41. ps.svg
      42. py.svg
      43. rar.svg
      44. rb.svg
      45. README
      46. rpm.svg
      47. rtf.svg
      48. sh.svg
      49. sql.svg
      50. svg.svg
      51. swf.svg
      52. tar.svg
      53. tgz.svg
      54. txt.svg
      55. wav.svg
      56. webm.svg
      57. xls.svg
      58. xlsx.svg
      59. xml.svg
      60. zip.svg
    61. svg.png
    62. swf.png
    63. sxc.png
    64. sxd.png
    65. sxi.png
    66. sxw.png
    67. tar.png
    68. tgz.png
    69. txt.png
    70. wav.png
    71. webm.png
    72. xls.png
    73. xlsx.png
    74. xml.png
    75. zip.png
  14. history.png
  15. icon-list.png
  16. icon-sort.png
  17. index.html
  18. info.png
  19. interwiki
    1. amazon.de.svg
    2. amazon.svg
    3. amazon.uk.svg
    4. callto.svg
    5. doku.svg
    6. google.svg
    7. paypal.svg
    8. phpfn.svg
    9. skype.svg
    10. tel.svg
    11. user.svg
    12. wp.svg
    13. wpde.svg
    14. wpes.svg
    15. wpfr.svg
    16. wpjp.svg
    17. wpmeta.svg
    18. wppl.svg
  20. interwiki.png
  21. interwiki.svg
  22. larger.gif
  23. license
    1. badge
      1. cc-by-nc-nd.png
      2. cc-by-nc-sa.png
      3. cc-by-nc.png
      4. cc-by-nd.png
      5. cc-by-sa.png
      6. cc-by.png
      7. cc-zero.png
      8. cc.png
      9. gnufdl.png
      10. publicdomain.png
    2. button
      1. cc-by-nc-nd.png
      2. cc-by-nc-sa.png
      3. cc-by-nc.png
      4. cc-by-nd.png
      5. cc-by-sa.png
      6. cc-by.png
      7. cc-zero.png
      8. cc.png
      9. gnufdl.png
      10. publicdomain.png
  24. magnifier.png
  25. media_align_center.png
  26. media_align_left.png
  27. media_align_noalign.png
  28. media_align_right.png
  29. media_link_direct.png
  30. media_link_displaylnk.png
  31. media_link_lnk.png
  32. media_link_nolnk.png
  33. media_size_large.png
  34. media_size_medium.png
  35. media_size_original.png
  36. media_size_small.png
  37. mediamanager.png
  38. menu
    1. 00-default_checkbox-blank-circle-outline.svg
    2. 01-edit_pencil.svg
    3. 02-create_pencil.svg
    4. 03-draft_android-studio.svg
    5. 04-show_file-document.svg
    6. 05-source_file-xml.svg
    7. 06-revert_replay.svg
    8. 07-revisions_history.svg
    9. 08-backlink_link-variant.svg
    10. 09-subscribe_email-outline.svg
    11. 10-top_arrow-up.svg
    12. 11-mediamanager_folder-image.svg
    13. 12-back_arrow-left.svg
    14. account-card-details.svg
    15. account-plus.svg
    16. calendar-clock.svg
    17. file-tree.svg
    18. folder-multiple-image.svg
    19. lock-reset.svg
    20. login.svg
    21. logout.svg
    22. settings.svg
  39. minus.gif
  40. notify.png
  41. ns.png
  42. open.png
  43. page.png
  44. plus.gif
  45. README
  46. resizecol.png
  47. smaller.gif
  48. smileys
    1. biggrin.svg
    2. confused.svg
    3. cool.svg
    4. deleteme.svg
    5. doubt.svg
    6. doubt2.svg
    7. eek.svg
    8. exclaim.svg
    9. facepalm.svg
    10. fixme.svg
    11. fun.svg
    12. index.php
    13. lol.svg
    14. neutral.svg
    15. question.svg
    16. razz.svg
    17. README
    18. sad.svg
    19. silenced.svg
    20. smile.svg
    21. smile2.svg
    22. surprised.svg
    23. wink.svg
  49. success.png
  50. throbber.gif
  51. toolbar
    1. bold.png
    2. chars.png
    3. h.png
    4. h1.png
    5. h2.png
    6. h3.png
    7. h4.png
    8. h5.png
    9. hequal.png
    10. hminus.png
    11. hplus.png
    12. hr.png
    13. image.png
    14. italic.png
    15. link.png
    16. linkextern.png
    17. mono.png
    18. ol.png
    19. sig.png
    20. smiley.png
    21. strike.png
    22. ul.png
    23. underline.png
  52. trash.png
  53. unc.png
  54. unc.svg
  55. up.png
  56. wrap.gif
2018/05/09 22:06 · Alan Shea

Include Plugin

Include another wiki page into the current one.

Examples

{{page>wiki:syntax#Tables}} will include the section about tables of the syntax page.

{{namespace>project_foo}} will include all pages in the project_foo namespace.

{{page>blog:mypage&tags&comments}} will include the page blog:mypage and show the tags from the tag plugin and the number of comments from the discussion plugin. Both plugins need to be installed for this example.

Syntax

Simply enclose the ID of the page to be included in double curly brackets:

{{page>[id]&[flags]}}
{{section>[id]#[section]&[flags]}}
{{namespace>[namespace]&[flags]}}
{{tagtopic>[tag]&[flags]}}
[id] page ID of the page to include; some macros are possible; shortcuts are resolved (:, ., ..) required
[section] limits the included page to a specific section and its subsections optional; default is the whole page
[tag]include pages with tag topic tag, requires plugin:tag required
[flags] flags delimited by &, see flags optional

The plugin offers four syntaxes, {{page>...}} , {{section>...}} , {{namespace>...}} and {{tagtopic>...}}.

Section is aimed more at including sections, page at including whole pages and namespace at including whole namespaces. Tagtopic includes all pages with a tagtopic tag.

Configuration

The plugin can be configured in the DokuWiki configuration manager available in the admin menu. These settings also affect the blog plugin which uses the include plugin to generate the blog page.

noheader Don't display the header of the inserted section
firstseconly Display only the first section of the included page
showtaglogos Show/hide an image for the first tag (if the page has tags)
showfooter Show/hide page footer below the included page
showlink Makes the first headline of a included page/section a link to the included page/section
showpermalink Show/hide a permalink to the included page in the page footer
showdate Show/hide creation date of the page in the page footer
showuser Show/hide user name of the page creator in the page footer
showcomments Show/hide number of comments in the page footer (requires the discussion plugin)
showlinkbacks Show/hide number of linkbacks in the page footer (requires the linkback or backlinks2 plugin)
showtags Show/hide tags in the page footer (requires the tag plugin)
showeditbtn Show/hide edit button below the included page
doredirect Redirect back to original page after an edit
usernamespace Namespace for user pages (see showuser configuration) (default user)
doindent Indent included pages relative to the section of the page they get included in
linkonly Display only a link instead of the whole page content
title Show the title instead of the page id
pageexists Only list page ids of existing pages (see existlink)
existlink Display a link and do so only if page page-id exists
noparlink Don't put the link into a par environment (for inline lists)

Macros

Simple macros are possible to serve a page on a per user or per date base. These are:

@USER@ username
@NAME@ full name of user
@GROUP@ first group the user belongs to
@YEAR@ 4-digit year
@MONTH@ 2-digit month
@WEEK@ 2-digit ISO week number
@DAY@ 2-digit day
@DATE<expr>@ use a calculated date instead of today in date macros

<expr> in @DATE<expr>@ can be one of:

PYEAR previous year
NYEAR next year
PMONTH previous month
NMONTH next month
PWEEK previous week
NWEEK next week
YESTERDAY yesterday's date
TOMORROW tomorrow's date

Examples:

{{page>@MONTH@:@DAY@:birthdays}}

includes the page birthdays in namespace <month>:<day>: eg. 10:15: birthdays for the 15th of october.

{{page>@USER@:message}}

incudes the page message from the namespace <user> of the logged in user

{{page>foo@DATENWEEK@@YEAR@:@WEEK@}}

includes the page <weekno> from the namespace foo<year> with next week's date e.g. foo2012:01 for the 27th of december 2011

Flags

You may use flags to override default all configuration settings:

Setting Default Alternative
firstseconly fullpage includes the whole page firstseconly includes only the first section of a wiki page
showfooter footer shows a footer below the page with info about the included page nofooter hides the page info footer
showeditbtn editbtn shows a button to edit (or create) the included page noeditbtn hides the edit (or create) button
noindent fullpage page section and header retained on the same level as source page noheader strips the title from the included page

Examples:

{{page>concept&firstseconly&footer}}
{{page>mypage&noindent}}
2018/05/09 22:08 · Alan Shea

IndexMenu Plugin

IndexMenu allows you to insert a fully customizable index or a list of pages starting from a specified namespace.

Quick Syntax

:!: All the syntax options can be easily accessed with the indexmenu picker in the edit window toolbar.
Main Options
{{indexmenu>ns[#n] [ns1[#n] ns2[#n] …] | [js[#theme]] [tsort] … }}

Arguments inside “[]” parenthesis are optional. The # char is always required with related options.

Full syntax

Settings before the “|” separator:

Main Action Note
ns Main namespace name. Index starts from here. Syntax complies with DokuWiki namespaces paths..” refers to the namespace of the page containing the indexmenu syntax and not to the current DokuWiki namespace context 3) (see the context option for this feature). “..” or an empty value shows the root site namespace.
#n n is a number that specifies how many namespace levels to display open under the main namespace. If it's not defined then the whole tree, till the deeper node, will be open. If 0 or 1 it'll display only nodes under the main namespace. For example: “#2” will display “root:myns1:myns2” but will keep myns2 closed thus hiding “root:myns1:myns2:myns3”. Optional.
ns1[#n] ... nsn[#n] A list of optional namespaces inside the main namespace. Every namespace will be opened or closed at the specified n level. Syntax complies with DokuWiki namespaces. If n is not defined then all namespaces are open, if 0 they are closed. “.” refers to the namespace of the page containing the indexmenu syntax and not to the current DokuWiki namespace context 4) (see the context option for this feature). “..” or an empty value shows the root site namespace. Optional.

Optional settings after the “|” separator:

Option Action Note
js JavaScript render method: the index is an expandable tree menu. Without n, all nodes are open, with it, nodes are open till n level.
navbar The tree opens itself automatically at the current page namespace. Useful in a navigation sidebar. It works with or without js option. Without js option, the indexmenu page is never cached (just like the default DokuWiki index page) and the DokuWiki loading could be slower depending on the amount of child nodes displayed.
context Relative main namespace and optional namespaces will refer to the current DokuWiki namespace context 5) instead of to the namespace of the page containing the indexmenu syntax. Useful in a navigation sidebar. It works with or without js option. In both cases, the indexmenu page is never cached so the DokuWiki loading could be slower depending on the amount of child nodes displayed (In js mode, when a lot of nodes are usually displayed, the max option is recommended). It automatically enable the nocookie option.
tsort Sort (only) pages by title. Useful when useheading is on. By default namespaces are not sorted, you need the nsort option for this.
dsort Sort (only) pages by date creation (first the oldest). By default namespaces are not sorted, you need the nsort option for this.
msort[#meta] Sort (only) pages by a custom metadata information. Without the meta parameter, it looks for the custom sorting number specified with the {{indexmenu_n>N}} syntax (see the below metadata-tag-syntax). meta should refer to the data structure (Array values are managed through the “:” separator, for example: “msort#date:modified). By default, pages without metadata tag are sorted by page name (the default DokuWiki way), but you can override this behaviour adding also the tsort or dsort option in the indexmenu syntax. By default namespaces are not sorted, you need the nsort option for this.
rsort Reverse the sorting of pages. By default namespaces are not sorted, you need the nsort option for this.
nsort Sort also namespaces according to page sort options. To use in addition to the above sort options. tsort option will apply to headpages.
nons Exclude namespaces nodes from index. It shows only the pages. Without js, the closing n namespace option prevents to display nodes below the n namespace level.
nopg Exclude pages nodes from index. It shows only the namespaces.
max#n[#m] If initially closed, the node at n level will retrieve all its child nodes through the AJAX mechanism when opened for the first time. Optionally, the nodes after the n level can be retrieved with AJAX every m sublevels instead of in one go. It affects the server loading and speeds up the loading of pages in DokuWiki with an high amount of pages. It works only in js. Cookie are automatically disabled, just like with nocookie.
theme Theme name for indexmenu icons A theme is a set of icons inside images directory as described in theme-tutorial. Admins can download and share themes in admin panel. It works only in js
id#[random|n] Cookie ID for a js indexmenu where the previously opened/closed nodes by a user are stored. Useful when a page is uncached and you don't use the nocookie option because it forces the same cookie preventing un-useful cookies created every time a page is viewed by the user. By default is always random even when this option is not specified, but you can force it to be a n fixed number ( i.e id#20 ). Read the js-does-not-remember-its-previous-state section. ATTENTION: ID must be unique for every indexmenu in your DokuWiki site or you'll get strange js behaviors. It works only in js
maxjs#n It sets how many js tree levels to render when page loads. Remaining nodes are rendered (slightly slower) only when they are open by users, by optional namespaces option, by cookies or by navbar option. Default n is 1 so that it will speed up the page loading, above all with an high amount of pages. It affects only the user-client CPU speed, not the webserver load. It works only in js
nocookie Disable cookies. By default js indexmenu remember selected,open and closed nodes by user during navigation. With this option it doesn't remember them and the tree is blocked to its start status. It works only in js
noscroll Disable the JavaScript scrolling feature. It could solve visualization problems. It works only in js
notoc Disable the TOC-preview feature. It works only in js

Examples

A sample of an indexmenu JS index that could be used inside a navigation sidebar. Its initial status is blocked by the nocookie option, so, when the page is reloaded, it doesn't remember the open and closed nodes by the user.:

{{indexmenu>..#1|js navbar nocookie}}

JS navigation index with “thread” theme where nodes after the third level are retrieved with Ajax every 2 sublevels. Pages are sorted by title and custom sort number:

{{indexmenu>..#1|js#thread navbar max#3#2 tsort msort}}

Standard DokuWiki index showing only pages inside wiki:plugins and lower namespaces (max two levels):

{{indexmenu>:wiki:plugins#2|nons}}

Js tree showing pages and namespaces both sorted by reverse title. For example,if “archive” contains stuff (“news”,”oldnews“,etc) that you need to quickly organize by time, you could create numbered headpages for every namespace (i.e renaming “oldnews” in “news 2006”, “news” in “news 2010” and so on) and sort them from new to older:

{{indexmenu>:archive#1|js tsort nsort rsort}}

Standard index showing the tree of the current context 6) opened at the second level .

{{indexmenu>playground#2|context}}

Show all current namespace pages .

{{indexmenu>.:#1|context}}

JS tree showing all (and only) the namespaces of the “private” namespace sorted by date creation. “private” is relative and refers to the private namespace under the page containing the indexmenu syntax.

{{indexmenu>private|js nopg dsort}}

Metadata tag syntax

By default nodes on the same tree level are sorted by name (or by title/date if you use the tsort/dsort syntax), but you can also specify a custom sort number for every page inserting a metadata tag in the pages with this syntax:

{{indexmenu_n>N}}

Where N is a number. Then you need to use the “msort” option in your indexmenu tree syntax. If you have the show_sort option enabled in the Configuration Manager, a notice is displayed to admins (only) on every page with this metadata tag (the text defaults to “Indexmenu sort number: N”).

Examples:

You can change the order of this tree containing a mix of standard and useheading pages:

-Root
  |_don
  |_Mirror sessions         (headline title of the ":mirror" page)
  |_pachuco
  |_At the radar station    (headline title of the ":radar" page)
  |_van
  |_vliet

in this way:

{{indexmenu>..#1|msort}}
-Root
  |_vliet                   {{indexmenu_n>1}}
  |_van                     {{indexmenu_n>2}}
  |_don                     {{indexmenu_n>3}}
  |_Mirror sessions         (headline title of the ":mirror" page)
  |_pachuco
  |_At the radar station    (headline title of the ":radar" page)

Pages without sort number, like the last three pages, are sorted by page name as default, but you can force a different sort:

{{indexmenu>..#1|tsort msort}}
-Root
  |_vliet                   {{indexmenu_n>1}}
  |_van                     {{indexmenu_n>2}}
  |_don                     {{indexmenu_n>3}}
  |_At the radar station    (headline title of the ":radar" page)
  |_Mirror sessions         (headline title of the ":mirror" page)
  |_pachuco
2018/05/09 22:08 · Alan Shea

Math Publish Plugin

MathPublish plugin.

To toggle to the math mode, you must use the <m>...</m> tag. The math commands must be separated by a space character or surrounded by {}.

<m>x in bbR \ { 1; 2 }</m>

x in bbR \ { 1; 2 }

Example:

S(f)(t)=a_{0}+sum{n=1}{+infty}{a_{n} cos(n omega t)+b_{n} sin(n omega t)} delim{lbrace}{matrix{3}{1}{{3x-5y+z=0} {sqrt{2}x-7y+8z=0} {x-8y+9z=0}}}{ } delim{|}{{1/N} sum{n=1}{N}{gamma(u_n)} - 1/{2 pi} int{0}{2 pi}{gamma(t) dt}}{|} <= epsilon/3

Typical commands

  • x+y : x+y
  • x-y : x-y
  • x*y : x*y
  • x/y : x/y
  • x^y : x^y
  • x_y : x_y
  • x<>y : x<>y
  • x>y : x>y
  • x>=y : x>=y
  • x<y : x<y
  • x⇐y : x⇐y
  • (x) : (x)
  • {x} : {x}

Space

a~b : a~b

Greek:

  • alpha : alpha
  • beta : beta
  • gamma : gamma
  • delta : delta
  • epsilon : epsilon
  • varepsilon : varepsilon
  • zeta : zeta
  • eta : eta
  • theta : theta
  • vartheta : vartheta
  • iota : iota
  • kappa : kappa
  • lambda : lambda
  • mu : mu
  • nu : nu
  • xi : xi
  • pi : pi
  • varpi : varpi
  • rho : rho
  • varrho : varrho
  • sigma : sigma
  • varsigma : varsigma
  • tau : tau
  • upsilon : upsilon
  • phi : phi
  • varphi : varphi
  • chi : chi
  • psi : psi
  • omega : omega
  • Gamma : Gamma
  • Lambda : Lambda
  • Sigma : Sigma
  • Psi : Psi
  • Delta : Delta
  • Xi : Xi
  • Upsilon : Upsilon
  • Omega : Omega
  • Theta : Theta
  • Pi : Pi
  • Phi : Phi

Symbols:

  • infty : infty
  • in : in
  • notin : notin
  • forall : forall
  • exists : exists
  • notexists : notexists
  • partial : partial
  • approx : approx
  • pm : pm
  • inter : inter
  • union : union
  • ortho : ortho
  • parallel : parallel
  • backslash : backslash
  • prime : prime
  • wedge : wedge
  • vert : vert
  • lbrace : {
  • rbrace : }
  • circ : circ
  • varnothing : varnothing
  • subset : subset
  • notsubset : notsubset
  • cdots : cdots
  • vdots : vdots
  • ddots : ddots

Arrows:

  • left : left
  • right : right
  • leftright : leftright
  • doubleleft : doubleleft
  • doubleright : doubleright
  • doubleleftright : doubleleftright
  • nearrow : nearrow
  • searrow : searrow

Sets:

  • bbR : bbR
  • bbN : bbN
  • bbZ : bbZ
  • bbC : bbC

Roots and Limits:

  • sqrt{a} : sqrt{a}
  • root{n}{a} : root{n}{a}
  • lim{a}{x} : lim{a}{x}

Big Operators:

  • int{a}{b}{x} : int{a}{b}{x}
  • doubleint{a}{b}{x} : doubleint{a}{b}{x}
  • tripleint{a}{b}{x} : tripleint{a}{b}{x}
  • oint{a}{b}{x} : oint{a}{b}{x}
  • sum{a}{b}{x} : sum{a}{b}{x}
  • prod{a}{b}{x} : prod{a}{b}{x}
  • bigcup{a}{b}{x} : bigcup{a}{b}{x}
  • bigcap{a}{b}{x} : bigcap{a}{b}{x}

Delimiters:

  • delim{[}{x}{]} : delim{[}{x}{]}
  • delim{]}{x}{]} : delim{]}{x}{]}
  • delim{[}{x}{[} : delim{[}{x}{[}
  • delim{]}{x}{[} : delim{]}{x}{[}
  • delim{lbrace}{x}{rbrace} : delim{lbrace}{x}{rbrace}
  • delim{|}{x}{|} : delim{|}{x}{|}
  • delim{vert}{x}{vert} : delim{vert}{x}{vert}

Matrix:

Syntax : matrix{num of lines}{num of columns}{first_element … last_element}

  • matrix{2}{3}{a b c d e f g} : matrix{2}{3}{a b c d e f g}

Tabular:

Syntax : tabular{lines description}{columns description}{first_element … last_element}

  • lines : sequence of 1 (draw the horizontal line) or 0 (don't draw the horizontal line) - the length of the sequence=num of lines+1
  • columns : sequence of 1 (draw the vertical line) or 0 (don't draw the vertical line) - the length of the sequence=num of columns+1
  • tabular{111}{1111}{a b c d e f g} : tabular{111}{1111}{a b c d e f g}
  • tabular{1001}{101}{1 2 3 4 5 6} : tabular{1001}{101}{1 2 3 4 5 6}

Constructions:

  • vec{express} : vec{express}
  • {express}under{foo} : {express}under{foo}
  • {express}over{foo} : {express}over{foo}
  • overline{express} : overline{express}
  • underline{express} : underline{express}
  • hat{express} : hat{express}
2018/05/09 22:09 · Alan Shea

Pagelist Plugin

The Pagelist Plugin – as its name says – lists wiki pages in a nice way.

Syntax

Just wrap a regular unordered list of internal links with the <pagelist> tag:

<pagelist&[flags]>
  * [[..:blog:|Blog Plugin]]
  * [[..:discussion:|Discussion Plugin]]
  * [[..:editor:|Editor Plugin]]
  * [[..:tag:|Tag Plugin]]
  * [[..:wrap|Wrap Plugin|This is shown in the description cell]]
</pagelist>
[flags] flags can be used to alter the appearance of the pagelist, see flags optional

Flags

Setting Default Alternative
style default table with horizontal lines table, list or simplelist standard DokuWiki table or list style
showheader noheader hide the heading row of the pagelist table header show the header
showdate date show the creation or last modification date nodate hide the date
showuser user show creator or contributors nouser hide the user
showdesc nodesc hide the description desc show the description (from metadata)
showcomments nocomments hide the number of comments comments show the number of comments (if Discussion Plugin is installed)
showtags notags hide the tags tags show the tags (if Tag Plugin is installed)
showfirsthl firsthl show the first headline nofirsthl show the page name
rsort/sort nosort no sortation of pages rsort/sort sorts the pages (reverse) alphabetically by pagename

Example

<pagelist&header&comments>
...
</pagelist>

This will show a list of pages with a header line and a comments column (if the Discussion Plugin is installed).

Configuration

The plugin can be configured using the DokuWiki configuration manager available in the admin menu. The settings also apply to plugins which use the helper component of the pagelist plugin, like for example the archive component of the plugin:blog plugin.

style List style (default, list, table)
showheader Show table header
showdate Shows/hides the date column (hide, creation date, modification date)
showuser Shows/hides the user column (hide, creator, contributors)
showdesc Shows/hides a short description taken from the first paragraph of a page (hide, max. 160 characters, max. 500 characters)
showcomments Shows/hides comments of a page (requires the plugin:discussion plugin)
showlinkbacks Shows/hides linkbacks of a page (requires the linkback plugin)
showtags Shows/hides tags of a page (requires the plugin:tag plugin)
sort Sorts the pages alphabetically by pagename
2018/05/09 22:11 · Alan Shea

Redirector Plugin

The pageredirector plugin allows you to redirect users between pages and namespaces by adding a particular pattern to a page.

A simple code redirects to another page:

~~REDIRECT>namespace:page~~

You can also use this syntax since 20120612 version:

#REDIRECT namespace:page
2018/05/09 22:11 · Alan Shea

tablecalc plugin

Overview

Sometimes one may need to do simple calculations in DokuWiki table. The idea was taken from plugin:tablemath plugin, but conception changed a little bit. With the help of the plugin:tablecalc plugin you would be able to insert Excel styles formulas into the table

Download and Installation

Download and install the plugin using the Plugin Manager using the following URL. Refer to :Plugins on how to install plugins manually.

Syntax

To perform a calculation you need to insert XL-style formula into work sheet. Any expression must be started with ~~= and finished by ~~. You can use direct range specification for functions (like XL does) or a special range() function. The range consists of a reference to the start cell and to the finish cell, like this:

r0c4

Please note, that row (r) and column (c) index starts from zero. Row and column prefixes can be swapped. The following is equal of the above:

c4r0

You can also reference to multiple cells in one range:

|r0c0:r1c1||

Furthermore you can use multiple ranges:

r0c0:r1c1,r0c3:r1c4

There is a recommendation not to use references for non-existing cells. For example, this is not correct (though it will work, returning “3”):

| 1 |
| 2 |
| ~~=sum(r0c0:r99c99)~~ |

Instead use constructions like this:

| 1 |
| 2 |
| ~~=sum(range(0,0,col(),row()-1))~~ |

Functions

The following functions are implemented:

x = column, y = row

Func Description
cell(x,y) Returns numeric value of (x,y) cell
row() Returns current row
col() Returns current column
range(x1,y1,x2,y2) Returns internal range for other functions
sum(range) Returns sum of the specified range
count(range) Returns number of elements in the specified range
round(number;decimals) Returns number, rounded to specified decimals
label(string) Binds label to the table
average(range) Returns average of the specified range
min(range) Returns minimum value within specified range
max(range) Returns minimum value within specified range
check(condition;true;false) Executes true statement, if condition is not zero
compare(a;b;operation) Do math compare for a and b. Returns zero when conditions for the operation are not met
calc() FIXME

Though you can use colon as delimiter in functions semi-colon is preferred and recommended.

Operators

Most of the standard Javascript arithmetic operators are supported but some 7) conflict with the table markup so the following operators are available:

Operator Description
+ Addition and unary plus
- Subtraction and unary negative
* Multiplication
/ Division
% Modulus (division remainder)
& Logical AND
<< Shift left
>> Shift right

Examples

I

| 1 | 2 | ~~=r0c0+r0c1~~ | ~~=10.2+1.5~~ |
1 2 3 11.7

II

| 1 | 2 |
| 3 | 4 |
| ~~=sum(r0c0:r1c1)~~ ||
1 2
3 4
10

III

| 1 | 2 | 3 | 4 |
| 5 | 6 | 7 | 8 |
| **~~=sum(r0c0:r1c1,r0c3:r1c4)~~** ||||
1 2 3 4
5 6 7 8
26

IV

|1|
|2|
|3|   
|4|   
|5.74|
|6|
|7|   
|8|   
|9|   
|10|    
|11|   
|~~=sum(range(col(),0,col(),row()-1))~~|
1
2
3
4
5.74
6
7
8
9
10
11
65.74

V

|1|
|2|
|3|   
|4|   
|5|
|6|
|7|   
|8|   
|9|   
|10|    
|~~=average(range(col(),0,col(),row()-1))~~|
1
2
3
4
5
6
7
8
9
10
5.5

VI

| ~~=label(ex6_1)~~1 | 2 |
| 3 | 4 |

Sum: **~~=sum(ex6_1.c0r0:c99r99)~~**
1 2
3 4

Sum: 10

VII

| **~~=label(ex7_1)~~11** | ~~=sum(ex7_2.c0r0:c99r99)~~ |
| 13 | 14 |

| ~~=label(ex7_2)~~1 | 2 |
| 3 | 4 |

Sum: **~~=sum(ex7_1.c0r0:c1r1)~~**
11 10
13 14
1 2
3 4

Sum: 48

VIII

| **~~=min(c0r1:c0r3)~~** | **~~=max(c1r1:c1r3)~~** |
| 1 | 7 |
| 2 | 8 |
| 3 | 9 |

~~=calc()~~
1 9
1 7
2 8
3 9

IX

| 1 | ~~=check(cell(0,row()),#True,#False)~~ |
| 0 | ~~=check(cell(0,row()),#True,#False)~~ |
| x | ~~=check(cell(0,row()),#True,#False)~~ |
|   | ~~=check(cell(0,row()),#True,#False)~~ |
| **** | ~~=check(cell(0,row()),#True,#False)~~ |
1 True
0 False
x False
False
False

X

| 1 | 2 | 1=2 | ~~=check(compare(cell(0,row()),cell(1,row()),#=),#True,#False)~~ |
| 3 | 3 | 3=3 | ~~=check(compare(cell(0,row()),cell(1,row()),#=),#True,#False)~~ |
| 4 | 5 | 4<5 | ~~=check(compare(cell(0,row()),cell(1,row()),#<),#True,#False)~~ |
| 6 | 7 | 6>7 | ~~=check(compare(cell(0,row()),cell(1,row()),#>),#True,#False)~~ |
| 8 | 9 | 8>9 | ~~=check(compare(cell(0,row()),cell(1,row()),#>),#True,#False)~~ |
| 10 | 10 | 10≥10 | ~~=check(compare(cell(0,row()),cell(1,row()),#>=),#True,#False)~~ |
| 11 | 11 | 11≤11 | ~~=check(compare(cell(0,row()),cell(1,row()),#>=),#True,#False)~~ |
| 12 | 12 | 12≠12 | ~~=check(compare(cell(0,row()),cell(1,row()),#!=),#True,#False)~~ |
1 2 1=2 False
3 3 3=3 True
4 5 4<5 True
6 7 6>7 False
8 9 8>9 False
10 10 10≥10 True
11 11 11≤11 True
12 12 12≠12 False

XI

Operator Equation Result
+ ~~= 3 + 2 ~~ 5
- ~~= 3 - 2 ~~ 1
* ~~= 3 * 2 ~~ 6
/ ~~= 6 / 2 ~~ 3
% ~~= 7 % 2 ~~ 1
unary + ~~= +2 ~~ 2
unary - ~~= -2 ~~ -2
& ~~= 3 & 2 ~~ 2
<< ~~= 2 << 7 ~~ 256
>> ~~= 8 >> 2 ~~ 2

ChangeLog

14.04.2010

  • Added labels and cross-table references
  • Added cross-table resolver and forward calculations
  • Added min(),max() and average() functions
  • Added ability to use semi-colon as a function parameters separator
  • Added compare functions
  • Added string escaping (#)
  • Fixed javascript/CPU float point calculation bug
  • Fixed invalid HTML ID's usage</todo>

07.09.2009

  • Initial release

Discussion

col() returns wrong number if the preceeding cells in the same row use colswap, eg:

| A | B | ~~=col()~~ | 
| C    || ~~=col()~~ |

gives:

A B 2
C 1

Michał Sacharewicz 2012/01/11


Is it possible to make math calculations (like multiplication)… So that to add the VAT to the price for example. for or sthg similiar… Vandra Ákos 08/31/2011
very nice indeed, I need to borrow your syntax a bit, so I don't need to use ~~tm: James Lin08/09/2009
Some coding advice: You're working with a blacklist to avoid script inclusion, a whitelist might be more secure. You're using the output of rand() as a HTML ID. Numbers alone are not allowed as IDs in XHTML, you should prefix them with your plugin name. Also have a look at using_idsAndreas Gohr 2009/09/09 15:42
The plugin definitely needs max/min and conditional functions and/or :)
Fixed all of the above — Gryaznov Sergey 2010/04/14

Can you add support for comma as decimal separator? madenate 2010/06/25

I would appreciate this, too. (Nice work, though!) — Christian 2010/09/29

Also, it would be nice if the round() function could use the exact number of specified decimal places, even if these would be zero. See the following image as a sample why it would probably look better:

Table example with round() function applied to columns 3 to 6

Christian 2010/09/29

There's problem when preceeding column to calculation contains markup, it goes bezerk:
^ Date       ^ Description         ^ Hours (Decimal) ^
| 2008-08-29 | xx                  |   6.5  |
| 2008-08-30 | xxx                 |   1.5  |
| 2008-09-03 | xxxx                |  -4.00  | 
| 2008-09-03 | [[:config]] yea |  -4.00  | 
^            ^                     ^  ~~=sum(range(1,0,col(),row()-1))~~  ^

Workaround is to avoid any markup in preceeding columns, i.e in this sample swap Description and Hours columns

glen 2010/12/08 14:04

Bug report

Plugin creates no output

None of the formulas outputs results for me (on Anteater). Any known conflicts with other plug-ins?

mubed 2012/05/30 14:28

2018/05/09 22:12 · Alan Shea

Examples for the Wrap Plugin

Basic syntax

An uppercase <WRAP> (or alternatively <block> or <div>) creates a div and should be used for “big” containers, surrounding paragraphs, lists, tables, etc.

<WRAP classes width :language>
"big" content
</WRAP>

or
<block classes width :language>
"big" content
</block>

or
<div classes width :language>
"big" content
</div>

A lowercase <wrap> (or alternatively <inline> or <span>) creates a span and should be used for “small” containers, inside paragraphs, lists, tables, etc.

<wrap classes width :language>"small" content</wrap>

or
<inline classes width :language>"small" content</inline>

or
<span classes width :language>"small" content</span>

:!: Please note, some things won't work with lowercase spans:

  • alignments (including alignments generated by changing the text direction)
  • multi-columns
  • and widths

if the according wrap isn't floated as well.

Classes and Styles

Columns and Floats

You can have columns easily by adding the class column and a width, e.g.

<WRAP column 30%>...content...</WRAP>

Emulated Big Headline

You can emulate a big headline with italic, bold and underlined text, e.g.

//**__Emulated Big Headline__**//

Emulated Small Headline

A smaller headline uses no underlining, e.g.

//**Emulated Small Headline**//

If you need text that is bold and italic, simply use it the other way around:

**//No Headline//**

Different Floating Options

Normally you would only need the class column, but for more sophisticated uses (not only for columns, but for any other classes, like boxes and notes as well) you can have several kinds of “floats”:

  • column is the same as left in LTR languages and the same as right in RTL languages
  • left will let you float your wrap on the left
  • right will let the wrap float right
  • center will position the wrap in the horizontal center of the page

Widths

You can set any valid widths (but only on divs): %, px, em, ex, pt, pc, cm, mm, in, but most of the time you'd only want either

typee.g.note
%30%makes sense in a liquid layout
px420pxmakes sense if your layout has a fixed pixel width or if your container contains images with a certain width
em20emmakes sense if you like your wrap container to grow and shrink with the font size or if your layout is em-based

A table inside a column or box will always be 100% wide. This makes positioning and sizing tables possible.

After using any of the float classes, you might come across something like this, where the following text protrudes into the space where only the floating containers should be …

… to prevent that, you should simply add

<WRAP clear></WRAP>

after your last column.

You can use the same options with spans (as each element that floats is automatically a block level element), but it probably doesn't make too much sense. :!: Widths on spans normally do not work (by design), but can make sense, when it is floating.

:!: Attention: Widths can cause problems and will often look different and break in some browsers. If you're not a web developer, you might not understand any problems regarding the box model. Just try to test your columns in all major browsers and make your widths smaller than you initially think they should be.

All of those options will also work in the boxes and notes wraps (see below).

Multi-columns

For modern browsers (Firefox, Chrome and Safari) you can use multi-columns. Just use col2 for 2 columns, col3 for 3 columns, col4 for 4 columns and col5 for 5 columns.

:!: Note: Multi-columns don't make sense for spans.

Alignments

You can use these different text alignments:

  • leftalign
  • rightalign
  • centeralign
  • justify

Center aligned text …

… and right aligned.

<WRAP centeralign>
Center aligned text ...
</WRAP>

<WRAP rightalign>
... and right aligned.
</WRAP>

:!: You cannot add alignments to spans.

Boxes and Notes

round box 570px center

  • box creates a box around the container and uses the colours from the template's style.ini as default colours (__background_alt__ and __text__)
  • any of the classes info, tip, important, alert, help, download, todo will add a special note container with a corresponding icon
  • the classes danger, warning, caution, notice, safety use safety colours (and no icons)
  • round can be added to anything with a background colour or a border and will only work in modern browsers (no Internet Explorer)

Info

<WRAP info></WRAP>

Tip

<WRAP tip></WRAP>

Important

<WRAP important></WRAP>

Alert

<WRAP alert></WRAP>

Help

<WRAP round help></WRAP>

Download

<WRAP download></WRAP>

Todo

<WRAP todo></WRAP>

Safety Notes:

Danger

<WRAP danger></WRAP>

Warning

<WRAP warning></WRAP>

Caution

<WRAP caution></WRAP>

Notice

<WRAP round notice></WRAP>

Safety

<WRAP round safety></WRAP>

You can use notes and boxes also inside text with spans like this: info, help, alert, important, tip, download, todo and round box and danger, warning, caution, notice, safety.

<wrap info>info</wrap>, <wrap help>help</wrap>, ...

Marks

You can mark text as highlighted, less significant and especially emphasised.

You can mark text as <wrap hi>highlighted</wrap>, <wrap lo>less significant</wrap> and <wrap em>especially emphasised</wrap>.

:!: This might look ugly in some templates and should be adjusted accordingly.

Miscellaneous

Indent

This text will appear indented.

<wrap indent>This text will appear indented.</wrap>

Outdent

This text will appear “outdented”.

<wrap outdent>This text will appear "outdented".</wrap>

Prewrap

Inside this code block the words will wrap to a new line although they are all in one line.
<WRAP prewrap 250px>
<code>
Inside this code block the words will wrap to a new line although they are all in one line.
</code>
</WRAP>

Spoiler

Here follows a spoiler: Darth Vader is Luke's father.

Here follows a spoiler: <wrap spoiler>Darth Vader is Luke's father.</wrap>

Just select the text in the spoiler box to be able to read its content.

Hide

The following text is hidden: John, please revise that sentence.

The following text is hidden: <wrap hide>John, please revise that sentence.</wrap>

:!: Warning: The text will still appear in the source code, in non-modern browsers and is searchable. Do not hide any security risky secrets with it!

Pagebreak

The following will add a pagebreak:

The following will add a pagebreak: <WRAP pagebreak></WRAP>

This has no effect on the browser screen. A pagebreak will force a new page in printouts.

Nopagebreak

The following will try to avoid a pagebreak:

much content, belonging together (like a long table)

The following will try to avoid a pagebreak: <WRAP nopagebreak>much content, belonging together (like a long table)</WRAP>

This also has no effect on the browser screen. It will try to avoid a page break in printouts.

Noprint

This text appears on the screen, but not in print.

<wrap noprint>This text appears on the screen, but not in print.</wrap>

Onlyprint

This text does not appear on the screen, but only in print.

<wrap onlyprint>This text does not appear on the screen, but only in print.</wrap>

Typography

I advice against using the following typography classes. It's better to create semantic classes that reflect their meaning instead.

  • font family: sansserif, serif, monospace
  • font size: bigger, muchbigger, smaller
  • font colour: fgred, fggreen, fgblue, fgcyan, fgviolet, fgyellow, fggrey, fgwhite, fgblack
  • background colour: bgred, bggreen, bgblue, bgcyan, bgviolet, bgyellow, bggrey, bgwhite, bgblack

Combining and Nesting

You can combine and nest all classes and types of boxes, e.g.

Outer green box floats right

Inner nested box floats left and is partly emphasized and highlighted with nested bigger text inside.

Text inside outer right box, but beneath inner left box.

Round tip box underneath, after a clear.

<WRAP box bggreen fgblack 350px right :en>
//**__Outer green box floats right__**//

<WRAP 165px left>
Inner nested box floats left and is partly <wrap em hi>__em__phasized and __hi__ghlighted with nested <wrap bigger>__bigger__ text</wrap> inside</wrap>.
</WRAP>

Text inside outer right box, but beneath inner left box.

<WRAP clear></WRAP>

<WRAP round tip>
Round tip box underneath, after a ''clear''.
</WRAP>

</WRAP>

Language and Text Direction

You can change the language and the reading direction of a wrap container by simply adding a colon followed by the language code, like this:

<WRAP :he>
זה עברית. ((<wrap :en>This means "This is Hebrew.", at least according to [[http://translate.google.com/|Google Translate]].</wrap>))
</WRAP>

זה עברית. 8)

The text direction (rtl, right to left or ltr, left to right) will get inserted automatically and is solely dependent on the language. The list of currently supported languages is taken from: http://meta.wikimedia.org/wiki/Template:List_of_language_names_ordered_by_code (If you specify a language not listed there, it simply won't do anything.)

2018/05/09 22:14 · Alan Shea
1)
relative to your dokuwiki root
2)
This feature is based on a custom branch of the PrettyPhoto library
3) , 4) , 5) , 6)
the namespace of the page displayed by a user who is navigating your site
7)
The conflicting operators are: ^ | ~
8)
This means “This is Hebrew.”, at least according to Google Translate.