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