Merge remote-tracking branch 'schmonz/cvs'
[ikiwiki] / doc / plugins / contrib / syntax.mdwn
1 [[!template id=plugin name=syntax author="[[VictorMoral]]"]]
2 [[!tag type/chrome type/slow]]
3
4 The `syntax` plugin adds support to ikiwiki for syntax highlighting through the *vim* editor and its perl interface [[!cpan Text::VimColor]].  It depends on a functional vim installation.
5
6 The plugin inserts a fragment of HTML with special marks from a file or a string text. It accepts the following parameters:
7
8 * **type** (optional): this is the file type for vim syntax highlighthing. It can be omitted if the param *file* exists.
9 * **file**: Path to the source file. It must exist on every rebuild of the wiki.
10 * **text**: Text string with the source.
11 * **description** (optional): little description about the content.
12 * **linenumbers** (optional): enable the line numering of the source page. A value greater than zero is the first line number.
13
14 The params *file* and *text* are mutually exclusive.
15
16 In the case of file parameter, `syntax` will build a html link for direct download.
17
18 Example:
19
20        \[[!syntax type="perl" text="""  
21        #!/usr/bin/perl
22
23        my $a = "World";
24        print "Hello, ${a}\n";
25        """]]
26
27 or 
28
29        \[[!syntax file="/examples/hello.pl" description="My first perl program"]]
30
31 This plugin create the following CSS styles:
32
33 * syntax
34 * synComment
35 * synConstant
36 * syncIdentifier
37 * synPreProc
38 * synType
39 * synSpecial
40 * synUnderlined
41 * synError
42 * synTodo
43 * synTitle
44
45 It can be downloaded from [here](http://taquiones.net/files/misc/) 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>
46
47 Any help, comments or critics are welcome at <victor@taquiones.net>.
48
49 ## version 0.9
50
51 - Add a force_subpage parameter for link build
52 - Fix a bug in syntax page link
53 - Documented a bug with markdown indented text
54 - Documented the syntax directive
55
56 ## version 0.7
57
58 - Version change to GPL
59 - Add *linenumbers* parameter
60 - The *file* parameter should be point to a ikiwiki source page. 
61 - The *description* parameter will be converted on a URL if the *file* parameter exist.
62
63 I need help for debugging this module. Thanks in advance.