Extension:StyleByHeaderTree
This extension is currently not actively maintained! Although it may still work, any bug reports or feature requests will more than likely be ignored. |
StyleBySection Release status: unmaintained |
|
---|---|
Implementation | Page action |
Description | Wraps sections according to header hierarchy. Gives class and id to the wrapping divs according to section title. |
Author(s) | François Moreau |
Latest version | 1.1 (2008-10-22) |
MediaWiki | 1.8+ |
Database changes | No |
License | GNU General Public License 2.0 |
Download | SourceForge: Note: |
The StyleByHeaderTree extension does two things to rendered XHTML pages:
- it wraps each section according to the nesting hierarchy of their respective headers;
- it may give a class and/or an id to each wrapping div, depending on the header's content and the set of rules defined for the plugin.
Usage
editThis is useful for styling, javascripting and adding semantics. This allows for a richer presentation without additional intervention from the authors, as long as certain conventions exist regarding section headers. In our organization, we have used this primarily as a mean to bring stronger semantics to wiki pages, which was then used to produce XML content with further extensions.
The directives associating headers with classes and id are written in a YAML file. Each rule specifies what class and id will be given to the created wrappers' header matching a regular expression or an exact string.
Your Wiki's MediaWiki:Monobook.css may then be edited to give style to the containers according to their classes and id.
Example
edit- Example of rules file
extensions/headerTree/example.yml:
intro:
is: Introduction
attr:
class: intro
question:
match: ^Question [0-9]+$
attr:
id: question-[COUNTER]
class: question
answer:
is: Answer
attr:
class: answer
code-color:
match: ^Code\s+(.*)$
attr:
class: code-$1
Installation
edit- Download, extract and place the file(s) in a directory called
headerTree
in yourextensions/
folder. - Add the following code at the bottom of your LocalSettings.php file:
require_once "$IP/extensions/headerTree/headerTree.php"; $wgHooks['OutputPageBeforeHTML'][] = array( new HeaderTree(), 'apply', //change this string according to your new rules file's path "$IP/extensions/headerTree/example.yml" );
- Create a new .yml rules file fitting your needs.
- Edit your wiki's MediaWiki:Monobook.css to use the new classes and id.
- Done – Navigate to Special:Version on your wiki to verify that the extension is successfully installed.