GeSHi filter

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

We have now a stable version for Drupal 8.

The new Branch 8.2.x requires PHP 7.3 and Drupal 8.8.x. The old Branch, 8.1.3 still work with previous versions of PHP and Drupal.

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.

Drupal 7

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.
Due to changes necessary to suport PHP 7.3, we now need PHP 5.3(I tested with PHP 5.6).

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.

For codesnippetgeshi submodule please read README.txt

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.

Related modules/alternatives

Project information

Releases