Skip to content

capynet/PHPygments

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 

PHPygments - PHP syntax highlighter based on Pygments

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 or table, 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:

  • monokai
    monokai example

  • manni
    monokai example

  • rrt
    monokai example

  • perldoc
    monokai example

  • borland
    monokai example

  • colorful
    monokai example

  • default
    monokai example

  • murphy
    monokai example

  • vs
    monokai example

  • trac
    monokai example

  • tango
    monokai example

  • fruity
    monokai example

  • autumn
    monokai example

  • bw
    monokai example

  • emacs
    monokai example

  • vim
    monokai example

  • pastie
    monokai example

  • friendly
    monokai example

  • native
    monokai example

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 file
  • yaml: (*.yaml, *.yml)
  • perl: Perl (*.pl, *.pm)
  • vb.net: VB.net (*.vb, *.bas)
  • console: Bash Session (*.sh-session)
Javascript
  • javascript: Pure Javascript
  • coffeescript: Pure CoffeeScript
  • json: Pure JSON
PHP
  • cssphp: PHP embedded in CSS
  • htmlphp: PHP embedded in HTML
  • jsphp: PHP embedded in JS
  • php: Pure PHP
  • xmlphp: PHP embedded in XML
Ruby
  • ruby, duby: Ruby (*.rb, *.rbw, *.rake, *.gemspec, *.rbx, *.duby)
  • csserb, cssruby: Ruby embedded in CSS
  • xmlerb, 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 Python
  • python3: Pure Python 3
  • xmldjango, xmljinja: Django/Jinja embedded in XML
  • cssdjango, cssjinja: Django/Jinja embedded in CSS
  • django, jinja: Pure Django/Jinja
  • htmldjango, htmljinja: Django/Jinja embedded in HTML
  • jsdjango, 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)