summaryrefslogtreecommitdiff
path: root/platform/www/lib/plugins/wrap/example.txt
blob: c0e20c86462f1b8d3df909d5090593e041a50e42 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
====== 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.

<code>
<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>
</code>

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

<code>
<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>
</code>

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

A shorthand of uppercase **%%<WRAP />%%** and lowercase **%%<wrap />%%** are available if the container is empty or unnecessary.

<code>
<WRAP classes #id />
or
<block classes #id />
or
<div classes #id />
</code>

and
<code>
<wrap classes #id />
or
<inline classes #id />
or
<span classes #id />
</code>

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

The example below uses the following structure:

<code>
<WRAP group>

<WRAP third column>...content...</WRAP>
<WRAP third column>...content...</WRAP>
<WRAP third column>...content...</WRAP>

</WRAP>
</code>


<WRAP group>
<WRAP third column>
=== 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
</WRAP>

<WRAP third column>
=== Widths ===

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

^type^e.g.^note^
^''%''|''30%''|makes sense in most cases|
^''px''|''420px''|makes sense if your container contains images with a certain width|
^''em''|''20em''|makes sense if you like your wrap container to grow and shrink with the font size|

</WRAP>
<WRAP third column>
=== Width Keywords ===

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 four width keywords. These should not be combined with any other width, only ''third'' can be combined with ''twothirds''.

  * **''half''** fits two columns in a row
  * **''third''** fits three columns in a row
  * **''quarter''** fits four columns in a row
  * **''twothirds''** together with ''third'' fits a 2/3 and a 1/3 column in a row

:!: Attention: In order to work properly, wraps with width keywords need an **additional ''%%<WRAP group>%%'' around a set** of them. If you mix several types in one group, you might need a ''%%<WRAP clear/>%%'' after a row.

</WRAP>

</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: What is the difference between widths and width keywords and when is it best to use which? **Widths** can cause problems and will never fully add up, therefore will break the layout under some circumstances. (See [[http://en.wikipedia.org/wiki/Internet_Explorer_box_model_bug|box model]] for a technical explanation.) So, getting widths right will need some fiddling around and testing in various browsers. **Width keywords** on the other hand fit automatically and work better on mobile devices. But the drawback is that they need an extra wrap around them and don't work properly in older browsers (IE8 and under).

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

=== Old Emulated Headline (deprecated) ===

When the ''emulatedHeadlines'' config option is enabled, every ''%%//**__text like this__**//%%'' or ''%%//**like that**//%%'' will create an "emulated headline" within a wrap. This feature is deprecated and will be removed at some point as standard headlines within wraps are supported for a while now.

If that config options is enabled and you need text that is bold and italic, simply use it the other way around: ''%%**//No Headline//**%%''.


=== Multi-columns ===

<WRAP colmedium>
Multi-columns work best in modern browsers (no IE9 and below) but should still be considered experimental as some browser behaviour is still inconsistent and buggy.

Just use **''%%colsmall%%''** for small width columns, **''%%colmedium%%''** for medium width columns and **''%%collarge%%''** for large width columns.
Or you can use **''%%col2%%''** for 2 columns, **''%%col3%%''** for 3 columns, **''%%col4%%''** for 4 columns and **''%%col5%%''** for 5 columns.
The former type of column is determined by its width, the latter by its amount. The width-based columns are ideal for different layouts and device widths.

:!: Note: Multi-columns don't make sense for spans.
</WRAP>

Don't use this for bigger columns containing more than just text. Use the [[#columns and floats]] mentioned above instead.


==== Alignments ====

You can use these different text alignments:

  * ''leftalign''
  * ''rightalign''
  * ''centeralign''
  * ''justify''

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

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

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

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

:!: You cannot add alignments to spans.


==== Boxes and Notes ====

<WRAP round box 500px center>
=== round box 500px 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 IE8 and under)
</WRAP>


<WRAP info 300px left>
=== Info ===
%%<WRAP info></WRAP>%%
</WRAP>


<WRAP tip 300px left>
=== Tip ===
%%<WRAP tip></WRAP>%%
</WRAP>


<WRAP important 300px left>
=== Important ===
%%<WRAP important></WRAP>%%
</WRAP>


<WRAP alert 300px left>
=== Alert ===
%%<WRAP alert></WRAP>%%
</WRAP>


<WRAP round help 300px left>
=== Help ===
%%<WRAP round help></WRAP>%%
</WRAP>


<WRAP download 300px left>
=== Download ===
%%<WRAP download></WRAP>%%
</WRAP>


<WRAP todo 300px left>
=== Todo ===
%%<WRAP todo></WRAP>%%
</WRAP>


<WRAP clear />


**Safety Notes:**

Best only use simple markup in safety notes.

<WRAP danger 30% left>
=== Danger ===
%%<WRAP danger></WRAP>%%
</WRAP>

<WRAP warning 30% left>
=== Warning ===
%%<WRAP warning></WRAP>%%
</WRAP>

<WRAP caution 30% left>
=== Caution ===
%%<WRAP caution></WRAP>%%
</WRAP>

<WRAP round notice 30% left>
=== Notice ===
%%<WRAP round notice></WRAP>%%
</WRAP>

<WRAP round safety 30% left>
=== Safety ===
%%<WRAP round safety></WRAP>%%
</WRAP>

<WRAP clear />


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

==== Marks ====

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

  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 a row of tabs by simply wrapping a list of links in ''%%<WRAP tabs></WRAP>%%''.

<WRAP tabs>
  * [[Some page]]
  * [[example|This page]]
  * [[Another page]]
</WRAP>

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

==== Miscellaneous ====

=== Clear float ===

After using any of the float classes, you might come across following text protruding into the space where only the floating containers should be. To prevent that, you should simply add this after your last column:

  <WRAP clear />

=== Table width ===

You can set the width of a table via ''tablewidth'' as every table inside that wrap will always be 100% wide. This makes it possible to give tables any width by adding an additional width to the wrap (or none for 100%).

<WRAP tablewidth 80%>
^ Table ^ is ^
| 80% | wide |
</WRAP>

  <WRAP tablewidth 80%>
  ^ Table ^ is ^
  | 80% | wide |
  </WRAP>

=== Indent ===

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

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

=== Outdent ===

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

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

=== Prewrap ===

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

  <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: <wrap spoiler>Darth Vader is Luke's father.</wrap>

  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 links ===

A link that looks like a button: <wrap button>[[wiki:Syntax]]</wrap>

  A link that looks like a button: <wrap button>[[wiki:Syntax]]</wrap>

=== Hide ===

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

  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: <WRAP pagebreak />

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

This has no effect on the browser screen. A [[http://reference.sitepoint.com/css/page-break-after|pagebreak]] will force a new page in printouts.

=== Nopagebreak ===

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

  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 [[http://reference.sitepoint.com/css/page-break-inside|avoid a page break]] in printouts.

=== Noprint ===

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

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

=== Onlyprint ===

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

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

<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 round tip>
Round tip box underneath, after a ''clear''.
</WRAP>

</WRAP>


<code>
<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 round tip>
Round tip box underneath, after a ''clear''.
</WRAP>

</WRAP>
</code>


===== 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:

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

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

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