%META:TOPICINFO{author="DaleBrayden" date="1057027680" format="1.0" version="1.17"}%
%META:TOPICPARENT{name="WebHome"}%
---++ Style Plugin



This plugin lets you add CSS style attributes to your pages.



See Main.StylePluginDetails for the detailed description.

----

%TOC%

----

---+++ <nop>%TOPIC% Settings



Plugin settings are stored as preferences variables. To reference

a plugin setting write ==%<nop>&lt;plugin&gt;_&lt;setting&gt;%==, i.e. ==%<nop>EMPTYPLUGIN_SHORTDESCRIPTION%==

	* Security

		* Set ALLOWTOPICCHANGE = Main.DaleBrayden, Main.TWikiAdminGroup

		* Set ALLOWTOPICRENAME = Main.DaleBrayden, Main.TWikiAdminGroup

	* One line description, is shown in the %TWIKIWEB%.TextFormattingRules topic:

		* Set SHORTDESCRIPTION = A TWiki notation for adding css style class references with span and div tags

	* Debug plugin: (See output in =data/debug.txt=)

		* Set DEBUG = 0

	* Disable styles for non-rendering skins

		* Set SKIPSKIN = rss, cdf

	* site styles

		* Set SITESTYLES = .minilink { font-size:smaller; } .webref  { font-size:larger; font-weight:bold; } .author, .BAuthor  {font-weight:bold; font-style:normal;} .booktitle, .BTitle {font-style:italic; font-weight:normal; text-decoration:underline;} .publisher, .BPublisher { font-style:italic; } .note  {color:green; font-style:italic; } .note:before {display:inline; content: "Note: "; } .new {font-weight:bold; color:red; } .deprecated {text-decoration:line-through; color:gray; } .comment {font-style:italic; background-color: #CCFFCC; } .ebook {width:6in; text-align:justify;} .super {vertical-align:super; font-size:smaller;} .sub {vertical-align:sub; font-size:smaller;} .article {  padding-left:10px;padding-right:10px;  width:6in; text-align:justify; } .pullquote {  border-left:1px;border-right:1px;border-color:black;border-style:solid;  border-top:0px;border-bottom:0px;  padding-left:10px;padding-right:10px;  margin-left:10px;  font-style:italic; } .sidebar {  background-color:#eee;  border-width:2px; border-color:black;border-style:solid;  padding:3px;  padding-right:5px;  position:relative;float:right;  width:230px; font-size:smaller;} .question {font-weight:bold; } .answer {font-style:italic; } abbr, acronym, .help {  border-bottom: 1px dotted #333;  cursor: help;  } DT {font-weight:bold;text-decoration:underline;margin-left:10px; } .intro {font-weight:bold;font-style:italic;margin-left:30px;} TH {text-align: center; font-weight: bold; background-color:#eeeeee; vertical-align: top; } TD {vertical-align: top; } TABLE { border-width: 1; } .hide {position:absolute; width:1px;visibility:hidden; height:1px;}



----

---++ Overview

Why is this useful? Well, there are times when you want a consistent look and feel for certain types of items. For example, if you have a list or table, you might want certain fields to have a certain appearance. At Random.DaleBookList I have a list of books and authors, with some publishers. Here's what a typical entry looks like :



	* ((booktitle)(Programming Ruby)) by ((author)(Andrew Hunt and David Thomas)), ((publisher)(Addison-Wesley)), 2001





If the plugin is installed, and you have defined the style classes for 'booktitle', 'author', and 'publisher', the list item looks good. If you have the plugin installed, but don't have the style classes defined, then the list item looks, well, normal. If you don't have the plugin installed then you see all the parentheses and style names.



More generally, the style plugin lets you get away from the "let's make this bold and that italic" kind of formatting. Instead you can focus on semantic labelling of content and let the css stylesheet take care of the presentation.



---+++ Syntax Rules



---++++ A style class applied to a div tag



Use "\n---[.yourstylename ... \n---]"



This will produce

<verbatim>

<div class=yourstylename> ... </div>

</verbatim>



---++++ A style class applied to a span tag



Use "(<nop>(yourstylename)(a chunk o' text))



This will produce

<verbatim>

<span class=yourstylename> a chunk o' text</span>

</verbatim>



---++++ A style class applied to a paragraph



Use ".yourstylename\nyour text"



This will produce

<verbatim>

<p class=yourstylename> your text 

</verbatim>



---++++ A blockquote



Use '\n---"( your quoted material \n---")



This will produce

<verbatim>

<blockquote>your quoted material</blockquote>

</verbatim>



---++++ Acronyms



For example: 

<verbatim>

((acronym)(CSS)(Cascading Style Sheet))

</verbatim>



This will produce

<verbatim>

<acronym title="Cascading Style Sheet">CSS</acronym>

<acronym

---+++ Plugin Installation Instructions



	* Copy <nop>SylePlugin.pm to twiki/lib/TWiki/Plugins



---+++ Plugin Info



|  Plugin Author: | %MAINWEB%.DaleBrayden |

|  Plugin Version: | 09 Mar 2003 |

|  Change History: | 09 Mar 2003: Added SITESTYLES variable |

|  Change History: | 26 Dec 2002: Initial version |

|  CPAN Dependencies: | none |

|  Other Dependencies: | none |

|  Perl Version: | 5.0 |

|  Plugin Home: | http://TWiki.org/cgi-bin/view/Plugins/%TOPIC% |

|  Feedback: | http://TWiki.org/cgi-bin/view/Plugins/%TOPIC%Dev |



__Related Topics:__ %TWIKIWEB%.TWikiPreferences, %TWIKIWEB%.TWikiPlugins, DefaultPlugin



-- Main.DaleBrayden - 26 Dec 2002

