webgen 0.4.6 → 0.4.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/ChangeLog +28 -26
- data/TODO +1 -0
- data/VERSION +1 -1
- data/data/webgen/gallery_styles/slides/collage.rb +1 -1
- data/data/webgen/gallery_styles/slides/gallery_gallery.template +3 -3
- data/data/webgen/gallery_styles/slides/gallery_image.template +3 -3
- data/data/webgen/gallery_styles/slides/gallery_main.template +1 -1
- data/doc/plugin/gallery/slides/collage.rb +1 -1
- data/doc/src/default.template +4 -4
- data/doc/src/documentation/plugins/contentconverter/haml.page +21 -0
- data/doc/src/documentation/plugins/contentconverter/sass.page +36 -0
- data/doc/src/documentation/plugins/core/filehandler.page +1 -1
- data/doc/src/documentation/plugins/file/galleryhandler.page +10 -1
- data/doc/src/examples/gallery_styles/slides/gallery_gallery.template +3 -3
- data/doc/src/examples/gallery_styles/slides/gallery_image.template +3 -3
- data/doc/src/examples/gallery_styles/slides/gallery_main.template +1 -1
- data/doc/src/news.page +12 -0
- data/doc/src/project.todo +19 -7
- data/lib/webgen/config.rb +1 -1
- data/lib/webgen/plugins/contentconverters/haml.rb +71 -0
- data/lib/webgen/plugins/filehandlers/filehandler.rb +3 -1
- data/lib/webgen/plugins/filehandlers/gallery.rb +13 -7
- data/test/unittests/tc_filehandler_gallery.rb +21 -21
- metadata +61 -51
data/ChangeLog
CHANGED
@@ -1,44 +1,46 @@
|
|
1
1
|
----------------------------------------------------------------------
|
2
|
-
|
2
|
+
r395: thomasleitner | 2007-12-31 10:38:24 +0100
|
3
3
|
Changed paths:
|
4
|
-
M /local/webgen/trunk/
|
4
|
+
M /local/webgen/trunk/TODO
|
5
5
|
M /local/webgen/trunk/doc/src/default.template
|
6
|
+
M /local/webgen/trunk/doc/src/documentation/plugins/core/filehandler.page
|
6
7
|
M /local/webgen/trunk/doc/src/news.page
|
8
|
+
M /local/webgen/trunk/doc/src/project.todo
|
9
|
+
M /local/webgen/trunk/lib/webgen/plugins/filehandlers/filehandler.rb
|
7
10
|
|
8
|
-
*
|
9
|
-
* updated
|
11
|
+
* fixed bug T025: Core/FileHandler and file handler plugins are now aware of hidden files if Core/FileHandler:useHiddenFiles is set to true
|
12
|
+
* updated documentation
|
10
13
|
----------------------------------------------------------------------
|
11
|
-
|
14
|
+
r394: thomasleitner | 2007-12-31 10:33:18 +0100
|
12
15
|
Changed paths:
|
13
|
-
M /local/webgen/trunk/lib/webgen/plugins/filehandlers/
|
16
|
+
M /local/webgen/trunk/lib/webgen/plugins/filehandlers/gallery.rb
|
17
|
+
M /local/webgen/trunk/test/unittests/tc_filehandler_gallery.rb
|
14
18
|
|
15
|
-
*
|
19
|
+
* fixed failing File/ThumbnailWriter test case
|
16
20
|
----------------------------------------------------------------------
|
17
|
-
|
21
|
+
r353: thomasleitner | 2007-12-17 07:58:15 +0100
|
18
22
|
Changed paths:
|
19
|
-
M /local/webgen/trunk/
|
23
|
+
M /local/webgen/trunk/data/webgen/gallery_styles/slides/collage.rb
|
24
|
+
M /local/webgen/trunk/data/webgen/gallery_styles/slides/gallery_gallery.template
|
25
|
+
M /local/webgen/trunk/data/webgen/gallery_styles/slides/gallery_image.template
|
26
|
+
M /local/webgen/trunk/data/webgen/gallery_styles/slides/gallery_main.template
|
27
|
+
M /local/webgen/trunk/doc/src/documentation/plugins/file/galleryhandler.page
|
28
|
+
M /local/webgen/trunk/doc/src/project.todo
|
29
|
+
M /local/webgen/trunk/lib/webgen/plugins/filehandlers/gallery.rb
|
30
|
+
M /local/webgen/trunk/test/unittests/tc_filehandler_gallery.rb
|
20
31
|
|
21
|
-
*
|
32
|
+
* fixed bug T027: File/GalleryHandler is now multi-lingual aware, ie. it is possible to create a gallery in multiple languages, updated docu and tests accordingly
|
22
33
|
----------------------------------------------------------------------
|
23
|
-
|
34
|
+
r352: thomasleitner | 2007-12-15 09:34:01 +0100
|
24
35
|
Changed paths:
|
25
|
-
M /local/webgen/
|
26
|
-
M /local/webgen/
|
27
|
-
M /local/webgen/branches/head/lib/webgen/node.rb
|
28
|
-
M /local/webgen/branches/head/test/unittests/tc_node.rb
|
29
|
-
M /local/webgen/trunk/doc/src/documentation/plugins/core/filehandler.page
|
30
|
-
M /local/webgen/trunk/lib/webgen/node.rb
|
31
|
-
M /local/webgen/trunk/lib/webgen/plugins/filehandlers/filehandler.rb
|
32
|
-
M /local/webgen/trunk/lib/webgen/plugins/filehandlers/gallery.rb
|
33
|
-
M /local/webgen/trunk/lib/webgen/plugins/filehandlers/page.rb
|
36
|
+
M /local/webgen/trunk/doc/src/documentation/plugins/file/galleryhandler.page
|
37
|
+
M /local/webgen/trunk/doc/src/project.todo
|
34
38
|
|
35
|
-
* fixed
|
36
|
-
* documented which characters must not be used in directory and file names
|
39
|
+
* fixed typo spotted by Phil Hughes
|
37
40
|
----------------------------------------------------------------------
|
38
|
-
|
41
|
+
r325: thomasleitner | 2007-12-07 16:25:52 +0100
|
39
42
|
Changed paths:
|
40
|
-
A /local
|
41
|
-
A /local/webgen (from /mirror/webgen:158)
|
42
|
-
|
43
|
+
A /local/webgen (from /mirror/webgen:322)
|
43
44
|
|
45
|
+
* fresh start
|
44
46
|
----------------------------------------------------------------------
|
data/TODO
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
---- CURRENT ----
|
2
2
|
|
3
|
+
* bug in menu style section: should work although page is not in menu, should either be totally independent from Tag/Menu or better integrated
|
3
4
|
* modify WebSite to allow better use (factor out loading of plugins into own method, do not call init in #render method, ...)
|
4
5
|
* show error message when configuration file is invalid (Webgen::WebSite)
|
5
6
|
* add a common class to the menu element (either a or span, depending on Fil/DefaultFileHandler:linkToCurrentPage) for easier referencing in CSS styles (update menu CSS style afterwards for horiz-dd, vert-dd, ...)
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.4.
|
1
|
+
0.4.7
|
@@ -14,7 +14,7 @@ else
|
|
14
14
|
<% if ginfo.prev_gallery %>
|
15
15
|
<a href="{relocatable: <%= ginfo.prev_gallery.pagename %>}">
|
16
16
|
<< previous gallery
|
17
|
-
<span class="thumb thumb-<%= ginfo['
|
17
|
+
<span class="thumb thumb-<%= ginfo['filename'].tr(' ', '_') %>">
|
18
18
|
<%= ginfo.prev_gallery.thumbnail('style'=>'vertical-align: middle', 'class'=>'webgen-gallery-thumbnail') %>
|
19
19
|
</span>
|
20
20
|
</a>
|
@@ -29,7 +29,7 @@ else
|
|
29
29
|
<% if ginfo.next_gallery %>
|
30
30
|
<a href="{relocatable: <%= ginfo.next_gallery.pagename %>}">
|
31
31
|
next gallery >>
|
32
|
-
<span class="thumb thumb-<%= ginfo['
|
32
|
+
<span class="thumb thumb-<%= ginfo['filename'].tr(' ', '_') %>">
|
33
33
|
<%= ginfo.next_gallery.thumbnail('style'=>'vertical-align: middle', 'class'=>'webgen-gallery-thumbnail') %>
|
34
34
|
</span>
|
35
35
|
</a>
|
@@ -44,7 +44,7 @@ else
|
|
44
44
|
<% row_index.upto( [row_index + 4, ginfo.cur_gallery.images.length - 1].min ) do |col_index|%>
|
45
45
|
<td align="center">
|
46
46
|
<a href="{relocatable: <%= ginfo.cur_gallery.images[col_index].pagename %>}">
|
47
|
-
<span class="thumb thumb-<%= ginfo['
|
47
|
+
<span class="thumb thumb-<%= ginfo['filename'].tr(' ', '_') %>">
|
48
48
|
<%= ginfo.cur_gallery.images[col_index].thumbnail('class'=>'webgen-gallery-thumbnail') %>
|
49
49
|
</span>
|
50
50
|
<br />
|
@@ -14,7 +14,7 @@ else
|
|
14
14
|
<% if ginfo.prev_image %>
|
15
15
|
<a href="{relocatable: <%= ginfo.prev_image.pagename %>}">
|
16
16
|
<< previous image
|
17
|
-
<span class="thumb thumb-<%= ginfo['
|
17
|
+
<span class="thumb thumb-<%= ginfo['filename'].tr(' ', '_') %>">
|
18
18
|
<%= ginfo.prev_image.thumbnail('style'=>'vertical-align: middle', 'class'=>'webgen-gallery-thumbnail') %>
|
19
19
|
</span>
|
20
20
|
</a>
|
@@ -22,7 +22,7 @@ else
|
|
22
22
|
</td>
|
23
23
|
<td style="width: 34%; padding: 2px;" valign="top" align="center">
|
24
24
|
<a href="{relocatable: <%= ginfo.cur_gallery.pagename %>}">
|
25
|
-
<span class="thumb thumb-<%= ginfo['
|
25
|
+
<span class="thumb thumb-<%= ginfo['filename'].tr(' ', '_') %>">
|
26
26
|
<%= ginfo.cur_gallery.thumbnail('class'=>'webgen-gallery-thumbnail') %>
|
27
27
|
</span>
|
28
28
|
^<%= ginfo.cur_gallery.title %>^
|
@@ -32,7 +32,7 @@ else
|
|
32
32
|
<% if ginfo.next_image %>
|
33
33
|
<a href="{relocatable: <%= ginfo.next_image.pagename %>}">
|
34
34
|
next image >>
|
35
|
-
<span class="thumb thumb-<%= ginfo['
|
35
|
+
<span class="thumb thumb-<%= ginfo['filename'].tr(' ', '_') %>">
|
36
36
|
<%= ginfo.next_image.thumbnail('style'=>'vertical-align: middle', 'class'=>'webgen-gallery-thumbnail') %>
|
37
37
|
</span>
|
38
38
|
</a>
|
@@ -15,7 +15,7 @@ else
|
|
15
15
|
<% row_index.upto( [row_index + 4, ginfo.galleries.length - 1].min ) do |col_index| %>
|
16
16
|
<td align="center">
|
17
17
|
<a href="{relocatable: <%= ginfo.galleries[col_index].pagename %>}">
|
18
|
-
<span class="thumb thumb-<%= ginfo['
|
18
|
+
<span class="thumb thumb-<%= ginfo['filename'].tr(' ', '_') %>">
|
19
19
|
<%= ginfo.galleries[col_index].thumbnail('class'=>'webgen-gallery-thumbnail') %>
|
20
20
|
</span>
|
21
21
|
<br />
|
data/doc/src/default.template
CHANGED
@@ -48,6 +48,10 @@
|
|
48
48
|
|
49
49
|
<div id="rightside">
|
50
50
|
<h1>Latest news</h1>
|
51
|
+
<p><strong>2007-12-31: </strong>
|
52
|
+
Minor release with feature enhancements.
|
53
|
+
<a href="{relocatable: news.en.page#news-2007-12-31}">More...</a>
|
54
|
+
</p>
|
51
55
|
<p><strong>2007-09-08: </strong>
|
52
56
|
Small bug fix release.
|
53
57
|
<a href="{relocatable: news.en.page#news-2007-09-08}">More...</a>
|
@@ -56,10 +60,6 @@
|
|
56
60
|
Some bug fixes and one small feature enhancement.
|
57
61
|
<a href="{relocatable: news.en.page#news-2007-06-29}">More...</a>
|
58
62
|
</p>
|
59
|
-
<p><strong>2007-05-20: </strong>
|
60
|
-
Fixed bug which prevented installation via Rubygems.
|
61
|
-
<a href="{relocatable: news.en.page#news-2007-05-20}">More...</a>
|
62
|
-
</p>
|
63
63
|
|
64
64
|
<h1>Links</h1>
|
65
65
|
<ul class="linklist">
|
@@ -0,0 +1,21 @@
|
|
1
|
+
---
|
2
|
+
title: Haml
|
3
|
+
inMenu: true
|
4
|
+
template: /plugin.template
|
5
|
+
plugin: ContentConverter/Haml
|
6
|
+
---
|
7
|
+
h2(#description). Description
|
8
|
+
|
9
|
+
|
10
|
+
Converts content written using Haml markup
|
11
|
+
("Homepage":http://haml.hamptoncatlin.com/) to HTML.
|
12
|
+
|
13
|
+
|
14
|
+
h2(#caveat). Caveat
|
15
|
+
|
16
|
+
|
17
|
+
This plugin is only available if you have installed the
|
18
|
+
"haml":http://haml.hamptoncatlin.com/ library. The preferred way to do this is via
|
19
|
+
Rubygems:
|
20
|
+
|
21
|
+
gem install haml
|
@@ -0,0 +1,36 @@
|
|
1
|
+
---
|
2
|
+
title: Sass
|
3
|
+
inMenu: true
|
4
|
+
template: /plugin.template
|
5
|
+
plugin: ContentConverter/Sass
|
6
|
+
---
|
7
|
+
h2(#description). Description
|
8
|
+
|
9
|
+
|
10
|
+
Converts content written using Sass markup ("Homepage":http://haml.hamptoncatlin.com/) to CSS. This
|
11
|
+
content converter is only useful for writing CSS page files. You have to make sure to change the
|
12
|
+
output name style sothat the extension @css@ is used and to stop the template chain - see the
|
13
|
+
example below!
|
14
|
+
|
15
|
+
You can use the following page file as a template for your sass files:
|
16
|
+
|
17
|
+
<pre>
|
18
|
+
\---
|
19
|
+
outputNameStyle: [:name, [., :lang], .css]
|
20
|
+
template: ~
|
21
|
+
validator: ~
|
22
|
+
\--- content, sass
|
23
|
+
p
|
24
|
+
:background-color grey
|
25
|
+
:padding 5px
|
26
|
+
</pre>
|
27
|
+
|
28
|
+
|
29
|
+
h2(#caveat). Caveat
|
30
|
+
|
31
|
+
|
32
|
+
This plugin is only available if you have installed the
|
33
|
+
"haml":http://haml.hamptoncatlin.com/ library. The preferred way to do this is via
|
34
|
+
Rubygems:
|
35
|
+
|
36
|
+
gem install haml
|
@@ -27,7 +27,7 @@ h2(#filehandling). Handling of files in the source directory
|
|
27
27
|
Following is the list of rules how files in the source directory are handled by webgen:
|
28
28
|
|
29
29
|
# All file/directory names in the source directory are fetched (actually, only those file/directory
|
30
|
-
names without a leading dot)
|
30
|
+
names without a leading dot unless {param: Core/FileHandler:useHiddenFiles} is set to @true@)
|
31
31
|
# Those files which match an {param: Core/FileHandler:ignorePaths} pattern are excluded
|
32
32
|
# The path patterns for each file handler plugin are matched against the remaining files and all
|
33
33
|
matching files are then handled by the file handler plugin
|
@@ -81,8 +81,12 @@ using the name of a gallery handler parameter as key you can override its value.
|
|
81
81
|
following keys are used by the gallery handler:
|
82
82
|
|
83
83
|
* *title*: The title of the gallery. If this key is not specified, the capitalized file name is used.
|
84
|
+
* *filename*: The base filename used for creating the page files. If not specified it is created from
|
85
|
+
the title.
|
86
|
+
* *lang*: The language used by the gallery. If not specified, the default language is used.
|
84
87
|
* *mainPageMetaInfo*: Used for setting additional meta information for the main page.
|
85
88
|
* *galleryPagesMetaInfo*: Used for setting additional meta information for the gallery pages.
|
89
|
+
* *imagePagesMetaInfo*: Used for setting additional meta information for all image pages.
|
86
90
|
* *layouter*: Plugin used for additional gallery tasks, has to be registered under
|
87
91
|
@GalleryLayouter/<layouter-name>@
|
88
92
|
* *thumbnailSize*: The size of the thumbnails, can also be set individually for each image.
|
@@ -98,6 +102,11 @@ be used the whole image gallery. These images have to be somewhere in the websit
|
|
98
102
|
You can/should not specify images outside the source directory as these images are not automatically
|
99
103
|
copied to the output directory and automatic thumbnail creation may not work correctly!
|
100
104
|
|
105
|
+
If you want to create a multi-lingual gallery, you need to create two gallery files which specify
|
106
|
+
the same @filename@ key and different @lang@ keys. It's best to first create one gallery file, fill
|
107
|
+
in all the information and then copy it and change the @filename@ and @lang@ keys as well as all the
|
108
|
+
other language specific information like titles and descriptions.
|
109
|
+
|
101
110
|
All other key-value pairs specified are not used by webgen. However, as layouter plugins have access
|
102
111
|
to the whole configuration section they may use their own configuration keys.
|
103
112
|
|
@@ -163,7 +172,7 @@ example/dir1/img1.jpg:
|
|
163
172
|
title: Test title
|
164
173
|
description: Long description of image
|
165
174
|
|
166
|
-
example/img2.jpg
|
175
|
+
example/img2.jpg:
|
167
176
|
title: Title2 of pic
|
168
177
|
mykey: mydata
|
169
178
|
</pre>
|
@@ -14,7 +14,7 @@ else
|
|
14
14
|
<% if ginfo.prev_gallery %>
|
15
15
|
<a href="{relocatable: <%= ginfo.prev_gallery.pagename %>}">
|
16
16
|
<< previous gallery
|
17
|
-
<span class="thumb thumb-<%= ginfo['
|
17
|
+
<span class="thumb thumb-<%= ginfo['filename'].tr(' ', '_') %>">
|
18
18
|
<%= ginfo.prev_gallery.thumbnail('style'=>'vertical-align: middle', 'class'=>'webgen-gallery-thumbnail') %>
|
19
19
|
</span>
|
20
20
|
</a>
|
@@ -29,7 +29,7 @@ else
|
|
29
29
|
<% if ginfo.next_gallery %>
|
30
30
|
<a href="{relocatable: <%= ginfo.next_gallery.pagename %>}">
|
31
31
|
next gallery >>
|
32
|
-
<span class="thumb thumb-<%= ginfo['
|
32
|
+
<span class="thumb thumb-<%= ginfo['filename'].tr(' ', '_') %>">
|
33
33
|
<%= ginfo.next_gallery.thumbnail('style'=>'vertical-align: middle', 'class'=>'webgen-gallery-thumbnail') %>
|
34
34
|
</span>
|
35
35
|
</a>
|
@@ -44,7 +44,7 @@ else
|
|
44
44
|
<% row_index.upto( [row_index + 4, ginfo.cur_gallery.images.length - 1].min ) do |col_index|%>
|
45
45
|
<td align="center">
|
46
46
|
<a href="{relocatable: <%= ginfo.cur_gallery.images[col_index].pagename %>}">
|
47
|
-
<span class="thumb thumb-<%= ginfo['
|
47
|
+
<span class="thumb thumb-<%= ginfo['filename'].tr(' ', '_') %>">
|
48
48
|
<%= ginfo.cur_gallery.images[col_index].thumbnail('class'=>'webgen-gallery-thumbnail') %>
|
49
49
|
</span>
|
50
50
|
<br />
|
@@ -14,7 +14,7 @@ else
|
|
14
14
|
<% if ginfo.prev_image %>
|
15
15
|
<a href="{relocatable: <%= ginfo.prev_image.pagename %>}">
|
16
16
|
<< previous image
|
17
|
-
<span class="thumb thumb-<%= ginfo['
|
17
|
+
<span class="thumb thumb-<%= ginfo['filename'].tr(' ', '_') %>">
|
18
18
|
<%= ginfo.prev_image.thumbnail('style'=>'vertical-align: middle', 'class'=>'webgen-gallery-thumbnail') %>
|
19
19
|
</span>
|
20
20
|
</a>
|
@@ -22,7 +22,7 @@ else
|
|
22
22
|
</td>
|
23
23
|
<td style="width: 34%; padding: 2px;" valign="top" align="center">
|
24
24
|
<a href="{relocatable: <%= ginfo.cur_gallery.pagename %>}">
|
25
|
-
<span class="thumb thumb-<%= ginfo['
|
25
|
+
<span class="thumb thumb-<%= ginfo['filename'].tr(' ', '_') %>">
|
26
26
|
<%= ginfo.cur_gallery.thumbnail('class'=>'webgen-gallery-thumbnail') %>
|
27
27
|
</span>
|
28
28
|
^<%= ginfo.cur_gallery.title %>^
|
@@ -32,7 +32,7 @@ else
|
|
32
32
|
<% if ginfo.next_image %>
|
33
33
|
<a href="{relocatable: <%= ginfo.next_image.pagename %>}">
|
34
34
|
next image >>
|
35
|
-
<span class="thumb thumb-<%= ginfo['
|
35
|
+
<span class="thumb thumb-<%= ginfo['filename'].tr(' ', '_') %>">
|
36
36
|
<%= ginfo.next_image.thumbnail('style'=>'vertical-align: middle', 'class'=>'webgen-gallery-thumbnail') %>
|
37
37
|
</span>
|
38
38
|
</a>
|
@@ -15,7 +15,7 @@ else
|
|
15
15
|
<% row_index.upto( [row_index + 4, ginfo.galleries.length - 1].min ) do |col_index| %>
|
16
16
|
<td align="center">
|
17
17
|
<a href="{relocatable: <%= ginfo.galleries[col_index].pagename %>}">
|
18
|
-
<span class="thumb thumb-<%= ginfo['
|
18
|
+
<span class="thumb thumb-<%= ginfo['filename'].tr(' ', '_') %>">
|
19
19
|
<%= ginfo.galleries[col_index].thumbnail('class'=>'webgen-gallery-thumbnail') %>
|
20
20
|
</span>
|
21
21
|
<br />
|
data/doc/src/news.page
CHANGED
@@ -4,6 +4,18 @@ inMenu: true
|
|
4
4
|
---
|
5
5
|
h2. News
|
6
6
|
|
7
|
+
|
8
|
+
h3(#news-2007-12-31). 31.12.2007 - webgen 0.4.7
|
9
|
+
|
10
|
+
Minor release with feature enhancements:
|
11
|
+
|
12
|
+
* added support for Haml markup {plugin: ContentConverter/Haml}
|
13
|
+
* added support for Sass markup {plugin: ContentConverter/Sass}
|
14
|
+
* gallery file handler is now multilingual aware
|
15
|
+
* hidden files can now be used by the file handler plugins if the parameter {param:
|
16
|
+
Core/FileHandler:useHiddenFiles} is set to true
|
17
|
+
|
18
|
+
|
7
19
|
h3(#news-2007-09-08). 08.09.2007 - webgen 0.4.6
|
8
20
|
|
9
21
|
This is a bug fix release:
|
data/doc/src/project.todo
CHANGED
@@ -9,6 +9,8 @@ The following category defines all milestones for webgen:
|
|
9
9
|
|
10
10
|
###### Milestones ######
|
11
11
|
|
12
|
+
* Dez07 (2007-12-31) Bug fixes and small enhancements
|
13
|
+
|
12
14
|
* Jun07 (2007-06-30) Bug fixes
|
13
15
|
|
14
16
|
* Apr07 (2007-04-30) Bug fixes and small enhancements
|
@@ -35,16 +37,18 @@ Categories for implementation issues:
|
|
35
37
|
###### Implementation (open) ######
|
36
38
|
|
37
39
|
|
38
|
-
|
39
|
-
See also FR#7891
|
40
|
+
## Implementation (closed) ##
|
40
41
|
|
41
42
|
* T003 [F] add additional tests for sipttra implementation
|
43
|
+
done in the next major version of webgen 0.5.0
|
42
44
|
|
43
45
|
* T023 [F] Add the possibility to add a prefix to webgen tags
|
44
46
|
If the prefix is wg then a tag should look like \\{wg:menu:} or \\{wg:relocatable: default.css}
|
47
|
+
this is available in the next major version 0.5.0
|
45
48
|
|
46
|
-
|
47
|
-
|
49
|
+
* T002 [F] add localization support for all files
|
50
|
+
See also FR#7891
|
51
|
+
This is available in the next major version 0.5.0
|
48
52
|
|
49
53
|
* T004 [Feb07] use HTML as default format for templates
|
50
54
|
See also FR#7893
|
@@ -68,6 +72,14 @@ Categories for implementation issues:
|
|
68
72
|
|
69
73
|
## Bugs (closed) ##
|
70
74
|
|
75
|
+
* T026 [Dez07] make Core/FileHandler aware of hidden files
|
76
|
+
use a parameter to enable usage of hidden files or enable it by default
|
77
|
+
|
78
|
+
now using a parameter Core/FileHandler:useHiddenFiles which is false by default
|
79
|
+
|
80
|
+
* T027 [Dez07] make gallery file handler multi-lingual aware
|
81
|
+
see mail exchange with Phil Hughes
|
82
|
+
|
71
83
|
* T005 [Feb07] check all styles for correctly selected menu items
|
72
84
|
style issues because of new span element when File/DefaultHandler:linkToCurrentPage is false
|
73
85
|
|
@@ -116,12 +128,12 @@ Category for documentation issues:
|
|
116
128
|
###### Documentation (open) ######
|
117
129
|
|
118
130
|
|
131
|
+
## Documentation (closed) ##
|
132
|
+
|
119
133
|
* T014 [F] add plugin developer documentation
|
120
134
|
- document how to write various plugins (file handler, tag, CLI command, ...)
|
121
135
|
- caveat when using classes in modules
|
122
|
-
|
123
|
-
|
124
|
-
## Documentation (closed) ##
|
136
|
+
--> done in version 0.5.0
|
125
137
|
|
126
138
|
* T010 [Feb07] add some example sites
|
127
139
|
It was requested that one should be able to download some zipped examples sites from the examples
|
data/lib/webgen/config.rb
CHANGED
@@ -24,7 +24,7 @@ require 'rbconfig'
|
|
24
24
|
|
25
25
|
module Webgen
|
26
26
|
|
27
|
-
VERSION = [0, 4,
|
27
|
+
VERSION = [0, 4, 7]
|
28
28
|
AUTHOR = 'Thomas Leitner <t_leitner@gmx.at>'
|
29
29
|
SUMMARY = "webgen is a templated based static Web site generator."
|
30
30
|
DESCRIPTION = "webgen is a Web site generator implemented in Ruby. " \
|
@@ -0,0 +1,71 @@
|
|
1
|
+
#
|
2
|
+
#--
|
3
|
+
#
|
4
|
+
# $Id: markdown.rb 531 2006-11-17 17:56:14Z thomas $
|
5
|
+
#
|
6
|
+
# webgen: template based static website generator
|
7
|
+
# Copyright (C) 2004 Thomas Leitner
|
8
|
+
#
|
9
|
+
# This program is free software; you can redistribute it and/or modify it under the terms of the GNU
|
10
|
+
# General Public License as published by the Free Software Foundation; either version 2 of the
|
11
|
+
# License, or (at your option) any later version.
|
12
|
+
#
|
13
|
+
# This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
|
14
|
+
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
15
|
+
# General Public License for more details.
|
16
|
+
#
|
17
|
+
# You should have received a copy of the GNU General Public License along with this program; if not,
|
18
|
+
# write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
19
|
+
#
|
20
|
+
#++
|
21
|
+
#
|
22
|
+
|
23
|
+
load_optional_part( 'content-converter-haml-sass',
|
24
|
+
:needed_gems => ['haml'],
|
25
|
+
:error_msg => "Haml and sass not available as content format as the haml library could not be loaded",
|
26
|
+
:info => "Haml/Sass can be used as content format" ) do
|
27
|
+
|
28
|
+
require 'haml'
|
29
|
+
load_plugin 'webgen/plugins/contentconverters/default'
|
30
|
+
|
31
|
+
module ContentConverters
|
32
|
+
|
33
|
+
class HamlConverter < DefaultContentConverter
|
34
|
+
|
35
|
+
infos( :name => 'ContentConverter/Haml',
|
36
|
+
:author => Webgen::AUTHOR,
|
37
|
+
:summary => "Handles content formatted in Haml format"
|
38
|
+
)
|
39
|
+
|
40
|
+
register_handler 'haml'
|
41
|
+
|
42
|
+
def call( content )
|
43
|
+
Haml::Engine.new( content ).render
|
44
|
+
rescue Exception => e
|
45
|
+
log(:error) { "Error converting Haml text to HTML: #{e.message}" }
|
46
|
+
content
|
47
|
+
end
|
48
|
+
|
49
|
+
end
|
50
|
+
|
51
|
+
class SassConverter < DefaultContentConverter
|
52
|
+
|
53
|
+
infos( :name => 'ContentConverter/Sass',
|
54
|
+
:author => Webgen::AUTHOR,
|
55
|
+
:summary => "Handles content formatted in Sass format"
|
56
|
+
)
|
57
|
+
|
58
|
+
register_handler 'sass'
|
59
|
+
|
60
|
+
def call( content )
|
61
|
+
Sass::Engine.new( content ).render
|
62
|
+
rescue Exception => e
|
63
|
+
log(:error) { "Error converting Sass text to HTML: #{e.message}" }
|
64
|
+
content
|
65
|
+
end
|
66
|
+
|
67
|
+
end
|
68
|
+
|
69
|
+
end
|
70
|
+
|
71
|
+
end
|
@@ -54,6 +54,8 @@ module FileHandlers
|
|
54
54
|
param 'defaultMetaInfo', {}, 'The keys for this hash are the names of file handlers, the ' +
|
55
55
|
'values hashes with meta data.'
|
56
56
|
|
57
|
+
param 'useHiddenFiles', false, 'Files starting with a dot can also used by the file handler plugins if set to true.'
|
58
|
+
|
57
59
|
depends_on 'Core/Configuration'
|
58
60
|
|
59
61
|
include Listener
|
@@ -283,7 +285,7 @@ module FileHandlers
|
|
283
285
|
|
284
286
|
# Returns an array of files of the source directory matching +pattern+
|
285
287
|
def files_for_pattern( pattern )
|
286
|
-
files = Dir.glob( File.join( param( 'srcDir', 'Core/Configuration' ), pattern ), File::FNM_CASEFOLD ).to_set
|
288
|
+
files = Dir.glob( File.join( param( 'srcDir', 'Core/Configuration' ), pattern ), (param('useHiddenFiles') ? File::FNM_DOTMATCH : 0) | File::FNM_CASEFOLD ).to_set
|
287
289
|
files.delete( File.join( param( 'srcDir', 'Core/Configuration' ), '/' ) )
|
288
290
|
files.collect! do |f|
|
289
291
|
f = f.sub( /([^.])\.{1,2}$/, '\1' ) # remove '.' and '..' from end of paths
|
@@ -139,7 +139,7 @@ module FileHandlers
|
|
139
139
|
# The main page object if it exists; otherwise +nil+.
|
140
140
|
attr_accessor :mainpage
|
141
141
|
|
142
|
-
# The whole data
|
142
|
+
# The whole data hash for the image gallery.
|
143
143
|
attr_reader :data
|
144
144
|
|
145
145
|
def initialize( gallery_data, gIndex = nil, iIndex = nil )
|
@@ -247,6 +247,8 @@ module FileHandlers
|
|
247
247
|
end
|
248
248
|
|
249
249
|
@filedata['title'] ||= File.basename( file, '.*' ).capitalize
|
250
|
+
@filedata['filename'] ||= @filedata['title'].downcase
|
251
|
+
@filedata['lang'] ||= param( 'lang', 'Core/Configuration' )
|
250
252
|
log(:info) { "Creating gallery for file <#{file}> with #{images.length} images" }
|
251
253
|
ginfo = create_gallery( images, parent )
|
252
254
|
@plugin_manager["GalleryLayouter/#{@filedata['layouter']}"].handle_gallery( ginfo, parent ) if @filedata.has_key?('layouter') && @plugin_manager["GalleryLayouter/#{@filedata['layouter']}"]
|
@@ -268,6 +270,7 @@ module FileHandlers
|
|
268
270
|
end
|
269
271
|
|
270
272
|
def page_data( metainfo )
|
273
|
+
metainfo['lang'] = @filedata['lang']
|
271
274
|
temp = metainfo.to_yaml
|
272
275
|
temp = "---\n" + temp unless /^---\s*$/ =~ temp
|
273
276
|
"#{temp}\n---\n"
|
@@ -293,7 +296,7 @@ module FileHandlers
|
|
293
296
|
gallery_data['imagesPerPage'] = param('imagesPerPage'),
|
294
297
|
|
295
298
|
if main_page_used
|
296
|
-
main_node = create_page_node( gallery_file_name(
|
299
|
+
main_node = create_page_node( gallery_file_name( @filedata['filename'] ), parent, page_data( main_data ) )
|
297
300
|
main_page = GalleryInfo::MainPage.new( main_node.path, main_data )
|
298
301
|
main_node.node_info[:ginfo] = GalleryInfo.new( gallery_data )
|
299
302
|
main_node.node_info[:ginfo].mainpage = main_page
|
@@ -328,15 +331,17 @@ module FileHandlers
|
|
328
331
|
data = (@filedata['galleryPagesMetaInfo'] || {}).dup
|
329
332
|
data['template'] ||= param( 'galleryPageTemplate' )
|
330
333
|
data['orderInfo'] += gIndex if data['orderInfo']
|
331
|
-
data['title'] = @filedata['title'] + ' ' + gIndex.to_s
|
334
|
+
data['title'] = (data['title'] || @filedata['title']) + ' ' + gIndex.to_s
|
335
|
+
filename = @filedata['filename'] + ' ' + gIndex.to_s
|
332
336
|
|
333
337
|
if images.length <= param( 'imagesPerPage' ) && gIndex == 1
|
334
338
|
template = data['template']
|
335
339
|
data.update( main_page_data )
|
336
340
|
data['template'] = template
|
341
|
+
filename = @filedata['filename']
|
337
342
|
end
|
338
343
|
|
339
|
-
node = create_page_node( gallery_file_name(
|
344
|
+
node = create_page_node( gallery_file_name( filename ), parent, page_data( data ) )
|
340
345
|
gal_images = create_image_pages( images[i..(i + picsPerPage - 1)], parent )
|
341
346
|
gallery = GalleryInfo::Gallery.new( node.path, data, gal_images.collect {|n,i| i} )
|
342
347
|
galleries << [node, gallery, gal_images]
|
@@ -351,7 +356,8 @@ module FileHandlers
|
|
351
356
|
def create_image_pages( images, parent )
|
352
357
|
imageList = []
|
353
358
|
images.each do |image|
|
354
|
-
data = (@
|
359
|
+
data = (@filedata['imagePagesMetaInfo'] || {}).dup
|
360
|
+
data.update( @imagedata[image] || {} )
|
355
361
|
data['template'] ||= param( 'imagePageTemplate' )
|
356
362
|
data['title'] ||= "Image #{File.basename( image )}"
|
357
363
|
data['thumbnailSize'] ||= @filedata['thumbnailSize']
|
@@ -364,7 +370,7 @@ module FileHandlers
|
|
364
370
|
data['thumbnail'] ||= thumbnail_for( image, data, parent )
|
365
371
|
end
|
366
372
|
|
367
|
-
filename = @filedata['
|
373
|
+
filename = @filedata['filename'] + ' ' + image
|
368
374
|
node = create_page_node( gallery_file_name( filename ), parent, page_data( data ) )
|
369
375
|
image = GalleryInfo::Image.new( node.path, data, image )
|
370
376
|
imageList << [node, image]
|
@@ -435,7 +441,7 @@ module FileHandlers
|
|
435
441
|
|
436
442
|
def create_node( file, parent, meta_info, thumbnailSize = nil, method = nil )
|
437
443
|
name = 'tn_' + File.basename( file ).tr( ' ', '_' )
|
438
|
-
if !(node = parent.find {|c| c =~ name })
|
444
|
+
if !parent || !(node = parent.find {|c| c =~ name })
|
439
445
|
node = Node.new( parent, name )
|
440
446
|
node.meta_info.update( meta_info )
|
441
447
|
node['title'] = node.path
|
@@ -88,41 +88,41 @@ class GalleryFileHandlerTest < Webgen::PluginTestCase
|
|
88
88
|
|
89
89
|
# with a main page
|
90
90
|
assert_nil( @plugin.create_node( fixture_path( 'test.gallery' ), root, {} ) )
|
91
|
-
assert_not_nil( root.resolve_node( '
|
92
|
-
assert_not_nil( root.resolve_node( '
|
93
|
-
assert_not_nil( root.resolve_node( '
|
94
|
-
assert_not_nil( root.resolve_node( '
|
95
|
-
assert_not_nil( root.resolve_node( '
|
96
|
-
assert_not_nil( root.resolve_node( '
|
97
|
-
assert_not_nil( root.resolve_node( '
|
98
|
-
|
99
|
-
node = root.resolve_node( '
|
91
|
+
assert_not_nil( root.resolve_node( 'test.page' ) )
|
92
|
+
assert_not_nil( root.resolve_node( 'test_1.page' ) )
|
93
|
+
assert_not_nil( root.resolve_node( 'test_2.page' ) )
|
94
|
+
assert_not_nil( root.resolve_node( 'test_test1_jpg.page' ) )
|
95
|
+
assert_not_nil( root.resolve_node( 'test_test2_jpg.page' ) )
|
96
|
+
assert_not_nil( root.resolve_node( 'test_test3_jpg.page' ) )
|
97
|
+
assert_not_nil( root.resolve_node( 'test_test4_jpg.page' ) )
|
98
|
+
|
99
|
+
node = root.resolve_node( 'test_test3_jpg.page' )
|
100
100
|
assert_kind_of( ginfoclass, node.node_info[:ginfo] )
|
101
101
|
assert_equal( 'test3.jpg', node.node_info[:ginfo].cur_image.filename )
|
102
102
|
assert_equal( node.path, node.node_info[:ginfo].cur_image.pagename )
|
103
103
|
assert_equal( 'gallery_image.template', node['template'] )
|
104
104
|
|
105
|
-
node = root.resolve_node( '
|
105
|
+
node = root.resolve_node( 'test_2.page' )
|
106
106
|
assert_kind_of( ginfoclass, node.node_info[:ginfo] )
|
107
107
|
assert_equal( node.path, node.node_info[:ginfo].cur_gallery.pagename )
|
108
108
|
assert_equal( 'gallery_gallery.template', node['template'] )
|
109
109
|
|
110
|
-
node = root.resolve_node( '
|
110
|
+
node = root.resolve_node( 'test.page' )
|
111
111
|
assert_kind_of( ginfoclass, node.node_info[:ginfo] )
|
112
112
|
assert_equal( 'gallery_main.template', node['template'] )
|
113
113
|
|
114
114
|
# without a main page
|
115
115
|
root.del_children
|
116
116
|
@plugin.create_node( fixture_path( 'test1.gallery' ), root, {} )
|
117
|
-
assert_not_nil( root.resolve_node( '
|
118
|
-
assert_nil( root.resolve_node( '
|
119
|
-
assert_nil( root.resolve_node( '
|
120
|
-
assert_not_nil( root.resolve_node( '
|
121
|
-
assert_not_nil( root.resolve_node( '
|
122
|
-
assert_not_nil( root.resolve_node( '
|
123
|
-
assert_not_nil( root.resolve_node( '
|
124
|
-
|
125
|
-
node = root.resolve_node( '
|
117
|
+
assert_not_nil( root.resolve_node( 'test1.page' ) )
|
118
|
+
assert_nil( root.resolve_node( 'test1_1.page' ) )
|
119
|
+
assert_nil( root.resolve_node( 'test1_2.page' ) )
|
120
|
+
assert_not_nil( root.resolve_node( 'test1_test1_jpg.page' ) )
|
121
|
+
assert_not_nil( root.resolve_node( 'test1_test2_jpg.page' ) )
|
122
|
+
assert_not_nil( root.resolve_node( 'test1_test3_jpg.page' ) )
|
123
|
+
assert_not_nil( root.resolve_node( 'test1_test4_jpg.page' ) )
|
124
|
+
|
125
|
+
node = root.resolve_node( 'test1.page' )
|
126
126
|
assert_kind_of( ginfoclass, node.node_info[:ginfo] )
|
127
127
|
assert_equal( 'gallery_gallery.template', node['template'] )
|
128
128
|
end
|
@@ -156,7 +156,7 @@ begin
|
|
156
156
|
tn_node = root.resolve_node( 'tn_test1.jpg' )
|
157
157
|
assert_not_nil( tn_node )
|
158
158
|
assert_equal( fixture_path( 'test1.jpg' ), tn_node.node_info[:thumbnail_file] )
|
159
|
-
assert_equal( tn_node.absolute_path, root.resolve_node( '
|
159
|
+
assert_equal( tn_node.absolute_path, root.resolve_node( 'test_test1_jpg.page' ).node_info[:ginfo].cur_image.data['thumbnail'] )
|
160
160
|
end
|
161
161
|
|
162
162
|
end
|
metadata
CHANGED
@@ -1,33 +1,43 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
|
-
rubygems_version: 0.9.2
|
3
|
-
specification_version: 1
|
4
2
|
name: webgen
|
5
3
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 0.4.
|
7
|
-
date: 2007-09-08 00:00:00 +02:00
|
8
|
-
summary: webgen is a templated based static Web site generator.
|
9
|
-
require_paths:
|
10
|
-
- lib
|
11
|
-
email: t_leitner@gmx.at
|
12
|
-
homepage: http://webgen.rubyforge.org
|
13
|
-
rubyforge_project: webgen
|
14
|
-
description: webgen is a Web site generator implemented in Ruby. It is used to generate static Web pages from templates and page description files.
|
15
|
-
autorequire:
|
16
|
-
default_executable: webgen
|
17
|
-
bindir: bin
|
18
|
-
has_rdoc: true
|
19
|
-
required_ruby_version: !ruby/object:Gem::Version::Requirement
|
20
|
-
requirements:
|
21
|
-
- - ">"
|
22
|
-
- !ruby/object:Gem::Version
|
23
|
-
version: 0.0.0
|
24
|
-
version:
|
4
|
+
version: 0.4.7
|
25
5
|
platform: ruby
|
26
|
-
signing_key:
|
27
|
-
cert_chain:
|
28
|
-
post_install_message:
|
29
6
|
authors:
|
30
7
|
- Thomas Leitner
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
|
12
|
+
date: 2007-12-31 00:00:00 +01:00
|
13
|
+
default_executable: webgen
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
|
+
name: cmdparse
|
17
|
+
version_requirement:
|
18
|
+
version_requirements: !ruby/object:Gem::Requirement
|
19
|
+
requirements:
|
20
|
+
- - ~>
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 2.0.0
|
23
|
+
version:
|
24
|
+
- !ruby/object:Gem::Dependency
|
25
|
+
name: RedCloth
|
26
|
+
version_requirement:
|
27
|
+
version_requirements: !ruby/object:Gem::Requirement
|
28
|
+
requirements:
|
29
|
+
- - ">="
|
30
|
+
- !ruby/object:Gem::Version
|
31
|
+
version: 3.0.0
|
32
|
+
version:
|
33
|
+
description: webgen is a Web site generator implemented in Ruby. It is used to generate static Web pages from templates and page description files.
|
34
|
+
email: t_leitner@gmx.at
|
35
|
+
executables:
|
36
|
+
- webgen
|
37
|
+
extensions: []
|
38
|
+
|
39
|
+
extra_rdoc_files:
|
40
|
+
- README
|
31
41
|
files:
|
32
42
|
- setup.rb
|
33
43
|
- TODO
|
@@ -51,6 +61,7 @@ files:
|
|
51
61
|
- lib/webgen/node.rb
|
52
62
|
- lib/webgen/plugin.rb
|
53
63
|
- lib/webgen/plugins/contentconverters/default.rb
|
64
|
+
- lib/webgen/plugins/contentconverters/haml.rb
|
54
65
|
- lib/webgen/plugins/contentconverters/html.rb
|
55
66
|
- lib/webgen/plugins/contentconverters/markdown.rb
|
56
67
|
- lib/webgen/plugins/contentconverters/maruku.rb
|
@@ -705,10 +716,12 @@ files:
|
|
705
716
|
- doc/src/documentation/plugins
|
706
717
|
- doc/src/documentation/plugins/contentconverter
|
707
718
|
- doc/src/documentation/plugins/contentconverter/default.page
|
719
|
+
- doc/src/documentation/plugins/contentconverter/haml.page
|
708
720
|
- doc/src/documentation/plugins/contentconverter/html.page
|
709
721
|
- doc/src/documentation/plugins/contentconverter/markdown.page
|
710
722
|
- doc/src/documentation/plugins/contentconverter/maruku.page
|
711
723
|
- doc/src/documentation/plugins/contentconverter/rdoc.page
|
724
|
+
- doc/src/documentation/plugins/contentconverter/sass.page
|
712
725
|
- doc/src/documentation/plugins/contentconverter/textile.page
|
713
726
|
- doc/src/documentation/plugins/contentconverter/xmlbuilder.page
|
714
727
|
- doc/src/documentation/plugins/core
|
@@ -854,36 +867,33 @@ files:
|
|
854
867
|
- doc/src/sipttra.template
|
855
868
|
- man/man1
|
856
869
|
- man/man1/webgen.1
|
857
|
-
|
858
|
-
|
870
|
+
has_rdoc: true
|
871
|
+
homepage: http://webgen.rubyforge.org
|
872
|
+
post_install_message:
|
859
873
|
rdoc_options:
|
860
874
|
- --line-numbers
|
861
875
|
- -m
|
862
876
|
- README
|
863
|
-
|
864
|
-
-
|
865
|
-
|
866
|
-
|
867
|
-
|
868
|
-
|
877
|
+
require_paths:
|
878
|
+
- lib
|
879
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
880
|
+
requirements:
|
881
|
+
- - ">="
|
882
|
+
- !ruby/object:Gem::Version
|
883
|
+
version: "0"
|
884
|
+
version:
|
885
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
886
|
+
requirements:
|
887
|
+
- - ">="
|
888
|
+
- !ruby/object:Gem::Version
|
889
|
+
version: "0"
|
890
|
+
version:
|
869
891
|
requirements: []
|
870
892
|
|
871
|
-
|
872
|
-
|
873
|
-
|
874
|
-
|
875
|
-
|
876
|
-
|
877
|
-
|
878
|
-
- !ruby/object:Gem::Version
|
879
|
-
version: 2.0.0
|
880
|
-
version:
|
881
|
-
- !ruby/object:Gem::Dependency
|
882
|
-
name: RedCloth
|
883
|
-
version_requirement:
|
884
|
-
version_requirements: !ruby/object:Gem::Version::Requirement
|
885
|
-
requirements:
|
886
|
-
- - ">="
|
887
|
-
- !ruby/object:Gem::Version
|
888
|
-
version: 3.0.0
|
889
|
-
version:
|
893
|
+
rubyforge_project: webgen
|
894
|
+
rubygems_version: 1.0.1
|
895
|
+
signing_key:
|
896
|
+
specification_version: 2
|
897
|
+
summary: webgen is a templated based static Web site generator.
|
898
|
+
test_files: []
|
899
|
+
|