Code Highlight: Difference between revisions
(Created page with "Category:Test Category:Demo Category:Extension == Module == Download module at http://www.mediawiki.org/wiki/Special:ExtensionDistributor/SyntaxHighlight_GeSHi S...") |
No edit summary |
||
(4 intermediate revisions by the same user not shown) | |||
Line 3: | Line 3: | ||
[[Category:Extension]] | [[Category:Extension]] | ||
== Module == | == Module == | ||
Download module at | Download module at [http://www.mediawiki.org/wiki/Extension:SyntaxHighlight_GeSHi_GeSHi SyntaxHighlight_GeSHi] | ||
<pre>tar -xzf SyntaxHighlight_GeSHi-REL1_23-4959271.tar.gz -C /var/www/mediawiki/extensions</pre> | <pre>tar -xzf SyntaxHighlight_GeSHi-REL1_23-4959271.tar.gz -C /var/www/mediawiki/extensions</pre> | ||
== Setup == | == Setup == | ||
Copy file into extensions folder | Copy file into extensions folder | ||
Add the following code at the end of LocalSettings.php | Add the following code at the end of LocalSettings.php | ||
<pre>require_once | <pre>require_once "$IP/extensions/SyntaxHighlight_GeSHi/SyntaxHighlight_GeSHi.php"; | ||
$wgSyntaxHighlightDefaultLang = "php"; </pre> | |||
Sample code <pre> | == Sample code == | ||
<pre> | |||
<syntaxhighlight lang="php"> | |||
<?php | |||
$v = "string"; // sample initialization | |||
?> | |||
html text | |||
<? | |||
echo $v; // end of php code | |||
?> | |||
</syntaxhighlight> | |||
</pre> | |||
== Result == | |||
<syntaxhighlight lang="php"> | |||
<?php | |||
$v = "string"; // sample initialization | |||
?> | |||
html text | |||
<? | |||
echo $v; // end of php code | |||
?> | |||
</syntaxhighlight> | |||
== Supported Languages == | |||
These are the languages known by GeSHi that can be used in the '''lang''' parameter. | |||
<small>Note that installed GeSHi version (can be revealed by previewing e.g. <code><syntaxhighlight lang="-"></syntaxhighlight></code>) might not be the most recent version; see [[bugzilla:10967]] for Wikimedia sites.</small> | |||
<small>The GeSHi sources for each language can be found in [http://sourceforge.net/p/geshi/code/HEAD/tree/trunk/geshi-1.0.X/src/geshi/ VCS on SourceForge]. Remember to go and select the version that the MediaWiki installation uses.</small> | |||
</ | |||
{| class="wikitable" style="float:left" | |||
!Code||Language | |||
|- | |||
|<code>abap</code>||[[:en:ABAP|ABAP]] | |||
|- | |||
|<code>actionscript</code>||[[:en:ActionScript|ActionScript]] | |||
|- | |||
|<code>ada</code>||[[:en:Ada (programming language)|Ada]] | |||
|- | |||
|<code>apache</code>||[[:en:Apache HTTP Server|Apache Configuration]] | |||
|- | |||
|<code>applescript</code>||[[:en:AppleScript|AppleScript]] | |||
|- | |||
|<code>asm</code>||[[:en:Assembly language|Assembly]] | |||
|- | |||
|<code>asp</code>||[[:en:Active Server Pages|Active Server Pages (ASP)]] | |||
|- | |||
|<code>autoit</code>||[[:en:AutoIt|AutoIt]] | |||
|- | |||
|<code>bash</code>||[[:en:Bash (Unix shell)|Bash]] | |||
|- | |||
|<code>basic4gl</code>||[[:en:Basic4GL|Basic4GL]] | |||
|- | |||
|<code>bf</code>||[[:en:Brainfuck|Brainfuck]] | |||
|- | |||
|<code>blitzbasic</code>||[[:en:Blitz BASIC|Blitz BASIC]] | |||
|- | |||
|<code>bnf</code>||[[:en:Backus-Naur Form|Backus-Naur Form]] | |||
|- | |||
|<code>c</code>||[[:en:C (programming language)|C]] | |||
|- | |||
|<code>c_mac</code>||C (Mac) | |||
|- | |||
|<code>caddcl</code>||[[:en:Dialog Control Language|AutoCAD DCL]] | |||
|- | |||
|<code>cadlisp</code>||[[:en:AutoLISP|AutoLISP]] | |||
|- | |||
|<code>cfdg</code>||CFDG | |||
|- | |||
|<code>cfm</code>||[[:en:ColdFusion_Markup_Language|ColdFusion Markup Language]] | |||
|- | |||
|<code>cil</code>||[[:en:Common_Intermediate_Language|Common Intermediate Language (CIL)]] | |||
|- | |||
|<code>cobol</code>||[[:en:COBOL|COBOL]] | |||
|- | |||
|<code>cpp-qt</code>||[[:en:Qt (toolkit)|C++ (Qt toolkit)]] | |||
|- | |||
|<code>cpp</code>||[[:en:C++|C++]] | |||
|- | |||
|<code>csharp</code>||[[:en:C Sharp (programming language)|C#]] | |||
|- | |||
|<code>css</code>||[[:en:Cascading Style Sheets|Cascading Style Sheets (CSS)]] | |||
|- | |||
|<code>d</code>||[[:en:D (programming language)|D]] | |||
|- | |||
|<code>delphi</code>||[[:en:Delphi programming language|Delphi]] | |||
|- | |||
|<code>diff</code>||[[:en:diff|Diff]] | |||
|- | |||
|<code>div</code>||DIV | |||
|- | |||
|<code>dos</code>||[[:en:DOS batch file|DOS batch file]] | |||
|- | |||
|<code>dot</code>||[[:en:DOT language|DOT]] | |||
|- | |||
|<code>eiffel</code>||[[:en:Eiffel (programming language)|Eiffel]] | |||
|- | |||
|<code>fortran</code>||[[:en:Fortran|Fortran]] | |||
|- | |||
|<code>freebasic</code>||[[:en:FreeBASIC|FreeBASIC]] | |||
|- | |||
|<code>gambas</code>||[[:en:Gambas_programming_language|Gambas]] | |||
|- | |||
|<code>genero</code>||Genero | |||
|- | |||
|<code>gettext</code>||[[:en:GNU_gettext|GNU internationalization (i18n) library]] | |||
|- | |||
|<code>glsl</code>||[[:en:GLSL|OpenGL Shading Language (GLSL)]] | |||
|- | |||
|<code>gml</code>||[[:en:Game Maker Language|Game Maker Language (GML)]] | |||
|- | |||
|<code>gnuplot</code>||[[:en:Gnuplot|gnuplot]] | |||
|- | |||
|<code>groovy</code>||[[:en:Groovy (programming language)|Groovy]] | |||
|- | |||
|<code>haskell</code>||[[:en:Haskell (programming language)|Haskell]] | |||
|- | |||
|<code>Haxe</code>||[[:en:Haxe|Haxe]] | |||
|- | |||
|<code>hq9plus</code>||HQ9+ | |||
|- | |||
|<code>html4strict</code>||[[:en:HTML|HTML]] | |||
|- | |||
|<code>html5</code>||[[:en:HTML5|HTML5]] | |||
|- | |||
|<code>idl</code>||[[:en:Universal Network Objects|Uno IDL]] | |||
|- | |||
|<code>ini</code>||[[:en:INI file|INI]] | |||
|- | |||
|<code>inno</code>||[[:en:Inno Setup|Inno]] | |||
|- | |||
|<code>intercal</code>||[[:en:INTERCAL|INTERCAL]] | |||
|- | |||
|<code>io</code>||[[:en:Io (programming language)|Io]] | |||
|- | |||
|<code>java</code>||[[:en:Java (programming language)|Java]] | |||
|- | |||
|<code>java5</code>||[[:en:Java (programming language)|Java(TM) 2 Platform Standard Edition 5.0 ]] | |||
|- | |||
|<code>javascript</code>||[[:en:JavaScript|JavaScript]] | |||
|- | |||
|<code>kixtart</code>||[[:en:KiXtart|KiXtart]] | |||
|- | |||
|<code>klonec</code>||Klone C | |||
|- | |||
|<code>klonecpp</code>||Klone C++ | |||
|- | |||
|<code>latex</code>||[[:en:LaTeX|LaTeX]] | |||
|- | |||
|<code>lisp</code>||[[:en:Lisp (programming language)|Lisp]] | |||
|- | |||
|<code>lolcode</code>||[[:en:LOLCODE|LOLCODE]] | |||
|- | |||
|<code>lotusscript</code>||[[:en:LotusScript|LotusScript]] | |||
|- | |||
|<code>lua</code>||[[:en:Lua (programming language)|Lua]] | |||
|} | |||
{| class="wikitable" style="float:left" | |||
!Code||Language | |||
|- | |||
|<code>m68k</code>||[[:en:Motorola 68000|Motorola 68000 Assembler]] | |||
|- | |||
|<code>make</code>||[[:en:Make_(software)|make]] | |||
|- | |||
|<code>matlab</code>||[[:en:MATLAB|MATLAB M]] | |||
|- | |||
|<code>mirc</code>||[[:en:mIRC scripting language|mIRC scripting language]] | |||
|- | |||
|<code>mxml</code>||[[:en:MXML|MXML]] | |||
|- | |||
|<code>mpasm</code>||[[:en:PIC microcontroller|Microchip Assembler]] | |||
|- | |||
|<code>mysql</code>||[[:en:MySQL|MySQL]] | |||
|- | |||
|<code>nsis</code>||[[:en:Nullsoft Scriptable Install System|Nullsoft Scriptable Install System (NSIS)]] | |||
|- | |||
|<code>objc</code>||[[:en:Objective-C|Objective-C]] | |||
|- | |||
|<code>ocaml-brief</code>||[[:en:Objective Caml|OCaml]] | |||
|- | |||
|<code>ocaml</code>||[[:en:Objective Caml|OCaml]] | |||
|- | |||
|<code>oobas</code>||[[:en:StarOffice Basic|OpenOffice.org Basic]] | |||
|- | |||
|<code>oracle8</code>||[[:en:PL/SQL|Oracle 8 SQL]] | |||
|- | |||
|<code>oracle11</code>||[[:en:PL/SQL|Oracle 11 SQL]] | |||
|- | |||
|<code>pascal</code>||[[:en:Pascal (programming language)|Pascal]] | |||
|- | |||
|<code>per</code>||per | |||
|- | |||
|<code>perl</code>||[[:en:Perl|Perl]] | |||
|- | |||
|<code>php-brief</code>||[[:en:PHP|PHP]] | |||
|- | |||
|<code>php</code>||[[:en:PHP|PHP]] | |||
|- | |||
|<code>pixelbender</code>||[[:en:Adobe_Pixel_Bender|Pixel Bender]] | |||
|- | |||
|<code>plsql</code>||[[:en:PL/SQL|PL/SQL]] | |||
|- | |||
|<code>povray</code>||[[:en:POV-Ray|Persistence of Vision Raytracer]] | |||
|- | |||
|<code>powershell</code>||[[:en:Windows_PowerShell|Windows PowerShell]] | |||
|- | |||
|<code>progress</code>||[[:en:OpenEdge_Advanced_Business_Language|OpenEdge Advanced Business Language]] | |||
|- | |||
|<code>prolog</code>||[[:en:Prolog|Prolog]] | |||
|- | |||
|<code>providex</code>||[[:en:ProvideX|ProvideX]] | |||
|- | |||
|<code>python</code>||[[:en:Python (programming language)|Python]] | |||
|- | |||
|<code>qbasic</code>||[[:en:QBasic|QBasic/QuickBASIC]] | |||
|- | |||
|<code>rails</code>||[[:en:Ruby on Rails|Rails]] | |||
|- | |||
|<code>reg</code>||[[:en:Windows Registry|Windows Registry]] | |||
|- | |||
|<code>robots</code>||[[:en:Robots Exclusion Standard|robots.txt]] | |||
|- | |||
|<code>rsplus</code>||[[:en:R (programming language)|R]] | |||
|- | |||
|<code>ruby</code>||[[:en:Ruby (programming language)|Ruby]] | |||
|- | |||
|<code>sas</code>||[[:en:SAS System|SAS]] | |||
|- | |||
|<code>scala</code>||[[:en:Scala_(programming_language)|Scala]] | |||
|- | |||
|<code>scheme</code>||[[:en:Scheme (programming language)|Scheme]] | |||
|- | |||
|<code>scilab</code>||[[:en:Scilab|Scilab]] | |||
|- | |||
|<code>sdlbasic</code>||[[:en:SdlBasic|SdlBasic]] | |||
|- | |||
|<code>smalltalk</code>||[[:en:Smalltalk|Smalltalk]] | |||
|- | |||
|<code>smarty</code>||[[:en:Smarty|Smarty]] | |||
|- | |||
|<code>sql</code>||[[:en:SQL|SQL]] | |||
|- | |||
|<code>tcl</code>||[[:en:Tcl|Tcl]] | |||
|- | |||
|<code>teraterm</code>||[[:en:TeraTerm|Tera Term]] | |||
|- | |||
|<code>text</code>||[[:en:Plain text|Plain text]] | |||
|- | |||
|<code>thinbasic</code>||[[:en:thinBasic|thinBasic]] | |||
|- | |||
|<code>tsql</code>||[[:en:Transact-SQL|Transact-SQL]] | |||
|- | |||
|<code>typoscript</code>||[[:en:TYPO3|TypoScript]] | |||
|- | |||
|<code>vala</code>||[[:en:Vala_(programming_language)|Vala]] | |||
|- | |||
|<code>vb</code>||[[:en:Visual Basic|Visual Basic]] | |||
|- | |||
|<code>vbnet</code>||[[:en:Visual Basic .NET|Visual Basic .NET]] | |||
|- | |||
|<code>verilog</code>||[[:en:Verilog|Verilog]] | |||
|- | |||
|<code>vhdl</code>||[[:en:VHSIC Hardware Description Language|VHDL]] | |||
|- | |||
|<code>vim</code>||[[:en:Vimscript|Vimscript]] | |||
|- | |||
|<code>visualfoxpro</code>||[[:en:Visual FoxPro|Visual FoxPro]] | |||
|- | |||
|<code>visualprolog</code>||[[:en:Visual_Prolog|Visual Prolog]] | |||
|- | |||
|<code>whitespace</code>||[[:en:Whitespace_(programming_language)|Whitespace]] | |||
|- | |||
|<code>winbatch</code>||[[:en:Winbatch|Winbatch]] | |||
|- | |||
|<code>xml</code>||[[:en:XML|XML]] | |||
|- | |||
|<code>xorg_conf</code>||[[:en:Xorg.conf|Xorg.conf]] | |||
|- | |||
|<code>xpp</code>||[[:en:Microsoft_Dynamics_AX|X++]] | |||
|- | |||
|<code>z80</code>||[[:en:Zilog Z80|ZiLOG Z80 Assembler]] | |||
|} | |||
<div style="clear:both"></div> | |||
== Configuration == | |||
===Css=== | |||
:''This method requires [[rev:52346|r52346]] or higher of this extension.'' | |||
Add to [[MediaWiki:Geshi.css]], [[MediaWiki:Monobook.css]] or [[MediaWiki:Common.css]] pages: | |||
<syntaxhighlight lang="css"> | |||
div.mw-geshi { | |||
padding: 1em; | |||
margin: 1em 0; | |||
border: 1px dashed #2f6fab; | |||
background-color: #f9f9f9; | |||
}</syntaxhighlight> | |||
This will give all GeSHi output (except for <tt>enclose="none"</tt>) a dashed border almost identical to <pre> in monobook/main.css | |||
Latest revision as of 17:15, 15 November 2014
Module
Download module at SyntaxHighlight_GeSHi
tar -xzf SyntaxHighlight_GeSHi-REL1_23-4959271.tar.gz -C /var/www/mediawiki/extensions
Setup
Copy file into extensions folder Add the following code at the end of LocalSettings.php
require_once "$IP/extensions/SyntaxHighlight_GeSHi/SyntaxHighlight_GeSHi.php"; $wgSyntaxHighlightDefaultLang = "php";
Sample code
<syntaxhighlight lang="php"> <?php $v = "string"; // sample initialization ?> html text <? echo $v; // end of php code ?> </syntaxhighlight>
Result
<?php
$v = "string"; // sample initialization
?>
html text
<?
echo $v; // end of php code
?>
Supported Languages
These are the languages known by GeSHi that can be used in the lang parameter.
Note that installed GeSHi version (can be revealed by previewing e.g. <syntaxhighlight lang="-"></syntaxhighlight>
) might not be the most recent version; see bugzilla:10967 for Wikimedia sites.
The GeSHi sources for each language can be found in VCS on SourceForge. Remember to go and select the version that the MediaWiki installation uses.
Configuration
Css
- This method requires r52346 or higher of this extension.
Add to MediaWiki:Geshi.css, MediaWiki:Monobook.css or MediaWiki:Common.css pages:
div.mw-geshi {
padding: 1em;
margin: 1em 0;
border: 1px dashed #2f6fab;
background-color: #f9f9f9;
}
This will give all GeSHi output (except for enclose="none") a dashed border almost identical to <pre> in monobook/main.css