Extension talk:SyntaxHighlight GeSHi/Archive 2007

download problems
The download link doesn't exist. IS this the correct link? http://svn.wikimedia.org/viewvc/mediawiki/trunk/extensions/SyntaxHighlight_GeSHi/ 21:01, 4 April 2007 (UTC)


 * It was renamed a few days ago, thanks for catching this. -- Duesentrieb ⇌ 23:58, 4 April 2007 (UTC)

Fatal error: Call to undefined method ParserOutput::addHeadItem
I just tried installing this extension, and I'm pretty sure I followed the directions exactly, but I'm getting the error:

[04-Apr-2007 21:01:29] PHP Fatal error: Call to undefined method ParserOutput::addHeadItem in ...\extensions\SyntaxHighlight_GeSHi\SyntaxHighlight_GeSHi.php on line 113

--159.140.254.10 02:09, 5 April 2007 (UTC)


 * yes, I'm getting this one to – just that now it's line 144. Might it be that the PHP version is not sufficient? My PHP version is 4.4.4 - what is the minimum version required for SyntaxHighlight GeSHi? --Leo141 15:05, 29 June 2007 (UTC)
 * Oops, how could I oversee that there are some answers on this here ... The workaround at solution for me works for me too. --Leo141 17:08, 29 June 2007 (UTC)

me2
Fatal error: Call to undefined method ParserOutput::addHeadItem in ...\wiki\extensions\SyntaxHighlight\SyntaxHighlight_GeSHi.php on line 113

I'm work with windows apache2 & php5, and i have already tried to take some older versions, but nothing changed. --IP 5 April 2007


 * I think ParserOutput::addHeadItem was added quite recently - so the current version of this extension only works with the current development trunk. You will have to use an older version with MW 1.9. -- Duesentrieb ⇌ 11:25, 5 April 2007 (UTC)


 * Yea, try this version: -- Duesentrieb ⇌ 11:28, 5 April 2007 (UTC)

Has there been a resolution to this yet?
I was having the same issue as above:

Fatal error: Call to undefined method ParserOutput::addHeadItem in ...\wiki\extensions\SyntaxHighlight\SyntaxHighlight_GeSHi.php on line 113

Attempted this:

Yea, try this version: -- Duesentrieb ⇌ 11:28, 5 April 2007 (UTC)

which led to:

PHP Fatal error: require_once [function.require]: Failed opening required '/var/www/html/devwiki/extensions/SyntaxHighlight_GeSHi/SyntaxHighlight.i18n.php' (include_path='/var/www/html/devwiki:/var/www/html/devwiki/includes:/var/www/html/devwiki/languages:.:/usr/share/pear') in /var/www/html/devwiki/extensions/SyntaxHighlight_GeSHi/SyntaxHighlight_GeSHi.php on line 59

Is there any updates on this or am I going to have to use a different extension for this? --IP 24 April 2007


 * remember to download all the files here >>> http://svn.wikimedia.org/viewvc/mediawiki/trunk/extensions/SyntaxHighlight_GeSHi/ --Danny1000 21 August 2007

One Solution - rename files and variables to match calls to them
You need to rename the file "SyntaxHighlight.i18n.php" to "SyntaxHighlight_GeSHi.i18n.php"

Then inside either file make sure the names:

"efSyntaxHighlightMessages"

"efSyntaxHighlight_GeSHiMessages" Match, pick one, and rename it and your away, not sure what version we are playing with here but its now working for me, all I care about. --IP 25 April 2007

Yes, It works for me
Thank you, who written the message above. The steps are followed

In SyntaxHighlight_GeSHi.php

First, rename the file "SyntaxHighlight.i18n.php" to "SyntaxHighlight_GeSHi.i18n.php"

Second, find this require_once( dirname( __FILE__ ) . '/SyntaxHighlight.i18n.php' ); change to require_once( dirname( __FILE__ ) . '/SyntaxHighlight_GeSHi.i18n.php' );
 * and find this

foreach( efSyntaxHighlightMessages as $lang => $messages ) change to foreach( efSyntaxHighlight_GeSHiMessages as $lang => $messages )

--Roc michael 03:54, 30 June 2007 (UTC)
 * Mediawiki 1.9.2
 * The AppServ Open Project - 2.5.7 for Windows
 * Apache Web Server Version 2.2.3
 * PHP Script Language Version 5.1.6
 * MySQL Database Version 5.0.24a
 * phpMyAdmin Database Manager Version 2.9.0.2

What about further version of mediawiki?
I try it with 1.9.3 and the latest highlight-files and get an error that look similar: Fatal error: Call to undefined method ParserOutput::addHeadItem in /opt/lampp/htdocs/labbook/extensions/SyntaxHighlight_GeSHi/SyntaxHighlight_GeSHi.php on line 127

Why it is so sensitive to the used version.

What is the alternative extension, to highlight bash and perl, which is more stable? --IP 14 May 2007

solution for me - Replaced the $parser
Replaced the $parser->mOutput->addHeadItem( ... )-Code with:

$out = "/*<![CDATA[*/\n". ".source-$lang {line-height: normal;}\n". ".source-$lang li {line-height: normal;}\n". $geshi->get_stylesheet( false ). "/*]]>*/ \n$sitecss".$out;

It is very VERY ugly and not valid, but FF2 and IE7 seem to show it properly. --IP 1 June 2007

Fatal error after install
I have installed the GeSHi Syntax Highlighter,

now on save an edit i got the following Error:

Fatal error: Call to undefined method ParserOutput::addHeadItem in /var/www/slr_wiki/extensions/SyntaxHighlight_GeSHi/SyntaxHighlight_GeSHi.class.php on line 66

Greetz Phillip 10 August 2007


 * I'm having the exact same problem... any solution?
 * metasim --IP 1 July 2008

DSig
I originally downloaded the current version of SyntaxHighlight_GeSHi.php pointed at by the article. I put the php into the extensions directory. I unzipped the current GeSHi. it created a GeSHI-1.0.7.19 directory with geshi directory inside of it. I then moved the geSHi directory into the extensions directory.

so we have

extensions (dir) SyntaxhHighlight_GeSHi.php geshi (dir) (everything under geshi)

I modified the LocalSettings.php to point to the correct location require_once("extensions/SyntaxHighlight_GeSHi.php");

I got a couple of errors on require so using echo i worked out directories but then i get

Fatal error: Call to undefined function efSyntaxHighlightMessages in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\wikiSanMar\extensions\SyntaxHighlight_GeSHi.php on line 65

I have tried both the originally posted code and then the older code noted above.

Ideas? I am sure it is something to do with where I have located it all as I doubt that this would have been posted without it working. SO fire away .. where have I gone all wrong

Thanks --Dtsig 11 April 2007


 * Try changing efSyntaxHighlightMessages to efSyntaxHighlight_GeSHiMessages. Worked for us! 213.186.1.162 10:47, 13 April 2007 (UTC)


 * This worked great .. thanks --Dtsig 19:02, 24 April 2007 (UTC)

I gave up
For those that just want highlighting without jumping through hoops, I ended up using this GeSHi extension on my 1.7+ wiki:

GeSHiHighlight.php --Lokal 21 April 2007

Inline usage
Is there a way to highlight a small piece of code inline, i.e. make &lt;source> into &lt;span>? I tried  but it doesn't work (while   does work) -- Alex Smotrov 16:54, 21 May 2007 (UTC)

References use in comments
hi,

It seems we can't use the tag in comments. (sorry for my really poor English). 82.226.213.114 00:57, 29 May 2007 (UTC)

1.9.3 and character parsing in SyntaxHighlight
This works great with the following exception.

Characters like < > get changed to their html equiv &lt etc

These characters are *kind of* important in source :)

I would have thought that this extension should bypass wiki/html parsing .. yes? As we see above a PRE protects the angle brackets .. shouldn't source

fyi .. This same behavior is found in 1.10.0 ..

Has anyone else seen this? Thanks --Dtsig 15:20, 5 June 2007 (UTC)


 * If you allow stuff like <> then you open a big hole for things like javascript ....
 * And what's possible with javascript is (do say it friendly) not nice (phishing, steal passwords ...).
 * If you need the "nacked" code use &action=raw&ctype=text/javascript&dontcountme=s example:
 * Anyway: I don't see you're problem, because with copy&past "highlighted" sources work well.
 * -- MichaelFrey 15:42, 5 June 2007 (UTC)


 * '.. don't see you're problem .. ' I am not sure what you are saying here. What source did you copy&paste?   The fact that a < becomes &lt is a problem.  I will look at the link you posted. --208.214.103.202 20:30, 5 June 2007 (UTC)
 * hmmm German .. sorry I do not understand it. --Dtsig 20:33, 5 June 2007 (UTC)


 * Why or when is the &lt a problem for you?
 * I mean all actual Browsers like FF 2.0 and IE 7.0 render the source code correct.
 * You say, "PRE protects the angle brackets" but when I look at into the HTML source of that talk page, I see also the html equivalents of.
 * Anyway, sorry that my link was wrong, her 2 correct examples:
 * Again: If the extension bypass things like < > it is a hole for Cross-site scripting and similar things.
 * -- MichaelFrey 15:44, 6 June 2007 (UTC)

Language that doesn't work yet
Hi,

I participate in writing the Wikibook about Haskell.

GeSHi doesn't support Haskell yet, but it might in the near future (see the feature request).

In the meantime, if i try to write, it is rendered as a Big Red Error that doesn't show any code. I think that it would be better to display the source in the default black color with a small warning saying that the language is not supported. This way, when support for that language is added, the warning will go away and the coloring will just start working.

So now we are stuck with doubts whether to use  or something else.

Is it possible to modify this extension for that?

If this is not the right place to propose it, please tell me what is the right place.

Thanks in advance. --Amir E. Aharoni 16:55, 8 June 2007 (UTC)


 * I entered a feature request in Bugzilla: 10201 Allow showing code in an unsupported language with a warning. Come on and vote for it if you like it :) --Amir E. Aharoni 18:27, 8 June 2007 (UTC)


 * It should be supported in GeSHi 1.0.7.20. Can we have that updated here please? 62.181.57.12 04:37, 21 August 2007 (UTC)

Error when passing parameters from templates
As GeSHi doesn't have any functionality for in-line syntax highlighting yet, I figured I could create a template for that:

I'm a sys-op, so I can edit the CSS files and add the .inline_code class. But the GeSHi plugin complains about not getting a lang="" parameter.

My guess is that MW runs the stuff before it's passing the parameters from the template. Not sure at all, just guessing.

See the error and a brief explanation on b:no:Bruker:August/GeSHi issues ( I tried no:wb:Bruker:August/GeSHi issues but that linked to wikipedia, not sure about the syntax).

Regards, August Lilleaas, sysop @ norwegian wikibooks. 4 July 2007


 * Just made myself an account here, in case someone needs to contact me directly that's a bit more convenient now. --Leethal 12:39, 4 July 2007 (UTC)

I don't have an answer to your template parameter problem, but as for inline &lt;source>: So the only way so far I could make it inline requires putting the whole paragraph inside &lt;div>: div.inline_code * {display:inline} &lt;div class=inline_code> Your text &lt;source enclose=div lang=javascript>document.write&lt;/source> your text again &lt;/div> I think the better solution is to request inline source on bugzilla: Alex Smotrov 16:38, 5 July 2007 (UTC)
 * block elements are not supposed to be inside &lt;span>, so in html Mediawiki moves your &lt;span> inside &lt;pre>
 * Mediawiki encloses all text before and after block elements into &lt;p> tags
 * CSS:
 * wiki:

Graceful death?
When there are improper source tags the script generates a large error box, could you remove that. It should display nothing if broken. see: 2. And could someone add Estonian translation, to SyntaxHighlight_GeSHi.i18n.php /* Estonian et:Kasutaja:M2s17 */ 'et' => array( 'syntaxhighlight-specify' => 'Sa pead täpsustama keelt nõnda:', 'syntaxhighlight-supported' => 'Süntaksi esiletoomise on toetatud järgnevates keeltes:', 'syntaxhighlight-err-loading' => '(toetatud keelte loetelu laadimisel esines viga)', 'syntaxhighlight-err-language' => 'antud keel on mittekehtiv', 'geshi.css' => '/* CSS mis on asetatud siia, määrab GeSHi süntaksi esiletoomise stiili */', ), --88.196.91.126 22:42, 20 July 2007 (UTC)
 * Without linenumbers


 * Localisation added in r24296, thanks. As to the first question, I'm not sure if I understand, but I'll give it a bash.


 * The question, as I understand it, is why everything looks a bit different when using line numbers. As you'll spot in the HTML source, when line numbers are in use, we have to use a, rather than  , which means that the grey background and dashed border don't show up. If you'd like this, then you can style the surrounding   elements to look the same, using some CSS in  :


 * Hope this helps. robchurch | talk 01:18, 21 July 2007 (UTC)

== internal links within // Request WinSendMsg(hwndWnd,blabla...
 * }

Using messages highlighting and internal links may be great thing for programmer's wiki --Evgen 11:56, 27 July 2007 (UTC)
 * Using internal links is possible with simply adding a keyword group in the appropriate language file and telling it the documentation URL is your Wiki. Please note the comment on external links mentioned above. --217.93.203.194 10:12, 26 April 2008 (UTC)


 * 1) There is no "external links mentioned above" easy to find.
 * 2) I backed out of using it on Manual:Wiki family as one has to ask somebody to configure something to even link to Manual:$wgLogo style names here on . Jidanni 01:33, 27 December 2008 (UTC)

Support for Mediawiki markup
Can we work with the GeSHi developers and add our wiki markup to the supported languages? Then we can provide examples of our own code much more easily. 71.167.62.22 00:34, 10 August 2007 (UTC)


 * peblusto asks: do you mean other than  ? - peblusto 19:15, 18 October 2007 (UTC)

I need an old and stable version
Hello,

I need an OLD but STABLE version of this extension that works with these settings:


 * MediaWiki: 1.6.7
 * PHP: 4.3.10 (apache2handler)
 * MySQL: 4.1.10a

(I can't explain it, but) there is NO WAY to update one of these settings!!!!!!!

I did try to find the right extension-version by combining the information of the extension-page-history with the subversion repository but nearly gave it up.

Might this one be the right one for me? http://svn.wikimedia.org/viewvc/mediawiki/trunk/extensions/Highlight/?pathrev=19695

What about 20985? I can't evaluate the position :-(

Can someone help me? --IP 10 August 2007

Post-install PHP Warning: call_user_func_array
After installing (as per the main page), when I try to test by including a some source (for example by copying any of the sample code directly) I get nothing on the screen (e.g. it does not render at all, the wiki page just skips that line). When checking /var/log/httpd/error_log I get something like:

PHP Warning: call_user_func_array [function.call-user-func-array]: First argument is expected to be a valid callback, 'SyntaxHighlight_GeSHi::parserHook' was given in /var/www/mediawiki/includes/Parser.php on line 436, referer:

Any suggestions would be greatly appreciated. --M0nstr42 16:51, 22 August 2007 (UTC)


 * I am having the same issue. --Snapper67 11:09, 5 September 2007 (UTC)


 * I had almost the same problem. After some investigations, I found that the problem comes from some incompatibilities with PHP 4. So, if you are using php 4 like me, you need an old version of this extension.
 * Try getting the revision 23537 :

svn co -r 23537 http://svn.wikimedia.org/svnroot/mediawiki/trunk/extensions/SyntaxHighlight_GeSHi
 * And then apply the workaround . --omar.belkhodja 21:38, 13 October 2007 (UTC)

I have the same problem and am running php5. Any assistance? -- Robert 25 July 2008
 * You are probably using an old version of PHP5; try changing the 'SyntaxHighlight_GeSHi::parserHook' to array('SyntaxHighlight_GeSHi', 'parserHook') Bryan 19:12, 25 July 2008 (UTC)

I have still the same problem (MediaWiki 1.5.5/PHP 5.1.2) PHP Warning: call_user_func_array [function.call-user-func-array]: First argument is expected to be a valid callback, 'SyntaxHighlight_GeSHi::parserHook' was given in /srv/www/htdocs/mediawiki/includes/Parser.php on line 427, referer: Parser.php on line 427 is ... if ( $render ) { $ext_content[$tag][$marker] = call_user_func_array( $callback, array( $content, $params, &$this ) );; } else { $ext_content[$tag][$marker] = "$full_tag$content"; } ... SyntaxHighlight_GeSHi.php ... function efSyntaxHighlight_GeSHiSetup { global $wgParser; $wgParser->setHook( 'source', array( 'SyntaxHighlight_GeSHi', 'parserHook' ) ); return true; } ... -- Michael 27 August 2008

Change the background color?
Is there a way to change the background of the rendered code table? I know that I can change it in the lang.php file but I'd expect there is a way to have a default background shared by all. I noticed that it creates a css class called "source-lang". Should I just create one myself in my wiki css file (I suppose there is one, somewhere :D) or is there some magic parameter that I can set? Thanks! -Adal 25 August 2007
 * If you can do it by altering the CSS class, you might find this extension useful, which allows a parser function to dynamically load a css article that is on the wiki rather than a css hard coded into the mediawiki file system --Zven 23:45, 28 August 2007 (UTC)
 * I now remember putting some notes up on bioperl wiki which are useful as well --Zven 04:27, 29 August 2007 (UTC)

Upgrading to 1.11.rc1
Hi, after updating to MW 1.11.rc1 i get the following error.

Detected bug in an extension! Hook syntaxHighlightLoadMessages failed to return a value; should return true to continue hook processing or false to abort.

--IP 10 September 2007

Installation, calls, and initial blank wiki screen of death
The text states that geshi.php is created, but the require once code talks about SyntaxHighlight_GeSHi.php, should that be geshi.php in the require once? --12.148.245.61 14:26, 19 September 2007 (UTC)


 * peblusto says:
 * no, there are two different calls to the two different downloaded and installed program groups.
 * we should have at least this directory / file structure:


 * .../ourwiki/...
 * .../ourwiki/LocalSettings.php


 * .../ourwiki/extensions/...
 * .../ourwiki/extensions/SyntaxHighlight_GeSHi/...
 * .../ourwiki/extensions/SyntaxHighlight_GeSHi/SyntaxHighlight_GeSHi.class.php
 * .../ourwiki/extensions/SyntaxHighlight_GeSHi/SyntaxHighlight_GeSHi.i18n.php
 * .../ourwiki/extensions/SyntaxHighlight_GeSHi/SyntaxHighlight_GeSHi.php


 * .../ourwiki/extensions/SyntaxHighlight_GeSHi/geshi/...
 * .../ourwiki/extensions/SyntaxHighlight_GeSHi/geshi/geshi.php
 * .../ourwiki/extensions/SyntaxHighlight_GeSHi/geshi/contrib/...
 * .../ourwiki/extensions/SyntaxHighlight_GeSHi/geshi/docs/...
 * .../ourwiki/extensions/SyntaxHighlight_GeSHi/geshi/geshi/...


 * then, in
 * .../ourwiki/LocalSettings.php
 * put the call to the extension
 * and in the extension support file,
 * .../ourwiki/extensions/SyntaxHighlight_GeSHi/SyntaxHighlight_GeSHi.class.php
 * make sure there's an accurate call to the program supporting the extension
 * make sure there's an accurate call to the program supporting the extension


 * then if we get the initial blank wiki page / screen of death syndrome, try opening each php source file in a text editor and re-saving each again as text. i found that windows notepad saw no formatting inside the downloaded php files.  windows wordpad did bring them on screen okay, properly formatted.  so, after re-saving each of the main php files above from within wordpad as text, then notepad also saw the files formatted as text.  also, most important, the wiki screens came back to life.  we may have translation goofs between systems causing the source php files to loose their structure when exported and imported from system to system.
 * - peblusto 19:15, 18 October 2007 (UTC)

The top of the code box is getting chopped off in IE
I just installed this extension on my site, and it looks great in Firefox, but in IE the top of the code box is getting chopped off. The code is formatted correctly, but the first few lines don't have the background box, and the top border is missing. I checked your site as well, and I get the same behavior -- looks great in FF, not so much in IE. As much as I'd love to tell everyone to use FF, my site is a corporate site where IE is the standard. Any ideas? Thanks --ColinLittle 20:33, 28 September 2007 (UTC)
 * This is apparently not a problem in IE7. I'm using IE6 -- ColinLittle 21:15, 28 September 2007 (UTC)
 * For those still using IE6: It appears to be a problem with GeSHi's    block element being put inside a     element without anything else in the div. To fix this, look for the following line in SyntaxHighlight_GeSHi.class.php:

return ' '. $out. ' '; and change it into return ' &amp;nbsp;'. $out. ' '; and the block element will render correctly. If anybody can come up with a way to insert a character without taking real space on the page, that would be nice though. Dannyh 23:20, 1 April 2008 (UTC)

Doesn't work on 1.9.2
I tried and tried to get this one to work on my wiki. I have installed several extensions and am not new to this, but I could not make this work. I even tried using some of the suggestions on this page, but nothing worked.

I tried this GeSHi extension and it worked right out of the box. Extension:GeSHiCodeTag

Just thought I would post this for others who can't get this to work for them. --IP 8 October 2007

Installation Instructions - Line does not exist
If needed, change the following line in SyntaxHighlight_GeSHi.class.php to suit the path of your geshi.php file require_once( 'geshi/geshi.php' ); That line does not exist there ! --Arcy 19:34, 14 October 2007 (UTC)


 * peblusto says: i searched for "require" in my text editor and found it okay in the current version r24298 (July 21, 2007) - peblusto 19:15, 18 October 2007 (UTC)

This lines work for me (Mediawiki 1.11.0)
Just Add // change directory >> /usr/local/src/geshi/ << according to your geshi installation include_once('/usr/local/src/geshi/geshi.php'); $languagesPath = "/usr/local/src/geshi/geshi";

to the top of SyntaxHighlight_GeSHi.php

--Arcy 18:57, 15 October 2007 (UTC)

Translating an attribute style=""
Hello, i don't know if its the right place, but... I would like to know if its possible to add a function to this extension. At fr.wikipedia.org, we use for the tag  the style. It will be very nice if the tag  translate the style into is first element. With it we can easily change the height of the code, background, or border, text size...

For example, , with it we can change the height of the code, our  add scroll if need. Thanks a lot. fr:user:bayo 14:37, 17 October 2007 (UTC)

It doesn't work for me
Hello, I tried everything I get no error messages whatsoever but I can't get any highlighting either.

my pages look like:

including AND showing the using space to divide parameters is not a wiki standard, the standard is dividing by |. --Tofighi 02:49, 18 December 2007
 * Personally, I don't see any value in this additional syntax. Besides,  is mostly used in templates, and this is a tag, not a template Alex Smotrov 22:34, 18 December 2007 (UTC)

Language Specific Tags
For a site I'm working on most of the code is in one language, so I wanted a simpler tag. I added an extra parser hook: Which allowed me to use tags. Thought someone else might find it useful. It might be nice to have an option to list languages and have it add short tags like this. --Haarg 08:16, 19 December 2007 (UTC)