Plugin: syntax
Author: VictorMoral
Included in ikiwiki: no
Enabled by default: no
Included in goodstuff: no
Currently enabled: no

The syntax plugin adds support to ikiwiki for syntax highlighting through the vim editor and its perl interface Text::VimColor. It depends on a functional vim installation.

The plugin inserts a fragment of HTML with special marks from a file or a string text. It accepts the following parameters:

  • type (optional): this is the file type for vim syntax highlighthing. It can be omitted if the param file exists.
  • file: Path to the source file. It must exist on every rebuild of the wiki.
  • text: Text string with the source.
  • description (optional): little description about the content.
  • linenumbers (optional): enable the line numering of the source page. A value greater than zero is the first line number.

The params file and text are mutually exclusive.

In the case of file parameter, syntax will build a html link for direct download.

Example:

   [[!syntax  type="perl" text="""  
   #!/usr/bin/perl

   my $a = "World";
   print "Hello, ${a}\n";
   """]]

or

   [[!syntax  file="/examples/hello.pl" description="My first perl program"]]

This plugin create the following CSS styles:

  • syntax
  • synComment
  • synConstant
  • syncIdentifier
  • synPreProc
  • synType
  • synSpecial
  • synUnderlined
  • synError
  • synTodo
  • synTitle

It can be downloaded from here or through my personal debian repository at http://taquiones.net/files/debian/. There is a page with examples: http://taquiones.net/software/syntax-examples.html

NOTE: all the above links are broken

Any help, comments or critics are welcome at victor@taquiones.net.

version 0.9

  • Add a force_subpage parameter for link build
  • Fix a bug in syntax page link
  • Documented a bug with markdown indented text
  • Documented the syntax directive

version 0.7

  • Version change to GPL
  • Add linenumbers parameter
  • The file parameter should be point to a ikiwiki source page.
  • The description parameter will be converted on a URL if the file parameter exist.

I need help for debugging this module. Thanks in advance.