Startpage >> PmWiki >> WikiStyleExamples

Wiki Style Examples

PmWiki.WikiStyleExamples History

Hide minor edits - Show changes to output

August 31, 2011, at 11:44 AM by Blahma -
Changed lines 1-150 from:
Thanks for the insight. It birngs light into the dark!
to:
(:Summary: Styling text for colour and other attributes:)
See also [[Cookbook:WikiStylesPlus | Wiki Styles Plus]] and [[(PmWiki:)Wiki style colors]].

PmWiki uses [[WikiStyles]] for styling text with color and other attributes. PmWiki 2.0 introduced the ability to control the styling further and to even place styles on blocks.

A style is specified within a pair of %-signs and styles the text that follows, as in:

(:markup class=horiz:)
This text is %color=red% red, %color=blue% blue, %% and normal (black).
(:markupend:)

There are a wide number of available style properties, borrowed primarily from HTML and CSS. In addition, an author can define a style "shortcut" by using the [@define=@] property. For example, to define a style of [@%red%@], one can use:

(:markup class=horiz:)
%define=mystyle color=red%
Here is some %mystyle% red text created using a style shortcut.
(:markupend:)

Shortcuts can be combined with other styles, including other shortcuts:

(:markup class=horiz:)
%define=lovelyred color=red%
%define=likegrapefruit bgcolor=yellow%

%red% This text is red, %red bgcolor=#ccc% red on a grey background, and %lovelyred likegrapefruit% red on a yellow background.
(:markupend:)

So far, this is all basically the same as what was available in PmWiki 1.0. PmWiki 2.0 includes the capability to style blocks, by using the [@apply=@] style property. Specifying [@apply=block@] in a `WikiStyle will cause that style to be applied to the entire block, instead of just the text that follows:

(:markup:)
This entire block %apply=block bgcolor=yellow% has a yellow background, even though the `WikiStyle appears in the middle of the line. %bgcolor=pink% Other inline (non-block) WikiStyles can appear in the middle of the line,%% as before.
(:markupend:)

This means it's now possible to do right-aligned and centered text:

(:markup:)
%block text-align=right% The text of this paragraph is right-aligned.

%block text-align=center% The text of this paragraph is centered.
(:markupend:)


In fact, PmWiki predefines [@%right%@] and [@%center%@] style shortcuts so that you can do this more simply:

(:markup class=horiz:)
%right% This is right-aligned.

%center% This is centered.
(:markupend:)

Authors can define their own custom styles:

(:markup:)
%define=Pm block bgcolor=#fdf%
%define=goofy center bgcolor=#dfd border='3px dotted green'%
%define=rediguana right bgcolor=#ffffcc border='1px dotted red' padding=5px%
%define=strike text-decoration=line-through%

%Pm% Any text that is on a light purple background is a comment from "Pm".

%goofy% Here's some text from Goofy.

%rediguana% bla bla by rediguana!

%goofy%Hello, I am %strike%upset%% %strike%disheartened%% happy to meet you.
(:markupend:)

Styles can be applied to almost any kind of block:

(:markup class=horiz:)
* %block bgcolor=yellow% Here is a list item
* Here's another list item

* Here's more of a list

# A new list
(:markupend:)

In particular, this means that outlines are now possible using the predefined [@%ROMAN%@], [@%roman%@], [@%ALPHA%@], and [@%alpha%@] list-block styles. The style has to be specified on the first item in the list (and we may develop an alternate syntax for this sort of ordered list):

(:markup class=horiz:)
# %ROMAN% Top level
## %ALPHA% second-level
## second-level
## second-level
### third-level
### third-level
## second-level
### third-level
#### %alpha% fourth-level
##### %roman% fifth-level
##### fifth-level
#### fourth-level
# top-level
# top-level
(:markupend:)

[[Wiki styles]] can be combined with CSS stylesheets to do this automatically -- see [[Cookbook:OutlineLists]].


!! Q & A

!!! How do I get a block of preformatted text?

Use something similar to this (assuming you want markup within the block to be interpreted as wiki markup and URIs to be recognized).

(:markup:)
>>white-space=pre<<
This block of text is ''preformatted'', see all the white-space
and linebreaks
are preserved. Links such as [[wiki styles]] etc still work.
>><<
(:markupend:)

!!! How do I get a block of preformatted text with a colored background and a border?

Use something similar to this (note that wiki markup etc is not recognized within the block):

(:markup:)
%block bgcolor=#f0f9ff border='1px solid gray' padding=5px%[@
ip access-list extended example-acl
remark ** This is an example acl **
deny ip any host 10.0.0.1
permit ip any any
@]
(:markupend:)

!!! How do I get a block of text (including wiki markup) with a colored background and a border?
(:markup class=horiz:)
>>teal background-color:silver border:'medium dotted green'<<
Hello world
* bullet
# number
>><<
(:markupend:)

!!! How do I get a block of text (including wiki markup) with a border that is indented on the left and does NOT extend all the way to right? I'm not interested in having later text to the right as would occur with lfloat...

You can use the @@indent lframe@@ class and follow the block by a forced line break [=[[<<]]=].

(:markup class=horiz:)
Before indention...
>>indent lframe<<
Hello world
* bullet
# number
>><<
[[<<]]
... after indention!
(:markupend:)
July 08, 2011, at 01:01 PM by Tallin - WSLzARsUhQ
Changed line 1 from:
AsGPDl , [url=http://hyfdsyrobaaq.com/]hyfdsyrobaaq[/url], [link=http://snahzdoulnwu.com/]snahzdoulnwu[/link], http://bykukqjmdcsw.com/
to:
Thanks for the insight. It birngs light into the dark!
July 07, 2011, at 03:46 PM by wjkjgr - TEsjVykrdKOoIUVYhz
Changed line 1 from:
aQKzEs <a href="http://yfmnmcmxxnwl.com/">yfmnmcmxxnwl</a>
to:
AsGPDl , [url=http://hyfdsyrobaaq.com/]hyfdsyrobaaq[/url], [link=http://snahzdoulnwu.com/]snahzdoulnwu[/link], http://bykukqjmdcsw.com/
July 07, 2011, at 09:18 AM by ukfmvvdekat - qUJPmbkodaIevgFLv
Changed line 1 from:
You’re the one with the barnis here. I’m watching for your posts.
to:
aQKzEs <a href="http://yfmnmcmxxnwl.com/">yfmnmcmxxnwl</a>
July 06, 2011, at 03:36 PM by Loren - OUQYMTtB
Changed lines 1-150 from:
(:Summary: Styling text for colour and other attributes:)
See also [[Cookbook:WikiStylesPlus | Wiki Styles Plus]] and [[(PmWiki:)Wiki style colors]].

PmWiki uses [[WikiStyles]] for styling text with color and other attributes. PmWiki 2.0 introduced the ability to control the styling further and to even place styles on blocks.

A style is specified within a pair of %-signs and styles the text that follows, as in:

(:markup class=horiz:)
This text is %color=red% red, %color=blue% blue, %% and normal (black).
(:markupend:)

There are a wide number of available style properties, borrowed primarily from HTML and CSS. In addition, an author can define a style "shortcut" by using the [@define=@] property. For example, to define a style of [@%red%@], one can use:

(:markup class=horiz:)
%define=mystyle color=red%
Here is some %mystyle% red text created using a style shortcut.
(:markupend:)

Shortcuts can be combined with other styles, including other shortcuts:

(:markup class=horiz:)
%define=lovelyred color=red%
%define=likegrapefruit bgcolor=yellow%

%red% This text is red, %red bgcolor=#ccc% red on a grey background, and %lovelyred likegrapefruit% red on a yellow background.
(:markupend:)

So far, this is all basically the same as what was available in PmWiki 1.0. PmWiki 2.0 includes the capability to style blocks, by using the [@apply=@] style property. Specifying [@apply=block@] in a `WikiStyle will cause that style to be applied to the entire block, instead of just the text that follows:

(:markup:)
This entire block %apply=block bgcolor=yellow% has a yellow background, even though the `WikiStyle appears in the middle of the line. %bgcolor=pink% Other inline (non-block) WikiStyles can appear in the middle of the line,%% as before.
(:markupend:)

This means it's now possible to do right-aligned and centered text:

(:markup:)
%block text-align=right% The text of this paragraph is right-aligned.

%block text-align=center% The text of this paragraph is centered.
(:markupend:)


In fact, PmWiki predefines [@%right%@] and [@%center%@] style shortcuts so that you can do this more simply:

(:markup class=horiz:)
%right% This is right-aligned.

%center% This is centered.
(:markupend:)

Authors can define their own custom styles:

(:markup:)
%define=Pm block bgcolor=#fdf%
%define=goofy center bgcolor=#dfd border='3px dotted green'%
%define=rediguana right bgcolor=#ffffcc border='1px dotted red' padding=5px%
%define=strike text-decoration=line-through%

%Pm% Any text that is on a light purple background is a comment from "Pm".

%goofy% Here's some text from Goofy.

%rediguana% bla bla by rediguana!

%goofy%Hello, I am %strike%upset%% %strike%disheartened%% happy to meet you.
(:markupend:)

Styles can be applied to almost any kind of block:

(:markup class=horiz:)
* %block bgcolor=yellow% Here is a list item
* Here's another list item

* Here's more of a list

# A new list
(:markupend:)

In particular, this means that outlines are now possible using the predefined [@%ROMAN%@], [@%roman%@], [@%ALPHA%@], and [@%alpha%@] list-block styles. The style has to be specified on the first item in the list (and we may develop an alternate syntax for this sort of ordered list):

(:markup class=horiz:)
# %ROMAN% Top level
## %ALPHA% second-level
## second-level
## second-level
### third-level
### third-level
## second-level
### third-level
#### %alpha% fourth-level
##### %roman% fifth-level
##### fifth-level
#### fourth-level
# top-level
# top-level
(:markupend:)

[[Wiki styles]] can be combined with CSS stylesheets to do this automatically -- see [[Cookbook:OutlineLists]].


!! Q & A

!!! How do I get a block of preformatted text?

Use something similar to this (assuming you want markup within the block to be interpreted as wiki markup and URIs to be recognized).

(:markup:)
>>white-space=pre<<
This block of text is ''preformatted'', see all the white-space
and linebreaks
are preserved. Links such as [[wiki styles]] etc still work.
>><<
(:markupend:)

!!! How do I get a block of preformatted text with a colored background and a border?

Use something similar to this (note that wiki markup etc is not recognized within the block):

(:markup:)
%block bgcolor=#f0f9ff border='1px solid gray' padding=5px%[@
ip access-list extended example-acl
remark ** This is an example acl **
deny ip any host 10.0.0.1
permit ip any any
@]
(:markupend:)

!!! How do I get a block of text (including wiki markup) with a colored background and a border?
(:markup class=horiz:)
>>teal background-color:silver border:'medium dotted green'<<
Hello world
* bullet
# number
>><<
(:markupend:)

!!! How do I get a block of text (including wiki markup) with a border that is indented on the left and does NOT extend all the way to right? I'm not interested in having later text to the right as would occur with lfloat...

You can use the @@indent lframe@@ class and follow the block by a forced line break [=[[<<]]=].

(:markup class=horiz:)
Before indention...
>>indent lframe<<
Hello world
* bullet
# number
>><<
[[<<]]
... after indention!
(:markupend:)
to:
You’re the one with the barnis here. I’m watching for your posts.
Lasta ŝanĝo August 31, 2011, at 11:44 AM