gettalong-webgen 0.5.8.20090507 → 0.5.9.20090620
Sign up to get free protection for your applications and to get access to all the features.
- data/Rakefile +5 -6
- data/data/webgen/passive_sources/images/generated_by_webgen.png +0 -0
- data/data/webgen/passive_sources/images/webgen_logo.png +0 -0
- data/data/webgen/passive_sources/templates/atom_feed.template +38 -0
- data/data/webgen/passive_sources/templates/rss_feed.template +28 -0
- data/data/webgen/resources.yaml +2 -1
- data/doc/contentprocessor/builder.page +1 -1
- data/doc/contentprocessor/erb.page +5 -2
- data/doc/contentprocessor/erubis.page +2 -2
- data/doc/extensions.page +1 -1
- data/doc/manual.page +56 -26
- data/doc/reference_configuration.page +36 -1
- data/doc/reference_website_styles.page +1 -1
- data/doc/sourcehandler/feed.page +6 -11
- data/doc/tag/includefile.page +1 -1
- data/lib/webgen/cli/apply_command.rb +1 -1
- data/lib/webgen/cli/utils.rb +2 -2
- data/lib/webgen/common.rb +0 -9
- data/lib/webgen/contentprocessor/blocks.rb +60 -36
- data/lib/webgen/contentprocessor/builder.rb +2 -2
- data/lib/webgen/contentprocessor/erb.rb +3 -2
- data/lib/webgen/contentprocessor/erubis.rb +2 -2
- data/lib/webgen/contentprocessor/haml.rb +2 -2
- data/lib/webgen/contentprocessor/maruku.rb +1 -1
- data/lib/webgen/contentprocessor/sass.rb +2 -2
- data/lib/webgen/contentprocessor/tags.rb +25 -11
- data/lib/webgen/context.rb +4 -1
- data/lib/webgen/context/render.rb +32 -0
- data/lib/webgen/context/tags.rb +20 -0
- data/lib/webgen/default_config.rb +4 -1
- data/lib/webgen/deprecated.rb +37 -4
- data/lib/webgen/node.rb +37 -38
- data/lib/webgen/path.rb +151 -54
- data/lib/webgen/source.rb +6 -6
- data/lib/webgen/source/stacked.rb +13 -5
- data/lib/webgen/sourcehandler.rb +71 -45
- data/lib/webgen/sourcehandler/base.rb +51 -21
- data/lib/webgen/sourcehandler/copy.rb +4 -4
- data/lib/webgen/sourcehandler/directory.rb +3 -9
- data/lib/webgen/sourcehandler/feed.rb +23 -49
- data/lib/webgen/sourcehandler/fragment.rb +10 -8
- data/lib/webgen/sourcehandler/memory.rb +9 -10
- data/lib/webgen/sourcehandler/metainfo.rb +9 -9
- data/lib/webgen/sourcehandler/page.rb +5 -5
- data/lib/webgen/sourcehandler/sitemap.rb +3 -3
- data/lib/webgen/sourcehandler/template.rb +6 -6
- data/lib/webgen/sourcehandler/virtual.rb +19 -17
- data/lib/webgen/tag/base.rb +34 -26
- data/lib/webgen/tag/breadcrumbtrail.rb +3 -3
- data/lib/webgen/tag/executecommand.rb +3 -3
- data/lib/webgen/tag/langbar.rb +2 -2
- data/lib/webgen/tag/link.rb +3 -3
- data/lib/webgen/tag/menu.rb +2 -2
- data/lib/webgen/tag/metainfo.rb +1 -1
- data/lib/webgen/tag/relocatable.rb +17 -21
- data/lib/webgen/tag/tikz.rb +5 -6
- data/lib/webgen/tree.rb +7 -7
- data/lib/webgen/version.rb +1 -1
- data/lib/webgen/website.rb +4 -2
- data/misc/default.css +8 -2
- data/misc/default.template +2 -2
- data/misc/logo.svg +313 -0
- data/misc/style.page +1 -1
- data/test/helper.rb +2 -2
- data/test/test_common_sitemap.rb +1 -1
- data/test/test_contentprocessor_blocks.rb +12 -4
- data/test/test_contentprocessor_builder.rb +2 -1
- data/test/test_contentprocessor_erb.rb +2 -1
- data/test/test_contentprocessor_erubis.rb +1 -1
- data/test/test_contentprocessor_fragments.rb +12 -11
- data/test/test_contentprocessor_haml.rb +2 -1
- data/test/test_contentprocessor_maruku.rb +1 -0
- data/test/test_contentprocessor_rdiscount.rb +1 -0
- data/test/test_contentprocessor_rdoc.rb +1 -0
- data/test/test_contentprocessor_sass.rb +1 -0
- data/test/test_contentprocessor_tags.rb +13 -0
- data/test/test_context.rb +28 -0
- data/test/test_node.rb +40 -20
- data/test/test_path.rb +106 -65
- data/test/test_source_filesystem.rb +1 -1
- data/test/test_source_stacked.rb +19 -6
- data/test/test_sourcehandler_base.rb +53 -47
- data/test/test_sourcehandler_copy.rb +6 -6
- data/test/test_sourcehandler_directory.rb +8 -12
- data/test/test_sourcehandler_feed.rb +10 -6
- data/test/test_sourcehandler_fragment.rb +6 -5
- data/test/test_sourcehandler_main.rb +39 -0
- data/test/test_sourcehandler_memory.rb +4 -4
- data/test/test_sourcehandler_metainfo.rb +10 -10
- data/test/test_sourcehandler_page.rb +9 -9
- data/test/test_sourcehandler_sitemap.rb +4 -4
- data/test/test_sourcehandler_template.rb +14 -14
- data/test/test_sourcehandler_virtual.rb +9 -5
- data/test/test_tag_base.rb +2 -2
- data/test/test_tag_executecommand.rb +1 -1
- data/test/test_tag_link.rb +4 -3
- data/test/test_tag_menu.rb +15 -15
- data/test/test_tag_metainfo.rb +1 -0
- data/test/test_tag_relocatable.rb +2 -1
- data/test/test_tag_tikz.rb +3 -3
- data/test/test_tree.rb +8 -8
- data/test/test_website.rb +15 -0
- metadata +14 -14
- data/test/test_common.rb +0 -18
data/lib/webgen/version.rb
CHANGED
data/lib/webgen/website.rb
CHANGED
@@ -35,6 +35,7 @@ require 'webgen/tag'
|
|
35
35
|
require 'webgen/path'
|
36
36
|
require 'webgen/node'
|
37
37
|
require 'webgen/page'
|
38
|
+
require 'webgen/version'
|
38
39
|
|
39
40
|
# Load deprecated classes/methods/...
|
40
41
|
require 'webgen/deprecated'
|
@@ -104,6 +105,7 @@ require 'webgen/deprecated'
|
|
104
105
|
# <tt>:create_sitemap</tt>:: Common::Sitemap#create_sitemap
|
105
106
|
# <tt>:create_directories</tt>:: SourceHandler::Directory#create_directories
|
106
107
|
# <tt>:create_nodes</tt>:: SourceHandler::Main#create_nodes
|
108
|
+
# <tt>:create_nodes_from_paths</tt>:: SourceHandler::Main#create_nodes_from_paths
|
107
109
|
# <tt>:source_paths</tt>:: SourceHandler::Main#find_all_source_paths
|
108
110
|
#
|
109
111
|
# Following is the list of all messages that can be listened to:
|
@@ -242,11 +244,11 @@ module Webgen
|
|
242
244
|
def render
|
243
245
|
result = nil
|
244
246
|
execute_in_env do
|
245
|
-
init
|
247
|
+
init
|
246
248
|
|
247
249
|
puts "Starting webgen..."
|
248
250
|
shm = SourceHandler::Main.new
|
249
|
-
result = shm.render
|
251
|
+
result = shm.render
|
250
252
|
save_tree_and_cache if result
|
251
253
|
puts "Finished"
|
252
254
|
|
data/misc/default.css
CHANGED
@@ -171,6 +171,12 @@ blockquote pre {
|
|
171
171
|
padding: 0;
|
172
172
|
}
|
173
173
|
|
174
|
+
#header-content #logo-image {
|
175
|
+
position: absolute;
|
176
|
+
margin: 0; padding: 0;
|
177
|
+
top: 20px; left: 10px;
|
178
|
+
}
|
179
|
+
|
174
180
|
#header-content #logo {
|
175
181
|
position: absolute;
|
176
182
|
font: bold 50px Verdana, 'Trebuchet Ms', Sans-serif;
|
@@ -178,7 +184,7 @@ blockquote pre {
|
|
178
184
|
color: #FCFFF5;
|
179
185
|
margin: 0; padding: 0;
|
180
186
|
|
181
|
-
top: 5px; left:
|
187
|
+
top: 5px; left: 100px;
|
182
188
|
}
|
183
189
|
|
184
190
|
#header-content #slogan {
|
@@ -188,7 +194,7 @@ blockquote pre {
|
|
188
194
|
color: #CCC;
|
189
195
|
margin: 0; padding: 0;
|
190
196
|
|
191
|
-
top: 65px; left:
|
197
|
+
top: 65px; left: 115px;
|
192
198
|
}
|
193
199
|
|
194
200
|
/* header menu */
|
data/misc/default.template
CHANGED
@@ -7,14 +7,14 @@
|
|
7
7
|
|
8
8
|
<link rel="stylesheet" href="{relocatable: default.css}" type="text/css" />
|
9
9
|
|
10
|
-
<title>webgen - static website generator
|
10
|
+
<title>{title:} | webgen - static website generator</title>
|
11
11
|
|
12
12
|
</head>
|
13
13
|
|
14
14
|
<body>
|
15
15
|
<!-- header starts here -->
|
16
16
|
<div id="header"><div id="header-content">
|
17
|
-
|
17
|
+
<img id="logo-image" src="{relocatable: /images/webgen_logo.png}" alt="webgen logo" />
|
18
18
|
<h1 id="logo">webgen</h1>
|
19
19
|
<h2 id="slogan">static website generation made easy</h2>
|
20
20
|
|
data/misc/logo.svg
ADDED
@@ -0,0 +1,313 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
2
|
+
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
3
|
+
<svg
|
4
|
+
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
5
|
+
xmlns:cc="http://web.resource.org/cc/"
|
6
|
+
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
7
|
+
xmlns:svg="http://www.w3.org/2000/svg"
|
8
|
+
xmlns="http://www.w3.org/2000/svg"
|
9
|
+
xmlns:xlink="http://www.w3.org/1999/xlink"
|
10
|
+
xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
|
11
|
+
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
12
|
+
width="100"
|
13
|
+
height="30"
|
14
|
+
id="svg2"
|
15
|
+
sodipodi:version="0.32"
|
16
|
+
inkscape:version="0.43"
|
17
|
+
version="1.0"
|
18
|
+
sodipodi:docbase="/home/thomas/work/webgen/otherdata"
|
19
|
+
sodipodi:docname="logo.svg"
|
20
|
+
inkscape:export-filename="/home/thomas/work/webgen/data/webgen/resources/images/generated_by_webgen.png"
|
21
|
+
inkscape:export-xdpi="90"
|
22
|
+
inkscape:export-ydpi="90">
|
23
|
+
<defs
|
24
|
+
id="defs4">
|
25
|
+
<linearGradient
|
26
|
+
id="linearGradient9010">
|
27
|
+
<stop
|
28
|
+
style="stop-color:#ffffff;stop-opacity:1;"
|
29
|
+
offset="0"
|
30
|
+
id="stop9012" />
|
31
|
+
<stop
|
32
|
+
id="stop9131"
|
33
|
+
offset="0.40000001"
|
34
|
+
style="stop-color:#ffffff;stop-opacity:0.49803922;" />
|
35
|
+
<stop
|
36
|
+
style="stop-color:#ffffff;stop-opacity:0;"
|
37
|
+
offset="1"
|
38
|
+
id="stop9014" />
|
39
|
+
</linearGradient>
|
40
|
+
<linearGradient
|
41
|
+
inkscape:collect="always"
|
42
|
+
id="linearGradient8998">
|
43
|
+
<stop
|
44
|
+
style="stop-color:#000000;stop-opacity:1;"
|
45
|
+
offset="0"
|
46
|
+
id="stop9000" />
|
47
|
+
<stop
|
48
|
+
style="stop-color:#000000;stop-opacity:0;"
|
49
|
+
offset="1"
|
50
|
+
id="stop9002" />
|
51
|
+
</linearGradient>
|
52
|
+
<linearGradient
|
53
|
+
inkscape:collect="always"
|
54
|
+
id="linearGradient8988">
|
55
|
+
<stop
|
56
|
+
style="stop-color:#837c7c;stop-opacity:1;"
|
57
|
+
offset="0"
|
58
|
+
id="stop8990" />
|
59
|
+
<stop
|
60
|
+
style="stop-color:#837c7c;stop-opacity:0;"
|
61
|
+
offset="1"
|
62
|
+
id="stop8992" />
|
63
|
+
</linearGradient>
|
64
|
+
<linearGradient
|
65
|
+
id="linearGradient2482">
|
66
|
+
<stop
|
67
|
+
style="stop-color:#0b0c85;stop-opacity:1;"
|
68
|
+
offset="0"
|
69
|
+
id="stop2484" />
|
70
|
+
<stop
|
71
|
+
style="stop-color:#ffffff;stop-opacity:0;"
|
72
|
+
offset="1"
|
73
|
+
id="stop2486" />
|
74
|
+
</linearGradient>
|
75
|
+
<radialGradient
|
76
|
+
inkscape:collect="always"
|
77
|
+
xlink:href="#linearGradient2482"
|
78
|
+
id="radialGradient2488"
|
79
|
+
cx="-4.076539"
|
80
|
+
cy="50.301582"
|
81
|
+
fx="-4.076539"
|
82
|
+
fy="50.301582"
|
83
|
+
r="15.371569"
|
84
|
+
gradientTransform="matrix(1,0,0,0.23755,1.977585e-15,38.35243)"
|
85
|
+
gradientUnits="userSpaceOnUse" />
|
86
|
+
<linearGradient
|
87
|
+
inkscape:collect="always"
|
88
|
+
xlink:href="#linearGradient8988"
|
89
|
+
id="linearGradient8996"
|
90
|
+
x1="65.366257"
|
91
|
+
y1="49.937603"
|
92
|
+
x2="103.37334"
|
93
|
+
y2="49.937603"
|
94
|
+
gradientUnits="userSpaceOnUse"
|
95
|
+
gradientTransform="translate(-49.79201,7.716306)" />
|
96
|
+
<linearGradient
|
97
|
+
inkscape:collect="always"
|
98
|
+
xlink:href="#linearGradient8998"
|
99
|
+
id="linearGradient9004"
|
100
|
+
x1="15.574246"
|
101
|
+
y1="57.653908"
|
102
|
+
x2="53.581326"
|
103
|
+
y2="57.653908"
|
104
|
+
gradientUnits="userSpaceOnUse" />
|
105
|
+
<radialGradient
|
106
|
+
inkscape:collect="always"
|
107
|
+
xlink:href="#linearGradient9010"
|
108
|
+
id="radialGradient9020"
|
109
|
+
cx="-9.3905993"
|
110
|
+
cy="25.551165"
|
111
|
+
fx="-9.3905993"
|
112
|
+
fy="25.551165"
|
113
|
+
r="18.708403"
|
114
|
+
gradientTransform="matrix(1,0,0,1.03891,0,-0.994208)"
|
115
|
+
gradientUnits="userSpaceOnUse" />
|
116
|
+
<radialGradient
|
117
|
+
inkscape:collect="always"
|
118
|
+
xlink:href="#linearGradient9010"
|
119
|
+
id="radialGradient9050"
|
120
|
+
cx="45.007336"
|
121
|
+
cy="51.899277"
|
122
|
+
fx="45.007336"
|
123
|
+
fy="51.899277"
|
124
|
+
r="25.753019"
|
125
|
+
gradientTransform="matrix(1,0,0,1.020221,0,-1.049469)"
|
126
|
+
gradientUnits="userSpaceOnUse" />
|
127
|
+
<radialGradient
|
128
|
+
inkscape:collect="always"
|
129
|
+
xlink:href="#linearGradient9010"
|
130
|
+
id="radialGradient9139"
|
131
|
+
cx="35.144642"
|
132
|
+
cy="30.299515"
|
133
|
+
fx="35.144642"
|
134
|
+
fy="30.299515"
|
135
|
+
r="34.081051"
|
136
|
+
gradientTransform="matrix(1,0,0,0.841996,-1.009663e-18,4.787447)"
|
137
|
+
gradientUnits="userSpaceOnUse" />
|
138
|
+
<radialGradient
|
139
|
+
inkscape:collect="always"
|
140
|
+
xlink:href="#linearGradient9010"
|
141
|
+
id="radialGradient9197"
|
142
|
+
gradientUnits="userSpaceOnUse"
|
143
|
+
gradientTransform="matrix(0.476243,0,0,0.400935,2.559175e-2,2.84574)"
|
144
|
+
cx="35.144642"
|
145
|
+
cy="30.299515"
|
146
|
+
fx="35.144642"
|
147
|
+
fy="30.299515"
|
148
|
+
r="34.081051" />
|
149
|
+
</defs>
|
150
|
+
<sodipodi:namedview
|
151
|
+
id="base"
|
152
|
+
pagecolor="#000000"
|
153
|
+
bordercolor="#666666"
|
154
|
+
borderopacity="1.0"
|
155
|
+
inkscape:pageopacity="0"
|
156
|
+
inkscape:pageshadow="2"
|
157
|
+
inkscape:zoom="9.6947434"
|
158
|
+
inkscape:cx="50.002952"
|
159
|
+
inkscape:cy="-1.0038166"
|
160
|
+
inkscape:document-units="px"
|
161
|
+
inkscape:current-layer="layer1"
|
162
|
+
inkscape:window-width="1347"
|
163
|
+
inkscape:window-height="770"
|
164
|
+
inkscape:window-x="275"
|
165
|
+
inkscape:window-y="0"
|
166
|
+
showguides="true"
|
167
|
+
showgrid="true"
|
168
|
+
inkscape:guide-bbox="true"
|
169
|
+
inkscape:grid-points="false"
|
170
|
+
inkscape:guide-points="true"
|
171
|
+
gridtolerance="2px">
|
172
|
+
<sodipodi:guide
|
173
|
+
orientation="vertical"
|
174
|
+
position="-23.75"
|
175
|
+
id="guide9173" />
|
176
|
+
</sodipodi:namedview>
|
177
|
+
<metadata
|
178
|
+
id="metadata7">
|
179
|
+
<rdf:RDF>
|
180
|
+
<cc:Work
|
181
|
+
rdf:about="">
|
182
|
+
<dc:format>image/svg+xml</dc:format>
|
183
|
+
<dc:type
|
184
|
+
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
185
|
+
</cc:Work>
|
186
|
+
</rdf:RDF>
|
187
|
+
</metadata>
|
188
|
+
<g
|
189
|
+
inkscape:label="Layer 1"
|
190
|
+
inkscape:groupmode="layer"
|
191
|
+
id="layer1">
|
192
|
+
<rect
|
193
|
+
style="opacity:1;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#15172e;stroke-width:0.61475945;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
|
194
|
+
id="rect9179"
|
195
|
+
width="99.394241"
|
196
|
+
height="29.369965"
|
197
|
+
x="0.30583158"
|
198
|
+
y="0.31501755"
|
199
|
+
rx="5.8250461"
|
200
|
+
ry="3.8354847" />
|
201
|
+
<g
|
202
|
+
id="g9199"
|
203
|
+
inkscape:export-filename="/home/thomas/work/webgen/data/webgen/resources/images/webgen_logo.png"
|
204
|
+
inkscape:export-xdpi="277.25"
|
205
|
+
inkscape:export-ydpi="277.25">
|
206
|
+
<path
|
207
|
+
id="path9059"
|
208
|
+
style="color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#radialGradient9197);stroke-width:2.9762969;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
|
209
|
+
d="M 12.001541,4.9582582 C 10.119861,9.4613354 7.8403112,13.296566 4.2766433,14.976335 C 9.6644057,19.60339 10.106791,22.570228 11.472438,25.847016 C 15.805023,24.565959 14.983383,21.8164 24.065078,22.223456 M 13.059746,8.3686669 C 12.655002,11.087245 11.468192,13.870781 9.6734896,15.189486 C 11.542234,16.971247 12.834153,19.526502 12.742284,22.436606 C 14.695354,20.520169 16.658419,18.725407 20.14972,19.132772 M 25.524879,19.082684 C 25.109469,17.713763 23.528825,14.341956 24.466673,12.155289 C 22.681833,12.512912 20.90358,13.045083 19.272671,11.640386 M 29.228596,21.853641 C 28.225974,17.325088 27.417448,12.861696 28.911135,9.1711819 C 25.133533,9.9728951 21.618283,9.1892774 18.117443,8.3185788 M 31.505584,23.605166 L 20.395577,15.115009 M 16.317837,2.8176279 L 20.253272,14.754881 M 20.464913,15.074607 L 31.200005,6.9823159 M 26.484371,23.626928 L 15.305026,14.997109 M 11.161097,27.170117 L 15.126238,15.19696 M 11.296624,2.8393902 L 15.232058,14.776643 M 15.126238,15.090384 L 2.0203788,14.883217" />
|
210
|
+
<g
|
211
|
+
transform="matrix(0.476243,0,0,0.796874,-3.42334,1.215231)"
|
212
|
+
style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#837c7c;stroke-opacity:1"
|
213
|
+
id="use8924">
|
214
|
+
<path
|
215
|
+
sodipodi:nodetypes="cccccccc"
|
216
|
+
id="path8936"
|
217
|
+
d="M 31.698294,4.9731037 C 27.747203,10.624033 22.960676,15.436878 15.477799,17.544827 C 26.790852,23.351335 27.719759,27.074432 30.587301,31.186485 C 39.684727,29.578882 37.959473,26.12845 57.028929,26.639266 M 33.92028,9.252839 C 33.070411,12.664393 30.578386,16.157462 26.809926,17.81231 C 30.733857,20.04825 33.446587,23.254849 33.253684,26.906749 C 37.354678,24.501805 41.476661,22.249551 48.807583,22.760755"
|
218
|
+
style="color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#837c7c;stroke-width:1.75500572;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
|
219
|
+
<g
|
220
|
+
style="stroke:#837c7c;stroke-opacity:1"
|
221
|
+
transform="matrix(1.392074,0,0,0.837892,-26.34107,4.475587)"
|
222
|
+
id="g8938">
|
223
|
+
<path
|
224
|
+
sodipodi:nodetypes="cccccs"
|
225
|
+
id="path8940"
|
226
|
+
d="M 62.090982,21.747805 C 61.464389,19.697584 59.080186,14.647658 60.494813,11.372705 C 57.802605,11.908314 55.120334,12.705341 52.660314,10.601539 M 67.677574,25.897845 C 66.165245,19.11547 64.945684,12.430684 67.198723,6.9034321 C 61.500687,8.1041521 56.198374,6.9305341 50.917798,5.6264961"
|
227
|
+
style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#837c7c;stroke-width:1.625;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
|
228
|
+
<path
|
229
|
+
sodipodi:nodetypes="cccccc"
|
230
|
+
d="M 71.112123,28.521089 L 54.354076,15.805452 M 48.203319,-2.6122322 L 54.139427,15.266092 M 54.458661,15.744943 L 70.651196,3.6251863"
|
231
|
+
style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#837c7c;stroke-width:1.625;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
232
|
+
id="path8942" />
|
233
|
+
</g>
|
234
|
+
<path
|
235
|
+
sodipodi:nodetypes="cccccccc"
|
236
|
+
d="M 62.108884,28.400489 L 38.634849,17.570896 M 29.933556,32.84685 L 38.259435,17.821689 M 30.218132,2.3141281 L 38.481633,17.294233 M 38.259435,17.687947 L 10.740166,17.427973"
|
237
|
+
style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#837c7c;stroke-width:1.75500572;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
238
|
+
id="path8944" />
|
239
|
+
</g>
|
240
|
+
<g
|
241
|
+
transform="matrix(0.476243,0,0,0.796874,-2.886543,0.30206)"
|
242
|
+
id="g8917">
|
243
|
+
<path
|
244
|
+
style="color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#313967;stroke-width:1.75500572;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
|
245
|
+
d="M 31.698294,4.9731037 C 27.747203,10.624033 22.960676,15.436878 15.477799,17.544827 C 26.790852,23.351335 27.719759,27.074432 30.587301,31.186485 C 39.684727,29.578882 37.959473,26.12845 57.028929,26.639266 M 33.92028,9.252839 C 33.070411,12.664393 30.578386,16.157462 26.809926,17.81231 C 30.733857,20.04825 33.446587,23.254849 33.253684,26.906749 C 37.354678,24.501805 41.476661,22.249551 48.807583,22.760755"
|
246
|
+
id="path2464"
|
247
|
+
sodipodi:nodetypes="cccccccc" />
|
248
|
+
<path
|
249
|
+
sodipodi:nodetypes="cccccs"
|
250
|
+
id="path2470"
|
251
|
+
d="M 60.094172,22.697899 C 59.221908,20.980035 55.902921,16.748742 57.872186,14.004686 C 54.124434,14.453468 50.390514,15.121291 46.965984,13.358532 M 67.871121,26.175184 C 65.765847,20.492286 64.068128,14.891158 67.204525,10.259918 C 59.272437,11.265991 51.891225,10.282626 44.540273,9.1899831"
|
252
|
+
style="color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#313967;stroke-width:1.75500572;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
|
253
|
+
<path
|
254
|
+
sodipodi:nodetypes="cccccc"
|
255
|
+
d="M 72.652268,28.373179 L 49.323826,17.718849 M 40.761517,2.2868185 L 49.025019,17.266923 M 49.469416,17.668149 L 72.010623,7.5131016"
|
256
|
+
style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#15172e;stroke-width:1.75500572;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
257
|
+
id="path2468"
|
258
|
+
inkscape:export-filename="/home/thomas/work/webgen/doc/output/path2468.png"
|
259
|
+
inkscape:export-xdpi="91"
|
260
|
+
inkscape:export-ydpi="91" />
|
261
|
+
<path
|
262
|
+
id="path2193"
|
263
|
+
style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#15172e;stroke-width:1.75500572;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
264
|
+
d="M 62.108884,28.400489 L 38.634849,17.570896 M 29.933556,32.84685 L 38.259435,17.821689 M 30.218132,2.3141281 L 38.481633,17.294233 M 38.259435,17.687947 L 10.740166,17.427973"
|
265
|
+
sodipodi:nodetypes="cccccccc"
|
266
|
+
inkscape:export-filename="/home/thomas/work/webgen/doc/output/path2193.png"
|
267
|
+
inkscape:export-xdpi="91"
|
268
|
+
inkscape:export-ydpi="91" />
|
269
|
+
</g>
|
270
|
+
</g>
|
271
|
+
<text
|
272
|
+
sodipodi:linespacing="100%"
|
273
|
+
id="text9141"
|
274
|
+
y="9.8423424"
|
275
|
+
x="33.642422"
|
276
|
+
style="font-size:13.33380985px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#15172e;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Baekmuk Headline"
|
277
|
+
xml:space="preserve"
|
278
|
+
transform="scale(1.000075,0.999925)"><tspan
|
279
|
+
style="font-size:9.52414989px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;font-family:Baekmuk Headline"
|
280
|
+
y="9.8423424"
|
281
|
+
x="33.642422"
|
282
|
+
id="tspan9155"
|
283
|
+
sodipodi:role="line">generated by</tspan></text>
|
284
|
+
<text
|
285
|
+
sodipodi:linespacing="125%"
|
286
|
+
id="text9157"
|
287
|
+
y="23.938398"
|
288
|
+
x="33.202072"
|
289
|
+
style="font-size:19.04829979px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#15172e;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Baekmuk Headline"
|
290
|
+
xml:space="preserve"
|
291
|
+
transform="scale(1.000075,0.999925)"><tspan
|
292
|
+
style="font-size:19.04829979px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#15172e;fill-opacity:1;font-family:Baekmuk Headline"
|
293
|
+
y="23.938398"
|
294
|
+
x="33.202072"
|
295
|
+
id="tspan9159"
|
296
|
+
sodipodi:role="line">webgen</tspan></text>
|
297
|
+
<use
|
298
|
+
x="0"
|
299
|
+
y="0"
|
300
|
+
xlink:href="#g9199"
|
301
|
+
id="use9213"
|
302
|
+
transform="translate(2.006268,33.34173)"
|
303
|
+
width="100"
|
304
|
+
height="30"
|
305
|
+
inkscape:export-filename="/home/thomas/work/webgen/data/webgen/resources/images/webgen_logo.png"
|
306
|
+
inkscape:export-xdpi="221.8"
|
307
|
+
inkscape:export-ydpi="221.8" />
|
308
|
+
</g>
|
309
|
+
<g
|
310
|
+
inkscape:groupmode="layer"
|
311
|
+
id="layer2"
|
312
|
+
inkscape:label="offsets" />
|
313
|
+
</svg>
|
data/misc/style.page
CHANGED
@@ -23,7 +23,7 @@ Or it can be applied later on to an already existing website by using the follow
|
|
23
23
|
<dl>
|
24
24
|
<%
|
25
25
|
require 'webgen/websitemanager'
|
26
|
-
infos = Webgen::WebsiteManager.new(context.website).bundles[context.content_node.parent.cn]
|
26
|
+
infos = Webgen::WebsiteManager.new(context.website).bundles[context.content_node.parent.cn.chomp('/')]
|
27
27
|
infos.instance_eval {@table}.sort {|(ak,av), (bk,bv)| ak.to_s <=> bk.to_s}.each do |name, value|
|
28
28
|
next if name.to_s == 'paths'
|
29
29
|
%>
|
data/test/helper.rb
CHANGED
@@ -9,7 +9,7 @@ module Test
|
|
9
9
|
|
10
10
|
def setup
|
11
11
|
super
|
12
|
-
@website = Webgen::Website.new('test', nil)
|
12
|
+
@website = Webgen::Website.new('test', nil) {|cfg| cfg['passive_sources'] = []}
|
13
13
|
@website.init
|
14
14
|
Thread.current[:webgen_website] = @website
|
15
15
|
end
|
@@ -27,7 +27,7 @@ module Test
|
|
27
27
|
|
28
28
|
def create_sitemap_nodes
|
29
29
|
{
|
30
|
-
:root => root = Webgen::Node.new(
|
30
|
+
:root => root = Webgen::Node.new(@website.tree.dummy_root, '/', '/', {'index_path' => 'index.html'}),
|
31
31
|
:dir1 => dir1 = Webgen::Node.new(root, '/dir1/', 'dir1/'),
|
32
32
|
:file11_en => file11 = Webgen::Node.new(dir1, '/dir1/file11.en.html', 'file11.html', {'lang' => 'en', 'in_menu' => true, 'kind' => 'page'}),
|
33
33
|
:file11_en_f1 => file11_f1 = Webgen::Node.new(file11, '/dir1/file11.en.html#f1', '#f1', {'in_menu' => true}),
|
data/test/test_common_sitemap.rb
CHANGED
@@ -17,7 +17,7 @@ class TestCommonSitemap < Test::Unit::TestCase
|
|
17
17
|
end
|
18
18
|
|
19
19
|
def do_assert(node, lang, honor_in_menu, any_lang, used_kinds, result)
|
20
|
-
assert_equal(result.map {|name| @nodes[name].
|
20
|
+
assert_equal(result.map {|name| @nodes[name].alcn },
|
21
21
|
@obj.create_sitemap(node, lang, {
|
22
22
|
'common.sitemap.honor_in_menu' => honor_in_menu,
|
23
23
|
'common.sitemap.any_lang' => any_lang,
|
@@ -1,13 +1,16 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
2
|
|
3
3
|
require 'test/unit'
|
4
|
+
require 'helper'
|
4
5
|
require 'webgen/tree'
|
5
6
|
require 'webgen/page'
|
6
7
|
require 'webgen/contentprocessor'
|
7
8
|
|
8
9
|
class TestContentProcessorBlocks < Test::Unit::TestCase
|
9
10
|
|
10
|
-
|
11
|
+
include Test::WebsiteHelper
|
12
|
+
|
13
|
+
def test_call_and_render_node
|
11
14
|
obj = Webgen::ContentProcessor::Blocks.new
|
12
15
|
root = Webgen::Node.new(Webgen::Tree.new.dummy_root, '/', '/')
|
13
16
|
node = Webgen::Node.new(root, 'test', 'test')
|
@@ -20,7 +23,7 @@ class TestContentProcessorBlocks < Test::Unit::TestCase
|
|
20
23
|
context.content = '<webgen:block name="content" /><webgen:block name="content" chain="template;test" />'
|
21
24
|
obj.call(context)
|
22
25
|
assert_equal('databeforedataafter', context.content)
|
23
|
-
assert_equal(Set.new([node.
|
26
|
+
assert_equal(Set.new([node.alcn, template.alcn]), node.node_info[:used_nodes])
|
24
27
|
|
25
28
|
context.content = '<webgen:block name="content" node="next" /><webgen:block name="content" chain="template;test" />'
|
26
29
|
obj.call(context)
|
@@ -32,9 +35,11 @@ class TestContentProcessorBlocks < Test::Unit::TestCase
|
|
32
35
|
context.content = '<webgen:block name="content" chain="invalid" /><webgen:block name="content" />'
|
33
36
|
node.node_info[:used_nodes] = Set.new
|
34
37
|
context[:chain] = [node, template, node]
|
38
|
+
context.dest_node.unflag(:dirty)
|
35
39
|
obj.call(context)
|
36
|
-
assert_equal('
|
37
|
-
assert_equal(Set.new([template.
|
40
|
+
assert_equal('beforedataafter', context.content)
|
41
|
+
assert_equal(Set.new([template.alcn, node.alcn]), node.node_info[:used_nodes])
|
42
|
+
assert(context.dest_node.flagged?(:dirty))
|
38
43
|
|
39
44
|
context.content = 'bef<webgen:block name="other" chain="template;test" notfound="ignore" />aft'
|
40
45
|
obj.call(context)
|
@@ -63,6 +68,9 @@ class TestContentProcessorBlocks < Test::Unit::TestCase
|
|
63
68
|
context.content = '<webgen:block name="other" node="current" chain="template"/>'
|
64
69
|
obj.call(context)
|
65
70
|
assert_equal('other', context.content)
|
71
|
+
|
72
|
+
assert_equal('other', obj.render_block(context, :chain => [template], :name => 'other', :node => 'current'))
|
73
|
+
assert_equal('beforedataafter', obj.render_block(context, :chain => [template, node], :name => 'content', :node => 'first'))
|
66
74
|
end
|
67
75
|
|
68
76
|
end
|