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.
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