webgen 0.4.1 → 0.4.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (93) hide show
  1. data/ChangeLog +300 -0
  2. data/Rakefile +149 -27
  3. data/TODO +3 -4
  4. data/VERSION +1 -1
  5. data/data/webgen/gallery_styles/slides/collage.rb +7 -4
  6. data/data/webgen/sipttra_styles/default/README +7 -0
  7. data/data/webgen/sipttra_styles/default/css/sipttra.rcss +71 -0
  8. data/data/webgen/sipttra_styles/default/js/sipttra.js +7 -0
  9. data/data/webgen/sipttra_styles/default/sipttra.template +105 -0
  10. data/data/webgen/website_styles/1024px/README +3 -0
  11. data/data/webgen/website_styles/1024px/default.css +3 -3
  12. data/data/webgen/website_styles/andreas00/README +4 -1
  13. data/data/webgen/website_styles/andreas00/default.css +2 -2
  14. data/data/webgen/website_styles/andreas01/README +3 -0
  15. data/data/webgen/website_styles/andreas01/default.css +3 -3
  16. data/data/webgen/website_styles/andreas03/README +4 -1
  17. data/data/webgen/website_styles/andreas03/default.css +2 -2
  18. data/data/webgen/website_styles/andreas04/README +3 -0
  19. data/data/webgen/website_styles/andreas04/default.css +2 -2
  20. data/data/webgen/website_styles/andreas05/README +3 -0
  21. data/data/webgen/website_styles/andreas05/default.css +2 -2
  22. data/data/webgen/website_styles/andreas06/README +3 -0
  23. data/data/webgen/website_styles/andreas06/default.css +3 -2
  24. data/data/webgen/website_styles/andreas07/README +3 -0
  25. data/data/webgen/website_styles/andreas07/default.css +4 -4
  26. data/data/webgen/website_styles/andreas08/README +4 -1
  27. data/data/webgen/website_styles/andreas08/default.css +2 -2
  28. data/data/webgen/website_styles/andreas08/default.template +1 -1
  29. data/data/webgen/website_styles/andreas09/README +3 -0
  30. data/data/webgen/website_styles/andreas09/default.css +2 -2
  31. data/data/webgen/website_styles/default/README +1 -1
  32. data/data/webgen/website_styles/default/default.css +1 -1
  33. data/data/webgen/website_styles/plain/README +7 -2
  34. data/data/webgen/website_styles/plain/default.css +2 -2
  35. data/doc/config.yaml +3 -0
  36. data/doc/metainfo.yaml +20 -3
  37. data/doc/src/css/sipttra.rcss +71 -0
  38. data/doc/src/default.template +10 -5
  39. data/doc/src/documentation/howto.page +221 -0
  40. data/doc/src/documentation/plugins/contentconverter/default.page +1 -0
  41. data/doc/src/documentation/plugins/contentconverter/xmlbuilder.page +2 -2
  42. data/doc/src/documentation/plugins/core/configuration.page +6 -0
  43. data/doc/src/documentation/plugins/core/resourcemanager.page +4 -10
  44. data/doc/src/documentation/plugins/file/defaulthandler.page +1 -0
  45. data/doc/src/documentation/plugins/file/sipttrahandler.page +18 -0
  46. data/doc/src/documentation/plugins/file/templatehandler.page +27 -10
  47. data/doc/src/documentation/plugins/file/thumbnailwriter.page +5 -2
  48. data/doc/src/documentation/plugins/htmlvalidator/default.page +1 -0
  49. data/doc/src/documentation/plugins/index.page +2 -2
  50. data/doc/src/documentation/plugins/menustyle/default.page +1 -0
  51. data/doc/src/documentation/plugins/tag/breadcrumbtrail.page +12 -0
  52. data/doc/src/documentation/plugins/tag/customvar.page +11 -0
  53. data/doc/src/documentation/plugins/tag/default.page +1 -0
  54. data/doc/src/documentation/references/index.page +8 -0
  55. data/doc/src/documentation/references/meta_info_reference.page +35 -16
  56. data/doc/src/documentation/references/resource_reference.page +18 -0
  57. data/doc/src/documentation/references/sipttra_format.page +241 -0
  58. data/doc/src/documentation/references/webpage_format.page +4 -0
  59. data/doc/src/examples/example_sites/index.page +41 -0
  60. data/doc/src/examples/example_sites/personal.zip +0 -0
  61. data/doc/src/examples/example_sites/photo_gallery.zip +0 -0
  62. data/doc/src/examples/index.page +2 -1
  63. data/doc/src/js/sipttra.js +7 -0
  64. data/doc/src/news.page +25 -0
  65. data/doc/src/project.todo +91 -0
  66. data/doc/src/sipttra.template +105 -0
  67. data/lib/webgen/cli.rb +31 -1
  68. data/lib/webgen/config.rb +2 -2
  69. data/lib/webgen/plugin.rb +7 -3
  70. data/lib/webgen/plugins/coreplugins/configuration.rb +3 -1
  71. data/lib/webgen/plugins/filehandlers/filehandler.rb +6 -5
  72. data/lib/webgen/plugins/filehandlers/sipttra.rb +73 -0
  73. data/lib/webgen/plugins/filehandlers/template.rb +2 -1
  74. data/lib/webgen/plugins/miscplugins/treewalker.rb +40 -4
  75. data/lib/webgen/plugins/tags/breadcrumbtrail.rb +14 -1
  76. data/lib/webgen/plugins/tags/customvar.rb +54 -0
  77. data/lib/webgen/sipttra_format.rb +343 -0
  78. data/lib/webgen/website.rb +25 -1
  79. data/man/man1/webgen.1 +75 -0
  80. data/setup.rb +861 -607
  81. data/test/fixtures/sample_site/src/test.todo +7 -0
  82. data/test/fixtures/tc_plugin/plugin1.rb +2 -0
  83. data/test/fixtures/tc_sipttra_format/test.sipttra +46 -0
  84. data/test/unittests/tc_filehandler_sipttra.rb +26 -0
  85. data/test/unittests/tc_filehandler_template.rb +2 -1
  86. data/test/unittests/tc_plugin.rb +8 -1
  87. data/test/unittests/tc_sipttra_format.rb +58 -0
  88. data/test/unittests/tc_tags_breadcrumbtrail.rb +34 -0
  89. data/test/unittests/tc_tags_customvar.rb +24 -0
  90. data/test/unittests/tc_tags_date.rb +1 -0
  91. data/test/unittests/tc_tags_includefile.rb +6 -13
  92. data/test/unittests/tc_treewalker.rb +8 -1
  93. metadata +37 -3
@@ -2,6 +2,7 @@
2
2
  title: Default
3
3
  directoryName: ContentConverter
4
4
  inMenu: true
5
+ omitIndexFileInBreadcrumbTrail: false
5
6
  template: /plugin.template
6
7
  plugin: ContentConverter/Default
7
8
  ---
@@ -40,8 +40,8 @@ The above will produce the following output:
40
40
  <pre>
41
41
  <persons>
42
42
  <person>
43
- <firstname>Thomas</firstname>
44
- <lastname>Leitner</lastname>
43
+ <firstname>Thomas</firstname>
44
+ <lastname>Leitner</lastname>
45
45
  </person>
46
46
  <person>
47
47
  <firstname>Other first</firstname>
@@ -9,3 +9,9 @@ h2(#description). Description
9
9
 
10
10
  The configuration plugin provides a place for all the parameters which do not belong to a specific
11
11
  plugin, like the default language setting.
12
+
13
+ It also provides support for "custom variables" through the {param: Core/Configuration:customVars}
14
+ parameter. This facility can be used to store and access global variables that have been defined in
15
+ the <a href="{relocatable: /documentation/basics.page#config}">configuration file</a> through, for
16
+ example, the {plugin: Tag/CustomVar} plugin.
17
+
@@ -34,13 +34,7 @@ Speaking of the output path, each resource has four properties:
34
34
  h2(#resources). Predefined Resources
35
35
 
36
36
  A reason why webgen has a ResourceManager is the possibility to ship predefined resources with
37
- webgen. These resources can be used by any website developed with webgen.
38
-
39
- *Credits*:
40
-
41
- * webgen-icons-<notextile>*</notextile>: These icons were taken from the "CrystalClear" package from
42
- "http://www.kde-look.org/content/show.php?content=25668":http://www.kde-look.org/content/show.php?content=25668
43
- * webgen-emoticons-<notextile>*</notextile>: Credits for the individual emoticon packs are listed on the {plugin:
44
- Misc/SmileyReplacer} page
45
-
46
- <notextile>{predefinedResources:}</notextile>
37
+ webgen. These resources can be used by any website developed with webgen. The list of predefined
38
+ resources can be viewed on the
39
+ <a href="{relocatable: /documentation/references/resource_reference.page}">Resource Reference</a>
40
+ page.
@@ -2,6 +2,7 @@
2
2
  title: DefaultHandler
3
3
  directoryName: File
4
4
  inMenu: true
5
+ omitIndexFileInBreadcrumbTrail: false
5
6
  template: /plugin.template
6
7
  plugin: File/DefaultHandler
7
8
  ---
@@ -0,0 +1,18 @@
1
+ ---
2
+ title: SipttraHandler
3
+ inMenu: true
4
+ template: /plugin.template
5
+ plugin: File/SipttraHandler
6
+ ---
7
+ h2(#description). Description
8
+
9
+ This plugin handles <a href="{relocatable:/documentation/references/sipttra_format.page}">sipttra</a>
10
+ (Simple Plain Text Tracker) files. This is a custom text format which one can use if a sophisticated
11
+ tracker like Bugzilla or Trac is an overkill.
12
+
13
+ The special key @webgen-metainfo@ in the meta information section of a sipttra file can be used to
14
+ define meta information for the generated page.
15
+
16
+ If you have created a sipttra file, you should also use a
17
+ <a href="{relocatable: /examples/sipttra_styles}">sipttra style</a> to specify how
18
+ the generated tracker page should look like.
@@ -12,9 +12,7 @@ using a page file.
12
12
 
13
13
  These files have the same format as page files - more information about this format can be found
14
14
  in the <a href="{relocatable: /documentation/references/webpage_format.page}">WebPage Format reference</a>.
15
- Also be aware that the template handler uses the content format set for the page handler! This is
16
- normally something like Textile or Markdown, if you want to use plain HTML you have to explicitly
17
- specify it!
15
+ The default content format for template files is HTML (contrary to page files).
18
16
 
19
17
  The parameter {param: File/TemplateHandler:defaultTemplate} specifies the name of the default
20
18
  template which is used when no explicit template for a page file is set via the meta information
@@ -24,11 +22,30 @@ default template isn't found in the root directory, no template is used at all.
24
22
  you create a default template in the root directory, it is used as template for all page files that
25
23
  have no explicit template set.
26
24
 
27
- It is also possible to nest templates. This makes it possible, for example, to create a general
28
- website layout and then to create a special image gallery layout which uses the general one. As the
29
- template files have the same format as page files, you just need to set the @template@ meta
30
- information on a template to specify the template in which it should be nested.
25
+ webgen also uses the concept of a template chain to support multiple templates for one page file!
26
+ For example, assume that
31
27
 
32
- This page uses two templates: a general one which defines the overall layout of the website (the
33
- menus and so on) and a specific plugin documentation template which provides the general information
34
- section.
28
+ * the page file @index.page@ has set the @template@ meta information to @special.template@,
29
+ * the template @special.template@ has no @template@ meta information set and
30
+ * the page file @other.page@ also has no @template@ meta information set.
31
+
32
+ The template chain for @index.page@ would look like this
33
+
34
+ @default.template@ <= @special.template@ <= @index.page@
35
+
36
+ whereas the template chain for @other.page@ would look like this
37
+
38
+ @default.template@ <= @index.page@
39
+
40
+ The first case also means that the @special.template@ is nested in the @default.template@! This
41
+ makes it possible, for example, to create a general website layout and then to create a special
42
+ image gallery layout which uses the general one.
43
+
44
+ To stop the template handler from further searching for a template, you explicitly need set a null
45
+ template for the page or template file:
46
+
47
+ template: ~
48
+
49
+ This is useful if you want to have a different @default.template@ in a sub directory which should
50
+ provide a different look-and-feel for this subtree as the @default.template@ in the root of the
51
+ website.
@@ -14,8 +14,11 @@ The {param: File/ThumbnailWriter:thumbnailSize} parameter has to be in the forma
14
14
  where WIDTH and HEIGHT are numeric values specifying the width and the height for the thumbnail.
15
15
 
16
16
  The {param: File/ThumbnailWriter:resizeMethod} parameter specifies how the image should be resized
17
- for creating the thumbnail. The following pictures illustrate the differences between the settings
18
- for a thumbnail size of 100x100:
17
+ for creating the thumbnail. *Be aware* that the value has to be a symbol, not a string (@:normal@
18
+ instead of @normal@)!
19
+
20
+ The following pictures illustrate the differences between the settings for a thumbnail size of
21
+ 100x100:
19
22
 
20
23
  <table class="examples">
21
24
  <tr>
@@ -2,6 +2,7 @@
2
2
  title: Default
3
3
  directoryName: HtmlValidator
4
4
  inMenu: true
5
+ omitIndexFileInBreadcrumbTrail: false
5
6
  template: /plugin.template
6
7
  plugin: HtmlValidator/Default
7
8
  ---
@@ -32,7 +32,7 @@ Following is a list of the default namespaces and what they are used for:
32
32
 
33
33
  * *ContentConverter/*: plugins used for converting content into HTML
34
34
  * *Core/*: the core plugins of webgen
35
- * *File/*: all plugins handling files (ie. derived from {plugin: File/DefaultHandler}
35
+ * *File/*: all plugins handling files (ie. derived from {plugin: File/DefaultHandler})
36
36
  * *HtmlValidator/*: HTML validator plugins
37
37
  * *MenuStyle/*: menu style plugins
38
38
  * *Misc/*. miscellaneous plugins
@@ -45,7 +45,7 @@ h3(#plugin-param). Plugin Parameters
45
45
  Each plugin can define parameters which can be used to configure the plugin. These parameters are
46
46
  listed at the top of each plugin page. Also note that plugins can use the parameters from their
47
47
  "parent plugins" - this allows a group of plugins which have similar functionality (e.g. the menu
48
- style plugins) to share common configuration values. The names of the "super plugins" are enclosed
48
+ style plugins) to share common configuration values. The names of the "parent plugins" are enclosed
49
49
  in parentheses after the plugin names in the "General Information" section.
50
50
 
51
51
  Parameters can have various types: String, Number, Boolean, Array... When setting a parameter via
@@ -2,6 +2,7 @@
2
2
  title: Default
3
3
  directoryName: MenuStyle
4
4
  inMenu: true
5
+ omitIndexFileInBreadcrumbTrail: false
5
6
  template: /plugin.template
6
7
  plugin: MenuStyle/Default
7
8
  ---
@@ -10,6 +10,14 @@ h2(#description). Description
10
10
  The breadcrumb trail tag is used to display the hierarchy for the current page. You can see it in
11
11
  action above the main content area.
12
12
 
13
+ The {param: Tag/BreadcrumbTrail:omitLast} parameter can be used for always omitting the last path
14
+ component in the trail (which is normally the page itself).
15
+
16
+ The {param: Tag/BreadcrumbTrail:omitIndexFile} parameter can be used to omit the last path component
17
+ if it is an index file for an directory (see {plugin: File/DirectoryHandler} for more information
18
+ about index files). This behaviour can be overridden for individual index files by setting the meta
19
+ information @omitIndexFileInBreadcrumbTrail@.
20
+
13
21
 
14
22
  h2(#examples). Examples
15
23
 
@@ -26,4 +34,8 @@ h2(#examples). Examples
26
34
  <td><notextile>\{breadcrumbTrail: {separator: " HELLO "}}</notextile></td>
27
35
  <td><notextile>{breadcrumbTrail: {separator: " HELLO "}}</notextile></td>
28
36
  </tr>
37
+ <tr>
38
+ <td><notextile>\{breadcrumbTrail: {omitLast: true}}</notextile></td>
39
+ <td><notextile>{breadcrumbTrail: {omitLast: true}}</notextile></td>
40
+ </tr>
29
41
  </table>
@@ -0,0 +1,11 @@
1
+ ---
2
+ title: CustomVar
3
+ inMenu: true
4
+ template: /plugin.template
5
+ plugin: Tag/CustomVar
6
+ ---
7
+ h2(#description). Description
8
+
9
+
10
+ The custom variable tag is used to output the value of a custom variable defined using the {param:
11
+ Core/Configuration:customVars} parameter.
@@ -2,6 +2,7 @@
2
2
  title: Default
3
3
  directoryName: Tag
4
4
  inMenu: true
5
+ omitIndexFileInBreadcrumbTrail: false
5
6
  template: /plugin.template
6
7
  plugin: Tag/Default
7
8
  ---
@@ -12,11 +12,19 @@ This part of the documentation contains some references for your convenience:
12
12
  Describes the structure and format of the WebPage Format, the format used, for
13
13
  example, for page and template files.
14
14
 
15
+ * <b><a href="{relocatable: sipttra_format.page}">sipttra Format Reference</a></b>
16
+
17
+ Describes the sipptra (Simple Plain Text Tracker) format.
18
+
15
19
  * <b><a href="{relocatable: meta_info_reference.page}">Meta Information Reference</a></b>
16
20
 
17
21
  Provides an overview over all special meta information keys that can be used in conjunction with
18
22
  webgen.
19
23
 
24
+ * <b><a href="{relocatable: resource_reference.page}">Resource Reference</a></b>
25
+
26
+ Provides an overview over all predefined resources!
27
+
20
28
  * <b><a href="{relocatable: parameter_reference.page}">Parameter Reference</a></b>
21
29
 
22
30
  Lists the parameters for all plugins for easy search and retrieval.
@@ -23,11 +23,18 @@ plugin, be it a file handler plugin, a tag plugin...
23
23
  <th>directoryName</th>
24
24
  <td>String</td>
25
25
  <td>Image Directory</td>
26
- <td>Page file</td>
27
- <td>Only used if set on a directory index page file; specifies the title of the directory for
26
+ <td>Any</td>
27
+ <td>Only used if set on a directory index file; specifies the title of the directory for
28
28
  which it is the index file. If it is not specified, the title of the directory will be
29
29
  used.</td>
30
30
  </tr>
31
+ <tr>
32
+ <th>emoticonPack</th>
33
+ <td>String</td>
34
+ <td>bigeyes</td>
35
+ <td>Page file</td>
36
+ <td>Sets the emoticon package which should be used for the page.</td>
37
+ </tr>
31
38
  <tr>
32
39
  <th>indexFile</th>
33
40
  <td>String</td>
@@ -49,6 +56,22 @@ plugin, be it a file handler plugin, a tag plugin...
49
56
  <td>Page file</td>
50
57
  <td>Sets the language for the page file. Has to be a valid ISO-639-1/2 character code for the language.</td>
51
58
  </tr>
59
+ <tr>
60
+ <th>linkAttrs</th>
61
+ <td>Hash</td>
62
+ <td>\{title: Hallo, class: extra}</td>
63
+ <td>Any</td>
64
+ <td>Specifies additional attribute-value pairs (in form of a Hash) that should be added to a link to the file/directory.</td>
65
+ </tr>
66
+ <tr>
67
+ <th>omitIndexFileInBreadcrumbTrail</th>
68
+ <td>Boolean</td>
69
+ <td>false</td>
70
+ <td>Index file</td>
71
+ <td>Controls whether the index file should appear in a breadcrumb trail despite the setting of the
72
+ {param: Tag/BreadcrumbTrail:omitIndexFile} parameter.
73
+ </td>
74
+ </tr>
52
75
  <tr>
53
76
  <th>orderInfo</th>
54
77
  <td>Integer</td>
@@ -60,6 +83,16 @@ plugin, be it a file handler plugin, a tag plugin...
60
83
  nodes are the same, then they are sorted according to their @title@ meta information.
61
84
  </td>
62
85
  </tr>
86
+ <tr>
87
+ <th>outputNameStyle</th>
88
+ <td>String</td>
89
+ <td>[:name, [".", :lang], ".html"]</td>
90
+ <td>Page file</td>
91
+ <td>Sets a custom output name style for the specified page file only. The basename is substituted for the value @:name@
92
+ and the language for the value @:lang@. Strings are used verbatim. If @:lang@ is specified in a sub-array, the whole
93
+ sub-array is omitted, if the parameter {param: File/PageHandler:defaultLangInFilename} is false.
94
+ </td>
95
+ </tr>
63
96
  <tr>
64
97
  <th>template</th>
65
98
  <td>String</td>
@@ -82,19 +115,5 @@ plugin, be it a file handler plugin, a tag plugin...
82
115
  <td>Page/Template file</td>
83
116
  <td>Specifies if the content blocks of the page/template file should be processed with ERB overriding the default value.</td>
84
117
  </tr>
85
- <tr>
86
- <th>linkAttrs</th>
87
- <td>Hash</td>
88
- <td>\{title: Hallo, class: extra}</td>
89
- <td>Any</td>
90
- <td>Specifies additional attribute-value pairs (in form of a Hash) that should be added to a link to the file/directory.</td>
91
- </tr>
92
- <tr>
93
- <th>emoticonPack</th>
94
- <td>String</td>
95
- <td>bigeyes</td>
96
- <td>Page file</td>
97
- <td>Sets the emoticon package which should be used for the page.</td>
98
- </tr>
99
118
  </table>
100
119
 
@@ -0,0 +1,18 @@
1
+ ---
2
+ title: Resource Reference
3
+ inMenu: true
4
+ ---
5
+ h2. Resource Reference
6
+
7
+
8
+ The following list shows all resources that are shipped with webgen and that can be used via the
9
+ {plugin: Tag/Resource} plugin.
10
+
11
+ *Credits*:
12
+
13
+ * webgen-icons-<notextile>*</notextile>: These icons were taken from the "CrystalClear" package from
14
+ "http://www.kde-look.org/content/show.php?content=25668":http://www.kde-look.org/content/show.php?content=25668
15
+ * webgen-emoticons-<notextile>*</notextile>: Credits for the individual emoticon packs are listed on the {plugin:
16
+ Misc/SmileyReplacer} page
17
+
18
+ <notextile>{predefinedResources:}</notextile>
@@ -0,0 +1,241 @@
1
+ ---
2
+ title: Sipttra Format
3
+ inMenu: true
4
+ ---
5
+
6
+ h1. The Sipttra Format
7
+
8
+
9
+ h2(#sipttra). What is sipptra?
10
+
11
+
12
+ sipttra is the acronym for <b>S</b>imple <b>P</b>lain <b>T</b>ext <b>T</b>racker. It is a ticket
13
+ tracker which stores everything inside a human readable text file. Therefore it can be used with any
14
+ text editor and no additional program to edit it is needed.
15
+
16
+ sipttra supports categories with different types, a special milestone category and, naturally,
17
+ tickets.
18
+
19
+ As everything is stored in a text file, sipttra is not intended to be used by many concurrent users.
20
+ It is a simple and easy system for one-man-projects as well as small projects with not many
21
+ developers.
22
+
23
+
24
+ h2(#structure). Types
25
+
26
+
27
+ sipttra is line and not character based. This means that it only operates on whole lines and each
28
+ line can have a different type. This section describes the available types and the next section
29
+ explains how these types can be used in a sipttra file.
30
+
31
+
32
+ h3(#categories). Categories
33
+
34
+
35
+ A category has a name and a type which have to be unique among all categories. Therefore it is not
36
+ possible to define two equal category lines in one sipttra file. Tickets can only be defined for
37
+ categories. The category type further distinquishes the tickets of a category name. For example,
38
+ normally you have at least open bugs and closed bugs. For sipttra, this means that you have defined
39
+ a category named bugs with type open and another category named bugs with type closed.
40
+
41
+ A category is defined like this:
42
+
43
+ <pre>
44
+ ### CATEGORY (type) ###
45
+ </pre>
46
+
47
+ or
48
+
49
+ <pre>
50
+ # CATEGORY (type) #
51
+ </pre>
52
+
53
+ The line has to start with one or more hashes, the category name, the category type and finally the
54
+ same number of hashes as at the start of the line. These items have to be separated from each other
55
+ by spaces.
56
+
57
+ The tickets of a category are of the same type as the category itself. The special type @closed@
58
+ signifies that the tickets in the category are closed, tickets from all other category types are
59
+ considered to be open.
60
+
61
+
62
+ h3(#milestones). Milestone Category
63
+
64
+
65
+ The milestone category is defined like a normal category. However, the type in parenthesis is
66
+ omitted, like this:
67
+
68
+ <pre>
69
+ ### Milestones ###
70
+ </pre>
71
+
72
+ A sipttra file can contain exactly one such milestone category! This is the only distinction between
73
+ normal categories and the milestone category.
74
+
75
+
76
+ h3(#tickets). Tickets
77
+
78
+
79
+ Tickets are defined like this:
80
+
81
+ <pre>
82
+ * NAME (YYYY-MM-DD) [BELONGS_TO] summary
83
+ further description
84
+
85
+ still in the description
86
+ </pre>
87
+
88
+ Basically all parts are optional. However, if no summary is specified it is assumed to be empty. The
89
+ name uniquely distinguishes the ticket among all tickets independent of the category. The date in
90
+ parenthesis is considered to be the due date, ie. the date on which this ticket should be closed.
91
+ The 'belongs to' part in square brackets defines a relationship to another ticket. The summary part
92
+ is a short description of the ticket. All following lines which are either empty or indented exactly
93
+ two spaces belong to the detailed description of the ticket (one can use Markdown syntax in the
94
+ detailed description). *Caveats*: if one wants to only specify a name and a summary for a ticket,
95
+ these two parts have to be separated by a colon sothat the parser can distinguish them. Also be
96
+ aware that the spaces between the individual parts are mandatory!
97
+
98
+ Here are some examples for valid tickets:
99
+
100
+ <pre>
101
+ * name1: summary
102
+
103
+ * name2 (2007-02-15) my summary here
104
+
105
+ * name3 [othername] yeah, this also works
106
+ with additional description
107
+
108
+ which still belongs to ticket name3
109
+ </pre>
110
+
111
+ Two important attributes for tickets are defined indirectly:
112
+
113
+ * status: The status is defined by the category type to which a ticket belongs
114
+ * priority: The priorites of the tickets are defined by their order. The ticket defined first in a
115
+ category has the highest priority, the last defined ticket the lowest.
116
+
117
+ Tickets for the milestone category are defined like normal tickets. However, milestone tickets must
118
+ have a name defined!
119
+
120
+
121
+ h3(#comments). Comments
122
+
123
+
124
+ Comment lines are allowed everywhere in a sipttra file! Each line which is neither a category line,
125
+ a ticket line or a line belonging to an additional description of a ticket becomes a comment line.
126
+ Also be aware that if a line for a ticket or category is not well structured, it automatically
127
+ becomes a comment line.
128
+
129
+
130
+ h2(#fileformat). The sipttra File Format
131
+
132
+
133
+ A sipttra file starts with an optional meta information part. If you want to have a meta information
134
+ part the sipttra file has to start with three dashes on the first line. Everything till the next
135
+ line with three dashes is considered to be meta information. This meta information part has to be
136
+ valid YAML.
137
+
138
+ The main part consists of the tracker definition. It is read line by line from top to bottom:
139
+
140
+ * All lines before the first category line are considered to be comment lines.
141
+ * Tickets always belong to the last defined category.
142
+ * The same category can not be defined twice in one sipttra file!
143
+
144
+
145
+ h2(#examples). Examples
146
+
147
+
148
+ Here are some example sipttra files.
149
+
150
+ <pre>
151
+ \---
152
+ webgen-metainfo:
153
+ inMenu: true
154
+ title: Project Status
155
+ \---
156
+
157
+ ### Milestones ###
158
+
159
+ * Feb07 (2007-02-28) Bug fixes and small enhancements
160
+ - include patches/requests created since 0.4.1 release
161
+ - add support for sipttra files, the Simple Plain Text Tracker
162
+
163
+ * F: Ideas and todo items for future versions
164
+
165
+ This milestone holds all ideas/todo items/requests which are implemented some
166
+ time in the future.
167
+
168
+
169
+ Here could be some potential comment! :)
170
+
171
+ ### Features (open) ###
172
+
173
+ * T001 [Feb07] one ticket
174
+
175
+ * T002 [F] another ticket
176
+ this is additional text
177
+
178
+
179
+ ### Features (closed) ###
180
+
181
+ * T003 [F] and another closed ticket
182
+
183
+
184
+ ### Bugs (open) ###
185
+
186
+ * T008 [Feb07] you should really close this bug!
187
+
188
+
189
+ ### Bugs (closed) ###
190
+
191
+ * T009 [Feb07] yeah, very cool, a closed bug!
192
+ </pre>
193
+
194
+
195
+ <pre>
196
+ This are just some
197
+ comment lines
198
+ here!
199
+
200
+ ### Milestones ###
201
+
202
+ * Feb07 (2007-02-28) Bug fixes and small enhancements
203
+
204
+ Here could be some potential comment! :)
205
+
206
+ ### Features (open) ###
207
+
208
+ * T001 [Feb07] one ticket
209
+
210
+ * T002 [Feb07] another ticket
211
+ this is additional text
212
+
213
+
214
+ ### Features (closed) ###
215
+
216
+ * T003 [Feb07] and another closed ticket
217
+
218
+ ### Bugs (open) ###
219
+
220
+ * T008 [Feb07] you should really close this bug!
221
+
222
+
223
+ ### Bugs (closed) ###
224
+
225
+ * T009 [Feb07] yeah, very cool, a closed bug!
226
+ </pre>
227
+
228
+
229
+ <pre>
230
+ ### Features (open) ###
231
+
232
+ * T001 [Feb07] one ticket
233
+
234
+ * T002 [F] another ticket
235
+ this is additional text
236
+
237
+
238
+ ### Features (closed) ###
239
+
240
+ * T003 [F] and another closed ticket
241
+ </pre>