LyricExtension
From PeacockWiki
| Revision as of 02:55, 18 May 2006 (edit) Trevorp (Talk | contribs) (→Installation) ← Previous diff |
Revision as of 02:59, 18 May 2006 (edit) Trevorp (Talk | contribs) Next diff → |
||
| Line 160: | Line 160: | ||
| ?> | ?> | ||
| </pre> | </pre> | ||
| + | |||
| + | ==History== | ||
| + | ===0.1 - Date 18 May 2006=== | ||
| + | Fixed wgExtensionCredits | ||
| + | |||
| + | No Functional change. | ||
| + | ===0.1 - Date 17 May 2006=== | ||
| + | First release | ||
| + | *Allows basic lyric notation | ||
| + | *Optional CSS styling embedded in every page | ||
Revision as of 02:59, 18 May 2006
LyricExtension is an extension for Mediawiki that provides features facilitating the notation of song lyrics in the wiki.
Contents |
Details
- Version 0.1
- Date 18 May 2006
- Tested on MediaWiki 1.6devel, PHP 5.0.5 (apache2handler)
Features
- Allows basic lyric notation
- Optional CSS styling embedded in every page
Usage
Once installed, simply surround lyrics with <lyric> tags. No indentation of lyrics is needed.
Example
Basic
When the following wikitext is entered into mediawiki
<lyric> When peace like a river, Attendeth my way, When sorrows, Like sea billows roll; Whatever my lot, Thou hast taught me to say, ''??It is well, It is well, with my soul.?'' </lyric>
it appears formatted in html as <lyric> When peace like a river, Attendeth my way, When sorrows, Like sea billows roll; Whatever my lot, Thou hast taught me to say, ??It is well, It is well, with my soul.? </lyric> Feel free to experiment in the SandBox.
Wrapping
See LyricExtension Wrapping Example
Installation
Copy and paste the source code into a file named 'lyric.php', and place it in the 'extensions/' directory of your mediawiki installation.
Insert the following line into the end of 'LocalSettings.php' (before the '?>')
require("extensions/lyric.php");
To check to see if it is installed properly, visit your Version page, eg Special:Version.
You should see the following items:
- Extensions:
- Parser hooks:
- Lyric Extension (version 0.1), Adds features allowing easy notation of lyrics in mediawiki, by Trevor Peacock
- Extension functions:
- LyricExtension
- Parser hooks:
- Hooks:
- SkinTemplateSetupPageCss:LyricCss
The SkinTemplateSetupPageCss:LyricCss hook may be disabled, and if done so, will not appear.
Source Code
<?php
#
# Simple lyric parser extension for mediawiki.
# Written by Trevor Peacock, 18 May 2006
# version 0.1
# Tested on MediaWiki 1.6devel, PHP 5.0.5 (apache2handler)
#
# developed to support the notation of lyrics in mediawiki.
# see http://lyricwiki.org/User:TrevorP/Notation
#
# Features:
# * Allows basic lyric notation
# * Optional CSS styling embedded in every page
#
# To install, copy this file into "extensions" directory, and add
# the following line to the end of LocalSettings.php
# (above the ? > )
#
# require("extensions/lyric.php");
#
################################################################################
# Extension Credits Definition
#
# This section has no configuration, and can be ignored.
#
$wgExtensionCredits["parserhook"][]=array(
'name' => 'Lyric Extension',
'version' => '0.1',
'url' => 'http://wiki.peacocktech.com/wiki/LyricExtension',
'author' => '[http://about.peacocktech.com/trevorp/ Trevor Peacock]',
'description' => 'Adds features allowing easy notation of lyrics in mediawiki' );
################################################################################
# Lyric Render Section
#
# This section has no configuration, and can be ignored.
#
# This section renders <lyric> tags. It forces a html break on every line,
# and styles the section with a css id.
# this id can either be in the mediawiki css files, or defined by the extension
#
#Instruct mediawiki to call LyricExtension to initialise new extension
$wgExtensionFunctions[] = "LyricExtension";
#Install extension
function LyricExtension()
{
#install hook on the element <lyric>
global $wgParser;
$wgParser->setHook("lyric", "renderLyric");
}
#render <lyric> text
function renderLyric($input, $argv)
{
#make new lines in wikitext new lines in html
$transform=str_replace(array("\r\n", "\r","\n"), "<br/>", trim($input));
#define css lyric style
$transform="<div id=\"lyric\">".$transform."</div>";
#parse embedded wikitext
global $wgOut;
return $wgOut->parse($transform, false);
}
################################################################################
# CSS Styling Section
#
# This section may require configuration.
#
# This section adds a css style to all pages to style lyric sections
#
# If you wish to manually define the style in the css templates,
# add a "#" at the start of this line:
$wgHooks['SkinTemplateSetupPageCss'][] = 'LyricCss';
function LyricCss(&$css) {
$css = "/*<![CDATA[*/\n".
"#lyric {\n".
" padding: 1em;\n".
" border: 1px solid silver;\n".
" color: black;\n".
" background-color: #ffffcc;\n".
"}\n".
"\n/*]]>*/";
return true;
}
?>
History
0.1 - Date 18 May 2006
Fixed wgExtensionCredits
No Functional change.
0.1 - Date 17 May 2006
First release
- Allows basic lyric notation
- Optional CSS styling embedded in every page
