webgen 0.3.0
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/COPYING +340 -0
- data/ChangeLog +2172 -0
- data/README +16 -0
- data/Rakefile +283 -0
- data/TODO +133 -0
- data/VERSION +1 -0
- data/bin/webgen +5 -0
- data/doc/extension.config +55 -0
- data/doc/src/default.css +129 -0
- data/doc/src/default.template +45 -0
- data/doc/src/design.gallery +18 -0
- data/doc/src/designs/default.png +0 -0
- data/doc/src/designs/nostyle.png +0 -0
- data/doc/src/designs/old.png +0 -0
- data/doc/src/documentation/extloader.page +20 -0
- data/doc/src/documentation/filehandler/backing.page +16 -0
- data/doc/src/documentation/filehandler/copy.page +12 -0
- data/doc/src/documentation/filehandler/directory.page +15 -0
- data/doc/src/documentation/filehandler/index.page +13 -0
- data/doc/src/documentation/filehandler/page.page +122 -0
- data/doc/src/documentation/filehandler/picturegallery.page +25 -0
- data/doc/src/documentation/filehandler/template.page +21 -0
- data/doc/src/documentation/index.page +47 -0
- data/doc/src/documentation/tags/date.page +19 -0
- data/doc/src/documentation/tags/executecommand.page +19 -0
- data/doc/src/documentation/tags/includefile.page +15 -0
- data/doc/src/documentation/tags/index.page +39 -0
- data/doc/src/documentation/tags/lang.de.page +6 -0
- data/doc/src/documentation/tags/lang.page +27 -0
- data/doc/src/documentation/tags/menu.de.page +11 -0
- data/doc/src/documentation/tags/menu.page +30 -0
- data/doc/src/documentation/tags/meta.page +20 -0
- data/doc/src/documentation/tags/multilang.de.page +4 -0
- data/doc/src/documentation/tags/multilang.fr.page +4 -0
- data/doc/src/documentation/tags/multilang.page +4 -0
- data/doc/src/documentation/tags/navbar.page +19 -0
- data/doc/src/documentation/tags/relocatable.page +16 -0
- data/doc/src/documentation/tags/wikilink.page +18 -0
- data/doc/src/download.page +42 -0
- data/doc/src/features.page +14 -0
- data/doc/src/index.page +48 -0
- data/doc/src/logo.png +0 -0
- data/doc/src/meta.info +22 -0
- data/install.rb +19 -0
- data/lib/util/composite.rb +101 -0
- data/lib/util/listener.rb +105 -0
- data/lib/webgen/configuration.rb +216 -0
- data/lib/webgen/logging.rb +73 -0
- data/lib/webgen/node.rb +147 -0
- data/lib/webgen/plugins/extloader.rb +88 -0
- data/lib/webgen/plugins/filehandler/backing.rb +200 -0
- data/lib/webgen/plugins/filehandler/directory.rb +96 -0
- data/lib/webgen/plugins/filehandler/filecopy.rb +59 -0
- data/lib/webgen/plugins/filehandler/filehandler.rb +209 -0
- data/lib/webgen/plugins/filehandler/pagehandler/html.rb +43 -0
- data/lib/webgen/plugins/filehandler/pagehandler/markdown.rb +53 -0
- data/lib/webgen/plugins/filehandler/pagehandler/page.rb +205 -0
- data/lib/webgen/plugins/filehandler/pagehandler/rdoc.rb +50 -0
- data/lib/webgen/plugins/filehandler/pagehandler/textile.rb +52 -0
- data/lib/webgen/plugins/filehandler/picturegallery.rb +194 -0
- data/lib/webgen/plugins/filehandler/template.rb +98 -0
- data/lib/webgen/plugins/tags/date.rb +46 -0
- data/lib/webgen/plugins/tags/executecommand.rb +53 -0
- data/lib/webgen/plugins/tags/includefile.rb +60 -0
- data/lib/webgen/plugins/tags/lang.rb +50 -0
- data/lib/webgen/plugins/tags/menu.rb +198 -0
- data/lib/webgen/plugins/tags/meta.rb +54 -0
- data/lib/webgen/plugins/tags/navbar.rb +62 -0
- data/lib/webgen/plugins/tags/relocatable.rb +58 -0
- data/lib/webgen/plugins/tags/tags.rb +247 -0
- data/lib/webgen/plugins/tags/wikilink.rb +58 -0
- data/lib/webgen/plugins/treewalker.rb +81 -0
- data/lib/webgen/webgen.rb +155 -0
- data/setup.rb +1331 -0
- data/testsite/config.yaml +7 -0
- data/testsite/src/bluecloth.page +102 -0
- data/testsite/src/default.css +146 -0
- data/testsite/src/default.template +33 -0
- data/testsite/src/home.en.page +22 -0
- data/testsite/src/home.page +22 -0
- data/testsite/src/images/bghack.png +0 -0
- data/testsite/src/images/o.png +0 -0
- data/testsite/src/images/smagacor.png +0 -0
- data/testsite/src/images/tictactoe.png +0 -0
- data/testsite/src/images/x.png +0 -0
- data/testsite/src/index.page +21 -0
- data/testsite/src/meta.info +15 -0
- data/testsite/src/news.page +20 -0
- data/testsite/src/news_are_so-cool.de.page +19 -0
- data/testsite/src/noindex/noindex.page +20 -0
- data/testsite/src/pictures/index.page +20 -0
- data/testsite/src/projects.de.page +11 -0
- data/testsite/src/projects.es.page +11 -0
- data/testsite/src/projects.page +17 -0
- data/testsite/src/projects/00.index.de.page +10 -0
- data/testsite/src/projects/01.project2.page +20 -0
- data/testsite/src/projects/02.project1.page +20 -0
- data/testsite/src/projects/05.project3.page +22 -0
- data/testsite/src/projects/index.page +20 -0
- data/testsite/src/projects/subproj/index.page +22 -0
- data/testsite/src/projects/subproj/project3.page +21 -0
- data/testsite/src/rdoc.page +12 -0
- data/testsite/src/redcloth.page +106 -0
- data/testsite/src/test.gallery +5 -0
- metadata +155 -0
data/doc/src/default.css
ADDED
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
/*
|
|
2
|
+
#5C73B8 -> background
|
|
3
|
+
#405080 -> headings
|
|
4
|
+
#CFD4E6 -> code
|
|
5
|
+
#3054BF -> other
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
body {
|
|
9
|
+
margin: 0px 2em;
|
|
10
|
+
font-size: 12px;
|
|
11
|
+
font-family: Verdana, Arial, Helvetica;
|
|
12
|
+
border: 1px solid black;
|
|
13
|
+
color: black;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
h1, h2, h3, h4, h5 { color: #405080}
|
|
17
|
+
|
|
18
|
+
a:visited { color: #405080; }
|
|
19
|
+
a { color: #5C73B8; }
|
|
20
|
+
.bar a { color: white }
|
|
21
|
+
.bar a:visited { color: white }
|
|
22
|
+
|
|
23
|
+
#all { background-color: #CFD4E6; }
|
|
24
|
+
|
|
25
|
+
#header {
|
|
26
|
+
border-bottom: 1px solid black;
|
|
27
|
+
padding: 1ex;
|
|
28
|
+
background-color: #5C73B8;
|
|
29
|
+
}
|
|
30
|
+
#header img {
|
|
31
|
+
padding-right: 5em;
|
|
32
|
+
}
|
|
33
|
+
#header h1 {
|
|
34
|
+
margin: 0ex;
|
|
35
|
+
font-size: 300%;
|
|
36
|
+
font-style: italic;
|
|
37
|
+
font-weight: normal;
|
|
38
|
+
color: white;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
, #headerbar { border-bottom: 1px solid black; }
|
|
42
|
+
#footer { border-top: 1px solid black; }
|
|
43
|
+
|
|
44
|
+
#body {
|
|
45
|
+
margin-left: 250px;
|
|
46
|
+
margin-right: 20px;
|
|
47
|
+
padding: 10px;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
#menu {
|
|
51
|
+
float: left;
|
|
52
|
+
width: 230px;
|
|
53
|
+
padding: 20px 0px 0px 2px;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
.bar {
|
|
57
|
+
clear: both;
|
|
58
|
+
padding: 3px;
|
|
59
|
+
text-align: center;
|
|
60
|
+
font-size: 90%;
|
|
61
|
+
background-color: #3054BF;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
.left, .right {
|
|
65
|
+
padding: 0px 1em;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.left {
|
|
69
|
+
float: left;
|
|
70
|
+
text-align: left;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
.right {
|
|
74
|
+
float: right;
|
|
75
|
+
text-align: right;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/* styling the menu */
|
|
79
|
+
|
|
80
|
+
#menu a {
|
|
81
|
+
text-decoration: none;
|
|
82
|
+
font-weight: bold;
|
|
83
|
+
font-size: 130%;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
#menu a:hover {
|
|
87
|
+
text-decoration: underline;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
#menu .webgen-menuitem-selected {
|
|
91
|
+
border-left: 3px solid #405080;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
#menu ul {
|
|
95
|
+
list-style-type: none;
|
|
96
|
+
padding: 0px;
|
|
97
|
+
margin-left: 10px;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
#menu li > ul {
|
|
101
|
+
font-size: 95%;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
#menu li {
|
|
105
|
+
margin: 0.0em 0px;
|
|
106
|
+
padding: 2px 0px;
|
|
107
|
+
padding-left: 5px;
|
|
108
|
+
border-left: 3px solid #CCCCCC;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
/* styling the content */
|
|
112
|
+
|
|
113
|
+
h2 {
|
|
114
|
+
padding: 0px;
|
|
115
|
+
letter-spacing: 0.2em;
|
|
116
|
+
font-size: 150%;
|
|
117
|
+
font-weight: bold;
|
|
118
|
+
border-bottom: 1px solid #405080;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
.webgen-file {
|
|
122
|
+
padding-left: 10px;
|
|
123
|
+
margin: 0px 10px;
|
|
124
|
+
border-left: 3px solid #5C73B8;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
.webgen-picture {
|
|
128
|
+
text-align: center;
|
|
129
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
|
|
3
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
|
|
4
|
+
<head>
|
|
5
|
+
<title>{title: }</title>
|
|
6
|
+
<link href="{relocatable: default.css}" rel="stylesheet" />
|
|
7
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
|
8
|
+
</head>
|
|
9
|
+
<body>
|
|
10
|
+
<div id="all">
|
|
11
|
+
|
|
12
|
+
<div id="header">
|
|
13
|
+
<table>
|
|
14
|
+
<tr>
|
|
15
|
+
<td><img src="{relocatable: logo.png}" alt="Logo" title="Logo" /></td>
|
|
16
|
+
<td><h1>Webgen<span style="font-size: 60%"> - template based static website generator</span></h1>
|
|
17
|
+
<p>The solution for your static website generation needs!</p></td>
|
|
18
|
+
</tr>
|
|
19
|
+
</table>
|
|
20
|
+
</div>
|
|
21
|
+
|
|
22
|
+
<div id="headerbar" class="bar">
|
|
23
|
+
<span class="left">Navbar: {navbar: }</span>
|
|
24
|
+
<span class="right">Language: {lang: }</span>
|
|
25
|
+
<span class="right">Feedback: {wikilink: {rootURL: http://webgen.rubyforge.org/wiki/wiki.pl?, title: Click here}}</span>
|
|
26
|
+
<div style="clear:both"></div>
|
|
27
|
+
</div>
|
|
28
|
+
|
|
29
|
+
<div id="menu">
|
|
30
|
+
{menu: }
|
|
31
|
+
</div>
|
|
32
|
+
|
|
33
|
+
<div id="feedback"></div>
|
|
34
|
+
|
|
35
|
+
<div id="body">
|
|
36
|
+
{content: }
|
|
37
|
+
</div>
|
|
38
|
+
|
|
39
|
+
<div id="footer" class="bar">
|
|
40
|
+
generated with <a href="http://webgen.rubyforge.org"><em><b>webgen</b></em></a> on <b>{date: }</b>
|
|
41
|
+
</div>
|
|
42
|
+
</div>
|
|
43
|
+
|
|
44
|
+
</body>
|
|
45
|
+
</html>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
title: Design Gallery
|
|
2
|
+
files: designs/*.png
|
|
3
|
+
|
|
4
|
+
mainPage:
|
|
5
|
+
menuOrder: 8
|
|
6
|
+
|
|
7
|
+
designs/default.png:
|
|
8
|
+
title: Default Design
|
|
9
|
+
description: This is the default and the current design for the webgen homepage.
|
|
10
|
+
|
|
11
|
+
designs/nostyle.png:
|
|
12
|
+
title: Without Stylesheet
|
|
13
|
+
description: The default homepage with the stylesheet disabled. Not very nice, but
|
|
14
|
+
still useable.
|
|
15
|
+
|
|
16
|
+
designs/old.png:
|
|
17
|
+
title: Old Design
|
|
18
|
+
description: The old design of the homepage.
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Extension Loader
|
|
3
|
+
inMenu: true
|
|
4
|
+
---
|
|
5
|
+
h2. Information
|
|
6
|
+
|
|
7
|
+
<notextile>{describe: ExtensionLoader}</notextile>
|
|
8
|
+
|
|
9
|
+
h2. Description
|
|
10
|
+
|
|
11
|
+
The extension loader is used to load website specific extension plugins. Sometimes it is not useful
|
|
12
|
+
to extend webgen itself to support a new file format or another tag because the created plugins are
|
|
13
|
+
only useful for one specific site. So one can define these extensions in a configuration file and
|
|
14
|
+
then they are only available for the current website.
|
|
15
|
+
|
|
16
|
+
h2. The Configuration File
|
|
17
|
+
|
|
18
|
+
The configuration file for the extension loader has to be a file with valid Ruby code. Have a look
|
|
19
|
+
at the <a href="{relocatable: /api.html}">API</a> documentation to see which special methods you can
|
|
20
|
+
use in the configuration file.
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Backing File Handler
|
|
3
|
+
inMenu: true
|
|
4
|
+
---
|
|
5
|
+
h2. Information
|
|
6
|
+
|
|
7
|
+
<notextile>{describe: BackingFileHandler}</notextile>
|
|
8
|
+
|
|
9
|
+
h2. Description
|
|
10
|
+
|
|
11
|
+
The backing file handler is used to set meta information for other files. It can be used to set
|
|
12
|
+
additional meta information for page description files. However, its main purpose is to add virtual
|
|
13
|
+
pages and directories.
|
|
14
|
+
|
|
15
|
+
For more information have a look at the <a href="{relocatable: /api.html}">API
|
|
16
|
+
documentation</a>.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: File Copy Handler
|
|
3
|
+
inMenu: true
|
|
4
|
+
---
|
|
5
|
+
h2. Information
|
|
6
|
+
|
|
7
|
+
<notextile>{describe: FileCopyHandler}</notextile>
|
|
8
|
+
|
|
9
|
+
h2. Description
|
|
10
|
+
|
|
11
|
+
The file copy handler copies files without modification from the source to the target directory.
|
|
12
|
+
This is useful, for example, for CSS stylesheets and images.
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Directory Handler
|
|
3
|
+
inMenu: true
|
|
4
|
+
---
|
|
5
|
+
h2. Information
|
|
6
|
+
|
|
7
|
+
<notextile>{describe: DirHandler}</notextile>
|
|
8
|
+
|
|
9
|
+
h2. Description
|
|
10
|
+
|
|
11
|
+
The directory handler is used for processing directories. It creates the target directories and
|
|
12
|
+
additionally an index file for each directory can be specified. If specified, this file is used
|
|
13
|
+
instead of the plain directory index for displaying purposes. For example, the menu item for the
|
|
14
|
+
file handlers page is generated by the index file for the directory @documentation/filehandler@ on
|
|
15
|
+
this website.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
---
|
|
2
|
+
directoryName: File Handlers
|
|
3
|
+
---
|
|
4
|
+
h2. About
|
|
5
|
+
|
|
6
|
+
File handlers are used to handle different types of input files. You can see the currently exisiting
|
|
7
|
+
file handlers in the menu. Choose one to get a description for it!
|
|
8
|
+
|
|
9
|
+
Each file handler can handle one or more different file extensions. During the processing of the
|
|
10
|
+
website, files with a registered extension are processed by the corresponding file handler.
|
|
11
|
+
|
|
12
|
+
A special "file" handler is used to handle directories; this file handler registers the extension
|
|
13
|
+
@:dir@.
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Page Handler
|
|
3
|
+
inMenu: true
|
|
4
|
+
---
|
|
5
|
+
h2. Information
|
|
6
|
+
|
|
7
|
+
<notextile>{describe: PageHandler}</notextile>
|
|
8
|
+
|
|
9
|
+
h2. Description
|
|
10
|
+
|
|
11
|
+
Page description files are used to specify the actual content for the website. The contain the
|
|
12
|
+
content for the webpage and, optionally, meta information.
|
|
13
|
+
|
|
14
|
+
h2(#structure). File format
|
|
15
|
+
|
|
16
|
+
The format of these files is a very simple one and can be divided into two cases:
|
|
17
|
+
|
|
18
|
+
# Only content
|
|
19
|
+
# Meta information and content
|
|
20
|
+
|
|
21
|
+
A simple file may look like this:
|
|
22
|
+
<pre>
|
|
23
|
+
This is the content!!!
|
|
24
|
+
</pre>
|
|
25
|
+
|
|
26
|
+
Only content is specified in this file. Meta information can be specified at the beginning of the
|
|
27
|
+
file:
|
|
28
|
+
<pre>
|
|
29
|
+
\---
|
|
30
|
+
title: The title set by Meta info
|
|
31
|
+
\---
|
|
32
|
+
This is the content of the file
|
|
33
|
+
</pre>
|
|
34
|
+
|
|
35
|
+
In this example, meta information is specified ("more info":#meta). Note the three dashes at the
|
|
36
|
+
beginning of the file. This indicates that the following 'block' is used for meta information. If
|
|
37
|
+
the three dashes at the beginning are omitted, then the parser won't know that the following block
|
|
38
|
+
contains meta information and thinks it is content.
|
|
39
|
+
|
|
40
|
+
If you want to include a line in your file which only has three dashes, you have to write this:
|
|
41
|
+
<pre>
|
|
42
|
+
\\---
|
|
43
|
+
</pre>
|
|
44
|
+
|
|
45
|
+
The meta information is separated from the content by another three dashes and so the content itself
|
|
46
|
+
builds a second 'block'. The following examples contains three blocks, the meta information block
|
|
47
|
+
and two content blocks.
|
|
48
|
+
<pre>
|
|
49
|
+
\---
|
|
50
|
+
title: The title set by Meta info
|
|
51
|
+
\---
|
|
52
|
+
This is the 1. content of the file
|
|
53
|
+
\---
|
|
54
|
+
This is the 2. content of the file
|
|
55
|
+
</pre>
|
|
56
|
+
|
|
57
|
+
However, without naming blocks they cannot be accessed. You can specify the name and the content
|
|
58
|
+
formatting using meta information. Look at the following example:
|
|
59
|
+
<pre>
|
|
60
|
+
\---
|
|
61
|
+
title: The title set by Meta info
|
|
62
|
+
blocks:
|
|
63
|
+
- \{name: content, format: textile}
|
|
64
|
+
- \{name: sidebar, format: markdown}
|
|
65
|
+
\---
|
|
66
|
+
This is the 1. content of the file
|
|
67
|
+
\---
|
|
68
|
+
This is the 2. content of the file
|
|
69
|
+
</pre>
|
|
70
|
+
|
|
71
|
+
The first block in this file is named @content@ and formatted using @textile@. The second block is
|
|
72
|
+
named @sidebar@ and formatted using @markdown@.
|
|
73
|
+
|
|
74
|
+
h2. Content format
|
|
75
|
+
|
|
76
|
+
The content of page description can be written in different formats. The following formats are
|
|
77
|
+
currently available:
|
|
78
|
+
|
|
79
|
+
* textile: Content written using Textile markup ("Reference":http://hobix.com/textile/)
|
|
80
|
+
* markdown: Content written using Markdown markup ("Reference":http://www.deveiate.org)
|
|
81
|
+
* rdoc: Content written using RDOC markup (default documentation system for Ruby source files)
|
|
82
|
+
* html: Content in plain HTML
|
|
83
|
+
|
|
84
|
+
h2. Default settings
|
|
85
|
+
|
|
86
|
+
As page description files need not have meta information, defaults are used for needed parameters.
|
|
87
|
+
If meta information is specified in a page description file, the default values are overridden.
|
|
88
|
+
|
|
89
|
+
The following defaults are used:
|
|
90
|
+
|
|
91
|
+
* Content format
|
|
92
|
+
|
|
93
|
+
If there is only content in a page description file, its formatting defaults to the parameter
|
|
94
|
+
value @defaultContentFormat@.
|
|
95
|
+
|
|
96
|
+
* Title, ordering and language
|
|
97
|
+
|
|
98
|
+
These values are taken from the filename, so the filename of a page description file has to be
|
|
99
|
+
formatted like this: @[ordering.]title[.language].page@ (the values in square brackets are
|
|
100
|
+
optional). In detail:
|
|
101
|
+
* ordering: The ordering is a number which is used for menu generation and the like, where it is
|
|
102
|
+
necessary to order the items. If not specified, defaults to @0@.
|
|
103
|
+
* title: This is the title of the page. Hyphens and underscores are replaced with spaces and the
|
|
104
|
+
title must not contain any dots.
|
|
105
|
+
* language: This is the language code for this file. It is the international two letter acronym
|
|
106
|
+
and if it is not specified, it defaults to @en@.
|
|
107
|
+
|
|
108
|
+
Consider the following examples:
|
|
109
|
+
* @name.page@ -> title: Name, language: en, ordering: 0
|
|
110
|
+
* @name.de.page@ -> title: Name, language: de, ordering: 0
|
|
111
|
+
* @01.name_of-file.de.page@ -> Title: Name of file, language: de, ordering: 01
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
h2(#meta). Meta Information
|
|
115
|
+
|
|
116
|
+
Meta information can be specified at the beginning of the file as described "here":#structure. Meta
|
|
117
|
+
information is formatted using YAML, a simple markup language. For more information about YAML, have
|
|
118
|
+
a look at the "www.yaml.org":http://www.yaml.org!
|
|
119
|
+
|
|
120
|
+
Any information can be specified. The most important use for meta information is to override values
|
|
121
|
+
like the title of the page (e.g. if you want dots in it), the ordering and so on. It is also used to
|
|
122
|
+
specify the names and the formatting of content blocks in the file.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Picture Gallery File Handler
|
|
3
|
+
inMenu: true
|
|
4
|
+
---
|
|
5
|
+
h2. Information
|
|
6
|
+
|
|
7
|
+
<notextile>{describe: PictureGalleryFileHandler}</notextile>
|
|
8
|
+
|
|
9
|
+
h2. Description
|
|
10
|
+
|
|
11
|
+
This file handler uses picture gallery description files to automatically build picture galleries.
|
|
12
|
+
These picture galleries are highly configurable and themeable through the use of page templates.
|
|
13
|
+
|
|
14
|
+
The gallery description files are written in YAML and specify
|
|
15
|
+
|
|
16
|
+
* which images should be used
|
|
17
|
+
* the titles/descriptions of the images
|
|
18
|
+
* the templates which should be used
|
|
19
|
+
* meta information for the pages
|
|
20
|
+
|
|
21
|
+
This is the first version of the picture gallery handler, so do not expect too much!
|
|
22
|
+
|
|
23
|
+
h2. Examples
|
|
24
|
+
|
|
25
|
+
You can view an example gallery <a href="{relocatable: /Design_Gallery_1.html}">here</a>!
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Template File Handler
|
|
3
|
+
inMenu: true
|
|
4
|
+
---
|
|
5
|
+
h2. Information
|
|
6
|
+
|
|
7
|
+
<notextile>{describe: TemplateFileHandler}</notextile>
|
|
8
|
+
|
|
9
|
+
h2. Description
|
|
10
|
+
|
|
11
|
+
The template file handler processes the templates for the page description files. Templates normally
|
|
12
|
+
specify the layout of the website. For this website only one template was used for all page
|
|
13
|
+
description files. However, you could assign each page description file its own template, if you
|
|
14
|
+
want to! (but why would one do that? :-)
|
|
15
|
+
|
|
16
|
+
You must have at least one template file in the root of the source directory which is the fallback
|
|
17
|
+
template if no other template can be found for a page description file. The template files are
|
|
18
|
+
organized hierarchically. So if during processing webgen does not find the default template file in
|
|
19
|
+
the directory in which the page file is, it searches the parent directory for the template. If it
|
|
20
|
+
isn't there either, it searches the parent's parent directory and so on. If webgen gets to the root
|
|
21
|
+
of the source directory and could not find a template, it will complain and stop.
|