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
:inline
ortable
, 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)