PHPygments - PHP syntax highlighter based on Pygments
Server side syntax highlighter based on Pygments highlighter software.
To use this plugin you need pygments in your server:
sudo apt-get install python-setuptools
easy_install Pygments
That's all. Now you can download the plugin via Composer or as independent library and use it.
require "../PHPygments.php";
$code = file_get_contents("test.js");
$result = PHPygments::render($code, "js");
//Load CSS for this highlighted code
foreach ($result["styles"] as $style) {
print '<link href="' . $style . '" media="all" rel="stylesheet" type="text/css" />';
}
//and print the code.
echo $result["code"];PHPygments::render($code, $language, $style, $linenumbers)
$code: the source code to highlight$language: Language type. see section "Languages and filetypes supported" in this doc.$style: Color style to use (default to "default" style). see "Color styles" un this doc.$linenumbers:inlineortable, the line numbers will be added as independent table column or as part of the line.
[javascript]
//comment line
var foo = "foo";
var bar = function(){
var baz;
}
[/javascript]
Outputs highlighted js with default style, and no line numbers.
[javascript style="monokai" linenumbers="inline"]
//comment line
var foo = "foo";
var bar = function(){
var baz;
}
[/javascript]
Outputs highlighted js with monokai style with line numbers (as part of the line).
[javascript style="monokai" linenumbers="table"]
//comment line
var foo = "foo";
var bar = function(){
var baz;
}
[/javascript]
Outputs highlighted js with monokai style with line numbers (as new column).
These are supported color styles:
Pygments not only highlights languages. also highlights filetypes like .conf Nginx configuration file, Apache (filenames .htaccess, apache.conf, apache2.conf), etc.
NOTE: to use see "Usage" section
apacheconf: (.htaccess, apache.conf, apache2.conf)bash,sh,ksh: (*.sh, *.ksh, *.bash, *.ebuild, *.eclass, .bashrc, bashrc)ini,cfg: (*.ini, *.cfg)makefile: (.mak, Makefile, makefile, Makefile., GNUmakefile)nginx: Nginx configuration fileyaml: (*.yaml, *.yml)perl: Perl (*.pl, *.pm)vb.net: VB.net (*.vb, *.bas)console: Bash Session (*.sh-session)
javascript: Pure Javascriptcoffeescript: Pure CoffeeScriptjson: Pure JSON
cssphp: PHP embedded in CSShtmlphp: PHP embedded in HTMLjsphp: PHP embedded in JSphp: Pure PHPxmlphp: PHP embedded in XML
ruby,duby: Ruby (*.rb, *.rbw, *.rake, *.gemspec, *.rbx, *.duby)csserb,cssruby: Ruby embedded in CSSxmlerb,xmlruby: Ruby embedded in XML
css: CSS (*.css)sass: Sass (*.sass)scss: SCSS (*.scss)
html: HTML (*.html, *.htm, *.xhtml, *.xslt)haml: Haml (*.haml)jade: Jade (*.jade)
sql: SQL (*.sql)sqlite3: sqlite3con (*.sqlite3-console)mysql: MySQL
python: Pure Pythonpython3: Pure Python 3xmldjango,xmljinja: Django/Jinja embedded in XMLcssdjango,cssjinja: Django/Jinja embedded in CSSdjango,jinja: Pure Django/Jinjahtmldjango,htmljinja: Django/Jinja embedded in HTMLjsdjango,jsjinja: Django/Jinja embedded in Javascript
java: Java (*.java)clojure: clojure (*.clj)groovy: Groovy (*.groovy)jsp: Java Server Page (*.jsp)
cobjdump: c-objdump (*.c-objdump)c: C (*.c, *.h, *.idc)cpp: C++ (*.cpp, *.hpp, *.c++, *.h++, *.cc, *.hh, *.cxx, *.hxx)csharp: C# (*.cs)objectivec: (*.m)
xml: (*.xml, *.xsl, *.rss, *.xslt, *.xsd, *.wsdl)xslt: (*.xsl, *.xslt)


















