# DesignWIKI

Fil Salustri's Design Site

# COLLECTIONS

2015.01.09 11:13
wiki:wrap_plugin_examples

PLEASE NOTE: This page is not of my design, but came with the wrap plugin. It is very useful as a cheatsheet for using this very powerful plugin.

## Available ''WRAP'' Classes

class namedescription/notes
columns – similar to columns, side_note, styler, tip
column same as left in LTR languages and same as right in RTL languages
left same as column, will let you float your container on the left
right will let the container float right
center will position the container in the horizontal center of the page
col2..col5 will show the text in multiple columns (2, 3, 4 or 5), only works in modern browsers (Firefox, Chrome and Safari)
alignments – similar to divalign, columns, styler don't work with spans!
leftalign aligns text on the left
rightalign aligns text on the right
centeralign centers the text
justify justifies the text
boxes and notes – similar to box, note, tip
box creates a box around the container (uses colours from style.ini)
info (was information in first version) creates a blue box with an info icon
important creates an orange box with an important icon
alert ( was warning in previous versions) creates a red box with a alert icon
tip creates a yellow box with a tip icon
help creates a violet box with a help icon
todo creates a cyan box with an todo icon
download creates a green box with a download icon
round adds rounded corners to any container with a background colour or a border (only works in modern browsers, i.e. no IE)
danger creates a red danger safety note
warning creates an orange warning safety note
caution creates a yellow caution safety note
notice creates a blue notice safety note
safety creates a green safety note
marks – similar to hilited, emphasis, important_paragraf, important_text
hi marks text as highlighted
lo marks text as less significant
em marks text as especially emphasised
miscellaneous
clear similar to clearfloat, should preferably be used with divs, i.e. uppercase <WRAP>s
tabs if wrapped around a list of links, will show those as tabs
hide hides the text per CSS (the text will still appear in the source code, in non-modern browsers and is searchable)
noprint displays text on the screen, but not in print, similar to noprint
onlyprint displays text only in print, but not on the screen
pagebreak forces a new page in printouts (not visible on the screen), similar to pagebreak
nopagebreak tries to avoid a pagebreak in printouts (not visible on the screen)
spoiler shows white text on a white background, only to be revealed by highlighting it; similar to hide
button when wrapped around a link, styles it like a button
indent indents the text, could be used instead of tab
outdent “outdents” the text, could partly be used instead of outdent
prewrap wraps text inside pre-formatted code blocks, similar to wpre

All tables inside a column or box will always be 100% wide. This makes positioning and sizing tables possible and partly replaces tablewidth.

### Known restrictions

• WRAPs won't export in ODT format
• The PNG icons for the various notes have an alpha transparency which will look ugly in IE6.
• Round corners only work in modern browsers (no IE).
• Multiple columns only work in Firefox, Chrome and Safari.
• After an opening <WRAP> there is one empty line needed before the content, or else there won't be any paragraph, which might lead to unexpected results. (Wraps without a visible content don't need any additional empty lines, e.g. clear or hide.) This was fixed in the latest version (2010-11-20) if used with Anteater.
• Normal DokuWiki Headlines won't work should inside any plugin syntax, but are experimental. As a work-around you can use the following two emulated headlines inside any of the columns or boxes/notes:
• //**__Big Underlined Headline__**// (They will look a bit different in safety notes.)

You probably need to adjust a few of the classes to your template's needs, especially hi, lo and em if you have a dark or otherwise heavily coloured theme.

The classes are easily adjustable and extensible.

## 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>

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

//**__Emulated Big 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>

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>

<WRAP alert></WRAP>

Help

<WRAP round help></WRAP>

<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.

#### Tabs

You can create simple tabs structure with this:

<WRAP tabs>
* [[design:start|Design]]
* [[mec325:start|MEC325]]
* [[bib:start|Bibliographies]]
</WRAP>

#### 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.

##### Button

A link that looks like a button:

A link that looks like a button: <wrap button>[[wiki:Syntax]]</wrap>
##### 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>

#### 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 clear.

<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.)

1)
This means “This is Hebrew.”, at least according to Google Translate.