Wrap code blocks with <pre lang="LANGUAGE" line="1"> and </pre> where
LANGUAGE is a GeSHi supported language
syntax. See below for a full list of supported languages. The line
attribute is optional.
Example 1: PHP, no line numbers
<pre lang="php">
<div id="foo">
<?php
function foo() {
echo "Hello World!\\n";
}
?>
</div>
</pre>
Example 2: Java, with line numbers
<pre lang="java" line="1">
public class Hello {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
</pre>
Example 3: Ruby, with line numbers starting at 18
<pre lang="ruby" line="18">
class Example
def example(arg1)
return "Hello: " + arg1.to_s
end
end
</pre>
Example 4: If your code already has html entities escaped, use escaped="true" as an option
<pre lang="xml" escaped="true">
<xml>Hello</xml>
</pre>
The following languages are supported in the lang attribute:
abap, actionscript, actionscript3, ada, apache, applescript, aptsources, asm, asp, autoit, avisynth, bash, bf, bibtex, blitzbasic, bnf, boo, c, cmac, caddcl, cadlisp, cil, cfdg, cfm, cmake, cobol, cpp-qt, cpp, csharp, css, d, dcs, delphi, diff, div, dos, dot, eiffel, email, erlang, fo, fortran, freebasic, genero, gettext, glsl, gml, bnuplot, groovy, haskell, hq9plus, html4strict, idl, ini, inno, intercal, io, java, java5, javascript, kixtart, klonec, klonecpp, latex, lisp, locobasic, lolcode lotusformulas, lotusscript, lscript, lsl2, lua, m68k, make, matlab, mirc, modula3, mpasm, mxml, mysql, nsis, oberon2, objc, ocaml-brief, ocaml, oobas, oracle11, oracle8, pascal, per, pic16, pixelbender, perl, php-brief, php, plsql, povray, powershell, progress, prolog, properties, providex, python, qbasic, rails, rebol, reg, robots, ruby, sas, scala, scheme, scilab, sdlbasic, smalltalk, smarty, sql, tcl, teraterm, text, thinbasic, tsql, typoscript, vb, vbnet, verilog, vhdl, vim, visualfoxpro, visualprolog, whitespace, whois, winbatch, xml, xorg_conf, xpp, z80
(Bold languages just highlight the more popular ones.)
WP-Syntax colors code using the default GeSHi colors. It also uses inline
styling to make sure that code highlights still work in RSS feeds. It uses a
default wp-syntax.css stylesheet for basic layout. To customize your styling,
copy the default wp-content/plugins/wp-syntax/wp-syntax.css to your theme's
template directory and modify it. If a file named wp-syntax.css exists in
your theme's template directory, this stylesheet is used instead of the default.
This allows theme authors to add their own customizations as they see fit.
WP-Syntax supports a wp_syntax_init_geshi action hook to customize GeSHi
initialization settings. Blog owners can handle the hook in a hand-made plugin
or somewhere else like this:
<?php
add_action('wp_syntax_init_geshi', 'my_custom_geshi_styles');
function my_custom_geshi_styles(&$geshi)
{
$geshi->set_brackets_style('color: #000;');
$geshi->set_keyword_group_style(1, 'color: #22f;');
}
?>
This allows for a great possibility of different customizations. Be sure to review the GeSHi Documentation.
0.9.8 : Fix for optional line attributes; Tested on WP 2.8
0.9.7 : Reverted GeSHi v1.0.8.3 to avoid a slew of issues;
0.9.6 : Updated to use GeSHi v1.0.8.4;
0.9.5 : Minor style override to prevent themes from mangling code structure
0.9.4 : Updated to use GeSHi v1.0.8.3;
0.9.3 : Fixed hard-coded plugin path (#964);
0.9.2 : Updated to use GeSHi v1.0.8.2; Added optional escaped="true"
support in case code snippets are already escaped with html entities.
0.9.1 : Updated to use GeSHi v1.0.8; Improved the FAQ;
0.9 : Added support for anonymous subscribers to use pre tags in their comments allowing for their own colored code snippets [Fernando Briano];
0.8 : Updated to use GeSHi v1.0.7.22 (this normally would be a revision release, but colors changed and there are 9 new languages supported); Added a font-size setting in the default css to thwart complaints about small sizes caused by other default WP themes;
0.7 : Automaticaly included common styles without requiring manual theme customization [Christian Heim]; Added support for adding a custom wp-syntax.css stylesheet to a theme;
0.6.1 : Updated to use GeSHi v1.0.7.21; Updated the WP compatibility version;
0.6 : Support init hook for geshi settings (wp_syntax_init_geshi);
(#667)
[reedom]
0.5.4 : Updated to use GeSHi v1.0.7.20;
0.5.3 : Fixed styling guideline issue that affected IE 6 [kimuraco];
0.5.2 : Updated to use GeSHi v1.0.7.19;
0.5.1 : Switched geshi directory export to utilize
piston instead of svn:externals properties;
0.5 : Added support for single quoted attributes; (#624)
0.4 : Cleanup and documentation for WordPress.org plugin listings;
0.3 : First official public release; Added line number support; Uses GeSHi v1.0.7.18; (#532)
0.2 : Internal release; Adds "before and after" filter support to avoid conflicts with other plugins; (#531)
0.1 : First internal release; Uses GeSHi v1.0.7.16;




