 <?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.bluemodel.org/index.php?action=history&amp;feed=atom&amp;title=Extension%3ABlueM</id>
	<title>Extension:BlueM - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.bluemodel.org/index.php?action=history&amp;feed=atom&amp;title=Extension%3ABlueM"/>
	<link rel="alternate" type="text/html" href="https://wiki.bluemodel.org/index.php?title=Extension:BlueM&amp;action=history"/>
	<updated>2026-04-09T16:43:25Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.3</generator>
	<entry>
		<id>https://wiki.bluemodel.org/index.php?title=Extension:BlueM&amp;diff=7064&amp;oldid=prev</id>
		<title>Froehlich: Created page with &quot;A simple extension for making syntax highlighting of BlueM input files easier. It converts the tag &lt;code&gt;&lt;nowiki&gt;&lt;bluem&gt;&lt;/nowiki&gt;&lt;/code&gt; to &lt;code&gt;&lt;nowiki&gt;&lt;source lang=&quot;bluem&quot;&gt;...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.bluemodel.org/index.php?title=Extension:BlueM&amp;diff=7064&amp;oldid=prev"/>
		<updated>2013-12-08T14:03:54Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;A simple extension for making syntax highlighting of BlueM input files easier. It converts the tag &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;bluem&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;source lang=&amp;quot;bluem&amp;quot;&amp;gt;...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;A simple extension for making syntax highlighting of BlueM input files easier. It converts the tag &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;bluem&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;source lang=&amp;quot;bluem&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, so that the extension [https://www.mediawiki.org/wiki/Extension:SyntaxHighlight_GeSHi SyntaxHighlight] can highlight the syntax. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
 &lt;br /&gt;
$wgExtensionCredits[&amp;#039;parserhook&amp;#039;][&amp;#039;BlueM&amp;#039;] = array(&lt;br /&gt;
	&amp;#039;path&amp;#039;           =&amp;gt; __FILE__,&lt;br /&gt;
	&amp;#039;name&amp;#039;           =&amp;gt; &amp;#039;BlueM&amp;#039;,&lt;br /&gt;
	&amp;#039;author&amp;#039;         =&amp;gt; array( &amp;#039;Felix Froehlich&amp;#039;),&lt;br /&gt;
	&amp;#039;description&amp;#039;    =&amp;gt; &amp;#039;Converts the tag &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;bluem&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;source lang=&amp;quot;bluem&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; so that the extension [https://www.mediawiki.org/wiki/Extension:SyntaxHighlight_GeSHi SyntaxHighlight] can highlight the syntax.&amp;#039;,&lt;br /&gt;
	&amp;#039;url&amp;#039;            =&amp;gt; &amp;#039;http://wiki.bluemodel.org/index.php/Extension:BlueM&amp;#039;,&lt;br /&gt;
	&amp;#039;version&amp;#039;        =&amp;gt; &amp;#039;1.0&amp;#039;,&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
$wgHooks[&amp;#039;ParserFirstCallInit&amp;#039;][] = &amp;#039;wfBluemParserInit&amp;#039;;&lt;br /&gt;
 &lt;br /&gt;
// Hook our callback function into the parser&lt;br /&gt;
function wfBlueMParserInit( Parser $parser ) {&lt;br /&gt;
	$parser-&amp;gt;setHook( &amp;#039;bluem&amp;#039;, &amp;#039;wfparseBlueM&amp;#039; );&lt;br /&gt;
        // Always return true from this function. The return value does not denote&lt;br /&gt;
        // success or otherwise have meaning - it just must always be true.&lt;br /&gt;
	return true;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
// Execute &lt;br /&gt;
function wfparseBlueM( $input, array $args, Parser $parser, PPFrame $frame ) {&lt;br /&gt;
	return $parser-&amp;gt;recursiveTagParse( &amp;quot;&amp;lt;source lang=\&amp;quot;bluem\&amp;quot;&amp;gt;{$input}&amp;lt;\/source&amp;gt;&amp;quot;, $frame ); // &amp;lt;-- repair the closing source tag before use!&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save the following file as &amp;lt;code&amp;gt;bluem.php&amp;lt;/code&amp;gt; in the geshi language file directory:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
/*************************************************************************************&lt;br /&gt;
 * bluem.php&lt;br /&gt;
 * --------&lt;br /&gt;
 * Author: Felix Froehlich (felix@bluemodel.org)&lt;br /&gt;
 * Copyright: (c) 2008 Felix Froehlich&lt;br /&gt;
 * Release Version: 1.0.8.5&lt;br /&gt;
 * Last Modified: $Date: 2009/10/09 11:00:00 $&lt;br /&gt;
 *&lt;br /&gt;
 * BlueM language file for GeSHi.&lt;br /&gt;
 *&lt;br /&gt;
 * CHANGES&lt;br /&gt;
 * -------&lt;br /&gt;
 *&lt;br /&gt;
 * TODO&lt;br /&gt;
 * ----&lt;br /&gt;
 *&lt;br /&gt;
 *************************************************************************************&lt;br /&gt;
 *&lt;br /&gt;
 *     This file is part of GeSHi.&lt;br /&gt;
 *&lt;br /&gt;
 *   GeSHi is free software; you can redistribute it and/or modify&lt;br /&gt;
 *   it under the terms of the GNU General Public License as published by&lt;br /&gt;
 *   the Free Software Foundation; either version 2 of the License, or&lt;br /&gt;
 *   (at your option) any later version.&lt;br /&gt;
 *&lt;br /&gt;
 *   GeSHi is distributed in the hope that it will be useful,&lt;br /&gt;
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt;
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the&lt;br /&gt;
 *   GNU General Public License for more details.&lt;br /&gt;
 *&lt;br /&gt;
 *   You should have received a copy of the GNU General Public License&lt;br /&gt;
 *   along with GeSHi; if not, write to the Free Software&lt;br /&gt;
 *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA&lt;br /&gt;
 *&lt;br /&gt;
 ************************************************************************************/&lt;br /&gt;
&lt;br /&gt;
$language_data = array (&lt;br /&gt;
	&amp;#039;LANG_NAME&amp;#039; =&amp;gt; &amp;#039;bluem&amp;#039;,&lt;br /&gt;
	&amp;#039;COMMENT_SINGLE&amp;#039; =&amp;gt; array(),&lt;br /&gt;
	&amp;#039;COMMENT_MULTI&amp;#039; =&amp;gt; array(),&lt;br /&gt;
	&amp;#039;COMMENT_REGEXP&amp;#039; =&amp;gt; array(1 =&amp;gt; &amp;#039;/^\*.*?$/mi&amp;#039;), //Zeile fängt mit * an&lt;br /&gt;
	&amp;#039;CASE_KEYWORDS&amp;#039; =&amp;gt; GESHI_CAPS_NO_CHANGE,&lt;br /&gt;
	&amp;#039;QUOTEMARKS&amp;#039; =&amp;gt; array(),&lt;br /&gt;
	&amp;#039;ESCAPE_CHAR&amp;#039; =&amp;gt; &amp;#039;&amp;#039;,&lt;br /&gt;
	&amp;#039;KEYWORDS&amp;#039; =&amp;gt; array(&lt;br /&gt;
		1 =&amp;gt; array(&amp;#039;J&amp;#039;, &amp;#039;N&amp;#039;),&lt;br /&gt;
		2 =&amp;gt; array(),&lt;br /&gt;
		3 =&amp;gt; array()&lt;br /&gt;
		),&lt;br /&gt;
	&amp;#039;SYMBOLS&amp;#039; =&amp;gt; array(0 =&amp;gt; &amp;#039;|&amp;#039;),&lt;br /&gt;
	&amp;#039;CASE_SENSITIVE&amp;#039; =&amp;gt; array(&lt;br /&gt;
		GESHI_COMMENTS =&amp;gt; false,&lt;br /&gt;
		1 =&amp;gt; false,&lt;br /&gt;
		2 =&amp;gt; false,&lt;br /&gt;
		3 =&amp;gt; false,&lt;br /&gt;
		),&lt;br /&gt;
	&amp;#039;STYLES&amp;#039; =&amp;gt; array(&lt;br /&gt;
		&amp;#039;KEYWORDS&amp;#039; =&amp;gt; array(&lt;br /&gt;
			1 =&amp;gt; &amp;#039;color: blue;&amp;#039;,&lt;br /&gt;
			2 =&amp;gt; &amp;#039;&amp;#039;,&lt;br /&gt;
			3 =&amp;gt; &amp;#039;&amp;#039;&lt;br /&gt;
			),&lt;br /&gt;
		&amp;#039;COMMENTS&amp;#039; =&amp;gt; array(&lt;br /&gt;
			1 =&amp;gt; &amp;#039;color: #808080; font-style:italic;&amp;#039;,&lt;br /&gt;
			2 =&amp;gt; &amp;#039;&amp;#039;,&lt;br /&gt;
			&amp;#039;MULTI&amp;#039; =&amp;gt; &amp;#039;&amp;#039;&lt;br /&gt;
			),&lt;br /&gt;
		&amp;#039;ESCAPE_CHAR&amp;#039; =&amp;gt; array(&lt;br /&gt;
			0 =&amp;gt; &amp;#039;&amp;#039;&lt;br /&gt;
			),&lt;br /&gt;
		&amp;#039;BRACKETS&amp;#039; =&amp;gt; array(&lt;br /&gt;
			0 =&amp;gt; &amp;#039;&amp;#039;&lt;br /&gt;
			),&lt;br /&gt;
		&amp;#039;STRINGS&amp;#039; =&amp;gt; array(&lt;br /&gt;
			0 =&amp;gt; &amp;#039;&amp;#039;&lt;br /&gt;
			),&lt;br /&gt;
		&amp;#039;NUMBERS&amp;#039; =&amp;gt; array(&lt;br /&gt;
			0 =&amp;gt; &amp;#039;color: red;&amp;#039;&lt;br /&gt;
			),&lt;br /&gt;
		&amp;#039;METHODS&amp;#039; =&amp;gt; array(&lt;br /&gt;
			1 =&amp;gt; &amp;#039;&amp;#039;,&lt;br /&gt;
			2 =&amp;gt; &amp;#039;&amp;#039;&lt;br /&gt;
			),&lt;br /&gt;
		&amp;#039;SYMBOLS&amp;#039; =&amp;gt; array(&lt;br /&gt;
			0 =&amp;gt; &amp;#039;color: #808080; font-style:italic;&amp;#039; // |-Zeichen&lt;br /&gt;
			),&lt;br /&gt;
		&amp;#039;REGEXPS&amp;#039; =&amp;gt; array(&lt;br /&gt;
			1 =&amp;gt; &amp;#039;color: orange;&amp;#039;, 		//Datum&lt;br /&gt;
			2 =&amp;gt; &amp;#039;color: orange;&amp;#039; 		//Nur Uhrzeit&lt;br /&gt;
			),&lt;br /&gt;
		&amp;#039;SCRIPT&amp;#039; =&amp;gt; array(&lt;br /&gt;
			0 =&amp;gt; &amp;#039;&amp;#039;,&lt;br /&gt;
			1 =&amp;gt; &amp;#039;&amp;#039;,&lt;br /&gt;
			2 =&amp;gt; &amp;#039;&amp;#039;,&lt;br /&gt;
			3 =&amp;gt; &amp;#039;&amp;#039;&lt;br /&gt;
			)&lt;br /&gt;
		),&lt;br /&gt;
	&amp;#039;URLS&amp;#039; =&amp;gt; array(&lt;br /&gt;
		1 =&amp;gt; &amp;#039;&amp;#039;,&lt;br /&gt;
		2 =&amp;gt; &amp;#039;&amp;#039;,&lt;br /&gt;
		3 =&amp;gt; &amp;#039;&amp;#039;,&lt;br /&gt;
		4 =&amp;gt; &amp;#039;&amp;#039;&lt;br /&gt;
		),&lt;br /&gt;
	&amp;#039;OOLANG&amp;#039; =&amp;gt; false,&lt;br /&gt;
	&amp;#039;OBJECT_SPLITTERS&amp;#039; =&amp;gt; array(),&lt;br /&gt;
	&amp;#039;REGEXPS&amp;#039; =&amp;gt; array(&lt;br /&gt;
		1 =&amp;gt; &amp;quot;[^\d]\d\d\.\d\d(\.\d{2,4})?(\s\d\d:\d\d)?[^\d]&amp;quot;, 	//Datum&lt;br /&gt;
		2 =&amp;gt; &amp;quot;[^\d]\d\d:\d\d[^\d]&amp;quot; 								//Nur Uhrzeit&lt;br /&gt;
		),&lt;br /&gt;
	&amp;#039;STRICT_MODE_APPLIES&amp;#039; =&amp;gt; GESHI_NEVER,&lt;br /&gt;
	&amp;#039;SCRIPT_DELIMITERS&amp;#039; =&amp;gt; array(),&lt;br /&gt;
	&amp;#039;HIGHLIGHT_STRICT_BLOCK&amp;#039; =&amp;gt; array(&lt;br /&gt;
		0 =&amp;gt; true,&lt;br /&gt;
		1 =&amp;gt; true,&lt;br /&gt;
		2 =&amp;gt; true,&lt;br /&gt;
		3 =&amp;gt; true&lt;br /&gt;
		)&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Froehlich</name></author>
	</entry>
</feed>