Writing code on your website using GeSHi? Maybe you'd like that code to be compiled automatically for you?

The Compile GeSHi Node module offers an interface for this purpose. It is a bit of manual setup, but you're a programmer, so it shouldn't scare you a bit. Get ready to compile your code without having to run make in your command line and copy/paste the code from your text files to your browser!


It is preferable, because of the nature of this feature, to run a website with this module only on a local server (intranet) or at least avoid running what is being compiled (do not run the tests or the final program.)

Although it is secure, a hacker who gains access to your account could write any software and run it on your server at once!

Note that there is an .htaccess file in the scripts folder. Please, make sure it works on your server. You may also copy its content in your main .htaccess and remove this one.


  • Taxonomy
  • GeSHi Project including the GeSHi Node module which is required
  • Views (optional, recommended)
  • The necessary compiler(s) on your server


  1. Get the tarball and install on your Drupal website
  2. Check the compile_geshi/scripts/.htaccess file and make it work for your server (you should not be able to see the index.html file!)
  3. Go to the Modules administration screen and enable the module
  4. Go to your taxonomies, add terms to "Compile GeSHi Project":
    1. The term name is your project name
    2. Mark the term as a Compile GeSHi Node Project (by enabling it)
    3. Make other selections, especially the command line; and
    4. Enter a path to the source code tree (must be writable by your web server)
    5. (note: right now the # of results and tarballs are ignored since those features are not implemented yet)
  5. Got to your taxonomies, add terms to "Compile GeSHi File Type":
    1. Give the term the name of a file type (Include, Body, Definitions...)
    2. Define the file extension (can be empty) such as .h, .adb, .C, etc.
  6. You may want to have Views installed to get lists of your results, GeSHi nodes, etc.

The process runs in two steps on each CRON run:

(1) Extract all the GeSHi node of a project (you can have as many projects as you'd like); once all the files were successfully extracted, run the compiler (command line specified in the project.)

(2) Read the results from the compiler. The system expects a project-<version>-results.txt file to appear once the compiler is done.

So if your CRON runs once an hour, you get the results within about 2h. (better be patient!)

Supported Languages

The following are the supported language. If you don't see yours, don't be afraid, it's very easy to add support. Just look in the scripts sub-folder and add a script for your own language, and if you can, share your script with us! (post as a patch in an issue.)

  • Ada

Useful Tools

Using FireFox or SeaMonkey? I suggest you install It's All Text!. This is an add-on giving you the ability to open your GeSHi Nodes directly in your favorite editor.

Project Information