gettalong-webgen 0.5.4.20080929 → 0.5.5.20081001
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/Rakefile +31 -16
- data/doc/reference_configuration.page +33 -0
- data/doc/tag/menu.page +14 -0
- data/lib/webgen/default_config.rb +1 -0
- data/lib/webgen/tag/menu.rb +26 -4
- data/lib/webgen/version.rb +1 -1
- data/test/test_tag_menu.rb +11 -1
- metadata +34 -30
data/Rakefile
CHANGED
@@ -135,6 +135,7 @@ EOF
|
|
135
135
|
s.summary = SUMMARY
|
136
136
|
s.description = DESCRIPTION
|
137
137
|
s.post_install_message = <<EOF
|
138
|
+
|
138
139
|
Thanks for choosing webgen! Here are some places to get you started:
|
139
140
|
* The webgen User Documentation at <http://webgen.rubyforge.org/documentation/index.html>
|
140
141
|
* The mailing list archive at <http://rubyforge.org/pipermail/webgen-users/>
|
@@ -142,28 +143,29 @@ Thanks for choosing webgen! Here are some places to get you started:
|
|
142
143
|
Have a look at <http://webgen.rubyforge.org/news/index.html> for a list of changes!
|
143
144
|
|
144
145
|
Have fun!
|
146
|
+
|
145
147
|
EOF
|
146
148
|
|
147
149
|
#### Dependencies, requirements and files
|
148
150
|
|
149
151
|
s.files = PKG_FILES.to_a
|
150
|
-
s.add_dependency('cmdparse', '
|
151
|
-
s.add_dependency('maruku', '
|
152
|
-
s.add_dependency('facets', '
|
153
|
-
s.add_dependency('rake', '
|
152
|
+
s.add_dependency('cmdparse', '2.0.2')
|
153
|
+
s.add_dependency('maruku', '0.5.9')
|
154
|
+
s.add_dependency('facets', '2.4.3')
|
155
|
+
s.add_dependency('rake', '0.8.3')
|
154
156
|
s.add_dependency('ramaze', '2008.06')
|
155
|
-
s.add_dependency('launchy', '
|
156
|
-
s.add_development_dependency('rcov', '
|
157
|
-
s.add_development_dependency('dcov', '
|
158
|
-
s.add_development_dependency('rubyforge', '
|
159
|
-
s.add_development_dependency('RedCloth', '
|
160
|
-
s.add_development_dependency('haml', '
|
161
|
-
s.add_development_dependency('builder', '
|
162
|
-
s.add_development_dependency('rdoc', '
|
163
|
-
s.add_development_dependency('coderay', '
|
164
|
-
s.add_development_dependency('feedtools', '
|
165
|
-
s.add_development_dependency('erubis', '
|
166
|
-
s.add_development_dependency('rdiscount', '
|
157
|
+
s.add_dependency('launchy', '0.3.2')
|
158
|
+
s.add_development_dependency('rcov', '0.8.1.2.0')
|
159
|
+
s.add_development_dependency('dcov', '0.2.2')
|
160
|
+
s.add_development_dependency('rubyforge', '1.0.0')
|
161
|
+
s.add_development_dependency('RedCloth', '3.0.0')
|
162
|
+
s.add_development_dependency('haml', '2.0.1')
|
163
|
+
s.add_development_dependency('builder', '2.1.2')
|
164
|
+
s.add_development_dependency('rdoc', '2.0.0')
|
165
|
+
s.add_development_dependency('coderay', '0.7.4.215')
|
166
|
+
s.add_development_dependency('feedtools', '0.2.29')
|
167
|
+
s.add_development_dependency('erubis', '2.6.2')
|
168
|
+
s.add_development_dependency('rdiscount', '1.2.9')
|
167
169
|
|
168
170
|
s.require_path = 'lib'
|
169
171
|
|
@@ -193,6 +195,19 @@ EOF
|
|
193
195
|
spec.version = Webgen::VERSION + '.' + Time.now.strftime('%Y%m%d')
|
194
196
|
spec.summary = 'webgen beta build, not supported!!!'
|
195
197
|
spec.files = spec.files.reject {|f| f == 'VERSION'}
|
198
|
+
spec.post_install_message = "
|
199
|
+
|
200
|
+
|
201
|
+
WARNING: This is an unsupported BETA version of webgen which may
|
202
|
+
still contain bugs!
|
203
|
+
|
204
|
+
The official version is called 'webgen' and can be installed via
|
205
|
+
|
206
|
+
gem install webgen
|
207
|
+
|
208
|
+
|
209
|
+
|
210
|
+
"
|
196
211
|
File.open('webgen.gemspec', 'w+') {|f| f.write(spec.to_yaml)}
|
197
212
|
end
|
198
213
|
|
@@ -613,6 +613,39 @@ files in Webgen Page Format.
|
|
613
613
|
Showing all subtrees: \{menu: {show_current_subtree_only: false}}
|
614
614
|
|
615
615
|
|
616
|
+
* ### tag.menu.nested
|
617
|
+
|
618
|
+
Specifies whether the generated menu should contain nested lists, ie. whether sub menus are
|
619
|
+
put inline
|
620
|
+
|
621
|
+
ul 1
|
622
|
+
li 2
|
623
|
+
ul 3
|
624
|
+
li 4
|
625
|
+
li 5
|
626
|
+
li 6
|
627
|
+
|
628
|
+
or separately following the previous menu level
|
629
|
+
|
630
|
+
ul 1
|
631
|
+
li 2
|
632
|
+
li 6
|
633
|
+
ul 3
|
634
|
+
li 4
|
635
|
+
li 5
|
636
|
+
|
637
|
+
> When this option is enabled you should enable the option
|
638
|
+
> `tag.menu.show_current_subtree_only`. Otherwise the generated menu will look a little bit
|
639
|
+
> confusing.
|
640
|
+
{.information}
|
641
|
+
|
642
|
+
* Syntax: `BOOLEAN` where `BOOLEAN` is either `true` or `false`.
|
643
|
+
|
644
|
+
* Examples:
|
645
|
+
|
646
|
+
Don't use nested lists: \{menu: {nested: false}}
|
647
|
+
|
648
|
+
|
616
649
|
* ### tag.relocatable.path
|
617
650
|
|
618
651
|
The default mandatory configuration option for Tag::Relocatable that specifies the path that
|
data/doc/tag/menu.page
CHANGED
@@ -6,6 +6,7 @@ used_options:
|
|
6
6
|
- tag.menu.min_levels
|
7
7
|
- tag.menu.max_levels
|
8
8
|
- tag.menu.show_current_subtree_only
|
9
|
+
- tag.menu.nested
|
9
10
|
---
|
10
11
|
## Description
|
11
12
|
|
@@ -40,6 +41,15 @@ follows:
|
|
40
41
|
sub tree of the rendered node.
|
41
42
|
* `webgen-menu-item-selected`: Set if the menu item corresponds to the rendered node.
|
42
43
|
|
44
|
+
The option `tag.menu.nested` decides whether a nested menu or a non-nested is generated. When
|
45
|
+
setting this option to `false` you need to ensure that `tag.menu.show_current_subtree_only` is set
|
46
|
+
to `true` and `tag.menu.min_levels` is set to `1`. Both ensure that no other subtree obfuscates the
|
47
|
+
menu.
|
48
|
+
|
49
|
+
> Set `tag.menu.nested` to `false` if you want to generate, for example, a horizontal menu, ie. a
|
50
|
+
> menu that has one horizontal bar for each menu level.
|
51
|
+
{.information}
|
52
|
+
|
43
53
|
## "Static" Menus
|
44
54
|
|
45
55
|
It is also possible to define a "static" menu or to augment the dynamic menu with static entries by
|
@@ -89,4 +99,8 @@ setting `in_menu` for any other node.
|
|
89
99
|
<td>\{menu: {used_nodes: fragments}}</td>
|
90
100
|
<td>{menu: {used_nodes: fragments}}</td>
|
91
101
|
</tr>
|
102
|
+
<tr>
|
103
|
+
<td>\{menu: {used_nodes: all, nested: false}}</td>
|
104
|
+
<td>{menu: {used_nodes: all, nested: false}}</td>
|
105
|
+
</tr>
|
92
106
|
</table>
|
@@ -161,6 +161,7 @@ config.tag.menu.min_levels(1, :doc => 'The minimum number of menu levels that sh
|
|
161
161
|
config.tag.menu.max_levels(3, :doc => 'The maximum number of menu levels that should be shown.')
|
162
162
|
config.tag.menu.show_current_subtree_only(true, :doc => 'Specifies whether only the current subtree should be shown.')
|
163
163
|
config.tag.menu.used_nodes('all', :doc => 'Specifies the kind of nodes that should be used: all, files, or fragments')
|
164
|
+
config.tag.menu.nested(true, :doc => 'Specifies whether a nested menu list should be generated.')
|
164
165
|
|
165
166
|
config.tag.breadcrumbtrail.separator(' / ', :doc => 'Separates the hierachy entries from each other.')
|
166
167
|
config.tag.breadcrumbtrail.omit_index_path(false, :doc => 'Omits the last path component if it is an index path.')
|
data/lib/webgen/tag/menu.rb
CHANGED
@@ -59,7 +59,14 @@ module Webgen::Tag
|
|
59
59
|
tree = specific_menu_tree_for(context.content_node)
|
60
60
|
|
61
61
|
(context.dest_node.node_info[:tag_menu_menus] ||= {})[[@params.to_a.sort, context.content_node.absolute_lcn]] = (tree ? tree.to_lcn_list : nil)
|
62
|
-
|
62
|
+
|
63
|
+
if !tree || tree.children.empty?
|
64
|
+
''
|
65
|
+
elsif param('tag.menu.nested')
|
66
|
+
create_output_nested(context, tree)
|
67
|
+
else
|
68
|
+
create_output_not_nested(context, tree)
|
69
|
+
end
|
63
70
|
end
|
64
71
|
|
65
72
|
#########
|
@@ -127,11 +134,11 @@ module Webgen::Tag
|
|
127
134
|
end
|
128
135
|
end
|
129
136
|
|
130
|
-
# Create the HTML menu of the +tree+ using the provided +context+.
|
131
|
-
def
|
137
|
+
# Create the nested HTML menu of the +tree+ using the provided +context+.
|
138
|
+
def create_output_nested(context, tree, level = 1)
|
132
139
|
out = "<ul>"
|
133
140
|
tree.children.each do |child|
|
134
|
-
menu = child.children.length > 0 ?
|
141
|
+
menu = child.children.length > 0 ? create_output_nested(context, child, level + 1) : ''
|
135
142
|
style, link = menu_item_details(context.dest_node, child.node, context.content_node.lang, level)
|
136
143
|
|
137
144
|
out << "<li #{style}>#{link}"
|
@@ -142,6 +149,21 @@ module Webgen::Tag
|
|
142
149
|
out
|
143
150
|
end
|
144
151
|
|
152
|
+
# Create the not nested HTML menu of the +tree+ using the provided +context+.
|
153
|
+
def create_output_not_nested(context, tree, level = 1)
|
154
|
+
submenu = ''
|
155
|
+
out = "<ul>"
|
156
|
+
tree.children.each do |child|
|
157
|
+
submenu << (child.children.length > 0 ? create_output_not_nested(context, child, level + 1) : '')
|
158
|
+
style, link = menu_item_details(context.dest_node, child.node, context.content_node.lang, level)
|
159
|
+
|
160
|
+
out << "<li #{style}>#{link}</li>"
|
161
|
+
end
|
162
|
+
out << "</ul>"
|
163
|
+
out << submenu
|
164
|
+
out
|
165
|
+
end
|
166
|
+
|
145
167
|
# Return style information (node is selected, ...) and a link from +dest_node+ to +node+.
|
146
168
|
def menu_item_details(dest_node, node, lang, level)
|
147
169
|
styles = ['webgen-menu-level' + level.to_s]
|
data/lib/webgen/version.rb
CHANGED
data/test/test_tag_menu.rb
CHANGED
@@ -66,6 +66,16 @@ class TestTagMenu < Test::Unit::TestCase
|
|
66
66
|
"<li class=\"webgen-menu-level1 webgen-menu-submenu\"><a href=\"../../dir2/\"></a></li>" +
|
67
67
|
"<li class=\"webgen-menu-level1 webgen-menu-submenu\"><a href=\"../../dir3/\"></a></li></ul>", output)
|
68
68
|
|
69
|
+
@obj.set_params('tag.menu.nested' => false)
|
70
|
+
output = @obj.call('menu', '', Webgen::ContentProcessor::Context.new(:chain => [nodes[:index11_en]]))
|
71
|
+
@obj.set_params({})
|
72
|
+
assert_equal("<ul><li class=\"webgen-menu-level1 webgen-menu-submenu webgen-menu-submenu-inhierarchy\"><a href=\"../\"></a></li>" +
|
73
|
+
"<li class=\"webgen-menu-level1 webgen-menu-submenu\"><a href=\"../../dir2/\"></a></li>" +
|
74
|
+
"<li class=\"webgen-menu-level1 webgen-menu-submenu\"><a href=\"../../dir3/\"></a></li></ul>" +
|
75
|
+
"<ul><li class=\"webgen-menu-level2 webgen-menu-submenu webgen-menu-submenu-inhierarchy\"><span></span></li>" +
|
76
|
+
"<li class=\"webgen-menu-level2\"><a href=\"../file11.en.html\"></a></li></ul>" +
|
77
|
+
"<ul><li class=\"webgen-menu-level3\"><a href=\"file111.en.html\"></a></li>" +
|
78
|
+
"<li class=\"webgen-menu-level3 webgen-menu-item-selected\"><span></span></li></ul>", output)
|
69
79
|
|
70
80
|
@obj.set_params('tag.menu.used_nodes' => 'fragments')
|
71
81
|
output = @obj.call('menu', '', Webgen::ContentProcessor::Context.new(:chain => [nodes[:file11_en]]))
|
@@ -189,7 +199,7 @@ class TestTagMenu < Test::Unit::TestCase
|
|
189
199
|
"<ul><li class=\"webgen-menu-level2\"><a href=\"../../dir2/file21.en.html\"></a></li></ul></li>" +
|
190
200
|
"<li class=\"webgen-menu-level1 webgen-menu-submenu\"><a href=\"../../dir3/\"></a>" +
|
191
201
|
"<ul><li class=\"webgen-menu-level2\"><a href=\"../../dir3/file31.en.html\"></a></li></ul></li></ul>",
|
192
|
-
@obj.send(:
|
202
|
+
@obj.send(:create_output_nested, context, tree))
|
193
203
|
end
|
194
204
|
|
195
205
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gettalong-webgen
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.5.20081001
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Thomas Leitner
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2008-09-
|
12
|
+
date: 2008-09-30 15:00:00 -07:00
|
13
13
|
default_executable: webgen
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -18,9 +18,9 @@ dependencies:
|
|
18
18
|
version_requirement:
|
19
19
|
version_requirements: !ruby/object:Gem::Requirement
|
20
20
|
requirements:
|
21
|
-
- -
|
21
|
+
- - "="
|
22
22
|
- !ruby/object:Gem::Version
|
23
|
-
version: 2.0.
|
23
|
+
version: 2.0.2
|
24
24
|
version:
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: maruku
|
@@ -28,9 +28,9 @@ dependencies:
|
|
28
28
|
version_requirement:
|
29
29
|
version_requirements: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - "="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0.5.
|
33
|
+
version: 0.5.9
|
34
34
|
version:
|
35
35
|
- !ruby/object:Gem::Dependency
|
36
36
|
name: facets
|
@@ -38,7 +38,7 @@ dependencies:
|
|
38
38
|
version_requirement:
|
39
39
|
version_requirements: !ruby/object:Gem::Requirement
|
40
40
|
requirements:
|
41
|
-
- - "
|
41
|
+
- - "="
|
42
42
|
- !ruby/object:Gem::Version
|
43
43
|
version: 2.4.3
|
44
44
|
version:
|
@@ -48,9 +48,9 @@ dependencies:
|
|
48
48
|
version_requirement:
|
49
49
|
version_requirements: !ruby/object:Gem::Requirement
|
50
50
|
requirements:
|
51
|
-
- - "
|
51
|
+
- - "="
|
52
52
|
- !ruby/object:Gem::Version
|
53
|
-
version: 0.8.
|
53
|
+
version: 0.8.3
|
54
54
|
version:
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: ramaze
|
@@ -68,7 +68,7 @@ dependencies:
|
|
68
68
|
version_requirement:
|
69
69
|
version_requirements: !ruby/object:Gem::Requirement
|
70
70
|
requirements:
|
71
|
-
- - "
|
71
|
+
- - "="
|
72
72
|
- !ruby/object:Gem::Version
|
73
73
|
version: 0.3.2
|
74
74
|
version:
|
@@ -78,9 +78,9 @@ dependencies:
|
|
78
78
|
version_requirement:
|
79
79
|
version_requirements: !ruby/object:Gem::Requirement
|
80
80
|
requirements:
|
81
|
-
- - "
|
81
|
+
- - "="
|
82
82
|
- !ruby/object:Gem::Version
|
83
|
-
version: 0.8.0
|
83
|
+
version: 0.8.1.2.0
|
84
84
|
version:
|
85
85
|
- !ruby/object:Gem::Dependency
|
86
86
|
name: dcov
|
@@ -88,7 +88,7 @@ dependencies:
|
|
88
88
|
version_requirement:
|
89
89
|
version_requirements: !ruby/object:Gem::Requirement
|
90
90
|
requirements:
|
91
|
-
- - "
|
91
|
+
- - "="
|
92
92
|
- !ruby/object:Gem::Version
|
93
93
|
version: 0.2.2
|
94
94
|
version:
|
@@ -98,7 +98,7 @@ dependencies:
|
|
98
98
|
version_requirement:
|
99
99
|
version_requirements: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
|
-
- - "
|
101
|
+
- - "="
|
102
102
|
- !ruby/object:Gem::Version
|
103
103
|
version: 1.0.0
|
104
104
|
version:
|
@@ -108,7 +108,7 @@ dependencies:
|
|
108
108
|
version_requirement:
|
109
109
|
version_requirements: !ruby/object:Gem::Requirement
|
110
110
|
requirements:
|
111
|
-
- - "
|
111
|
+
- - "="
|
112
112
|
- !ruby/object:Gem::Version
|
113
113
|
version: 3.0.0
|
114
114
|
version:
|
@@ -118,7 +118,7 @@ dependencies:
|
|
118
118
|
version_requirement:
|
119
119
|
version_requirements: !ruby/object:Gem::Requirement
|
120
120
|
requirements:
|
121
|
-
- - "
|
121
|
+
- - "="
|
122
122
|
- !ruby/object:Gem::Version
|
123
123
|
version: 2.0.1
|
124
124
|
version:
|
@@ -128,9 +128,9 @@ dependencies:
|
|
128
128
|
version_requirement:
|
129
129
|
version_requirements: !ruby/object:Gem::Requirement
|
130
130
|
requirements:
|
131
|
-
- - "
|
131
|
+
- - "="
|
132
132
|
- !ruby/object:Gem::Version
|
133
|
-
version: 2.1.
|
133
|
+
version: 2.1.2
|
134
134
|
version:
|
135
135
|
- !ruby/object:Gem::Dependency
|
136
136
|
name: rdoc
|
@@ -138,7 +138,7 @@ dependencies:
|
|
138
138
|
version_requirement:
|
139
139
|
version_requirements: !ruby/object:Gem::Requirement
|
140
140
|
requirements:
|
141
|
-
- - "
|
141
|
+
- - "="
|
142
142
|
- !ruby/object:Gem::Version
|
143
143
|
version: 2.0.0
|
144
144
|
version:
|
@@ -148,7 +148,7 @@ dependencies:
|
|
148
148
|
version_requirement:
|
149
149
|
version_requirements: !ruby/object:Gem::Requirement
|
150
150
|
requirements:
|
151
|
-
- - "
|
151
|
+
- - "="
|
152
152
|
- !ruby/object:Gem::Version
|
153
153
|
version: 0.7.4.215
|
154
154
|
version:
|
@@ -158,7 +158,7 @@ dependencies:
|
|
158
158
|
version_requirement:
|
159
159
|
version_requirements: !ruby/object:Gem::Requirement
|
160
160
|
requirements:
|
161
|
-
- - "
|
161
|
+
- - "="
|
162
162
|
- !ruby/object:Gem::Version
|
163
163
|
version: 0.2.29
|
164
164
|
version:
|
@@ -168,7 +168,7 @@ dependencies:
|
|
168
168
|
version_requirement:
|
169
169
|
version_requirements: !ruby/object:Gem::Requirement
|
170
170
|
requirements:
|
171
|
-
- - "
|
171
|
+
- - "="
|
172
172
|
- !ruby/object:Gem::Version
|
173
173
|
version: 2.6.2
|
174
174
|
version:
|
@@ -178,7 +178,7 @@ dependencies:
|
|
178
178
|
version_requirement:
|
179
179
|
version_requirements: !ruby/object:Gem::Requirement
|
180
180
|
requirements:
|
181
|
-
- - "
|
181
|
+
- - "="
|
182
182
|
- !ruby/object:Gem::Version
|
183
183
|
version: 1.2.9
|
184
184
|
version:
|
@@ -535,15 +535,19 @@ files:
|
|
535
535
|
- test/helper.rb
|
536
536
|
has_rdoc: true
|
537
537
|
homepage: http://webgen.rubyforge.org
|
538
|
-
post_install_message:
|
539
|
-
|
540
|
-
|
541
|
-
|
538
|
+
post_install_message: |+
|
539
|
+
|
540
|
+
|
541
|
+
|
542
|
+
WARNING: This is an unsupported BETA version of webgen which may
|
543
|
+
still contain bugs!
|
544
|
+
|
545
|
+
The official version is called 'webgen' and can be installed via
|
546
|
+
|
547
|
+
gem install webgen
|
548
|
+
|
542
549
|
|
543
|
-
Have a look at <http://webgen.rubyforge.org/news/index.html> for a list of changes!
|
544
550
|
|
545
|
-
Have fun!
|
546
|
-
|
547
551
|
rdoc_options:
|
548
552
|
- --line-numbers
|
549
553
|
- --inline-source
|