webgen 1.0.0.beta3 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (148) hide show
  1. checksums.yaml +7 -0
  2. data/COPYING +23 -1
  3. data/Rakefile +16 -77
  4. data/VERSION +1 -1
  5. data/bin/webgen +0 -0
  6. data/data/webgen/basic_website_template/ext/init.rb +3 -1
  7. data/data/webgen/basic_website_template/src/.gitignore +0 -0
  8. data/data/webgen/basic_website_template/webgen.config +1 -1
  9. data/data/webgen/bundle_template_files/info.yaml.erb +14 -2
  10. data/data/webgen/passive_sources/default.metainfo +10 -0
  11. data/data/webgen/passive_sources/templates/api.template +16 -2
  12. data/data/webgen/passive_sources/templates/feed.template +5 -5
  13. data/data/webgen/passive_sources/templates/sitemap.template +1 -1
  14. data/data/webgen/passive_sources/templates/tag.template +8 -4
  15. data/lib/webgen/blackboard.rb +21 -5
  16. data/lib/webgen/bundle/built-in-show-changes/info.yaml +17 -0
  17. data/lib/webgen/bundle/built-in-show-changes/init.rb +4 -5
  18. data/lib/webgen/bundle/built-in/info.yaml +1064 -0
  19. data/lib/webgen/bundle/built-in/init.rb +103 -136
  20. data/lib/webgen/bundle_loader.rb +82 -9
  21. data/lib/webgen/cli.rb +12 -8
  22. data/lib/webgen/cli/commands/create.rb +27 -0
  23. data/lib/webgen/cli/{create_bundle_command.rb → commands/create_bundle.rb} +2 -2
  24. data/lib/webgen/cli/{create_command.rb → commands/create_website.rb} +2 -2
  25. data/lib/webgen/cli/commands/generate.rb +66 -0
  26. data/lib/webgen/cli/{install_bundle_command.rb → commands/install.rb} +1 -1
  27. data/lib/webgen/cli/{show_command.rb → commands/show.rb} +6 -4
  28. data/lib/webgen/cli/{list_bundle_command.rb → commands/show_bundles.rb} +12 -15
  29. data/lib/webgen/cli/{show_config_command.rb → commands/show_config.rb} +34 -6
  30. data/lib/webgen/cli/{show_dependencies_command.rb → commands/show_dependencies.rb} +0 -0
  31. data/lib/webgen/cli/{show_extensions_command.rb → commands/show_extensions.rb} +1 -13
  32. data/lib/webgen/cli/{show_tree_command.rb → commands/show_tree.rb} +3 -0
  33. data/lib/webgen/cli/utils.rb +1 -1
  34. data/lib/webgen/configuration.rb +9 -11
  35. data/lib/webgen/content_processor/html_head.rb +3 -4
  36. data/lib/webgen/content_processor/rainpress.rb +21 -0
  37. data/lib/webgen/content_processor/sass.rb +8 -8
  38. data/lib/webgen/content_processor/tikz.rb +59 -16
  39. data/lib/webgen/item_tracker.rb +33 -12
  40. data/lib/webgen/item_tracker/missing_node.rb +5 -5
  41. data/lib/webgen/item_tracker/template_chain.rb +52 -0
  42. data/lib/webgen/misc/dummy_index.rb +78 -0
  43. data/lib/webgen/node.rb +1 -1
  44. data/lib/webgen/node_finder.rb +86 -141
  45. data/lib/webgen/page.rb +5 -5
  46. data/lib/webgen/path.rb +4 -1
  47. data/lib/webgen/path_handler.rb +25 -21
  48. data/lib/webgen/path_handler/api.rb +36 -3
  49. data/lib/webgen/path_handler/base.rb +20 -4
  50. data/lib/webgen/path_handler/feed.rb +6 -2
  51. data/lib/webgen/path_handler/meta_info.rb +4 -2
  52. data/lib/webgen/path_handler/page.rb +5 -7
  53. data/lib/webgen/path_handler/sitemap.rb +6 -1
  54. data/lib/webgen/path_handler/virtual.rb +6 -8
  55. data/lib/webgen/source/file_system.rb +2 -2
  56. data/lib/webgen/tag.rb +22 -18
  57. data/lib/webgen/tag/menu.rb +5 -5
  58. data/lib/webgen/test_helper.rb +18 -18
  59. data/lib/webgen/utils/external_command.rb +1 -1
  60. data/lib/webgen/utils/tag_parser.rb +1 -1
  61. data/lib/webgen/vendor/rainpress.rb +168 -0
  62. data/lib/webgen/version.rb +1 -1
  63. data/lib/webgen/website.rb +10 -10
  64. data/man/man1/webgen.1 +54 -23
  65. data/test/test_documentation.rb +27 -4
  66. data/test/webgen/cli/test_logger.rb +1 -1
  67. data/test/webgen/content_processor/test_blocks.rb +1 -1
  68. data/test/webgen/content_processor/test_builder.rb +3 -2
  69. data/test/webgen/content_processor/test_erb.rb +1 -1
  70. data/test/webgen/content_processor/test_erubis.rb +2 -2
  71. data/test/webgen/content_processor/test_fragments.rb +1 -1
  72. data/test/webgen/content_processor/test_haml.rb +2 -2
  73. data/test/webgen/content_processor/test_html_head.rb +5 -1
  74. data/test/webgen/content_processor/test_kramdown.rb +2 -2
  75. data/test/webgen/content_processor/test_maruku.rb +2 -2
  76. data/test/webgen/content_processor/test_r_discount.rb +2 -2
  77. data/test/webgen/content_processor/test_r_doc.rb +1 -1
  78. data/test/webgen/content_processor/test_rainpress.rb +19 -0
  79. data/test/webgen/content_processor/test_red_cloth.rb +2 -2
  80. data/test/webgen/content_processor/test_ruby.rb +1 -1
  81. data/test/webgen/content_processor/test_sass.rb +8 -6
  82. data/test/webgen/content_processor/test_scss.rb +3 -3
  83. data/test/webgen/content_processor/test_tags.rb +1 -1
  84. data/test/webgen/content_processor/test_tidy.rb +9 -1
  85. data/test/webgen/content_processor/test_tikz.rb +6 -3
  86. data/test/webgen/content_processor/test_xmllint.rb +9 -2
  87. data/test/webgen/destination/test_file_system.rb +4 -4
  88. data/test/webgen/item_tracker/test_file.rb +1 -1
  89. data/test/webgen/item_tracker/test_missing_node.rb +1 -1
  90. data/test/webgen/item_tracker/test_node_content.rb +1 -1
  91. data/test/webgen/item_tracker/test_node_meta_info.rb +1 -1
  92. data/test/webgen/item_tracker/test_nodes.rb +2 -4
  93. data/test/webgen/item_tracker/test_template_chain.rb +36 -0
  94. data/test/webgen/misc/test_dummy_index.rb +83 -0
  95. data/test/webgen/path_handler/test_api.rb +6 -46
  96. data/test/webgen/path_handler/test_base.rb +3 -2
  97. data/test/webgen/path_handler/test_copy.rb +1 -1
  98. data/test/webgen/path_handler/test_feed.rb +3 -4
  99. data/test/webgen/path_handler/test_meta_info.rb +1 -1
  100. data/test/webgen/path_handler/test_page.rb +1 -1
  101. data/test/webgen/path_handler/test_page_utils.rb +1 -1
  102. data/test/webgen/path_handler/test_sitemap.rb +3 -5
  103. data/test/webgen/path_handler/test_template.rb +1 -1
  104. data/test/webgen/path_handler/test_virtual.rb +1 -3
  105. data/test/webgen/source/test_file_system.rb +9 -4
  106. data/test/webgen/source/test_stacked.rb +1 -1
  107. data/test/webgen/source/test_tar_archive.rb +2 -2
  108. data/test/webgen/tag/test_breadcrumb_trail.rb +1 -1
  109. data/test/webgen/tag/test_coderay.rb +3 -2
  110. data/test/webgen/tag/test_date.rb +1 -1
  111. data/test/webgen/tag/test_execute_command.rb +1 -1
  112. data/test/webgen/tag/test_include_file.rb +1 -1
  113. data/test/webgen/tag/test_langbar.rb +1 -1
  114. data/test/webgen/tag/test_link.rb +1 -1
  115. data/test/webgen/tag/test_menu.rb +12 -30
  116. data/test/webgen/tag/test_meta_info.rb +1 -1
  117. data/test/webgen/tag/test_relocatable.rb +1 -1
  118. data/test/webgen/tag/test_tikz.rb +3 -2
  119. data/test/webgen/task/test_create_website.rb +2 -2
  120. data/test/webgen/test_blackboard.rb +11 -3
  121. data/test/webgen/test_bundle_loader.rb +26 -9
  122. data/test/webgen/test_cache.rb +1 -1
  123. data/test/webgen/test_cli.rb +2 -2
  124. data/test/webgen/test_configuration.rb +8 -9
  125. data/test/webgen/test_content_processor.rb +1 -1
  126. data/test/webgen/test_context.rb +1 -1
  127. data/test/webgen/test_core_ext.rb +1 -1
  128. data/test/webgen/test_destination.rb +1 -1
  129. data/test/webgen/test_error.rb +5 -5
  130. data/test/webgen/test_extension_manager.rb +1 -1
  131. data/test/webgen/test_item_tracker.rb +26 -5
  132. data/test/webgen/test_languages.rb +1 -1
  133. data/test/webgen/test_logger.rb +1 -1
  134. data/test/webgen/test_node.rb +1 -1
  135. data/test/webgen/test_node_finder.rb +2 -2
  136. data/test/webgen/test_page.rb +5 -5
  137. data/test/webgen/test_path.rb +8 -8
  138. data/test/webgen/test_rake_task.rb +1 -1
  139. data/test/webgen/test_source.rb +1 -1
  140. data/test/webgen/test_tag.rb +16 -24
  141. data/test/webgen/test_task.rb +1 -1
  142. data/test/webgen/test_tree.rb +1 -1
  143. data/test/webgen/test_utils.rb +1 -1
  144. data/test/webgen/test_website.rb +1 -1
  145. data/test/webgen/utils/test_tag_parser.rb +1 -1
  146. metadata +85 -105
  147. data/lib/webgen/cli/bundle_command.rb +0 -30
  148. data/lib/webgen/cli/generate_command.rb +0 -25
@@ -0,0 +1,1064 @@
1
+ author: &author Thomas Leitner <t_leitner@gmx.at>
2
+ summary: Built-in webgen extensions
3
+ description: |
4
+ This is the extension bundle that comes with webgen. It provides the
5
+ core extensions and a handful of generally useful extensions.
6
+
7
+ extensions:
8
+ bundle_infos:
9
+ author: *author
10
+ summary: Provides access to information about bundles and their ressources like extensions and options
11
+
12
+ cli:
13
+ author: *author
14
+ summary: Provides access to the command parser instance for adding CLI commands
15
+
16
+ content_processor:
17
+ author: *author
18
+ summary: Provides a generic framework for processing content
19
+ content_processor.blocks:
20
+ author: *author
21
+ summary: Replaces a special xml tag with the rendered block of a node in Webgen Page Format
22
+ content_processor.builder:
23
+ author: *author
24
+ summary: Allows one to programatically create valid XHTML/XML documents
25
+ content_processor.erb:
26
+ author: *author
27
+ summary: Allows one to use ERB (embedded Ruby) in the content
28
+ content_processor.erubis:
29
+ author: *author
30
+ summary: Allows one to use ERB (embedded Ruby) in the content (faster than the erb processor)
31
+ content_processor.fragments:
32
+ author: *author
33
+ summary: Generates fragment nodes from all HTML headers which have an id attribute set
34
+ content_processor.haml:
35
+ author: *author
36
+ summary: Allows one to write HTML with the Haml markup language
37
+ content_processor.html_head:
38
+ author: *author
39
+ summary: Inserts various HTML tags like links to CSS/Javascript files into the HTML head tag
40
+ content_processor.kramdown:
41
+ author: *author
42
+ summary: Fast superset-of-Markdown to HTML converter
43
+ content_processor.maruku:
44
+ author: *author
45
+ summary: Converts content written in a superset of Markdown to HTML
46
+ content_processor.rainpress:
47
+ author: *author
48
+ summary: Compresses CSS files
49
+ content_processor.rdiscount:
50
+ author: *author
51
+ summary: Converts content written in Markdown to HTML
52
+ content_processor.rdoc:
53
+ author: *author
54
+ summary: Converts content written in RDoc markup to HTML
55
+ content_processor.redcloth:
56
+ author: *author
57
+ summary: Converts content written in Textile markup to HTML
58
+ content_processor.ruby:
59
+ author: *author
60
+ summary: Generate arbitrary output using plain Ruby
61
+ content_processor.sass:
62
+ author: *author
63
+ summary: Converts content written in the Sass meta language to valid CSS
64
+ content_processor.scss:
65
+ author: *author
66
+ summary: Converts content written in the Sassy CSS language to valid CSS
67
+ content_processor.tags:
68
+ author: *author
69
+ summary: Provides a very easy way for adding dynamic content
70
+ content_processor.tidy:
71
+ author: *author
72
+ summary: Uses the tidy program to convert the content into valid (X)HTML
73
+ content_processor.tikz:
74
+ author: *author
75
+ summary: Converts the content (LaTeX TikZ picture commands) into an image
76
+ content_processor.xmllint:
77
+ author: *author
78
+ summary: Uses the xmllint program to check the content for well-formedness and/or validness
79
+
80
+ context_modules:
81
+ author: *author
82
+ summary: Allows adding helper methods (defined in modules) to the Context object
83
+
84
+ destination:
85
+ author: *author
86
+ summary: Provides an extendable way for writing the generated files
87
+ destination.file_system:
88
+ author: *author
89
+ summary: Writes the generated content to a specified directory
90
+
91
+ item_tracker:
92
+ author: *author
93
+ summary: Tracks items for nodes which allows webgen to check if a node has changed
94
+ item_tracker.node_content:
95
+ author: *author
96
+ summary: Tracks changes to the content of a node
97
+ item_tracker.node_meta_info:
98
+ author: *author
99
+ summary: Tracks changes to the meta information of a node
100
+ item_tracker.nodes:
101
+ author: *author
102
+ summary: Tracks changes to a (nested) list of nodes
103
+ item_tracker.file:
104
+ author: *author
105
+ summary: Tracks changes to a file
106
+ item_tracker.missing_node:
107
+ author: *author
108
+ summary: Tracks missing nodes via their expected alcn/acn/dest_path
109
+ item_tracker.template_chain:
110
+ author: *author
111
+ summary: Tracks the template chain of a node
112
+
113
+ link_definitions:
114
+ author: *author
115
+ summary: Provides an easy way to provide globally shared link definitions (used, for example, by the content processor kramdown)
116
+
117
+ misc:
118
+ author: *author
119
+ summary: Namespace for miscellaneous extensions
120
+ misc.dummy_index:
121
+ author: *author
122
+ summary: Creates dummy index destination paths for directories that don't have any
123
+
124
+ node_finder:
125
+ author: *author
126
+ summary: Generic node finding extension, allows adding of custom filters
127
+
128
+ path_handler:
129
+ author: *author
130
+ summary: Provides an extendable way to create nodes from source paths.
131
+ path_handler.directory:
132
+ author: *author
133
+ summary: Creates the needed output directories from the source directories
134
+ path_handler.meta_info:
135
+ author: *author
136
+ summary: Provides the ability to set meta information for any path or node
137
+ path_handler.template:
138
+ author: *author
139
+ summary: Handles template files for layouting page and other template files
140
+ path_handler.page:
141
+ author: *author
142
+ summary: Generates HTML files from page files
143
+ path_handler.copy:
144
+ author: *author
145
+ summary: |
146
+ Copies files from the source to the destination directory, optionally processing
147
+ them with one or more content processors
148
+ path_handler.feed:
149
+ author: *author
150
+ summary: Automatically generates atom or RSS feeds for a set of files
151
+ path_handler.sitemap:
152
+ author: *author
153
+ summary: Generates a sitemap file
154
+ path_handler.virtual:
155
+ author: *author
156
+ summary: Creates nodes for additional, virtual paths
157
+ path_handler.api:
158
+ author: *author
159
+ summary: Creates Ruby API documentation pages via RDoc
160
+
161
+ sass_load_paths:
162
+ author: *author
163
+ summary: Allows adding custom Sass load paths
164
+
165
+ source:
166
+ author: *author
167
+ summary: Provides an extendable way for finding source paths
168
+ source.file_system:
169
+ author: *author
170
+ summary: Provides paths under a specified directory that match a certain pattern
171
+ source.stacked:
172
+ author: *author
173
+ summary: Allows combining multiple sources into one
174
+ source.tar_archive:
175
+ author: *author
176
+ summary: Provides paths from a specified (gzipped) tar archive that match a certain pattern
177
+
178
+ tag:
179
+ author: *author
180
+ summary: Handles webgen tags (an easy way for adding dynamic content)
181
+ tag.date:
182
+ author: *author
183
+ summary: Displays the current date/time in a customizable format
184
+ tag.meta_info:
185
+ author: *author
186
+ summary: Outputs the value of a given meta information key of the generated page
187
+ tag.relocatable:
188
+ author: *author
189
+ summary: Makes the given path relative to the generated page
190
+ tag.link:
191
+ author: *author
192
+ summary: Creates a link to a given path
193
+ tag.execute_command:
194
+ author: *author
195
+ summary: Includes the output of a command
196
+ tag.include_file:
197
+ author: *author
198
+ summary: Includes the content of a file
199
+ tag.coderay:
200
+ author: *author
201
+ summary: Applies syntax highlighting to the tag body
202
+ tag.tikz:
203
+ author: *author
204
+ summary: Generates an output image from the specified TikZ commands
205
+ tag.langbar:
206
+ author: *author
207
+ summary: Displays a list of links to translations of the content page
208
+ tag.breadcrumb_trail:
209
+ author: *author
210
+ summary: Creates a breadcrumb trail (i.e. shows the directory hierarchy) for the content page
211
+ tag.menu:
212
+ author: *author
213
+ summary: Creates a customizable menu
214
+
215
+ task:
216
+ author: *author
217
+ summary: |
218
+ Provides a standard interface for working with tasks that perform actions like creating a
219
+ website or generating it.
220
+ task.create_bundle:
221
+ author: *author
222
+ summary: Creates an extension bundle, either for local use or for distribution via Rubygems
223
+ task.create_website:
224
+ author: *author
225
+ summary: Creates a webgen website, optionally using a template
226
+ task.generate_website:
227
+ author: *author
228
+ summary: Generates the website
229
+
230
+
231
+ options:
232
+ content_processor.erb.trim_mode:
233
+ summary: |
234
+ The ERB trim mode. The string can contain any combination of '%', '<' and '<>' -- see the API
235
+ documentation of ERB for more information.
236
+ syntax: |
237
+ `STRING` where `STRING` is any combination of any combination of '%', '<' and '<>'
238
+ example:
239
+ config: |
240
+ content_processor.erb.trim_mode: '%<'
241
+
242
+ content_processor.erubis.options:
243
+ summary: |
244
+ Additional Erubis options. Have a look at the Erubis documentation for available options.
245
+ syntax: |
246
+ `{KEY: VALUE, ...}` where `KEY` and `VALUE` are key-value pairs of options
247
+ example:
248
+ config: |
249
+ content_processor.erubis.options: {trim: true}
250
+
251
+ content_processor.erubis.use_pi:
252
+ summary: |
253
+ Specifies whether Erubis should look for XML processing instructions or the standard ERB tags
254
+ when processing content.
255
+ syntax: |
256
+ `true` or `false`
257
+ example:
258
+ config: |
259
+ content_processor.erubis.use_pi: true
260
+
261
+ content_processor.kramdown.handle_links:
262
+ summary: |
263
+ Specifies whether all links in a kramdown document should be processed by webgen. If this
264
+ option is set, all links are automatically resolved using webgen's built-in facilities. This
265
+ saves some typing and makes the document more robust since all links are automatically checked
266
+ and warnings displayed if the link target is not found.
267
+ syntax: |
268
+ `true` or `false`
269
+ example:
270
+ config: |
271
+ content_processor.kramdown.handle_links: false
272
+
273
+ content_processor.kramdown.ignore_unknown_fragments:
274
+ summary: |
275
+ Specifies whether unknown, non-resolvable fragment parts should be ignored. This is useful
276
+ when there are links to fragments that have no internal representation.
277
+ syntax: |
278
+ `true` or `false`
279
+ example:
280
+ config: |
281
+ content_processor.kramdown.ignore_unknown_fragments: true
282
+
283
+ content_processor.kramdown.options:
284
+ summary: |
285
+ Additional options for the kramdown processor. Have a look at the kramdown documentation for
286
+ available options.
287
+ syntax: |
288
+ `{KEY: VALUE, ...}` where `KEY` and `VALUE` are key-value pairs of kramdown options
289
+ example:
290
+ config: |
291
+ content_processor.kramdown.options: {auto_ids: false, coderay_line_numbers: null}
292
+
293
+ content_processor.rainpress.options:
294
+ summary: |
295
+ Options for the rainpress CSS compressor. All rainpress options are enabled by default, so
296
+ this can be used to disable some compression methods.
297
+ syntax: |
298
+ `{KEY: false, ...}` where `KEY` are valid rainpress option keys
299
+ example:
300
+ config: |
301
+ content_processor.rainpress.options: {comments: false}
302
+
303
+ content_processor.redcloth.hard_breaks:
304
+ summary: |
305
+ Specifies whether hard breaks (i.e. single newlines) in paragraphs are converted to HTML break
306
+ tags.
307
+ syntax: |
308
+ `true` or `false`
309
+ example:
310
+ config: |
311
+ content_processor.redcloth.hard_breaks: true
312
+
313
+ content_processor.sass.options:
314
+ summary: |
315
+ Additional Sass options (also used by the scss content processors). Have a look at the Sass
316
+ documentation for available options.
317
+ syntax: |
318
+ `{KEY: VALUE, ...}` where `KEY` and `VALUE` are key-value pairs of Sass options
319
+ example:
320
+ config: |
321
+ content_processor.sass.options: {line_numbers: true}
322
+
323
+ content_processor.tidy.options:
324
+ summary: |
325
+ Additional options passed to the `tidy` command (`-q` is always used).
326
+ syntax: |
327
+ `STRING` where `STRING` is the string with the command line options
328
+ example:
329
+ config: |
330
+ content_processor.tidy.options: "-utf8"
331
+
332
+ content_processor.tikz.libraries:
333
+ summary: |
334
+ Array of additional TikZ library names.
335
+ syntax: |
336
+ `[NAME, ...]` where `NAME` is the name of a TikZ library
337
+ example:
338
+ config: |
339
+ content_processor.tikz.libraries: [mindmap, arrows]
340
+ example:
341
+ tag: |
342
+ {tikz:: {path: tikz.png, content_processor.tikz.libraries: [mindmap, arrows]}}
343
+ \tikz \draw (0,0) -- (0,2) -- (2,2);
344
+ {tikz}
345
+
346
+ content_processor.tikz.opts:
347
+ summary: |
348
+ A string with global options for the `tikzpicture` environment
349
+ syntax: |
350
+ `OPTS` where `OPTS` is the string with the global options
351
+ example:
352
+ config: |
353
+ content_processor.tikz.opts: 'scale=3, line cap=round'
354
+ tag: |
355
+ {tikz:: {path: tikz.png, content_processor.tikz.opts: 'scale=3, line cap=round'}}
356
+ \tikz \draw (0,0) -- (0,2) -- (2,2);
357
+ {tikz}
358
+
359
+ content_processor.tikz.resolution:
360
+ summary: |
361
+ The render and output resolutions that should be used for converting the TikZ image in PDF
362
+ format to the chosen image format. The first number specifies the render resolution and the
363
+ second the output resolution. If the render resolution is higher than the output resolution,
364
+ the final image quality is better by scaling the image down to the output resolution.
365
+ syntax: |
366
+ `RENDER OUTPUT` where `RENDER` is the integer specifying the render resolution and `OUTPUT` is
367
+ the integer specifying the output resolution.
368
+ example:
369
+ config: |
370
+ content_processor.tikz.resolution: 300 72
371
+ tag: |
372
+ {tikz:: {path: tikz.png, content_processor.tikz.resolution: 300 72}}
373
+ \tikz \draw (0,0) -- (0,2) -- (2,2);
374
+ {tikz}
375
+
376
+ content_processor.tikz.template:
377
+ summary: |
378
+ The template node containing the LaTeX framework that should be used for creating the TikZ
379
+ image.
380
+ syntax: |
381
+ `PATH` where `PATH` is the (a)(l)cn of a template node
382
+ example:
383
+ config: |
384
+ content_processor.tikz.template: /tmpl/my_tikz.template
385
+ tag: |
386
+ {tikz:: {path: tikz.png, content_processor.tikz.template: /my_tikz.template}}
387
+ \tikz \draw (0,0) -- (0,2) -- (2,2);
388
+ {tikz}
389
+
390
+ content_processor.tikz.transparent:
391
+ summary: |
392
+ Specifies whether the generated image should be transparent. This configuration option is only
393
+ used when the destination path of the TikZ image has the extension ".png"!
394
+ syntax: |
395
+ `true` or `false`
396
+ example:
397
+ config: |
398
+ content_processor.tikz.transparent: true
399
+ tag: |
400
+ {tikz:: {path: tikz.png, content_processor.tikz.transparent: true}}
401
+ \tikz \draw (0,0) -- (0,2) -- (2,2);
402
+ {tikz}
403
+
404
+ content_processor.xmllint.options:
405
+ summary: |
406
+ Options passed to the `xmllint` command.
407
+ syntax: |
408
+ `STRING` where `STRING` is the string with the command line options.
409
+ example:
410
+ config: |
411
+ content_processor.xmllint.options: "--catalogs --noout"
412
+
413
+
414
+ destination:
415
+ summary: |
416
+ The destination extension that should be used for writing out the generated paths.
417
+ syntax: |
418
+ `[NAME, ARG1, ARG2, ...]` where `NAME` is the short name of the destination extension (for
419
+ example "file_system") and `ARG1`, `ARG2` and so on are the parameters for the destination
420
+ extension. The supported parameters can be found in the documentation for each destination
421
+ extension.
422
+ example:
423
+ config: |
424
+ destination: [file_system, custom_out_dir]
425
+
426
+ misc.dummy_index.directory_indexes:
427
+ summary: |
428
+ A list of directory index names that should be recognized. These index names are used to
429
+ determine whether a directory already has a valid directory index. The first entry is also
430
+ used as the name for the dummy directory index that is created if needed.
431
+ syntax: |
432
+ `[INDEX NAME, ...]` where `INDEX NAME` is a directory index name
433
+ example:
434
+ config: |
435
+ misc.dummy_index.directory_indexes: [index.html, index.htm, default.htm]
436
+
437
+ misc.dummy_index.enabled:
438
+ summary: |
439
+ Specifies whether dummy index paths should automatically be created.
440
+ syntax: |
441
+ `true` or `false`
442
+ example:
443
+ config: |
444
+ misc.dummy_index.enabled: false
445
+
446
+ node_finder.option_sets:
447
+ summary: |
448
+ Predefined node finder option sets. This option allows one to define common node finder option
449
+ sets beforehand and then use them for any node finder operation.
450
+ syntax: |
451
+ `{NAME: OPTION SET, ...}` where `NAME` is the name of the to-be-defined option set and `OPTION
452
+ SET` is a hash with node finder options
453
+ example:
454
+ config: |
455
+ node_finder.option_sets:
456
+ menu: {in_menu: true, sort: sort_info, levels: [1,3]}
457
+ sub_menu: {descendants: true, levels: [2,10]}
458
+
459
+ path_handler.default_template:
460
+ summary: |
461
+ The name of the default template of a directory. This template is used as fallback when no
462
+ specific template is specified.
463
+ syntax: |
464
+ `PATH` where `PATH` is the (a)(l)cn of the default template
465
+ example:
466
+ config: |
467
+ path_handler.default_template: other.template
468
+
469
+ path_handler.lang_code_in_dest_path:
470
+ summary: |
471
+ Specifies whether destination paths should have the language part in their name. This option
472
+ can either be set to `true` (all paths get the language part), `false` (no path gets a
473
+ language part) or `except_default` (all paths except those in the default language -- see the
474
+ website.lang configuration option -- get the language part).
475
+ syntax: |
476
+ `true`, `false` or `except_default`
477
+ example:
478
+ config: |
479
+ path_handler.lang_code_in_dest_path: true
480
+
481
+ path_handler.patterns.case_sensitive:
482
+ summary: |
483
+ Specifies whether path names should be considered case-sensitive (value `true`) or
484
+ case-insensitive (value `false`).
485
+ syntax: |
486
+ `true` or `false`
487
+ example:
488
+ config: |
489
+ path_handler.patterns.case_sensitive: true
490
+
491
+ path_handler.patterns.match_leading_dot:
492
+ summary: |
493
+ Specifies whether paths with a leading dot, i.e. hidden files, should be used.
494
+ syntax: |
495
+ `true` or `false`
496
+ example:
497
+ config: |
498
+ path_handler.patterns.match_leading_dot: true
499
+
500
+ path_handler.version_in_dest_path:
501
+ summary: |
502
+ Specifies whether destination paths should use the version name in their name. This option can
503
+ either be set to `true` (all paths get the version part), `false` (no path gets a version
504
+ part) or `except_default` (all paths except those with the default version name get the
505
+ version part).
506
+ syntax: |
507
+ `true`, `false` or `except_default`
508
+ example:
509
+ config: |
510
+ path_handler.version_in_dest_path: true
511
+
512
+ sources:
513
+ summary: |
514
+ One or more source extensions from which paths are read. This can be used, for example, to
515
+ additionally add source directories that may or may not be located in the website directory.
516
+ syntax: |
517
+ `[[MOUNT POINT, NAME, ARG1, ARG2, ...], ...]` where `MOUNT POINT` is the absolute path under
518
+ which the source should be mounted, `NAME` is the short name of the source extension (for
519
+ example, "file_system") and `ARG1`, `ARG2` and so on are the parameters for the source
520
+ extension. The supported parameters can be found in the documentation for each source
521
+ extension.
522
+ example:
523
+ config: |
524
+ sources: [[/, file_system, src], [/, file_system, /mnt/pictures, '**/*.jpg']]
525
+
526
+ sources.ignore_paths:
527
+ summary: |
528
+ The path patterns that should be ignored. All paths that match at least one of the patterns
529
+ are ignored.
530
+ syntax: |
531
+ `[PATTERN, ...]` where `PATTERN` is a valid path pattern
532
+ example:
533
+ config: |
534
+ sources.ignore_paths: [**/*~, **/CVS/**]
535
+
536
+
537
+ tag.breadcrumb_trail.end_level:
538
+ summary: |
539
+ The level at which the breadcrumb trail ends. Have a look at the documentation for
540
+ tag.breadcrumb_trail.start_level for more information on the useable level numbers.
541
+ syntax: |
542
+ `INTEGER` where `INTEGER` is an integer
543
+ example:
544
+ config: |
545
+ tag.breadcrumb_trail.end_level: 2
546
+ tag: |
547
+ {breadcrumb_trail: {end_level: 2}}
548
+
549
+ tag.breadcrumb_trail.omit_dir_index:
550
+ summary: |
551
+ Specifies whether the last path component should be omitted if it is an index path.
552
+ syntax: |
553
+ `true` or `false`
554
+ example:
555
+ config: |
556
+ tag.breadcrumb_trail.omit_dir_index: true
557
+ tag: |
558
+ {breadcrumb_trail: {omit_dir_index: true}}
559
+
560
+ tag.breadcrumb_trail.separator:
561
+ summary: |
562
+ The string that should be used as separator between indivdual parts of the breadcrumb trail.
563
+ syntax: |
564
+ `SEPARATOR` where `SEPARATOR` is a string (special HTML characters like `<` need to be
565
+ properly escaped)
566
+ example:
567
+ config: |
568
+ tag.breadcrumb_trail.separator: '---'
569
+ tag: |
570
+ {breadcrumb_trail: {separator: ' --- '}}
571
+
572
+ tag.breadcrumb_trail.start_level:
573
+ summary: |
574
+ The level at which the breadcrumb trail starts. The default of 0 means to start a the root
575
+ directory. Setting this option to 1 starts the breadcrumb trail at the first level. If you
576
+ specify negative numbers, then everything is calculated from the end of the trail. Following
577
+ is a diagram showing the level numbers for a sample path:
578
+
579
+ 0 1 2 3
580
+ / dir1 / dir2 / myfile.html
581
+ -4 -3 -2 -1
582
+
583
+ Be aware that the you need to take the tag.breadcrumbtrail.omit_index_path configuration
584
+ option into account when specifying the level number.
585
+ syntax: |
586
+ `INTEGER` where `INTEGER` is an integer
587
+ example:
588
+ config: |
589
+ tag.breadcrumb_trail.start_level: 2
590
+ tag: |
591
+ {breadcrumb_trail: {start_level: 2}}
592
+
593
+ tag.breadcrumb_trail.template:
594
+ summary: |
595
+ The template node used for rendering the tag. It has to contain the block
596
+ 'tag.breadcrumb_trail' because this block is used for rendering.
597
+ syntax: |
598
+ `PATH` where `PATH` is the (a)(l)cn of the template node
599
+ example:
600
+ config: |
601
+ tag.breadcrumb_trail.template: /other.template
602
+ tag: |
603
+ {breadcrumb_trail: {template: /other.template}}
604
+
605
+ tag.coderay.bold_every:
606
+ summary: |
607
+ The interval at which the line numbers should appear bold.
608
+ syntax: |
609
+ `INTEGER` where `INTEGER` is an integer
610
+ example:
611
+ config: |
612
+ tag.coderay.bold_every: 2
613
+ tag: |
614
+ {coderay:: {lang: ruby, bold_every: 2}}puts 5 + 5{coderay}
615
+
616
+ tag.coderay.css:
617
+ summary: |
618
+ Specifies how the highlighted code should be styled. If set to `style`, the CSS style
619
+ attributes are set directly on the various HTML elements. If set to `class`, only classes are
620
+ set on the HTML elements and the default external stylesheet is used - the content processor
621
+ html_head is needed for this to work. If set to `other`, only classes are set like with the
622
+ `class` value but no default external stylesheet is used.
623
+ syntax: |
624
+ `STYLE` where `STYLE` is either `style`, `css` or `other`
625
+ example:
626
+ config: |
627
+ tag.coderay.css: style
628
+ tag: |
629
+ {coderay:: {lang: ruby, css: class}}puts 5 + 5{coderay}
630
+
631
+ tag.coderay.lang:
632
+ summary: |
633
+ The language used for highlighting.
634
+ syntax: |
635
+ `LANG` where `LANG` is one of the languages supported by coderay
636
+ example:
637
+ config: |
638
+ tag.coderay.lang: ruby
639
+ tag: |
640
+ {coderay:: ruby}puts 5 + 5{coderay}
641
+
642
+ tag.coderay.line_number_start:
643
+ summary: |
644
+ The line number that should be used for the first line.
645
+ syntax: |
646
+ `INTEGER` where `INTEGER` is an integer
647
+ example:
648
+ config: |
649
+ tag.coderay.line_number_start: 4
650
+ tag: |
651
+ {coderay:: {lang: ruby, line_number_start: 4}}puts 5 + 5{coderay}
652
+
653
+ tag.coderay.line_numbers:
654
+ summary: |
655
+ Specifies whether line numbers should be shown.
656
+ syntax: |
657
+ `true` or `false`
658
+ example:
659
+ config: |
660
+ tag.coderay.line_numbers: false
661
+ tag: |
662
+ {coderay:: {lang: ruby, line_numbers: false}}puts 5 + 5{coderay}
663
+
664
+ tag.coderay.process_body:
665
+ summary: |
666
+ Specifies whether the body of the tag should be processed by the content processor tags first.
667
+ syntax: |
668
+ `true` or `false`
669
+ example:
670
+ config: |
671
+ tag.coderay.process_body: false
672
+ tag: |
673
+ {coderay:: {lang: ruby, process_body: false}}puts 5 + 5{coderay}
674
+
675
+ tag.coderay.tab_width:
676
+ summary: |
677
+ The number of spaces that should be used to replace tabulator characters.
678
+ syntax: |
679
+ `INTEGER` where `INTEGER` is an integer
680
+ example:
681
+ config: |
682
+ tag.coderay.tab_width: 4
683
+ tag: |
684
+ {coderay:: {lang: ruby, tab_width: 4}}puts 5 + 5{coderay}
685
+
686
+ tag.coderay.wrap:
687
+ summary: |
688
+ The HTML element the highlighted code should be wrapped in.
689
+ syntax: |
690
+ `WRAP` where `WRAP` is either `:div` or `:span`
691
+ example:
692
+ config: |
693
+ tag.coderay.wrap: span
694
+ tag: |
695
+ {coderay:: {lang: ruby, wrap: span}}puts 5 + 5{coderay}
696
+
697
+ tag.date.format:
698
+ summary: |
699
+ The format that should be used for formatting the current date. The format string needs to be
700
+ in a format supported by Ruby's Time#strftime method.
701
+ syntax: |
702
+ `FORMAT` where `FORMAT` is the date format string
703
+ example:
704
+ config: |
705
+ tag.date.format: '%Y-%m-%d'
706
+ tag: |
707
+ {date: {format: '%Y-%m-%d'}}
708
+
709
+ tag.execute_command.command:
710
+ summary: |
711
+ The command that should be executed.
712
+ syntax: |
713
+ `COMMAND` where `COMMAND` is a string containing the command and its arguments
714
+ example:
715
+ tag: |
716
+ {exeucte_cmd: echo hallo}
717
+
718
+ tag.execute_command.escape_html:
719
+ summary: |
720
+ Specifies whether special HTML characters in the output of the executed command should be
721
+ escaped.
722
+ syntax: |
723
+ `true` or `false`
724
+ example:
725
+ config: |
726
+ tag.execute_command.escape_html: false
727
+ tag: |
728
+ {execute_cmd: {command: 'echo hallo', escape_html: false}}
729
+
730
+ tag.execute_command.process_output:
731
+ summary: |
732
+ Specifies whether the output of the executed command should be further processed by the
733
+ content processor tags.
734
+ syntax: |
735
+ `true` or `false`
736
+ example:
737
+ config: |
738
+ tag.execute_command.process_output: false
739
+ tag: |
740
+ {execute_cmd: {command: 'echo hallo', process_output: false}}
741
+
742
+ tag.include_file.escape_html:
743
+ summary: |
744
+ Specifies whether special HTML characters in the content of the file should be escaped.
745
+ syntax: |
746
+ `true` or `false`
747
+ example:
748
+ config: |
749
+ tag.include_file.escape_html: false
750
+ tag: |
751
+ {include_file: {filename: my_file.txt, escape_html: false}}
752
+
753
+ tag.include_file.filename:
754
+ summary: |
755
+ The name of the file that should be included. The filename needs to be relative to the website
756
+ directory or an absolute path.
757
+ syntax: |
758
+ `FILENAME` where `FILENAME` is the name of a file
759
+ example:
760
+ tag: |
761
+ {include_file: my_file.txt}
762
+
763
+ tag.include_file.process_output:
764
+ summary: |
765
+ Specifies whether the content of the file should be further processed by the content
766
+ processor tags.
767
+ syntax: |
768
+ `true` or `false`
769
+ example:
770
+ config: |
771
+ tag.include_file.process_output: false
772
+ tag: |
773
+ {include_file: {filename: my_file.txt, process_output: false}}
774
+
775
+ tag.langbar.separator:
776
+ summary: |
777
+ The string that should be used as separator between the individual language parts.
778
+ syntax: |
779
+ `SEPARATOR` where `SEPARATOR` is a string (special HTML characters like `<` need to be
780
+ properly escaped)
781
+ example:
782
+ config: |
783
+ tag.langbar.separator: ' --- '
784
+ tag: |
785
+ {langbar: {separator: ' --- '}}
786
+
787
+ tag.langbar.show_own_lang:
788
+ summary: |
789
+ Specifies whether the link to the language of the current page should be displayed.
790
+ syntax: |
791
+ `true` or `false`
792
+ example:
793
+ config: |
794
+ tag.langbar.show_own_lang: false
795
+ tag: |
796
+ {langbar: {show_own_lang: false}}
797
+
798
+ tag.langbar.show_single_lang:
799
+ summary: |
800
+ Specifies whether the langbar should be displayed even if there are no translations of the
801
+ page (i.e. when there is only one page).
802
+ syntax: |
803
+ `true` or `false`
804
+ example:
805
+ config: |
806
+ tag.langbar.show_single_lang: false
807
+ tag: |
808
+ {langbar: {show_single_lang: false}}
809
+
810
+ tag.langbar.template:
811
+ summary: |
812
+ The template node used for rendering the tag. It has to contain the block
813
+ 'tag.langbar' because this block is used for rendering.
814
+ syntax: |
815
+ `PATH` where `PATH` is the (a)(l)cn of the template node
816
+ example:
817
+ config: |
818
+ tag.langbar.template: /other.template
819
+ tag: |
820
+ {langbar: {template: /other.template}}
821
+
822
+ tag.link.attr:
823
+ summary: |
824
+ Additional HTML attributes that should be set on the generated link.
825
+ syntax: |
826
+ `{NAME: VALUE, ...}` where `NAME` is a valid HTML attribute name and `VALUE` its value
827
+ example:
828
+ config: |
829
+ tag.link.attr: {title: DocuPage}
830
+ tag: |
831
+ {link: {path: docu.html, attr: {title: DocuPage}}}
832
+
833
+ tag.link.path:
834
+ summary: |
835
+ The (a)(l)cn or destination path to which a link should be created.
836
+ syntax: |
837
+ `PATH` where `PATH` is an (a)(l)cn or a destination path
838
+ example:
839
+ tag: |
840
+ {link: docu.html}
841
+
842
+ tag.menu.css_class:
843
+ summary: |
844
+ The content of the class attribute of the top level list element.
845
+ syntax: |
846
+ `STRING` where `STRING` is a space-separated list of CSS class names
847
+ example:
848
+ tag: |
849
+ {menu: {options: {in_menu: true}, css_class: sidebar menu}}
850
+
851
+ tag.menu.item_level_class:
852
+ summary: |
853
+ The CSS class that is used on list items to indicate the nesting level.
854
+ syntax: |
855
+ `STRING` where `STRING` is a CSS class name
856
+ example:
857
+ tag: |
858
+ {menu: {options: {in_menu: true}, item_level_class: mlevel}}
859
+
860
+ tag.menu.item_submenu_class:
861
+ summary: |
862
+ The CSS class that is used on list items to indicate an item with a sub-menu.
863
+ syntax: |
864
+ `STRING` where `STRING` is a CSS class name
865
+ example:
866
+ tag: |
867
+ {menu: {options: {in_menu: true}, item_submenu_class: submenu}}
868
+
869
+ tag.menu.item_submenu_inhierarchy_class:
870
+ summary: |
871
+ The CSS class that is used on list items to indicate an item that is in the hierarchy of the
872
+ current page.
873
+ syntax: |
874
+ `STRING` where `STRING` is a CSS class name
875
+ example:
876
+ tag: |
877
+ {menu: {options: {in_menu: true}, item_submenu_inhierarchy_class: submenu-hier}}
878
+
879
+ tag.menu.item_selected_class:
880
+ summary: |
881
+ The CSS class that is used on list items to indicate the current page.
882
+ syntax: |
883
+ `STRING` where `STRING` is a CSS class name
884
+ example:
885
+ tag: |
886
+ {menu: {options: {in_menu: true}, item_selected_class: active}}
887
+
888
+ tag.menu.options:
889
+ summary: |
890
+ Node finder options that specify which nodes the menu should use.
891
+ syntax: |
892
+ `OPTIONS` where `OPTIONS` is a hash with node finder options
893
+ example:
894
+ tag: |
895
+ {menu: {options: {in_menu: true, sort: sort_info, levels: [1,3]}}}
896
+
897
+ tag.menu.style:
898
+ summary: |
899
+ The menu rendering style that should be used. The value can either be 'nested' for a nested
900
+ menu or 'flat' for a flat menu.
901
+
902
+ For example, this would be a menu with style 'nested'
903
+
904
+ ul 1
905
+ li 2
906
+ ul 3
907
+ li 4
908
+ li 5
909
+ li 6
910
+
911
+ and this with style 'flat'
912
+
913
+ ul 1
914
+ li 2
915
+ li 6
916
+ ul 3
917
+ li 4
918
+ li 5
919
+ syntax: |
920
+ `STYLE` where `STYLE` is either `nested` or `flat`
921
+ example:
922
+ config: |
923
+ tag.menu.style: flat
924
+ tag: |
925
+ {menu: {options: {mi: {menu: true}}, style: nested}}
926
+
927
+ tag.menu.template:
928
+ summary: |
929
+ The template node used for rendering the tag. It has to contain the block
930
+ 'tag.menu' because this block is used for rendering.
931
+ syntax: |
932
+ `PATH` where `PATH` is the (a)(l)cn of the template node
933
+ example:
934
+ config: |
935
+ tag.menu.template: /other.template
936
+ tag: |
937
+ {menu: {options: {mi: {menu: true}}, template: /other.template}}
938
+
939
+ tag.meta_info.escape_html:
940
+ summary: |
941
+ Specifies whether special HTML characters in the meta information value should be escaped.
942
+ syntax: |
943
+ `true` or `false`
944
+ example:
945
+ config: |
946
+ tag.meta_info.escape_html: true
947
+ tag: |
948
+ {title: {escape_html: false}}
949
+ {meta_info: {mi: title, escape_html: false}}
950
+
951
+ tag.meta_info.mi:
952
+ summary: |
953
+ The name of the meta information key the value of which should be output.
954
+ syntax: |
955
+ `KEY` where `KEY` is the name of a meta information key
956
+ example:
957
+ tag: |
958
+ {title: }
959
+ {meta_info: {mi: title}
960
+
961
+ tag.prefix:
962
+ summary: |
963
+ The prefix used for tag names to avoid name clashes when another content processor uses
964
+ similar markup.
965
+ syntax: |
966
+ `PREFIX` where `PREFIX` is the prefix name
967
+ example:
968
+ config: |
969
+ tag.prefix: webgen
970
+
971
+ tag.relocatable.ignore_unknown_fragment:
972
+ summary: |
973
+ Specifies whether an unknown, non-resolvable fragment part should be ignored.
974
+ syntax: |
975
+ `true` or `false`
976
+ example:
977
+ config: |
978
+ tag.relocatable.ignore_unknown_fragment: true
979
+
980
+ tag.relocatable.path:
981
+ summary: |
982
+ The path that should be made relocatable.
983
+ syntax: |
984
+ `PATH` where `PATH` is an (a)(l)cn
985
+ example:
986
+ tag: |
987
+ {relocatable: default.css}
988
+
989
+ tag.tikz.img_attr:
990
+ summary: |
991
+ Additional HTML attributes that should be set on the generated `img` tag.
992
+ syntax: |
993
+ `{KEY:VALUE, ...}` where `KEY` is a valid HTML `img` tag attribute name and `VALUE` its
994
+ value.
995
+ example:
996
+ config: |
997
+ tag.tikz.img_attr: {alt: Some TikZ picture}
998
+ tag: |
999
+ {tikz:: {path: tikz.png, img_attr: {alt: Some TikZ picture}}}
1000
+ \tikz \draw (0,0) -- (0,2) -- (2,2);
1001
+ {tikz}
1002
+
1003
+ tag.tikz.path:
1004
+ summary: |
1005
+ The source path that should be used for creating the TikZ image. The destination path is
1006
+ derived from this path the usual way. Don't use a path that does already exist!
1007
+ syntax: |
1008
+ `PATH` where `PATH` is a relative or absolute source path
1009
+ example:
1010
+ tag: |
1011
+ {tikz:: images/tikz.png}\tikz \draw (0,0) -- (0,2);{tikz}
1012
+
1013
+ website.cache:
1014
+ summary: |
1015
+ The type and location of the cache. Two types are currently supported: `file` and `string`.
1016
+ The file cache type stores the cache in a file relative to the website's temporary directory.
1017
+ The string cache type stores the cache directly in the second part of the configuration option
1018
+ (this is only useful when webgen is used as a library).
1019
+ syntax: |
1020
+ `[TYPE, LOCATION]` where `TYPE` is one of `file` or `string`
1021
+ example:
1022
+ config: |
1023
+ website.cache: [file, my.cache]
1024
+
1025
+ website.dry_run:
1026
+ summary:
1027
+ Specifies whether anything should be written to the destination.
1028
+ syntax: |
1029
+ `true` or `false`.
1030
+ example:
1031
+ config: |
1032
+ website.dry_run: false
1033
+
1034
+ website.lang:
1035
+ summary: |
1036
+ The default language of the website. This language is assigned, for example, to page paths for
1037
+ which no language has explicitly been specified.
1038
+ syntax: |
1039
+ `LANGUAGE` where `LANGUAGE` is a ISO-639-1/2 two or three letter language code (e.g. 'de',
1040
+ 'en', 'fr', ...)
1041
+ example:
1042
+ config: |
1043
+ website.lang: de
1044
+
1045
+ website.base_url:
1046
+ summary: |
1047
+ The base URL of the website. It is used to create absolute URLs when relative URLs won't
1048
+ work.
1049
+ syntax: |
1050
+ `URL` where `URL` is the base URL of the website
1051
+ example:
1052
+ config: |
1053
+ website.base_url: http://webgen.rubyforge.org
1054
+
1055
+ website.tmpdir:
1056
+ summary: |
1057
+ The directory used for temporary files. It is taken relative to website directory and used for
1058
+ cache and temporary files created when webgen is run. Note that this directory *cannot* be
1059
+ shared between webgen websites!
1060
+ syntax: |
1061
+ `DIRECTORY` where `DIRECTORY` is a directory (relative to the website directory or absolute)
1062
+ example:
1063
+ config: |
1064
+ website.tmpdir: /tmp/webgen-tmp-dir