Template:Messagebox: Difference between revisions

mark this template with the todo template -- needs to be integrated with new Chameleon skin rather than just the freephile skin
remove the extraneous {{{1}}} numbered parameter
 
(5 intermediate revisions by the same user not shown)
Line 1: Line 1:
<templatestyles src="Messagebox/styles.css" />
<div class="message-box
<div class="message-box
{{#switch:{{{type|}}}
{{#switch:{{{type}}}
| success    = message-success
| success    = message-success
| warning    = message-warning
| warning    = message-warning
Line 9: Line 10:
| #default  = message-normal
| #default  = message-normal
}}" style="{{{style|}}}">
}}" style="{{{style|}}}">
{{#switch:{{{type}}}
| success  = [[File:Dialog-ok-apply.svg|20px]]
| warning  = [[File:Dialog-warning.svg|20px]]
| failure  = [[File:Dialog-error.svg|20px]]
| restricted = [[File:Dialog-password.svg|20px]]
| forbidden = [[File:Dialog-cancel.svg|20px]]
| normal
| #default = [[File:Dialog-information.svg|20px]]
}}
{{{text}}}
{{{text}}}
</div>
</div>
Line 23: Line 33:
}}
}}
<noinclude>
<noinclude>
This template is for generating nicely formatted message boxes in articles, or even other templates.
{{Documentation}}</noinclude>
 
== Usage ==
The template takes three named parameters that can be given in any order.
; text : (required) is the message
; type : (optional) determines the presentation using pre-defined styling. One of
:* success - to indicate what success means
:* warning - to alert the user about preventing problems
:* failure - to dialog about when something fails
:* restricted - shows the keys graphic, to advise of a restricted access area or restricted authoring
:* forbidden - for messages about policies about things you should not do
:* normal (default)
; style : (optional)  is CSS that will be passed through.
 
== Literal Code Example ==
<pre>
{{Messagebox
| type = success
| style = width:50%;
| text = your message content
}}
</pre>
 
For a more complex (up to 80 parameters) template, see the Infobox template [[Template_talk:Infobox]]
 
== Visual Examples ==
{{Messagebox
| text = no type, uses default (normal)
| style = width:50%;
}}
 
{{Messagebox
| type = normal
| text = Why be normal?
}}
 
{{Messagebox
| type = success
| text = You won!
}}
 
{{Messagebox
| type = warning
| text = Do not spit into the wind
}}
 
{{Messagebox
|type = failure
|text = You kissed your cousin
}}
 
{{Messagebox
| type = forbidden
| text = You can't do that!
}}
 
{{Messagebox
| type = restricted
| text = You must be a registered user to create or edit articles.  Contact the [[User:Freephile|WikiSysop]] for an account!
}}
== To Do ==
# <strike>Based on the existing dialog images [http://freephile.com/wiki/index.php?title=Special%3ASearch&ns6=1&ns7=1&ns8=1&ns9=1&ns10=1&ns11=1&search=dialog&fulltext=Advanced+search], I should add a type for "restricted" for pages with restricted authoring and or "forbidden"</strike>
# {{@todo}} Improve and coordinate the CSS with the new Chameleon skin rather than just the freephile skin
 
== Making this template ==
To generate the resized images from svg
[[Image:Dialog-error.svg|32px]]
[[Image:Dialog-warning.svg|32px]]
[[Image:Dialog-ok-apply.svg?|32px]]
[[Image:Dialog-information.svg|32px]]
[[Image:Dialog-cancel.svg|32px]]
[[Image:Dialog-password.svg|32px]]
 
The parser code (how to do switch statements) is based on the example of the Ambox template from Mediawiki
 
The following CSS is added to skins/freephile/freephile_template.css to make this template complete
 
The background images for the CSS are put into the images subfolder to make it easier to distinguish what is based on monobook, and what is extra
<source lang="css">
.message-box {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 11px;
background-color:#EBFFEA;
border:1px solid #0BD200;
color:#333333;
padding:8px;
margin:10px;
background-repeat: no-repeat;
background-position: 6px 6px;
}
.message-box a:link, .message-box a:active, .message-box a:visited {
color:#990000;
text-decoration:none;
border-bottom:1px solid #cccccc;
}
.message-box a:hover {
color:#990000;
text-decoration:none;
border-bottom:1px solid #990000;
}
.message-success {
font-weight: bold;
border:1px solid #8FD500;
background-color:#F2FFD7;
background-image: url(images/32px-Dialog-ok-apply.svg.png);
padding-left: 32px;
}
.message-failure {
font-weight: bold;
color: #990000;
border:1px solid #DD3C10;
background-color:#FFEBE8;
background-image: url(images/32px-Dialog-error.svg.png);
padding-left: 32px;
}
.message-warning {
font-weight: bold;
color:#FF6633;
border: 1px solid #ff9900;
background-color:#fbf8c7;
background-image: url(images/32px-Dialog-warning.svg.png);
padding-left: 32px;
}
.message-box .message-normal {
font-weight:normal;
color: #333;
background-image: url(images/32px-Dialog-information.svg.png);
padding-left: 32px;
}
</source>
</noinclude>
 
[[Category:Templates using ParserFunctions]]