webgen 0.5.2 → 0.5.3

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.
Files changed (85) hide show
  1. data/Rakefile +15 -4
  2. data/VERSION +1 -1
  3. data/data/webgen/webgui/controller/main.rb +1 -1
  4. data/data/webgen/website_skeleton/ext/init.rb +6 -0
  5. data/data/webgen/website_styles/1024px/src/default.css +188 -188
  6. data/data/webgen/website_styles/1024px/src/default.template +51 -51
  7. data/data/webgen/website_styles/andreas00/src/default.template +1 -1
  8. data/data/webgen/website_styles/andreas01/src/default.css +8 -8
  9. data/data/webgen/website_styles/andreas01/src/default.template +1 -1
  10. data/data/webgen/website_styles/andreas03/src/default.css +3 -3
  11. data/data/webgen/website_styles/andreas03/src/default.template +2 -2
  12. data/data/webgen/website_styles/andreas04/src/default.css +1 -1
  13. data/data/webgen/website_styles/andreas05/src/default.css +3 -3
  14. data/data/webgen/website_styles/andreas05/src/default.template +26 -26
  15. data/data/webgen/website_styles/andreas06/src/default.css +6 -6
  16. data/data/webgen/website_styles/andreas06/src/default.template +1 -1
  17. data/data/webgen/website_styles/andreas07/src/default.css +6 -6
  18. data/data/webgen/website_styles/andreas08/src/default.css +7 -7
  19. data/data/webgen/website_styles/andreas08/src/default.template +2 -2
  20. data/data/webgen/website_styles/andreas09/src/default.css +3 -3
  21. data/data/webgen/website_styles/andreas09/src/default.template +1 -1
  22. data/data/webgen/website_styles/simple/src/default.css +84 -84
  23. data/data/webgen/website_styles/simple/src/default.template +1 -1
  24. data/doc/index.page +27 -12
  25. data/doc/manual.page +52 -10
  26. data/doc/reference_configuration.page +108 -52
  27. data/doc/reference_metainfo.page +77 -2
  28. data/doc/sourcehandler/feed.page +82 -0
  29. data/doc/sourcehandler/metainfo.page +3 -2
  30. data/doc/sourcehandler/sitemap.page +46 -0
  31. data/doc/tag.template +2 -3
  32. data/doc/tag/breadcrumbtrail.page +11 -3
  33. data/doc/tag/menu.page +6 -4
  34. data/doc/tag/sitemap.page +31 -0
  35. data/doc/upgrading.page +67 -0
  36. data/lib/webgen/cli/utils.rb +4 -4
  37. data/lib/webgen/cli/webgui_command.rb +2 -1
  38. data/lib/webgen/common.rb +10 -0
  39. data/lib/webgen/common/sitemap.rb +76 -0
  40. data/lib/webgen/configuration.rb +64 -1
  41. data/lib/webgen/contentprocessor.rb +1 -1
  42. data/lib/webgen/contentprocessor/builder.rb +1 -1
  43. data/lib/webgen/contentprocessor/erb.rb +1 -1
  44. data/lib/webgen/contentprocessor/haml.rb +1 -1
  45. data/lib/webgen/contentprocessor/maruku.rb +1 -1
  46. data/lib/webgen/contentprocessor/sass.rb +1 -1
  47. data/lib/webgen/coreext.rb +10 -0
  48. data/lib/webgen/default_config.rb +35 -4
  49. data/lib/webgen/node.rb +12 -6
  50. data/lib/webgen/page.rb +1 -1
  51. data/lib/webgen/path.rb +1 -1
  52. data/lib/webgen/sourcehandler.rb +11 -6
  53. data/lib/webgen/sourcehandler/base.rb +5 -2
  54. data/lib/webgen/sourcehandler/feed.rb +121 -0
  55. data/lib/webgen/sourcehandler/metainfo.rb +22 -13
  56. data/lib/webgen/sourcehandler/page.rb +5 -3
  57. data/lib/webgen/sourcehandler/sitemap.rb +60 -0
  58. data/lib/webgen/sourcehandler/template.rb +5 -1
  59. data/lib/webgen/sourcehandler/virtual.rb +1 -0
  60. data/lib/webgen/tag.rb +1 -0
  61. data/lib/webgen/tag/breadcrumbtrail.rb +42 -10
  62. data/lib/webgen/tag/langbar.rb +1 -1
  63. data/lib/webgen/tag/menu.rb +10 -14
  64. data/lib/webgen/tag/sitemap.rb +42 -0
  65. data/lib/webgen/tree.rb +1 -1
  66. data/lib/webgen/version.rb +1 -1
  67. data/lib/webgen/website.rb +5 -6
  68. data/misc/default.css +6 -2
  69. data/test/helper.rb +13 -0
  70. data/test/test_common_sitemap.rb +56 -0
  71. data/test/test_configuration.rb +24 -0
  72. data/test/test_contentprocessor_maruku.rb +4 -1
  73. data/test/test_node.rb +4 -1
  74. data/test/test_page.rb +11 -5
  75. data/test/test_path.rb +10 -10
  76. data/test/test_sourcehandler_feed.rb +74 -0
  77. data/test/test_sourcehandler_metainfo.rb +26 -12
  78. data/test/test_sourcehandler_page.rb +1 -0
  79. data/test/test_sourcehandler_sitemap.rb +47 -0
  80. data/test/test_sourcehandler_template.rb +3 -0
  81. data/test/test_sourcehandler_virtual.rb +4 -1
  82. data/test/test_tag_breadcrumbtrail.rb +33 -23
  83. data/test/test_tag_menu.rb +24 -25
  84. data/test/test_tag_sitemap.rb +44 -0
  85. metadata +37 -4
@@ -159,13 +159,13 @@ padding:0;
159
159
 
160
160
  /*** Sidebar menu ***/
161
161
 
162
- .webgen-menu-section ul {
162
+ #pagemenu ul {
163
163
  margin: 0 0 16px 10px;
164
164
  padding: 0px;
165
165
  list-style: none;
166
166
  }
167
167
 
168
- .nav, .webgen-menu-section a {
168
+ .nav, #pagemenu a {
169
169
  background:#e8e9ea;
170
170
  border:1px solid #b0b0b0;
171
171
  color:#606060;
@@ -177,7 +177,7 @@ text-transform:uppercase;
177
177
  width:140px;
178
178
  }
179
179
 
180
- .nav:hover, .webgen-menu-section a:hover, .webgen-menu-section li.webgen-menu-item-selected a, .webgen-menu-section li.webgen-menu-submenu-inhierarchy a, .active {
180
+ .nav:hover, #pagemenu a:hover, #pagemenu li.webgen-menu-item-selected a, #pagemenu li.webgen-menu-submenu-inhierarchy a, .active {
181
181
  background:#f8f9fa;
182
182
  border:1px solid #909090;
183
183
  color:#303030;
@@ -27,7 +27,7 @@
27
27
 
28
28
  <div id="leftside">
29
29
  <h1>Page Menu</h1>
30
- {menu: {used_nodes: fragments}}
30
+ <div id="pagemenu">{menu: {used_nodes: fragments}}</div>
31
31
 
32
32
  <h1>Color</h1>
33
33
  <p>This website style is available in many different colors. Just copy one of the <code>menuhover-COLOR.jpg</code> and <code>bodybg-COLOR.jpg</code> over <code>menuhover.jpg</code> and <code>bodybg.jpg</code> and your are done. You can then delete the other menuhover-* and bodybg-* images.</p>
@@ -1,84 +1,84 @@
1
-
2
- #all { background-color: #CCCCCC; }
3
-
4
- #header {
5
- border-bottom: 1px solid black;
6
- padding: 1ex;
7
- background-color: #888888;
8
- }
9
- #header h1 {
10
- margin: 0ex;
11
- font-size: 300%;
12
- font-style: italic;
13
- font-weight: normal;
14
- }
15
-
16
- , #headerbar { border-bottom: 1px solid black; }
17
- #footer { border-top: 1px solid black; }
18
-
19
- #body {
20
- margin-left: 250px;
21
- margin-right: 20px;
22
- padding: 10px;
23
- }
24
-
25
- #menu {
26
- float: left;
27
- width: 230px;
28
- padding: 20px 0px 0px 2px;
29
- }
30
-
31
- .bar {
32
- clear: both;
33
- padding: 3px;
34
- text-align: center;
35
- font-size: 90%;
36
- background-color: #AAAAAA;
37
- }
38
-
39
- .left, .right {
40
- padding: 0px 1em;
41
- }
42
-
43
- .left {
44
- float: left;
45
- text-align: left;
46
- }
47
-
48
- .right {
49
- float: right;
50
- text-align: right;
51
- }
52
-
53
- /* styling the menu */
54
-
55
- #menu a, #menu span {
56
- text-decoration: none;
57
- font-weight: bold;
58
- font-size: 130%;
59
- }
60
-
61
- #menu a:hover {
62
- text-decoration: underline;
63
- }
64
-
65
- #menu .webgen-menu-item-selected {
66
- border-left: 3px solid black;
67
- }
68
-
69
- #menu ul {
70
- list-style-type: none;
71
- padding: 0px;
72
- margin-left: 10px;
73
- }
74
-
75
- #menu li > ul {
76
- font-size: 95%;
77
- }
78
-
79
- #menu li {
80
- margin: 0.0em 0px;
81
- padding: 2px 0px;
82
- padding-left: 5px;
83
- border-left: 3px solid #CCCCCC;
84
- }
1
+ #all { background-color: #CCCCCC; }
2
+
3
+ #header {
4
+ border-bottom: 1px solid black;
5
+ padding: 1ex;
6
+ background-color: #888888;
7
+ }
8
+
9
+ #header h1 {
10
+ margin: 0ex;
11
+ font-size: 300%;
12
+ font-style: italic;
13
+ font-weight: normal;
14
+ }
15
+
16
+ #headerbar { border-bottom: 1px solid black; }
17
+ #footer { border-top: 1px solid black; }
18
+
19
+ #body {
20
+ margin-left: 250px;
21
+ margin-right: 20px;
22
+ padding: 10px;
23
+ }
24
+
25
+ #menu {
26
+ float: left;
27
+ width: 230px;
28
+ padding: 20px 0px 0px 2px;
29
+ }
30
+
31
+ .bar {
32
+ clear: both;
33
+ padding: 3px;
34
+ text-align: center;
35
+ font-size: 90%;
36
+ background-color: #AAAAAA;
37
+ }
38
+
39
+ .left, .right {
40
+ padding: 0px 1em;
41
+ }
42
+
43
+ .left {
44
+ float: left;
45
+ text-align: left;
46
+ }
47
+
48
+ .right {
49
+ float: right;
50
+ text-align: right;
51
+ }
52
+
53
+ /* styling the menu */
54
+
55
+ #menu a, #menu span {
56
+ text-decoration: none;
57
+ font-weight: bold;
58
+ font-size: 130%;
59
+ }
60
+
61
+ #menu a:hover {
62
+ text-decoration: underline;
63
+ }
64
+
65
+ #menu .webgen-menu-item-selected {
66
+ border-left: 3px solid black;
67
+ }
68
+
69
+ #menu ul {
70
+ list-style-type: none;
71
+ padding: 0px;
72
+ margin-left: 10px;
73
+ }
74
+
75
+ #menu li > ul {
76
+ font-size: 95%;
77
+ }
78
+
79
+ #menu li {
80
+ margin: 0.0em 0px;
81
+ padding: 2px 0px;
82
+ padding-left: 5px;
83
+ border-left: 3px solid #CCCCCC;
84
+ }
@@ -30,7 +30,7 @@
30
30
  </div>
31
31
 
32
32
  <div id="footer" class="bar">
33
- <a href="http://webgen.rubyforge.org"><img src="{resource: webgen-generated}" alt="Generated by webgen"/></a> on <b>{date: }</b>
33
+ Generated by <a href="http://webgen.rubyforge.org">webgen</a> on <b>{date: }</b>
34
34
  </div>
35
35
  </body>
36
36
  </html>
@@ -12,36 +12,51 @@ are not available in the latest released version.
12
12
  * If you are looking for the documentation of the 0.4.x series, it can be found
13
13
  [here](http://webgen.rubyforge.org/documentation/0.4.x/index.html).
14
14
 
15
+ If you don't find an answer to your questions in the documentation, there are also:
16
+
17
+ * [forums][forum] hosted on Rubyforge
18
+ * [mailing lists][ml] hosted on Rubyforge (the `webgen-users` mailing list is mirrored to the
19
+ [webgen-users google group][google-group])
20
+ * the IRC channel `#webgen` on Freenode where I can be found whenever I'm online.
21
+
22
+ [forum]: http://rubyforge.org/forum/?group_id=296
23
+ [ml]: http://rubyforge.org/mail/?group_id=296
24
+ [google-group]: http://groups.google.com/group/webgen-users/
25
+
15
26
  # User Documentation
16
27
 
17
28
  Depending on whether you are new to webgen, you want more information about a specific topic or read
18
29
  a reference, go to one of the following pages:
19
30
 
20
- * [Getting Started Guide]({relocatable: getting_started.html}): If you are new to webgen, this
31
+ * [**Getting Started Guide**]({relocatable: getting_started.html}): If you are new to webgen, this
21
32
  should be your first read. It explains the usage of the CLI command and how to create your first
22
33
  website with webgen.
23
34
 
24
- * [Manual]({relocatable: manual.html}): Detailed information about how webgen works can be found
35
+ * [**Manual**]({relocatable: manual.html}): Detailed information about how webgen works can be found
25
36
  here. After reading the Getting Started Guide, this should be the next read. Have a look at the
26
37
  section headers to get a quick overview of what can be found here.
27
38
 
28
- * [FAQ]({relocatable: faq.html}): If you want to do something with webgen, but you don't know how,
39
+ * [**FAQ**]({relocatable: faq.html}): If you want to do something with webgen, but you don't know how,
29
40
  this page is exactly for you. It provides answers to frequently asked questions. If you have a
30
41
  question which you think should be added, just mail me.
31
42
 
32
- * Reference Documentation:
43
+ * [**Upgrade information**]({relocatable: upgrading.html}): This document provides some information
44
+ on upgrading a website from the 0.4.x to the 0.5.x series.
45
+
46
+
47
+ Following is a list of all the reference documentation of webgen:
33
48
 
34
- * [Extensions Documentation]({relocatable: extensions.html}): Detailed information on every usage
35
- related extension class (source handlers, tags, content processors, ...)
49
+ * [**Extensions Documentation**]({relocatable: extensions.html}): Detailed information on every usage
50
+ related extension class (**source handlers, tags, content processors**, ...)
36
51
 
37
- * [Webgen Page Format]({relocatable: webgen_page_format.html}): Information about/Specification of
38
- the format used, for example, by page and template files
52
+ * [**Webgen Page Format**]({relocatable: webgen_page_format.html}): Information about/Specification of
53
+ the format used, for example, by page and template files
39
54
 
40
- * [Meta Information Reference]({relocatable: reference_metainfo.html}): Descriptions for every
41
- meta information key that is used by webgen.
55
+ * [**Meta Information Reference**]({relocatable: reference_metainfo.html}): Descriptions for every
56
+ meta information key that is used by webgen.
42
57
 
43
- * [Configuration Options Reference]({relocatable: reference_configuration.html}): Overview of all
44
- configuration options.
58
+ * [**Configuration Options Reference**]({relocatable: reference_configuration.html}): Overview of all
59
+ configuration options.
45
60
 
46
61
  # Developer Documentation
47
62
 
@@ -96,16 +96,56 @@ name and the new value as a key/value pair. A sample configuration file looks li
96
96
  website.lang: de
97
97
  website.link_to_current_page: true
98
98
 
99
- There is one special key called `default_meta_info` which behaves a little different. It does not
100
- map to any configuration option but is used to update the meta information hashes of the
101
- configuration option `sourcehandler.default_meta_info`. For example, the following configuration
102
- file updates the default meta information for all source handlers by setting a new value for
103
- `output_path_style` and setting `in_menu` to `true`:
99
+ Since some configuration options have a complex structure, there exist several special configuration
100
+ keys to help setting these configuration options:
101
+
102
+ * `default_meta_info`: Set the default meta information for one or more source handlers.
103
+
104
+ This key needs needs a Hash as value which should be of the following form:
105
+
106
+ SOURCE_HANDLER_NAME:
107
+ mi_key: mi_value
108
+ other_key: other_value
109
+ :action: replace
110
+
111
+ So each entry has to specify the name of a source handler (or the special value `:all` which
112
+ sets the default meta information for all source handlers) and the meta information items that
113
+ should be set or modified. If you don't want to update the meta information hash but want to
114
+ replace it, you need to add `:action: replace` as meta information entry.
115
+
116
+ If a source handler called `Webgen::SourceHandler::SOURCE_HANDLER_NAME` exists, the meta
117
+ information is set for this source handler instead.
118
+
119
+ For example, the following snippet of a configuration file sets the meta information item
120
+ `in_menu` to `true` for `Webgen::SourceHandler::Page`:
121
+
122
+ default_meta_info:
123
+ Page:
124
+ in_menu: true
125
+
126
+ * `patterns`: Set the used path patterns for one or more source handlers.
127
+
128
+ This key needs a Hash value and provides two different ways of setting the path patterns:
129
+
130
+ SOURCE_HANDLER_NAME: [**/*.jpg, **/*.css]
131
+
132
+ SOURCE_HANDLER_NAME:
133
+ add: [**/*.jpg]
134
+ del: [**/*.js]
135
+
136
+ The first form replaces the path patterns for the source handler with the given patterns. The
137
+ second form allows to add or delete individual patterns.
138
+
139
+ If a source handler called `Webgen::SourceHandler::SOURCE_HANDLER_NAME` exists, the meta
140
+ information is set for this source handler instead.
141
+
142
+ For example, the following snippet of a configuration file adds the pattern `**/*.pdf` to the
143
+ patterns of `Webgen::SourceHandler::Copy`:
144
+
145
+ patterns:
146
+ Copy:
147
+ add: [**/*.pdf]
104
148
 
105
- default_meta_info:
106
- :all:
107
- output_path_style: [:parent, :cnbase, :ext, [., :lang]]
108
- in_menu: true
109
149
 
110
150
 
111
151
  ## Rakefile {#website-rakefile}
@@ -115,7 +155,9 @@ recurring task for your website, for example, for deploying the website to a ser
115
155
  some useful tasks out of the box:
116
156
 
117
157
  * `webgen`: Renders the webgen website once.
118
- * `auto_webgen`: Automatically renders the website when a source file has changed.
158
+ * `auto_webgen`: Automatically renders the website when a source file has changed. This is very
159
+ useful when developing a website because you don't need to change back and forth between your
160
+ website code and the command line to rebuild the site.
119
161
  * `clobber_webgen`: Removes all webgen generated products (the output files and the cache file).
120
162
 
121
163
 
@@ -10,7 +10,7 @@ This reference describes all available configurations that can be set via the co
10
10
 
11
11
  ## General Options
12
12
 
13
- * ### `website.lang`
13
+ * ### website.lang
14
14
 
15
15
  Specifies the default language of the website. The default language is assigned, for example, to
16
16
  page files for which a language is not explicitly specified.
@@ -23,7 +23,7 @@ This reference describes all available configurations that can be set via the co
23
23
  website.lang: fr
24
24
 
25
25
 
26
- * ### `website.link_to_current_page`
26
+ * ### website.link\_to\_current\_page
27
27
 
28
28
  If this option is set to `true`, automatically generated links from a page to itself are
29
29
  used. Otherwise, only the title of the page is shown.
@@ -35,7 +35,7 @@ This reference describes all available configurations that can be set via the co
35
35
  website.link_to_current_page: false
36
36
 
37
37
 
38
- * ### `website.cache`
38
+ * ### website.cache
39
39
 
40
40
  Specifies the type and location of the cache. Two types are currently supported: `:file` and
41
41
  `:string`. The file cache type stores the cache in a file relative to the website directory. The
@@ -49,9 +49,47 @@ This reference describes all available configurations that can be set via the co
49
49
  website.cache: [:file, my.cache]
50
50
 
51
51
 
52
+ ## Commonly Used Options
53
+
54
+ * ### common.sitemap.honor\_in\_menu
55
+
56
+ Specifies whether the sitemap should only include nodes that have the meta information `in_menu`
57
+ set.
58
+
59
+ * Syntax: `BOOLEAN` where `BOOLEAN` is either `true` or `false`.
60
+
61
+ * Examples:
62
+
63
+ Sitemap with in-menu nodes: \{sitemap: {honor_in_menu: true}}
64
+
65
+
66
+ * ### common.sitemap.any\_lang
67
+
68
+ Specifies whether the sitemap should include nodes in any language or only those without a
69
+ language or with the language of the node in which the sitemap tag is used.
70
+
71
+ * Syntax: `BOOLEAN` where `BOOLEAN` is either `true` or `false`.
72
+
73
+ * Examples:
74
+
75
+ Sitemap with nodes in any language: \{sitemap: {any_lang: true}}
76
+
77
+
78
+ * ### common.sitemap.used\_kinds
79
+
80
+ Specifies the kind of nodes that should be used in the sitemap. This defaults to all nodes with
81
+ the kind `page`. If this is set to an empty array, any kind of node is used.
82
+
83
+ * Syntax: `[KIND, ...]` where `KIND` is the kind of node that should be used.
84
+
85
+ * Examples:
86
+
87
+ Sitemap with only asset nodes: \{sitemap: {used_kinds: [asset]}}
88
+
89
+
52
90
  ## Source and Output Specific Options
53
91
 
54
- * ### `sources`
92
+ * ### sources
55
93
 
56
94
  Specifies one or more sources from which paths are read. This can also be used, for example, to
57
95
  additionally add other directories as source directories that may or may not be located in the
@@ -67,7 +105,7 @@ This reference describes all available configurations that can be set via the co
67
105
  sources: [[/, Webgen::Source::FileSystem, src], [/, Webgen::Source::FileSystem, /mnt/pictures, **/*.jpg]
68
106
 
69
107
 
70
- * ### `output`
108
+ * ### output
71
109
 
72
110
  Specifies the output class that should be used for writing out the generated paths.
73
111
 
@@ -80,7 +118,7 @@ This reference describes all available configurations that can be set via the co
80
118
  output: [Webgen::Output::FileSystem, custom_out]
81
119
 
82
120
 
83
- * ### `sourcehandler.patterns`
121
+ * ### sourcehandler.patterns
84
122
 
85
123
  Specifies the path patterns that are used by the individual source handlers. This configuration
86
124
  option is not normally set in the configuration file but in an extension file
@@ -94,7 +132,7 @@ This reference describes all available configurations that can be set via the co
94
132
  config.sourcehandler.patterns['Webgen::SourceHandler::Copy'] << '**/*.swf'
95
133
 
96
134
 
97
- * ### `sourcehandler.invoke`
135
+ * ### sourcehandler.invoke
98
136
 
99
137
  Specifies the invocation order of the various source handlers. This configuration option should
100
138
  normally only be used by extensions to register their source handlers!
@@ -108,7 +146,7 @@ This reference describes all available configurations that can be set via the co
108
146
  config.sourcehandler.invoke[5] << 'Extension::MyNewSourceHandler'
109
147
 
110
148
 
111
- * ### `sourcehandler.casefold`
149
+ * ### sourcehandler.casefold
112
150
 
113
151
  Specifies whether path names should be considered case-sensitive (set to `false`) or
114
152
  case-insensitive (set to `true`).
@@ -120,7 +158,7 @@ This reference describes all available configurations that can be set via the co
120
158
  sourcehandler.casefold: true
121
159
 
122
160
 
123
- * ### `sourcehandler.use_hidden_files`
161
+ * ### sourcehandler.use\_hidden\_files
124
162
 
125
163
  Specifies whether hidden files (those starting with a dot) should be used.
126
164
 
@@ -131,7 +169,7 @@ This reference describes all available configurations that can be set via the co
131
169
  sourcehandler.use_hidden_files: true
132
170
 
133
171
 
134
- * ### `sourcehandler.ignore`
172
+ * ### sourcehandler.ignore
135
173
 
136
174
  Specifies path patterns that should be ignored. All paths that match at least one of the
137
175
  patterns are never used.
@@ -143,7 +181,7 @@ This reference describes all available configurations that can be set via the co
143
181
  sourcehandler.ignore: [**/*~, **/CVS/**]
144
182
 
145
183
 
146
- * ### `sourcehandler.default_lang_in_output_path`
184
+ * ### sourcehandler.default\_lang\_in\_output\_path
147
185
 
148
186
  Specifies whether output paths in the default language should have the language code in their
149
187
  name.
@@ -155,7 +193,7 @@ This reference describes all available configurations that can be set via the co
155
193
  sourcehandler.default_lang_in_output_path: true
156
194
 
157
195
 
158
- * ### `sourcehandler.default_meta_info`
196
+ * ### sourcehandler.default\_meta\_info
159
197
 
160
198
  Specifies default meta information for all source handlers or for specific ones. The
161
199
  configuration file provides a shortcut for setting meta information items using the special
@@ -173,7 +211,7 @@ This reference describes all available configurations that can be set via the co
173
211
  in_menu: true
174
212
 
175
213
 
176
- * ### `sourcehandler.template.default_template`
214
+ * ### sourcehandler.template.default\_template
177
215
 
178
216
  Specifies the name of the default template file of a directory. This template is used as
179
217
  fallback when no specific template is specified.
@@ -187,7 +225,7 @@ This reference describes all available configurations that can be set via the co
187
225
 
188
226
  ## Content Processor Specific Options
189
227
 
190
- * ### `contentprocessor.map`
228
+ * ### contentprocessor.map
191
229
 
192
230
  This configuration option maps short names for content processor to their class names. The short
193
231
  names are used, for example, in the procesing pipeline of a content block of a file in Webgen
@@ -202,7 +240,7 @@ This reference describes all available configurations that can be set via the co
202
240
  config['contentprocessor.map']['newcp'] = 'Extension::MyNewContentProcessor'
203
241
 
204
242
 
205
- * ### `contentprocessor.tags.prefix`
243
+ * ### contentprocessor.tags.prefix
206
244
 
207
245
  Specifies the optional prefix that is used for tag names to avoid name clashes when another
208
246
  content processor uses similar markup.
@@ -215,7 +253,7 @@ This reference describes all available configurations that can be set via the co
215
253
  contentprocessor.tags.prefix: tag
216
254
 
217
255
 
218
- * ### `contentprocessor.tags.map`
256
+ * ### contentprocessor.tags.map
219
257
 
220
258
  This configuration option maps short names for tag classes to tag class names. The short names
221
259
  are used in page and template files to specify the tag. This configuration option is normally
@@ -234,7 +272,7 @@ These options are not normally set in the configuration file but given directly
234
272
  respective tag classes. Therefore, all examples in this section show the use of these options in
235
273
  files in Webgen Page Format.
236
274
 
237
- * ### `tag.breadcrumbtrail.separator`
275
+ * ### tag.breadcrumbtrail.separator
238
276
 
239
277
  Specifies the string that should be used as separator between indivdual parts of the breadcrumb
240
278
  trail.
@@ -247,31 +285,51 @@ files in Webgen Page Format.
247
285
  Breadcrumb trail with different separator: \{breadcrumb_trail: {separator: ' --- '}}
248
286
 
249
287
 
250
- * ### `tag.breadcrumbtrail.omit_last`
288
+ * ### tag.breadcrumbtrail.omit\_index\_path
251
289
 
252
- Specifies that the last part of the breadcrumb trail should be omitted. If
253
- `tag.breadcrumbtrail.omit_index_path` is also set to `true` and the last part is an index path,
254
- only the index path is omitted (and not the parent of the index node too)!
290
+ Specifies that the last part of the breadcrumb trail should be omitted if it is an index path.
255
291
 
256
292
  * Syntax: `BOOLEAN` where `BOOLEAN` is either `true` or `false`.
257
293
 
258
294
  * Examples:
259
295
 
260
- Breadcrumb trail with last part omitted: \{breadcrumb_trail: {omit_last: true}}
296
+ Breadcrumb trail with index path omitted: \{breadcrumb_trail: {omit_index_path: true}}
261
297
 
262
298
 
263
- * ### `tag.breadcrumbtrail.omit_index_path`
299
+ * ### tag.breadcrumbtrail.start\_level
264
300
 
265
- Specifies that the last part of the breadcrumb trail should be omitted if it is an index path.
301
+ Specifies the level at which the breadcrumb trail starts. The default of 0 means to start a the
302
+ root directory. Setting this option to 1 starts the breadcrumb trail at the first level. If you
303
+ specify negative numbers, then everything is calculated from the end of the trail. Following is
304
+ a diagram showing the level numbers for a sample path:
266
305
 
267
- * Syntax: `BOOLEAN` where `BOOLEAN` is either `true` or `false`.
306
+ 0 1 2 3
307
+ / dir1 / dir2 / myfile.html
308
+ -4 -3 -2 -1
309
+
310
+ Be aware that the you need to take the `tag.breadcrumbtrail.omit_index_path` option into
311
+ account when specifying the level number.
312
+
313
+ * Syntax: `INTEGER` where `INTEGER` is any integer number
268
314
 
269
315
  * Examples:
270
316
 
271
- Breadcrumb trail with index path omitted: \{breadcrumb_trail: {omit_index_path: true}}
317
+ Breadcrumb trail starting at level 2: \{breadcrumb_trail: {start_level: 2}}
318
+
319
+
320
+ * ### tag.breadcrumbtrail.end\_level
321
+
322
+ Specifies the level at which the breadcrumb trail ends. Have a look at the documentation for
323
+ `tag.breadcrumbtrail.start_level` for more information on the useable level numbers.
324
+
325
+ * Syntax: `INTEGER` where `INTEGER` is any integer number
326
+
327
+ * Examples:
328
+
329
+ Breadcrumb trail ending at level 2: \{breadcrumb_trail: {end_level: 2}}
272
330
 
273
331
 
274
- * ### `tag.coderay.lang`
332
+ * ### tag.coderay.lang
275
333
 
276
334
  Specifies the language that should be used for syntax highlighting.
277
335
 
@@ -282,7 +340,7 @@ files in Webgen Page Format.
282
340
  highlighting some ruby code \{coderay:: ruby}puts 5 + 5{coderay}
283
341
 
284
342
 
285
- * ### `tag.coderay.process_body`
343
+ * ### tag.coderay.process\_body
286
344
 
287
345
  Specifies whether the body of the tag should be processed by the tags content processor first.
288
346
 
@@ -293,7 +351,7 @@ files in Webgen Page Format.
293
351
  wrapping in a span: \{coderay:: {lang: ruby, process_body: false}}puts 5 + 5{coderay}
294
352
 
295
353
 
296
- * ### `tag.coderay.wrap`
354
+ * ### tag.coderay.wrap
297
355
 
298
356
  Specifies in which HTML element the highlighted code should be wrapped.
299
357
 
@@ -304,7 +362,7 @@ files in Webgen Page Format.
304
362
  wrapping in a span: \{coderay:: {lang: ruby, wrap: span}}puts 5 + 5{coderay}
305
363
 
306
364
 
307
- * ### `tag.coderay.line_numbers`
365
+ * ### tag.coderay.line\_numbers
308
366
 
309
367
  Specifies whether line numbers should be shown.
310
368
 
@@ -315,7 +373,7 @@ files in Webgen Page Format.
315
373
  not showing line numbers: \{coderay:: {lang: ruby, line_numbers: false}}puts 5 + 5{coderay}
316
374
 
317
375
 
318
- * ### `tag.coderay.line_number_start`
376
+ * ### tag.coderay.line\_number\_start
319
377
 
320
378
  Specifies the line number that should be used for the first line.
321
379
 
@@ -326,7 +384,7 @@ files in Webgen Page Format.
326
384
  starting with line 4: \{coderay:: {lang: ruby, line_number_start: 4}}puts 5 + 5{coderay}
327
385
 
328
386
 
329
- * ### `tag.coderay.bold_every`
387
+ * ### tag.coderay.bold\_every
330
388
 
331
389
  Specifies the interval at which the line numbers should appear bold.
332
390
 
@@ -337,7 +395,7 @@ files in Webgen Page Format.
337
395
  every other line bold: \{coderay:: {lang: ruby, bold_every: 2}}puts 5 + 5{coderay}
338
396
 
339
397
 
340
- * ### `tag.coderay.tab_width`
398
+ * ### tag.coderay.tab\_width
341
399
 
342
400
  Specifies the number of spaces that should be used to replace tabulator characters.
343
401
 
@@ -348,7 +406,7 @@ files in Webgen Page Format.
348
406
  tabulator == 4 spaces: \{coderay:: {lang: ruby, tab_width: 4}}puts 5 + 5{coderay}
349
407
 
350
408
 
351
- * ### `tag.date.format`
409
+ * ### tag.date.format
352
410
 
353
411
  Specifies the format that should be used for formatting the current date. The format string
354
412
  needs to be in a format supported by Ruby's method
@@ -361,7 +419,7 @@ files in Webgen Page Format.
361
419
  very short date format: \{date: {format: '%Y-%m-%d'}}
362
420
 
363
421
 
364
- * ### `tag.executecommand.command`
422
+ * ### tag.executecommand.command
365
423
 
366
424
  Specifies the command that should be executed. This option is the default mandatory option for
367
425
  Webgen::Tag::ExecuteCommand.
@@ -373,7 +431,7 @@ files in Webgen Page Format.
373
431
  executing a simple command \{exeucte_cmd: echo hallo}
374
432
 
375
433
 
376
- * ### `tag.executecommand.process_output`
434
+ * ### tag.executecommand.process\_output
377
435
 
378
436
  Specifies whether the output of the executed command should be further processed by the tags
379
437
  content processor.
@@ -385,7 +443,7 @@ files in Webgen Page Format.
385
443
  executing command without further processing \{execute_cmd: {command: 'echo hallo', process_output: false}}
386
444
 
387
445
 
388
- * ### `tag.executecommand.escape_html`
446
+ * ### tag.executecommand.escape\_html
389
447
 
390
448
  Specifies whether special HTML characters in the output of the executed command should be escaped.
391
449
 
@@ -396,7 +454,7 @@ files in Webgen Page Format.
396
454
  executing command, output not escaped \{execute_cmd: {command: 'echo hallo', escape_html: false}}
397
455
 
398
456
 
399
- * ### `tag.includefile.filename`
457
+ * ### tag.includefile.filename
400
458
 
401
459
  Specifies the name of the file that should be included. The filename needs to be relative to the
402
460
  website directory or an absolute path. This option is the default mandatory option for
@@ -409,7 +467,7 @@ files in Webgen Page Format.
409
467
  including a file \{include_file: my_file.txt}
410
468
 
411
469
 
412
- * ### `tag.includefile.process_output`
470
+ * ### tag.includefile.process\_output
413
471
 
414
472
  Specifies whether the content of the file should be further processed by the tags content
415
473
  processor.
@@ -421,7 +479,7 @@ files in Webgen Page Format.
421
479
  including a file without further processing \{include_file: {filename: my_file.txt, process_output: false}}
422
480
 
423
481
 
424
- * ### `tag.includefile.escape_html`
482
+ * ### tag.includefile.escape\_html
425
483
 
426
484
  Specifies whether special HTML characters in the content of the file should be escaped.
427
485
 
@@ -432,7 +490,7 @@ files in Webgen Page Format.
432
490
  including a file without escaping \{include_file: {filename: my_file.txt, escape_html: false}}
433
491
 
434
492
 
435
- * ### `tag.langbar.separator`
493
+ * ### tag.langbar.separator
436
494
 
437
495
  Specifies the string that should be used as separator between the individual language parts.
438
496
 
@@ -444,7 +502,7 @@ files in Webgen Page Format.
444
502
  Langbar with another separator: \{langbar: {separator: ' --- '}}
445
503
 
446
504
 
447
- * ### `tag.langbar.show_own_lang`
505
+ * ### tag.langbar.show\_own\_lang
448
506
 
449
507
  Specifies whether the link to the language of the current page should be displayed.
450
508
 
@@ -455,7 +513,7 @@ files in Webgen Page Format.
455
513
  Langbar with current page's lang not shown: \{langbar: {show_own_lang: false}}
456
514
 
457
515
 
458
- * ### `tag.langbar.show_single_lang`
516
+ * ### tag.langbar.show\_single\_lang
459
517
 
460
518
  Specifies whether the list should be displayed even if there are no translations of the page
461
519
  (i.e. when there is only one page).
@@ -467,7 +525,7 @@ files in Webgen Page Format.
467
525
  Langbar with single language not shown: \{langbar: {show_single_lang: false}}
468
526
 
469
527
 
470
- * ### `tag.menu.used_nodes`
528
+ * ### tag.menu.used\_nodes
471
529
 
472
530
  Specifies the type of nodes that should be used for menu generation. If `all` is specified then
473
531
  all available menu nodes are used, if `files` is specified then only menu nodes that represent
@@ -481,7 +539,7 @@ files in Webgen Page Format.
481
539
  Show the fragment node menu: \{menu: {used_nodes: fragments}}
482
540
 
483
541
 
484
- * ### `tag.menu.start_level`
542
+ * ### tag.menu.start\_level
485
543
 
486
544
  Specifies the start level for the menu. All nodes with a lower level than this number are not
487
545
  shown in the menu.
@@ -493,7 +551,7 @@ files in Webgen Page Format.
493
551
  Menu starting at level 2: \{menu: {start_level: 2}}
494
552
 
495
553
 
496
- * ### `tag.menu.min_levels`
554
+ * ### tag.menu.min\_levels
497
555
 
498
556
  Specifies the minimum number of levels that should always be shown. For example, if this is set
499
557
  to `2` then two menu levels are always shown.
@@ -505,7 +563,7 @@ files in Webgen Page Format.
505
563
  Menu that always shows at least 2 levels : \{menu: {min_levels: 2}}
506
564
 
507
565
 
508
- * ### `tag.menu.max_levels`
566
+ * ### tag.menu.max\_levels
509
567
 
510
568
  Specifies the maximum number of levels that should be shown even if there would be more. For
511
569
  example, if this is set to `2` then there are only shown at most two menu levels.
@@ -517,7 +575,7 @@ files in Webgen Page Format.
517
575
  Menu that always shows at most 2 levels : \{menu: {max_levels: 2}}
518
576
 
519
577
 
520
- * ### `tag.menu.show_current_subtree_only`
578
+ * ### tag.menu.show\_current\_subtree\_only
521
579
 
522
580
  Specifies whether only the current subtree (ie. the subtree in which the node is that is
523
581
  displayed) should be shown in the menu or all subtrees. This option takes effect when there are
@@ -530,7 +588,7 @@ files in Webgen Page Format.
530
588
  Showing all subtrees: \{menu: {show_current_subtree_only: false}}
531
589
 
532
590
 
533
- * ### `tag.relocatable.path`
591
+ * ### tag.relocatable.path
534
592
 
535
593
  The default mandatory configuration option for Tag::Relocatable that specifies the path that
536
594
  should be made relocatable. This option is the default mandatory option for
@@ -543,13 +601,11 @@ files in Webgen Page Format.
543
601
  <a href="\{relocatable: ../features.html}">Some Path</a>
544
602
 
545
603
 
546
-
547
-
548
604
  ---
549
605
 
550
606
  ## Miscelleanous Configuration Options
551
607
 
552
- * ### `resources`
608
+ * ### resources
553
609
 
554
610
  A map from resource names to resource identifiers. Should only be used by extensions and not be
555
611
  set in the configuration file.