webgen 0.4.1 → 0.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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>
|