webgen 0.3.8 → 0.4.0

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 (618) hide show
  1. data/ChangeLog +2565 -14
  2. data/README +4 -6
  3. data/Rakefile +207 -89
  4. data/TODO +175 -17
  5. data/VERSION +1 -1
  6. data/bin/webgen +1 -2
  7. data/data/webgen/gallery-creator/default.png +0 -0
  8. data/data/webgen/gallery_styles/default/README +6 -0
  9. data/data/webgen/gallery_styles/default/gallery_gallery.template +38 -0
  10. data/data/webgen/gallery_styles/default/gallery_image.template +30 -0
  11. data/data/webgen/gallery_styles/default/gallery_main.template +18 -0
  12. data/data/webgen/gallery_styles/slides/README +18 -0
  13. data/data/webgen/gallery_styles/slides/collage.rb +334 -0
  14. data/data/webgen/gallery_styles/slides/gallery_gallery.template +62 -0
  15. data/data/webgen/gallery_styles/slides/gallery_image.template +53 -0
  16. data/data/webgen/gallery_styles/slides/gallery_main.template +32 -0
  17. data/data/webgen/resources/images/generated_by_webgen.png +0 -0
  18. data/data/webgen/resources/images/webgen_logo.png +0 -0
  19. data/data/webgen/website_styles/1024px/README +10 -0
  20. data/data/webgen/website_styles/1024px/default.css +188 -0
  21. data/data/webgen/website_styles/1024px/default.template +62 -0
  22. data/data/webgen/website_styles/1024px/images/background.gif +0 -0
  23. data/data/webgen/website_styles/andreas00/README +10 -0
  24. data/data/webgen/website_styles/andreas00/default.css +290 -0
  25. data/data/webgen/website_styles/andreas00/default.template +62 -0
  26. data/data/webgen/website_styles/andreas00/images/bg.gif +0 -0
  27. data/data/webgen/website_styles/andreas00/images/front.jpg +0 -0
  28. data/data/webgen/website_styles/andreas00/images/menubg.gif +0 -0
  29. data/data/webgen/website_styles/andreas00/images/menubg2.gif +0 -0
  30. data/data/webgen/website_styles/andreas01/README +11 -0
  31. data/data/webgen/website_styles/andreas01/default.css +310 -0
  32. data/data/webgen/website_styles/andreas01/default.template +63 -0
  33. data/data/webgen/website_styles/andreas01/images/bg.gif +0 -0
  34. data/data/webgen/website_styles/andreas01/images/front.jpg +0 -0
  35. data/data/webgen/website_styles/andreas01/print.css +35 -0
  36. data/data/webgen/website_styles/andreas03/README +11 -0
  37. data/data/webgen/website_styles/andreas03/default.css +223 -0
  38. data/data/webgen/website_styles/andreas03/default.template +60 -0
  39. data/data/webgen/website_styles/andreas03/images/bodybg.png +0 -0
  40. data/data/webgen/website_styles/andreas03/images/contbg.png +0 -0
  41. data/data/webgen/website_styles/andreas03/images/footerbg.png +0 -0
  42. data/data/webgen/website_styles/andreas03/images/gradient1.png +0 -0
  43. data/data/webgen/website_styles/andreas03/images/gradient2.png +0 -0
  44. data/data/webgen/website_styles/andreas04/README +12 -0
  45. data/data/webgen/website_styles/andreas04/default.css +290 -0
  46. data/data/webgen/website_styles/andreas04/default.template +83 -0
  47. data/data/webgen/website_styles/andreas04/images/blinkarrow.gif +0 -0
  48. data/data/webgen/website_styles/andreas04/images/bodybg.png +0 -0
  49. data/data/webgen/website_styles/andreas04/images/contentbg.png +0 -0
  50. data/data/webgen/website_styles/andreas04/images/entrybg.png +0 -0
  51. data/data/webgen/website_styles/andreas04/images/flash.gif +0 -0
  52. data/data/webgen/website_styles/andreas04/images/flash2.gif +0 -0
  53. data/data/webgen/website_styles/andreas04/images/globe.gif +0 -0
  54. data/data/webgen/website_styles/andreas04/images/globebottom.gif +0 -0
  55. data/data/webgen/website_styles/andreas04/images/linkarrow.gif +0 -0
  56. data/data/webgen/website_styles/andreas04/images/menuhover.png +0 -0
  57. data/data/webgen/website_styles/andreas05/README +11 -0
  58. data/data/webgen/website_styles/andreas05/default.css +33 -0
  59. data/data/webgen/website_styles/andreas05/default.template +42 -0
  60. data/data/webgen/website_styles/andreas05/images/bodybg.gif +0 -0
  61. data/data/webgen/website_styles/andreas05/images/front.png +0 -0
  62. data/data/webgen/website_styles/andreas06/README +11 -0
  63. data/data/webgen/website_styles/andreas06/default.css +353 -0
  64. data/data/webgen/website_styles/andreas06/default.template +72 -0
  65. data/data/webgen/website_styles/andreas06/images/bodybg.gif +0 -0
  66. data/data/webgen/website_styles/andreas06/images/boxbg.gif +0 -0
  67. data/data/webgen/website_styles/andreas06/images/greypx.gif +0 -0
  68. data/data/webgen/website_styles/andreas06/images/header.jpg +0 -0
  69. data/data/webgen/website_styles/andreas06/images/innerbg.gif +0 -0
  70. data/data/webgen/website_styles/andreas06/images/leaves.jpg +0 -0
  71. data/data/webgen/website_styles/andreas06/images/tabs.gif +0 -0
  72. data/data/webgen/website_styles/andreas07/README +12 -0
  73. data/data/webgen/website_styles/andreas07/browserfix.css +7 -0
  74. data/data/webgen/website_styles/andreas07/default.css +92 -0
  75. data/data/webgen/website_styles/andreas07/default.template +44 -0
  76. data/data/webgen/website_styles/andreas07/images/bodybg.gif +0 -0
  77. data/data/webgen/website_styles/andreas07/images/sidebarbg.gif +0 -0
  78. data/data/webgen/website_styles/andreas08/README +11 -0
  79. data/data/webgen/website_styles/andreas08/default.css +224 -0
  80. data/data/webgen/website_styles/andreas08/default.template +53 -0
  81. data/data/webgen/website_styles/andreas09/README +11 -0
  82. data/data/webgen/website_styles/andreas09/default.css +308 -0
  83. data/data/webgen/website_styles/andreas09/default.template +70 -0
  84. data/data/webgen/website_styles/andreas09/images/bodybg-black.jpg +0 -0
  85. data/data/webgen/website_styles/andreas09/images/bodybg-green.jpg +0 -0
  86. data/data/webgen/website_styles/andreas09/images/bodybg-orange.jpg +0 -0
  87. data/data/webgen/website_styles/andreas09/images/bodybg-purple.jpg +0 -0
  88. data/data/webgen/website_styles/andreas09/images/bodybg-red.jpg +0 -0
  89. data/data/webgen/website_styles/andreas09/images/bodybg.jpg +0 -0
  90. data/data/webgen/website_styles/andreas09/images/footerbg.jpg +0 -0
  91. data/data/webgen/website_styles/andreas09/images/menuhover-black.jpg +0 -0
  92. data/data/webgen/website_styles/andreas09/images/menuhover-green.jpg +0 -0
  93. data/data/webgen/website_styles/andreas09/images/menuhover-orange.jpg +0 -0
  94. data/data/webgen/website_styles/andreas09/images/menuhover-purple.jpg +0 -0
  95. data/data/webgen/website_styles/andreas09/images/menuhover-red.jpg +0 -0
  96. data/data/webgen/website_styles/andreas09/images/menuhover.jpg +0 -0
  97. data/data/webgen/website_styles/default/README +6 -0
  98. data/data/webgen/website_styles/default/default.css +1 -1
  99. data/data/webgen/website_styles/default/default.template +9 -3
  100. data/data/webgen/website_styles/plain/README +12 -0
  101. data/data/webgen/website_styles/plain/default.css +244 -0
  102. data/data/webgen/website_styles/plain/default.template +63 -0
  103. data/data/webgen/website_styles/plain/images/a_hover.jpg +0 -0
  104. data/data/webgen/website_styles/plain/images/desc.jpg +0 -0
  105. data/data/webgen/website_styles/plain/images/li.gif +0 -0
  106. data/data/webgen/website_styles/plain/images/mainbar.jpg +0 -0
  107. data/data/webgen/website_styles/plain/images/menu.jpg +0 -0
  108. data/data/webgen/website_styles/plain/images/submenua.gif +0 -0
  109. data/data/webgen/website_styles/plain/images/submenua_hover.jpg +0 -0
  110. data/data/webgen/website_templates/default/README +7 -5
  111. data/data/webgen/website_templates/personal_hp/README +7 -5
  112. data/data/webgen/website_templates/project/README +8 -6
  113. data/doc/config.yaml +2 -2
  114. data/doc/examples/website_styles/1024px/README +9 -0
  115. data/doc/examples/website_styles/1024px/config.yaml +2 -0
  116. data/doc/examples/website_styles/1024px/src/about.page +12 -0
  117. data/doc/examples/website_styles/1024px/src/default.css +188 -0
  118. data/doc/examples/website_styles/1024px/src/default.template +62 -0
  119. data/doc/examples/website_styles/1024px/src/download.page +15 -0
  120. data/doc/examples/website_styles/1024px/src/features.page +8 -0
  121. data/doc/examples/website_styles/1024px/src/images/background.gif +0 -0
  122. data/doc/examples/website_styles/1024px/src/index.page +9 -0
  123. data/doc/examples/website_styles/1024px/src/screenshots.page +18 -0
  124. data/doc/examples/website_styles/andreas00/README +9 -0
  125. data/doc/examples/website_styles/andreas00/config.yaml +2 -0
  126. data/doc/examples/website_styles/andreas00/src/about.page +12 -0
  127. data/doc/examples/website_styles/andreas00/src/default.css +290 -0
  128. data/doc/examples/website_styles/andreas00/src/default.template +62 -0
  129. data/doc/examples/website_styles/andreas00/src/download.page +15 -0
  130. data/doc/examples/website_styles/andreas00/src/features.page +8 -0
  131. data/doc/examples/website_styles/andreas00/src/images/bg.gif +0 -0
  132. data/doc/examples/website_styles/andreas00/src/images/front.jpg +0 -0
  133. data/doc/examples/website_styles/andreas00/src/images/menubg.gif +0 -0
  134. data/doc/examples/website_styles/andreas00/src/images/menubg2.gif +0 -0
  135. data/doc/examples/website_styles/andreas00/src/index.page +9 -0
  136. data/doc/examples/website_styles/andreas00/src/screenshots.page +18 -0
  137. data/doc/examples/website_styles/andreas01/README +9 -0
  138. data/doc/examples/website_styles/andreas01/config.yaml +2 -0
  139. data/doc/examples/website_styles/andreas01/src/about.page +12 -0
  140. data/doc/examples/website_styles/andreas01/src/default.css +310 -0
  141. data/doc/examples/website_styles/andreas01/src/default.template +63 -0
  142. data/doc/examples/website_styles/andreas01/src/download.page +15 -0
  143. data/doc/examples/website_styles/andreas01/src/features.page +8 -0
  144. data/doc/examples/website_styles/andreas01/src/images/bg.gif +0 -0
  145. data/doc/examples/website_styles/andreas01/src/images/front.jpg +0 -0
  146. data/doc/examples/website_styles/andreas01/src/index.page +9 -0
  147. data/doc/examples/website_styles/andreas01/src/print.css +35 -0
  148. data/doc/examples/website_styles/andreas01/src/screenshots.page +18 -0
  149. data/doc/examples/website_styles/andreas03/README +9 -0
  150. data/doc/examples/website_styles/andreas03/config.yaml +2 -0
  151. data/doc/examples/website_styles/andreas03/src/about.page +12 -0
  152. data/doc/examples/website_styles/andreas03/src/default.css +223 -0
  153. data/doc/examples/website_styles/andreas03/src/default.template +60 -0
  154. data/doc/examples/website_styles/andreas03/src/download.page +15 -0
  155. data/doc/examples/website_styles/andreas03/src/features.page +8 -0
  156. data/doc/examples/website_styles/andreas03/src/images/bodybg.png +0 -0
  157. data/doc/examples/website_styles/andreas03/src/images/contbg.png +0 -0
  158. data/doc/examples/website_styles/andreas03/src/images/footerbg.png +0 -0
  159. data/doc/examples/website_styles/andreas03/src/images/gradient1.png +0 -0
  160. data/doc/examples/website_styles/andreas03/src/images/gradient2.png +0 -0
  161. data/doc/examples/website_styles/andreas03/src/index.page +9 -0
  162. data/doc/examples/website_styles/andreas03/src/screenshots.page +18 -0
  163. data/doc/examples/website_styles/andreas04/README +9 -0
  164. data/doc/examples/website_styles/andreas04/config.yaml +2 -0
  165. data/doc/examples/website_styles/andreas04/src/about.page +12 -0
  166. data/doc/examples/website_styles/andreas04/src/default.css +290 -0
  167. data/doc/examples/website_styles/andreas04/src/default.template +83 -0
  168. data/doc/examples/website_styles/andreas04/src/download.page +15 -0
  169. data/doc/examples/website_styles/andreas04/src/features.page +8 -0
  170. data/doc/examples/website_styles/andreas04/src/images/blinkarrow.gif +0 -0
  171. data/doc/examples/website_styles/andreas04/src/images/bodybg.png +0 -0
  172. data/doc/examples/website_styles/andreas04/src/images/contentbg.png +0 -0
  173. data/doc/examples/website_styles/andreas04/src/images/entrybg.png +0 -0
  174. data/doc/examples/website_styles/andreas04/src/images/flash.gif +0 -0
  175. data/doc/examples/website_styles/andreas04/src/images/flash2.gif +0 -0
  176. data/doc/examples/website_styles/andreas04/src/images/globe.gif +0 -0
  177. data/doc/examples/website_styles/andreas04/src/images/globebottom.gif +0 -0
  178. data/doc/examples/website_styles/andreas04/src/images/linkarrow.gif +0 -0
  179. data/doc/examples/website_styles/andreas04/src/images/menuhover.png +0 -0
  180. data/doc/examples/website_styles/andreas04/src/index.page +9 -0
  181. data/doc/examples/website_styles/andreas04/src/screenshots.page +18 -0
  182. data/doc/examples/website_styles/andreas05/README +9 -0
  183. data/doc/examples/website_styles/andreas05/config.yaml +2 -0
  184. data/doc/examples/website_styles/andreas05/src/about.page +12 -0
  185. data/doc/examples/website_styles/andreas05/src/default.css +33 -0
  186. data/doc/examples/website_styles/andreas05/src/default.template +42 -0
  187. data/doc/examples/website_styles/andreas05/src/download.page +15 -0
  188. data/doc/examples/website_styles/andreas05/src/features.page +8 -0
  189. data/doc/examples/website_styles/andreas05/src/images/bodybg.gif +0 -0
  190. data/doc/examples/website_styles/andreas05/src/images/front.png +0 -0
  191. data/doc/examples/website_styles/andreas05/src/index.page +9 -0
  192. data/doc/examples/website_styles/andreas05/src/screenshots.page +18 -0
  193. data/doc/examples/website_styles/andreas06/README +9 -0
  194. data/doc/examples/website_styles/andreas06/config.yaml +2 -0
  195. data/doc/examples/website_styles/andreas06/src/about.page +12 -0
  196. data/doc/examples/website_styles/andreas06/src/default.css +353 -0
  197. data/doc/examples/website_styles/andreas06/src/default.template +72 -0
  198. data/doc/examples/website_styles/andreas06/src/download.page +15 -0
  199. data/doc/examples/website_styles/andreas06/src/features.page +8 -0
  200. data/doc/examples/website_styles/andreas06/src/images/bodybg.gif +0 -0
  201. data/doc/examples/website_styles/andreas06/src/images/boxbg.gif +0 -0
  202. data/doc/examples/website_styles/andreas06/src/images/greypx.gif +0 -0
  203. data/doc/examples/website_styles/andreas06/src/images/header.jpg +0 -0
  204. data/doc/examples/website_styles/andreas06/src/images/innerbg.gif +0 -0
  205. data/doc/examples/website_styles/andreas06/src/images/leaves.jpg +0 -0
  206. data/doc/examples/website_styles/andreas06/src/images/tabs.gif +0 -0
  207. data/doc/examples/website_styles/andreas06/src/index.page +9 -0
  208. data/doc/examples/website_styles/andreas06/src/screenshots.page +18 -0
  209. data/doc/examples/website_styles/andreas07/README +9 -0
  210. data/doc/examples/website_styles/andreas07/config.yaml +2 -0
  211. data/doc/examples/website_styles/andreas07/src/about.page +12 -0
  212. data/doc/examples/website_styles/andreas07/src/browserfix.css +7 -0
  213. data/doc/examples/website_styles/andreas07/src/default.css +92 -0
  214. data/doc/examples/website_styles/andreas07/src/default.template +44 -0
  215. data/doc/examples/website_styles/andreas07/src/download.page +15 -0
  216. data/doc/examples/website_styles/andreas07/src/features.page +8 -0
  217. data/doc/examples/website_styles/andreas07/src/images/bodybg.gif +0 -0
  218. data/doc/examples/website_styles/andreas07/src/images/sidebarbg.gif +0 -0
  219. data/doc/examples/website_styles/andreas07/src/index.page +9 -0
  220. data/doc/examples/website_styles/andreas07/src/screenshots.page +18 -0
  221. data/doc/examples/website_styles/andreas08/README +9 -0
  222. data/doc/examples/website_styles/andreas08/config.yaml +2 -0
  223. data/doc/examples/website_styles/andreas08/src/about.page +12 -0
  224. data/doc/examples/website_styles/andreas08/src/default.css +224 -0
  225. data/doc/examples/website_styles/andreas08/src/default.template +53 -0
  226. data/doc/examples/website_styles/andreas08/src/download.page +15 -0
  227. data/doc/examples/website_styles/andreas08/src/features.page +8 -0
  228. data/doc/examples/website_styles/andreas08/src/index.page +9 -0
  229. data/doc/examples/website_styles/andreas08/src/screenshots.page +18 -0
  230. data/doc/examples/website_styles/andreas09/README +9 -0
  231. data/doc/examples/website_styles/andreas09/config.yaml +2 -0
  232. data/doc/examples/website_styles/andreas09/src/about.page +12 -0
  233. data/doc/examples/website_styles/andreas09/src/default.css +308 -0
  234. data/doc/examples/website_styles/andreas09/src/default.template +70 -0
  235. data/doc/examples/website_styles/andreas09/src/download.page +15 -0
  236. data/doc/examples/website_styles/andreas09/src/features.page +8 -0
  237. data/doc/examples/website_styles/andreas09/src/images/bodybg-black.jpg +0 -0
  238. data/doc/examples/website_styles/andreas09/src/images/bodybg-green.jpg +0 -0
  239. data/doc/examples/website_styles/andreas09/src/images/bodybg-orange.jpg +0 -0
  240. data/doc/examples/website_styles/andreas09/src/images/bodybg-purple.jpg +0 -0
  241. data/doc/examples/website_styles/andreas09/src/images/bodybg-red.jpg +0 -0
  242. data/doc/examples/website_styles/andreas09/src/images/bodybg.jpg +0 -0
  243. data/doc/examples/website_styles/andreas09/src/images/footerbg.jpg +0 -0
  244. data/doc/examples/website_styles/andreas09/src/images/menuhover-black.jpg +0 -0
  245. data/doc/examples/website_styles/andreas09/src/images/menuhover-green.jpg +0 -0
  246. data/doc/examples/website_styles/andreas09/src/images/menuhover-orange.jpg +0 -0
  247. data/doc/examples/website_styles/andreas09/src/images/menuhover-purple.jpg +0 -0
  248. data/doc/examples/website_styles/andreas09/src/images/menuhover-red.jpg +0 -0
  249. data/doc/examples/website_styles/andreas09/src/images/menuhover.jpg +0 -0
  250. data/doc/examples/website_styles/andreas09/src/index.page +9 -0
  251. data/doc/examples/website_styles/andreas09/src/screenshots.page +18 -0
  252. data/doc/examples/website_styles/default/README +9 -0
  253. data/doc/examples/website_styles/default/config.yaml +2 -0
  254. data/doc/examples/website_styles/default/src/about.page +12 -0
  255. data/doc/examples/website_styles/default/src/default.css +84 -0
  256. data/doc/examples/website_styles/default/src/default.template +38 -0
  257. data/doc/examples/website_styles/default/src/download.page +15 -0
  258. data/doc/examples/website_styles/default/src/features.page +8 -0
  259. data/doc/examples/website_styles/default/src/index.page +9 -0
  260. data/doc/examples/website_styles/default/src/screenshots.page +18 -0
  261. data/doc/examples/website_styles/plain/README +9 -0
  262. data/doc/examples/website_styles/plain/config.yaml +2 -0
  263. data/doc/examples/website_styles/plain/src/about.page +12 -0
  264. data/doc/examples/website_styles/plain/src/default.css +244 -0
  265. data/doc/examples/website_styles/plain/src/default.template +63 -0
  266. data/doc/examples/website_styles/plain/src/download.page +15 -0
  267. data/doc/examples/website_styles/plain/src/features.page +8 -0
  268. data/doc/examples/website_styles/plain/src/images/a_hover.jpg +0 -0
  269. data/doc/examples/website_styles/plain/src/images/desc.jpg +0 -0
  270. data/doc/examples/website_styles/plain/src/images/li.gif +0 -0
  271. data/doc/examples/website_styles/plain/src/images/mainbar.jpg +0 -0
  272. data/doc/examples/website_styles/plain/src/images/menu.jpg +0 -0
  273. data/doc/examples/website_styles/plain/src/images/submenua.gif +0 -0
  274. data/doc/examples/website_styles/plain/src/images/submenua_hover.jpg +0 -0
  275. data/doc/examples/website_styles/plain/src/index.page +9 -0
  276. data/doc/examples/website_styles/plain/src/screenshots.page +18 -0
  277. data/doc/examples/website_templates/default/README +8 -0
  278. data/doc/examples/website_templates/default/config.yaml +2 -0
  279. data/doc/examples/website_templates/default/src/default.css +84 -0
  280. data/doc/examples/website_templates/default/src/default.template +38 -0
  281. data/doc/examples/website_templates/default/src/index.page +8 -0
  282. data/doc/examples/website_templates/personal_hp/README +8 -0
  283. data/doc/examples/website_templates/personal_hp/config.yaml +2 -0
  284. data/doc/examples/website_templates/personal_hp/src/about.page +12 -0
  285. data/doc/examples/website_templates/personal_hp/src/default.css +84 -0
  286. data/doc/examples/website_templates/personal_hp/src/default.template +38 -0
  287. data/doc/examples/website_templates/personal_hp/src/index.page +9 -0
  288. data/doc/examples/website_templates/personal_hp/src/links.page +22 -0
  289. data/doc/examples/website_templates/personal_hp/src/projects.page +20 -0
  290. data/doc/examples/website_templates/project/README +9 -0
  291. data/doc/examples/website_templates/project/config.yaml +2 -0
  292. data/doc/examples/website_templates/project/src/about.page +12 -0
  293. data/doc/examples/website_templates/project/src/default.css +84 -0
  294. data/doc/examples/website_templates/project/src/default.template +38 -0
  295. data/doc/examples/website_templates/project/src/download.page +15 -0
  296. data/doc/examples/website_templates/project/src/features.page +8 -0
  297. data/doc/examples/website_templates/project/src/index.page +9 -0
  298. data/doc/examples/website_templates/project/src/screenshots.page +18 -0
  299. data/doc/metainfo.yaml +85 -0
  300. data/doc/plugin/emoticon.rb +19 -21
  301. data/doc/plugin/extension.rb +134 -55
  302. data/doc/plugin/gallery/slides/collage.rb +334 -0
  303. data/doc/plugin/listpluginparameters.rb +24 -26
  304. data/doc/plugin/resources.rb +20 -22
  305. data/doc/src/default.css +333 -154
  306. data/doc/src/default.template +92 -39
  307. data/doc/src/documentation/extending_webgen.page +1 -2
  308. data/doc/src/documentation/gettingstarted.page +161 -44
  309. data/doc/src/documentation/index.page +15 -28
  310. data/doc/src/documentation/plugins/contentconverter/default.page +15 -0
  311. data/doc/src/documentation/plugins/contentconverter/html.page +10 -0
  312. data/doc/src/documentation/plugins/contentconverter/markdown.page +21 -0
  313. data/doc/src/documentation/plugins/contentconverter/rdoc.page +11 -0
  314. data/doc/src/documentation/plugins/contentconverter/textile.page +21 -0
  315. data/doc/src/documentation/plugins/contentconverter/xmlbuilder.page +61 -0
  316. data/doc/src/documentation/plugins/core/configuration.page +11 -0
  317. data/doc/src/documentation/plugins/core/filehandler.page +214 -0
  318. data/doc/src/documentation/plugins/core/index.page +11 -0
  319. data/doc/src/documentation/plugins/core/resourcemanager.page +46 -0
  320. data/doc/src/documentation/plugins/core/tagprocessor.page +17 -0
  321. data/doc/src/documentation/plugins/file/copyhandler.page +26 -0
  322. data/doc/src/documentation/plugins/file/defaulthandler.page +15 -0
  323. data/doc/src/documentation/plugins/file/directoryhandler.page +37 -0
  324. data/doc/src/documentation/plugins/file/galleryhandler.page +181 -0
  325. data/doc/src/documentation/plugins/file/pagehandler.page +154 -0
  326. data/doc/src/documentation/plugins/file/templatehandler.page +34 -0
  327. data/doc/src/documentation/plugins/file/thumbnailwriter.page +39 -0
  328. data/doc/src/documentation/plugins/htmlvalidator/default.page +12 -0
  329. data/doc/src/documentation/plugins/htmlvalidator/xmllint.page +12 -0
  330. data/doc/src/documentation/plugins/index.page +32 -11
  331. data/doc/src/documentation/plugins/menustyle/default.page +19 -0
  332. data/doc/src/documentation/plugins/menustyle/horizontal.page +32 -0
  333. data/doc/src/documentation/plugins/{menustyles → menustyle}/horizontaldropdown.page +25 -19
  334. data/doc/src/documentation/plugins/menustyle/section.page +34 -0
  335. data/doc/src/documentation/plugins/menustyle/vertical.page +48 -0
  336. data/doc/src/documentation/plugins/menustyle/verticaldropdown.page +29 -0
  337. data/doc/src/documentation/plugins/misc/index.page +9 -0
  338. data/doc/src/documentation/plugins/{miscplugins → misc}/smileyreplacer.page +15 -14
  339. data/doc/src/documentation/plugins/misc/syntaxhighlighter.page +26 -0
  340. data/doc/src/documentation/plugins/tag/block.page +29 -0
  341. data/doc/src/documentation/plugins/tag/breadcrumbtrail.page +29 -0
  342. data/doc/src/documentation/plugins/tag/date.page +34 -0
  343. data/doc/src/documentation/plugins/tag/default.page +27 -0
  344. data/doc/src/documentation/plugins/tag/download.page +60 -0
  345. data/doc/src/documentation/plugins/tag/executecommand.page +29 -0
  346. data/doc/src/documentation/plugins/tag/includefile.page +30 -0
  347. data/doc/src/documentation/plugins/{tags → tag}/langbar.de.page +1 -1
  348. data/doc/src/documentation/plugins/tag/langbar.fr.page +6 -0
  349. data/doc/src/documentation/plugins/tag/langbar.page +41 -0
  350. data/doc/src/documentation/plugins/tag/menu.page +78 -0
  351. data/doc/src/documentation/plugins/{tags → tag}/meta.page +8 -7
  352. data/doc/src/documentation/plugins/tag/relocatable.page +46 -0
  353. data/doc/src/documentation/plugins/tag/resource.page +35 -0
  354. data/doc/src/documentation/plugins/tag/sitemap.page +35 -0
  355. data/doc/src/documentation/plugins/tag/wikilink.page +33 -0
  356. data/doc/src/documentation/references/index.page +0 -1
  357. data/doc/src/documentation/references/meta_info_reference.page +90 -13
  358. data/doc/src/documentation/references/parameter_reference.page +0 -1
  359. data/doc/src/documentation/references/webpage_format.page +249 -0
  360. data/doc/src/download.page +50 -21
  361. data/doc/src/examples/gallery_styles/default/default.gallery +78 -0
  362. data/doc/src/examples/gallery_styles/default/gallery_gallery.template +38 -0
  363. data/doc/src/examples/gallery_styles/default/gallery_image.template +30 -0
  364. data/doc/src/examples/gallery_styles/default/gallery_main.template +18 -0
  365. data/doc/src/examples/gallery_styles/index.page +22 -0
  366. data/doc/src/examples/gallery_styles/slides/gallery_gallery.template +62 -0
  367. data/doc/src/examples/gallery_styles/slides/gallery_image.template +53 -0
  368. data/doc/src/examples/gallery_styles/slides/gallery_main.template +32 -0
  369. data/doc/src/examples/gallery_styles/slides/slides.gallery +79 -0
  370. data/doc/src/examples/images/image01.jpg +0 -0
  371. data/doc/src/examples/images/image02.jpg +0 -0
  372. data/doc/src/examples/images/image03.jpg +0 -0
  373. data/doc/src/examples/images/image04.jpg +0 -0
  374. data/doc/src/examples/images/image05.jpg +0 -0
  375. data/doc/src/examples/images/image06.jpg +0 -0
  376. data/doc/src/examples/images/image07.jpg +0 -0
  377. data/doc/src/examples/images/image08.jpg +0 -0
  378. data/doc/src/examples/images/image09.jpg +0 -0
  379. data/doc/src/examples/images/image10.jpg +0 -0
  380. data/doc/src/examples/images/image11.jpg +0 -0
  381. data/doc/src/examples/images/image12.jpg +0 -0
  382. data/doc/src/examples/images/image13.jpg +0 -0
  383. data/doc/src/examples/images/image14.jpg +0 -0
  384. data/doc/src/examples/images/image15.jpg +0 -0
  385. data/doc/src/examples/images/image16.jpg +0 -0
  386. data/doc/src/examples/images/image17.jpg +0 -0
  387. data/doc/src/examples/images/image18.jpg +0 -0
  388. data/doc/src/examples/index.page +18 -0
  389. data/doc/src/examples/website_styles/1024px.page +5 -0
  390. data/doc/src/examples/website_styles/andreas00.page +5 -0
  391. data/doc/src/examples/website_styles/andreas01.page +5 -0
  392. data/doc/src/examples/website_styles/andreas03.page +5 -0
  393. data/doc/src/examples/website_styles/andreas04.page +5 -0
  394. data/doc/src/examples/website_styles/andreas05.page +5 -0
  395. data/doc/src/examples/website_styles/andreas06.page +5 -0
  396. data/doc/src/examples/website_styles/andreas07.page +5 -0
  397. data/doc/src/examples/website_styles/andreas08.page +5 -0
  398. data/doc/src/examples/website_styles/andreas09.page +5 -0
  399. data/doc/src/examples/website_styles/default.page +5 -0
  400. data/doc/src/examples/website_styles/index.page +71 -0
  401. data/doc/src/examples/website_styles/plain.page +5 -0
  402. data/doc/src/examples/website_templates/default.page +5 -0
  403. data/doc/src/examples/website_templates/index.page +24 -0
  404. data/doc/src/examples/website_templates/personal_hp.page +5 -0
  405. data/doc/src/examples/website_templates/project.page +5 -0
  406. data/doc/src/features.page +16 -14
  407. data/doc/src/images/bodybg.jpg +0 -0
  408. data/doc/src/images/footerbg.jpg +0 -0
  409. data/doc/src/images/menuhover.jpg +0 -0
  410. data/doc/src/images/node_diagram.svg +7132 -0
  411. data/doc/src/images/thumb_example.jpg +0 -0
  412. data/doc/src/images/thumb_example_cropped.jpg +0 -0
  413. data/doc/src/images/thumb_example_normal.jpg +0 -0
  414. data/doc/src/index.page +14 -102
  415. data/doc/src/news.page +154 -0
  416. data/doc/src/plugin.template +10 -0
  417. data/lib/webgen/cli.rb +427 -0
  418. data/lib/webgen/composite.rb +11 -11
  419. data/lib/webgen/config.rb +52 -0
  420. data/lib/webgen/content.rb +172 -0
  421. data/lib/webgen/extcommand.rb +23 -0
  422. data/lib/webgen/languages.rb +110 -0
  423. data/lib/webgen/listener.rb +1 -1
  424. data/lib/webgen/node.rb +196 -124
  425. data/lib/webgen/plugin.rb +480 -144
  426. data/lib/webgen/plugins/{contenthandlers → contentconverters}/default.rb +10 -9
  427. data/lib/webgen/plugins/{contenthandlers → contentconverters}/html.rb +11 -8
  428. data/lib/webgen/plugins/contentconverters/markdown.rb +54 -0
  429. data/lib/webgen/plugins/{contenthandlers → contentconverters}/rdoc.rb +16 -12
  430. data/lib/webgen/plugins/{contenthandlers → contentconverters}/textile.rb +18 -13
  431. data/lib/webgen/plugins/contentconverters/xmlbuilder.rb +58 -0
  432. data/lib/webgen/plugins/coreplugins/configuration.rb +11 -102
  433. data/lib/webgen/plugins/coreplugins/resourcemanager.rb +95 -74
  434. data/lib/webgen/plugins/filehandlers/copy.rb +41 -19
  435. data/lib/webgen/plugins/filehandlers/directory.rb +52 -50
  436. data/lib/webgen/plugins/filehandlers/filehandler.rb +370 -123
  437. data/lib/webgen/plugins/filehandlers/gallery.rb +368 -117
  438. data/lib/webgen/plugins/filehandlers/page.rb +160 -146
  439. data/lib/webgen/plugins/filehandlers/template.rb +65 -52
  440. data/lib/webgen/plugins/htmlvalidators/default.rb +9 -7
  441. data/lib/webgen/plugins/htmlvalidators/xmllint.rb +17 -33
  442. data/lib/webgen/plugins/menustyles/default.rb +27 -25
  443. data/lib/webgen/plugins/menustyles/horizontal.rb +22 -41
  444. data/lib/webgen/plugins/menustyles/horizontal_dropdown.rb +25 -39
  445. data/lib/webgen/plugins/menustyles/section.rb +68 -0
  446. data/lib/webgen/plugins/menustyles/vertical.rb +36 -56
  447. data/lib/webgen/plugins/menustyles/vertical_dropdown.rb +24 -32
  448. data/lib/webgen/plugins/miscplugins/smileyreplacer.rb +20 -17
  449. data/lib/webgen/plugins/miscplugins/syntax_highlighter.rb +72 -0
  450. data/lib/webgen/plugins/miscplugins/treewalker.rb +9 -36
  451. data/lib/webgen/plugins/tags/block.rb +65 -0
  452. data/lib/webgen/plugins/tags/breadcrumbtrail.rb +15 -11
  453. data/lib/webgen/plugins/tags/date.rb +11 -7
  454. data/lib/webgen/plugins/tags/download.rb +38 -38
  455. data/lib/webgen/plugins/tags/executecommand.rb +30 -15
  456. data/lib/webgen/plugins/tags/includefile.rb +26 -13
  457. data/lib/webgen/plugins/tags/langbar.rb +23 -18
  458. data/lib/webgen/plugins/tags/menu.rb +49 -70
  459. data/lib/webgen/plugins/tags/meta.rb +12 -9
  460. data/lib/webgen/plugins/tags/relocatable.rb +41 -13
  461. data/lib/webgen/plugins/tags/sitemap.rb +32 -28
  462. data/lib/webgen/plugins/tags/tag_processor.rb +279 -0
  463. data/lib/webgen/plugins/tags/wikilink.rb +25 -20
  464. data/lib/webgen/test.rb +202 -0
  465. data/lib/webgen/website.rb +310 -0
  466. data/test/fixtures/sample_site/src/chained.template +3 -0
  467. data/test/fixtures/sample_site/src/default.template +3 -0
  468. data/test/fixtures/sample_site/src/dir1/dir11/file111.de.page +3 -0
  469. data/test/fixtures/sample_site/src/dir1/dir11/file111.page +3 -0
  470. data/test/fixtures/sample_site/src/dir1/dir11/index.page +3 -0
  471. data/test/fixtures/sample_site/src/dir1/file11.page +3 -0
  472. data/test/fixtures/sample_site/src/dir2/file21.page +3 -0
  473. data/test/fixtures/sample_site/src/embedded.rhtml +1 -0
  474. data/test/fixtures/sample_site/src/file1.page +8 -0
  475. data/test/fixtures/sample_site/src/file2.de.page +6 -0
  476. data/test/fixtures/sample_site/src/index.de.page +4 -0
  477. data/test/fixtures/sample_site/src/index.en.page +1 -0
  478. data/test/fixtures/sample_site/src/invalid.template +3 -0
  479. data/test/fixtures/sample_site/src/test.jpg +1 -0
  480. data/test/fixtures/sample_site/src/test.template +3 -0
  481. data/test/fixtures/tc_content/blocks.yaml +40 -0
  482. data/test/fixtures/tc_content/correct.yaml +65 -0
  483. data/test/fixtures/tc_content/incorrect.yaml +42 -0
  484. data/test/fixtures/tc_filehandler_filehandler/backing/metainfo.yaml +9 -0
  485. data/test/fixtures/tc_filehandler_filehandler/backing_empty/metainfo.yaml +6 -0
  486. data/test/fixtures/tc_filehandler_filehandler/sample_plugin.rb +49 -0
  487. data/test/fixtures/tc_filehandler_filehandler/unmodified +0 -0
  488. data/test/fixtures/tc_filehandler_gallery/test.gallery +2 -0
  489. data/test/fixtures/tc_filehandler_gallery/test1.gallery +2 -0
  490. data/test/fixtures/tc_filehandler_gallery/test1.jpg +0 -0
  491. data/test/fixtures/tc_filehandler_gallery/test2.jpg +0 -0
  492. data/test/fixtures/tc_filehandler_gallery/test3.jpg +0 -0
  493. data/test/fixtures/tc_filehandler_gallery/test4.jpg +0 -0
  494. data/test/fixtures/tc_filehandler_page/testdata.yaml +10 -0
  495. data/test/fixtures/tc_menustyles_default/menustyle.rb +7 -0
  496. data/test/fixtures/tc_node/nodes.yaml +64 -0
  497. data/test/fixtures/tc_plugin/handlerplugin.rb +15 -0
  498. data/test/fixtures/tc_plugin/plugin1.rb +33 -0
  499. data/test/fixtures/tc_plugin/plugin2.rb +8 -0
  500. data/test/fixtures/tc_tags_includefile/testfile +1 -0
  501. data/test/fixtures/tc_tags_tag_processor/test_file1 +1 -0
  502. data/test/fixtures/tc_tags_tag_processor/testtag.rb +17 -0
  503. data/test/fixtures/tc_website/correct.yaml +6 -0
  504. data/test/fixtures/tc_website/incorrect_structure.yaml +2 -0
  505. data/test/fixtures/tc_website/incorrect_yaml.yaml +5 -0
  506. data/test/fixtures/tc_website/meta_info_test.yaml +10 -0
  507. data/test/fixtures/tc_website/testdir/README +1 -0
  508. data/test/fixtures/tc_website/testdir/falsedir/README +1 -0
  509. data/test/runtests.rb +2 -0
  510. data/test/unittests/tc_composite.rb +82 -0
  511. data/test/unittests/tc_config.rb +18 -0
  512. data/test/unittests/tc_content.rb +88 -0
  513. data/test/unittests/tc_contentconverters_default.rb +13 -0
  514. data/test/unittests/tc_contentconverters_html.rb +16 -0
  515. data/test/unittests/tc_contentconverters_markdown.rb +22 -0
  516. data/test/unittests/tc_contentconverters_rdoc.rb +16 -0
  517. data/test/unittests/tc_contentconverters_textile.rb +22 -0
  518. data/test/unittests/tc_contentconverters_xmlbuilder.rb +22 -0
  519. data/test/unittests/tc_filehandler_copy.rb +65 -0
  520. data/test/unittests/tc_filehandler_directory.rb +134 -0
  521. data/test/unittests/tc_filehandler_filehandler.rb +294 -0
  522. data/test/unittests/tc_filehandler_gallery.rb +165 -0
  523. data/test/unittests/tc_filehandler_page.rb +183 -0
  524. data/test/unittests/tc_filehandler_template.rb +60 -0
  525. data/test/unittests/tc_htmlvalidators_default.rb +12 -0
  526. data/test/unittests/tc_htmlvalidators_xmllint.rb +19 -0
  527. data/test/unittests/tc_languages.rb +57 -0
  528. data/test/unittests/tc_listener.rb +72 -0
  529. data/test/unittests/tc_menustyles_default.rb +51 -0
  530. data/test/unittests/tc_menustyles_horizontal.rb +18 -0
  531. data/test/unittests/tc_menustyles_horizontal_dropdown.rb +18 -0
  532. data/test/unittests/tc_menustyles_section.rb +59 -0
  533. data/test/unittests/tc_menustyles_vertical.rb +79 -0
  534. data/test/unittests/tc_menustyles_vertical_dropdown.rb +18 -0
  535. data/test/unittests/tc_node.rb +202 -0
  536. data/test/unittests/tc_plugin.rb +214 -0
  537. data/test/unittests/tc_resourcemanager.rb +42 -0
  538. data/test/unittests/tc_smileyreplacer.rb +25 -0
  539. data/test/unittests/tc_syntax_highlighter.rb +30 -0
  540. data/test/unittests/tc_tags_block.rb +27 -0
  541. data/test/unittests/tc_tags_breadcrumbtrail.rb +22 -0
  542. data/test/unittests/tc_tags_date.rb +15 -0
  543. data/test/unittests/tc_tags_download.rb +32 -0
  544. data/test/unittests/tc_tags_executecommand.rb +37 -0
  545. data/test/unittests/tc_tags_includefile.rb +53 -0
  546. data/test/unittests/tc_tags_langbar.rb +42 -0
  547. data/test/unittests/tc_tags_menu.rb +50 -0
  548. data/test/unittests/tc_tags_meta.rb +19 -0
  549. data/test/unittests/tc_tags_relocatable.rb +66 -0
  550. data/test/unittests/tc_tags_sitemap.rb +33 -0
  551. data/test/unittests/tc_tags_tag_processor.rb +107 -0
  552. data/test/unittests/tc_tags_wikilink.rb +22 -0
  553. data/test/unittests/tc_treewalker.rb +44 -0
  554. data/test/unittests/tc_website.rb +188 -0
  555. metadata +829 -312
  556. data/bin/webgen-gallery-editor +0 -654
  557. data/bin/webgen-gui +0 -10
  558. data/data/webgen/website_templates/default/config.yaml +0 -2
  559. data/doc/plugin/clidesc.rb +0 -46
  560. data/doc/plugin/source.rb +0 -21
  561. data/doc/src/about.page +0 -22
  562. data/doc/src/documentation/cli.page +0 -12
  563. data/doc/src/documentation/plugins/contenthandlers/html.page +0 -11
  564. data/doc/src/documentation/plugins/contenthandlers/index.page +0 -7
  565. data/doc/src/documentation/plugins/contenthandlers/markdown.page +0 -11
  566. data/doc/src/documentation/plugins/contenthandlers/rdoc.page +0 -11
  567. data/doc/src/documentation/plugins/contenthandlers/textile.page +0 -11
  568. data/doc/src/documentation/plugins/coreplugins/configuration.page +0 -12
  569. data/doc/src/documentation/plugins/coreplugins/index.page +0 -7
  570. data/doc/src/documentation/plugins/coreplugins/logging.page +0 -13
  571. data/doc/src/documentation/plugins/coreplugins/resourcemanager.page +0 -34
  572. data/doc/src/documentation/plugins/filehandlers/backing.page +0 -46
  573. data/doc/src/documentation/plugins/filehandlers/copy.page +0 -12
  574. data/doc/src/documentation/plugins/filehandlers/directoryhandler.page +0 -35
  575. data/doc/src/documentation/plugins/filehandlers/gallery.page +0 -86
  576. data/doc/src/documentation/plugins/filehandlers/index.page +0 -34
  577. data/doc/src/documentation/plugins/filehandlers/page.page +0 -170
  578. data/doc/src/documentation/plugins/filehandlers/template.page +0 -21
  579. data/doc/src/documentation/plugins/gallerylayouters/index.page +0 -18
  580. data/doc/src/documentation/plugins/htmlvalidators/index.page +0 -6
  581. data/doc/src/documentation/plugins/htmlvalidators/xmllint.page +0 -14
  582. data/doc/src/documentation/plugins/menustyles/horizontal.page +0 -21
  583. data/doc/src/documentation/plugins/menustyles/index.page +0 -12
  584. data/doc/src/documentation/plugins/menustyles/partial.page +0 -27
  585. data/doc/src/documentation/plugins/menustyles/vertical.page +0 -32
  586. data/doc/src/documentation/plugins/menustyles/verticaldropdown.page +0 -23
  587. data/doc/src/documentation/plugins/miscplugins/index.page +0 -7
  588. data/doc/src/documentation/plugins/tags/breadcrumbtrail.page +0 -20
  589. data/doc/src/documentation/plugins/tags/date.page +0 -19
  590. data/doc/src/documentation/plugins/tags/download.page +0 -23
  591. data/doc/src/documentation/plugins/tags/executecommand.page +0 -18
  592. data/doc/src/documentation/plugins/tags/includefile.page +0 -15
  593. data/doc/src/documentation/plugins/tags/index.page +0 -44
  594. data/doc/src/documentation/plugins/tags/langbar.page +0 -27
  595. data/doc/src/documentation/plugins/tags/menu.de.page +0 -12
  596. data/doc/src/documentation/plugins/tags/menu.page +0 -19
  597. data/doc/src/documentation/plugins/tags/multilang.de.page +0 -4
  598. data/doc/src/documentation/plugins/tags/multilang.fr.page +0 -4
  599. data/doc/src/documentation/plugins/tags/multilang.page +0 -4
  600. data/doc/src/documentation/plugins/tags/relocatable.page +0 -16
  601. data/doc/src/documentation/plugins/tags/resource.page +0 -22
  602. data/doc/src/documentation/plugins/tags/sitemap.page +0 -17
  603. data/doc/src/documentation/plugins/tags/wikilink.page +0 -18
  604. data/doc/src/documentation/webgen_gallery_editor.page +0 -82
  605. data/doc/src/images/screenshots/wge-image.png +0 -0
  606. data/doc/src/images/screenshots/wge-layout-preview.png +0 -0
  607. data/doc/src/images/screenshots/wge-main-disabled.png +0 -0
  608. data/doc/src/images/screenshots/wge-main.png +0 -0
  609. data/doc/src/meta.info +0 -30
  610. data/doc/src/screenshots.gallery +0 -33
  611. data/install.rb +0 -19
  612. data/lib/webgen.rb +0 -277
  613. data/lib/webgen/plugins/contenthandlers/markdown.rb +0 -50
  614. data/lib/webgen/plugins/coreplugins/logging.rb +0 -101
  615. data/lib/webgen/plugins/filehandlers/backing.rb +0 -159
  616. data/lib/webgen/plugins/gallerylayouters/default.rb +0 -152
  617. data/lib/webgen/plugins/menustyles/partial.rb +0 -95
  618. data/lib/webgen/plugins/tags/tags.rb +0 -254
data/README CHANGED
@@ -1,16 +1,14 @@
1
1
  webgen - a template based static website generator
2
2
 
3
- Copyright (C) 2004 Thomas Leitner
3
+ Copyright (C) 2006 Thomas Leitner
4
4
 
5
5
  >>> The documentation for webgen is in the doc/src subdirectory. <<<
6
6
 
7
- You can build the documentation by
8
- invoking
7
+ You can build the documentation by executing
9
8
  $ rake doc
10
9
 
11
- in the root of the package or by running webgen manually in the +doc+ directory:
12
- $ ruby -I../lib ../bin/webgen
10
+ in the root of the package. This command will build the documentation and place it in doc/output.
13
11
 
14
- This documentation is actually the same as the one on webgen.rubyforge.org. When releasing a new
12
+ This documentation is actually the same as the one on http://webgen.rubyforge.org. When releasing a new
15
13
  version of webgen, I run one of the above commands to create the pages and then only copy it to the
16
14
  website! :-)
data/Rakefile CHANGED
@@ -24,6 +24,7 @@ begin
24
24
  rescue Exception
25
25
  end
26
26
 
27
+ require 'fileutils'
27
28
  require 'rake/clean'
28
29
  require 'rake/packagetask'
29
30
  require 'rake/rdoctask'
@@ -32,7 +33,7 @@ require 'rake/testtask'
32
33
  # General actions ##############################################################
33
34
 
34
35
  $:.push 'lib'
35
- require 'webgen/plugins/coreplugins/configuration'
36
+ require 'webgen/config'
36
37
 
37
38
  PKG_NAME = "webgen"
38
39
  PKG_VERSION = Webgen::VERSION.join( '.' )
@@ -62,19 +63,164 @@ task :install => [:prepare] do
62
63
  ruby "setup.rb install"
63
64
  end
64
65
 
65
-
66
+ CLEAN.exclude( 'doc/src/documentation/plugins/core' )
66
67
  task :clean do
67
68
  ruby "setup.rb clean"
68
69
  end
69
70
 
71
+ desc "Creates the whole documentation"
72
+ task :doc => [:rdoc, :webgen_doc]
70
73
 
71
- CLOBBER << "doc/output"
72
- desc "Builds the documentation"
73
- task :doc => [:rdoc] do
74
- chdir 'doc' do
75
- puts "\nGenerating online documentation..."
76
- ruby %{-I../lib ../bin/webgen -V 2 }
74
+ CLOBBER << "doc/examples"
75
+ CLOBBER << "doc/src/examples/website_templates"
76
+ CLOBBER << "doc/src/examples/website_styles"
77
+ CLOBBER << "doc/src/examples/gallery_styles"
78
+ CLOBBER << "doc/plugin/gallery"
79
+ desc "Creates the files for the examples section of the docu"
80
+ task :create_examples do
81
+ require 'webgen/website'
82
+
83
+ # website templates
84
+ data = {}
85
+ data[:dirname] = 'Website Templates'
86
+ data[:desc]= "h2. List of website templates
87
+
88
+ The website templates open in an iframe when you use the menu items. Use the links provided below to
89
+ open the website templates directly (fullscreen).
90
+
91
+ Following is the list of all available website templates:
92
+ "
93
+ data[:entries] = Webgen::WebSiteTemplate.entries
94
+ create_examples( 'website_templates', data, nil, 'default' )
95
+
96
+ # website styles
97
+ data = {}
98
+ data[:dirname] = 'Website Styles'
99
+ data[:desc]= "h2. List of website styles
100
+
101
+ The website styles open in an iframe when you use the menu items. Use the links provided below to
102
+ open the website styles directly (fullscreen).
103
+
104
+ Following is the list of all available website styles:
105
+ "
106
+ data[:entries] = Webgen::WebSiteStyle.entries
107
+ create_examples( 'website_styles', data, 'project', nil )
108
+
109
+ # gallery styles
110
+ Webgen::GalleryStyle.entries.each do |name, entry|
111
+ puts "Creating example files for gallery style '#{name}'..."
112
+ mkdir_p( "doc/plugin/gallery/#{name}" )
113
+ FileUtils.cp( entry.plugin_files, "doc/plugin/gallery/#{name}" )
114
+ base_dir = "doc/src/examples/gallery_styles/#{name}"
115
+ mkdir_p( base_dir )
116
+ entry.copy_to( base_dir )
117
+
118
+ additional = case name
119
+ when 'slides' then "layouter: slides\nthumbnailResizeMethod: :cropped"
120
+ else ''
121
+ end
122
+ File.open( File.join( base_dir, "#{name}.gallery" ), 'w+' ) do |f|
123
+ f.write("title: index
124
+ images: ../../images/*
125
+ imagesPerPage: 8
126
+ mainPageMetaInfo:
127
+ inMenu: true
128
+ #{additional}
129
+ ---
130
+ ../../images/image01.jpg:
131
+ title: Chinese Garden
132
+ description: This picture show the Chinese Garden located in the outskirts of Vienna (Austria).
133
+
134
+ ../../images/image02.jpg:
135
+ title: Goldenes Dach
136
+ description: This is the landmark of Innsbruck (Tyrol, Austria), called the 'Goldene Dach' (golden roof).
137
+
138
+ ../../images/image03.jpg:
139
+ title: Mountains in Innsbruck
140
+ description: A view from the <a href='http://www.nordpark.com'>NordPark</a> in Innsbruck.
141
+
142
+ ../../images/image04.jpg:
143
+ title: Kristallwelten 1
144
+ description: The entry to the 'Kristallwelten' of <a href='http://www.swarovski.com'>Swarovski</a> in Innsbruck.
145
+
146
+ ../../images/image05.jpg:
147
+ title: Kristallwelten 2
148
+ description: On the roof of the building.
149
+
150
+ ../../images/image06.jpg:
151
+ title: Kristallwelten 3
152
+ description: Some crystals.
153
+
154
+ ../../images/image07.jpg:
155
+ title: Minimundus 1
156
+ description: A french castle
157
+
158
+ ../../images/image08.jpg:
159
+ title: Minimundus 2
160
+ description: A small copy of the <a href=''>Sagrada Familia</a> of Barcelona.
161
+
162
+ ../../images/image09.jpg:
163
+ title: Minimundus 3
164
+ description: The Stephansdom in Vienna.
165
+
166
+ ../../images/image10.jpg:
167
+ title: Minimundus 4
168
+ description: Overview of Minimundus, a place with smaller versions of famous buildings.
169
+
170
+ ../../images/image11.jpg:
171
+ title: Velden
172
+ description: Photo from Velden, Wörtersee, Carinthia, Austria
173
+
174
+ ../../images/image12.jpg:
175
+ title: Stockholm 1
176
+ description: A 300-year-old ship, the Wasa, located in the Wasamuseet in Stockholm.
177
+
178
+ ../../images/image13.jpg:
179
+ title: Stockholm 2
180
+ description: A fort near Stockholm.
181
+
182
+ ../../images/image14.jpg:
183
+ title: Stockholm 3
184
+ description: Overview of Gamla Stan (old town centre of Stockholm)
185
+
186
+ ../../images/image15.jpg:
187
+ title: Stockholm 4
188
+ description: View from a bridge in the direction of Gamla Stan
189
+
190
+ ../../images/image16.jpg:
191
+ title: Zakynthos 1
192
+ description: An isle that looks like a turtle
193
+
194
+ ../../images/image17.jpg:
195
+ title: Zakynthos 2
196
+ description: The oldest olive tree of Zakynthos.
197
+
198
+ ../../images/image18.jpg:
199
+ title: Zakynthos 3
200
+ description: The Navagio ship wreck, very famous Greek tourist destination.
201
+ ")
202
+ end
77
203
  end
204
+
205
+ data = {}
206
+ data[:dirname] = 'Gallery Styles'
207
+ data[:desc]= "h2. List of gallery styles
208
+
209
+ The gallery style example pages open in an iframe when you use the menu items. Use the links
210
+ provided below to open the gallery style example pages directly (fullscreen).
211
+
212
+ Following is the list of all available gallery styles:
213
+ "
214
+ data[:entries] = Webgen::GalleryStyle.entries
215
+ create_example_index( "doc/src/examples/gallery_styles/index.page", data )
216
+
217
+ end
218
+
219
+ CLOBBER << "doc/output"
220
+ desc "Generates the webgen documentation"
221
+ task :webgen_doc => [:create_examples] do
222
+ puts "\nGenerating online documentation..."
223
+ ruby %{-Ilib bin/webgen -d doc -V 2 }
78
224
  end
79
225
 
80
226
  rd = Rake::RDocTask.new do |rdoc|
@@ -85,11 +231,8 @@ rd = Rake::RDocTask.new do |rdoc|
85
231
  rdoc.rdoc_files.include( 'lib/**/*.rb' )
86
232
  end
87
233
 
88
- CLOBBER << "test/webgen.log"
89
- task :test do |t|
90
- chdir 'test' do
91
- ruby "-I../lib -I. runtests.rb"
92
- end
234
+ task :test do
235
+ ruby "-Ilib -Itest test/runtests.rb"
93
236
  end
94
237
 
95
238
  # Developer tasks ##############################################################
@@ -103,12 +246,11 @@ PKG_FILES = FileList.new( [
103
246
  'Rakefile',
104
247
  'ChangeLog',
105
248
  'VERSION',
106
- 'install.rb',
107
- 'bin/**/*',
249
+ 'bin/webgen',
108
250
  'lib/**/*.rb',
109
251
  'data/**/*',
110
252
  'testsite/**/*',
111
- 'tests/**/*',
253
+ 'test/**/*',
112
254
  'doc/**/*'
113
255
  ]) do |fl|
114
256
  fl.exclude( /\bsvn\b/ )
@@ -117,12 +259,6 @@ PKG_FILES = FileList.new( [
117
259
  fl.exclude( 'doc/output' )
118
260
  end
119
261
 
120
- task :package => [:gen_files, :create_gal_layout_pics] do
121
- chdir 'pkg' do
122
- sh "rpaadmin packport #{PKG_NAME}-#{PKG_VERSION}"
123
- end
124
- end
125
-
126
262
  CLOBBER << "otherdata/web-for-gallery-pics/output"
127
263
  task :create_gal_layout_pics do
128
264
  chdir 'otherdata/web-for-gallery-pics' do
@@ -130,43 +266,18 @@ task :create_gal_layout_pics do
130
266
  end
131
267
  end
132
268
 
269
+ CLOBBER << "ChangeLog"
133
270
  task :gen_changelog do
134
271
  sh "svn log -r HEAD:1 -v > ChangeLog"
135
272
  end
136
273
 
274
+ CLOBBER << "VERSION"
137
275
  task :gen_version do
138
276
  puts "Generating VERSION file"
139
277
  File.open( 'VERSION', 'w+' ) do |file| file.write( PKG_VERSION + "\n" ) end
140
278
  end
141
279
 
142
- task :gen_installrb do
143
- puts "Generating install.rb file"
144
- File.open( 'install.rb', 'w+' ) do |file|
145
- file.write "
146
- require 'rpa/install'
147
-
148
- class Install_#{PKG_NAME} < RPA::Install::FullInstaller
149
- name '#{PKG_NAME}'
150
- version '#{PKG_VERSION}-1'
151
- classification Application
152
- build do
153
- installdocs %w[COPYING ChangeLog TODO]
154
- installdocs 'docs'
155
- installrdoc %w[README] + Dir['lib/**/*.rb']
156
- installdata
157
- end
158
- description <<-EOF
159
- #{PKG_SUMMARY}
160
-
161
- #{PKG_DESCRIPTION}
162
- EOF
163
- end
164
- "
165
- end
166
- end
167
-
168
- task :gen_files => [:gen_changelog, :gen_version, :gen_installrb]
169
- CLOBBER << "ChangeLog" << "VERSION" << "install.rb"
280
+ task :package => [:gen_changelog, :gen_version]
170
281
 
171
282
  Rake::PackageTask.new( PKG_NAME, PKG_VERSION ) do |p|
172
283
  p.need_tar = true
@@ -218,15 +329,6 @@ else
218
329
 
219
330
  end
220
331
 
221
- =begin
222
- desc "Creates a tag in the repository"
223
- task :tag do
224
- repositoryPath = File.dirname( $1 ) if `svn info` =~ /^URL: (.*)$/
225
- fail "Tag already created in repository " if /#{PKG_NAME}/ =~ `svn ls #{repositoryPath}/versions`
226
- sh "svn cp -m 'Created version #{PKG_NAME}' #{repositoryPath}/trunk #{repositoryPath}/versions/#{PKG_NAME}"
227
- end
228
- =end
229
-
230
332
  desc "Upload documentation to homepage"
231
333
  task :uploaddoc => [:doc] do
232
334
  Dir.chdir('doc/output')
@@ -234,39 +336,55 @@ task :uploaddoc => [:doc] do
234
336
  end
235
337
 
236
338
 
237
- # Misc tasks ###################################################################
238
-
239
-
240
- def count_lines( filename )
241
- lines = 0
242
- codelines = 0
243
- open( filename ) do |f|
244
- f.each do |line|
245
- lines += 1
246
- next if line =~ /^\s*$/
247
- next if line =~ /^\s*#/
248
- codelines += 1
339
+ # Helper methods ###################################################################
340
+
341
+ def create_examples( dir_name, data, template = nil, style = nil )
342
+ base_dir = 'doc/examples'
343
+ src_dir = 'doc/src/examples'
344
+
345
+ mkdir_p( File.join( src_dir, dir_name ) )
346
+ mkdir_p( File.join( base_dir, dir_name ) )
347
+ data[:entries].sort.each do |name, entry|
348
+ dir = File.join( base_dir, dir_name, name )
349
+ files_mtime = entry.files.collect {|f| File.mtime( f ) }.max
350
+ dir_mtime = File.mtime( dir ) rescue Time.parse("1970-1-1")
351
+ if dir_mtime < files_mtime
352
+ puts "Creating example files for #{dir_name} '#{name}'..."
353
+ rm_rf( dir )
354
+ Webgen::WebSite.create_website( dir, template || name, style || name )
355
+ File.open( File.join( dir, 'config.yaml' ), 'w+' ) do |f|
356
+ f.write( "Core/Configuration: \n"+
357
+ " outDir: ../../../output/examples/#{dir_name}/#{name}" )
358
+ end
359
+ Webgen::WebSite.new( dir ).render
360
+ end
361
+ File.open( File.join( src_dir, dir_name, "#{name}.page" ), 'w+' ) do |f|
362
+ f.write("---
363
+ title: #{name}
364
+ inMenu: true
365
+ --- content, html
366
+ <object type='text/html' data='#{name}/index.html' width='100%' height='600px' />
367
+ ")
249
368
  end
250
369
  end
251
- [lines, codelines]
370
+ create_example_index( File.join( src_dir, dir_name, "index.page" ), data )
252
371
  end
253
372
 
254
-
255
- def show_line( msg, lines, loc )
256
- printf "%6s %6s %s\n", lines.to_s, loc.to_s, msg
257
- end
258
-
259
-
260
- desc "Show statistics"
261
- task :statistics do
262
- total_lines = 0
263
- total_code = 0
264
- show_line( "File Name", "Lines", "LOC" )
265
- SRC_RB.each do |fn|
266
- lines, codelines = count_lines fn
267
- show_line( fn, lines, codelines )
268
- total_lines += lines
269
- total_code += codelines
373
+ def create_example_index( filename, data )
374
+ mkdir_p( File.dirname( filename ) )
375
+ index = File.open( File.join( filename ), 'w+' )
376
+ index.puts("---
377
+ title: Index
378
+ directoryName: #{data[:dirname]}
379
+ ---
380
+ #{data[:desc]}
381
+
382
+ ")
383
+ data[:entries].sort.each do |name, entry|
384
+ index.puts("* <a href='#{name}/index.html'>#{name}</a>\n\n")
385
+ entry.infos.sort.each do |info_name, info_value|
386
+ index.puts(" * *#{info_name.capitalize}*: #{info_value}")
387
+ end
270
388
  end
271
- show_line( "Total", total_lines, total_code )
389
+ index.close
272
390
  end
data/TODO CHANGED
@@ -1,32 +1,64 @@
1
1
  ---- CURRENT ----
2
2
 
3
- * BUG command clean does not delete all files (e.g. no resources, other files generated by plugins [source plugin])
4
- * show available styles and templates in docu and in online help (webgen help create)
5
- * think about plugin system, @@config etc - should work from within webgen-gui, not only once from webgen
6
- * make webgen source installation work with correct cmdparse version
7
- * FileCopyHandler#initialize not reentrant
8
- * make menu generation faster (for webgen: 5.2s without menus in template, 9.2s with menus!)
9
- * create tests for methods in webgen.rb
10
- * check if duplicate nodes are created??? by using a tag in a template
11
- * allow a template to use another template (templates as page description files?) (template2 uses template1)
12
- * use code generator to create test file with all tags and all tag parameter configurations
3
+ * show error message when configuration file is invalid (Webgen::WebSite)
4
+ * fix website styles menus to have a style for current menu item with <span> instead of <a>
5
+ * add a common class to the menu element (either a or span, depending on Fil/DefaultFileHandler:linkToCurrentPage) for easier referencing in CSS styles (update menu CSS style afterwards for horiz-dd, vert-dd, ...)
6
+ * add parameters startLevel, minLevels, maxLevels to horizontal menu style
7
+ * make linking to image galleries possible by specifing the gallery file
8
+ * change namespace of tag plugins from tags to tag
9
+ * send bug report to rdoc maintainer (rdoc does not handle nested method defintions correctly)
10
+ * make source installation work again (because of help forum entry)?
11
+ * rethink plugin config handling (maybe all in a list which is traversed and stopped when one item returns a value)
12
+ * extend usage of tags by allowing the following: {highlight: ruby}content to highlightasd {highlight} and add tag for syntax highlighting???
13
+ * add listener which checks that after reading the tree no new nodes are created
14
+ * if a meta info is not available on the current page, look for it in the template, then in the template of the template, aso.
15
+ -> not easily or not all possible
16
+ * refactor menu style plugins so that indivdual parts of the menu can be overridden (by e.g. singleton methods)
17
+ * search for TODO items
13
18
 
14
19
  ---- DOCU ----
15
20
 
16
- * examples for each type of plugins in extending webgen section
21
+ * documentation: add a glossary (webgen, node, page file, gallery file, parameter, path pattern, plugin, ...)
22
+ * document how to create gallery styles
23
+ * documentation: add info about what webgen does during a run (read files, create nodes, write nodes)
24
+ * documentation: add a page about YAML and basic use
25
+ * documentation: add a resource reference file with the table of resources
26
+ * document: check for consistent naming (page files, tags,...)
27
+ * document homepage structure (where is plugin docu, api docu,...)
28
+ * document tag @processOutput changed to @process_output
29
+ * param values must not be changed during the run by a plugin!!!, see source code of DefaultTag for an example to override params nonetheless
30
+ * document speed boost by precalculating node values (costs memory, saves runtime)
31
+ * changed structure of blocks meta_info
32
+ * provide a sample blog (with andreas04 style)
33
+ * website_template/website_style/gallery_style -> README first infos are shown in help, after --- ignored for infos hash
34
+ * files must not have spaces in their names!
35
+ * all hooks are now lower case!!!
36
+ * DefaultFileHandler#node_for_lang
37
+ - should return the node for the given lang if available
38
+ - default behaviour is to return node itself (useful for pics, stylesheets, ...)
39
+ * DirectoryHandler#node_for_lang
40
+ - if no node in lang found, return default node, emit warning
41
+ - if node in lang found, return found node
42
+ - if no index file, return default node, emit warning
43
+ * update copyright year in all files
44
+ * examples for each type of plugins in extending webgen section -> better into API docs
17
45
 
18
46
  ---- FUTURE ----
19
47
 
48
+ * remove duplicate code from file handler plugins' create_node method
49
+ * add flag images for language bar which are (control through param) used instead of language abbr
50
+ * allow resources to reference URLs???
51
+ * allow following configuration file syntax:
52
+ if the key is of the form 'add <name>' then it is assumed that the default value for param name is an array or hash
53
+ and the given entries are added instead of overwriting the array/hash
54
+ * google sitemap generator
55
+ * blogging and rss handlers
20
56
  * Configuration:outDirectory should support FTP and SFTP protocols
21
- * refactor code sothat one source file can be used by 0..n processors
22
- * tag 'link' which provides a link to the file optionally showing an icon
23
- * parameter for including page icons in menus
24
- * parameter for setting the orderInfo of index pages so that they always appear as first entry
25
- * implement plugin which creates nodes for fragment identifiers (#info) in html
57
+ * tag 'link' which provides a link to the file optionally showing an icon -> see mail
58
+ * parameter for including page icons in menus (use key pageIcon in node meta info, if set use it in DefaultMenuStyle#menu_item_details)
26
59
  * include spell checker (ispell, aspell, MS Word OLE on Win32,...)
27
60
  * tag 'resume', uses xmlresume2x to provide HTML version of xml resume
28
61
  * multi-lingual picture/gallery files
29
- * include exif info for pictures
30
62
 
31
63
  ---- DONE ----
32
64
 
@@ -211,3 +243,129 @@ W do not allow two or more page files in the same language, print warn
211
243
  * adapt clidesc to cmdparse 2.0.0
212
244
  * webgen show config => output same info as on docu pages
213
245
  * test usage for en, deu, eng (ISO-639-2 codes)
246
+ * rename Plugin.add_param to Plugin.param
247
+ * rename ContentHandlers to ContentFormatters
248
+ * how to use Node#resolve_node to resolve page nodes given like index.page (tree uses output names)???
249
+ * think about plugin system, @@config etc - should work from within webgen-gui, not only once from webgen
250
+ * FileCopyHandler#initialize not reentrant
251
+ * allow a template to use another template (templates as page description files?) (template2 uses template1)
252
+ * refactor code sothat one source file can be used by 0..n processors
253
+ * implement plugin which creates nodes for fragment identifiers (#info) in html
254
+ * Node#resolve_node: query part has to be removed from URL for this function to work correctly -> no, works with query part too!
255
+ * ruby 1.8.2 (2004-11-06) [i386-mswin32]: bug in File.join: File.join('asdf', '/') -> 'asdf//' instead of 'asdf/' -> works with 1.8.4
256
+ * BUG make tc_tags_executecommand work on windows (with windows echo command)
257
+ * test on Windows with Ruby 1.8.4
258
+ * make tests independent from RedCloth (overwrite default content converter for PageFileHandler)
259
+ * rename tags/tags.rb to tags/tag_processor.rb
260
+ * is metainfo orderInfo incorrectly named? sortInfo better? -> Node#order_info --> let this be orderInfo for now
261
+ * test on windows after update to newest ruby version!
262
+ * add test case for SmileyReplacer
263
+ * implement system which allows to specify which files/types of files should be read in which order by FileHandler
264
+ * renamed handle_extension, handle_path_pattern to register_extension and register_path_pattern
265
+ * new semantics for param changehandler: if set, use it to set the new value (useful for updating hashs instead of overwriting) --> no changehandler anymore
266
+ * ev. use change handler for not substituting PageHandler:defaultPageMetaData, but merging with old values --> no changehandler anymore
267
+ * add object for main gallery page to galleryinfo object
268
+ * depends_on accepts only strings
269
+ * implement output backing file functionality
270
+ * mail to comic site creator that nav links for gallery in main template now possible
271
+ * Catch ERB errors
272
+ * all nodes should be created through a FileHandler method (should be used by, e.g., GalleryFileHandler)
273
+ - method should have hooks before_create_node and after_create_node
274
+ * plugin#param calls are expensive, use local variable if possible (eg. TemplateFileHandler#get_default_template)
275
+ * use relocatable tag in gallery templates for page and image references
276
+ * create tag block for substituting page blocks
277
+ * add tests in page files to check if used language code is correct (use LanguageManager)
278
+ * provide more hooks into system
279
+ * add syntax highlighting to includefile tag, executecommand tag, and ev. others
280
+ * relocatable: path has to be changed so that it has correct lang in it if it is a page node path or split in path + fragment and search for path, then get correct lang node, then search fragment
281
+ * gallery layouts not with plugins, but with nested templates (one for each: main page, gallery pages, pictures page)
282
+ put a special GalleryInfo object in node.node_info[:ginfo] which holds all information about the gallery and
283
+ provides helper functions (next_pindex, next_gindex,...)
284
+ -> provide a command to copy provided gallery layout templates to a website dir (webgen use gallerylayout <name>)
285
+ -> "webgen use" can also be used for: webgen use style
286
+ -> then its possible to put navigational buttons outside of the {block: content}, namely in the super template
287
+ (see mail from comic site author)
288
+ * new option for create command: -u --update-style-only (for only updating the style info) -> see above webgen use style
289
+ * problem loading a website twice due to using require -> now loading site specific plugins into a module
290
+ * use new scheme for plugin names which does not use the class name
291
+ * add a few good opensource website styles (e.g. some from andreas viklund)
292
+ * add CLI command plugins again
293
+ * use Text::Format or something similar for formatting CLI output (e.g. webgen help create) -> using own simple formatter method
294
+ * css styles should NOT do styling of content!!! only whats necessary to fulfill the job (eg. dropdown behaviour)
295
+ * add parameter to vertical menu style: startLevel -> level at which menu should be started -> use it in andreas06/plain website style
296
+ * print files copied by create and use commands!
297
+ * andreas01 style bug: when no submenus, menu is moved down a little bit -> mail to a.viklund
298
+ * partial menu: should only show menu level UNDER the current level (i.e. if a dir on top level selected, show pages in dir) -> use vertical style with startLevel dynamically set via ERB
299
+ * add possibility to only update one file -> instead of whole site, one or more files can now be generated
300
+ * eventually use two levels of info: one for infos that should be displayed normally and one for additional infos
301
+ - always displayed: node creation, node writing, thumbnail writing
302
+ --> not two info levels: the messages that are too verbose go into the debug level
303
+ * add posibility to add attr=value pairs to links (in the #link_from method, use a meta_info prop link_attrs)
304
+ * redo docu for webgen run command: Runs webgen, ie. generates the HTML files
305
+ * BUG command clean does not delete all files (e.g. no resources, other files generated by plugins [source plugin]) -> no clean command anymore, maybe later again when caching of website nodes is possible
306
+ * make webgen source installation work with correct cmdparse version -> installation via rubygem is the preferred way, and much easier
307
+ * new configuration file syntax:
308
+ - should be ruby file -> still yaml for consistency (meta info in page file and backing file are yaml)
309
+ - should allow changing of parameters with opt. updater function -> not implemented
310
+ - should allow changing of file handler patterns -> not really useful (would be like changing the ext. of a OO.o
311
+ * better system for setting default page meta data like default content format/block names etc -> see above
312
+ * integrate xml builder for HTML/XML generation
313
+ * file handler for rcss files (CSS files with ERB code) -> redo website style CSS files in rcss
314
+ not only rcss but any kind of preprocessed files, include param paths like copy handler,
315
+ strip the letter r from extension: default.rcss -> default.css, mytest.rtxt -> mytest.txt
316
+ -> handle this via copy handler, new param erbPaths -> are preprocessed with erb
317
+ * remove SYNTAX_HIGHLIGHTING constant by using a method in manager which returns if an optional part is loaded
318
+ * new CLI command for checking availability of add. libraries (opt. libraries should be wrapped by a special method load_optional_part() )
319
+ parameters: :name, :error_msg, :about, :needed_gems
320
+ * new CLI command for checking configuration file
321
+ * include exif info for pictures (use exif library from RAA) -> using exifr gem as it is available as gem and pure ruby!
322
+ * pre-compile ERB templates -> should give a little speed boost -> which it does a little ;-)
323
+ * Node#route_to can't handle '..'!!! -> now it can by using the pathname library
324
+ * implement static menus, ie. if a file menu.yaml is in the website dir, use it instead of building menu trees
325
+ - file format simliar to page files, one block for a menu tree in one language, if menu trees for more than one
326
+ language then use more blocks with e.g. "--- de" separators, if no separator at beginning of file -> menu tree
327
+ for default language
328
+ - need to rethink the definition of a menu tree for static menus where categories do not need to be directories
329
+ -->> implemented, but differently: not menu.yaml, but 'static' menus are defined using the output backing mechanism
330
+ * parameter for setting the orderInfo of index pages so that they always appear as first entry
331
+ -> no really useful, one can just set the orderInfo using the meta info backing file or in the index files themselves
332
+ * optimize param_for_plugin by not using exception but return values (return [param_found, param_value])
333
+ * optimize PluginManager#plugin_class_for_name (store plugin_classes as hash)
334
+ * it seems that precalculating the param values and then using them does not boost the speed so much :-(
335
+ * maybe: precalculate full_path, absolute_path, to_url when parent or path changed -> huge speed boost!!!
336
+ * make website generation faster (webgen 0.3.8: ~6.5s, new webgen ~13.0s!)
337
+ * adapt GalleryInfo object: add a general data object which holds general information about the gallery (imagesPerPage, thumbnailSize,...)
338
+ -> the general data object should be unique among all gallery info objects
339
+ * document which plugin uses which resource (eg. menu plugins depend on webgen-css resource)
340
+ * new plugin naming convention:
341
+ - Core/ - core plugins, File/ - file handler plugins, Tags/ - tag processors, Misc/ - misc plugins
342
+ - HtmlValidator/ - html validators, MenuStyle/ - menu styles, ContentConverter/ - content converters
343
+ * document how plugin naming works (namespace/pluginname)
344
+ * documentation: create an example section where gallery styles, website style, aso are showcased!
345
+ * place a note about the spelling of webgen (all lowercase) somewhere very prominently
346
+ * Coderay version 0.7.4.215 required at least
347
+ * document how to build a menu with arbitrary section and menu items (also menu items under several different headings)
348
+ * document default plugin name (derived from class name)
349
+ * provide a sample for each website style on the webgen homepage
350
+ * describe how path patterns work -> ri Dir.glob
351
+ * file handlers which want to create a node that does already exist have to return the node
352
+ * filehandler ignores hidden directories, ie. ones with a leading dot
353
+ * depends_on only accepts strings
354
+ * document new dependencies like builder and coderay and exifr
355
+ * document on gallery style slides that collage/slide images are only created if they do not exist!
356
+ * doucment that when using the slides gallery style there has to be an 'layouter: slides' entry in the gallery file!
357
+ * documentation: put api specific documentation into RDOC, user specific docus on homepage
358
+ * document install page: two sections (Download/Install) and refer to special windows install issues
359
+ * document fields for plugin infos method
360
+ * docoument new CLI commands (check config/libs, use gallery_style/website_style, ...)
361
+ * loader.load_from_dir/load_from_file wraps the loaded classes in a module, load_from_block does not!
362
+ * document that website styles have be edited and full demos are available on the given homepage
363
+ * documentation: what else to say generally about file handlers?
364
+ * documentation: plugin names should have the form namespace/namespace/.../name where namespace and name should only have alphanumeric chars
365
+ * show available styles and templates in docu and in online help (webgen help create)
366
+ * documentation: new meta info linkAttrs used in links: should be a hash of attribute-value pairs which will be added to a link to this page node
367
+ * document linkAttrs meta info (eg. used for adding custom attributes to links, e.g. custom icons using css or accessibility features, use backing file for setting icons for directories)
368
+ * the use commands only copy files, they do not delete files in the src dir
369
+ * document that source directory is now always called src - no parameter anymore
370
+ * document somewhere which objects are available when processing templates/pages files with ERB
371
+ * document evaluation order of page files (first content converted from Textile/Markdown/... to HTML, then ERB, then tags)