Code example box with syntax highlighting

Description

The CodeExampleMacro renders a code example box that supports syntax highlighting. It support three types of examples: simple, correct, and incorrect.

Features:

  • The SELECT ALL link highlights all of the code in the box to simplify the copy and paste action.
  • A mouse click on the header (title) will show or hide the code block.
  • Code from the repository can be displayed using TracLinks syntax. The multiple repository configuration (Trac >= 0.12) is supported.

All rights reserved by Codedgers Inc.

Bugs/Feature Requests

Existing bugs and feature requests for CodeExampleMacro are here.

If you have any issues, create a new ticket.

Download

Download the zipped source from here.

Source

You can check out CodeExampleMacro from here using Subversion, or browse the source with Trac.

Example

The simple example:

{{{
#!CodeExample
#!python
@staticmethod
def get_templates_dirs():
    """ Notify Trac about templates dir. """
    from pkg_resources import resource_filename
    return [resource_filename(__name__, 'templates')]
}}}

will be rendered as:

The incorrect example:

{{{
#!CodeExample
## type = bad
#!haskell
fibs = 0 : 1 : [ a + b | a <- fibs | b <- tail fibs ]
}}}

will be rendered as:

The correct example:

{{{
#!CodeExample
## type = good
#!haskell
fibs = 0 : 1 : zipWith (+) fibs (tail fibs)
}}}

will be rendered as:

There is also support for getting sources from the repository:

{{{
#!CodeExample
## path=GPGMail/Source/GPGMailPreferences.m
## regex=".*updater\s*{"
## lines=3
#!objective-c
}}}

will be rendered as:

Parameters:

type optional a type of the example: simple (default), good, bad
title optional the title of the example
path optional a file in the repository (using TracLinks format for source code)
repo optional repository to use (Trac 0.12 and upper only)
regex optional a regular expression indicates where to start an example
lines optional number of lines to show

Recent Changes

[10843] by rjollos on 10/27/11 08:17:57

Adding configuration file that results in svn revision info being added to the egg file.

[10842] by rjollos on 10/27/11 08:04:27

Fixes #8890: Fixed module name in setup.py.

[10841] by rjollos on 10/27/11 07:56:53

Fixes #8889: Reorganized repository layout.

[9205] by nuald on 09/29/10 09:56:29

Trac 0.12 multiply repos support has been added.

Author/Contributors

Author: nuald
Maintainer: nuald
Contributors:

Attachments