phpygments / phpygments
Syntax highlighter bridge for pygments
Requires
- php: >=5.3
This package is not auto-updated.
Last update: 2025-05-05 16:58:10 UTC
README
Server side syntax highlighter based on Pygments highlighter software.
Installation:
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.
Usage
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"];
Options
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.
Examples
[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).
Color styles
These are supported color styles:
Languages and filetypes supported
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
General
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
javascript
: Pure Javascriptcoffeescript
: Pure CoffeeScriptjson
: Pure JSON
PHP
cssphp
: PHP embedded in CSShtmlphp
: PHP embedded in HTMLjsphp
: PHP embedded in JSphp
: Pure PHPxmlphp
: PHP embedded in XML
Ruby
ruby
,duby
: Ruby (*.rb, *.rbw, *.rake, *.gemspec, *.rbx, *.duby)csserb
,cssruby
: Ruby embedded in CSSxmlerb
,xmlruby
: Ruby embedded in XML
CSS and CSS compilers
css
: CSS (*.css)sass
: Sass (*.sass)scss
: SCSS (*.scss)
HTML and HTML template systems
html
: HTML (*.html, *.htm, *.xhtml, *.xslt)haml
: Haml (*.haml)jade
: Jade (*.jade)
SQL
sql
: SQL (*.sql)sqlite3
: sqlite3con (*.sqlite3-console)mysql
: MySQL
Python, jinja & Django
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 && family
java
: Java (*.java)clojure
: clojure (*.clj)groovy
: Groovy (*.groovy)jsp
: Java Server Page (*.jsp)
C, C++, Objetive-c, C Sharp
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
: (*.xml, *.xsl, *.rss, *.xslt, *.xsd, *.wsdl)xslt
: (*.xsl, *.xslt)