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