webgen 0.4.1 → 0.4.2
Sign up to get free protection for your applications and to get access to all the features.
- data/ChangeLog +300 -0
- data/Rakefile +149 -27
- data/TODO +3 -4
- data/VERSION +1 -1
- data/data/webgen/gallery_styles/slides/collage.rb +7 -4
- data/data/webgen/sipttra_styles/default/README +7 -0
- data/data/webgen/sipttra_styles/default/css/sipttra.rcss +71 -0
- data/data/webgen/sipttra_styles/default/js/sipttra.js +7 -0
- data/data/webgen/sipttra_styles/default/sipttra.template +105 -0
- data/data/webgen/website_styles/1024px/README +3 -0
- data/data/webgen/website_styles/1024px/default.css +3 -3
- data/data/webgen/website_styles/andreas00/README +4 -1
- data/data/webgen/website_styles/andreas00/default.css +2 -2
- data/data/webgen/website_styles/andreas01/README +3 -0
- data/data/webgen/website_styles/andreas01/default.css +3 -3
- data/data/webgen/website_styles/andreas03/README +4 -1
- data/data/webgen/website_styles/andreas03/default.css +2 -2
- data/data/webgen/website_styles/andreas04/README +3 -0
- data/data/webgen/website_styles/andreas04/default.css +2 -2
- data/data/webgen/website_styles/andreas05/README +3 -0
- data/data/webgen/website_styles/andreas05/default.css +2 -2
- data/data/webgen/website_styles/andreas06/README +3 -0
- data/data/webgen/website_styles/andreas06/default.css +3 -2
- data/data/webgen/website_styles/andreas07/README +3 -0
- data/data/webgen/website_styles/andreas07/default.css +4 -4
- data/data/webgen/website_styles/andreas08/README +4 -1
- data/data/webgen/website_styles/andreas08/default.css +2 -2
- data/data/webgen/website_styles/andreas08/default.template +1 -1
- data/data/webgen/website_styles/andreas09/README +3 -0
- data/data/webgen/website_styles/andreas09/default.css +2 -2
- data/data/webgen/website_styles/default/README +1 -1
- data/data/webgen/website_styles/default/default.css +1 -1
- data/data/webgen/website_styles/plain/README +7 -2
- data/data/webgen/website_styles/plain/default.css +2 -2
- data/doc/config.yaml +3 -0
- data/doc/metainfo.yaml +20 -3
- data/doc/src/css/sipttra.rcss +71 -0
- data/doc/src/default.template +10 -5
- data/doc/src/documentation/howto.page +221 -0
- data/doc/src/documentation/plugins/contentconverter/default.page +1 -0
- data/doc/src/documentation/plugins/contentconverter/xmlbuilder.page +2 -2
- data/doc/src/documentation/plugins/core/configuration.page +6 -0
- data/doc/src/documentation/plugins/core/resourcemanager.page +4 -10
- data/doc/src/documentation/plugins/file/defaulthandler.page +1 -0
- data/doc/src/documentation/plugins/file/sipttrahandler.page +18 -0
- data/doc/src/documentation/plugins/file/templatehandler.page +27 -10
- data/doc/src/documentation/plugins/file/thumbnailwriter.page +5 -2
- data/doc/src/documentation/plugins/htmlvalidator/default.page +1 -0
- data/doc/src/documentation/plugins/index.page +2 -2
- data/doc/src/documentation/plugins/menustyle/default.page +1 -0
- data/doc/src/documentation/plugins/tag/breadcrumbtrail.page +12 -0
- data/doc/src/documentation/plugins/tag/customvar.page +11 -0
- data/doc/src/documentation/plugins/tag/default.page +1 -0
- data/doc/src/documentation/references/index.page +8 -0
- data/doc/src/documentation/references/meta_info_reference.page +35 -16
- data/doc/src/documentation/references/resource_reference.page +18 -0
- data/doc/src/documentation/references/sipttra_format.page +241 -0
- data/doc/src/documentation/references/webpage_format.page +4 -0
- data/doc/src/examples/example_sites/index.page +41 -0
- data/doc/src/examples/example_sites/personal.zip +0 -0
- data/doc/src/examples/example_sites/photo_gallery.zip +0 -0
- data/doc/src/examples/index.page +2 -1
- data/doc/src/js/sipttra.js +7 -0
- data/doc/src/news.page +25 -0
- data/doc/src/project.todo +91 -0
- data/doc/src/sipttra.template +105 -0
- data/lib/webgen/cli.rb +31 -1
- data/lib/webgen/config.rb +2 -2
- data/lib/webgen/plugin.rb +7 -3
- data/lib/webgen/plugins/coreplugins/configuration.rb +3 -1
- data/lib/webgen/plugins/filehandlers/filehandler.rb +6 -5
- data/lib/webgen/plugins/filehandlers/sipttra.rb +73 -0
- data/lib/webgen/plugins/filehandlers/template.rb +2 -1
- data/lib/webgen/plugins/miscplugins/treewalker.rb +40 -4
- data/lib/webgen/plugins/tags/breadcrumbtrail.rb +14 -1
- data/lib/webgen/plugins/tags/customvar.rb +54 -0
- data/lib/webgen/sipttra_format.rb +343 -0
- data/lib/webgen/website.rb +25 -1
- data/man/man1/webgen.1 +75 -0
- data/setup.rb +861 -607
- data/test/fixtures/sample_site/src/test.todo +7 -0
- data/test/fixtures/tc_plugin/plugin1.rb +2 -0
- data/test/fixtures/tc_sipttra_format/test.sipttra +46 -0
- data/test/unittests/tc_filehandler_sipttra.rb +26 -0
- data/test/unittests/tc_filehandler_template.rb +2 -1
- data/test/unittests/tc_plugin.rb +8 -1
- data/test/unittests/tc_sipttra_format.rb +58 -0
- data/test/unittests/tc_tags_breadcrumbtrail.rb +34 -0
- data/test/unittests/tc_tags_customvar.rb +24 -0
- data/test/unittests/tc_tags_date.rb +1 -0
- data/test/unittests/tc_tags_includefile.rb +6 -13
- data/test/unittests/tc_treewalker.rb +8 -1
- metadata +37 -3
@@ -40,8 +40,8 @@ The above will produce the following output:
|
|
40
40
|
<pre>
|
41
41
|
<persons>
|
42
42
|
<person>
|
43
|
-
|
44
|
-
|
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
|
-
|
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.
|
@@ -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
|
-
|
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
|
-
|
28
|
-
|
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
|
-
|
33
|
-
|
34
|
-
|
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.
|
18
|
-
|
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>
|
@@ -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 "
|
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
|
@@ -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.
|
@@ -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>
|
27
|
-
<td>Only used if set on a directory index
|
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>
|