GeSHi Filter for syntax highlighting
Component ID
Component name
Component type
Maintenance status
Development status
Component security advisory coverage
Downloads
Component created
Component changed
Component body
The GeShi Filter module provides a filter for source code syntax highlighting for a wide range of languages.
Source code can be entered with for example <code type="java">...</code> or <blockcode language="python">...</blockcode>. Starting from version 5.x-2.0 it is also possible to define your own generic and language specific tags (e.g. <java>) or to work with square bracket style tags (e.g. [python]). Automatically adding line numbers is possible too with for example [ruby linenumbers="normal"].
Language Support
At the time of this writing the GeSHi library supports highlighting for more than 200 programming languages and configuration syntaxes, including: ActionScript, Ada, Apache Log, AppleScript, ASM, ASP, Bash, C, ColdFusion, C++, QT, C#, CSS, D, Delphi, Diff, DOS, dot, Eiffel, Fortran, Groovy, Haskell, HTML, INI, Inno, Java, Javascript, LaTeX, Lisp, Lua, Motorola 68000 Assembler, Matlab, mIRC Scripting, MySQL, Objective C, OCaml, OpenOffice.org Basic, Oracle 8 SQL, Pascal, Perl, PHP, PL/SQL, Python, QBasic/QuickBASIC, Rails, Microsoft Registry, robots.txt, Ruby, SAS, Scheme, Smalltalk, Smarty, SQL, TCL, Text, Visual Basic, vb.net, VHDL, XML, X++.
Additional support for highlighting Drupal source code is provided too.
Third party library dependency: GeSHi (version 1.0.x)
This module requires the third-party PHP library GeSHi (Generic Syntax Highlighter), which has to be downloaded separately.
Important note: only the 1.0.x branch of the GeSHi library is supported, so do not use the development branch GeSHi 1.1.x. Direct link to GeSHi 1.0.x releases: http://sourceforge.net/projects/geshi/files/geshi/
Drupal 8 Status
We have now a stable version for Drupal 8.
Error in update with composer.
The last dev and the future 8.x-1.2 versions have a change in composer.json, we do not require the dev version from geshi library, we require the last stable version. If it do not show a update, try using --with-dependencies, so it will update the geshifilter module and the dependencies(Geshi Library):
composer update drupal/geshifilter --with-dependencies
This is only for people that use composer, if you do not use, it is not necessary any change.
7.x-1.x
The 7.x branch requires the Libraries API (2.x-dev). A drush make file is also included that will download both the libraries API and the geshi dependency.
History
The 4.7.x-1.x branch is based on the original GeSHi filter module by Vincent Filby. The 5.x-1.x branch is a basic port of this version for Drupal 5.
In the 5.x-2.x branch the GeSHi filter got a major overhaul. Main features/changes: configurable code block tags, per language tags (e.g. <java>), a submodule for a GeSHi source code node type, easier administration UI, guided filter conflict solving, and many bug fixes.
Installation
Since the installation is not the same for Drupal 7 and 8, see the install instructions at README.txt for Drupal 8 and README.txt for Drupal 7.
Related modules/alternatives
- Code filter: a simple module with support for PHP syntax highlighting
- Syntax Highlighter uses a Javascript library to add syntax highlighting client side (unlike GeSHi filter, which renders the highlighted code server side).
- Chili highlighter also uses a Javascript library to do the syntax highlighting client side.
- Ajax Markup
- Compile GeSHi: compile source code snippets
- Windows Live Writer Plug-in: GeSHi Server Blocks (more info)
- Allow use of GeSHi Filter with Wysiwyg module for Drupal 7 and CKEditor (experimental module).