LyricExtension
From PeacockWiki
Revision as of 11:22, 17 May 2006 (edit) Trevorp (Talk | contribs) (→Example) ← Previous diff |
Revision as of 02:23, 18 May 2006 (edit) Trevorp (Talk | contribs) (→Example) Next diff → |
||
Line 23: | Line 23: | ||
??It is well, | ??It is well, | ||
It is well, with my soul.? | It is well, with my soul.? | ||
+ | |||
+ | [Very long line, should wrap] O, Lord haste the day When my faith shall be sight, The clouds be rolled back As a scroll; The trump shall resound And the Lord shall descend, ??Even so? it is well With my soul. | ||
</lyric></pre> | </lyric></pre> | ||
it appears formatted in html as | it appears formatted in html as | ||
Line 34: | Line 36: | ||
??It is well, | ??It is well, | ||
It is well, with my soul.? | It is well, with my soul.? | ||
+ | |||
+ | [Very long line, should wrap] O, Lord haste the day When my faith shall be sight, The clouds be rolled back As a scroll; The trump shall resound And the Lord shall descend, ??Even so? it is well With my soul. | ||
</lyric> | </lyric> | ||
Feel free to experiment in the [[SandBox]]. | Feel free to experiment in the [[SandBox]]. |
Revision as of 02:23, 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 17 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
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.? [Very long line, should wrap] O, Lord haste the day When my faith shall be sight, The clouds be rolled back As a scroll; The trump shall resound And the Lord shall descend, ??Even so? 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.?
[Very long line, should wrap] O, Lord haste the day When my faith shall be sight, The clouds be rolled back As a scroll; The trump shall resound And the Lord shall descend, ??Even so? it is well With my soul. </lyric> Feel free to experiment in the SandBox.
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");
Source Code
<?php # # Simple lyric parser extension for mediawiki. # Written by Trevor Peacock, 17 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["LyricExtension"]=array( 'name' => 'Lyric Extension', 'version' => '0.1', 'url' => 'http://wiki.peacocktech.com/wiki/LyricExtension', 'author' => '<a href="http://about.peacocktech.com/trevorp/">Trevor Peacock</a>', '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; } ?>