=== Plugin Name === Tags: syntax highlight, syntax, highlight, formatting, code, syntax highlighting, code formatting, syntax formatting, geshi Donate link: http://www.fractalizer.ru Requires at least: 2.8 Tested up to: 4.4.1 Stable tag: 2.4.3 Plugin provides syntax highlighting for about 116 programming languages via Geshi. == Description == Plugin provides syntax highlighting in posts and comments. * **Full GUI** mode. No need to switch to code mode and back like in some other plugins * **GUI editor** with **realtime** syntax highligting support integrated (can be disable in settings) * **GUI button** to help with highlighting options. No need to memorize them! * Blog-wide default settings for code highlighting. Now you can change the look of all your posts at once! * Many options to customize code highlighting (almost full Geshi set) If you like this plugin, you can make a donation with WebMoney (R704473788938, R704473788938), Yandex.Money (41001122895969), MoneyBookers (FractalizeR@yandex.ru) == Usage == Just select all your source code in the editor and use editor button (preferred method) or surround your code directly in WYSIWYG editor with a [codesyntax] [/codesyntax] tag like this [codesyntax lang="php"] `/i'; $replace [] = "\r\n"; $content = preg_replace($find, $replace, $content); ?>` [/codesyntax] [filesyntax filename="test.phps" lang="php"] The tag in the last example should be enabled in settings. See it's description below also. and you will get wonderful geshi formatting. Format all your source code with Preformatted style to preserve spaces. If you need to change settings of already formatted block - select it all and press GUI editor button again. Plugin will recognize all settings you used. Plugin recognizes several popular geshi options to render highlighting: **filename** The relative filename of the file inside a folder, allowed for [filesyntax] tag to take the source for highlighting from. Works only in [filesyntax] tag **lang** The programming language you want to be your source highlighted in. [codesyntax lang="java"]My java code goes here...[/codesyntax] The name of the language should match the name of the highlighter file. For the list of all supported highlighters please look at /wp-content/plugins/wp-synhighlighter/geshi/geshi directory of your WordPress installation after installing this plugin. A list of currently support languages: abap, actionscript, actionscript3, ada, apache, applescript, `apt_sources`, asm, asp, autoit, avisynth, bash, basic4gl, blitzbasic, bnf, boo, c, caddcl, cadlisp, cfdg, cfm, cil, cobol, cpp-qt, cpp, csharp, css, `c_mac`, d, delphi, diff, div, dos, dot, eiffel, email, fortran, freebasic, genero, gettext, glsl, gml, gnuplot, groovy, haskell, html4strict, idl, ini, inno, io, java, java5, javascript, kixtart, klonec, klonecpp, latex, lisp, list.txt, lotusformulas, lotusscript, lua, m68k, make, matlab, mirc, mpasm, mxml, mysql, nsis, objc, ocaml-brief, ocaml, oobas, oracle11, oracle8, pascal, per, perl, php-brief, php, pic16, plsql, povray, powershell, progress, prolog, python, qbasic, rails, reg, robots, ruby, sas, scala, scheme, scilab, sdlbasic, smalltalk, smarty, sql, tcl, teraterm, text, thinbasic, tsql, typoscript, vb, vbnet, verilog, vhdl, visualfoxpro, winbatch, xml, xorg_conf, xpp, z80 **lines** Do you want line numbers to be visible? Possible parameter values are: * *no* - no line numbers. [codesyntax lang="java" lines="no"]My java code[/codesyntax] * *normal* = normal line numbering * *fancy* - fancy line numbering This parameter defaults to fancy **lines_start** You can provide this parameter if you want your line numbering to start with a custom value. [codesyntax lang="java" lines="fancy" lines_start="1000"]My java code[/codesyntax]. Please don't forget to enclose a value into quotes exactly like in example By default numbering starts with 1. **container** You can select container, that your code will be wrapped in * *pre* * *div* * *pre_valid* * *pre_table* * *none* By default pre is used. [codesyntax lang="java" container="pre"]My java code[/codesyntax] More information can be found in [Geshi documentation](http://qbnz.com/highlighter/geshi-doc.html#the-code-container) **capitalize** Do you wish your keywords to be automatically capitalized or decapitalized? * *no* - don't change anything * *upper* - convert all keywords into uppercase * *lower* - convert all keywords into lowercase By default no change is assumed [codesyntax lang="java" capitalize="upper" lines_start="1000"] **tab_width** If you want to change tab width, use this parameter: [codesyntax lang="java" tab_width="10"] **strict** This setting enables or disables strict mode for formatting complex pieces of data. Please see [Geshi documentation](http://qbnz.com/highlighter/geshi-doc.html#using-strict-mode) to find out more on the subject **title (new in 0.91)** This attribute sets the header of the collapsable code block ("Code" by default) **bookmarkname (new in 0.91)** The name of bookmark (Named anchor tag ``) you want to refer to this codeblock. By default it is `codesyntaxX`, where X is 1 for first code block on the page, 2 for second etc. You can refer to your codeblocks using hyperlinks `< a href="#codesyntax5">Link to fifth code block on the page` or, if you used `[codesyntax bookmarkname="fifthcode"] lang="php"` bbcode, you can then refer to this codeblock as `< a href="#fifthcode">Link to fifth code block on the page` **blockstate (new in 0.97)** Sets initial code block state when the page is shown to user. It can be default, expanded or collapsed. Default corresponds to expanded currently. **highlight_lines (new in 1.1)** Provides a comma-separated list of lines, that should be specially highlighted in the code **doclinks (new in 2.3)** Enables or disables generation of documentation links for keywords == Installation == This section describes how to install the plugin and get it working. 1. Unpack plugin archive into `/wp-content/plugins/` directory 1. Activate the plugin through the 'Plugins' menu in WordPress The below actions are not needed after installation. Just some customization. 1. You can update Geshi if you like by downloading a new version from it's site and overwritting files in geshi folder of plugin. Geshi is untouched by me ;) 1. You can customize collapsable code block by changing `wp-synhighlighter.css` file in the plugin folder 1. You can change the template of the collapsable code block by editing `template.php` file == Frequently Asked Questions == = Where do I send suggestions on improving the plugin? = I am glad to accept offers or code patches for the plugin by email: [FractalizeR@yandex.ru](mailto:FractalizeR@yandex.ru) = Why PHP scripts are not highlighted with your plugin? = Please start PHP code you want to highlight from PHP tag tag outisde tag is breaking HTML validity * Every time browser encounters