Examples for the Wrap Plugin
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 #id width :language> "big" content </WRAP> or <block classes #id width :language> "big" content </block> or <div classes #id 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 #id width :language>"small" content</wrap> or <inline classes #id width :language>"small" content</inline> or <span classes #id width :language>"small" content</span>
:!: Please note, some things won't work with lowercase spans:
- alignments (including alignments generated by changing the text direction)
- 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:
:!: Note: Standard DokuWiki headlines are experimental and might not work as expected under all circumstances.
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”:
columnis the same as
leftin LTR languages and the same as
rightin RTL languages
leftwill let you float your wrap on the left
rightwill let the wrap float right
centerwill position the wrap in the horizontal center of the page
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
|makes sense in most cases|
|makes sense if your container contains images with a certain width|
|makes sense if you like your wrap container to grow and shrink with the font size|
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
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).
Automatically sized and responsive columns
With certain width keywords you can fit your columns automatically to fill the available horizontal space. Those columns will also react to the screen size, so will be responsive and wrap underneath each other on mobile devices.
There are three width keywords. These should not be combined with any other width.
halffits two columns in a row
thirdfits three columns in a row
quarterfits four columns in a row
This one uses
<WRAP half column>
But you can also combine that with any of the boxes and notes, e.g.
<WRAP half round box column>.
:!: Attention: This feature is experimental and might not always work as expected. It also doesn't work in IE8 and below.
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.
You can use these different text alignments:
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
boxcreates a box around the container and uses the colours from the template's
style.inias default colours (
- any of the classes
todowill add a special note container with a corresponding icon
- the classes
safetyuse safety colours (and no icons)
roundcan be added to anything with a background colour or a border and will only work in modern browsers (no Internet Explorer)
<WRAP round help></WRAP>
<WRAP round notice></WRAP>
<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>, ...
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.
You can create a row of tabs by simply wrapping a list of links in
<WRAP tabs> * [[Some page]] * [[example|This page]] * [[Another page]] </WRAP>
:!: Please note, the styling of these tabs depend on the template you are using and not on the wrap plugin. If you only see a list of links and no tabs, please make sure to add “tabs” to the
noPrefix config option and that your template supports at least the 2012-01-25 “Angua” DokuWiki release.
This text will appear indented.
<wrap indent>This text will appear indented.</wrap>
This text will appear “outdented”.
<wrap outdent>This text will appear "outdented".</wrap>
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>
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.
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!
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.
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.
<wrap noprint>This text appears on the screen, but not in print.</wrap>
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>
Combining and Nesting
You can combine and nest all classes and types of boxes, e.g.
Outer box floats right
Inner nested box floats left and is partly emphasized and highlighted with a nested notice inside.
Text inside outer right box, but beneath inner left box.
Round tip box underneath, after a
<WRAP box 350px right :en> //**__Outer box floats right__**// <WRAP 165px left> Inner nested box floats left and is partly <wrap em hi>__em__phasized and __hi__ghlighted with a nested <wrap notice>__notice__</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>
זה עברית. 1)
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.)