gettalong-webgen 0.5.8.20090507 → 0.5.9.20090620

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.
Files changed (104) hide show
  1. data/Rakefile +5 -6
  2. data/data/webgen/passive_sources/images/generated_by_webgen.png +0 -0
  3. data/data/webgen/passive_sources/images/webgen_logo.png +0 -0
  4. data/data/webgen/passive_sources/templates/atom_feed.template +38 -0
  5. data/data/webgen/passive_sources/templates/rss_feed.template +28 -0
  6. data/data/webgen/resources.yaml +2 -1
  7. data/doc/contentprocessor/builder.page +1 -1
  8. data/doc/contentprocessor/erb.page +5 -2
  9. data/doc/contentprocessor/erubis.page +2 -2
  10. data/doc/extensions.page +1 -1
  11. data/doc/manual.page +56 -26
  12. data/doc/reference_configuration.page +36 -1
  13. data/doc/reference_website_styles.page +1 -1
  14. data/doc/sourcehandler/feed.page +6 -11
  15. data/doc/tag/includefile.page +1 -1
  16. data/lib/webgen/cli/apply_command.rb +1 -1
  17. data/lib/webgen/cli/utils.rb +2 -2
  18. data/lib/webgen/common.rb +0 -9
  19. data/lib/webgen/contentprocessor/blocks.rb +60 -36
  20. data/lib/webgen/contentprocessor/builder.rb +2 -2
  21. data/lib/webgen/contentprocessor/erb.rb +3 -2
  22. data/lib/webgen/contentprocessor/erubis.rb +2 -2
  23. data/lib/webgen/contentprocessor/haml.rb +2 -2
  24. data/lib/webgen/contentprocessor/maruku.rb +1 -1
  25. data/lib/webgen/contentprocessor/sass.rb +2 -2
  26. data/lib/webgen/contentprocessor/tags.rb +25 -11
  27. data/lib/webgen/context.rb +4 -1
  28. data/lib/webgen/context/render.rb +32 -0
  29. data/lib/webgen/context/tags.rb +20 -0
  30. data/lib/webgen/default_config.rb +4 -1
  31. data/lib/webgen/deprecated.rb +37 -4
  32. data/lib/webgen/node.rb +37 -38
  33. data/lib/webgen/path.rb +151 -54
  34. data/lib/webgen/source.rb +6 -6
  35. data/lib/webgen/source/stacked.rb +13 -5
  36. data/lib/webgen/sourcehandler.rb +71 -45
  37. data/lib/webgen/sourcehandler/base.rb +51 -21
  38. data/lib/webgen/sourcehandler/copy.rb +4 -4
  39. data/lib/webgen/sourcehandler/directory.rb +3 -9
  40. data/lib/webgen/sourcehandler/feed.rb +23 -49
  41. data/lib/webgen/sourcehandler/fragment.rb +10 -8
  42. data/lib/webgen/sourcehandler/memory.rb +9 -10
  43. data/lib/webgen/sourcehandler/metainfo.rb +9 -9
  44. data/lib/webgen/sourcehandler/page.rb +5 -5
  45. data/lib/webgen/sourcehandler/sitemap.rb +3 -3
  46. data/lib/webgen/sourcehandler/template.rb +6 -6
  47. data/lib/webgen/sourcehandler/virtual.rb +19 -17
  48. data/lib/webgen/tag/base.rb +34 -26
  49. data/lib/webgen/tag/breadcrumbtrail.rb +3 -3
  50. data/lib/webgen/tag/executecommand.rb +3 -3
  51. data/lib/webgen/tag/langbar.rb +2 -2
  52. data/lib/webgen/tag/link.rb +3 -3
  53. data/lib/webgen/tag/menu.rb +2 -2
  54. data/lib/webgen/tag/metainfo.rb +1 -1
  55. data/lib/webgen/tag/relocatable.rb +17 -21
  56. data/lib/webgen/tag/tikz.rb +5 -6
  57. data/lib/webgen/tree.rb +7 -7
  58. data/lib/webgen/version.rb +1 -1
  59. data/lib/webgen/website.rb +4 -2
  60. data/misc/default.css +8 -2
  61. data/misc/default.template +2 -2
  62. data/misc/logo.svg +313 -0
  63. data/misc/style.page +1 -1
  64. data/test/helper.rb +2 -2
  65. data/test/test_common_sitemap.rb +1 -1
  66. data/test/test_contentprocessor_blocks.rb +12 -4
  67. data/test/test_contentprocessor_builder.rb +2 -1
  68. data/test/test_contentprocessor_erb.rb +2 -1
  69. data/test/test_contentprocessor_erubis.rb +1 -1
  70. data/test/test_contentprocessor_fragments.rb +12 -11
  71. data/test/test_contentprocessor_haml.rb +2 -1
  72. data/test/test_contentprocessor_maruku.rb +1 -0
  73. data/test/test_contentprocessor_rdiscount.rb +1 -0
  74. data/test/test_contentprocessor_rdoc.rb +1 -0
  75. data/test/test_contentprocessor_sass.rb +1 -0
  76. data/test/test_contentprocessor_tags.rb +13 -0
  77. data/test/test_context.rb +28 -0
  78. data/test/test_node.rb +40 -20
  79. data/test/test_path.rb +106 -65
  80. data/test/test_source_filesystem.rb +1 -1
  81. data/test/test_source_stacked.rb +19 -6
  82. data/test/test_sourcehandler_base.rb +53 -47
  83. data/test/test_sourcehandler_copy.rb +6 -6
  84. data/test/test_sourcehandler_directory.rb +8 -12
  85. data/test/test_sourcehandler_feed.rb +10 -6
  86. data/test/test_sourcehandler_fragment.rb +6 -5
  87. data/test/test_sourcehandler_main.rb +39 -0
  88. data/test/test_sourcehandler_memory.rb +4 -4
  89. data/test/test_sourcehandler_metainfo.rb +10 -10
  90. data/test/test_sourcehandler_page.rb +9 -9
  91. data/test/test_sourcehandler_sitemap.rb +4 -4
  92. data/test/test_sourcehandler_template.rb +14 -14
  93. data/test/test_sourcehandler_virtual.rb +9 -5
  94. data/test/test_tag_base.rb +2 -2
  95. data/test/test_tag_executecommand.rb +1 -1
  96. data/test/test_tag_link.rb +4 -3
  97. data/test/test_tag_menu.rb +15 -15
  98. data/test/test_tag_metainfo.rb +1 -0
  99. data/test/test_tag_relocatable.rb +2 -1
  100. data/test/test_tag_tikz.rb +3 -3
  101. data/test/test_tree.rb +8 -8
  102. data/test/test_website.rb +15 -0
  103. metadata +14 -14
  104. data/test/test_common.rb +0 -18
@@ -3,6 +3,6 @@
3
3
  module Webgen
4
4
 
5
5
  # The version of webgen.
6
- VERSION = '0.5.8'
6
+ VERSION = '0.5.9'
7
7
 
8
8
  end
@@ -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 unless @config
247
+ init
246
248
 
247
249
  puts "Starting webgen..."
248
250
  shm = SourceHandler::Main.new
249
- result = shm.render(@tree)
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: 20px;
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: 35px;
197
+ top: 65px; left: 115px;
192
198
  }
193
199
 
194
200
  /* header menu */
@@ -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 - {title:}</title>
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(Webgen::Tree.new.dummy_root, '/', '/', {'index_path' => 'index.html'}),
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}),
@@ -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].absolute_lcn },
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
- def test_process
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.absolute_lcn, template.absolute_lcn]), node.node_info[:used_nodes])
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('<webgen:block name="content" chain="invalid" />beforedataafter', context.content)
37
- assert_equal(Set.new([template.absolute_lcn, node.absolute_lcn]), node.node_info[:used_nodes])
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