webgen 0.4.7 → 0.5.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 (782) hide show
  1. data/AUTHORS +5 -0
  2. data/COPYING +8 -338
  3. data/GPL +340 -0
  4. data/Rakefile +188 -445
  5. data/THANKS +7 -22
  6. data/VERSION +1 -1
  7. data/bin/webgen +6 -1
  8. data/data/webgen/resources.yaml +3 -0
  9. data/data/webgen/website_skeleton/README +10 -0
  10. data/data/webgen/website_skeleton/Rakefile +40 -0
  11. data/data/webgen/website_skeleton/config.yaml +17 -0
  12. data/data/webgen/website_styles/1024px/{default.css → src/default.css} +0 -0
  13. data/data/webgen/website_styles/1024px/{default.template → src/default.template} +3 -5
  14. data/data/webgen/website_styles/1024px/{images → src/images}/background.gif +0 -0
  15. data/data/webgen/website_styles/andreas00/{default.css → src/default.css} +0 -0
  16. data/{doc/examples → data/webgen}/website_styles/andreas00/src/default.template +3 -5
  17. data/data/webgen/website_styles/andreas00/{images → src/images}/bg.gif +0 -0
  18. data/data/webgen/website_styles/andreas00/{images → src/images}/front.jpg +0 -0
  19. data/data/webgen/website_styles/andreas00/{images → src/images}/menubg.gif +0 -0
  20. data/data/webgen/website_styles/andreas00/{images → src/images}/menubg2.gif +0 -0
  21. data/data/webgen/website_styles/andreas01/{default.css → src/default.css} +0 -0
  22. data/{doc/examples → data/webgen}/website_styles/andreas01/src/default.template +3 -5
  23. data/data/webgen/website_styles/andreas01/{images → src/images}/bg.gif +0 -0
  24. data/data/webgen/website_styles/andreas01/{images → src/images}/front.jpg +0 -0
  25. data/data/webgen/website_styles/andreas01/{print.css → src/print.css} +0 -0
  26. data/data/webgen/website_styles/andreas03/{default.css → src/default.css} +0 -0
  27. data/data/webgen/website_styles/andreas03/{default.template → src/default.template} +2 -4
  28. data/data/webgen/website_styles/andreas03/{images → src/images}/bodybg.png +0 -0
  29. data/data/webgen/website_styles/andreas03/{images → src/images}/contbg.png +0 -0
  30. data/data/webgen/website_styles/andreas03/{images → src/images}/footerbg.png +0 -0
  31. data/data/webgen/website_styles/andreas03/{images → src/images}/gradient1.png +0 -0
  32. data/data/webgen/website_styles/andreas03/{images → src/images}/gradient2.png +0 -0
  33. data/data/webgen/website_styles/andreas04/{default.css → src/default.css} +0 -0
  34. data/data/webgen/website_styles/andreas04/{default.template → src/default.template} +2 -4
  35. data/data/webgen/website_styles/andreas04/{images → src/images}/blinkarrow.gif +0 -0
  36. data/data/webgen/website_styles/andreas04/{images → src/images}/bodybg.png +0 -0
  37. data/data/webgen/website_styles/andreas04/{images → src/images}/contentbg.png +0 -0
  38. data/data/webgen/website_styles/andreas04/{images → src/images}/entrybg.png +0 -0
  39. data/data/webgen/website_styles/andreas04/{images → src/images}/flash.gif +0 -0
  40. data/data/webgen/website_styles/andreas04/{images → src/images}/flash2.gif +0 -0
  41. data/data/webgen/website_styles/andreas04/{images → src/images}/globe.gif +0 -0
  42. data/data/webgen/website_styles/andreas04/{images → src/images}/globebottom.gif +0 -0
  43. data/data/webgen/website_styles/andreas04/{images → src/images}/linkarrow.gif +0 -0
  44. data/data/webgen/website_styles/andreas04/{images → src/images}/menuhover.png +0 -0
  45. data/data/webgen/website_styles/andreas05/{default.css → src/default.css} +0 -0
  46. data/data/webgen/website_styles/andreas05/{default.template → src/default.template} +2 -4
  47. data/data/webgen/website_styles/andreas05/{images → src/images}/bodybg.gif +0 -0
  48. data/data/webgen/website_styles/andreas05/{images → src/images}/front.png +0 -0
  49. data/data/webgen/website_styles/andreas06/{default.css → src/default.css} +0 -0
  50. data/{doc/examples → data/webgen}/website_styles/andreas06/src/default.template +4 -6
  51. data/data/webgen/website_styles/andreas06/{images → src/images}/bodybg.gif +0 -0
  52. data/data/webgen/website_styles/andreas06/{images → src/images}/boxbg.gif +0 -0
  53. data/data/webgen/website_styles/andreas06/{images → src/images}/greypx.gif +0 -0
  54. data/data/webgen/website_styles/andreas06/{images → src/images}/header.jpg +0 -0
  55. data/data/webgen/website_styles/andreas06/{images → src/images}/innerbg.gif +0 -0
  56. data/data/webgen/website_styles/andreas06/{images → src/images}/leaves.jpg +0 -0
  57. data/data/webgen/website_styles/andreas06/{images → src/images}/tabs.gif +0 -0
  58. data/data/webgen/website_styles/andreas07/{browserfix.css → src/browserfix.css} +0 -0
  59. data/data/webgen/website_styles/andreas07/{default.css → src/default.css} +0 -0
  60. data/{doc/examples → data/webgen}/website_styles/andreas07/src/default.template +2 -4
  61. data/data/webgen/website_styles/andreas07/{images → src/images}/bodybg.gif +0 -0
  62. data/data/webgen/website_styles/andreas07/{images → src/images}/sidebarbg.gif +0 -0
  63. data/data/webgen/website_styles/andreas08/{default.css → src/default.css} +0 -0
  64. data/{doc/examples → data/webgen}/website_styles/andreas08/src/default.template +3 -5
  65. data/data/webgen/website_styles/andreas09/{default.css → src/default.css} +0 -0
  66. data/data/webgen/website_styles/andreas09/{default.template → src/default.template} +4 -6
  67. data/data/webgen/website_styles/andreas09/{images → src/images}/bodybg-black.jpg +0 -0
  68. data/data/webgen/website_styles/andreas09/{images → src/images}/bodybg-green.jpg +0 -0
  69. data/data/webgen/website_styles/andreas09/{images → src/images}/bodybg-orange.jpg +0 -0
  70. data/data/webgen/website_styles/andreas09/{images → src/images}/bodybg-purple.jpg +0 -0
  71. data/data/webgen/website_styles/andreas09/{images → src/images}/bodybg-red.jpg +0 -0
  72. data/data/webgen/website_styles/andreas09/{images → src/images}/bodybg.jpg +0 -0
  73. data/data/webgen/website_styles/andreas09/{images → src/images}/footerbg.jpg +0 -0
  74. data/data/webgen/website_styles/andreas09/{images → src/images}/menuhover-black.jpg +0 -0
  75. data/data/webgen/website_styles/andreas09/{images → src/images}/menuhover-green.jpg +0 -0
  76. data/data/webgen/website_styles/andreas09/{images → src/images}/menuhover-orange.jpg +0 -0
  77. data/data/webgen/website_styles/andreas09/{images → src/images}/menuhover-purple.jpg +0 -0
  78. data/data/webgen/website_styles/andreas09/{images → src/images}/menuhover-red.jpg +0 -0
  79. data/data/webgen/website_styles/andreas09/{images → src/images}/menuhover.jpg +0 -0
  80. data/data/webgen/website_styles/{default → simple}/README +0 -0
  81. data/data/webgen/website_styles/{default → simple/src}/default.css +0 -0
  82. data/{doc/examples/website_styles/default → data/webgen/website_styles/simple}/src/default.template +3 -5
  83. data/data/webgen/website_templates/default/README +0 -2
  84. data/data/webgen/website_templates/default/src/index.page +3 -3
  85. data/data/webgen/website_templates/project/README +0 -4
  86. data/data/webgen/website_templates/project/src/about.page +5 -5
  87. data/data/webgen/website_templates/project/src/download.page +3 -3
  88. data/data/webgen/website_templates/project/src/features.page +3 -3
  89. data/data/webgen/website_templates/project/src/index.page +4 -4
  90. data/data/webgen/website_templates/project/src/screenshots.page +5 -5
  91. data/doc/contentprocessor/erb.page +38 -0
  92. data/doc/contentprocessor/tags.page +61 -0
  93. data/doc/extensions.page +11 -0
  94. data/doc/faq.page +177 -0
  95. data/doc/getting_started.page +130 -0
  96. data/doc/index.page +50 -0
  97. data/doc/manual.page +356 -0
  98. data/doc/reference_configuration.page +328 -0
  99. data/doc/reference_metainfo.page +128 -0
  100. data/doc/sourcehandler/metainfo.page +117 -0
  101. data/doc/sourcehandler/page.page +32 -0
  102. data/doc/webgen_page_format.page +126 -0
  103. data/lib/webgen/blackboard.rb +73 -0
  104. data/lib/webgen/cache.rb +77 -0
  105. data/lib/webgen/cli.rb +99 -440
  106. data/lib/webgen/cli/create_command.rb +64 -0
  107. data/lib/webgen/cli/run_command.rb +20 -0
  108. data/lib/webgen/cli/utils.rb +82 -0
  109. data/lib/webgen/configuration.rb +71 -0
  110. data/lib/webgen/contentprocessor.rb +89 -0
  111. data/lib/webgen/contentprocessor/blocks.rb +46 -0
  112. data/lib/webgen/contentprocessor/context.rb +86 -0
  113. data/lib/webgen/contentprocessor/maruku.rb +18 -0
  114. data/lib/webgen/contentprocessor/redcloth.rb +15 -0
  115. data/lib/webgen/contentprocessor/tags.rb +134 -0
  116. data/lib/webgen/default_config.rb +128 -0
  117. data/lib/webgen/languages.rb +508 -40
  118. data/lib/webgen/loggable.rb +23 -0
  119. data/lib/webgen/logger.rb +78 -0
  120. data/lib/webgen/node.rb +275 -237
  121. data/lib/webgen/output.rb +31 -0
  122. data/lib/webgen/output/filesystem.rb +61 -0
  123. data/lib/webgen/page.rb +129 -0
  124. data/lib/webgen/path.rb +172 -0
  125. data/lib/webgen/source.rb +24 -0
  126. data/lib/webgen/source/filesystem.rb +56 -0
  127. data/lib/webgen/source/resource.rb +33 -0
  128. data/lib/webgen/source/stacked.rb +53 -0
  129. data/lib/webgen/sourcehandler.rb +175 -0
  130. data/lib/webgen/sourcehandler/base.rb +188 -0
  131. data/lib/webgen/sourcehandler/copy.rb +41 -0
  132. data/lib/webgen/sourcehandler/directory.rb +31 -0
  133. data/lib/webgen/sourcehandler/fragment.rb +66 -0
  134. data/lib/webgen/sourcehandler/metainfo.rb +107 -0
  135. data/lib/webgen/sourcehandler/page.rb +47 -0
  136. data/lib/webgen/sourcehandler/template.rb +64 -0
  137. data/lib/webgen/sourcehandler/virtual.rb +72 -0
  138. data/lib/webgen/tag.rb +16 -0
  139. data/lib/webgen/tag/base.rb +162 -0
  140. data/lib/webgen/tag/menu.rb +187 -0
  141. data/lib/webgen/tag/metainfo.rb +25 -0
  142. data/lib/webgen/tag/relocatable.rb +53 -0
  143. data/lib/webgen/tree.rb +80 -0
  144. data/lib/webgen/version.rb +6 -0
  145. data/lib/webgen/webgentask.rb +153 -0
  146. data/lib/webgen/website.rb +166 -288
  147. data/lib/webgen/websiteaccess.rb +29 -0
  148. data/lib/webgen/websitemanager.rb +124 -0
  149. data/man/man1/webgen.1 +31 -42
  150. data/misc/default.css +337 -0
  151. data/misc/default.template +73 -0
  152. data/misc/htmldoc.metainfo +22 -0
  153. data/misc/htmldoc.virtual +5 -0
  154. data/misc/images/arrow.gif +0 -0
  155. data/misc/images/error.gif +0 -0
  156. data/misc/images/exclamation.gif +0 -0
  157. data/misc/images/headerbg.jpg +0 -0
  158. data/misc/images/information.gif +0 -0
  159. data/misc/images/quote.gif +0 -0
  160. data/test/helper.rb +28 -0
  161. data/test/test_blackboard.rb +58 -0
  162. data/test/test_cache.rb +57 -0
  163. data/test/test_configuration.rb +35 -0
  164. data/test/test_contentprocessor.rb +31 -0
  165. data/test/test_contentprocessor_blocks.rb +34 -0
  166. data/test/test_contentprocessor_context.rb +38 -0
  167. data/test/test_contentprocessor_maruku.rb +24 -0
  168. data/test/test_contentprocessor_redcloth.rb +12 -0
  169. data/test/test_contentprocessor_tags.rb +97 -0
  170. data/test/test_languages.rb +53 -0
  171. data/test/test_loggable.rb +30 -0
  172. data/test/test_logger.rb +73 -0
  173. data/test/test_node.rb +305 -0
  174. data/test/test_output_filesystem.rb +57 -0
  175. data/test/test_page.rb +180 -0
  176. data/test/test_path.rb +112 -0
  177. data/test/test_source_filesystem.rb +59 -0
  178. data/test/test_source_resource.rb +21 -0
  179. data/test/test_source_stacked.rb +34 -0
  180. data/test/test_sourcehandler_base.rb +78 -0
  181. data/test/test_sourcehandler_copy.rb +45 -0
  182. data/test/test_sourcehandler_directory.rb +25 -0
  183. data/test/test_sourcehandler_fragment.rb +62 -0
  184. data/test/test_sourcehandler_metainfo.rb +79 -0
  185. data/test/test_sourcehandler_page.rb +62 -0
  186. data/test/test_sourcehandler_template.rb +61 -0
  187. data/test/test_sourcehandler_virtual.rb +46 -0
  188. data/test/test_tag_base.rb +82 -0
  189. data/test/test_tag_menu.rb +196 -0
  190. data/test/test_tag_metainfo.rb +17 -0
  191. data/test/test_tag_relocatable.rb +57 -0
  192. data/test/test_tree.rb +69 -0
  193. data/test/test_website.rb +96 -0
  194. data/test/test_websiteaccess.rb +23 -0
  195. data/test/test_websitemanager.rb +68 -0
  196. metadata +276 -800
  197. data/ChangeLog +0 -46
  198. data/README +0 -14
  199. data/TODO +0 -376
  200. data/data/webgen/data/ISO-639-2_values_8bits.txt +0 -492
  201. data/data/webgen/gallery-creator/default.png +0 -0
  202. data/data/webgen/gallery_styles/default/README +0 -6
  203. data/data/webgen/gallery_styles/default/gallery_gallery.template +0 -38
  204. data/data/webgen/gallery_styles/default/gallery_image.template +0 -30
  205. data/data/webgen/gallery_styles/default/gallery_main.template +0 -18
  206. data/data/webgen/gallery_styles/slides/README +0 -18
  207. data/data/webgen/gallery_styles/slides/collage.rb +0 -337
  208. data/data/webgen/gallery_styles/slides/gallery_gallery.template +0 -62
  209. data/data/webgen/gallery_styles/slides/gallery_image.template +0 -53
  210. data/data/webgen/gallery_styles/slides/gallery_main.template +0 -32
  211. data/data/webgen/icon_mapping.yaml +0 -27
  212. data/data/webgen/resources/emoticons/bigeyes/angry.png +0 -0
  213. data/data/webgen/resources/emoticons/bigeyes/cool.png +0 -0
  214. data/data/webgen/resources/emoticons/bigeyes/cry.png +0 -0
  215. data/data/webgen/resources/emoticons/bigeyes/drunk.png +0 -0
  216. data/data/webgen/resources/emoticons/bigeyes/lol.png +0 -0
  217. data/data/webgen/resources/emoticons/bigeyes/oops.png +0 -0
  218. data/data/webgen/resources/emoticons/bigeyes/sad.png +0 -0
  219. data/data/webgen/resources/emoticons/bigeyes/sleep.png +0 -0
  220. data/data/webgen/resources/emoticons/bigeyes/smile.png +0 -0
  221. data/data/webgen/resources/emoticons/bigeyes/tongue.png +0 -0
  222. data/data/webgen/resources/emoticons/bigeyes/wink.png +0 -0
  223. data/data/webgen/resources/emoticons/crystal/angry.png +0 -0
  224. data/data/webgen/resources/emoticons/crystal/cool.png +0 -0
  225. data/data/webgen/resources/emoticons/crystal/cry.png +0 -0
  226. data/data/webgen/resources/emoticons/crystal/drunk.png +0 -0
  227. data/data/webgen/resources/emoticons/crystal/lol.png +0 -0
  228. data/data/webgen/resources/emoticons/crystal/oops.png +0 -0
  229. data/data/webgen/resources/emoticons/crystal/sad.png +0 -0
  230. data/data/webgen/resources/emoticons/crystal/sleep.png +0 -0
  231. data/data/webgen/resources/emoticons/crystal/smile.png +0 -0
  232. data/data/webgen/resources/emoticons/crystal/tongue.png +0 -0
  233. data/data/webgen/resources/emoticons/crystal/wink.png +0 -0
  234. data/data/webgen/resources/emoticons/cyclops/angry.png +0 -0
  235. data/data/webgen/resources/emoticons/cyclops/cool.png +0 -0
  236. data/data/webgen/resources/emoticons/cyclops/cry.png +0 -0
  237. data/data/webgen/resources/emoticons/cyclops/drunk.png +0 -0
  238. data/data/webgen/resources/emoticons/cyclops/lol.png +0 -0
  239. data/data/webgen/resources/emoticons/cyclops/oops.png +0 -0
  240. data/data/webgen/resources/emoticons/cyclops/sad.png +0 -0
  241. data/data/webgen/resources/emoticons/cyclops/sleep.png +0 -0
  242. data/data/webgen/resources/emoticons/cyclops/smile.png +0 -0
  243. data/data/webgen/resources/emoticons/cyclops/tongue.png +0 -0
  244. data/data/webgen/resources/emoticons/cyclops/wink.png +0 -0
  245. data/data/webgen/resources/emoticons/glass/angry.png +0 -0
  246. data/data/webgen/resources/emoticons/glass/cool.png +0 -0
  247. data/data/webgen/resources/emoticons/glass/cry.png +0 -0
  248. data/data/webgen/resources/emoticons/glass/drunk.png +0 -0
  249. data/data/webgen/resources/emoticons/glass/lol.png +0 -0
  250. data/data/webgen/resources/emoticons/glass/oops.png +0 -0
  251. data/data/webgen/resources/emoticons/glass/sad.png +0 -0
  252. data/data/webgen/resources/emoticons/glass/sleep.png +0 -0
  253. data/data/webgen/resources/emoticons/glass/smile.png +0 -0
  254. data/data/webgen/resources/emoticons/glass/tongue.png +0 -0
  255. data/data/webgen/resources/emoticons/glass/wink.png +0 -0
  256. data/data/webgen/resources/emoticons/icqstyle/angry.png +0 -0
  257. data/data/webgen/resources/emoticons/icqstyle/cool.png +0 -0
  258. data/data/webgen/resources/emoticons/icqstyle/cry.png +0 -0
  259. data/data/webgen/resources/emoticons/icqstyle/drunk.png +0 -0
  260. data/data/webgen/resources/emoticons/icqstyle/lol.png +0 -0
  261. data/data/webgen/resources/emoticons/icqstyle/oops.png +0 -0
  262. data/data/webgen/resources/emoticons/icqstyle/sad.png +0 -0
  263. data/data/webgen/resources/emoticons/icqstyle/sleep.png +0 -0
  264. data/data/webgen/resources/emoticons/icqstyle/smile.png +0 -0
  265. data/data/webgen/resources/emoticons/icqstyle/tongue.png +0 -0
  266. data/data/webgen/resources/emoticons/icqstyle/wink.png +0 -0
  267. data/data/webgen/resources/emoticons/matrix/angry.gif +0 -0
  268. data/data/webgen/resources/emoticons/matrix/cool.gif +0 -0
  269. data/data/webgen/resources/emoticons/matrix/cry.gif +0 -0
  270. data/data/webgen/resources/emoticons/matrix/drunk.gif +0 -0
  271. data/data/webgen/resources/emoticons/matrix/lol.gif +0 -0
  272. data/data/webgen/resources/emoticons/matrix/oops.gif +0 -0
  273. data/data/webgen/resources/emoticons/matrix/sad.gif +0 -0
  274. data/data/webgen/resources/emoticons/matrix/sleep.gif +0 -0
  275. data/data/webgen/resources/emoticons/matrix/smile.gif +0 -0
  276. data/data/webgen/resources/emoticons/matrix/tongue.gif +0 -0
  277. data/data/webgen/resources/emoticons/matrix/wink.gif +0 -0
  278. data/data/webgen/resources/emoticons/smellies/angry.gif +0 -0
  279. data/data/webgen/resources/emoticons/smellies/cool.gif +0 -0
  280. data/data/webgen/resources/emoticons/smellies/cry.gif +0 -0
  281. data/data/webgen/resources/emoticons/smellies/drunk.gif +0 -0
  282. data/data/webgen/resources/emoticons/smellies/lol.gif +0 -0
  283. data/data/webgen/resources/emoticons/smellies/oops.gif +0 -0
  284. data/data/webgen/resources/emoticons/smellies/sad.gif +0 -0
  285. data/data/webgen/resources/emoticons/smellies/sleep.gif +0 -0
  286. data/data/webgen/resources/emoticons/smellies/smile.gif +0 -0
  287. data/data/webgen/resources/emoticons/smellies/tongue.gif +0 -0
  288. data/data/webgen/resources/emoticons/smellies/wink.gif +0 -0
  289. data/data/webgen/resources/icons/compressed.png +0 -0
  290. data/data/webgen/resources/icons/document.png +0 -0
  291. data/data/webgen/resources/icons/download.png +0 -0
  292. data/data/webgen/resources/icons/image.png +0 -0
  293. data/data/webgen/resources/icons/linux.png +0 -0
  294. data/data/webgen/resources/icons/mac.png +0 -0
  295. data/data/webgen/resources/icons/pdf.png +0 -0
  296. data/data/webgen/resources/icons/penguin.png +0 -0
  297. data/data/webgen/resources/icons/quicktime.png +0 -0
  298. data/data/webgen/resources/icons/real.png +0 -0
  299. data/data/webgen/resources/icons/rpm.png +0 -0
  300. data/data/webgen/resources/icons/sound.png +0 -0
  301. data/data/webgen/resources/icons/source.png +0 -0
  302. data/data/webgen/resources/icons/spreadsheet.png +0 -0
  303. data/data/webgen/resources/icons/text.png +0 -0
  304. data/data/webgen/resources/icons/vcard.png +0 -0
  305. data/data/webgen/resources/icons/video.png +0 -0
  306. data/data/webgen/resources/icons/win.png +0 -0
  307. data/data/webgen/resources/images/generated_by_webgen.png +0 -0
  308. data/data/webgen/resources/images/valid-css.gif +0 -0
  309. data/data/webgen/resources/images/valid-xhtml11.png +0 -0
  310. data/data/webgen/resources/images/webgen_logo.png +0 -0
  311. data/data/webgen/sipttra_styles/default/README +0 -7
  312. data/data/webgen/sipttra_styles/default/css/sipttra.rcss +0 -71
  313. data/data/webgen/sipttra_styles/default/js/sipttra.js +0 -7
  314. data/data/webgen/sipttra_styles/default/sipttra.template +0 -105
  315. data/data/webgen/website_styles/andreas00/default.template +0 -62
  316. data/data/webgen/website_styles/andreas01/default.template +0 -63
  317. data/data/webgen/website_styles/andreas06/default.template +0 -72
  318. data/data/webgen/website_styles/andreas07/default.template +0 -44
  319. data/data/webgen/website_styles/andreas08/default.template +0 -53
  320. data/data/webgen/website_styles/default/default.template +0 -38
  321. data/data/webgen/website_templates/personal_hp/README +0 -8
  322. data/data/webgen/website_templates/personal_hp/src/about.page +0 -12
  323. data/data/webgen/website_templates/personal_hp/src/index.page +0 -9
  324. data/data/webgen/website_templates/personal_hp/src/links.page +0 -22
  325. data/data/webgen/website_templates/personal_hp/src/projects.page +0 -20
  326. data/doc/config.yaml +0 -8
  327. data/doc/examples/website_styles/1024px/README +0 -9
  328. data/doc/examples/website_styles/1024px/config.yaml +0 -2
  329. data/doc/examples/website_styles/1024px/src/about.page +0 -12
  330. data/doc/examples/website_styles/1024px/src/default.css +0 -188
  331. data/doc/examples/website_styles/1024px/src/default.template +0 -62
  332. data/doc/examples/website_styles/1024px/src/download.page +0 -15
  333. data/doc/examples/website_styles/1024px/src/features.page +0 -8
  334. data/doc/examples/website_styles/1024px/src/images/background.gif +0 -0
  335. data/doc/examples/website_styles/1024px/src/index.page +0 -9
  336. data/doc/examples/website_styles/1024px/src/screenshots.page +0 -18
  337. data/doc/examples/website_styles/andreas00/README +0 -9
  338. data/doc/examples/website_styles/andreas00/config.yaml +0 -2
  339. data/doc/examples/website_styles/andreas00/src/about.page +0 -12
  340. data/doc/examples/website_styles/andreas00/src/default.css +0 -290
  341. data/doc/examples/website_styles/andreas00/src/download.page +0 -15
  342. data/doc/examples/website_styles/andreas00/src/features.page +0 -8
  343. data/doc/examples/website_styles/andreas00/src/images/bg.gif +0 -0
  344. data/doc/examples/website_styles/andreas00/src/images/front.jpg +0 -0
  345. data/doc/examples/website_styles/andreas00/src/images/menubg.gif +0 -0
  346. data/doc/examples/website_styles/andreas00/src/images/menubg2.gif +0 -0
  347. data/doc/examples/website_styles/andreas00/src/index.page +0 -9
  348. data/doc/examples/website_styles/andreas00/src/screenshots.page +0 -18
  349. data/doc/examples/website_styles/andreas01/README +0 -9
  350. data/doc/examples/website_styles/andreas01/config.yaml +0 -2
  351. data/doc/examples/website_styles/andreas01/src/about.page +0 -12
  352. data/doc/examples/website_styles/andreas01/src/default.css +0 -310
  353. data/doc/examples/website_styles/andreas01/src/download.page +0 -15
  354. data/doc/examples/website_styles/andreas01/src/features.page +0 -8
  355. data/doc/examples/website_styles/andreas01/src/images/bg.gif +0 -0
  356. data/doc/examples/website_styles/andreas01/src/images/front.jpg +0 -0
  357. data/doc/examples/website_styles/andreas01/src/index.page +0 -9
  358. data/doc/examples/website_styles/andreas01/src/print.css +0 -35
  359. data/doc/examples/website_styles/andreas01/src/screenshots.page +0 -18
  360. data/doc/examples/website_styles/andreas03/README +0 -9
  361. data/doc/examples/website_styles/andreas03/config.yaml +0 -2
  362. data/doc/examples/website_styles/andreas03/src/about.page +0 -12
  363. data/doc/examples/website_styles/andreas03/src/default.css +0 -223
  364. data/doc/examples/website_styles/andreas03/src/default.template +0 -60
  365. data/doc/examples/website_styles/andreas03/src/download.page +0 -15
  366. data/doc/examples/website_styles/andreas03/src/features.page +0 -8
  367. data/doc/examples/website_styles/andreas03/src/images/bodybg.png +0 -0
  368. data/doc/examples/website_styles/andreas03/src/images/contbg.png +0 -0
  369. data/doc/examples/website_styles/andreas03/src/images/footerbg.png +0 -0
  370. data/doc/examples/website_styles/andreas03/src/images/gradient1.png +0 -0
  371. data/doc/examples/website_styles/andreas03/src/images/gradient2.png +0 -0
  372. data/doc/examples/website_styles/andreas03/src/index.page +0 -9
  373. data/doc/examples/website_styles/andreas03/src/screenshots.page +0 -18
  374. data/doc/examples/website_styles/andreas04/README +0 -9
  375. data/doc/examples/website_styles/andreas04/config.yaml +0 -2
  376. data/doc/examples/website_styles/andreas04/src/about.page +0 -12
  377. data/doc/examples/website_styles/andreas04/src/default.css +0 -290
  378. data/doc/examples/website_styles/andreas04/src/default.template +0 -83
  379. data/doc/examples/website_styles/andreas04/src/download.page +0 -15
  380. data/doc/examples/website_styles/andreas04/src/features.page +0 -8
  381. data/doc/examples/website_styles/andreas04/src/images/blinkarrow.gif +0 -0
  382. data/doc/examples/website_styles/andreas04/src/images/bodybg.png +0 -0
  383. data/doc/examples/website_styles/andreas04/src/images/contentbg.png +0 -0
  384. data/doc/examples/website_styles/andreas04/src/images/entrybg.png +0 -0
  385. data/doc/examples/website_styles/andreas04/src/images/flash.gif +0 -0
  386. data/doc/examples/website_styles/andreas04/src/images/flash2.gif +0 -0
  387. data/doc/examples/website_styles/andreas04/src/images/globe.gif +0 -0
  388. data/doc/examples/website_styles/andreas04/src/images/globebottom.gif +0 -0
  389. data/doc/examples/website_styles/andreas04/src/images/linkarrow.gif +0 -0
  390. data/doc/examples/website_styles/andreas04/src/images/menuhover.png +0 -0
  391. data/doc/examples/website_styles/andreas04/src/index.page +0 -9
  392. data/doc/examples/website_styles/andreas04/src/screenshots.page +0 -18
  393. data/doc/examples/website_styles/andreas05/README +0 -9
  394. data/doc/examples/website_styles/andreas05/config.yaml +0 -2
  395. data/doc/examples/website_styles/andreas05/src/about.page +0 -12
  396. data/doc/examples/website_styles/andreas05/src/default.css +0 -33
  397. data/doc/examples/website_styles/andreas05/src/default.template +0 -42
  398. data/doc/examples/website_styles/andreas05/src/download.page +0 -15
  399. data/doc/examples/website_styles/andreas05/src/features.page +0 -8
  400. data/doc/examples/website_styles/andreas05/src/images/bodybg.gif +0 -0
  401. data/doc/examples/website_styles/andreas05/src/images/front.png +0 -0
  402. data/doc/examples/website_styles/andreas05/src/index.page +0 -9
  403. data/doc/examples/website_styles/andreas05/src/screenshots.page +0 -18
  404. data/doc/examples/website_styles/andreas06/README +0 -9
  405. data/doc/examples/website_styles/andreas06/config.yaml +0 -2
  406. data/doc/examples/website_styles/andreas06/src/about.page +0 -12
  407. data/doc/examples/website_styles/andreas06/src/default.css +0 -354
  408. data/doc/examples/website_styles/andreas06/src/download.page +0 -15
  409. data/doc/examples/website_styles/andreas06/src/features.page +0 -8
  410. data/doc/examples/website_styles/andreas06/src/images/bodybg.gif +0 -0
  411. data/doc/examples/website_styles/andreas06/src/images/boxbg.gif +0 -0
  412. data/doc/examples/website_styles/andreas06/src/images/greypx.gif +0 -0
  413. data/doc/examples/website_styles/andreas06/src/images/header.jpg +0 -0
  414. data/doc/examples/website_styles/andreas06/src/images/innerbg.gif +0 -0
  415. data/doc/examples/website_styles/andreas06/src/images/leaves.jpg +0 -0
  416. data/doc/examples/website_styles/andreas06/src/images/tabs.gif +0 -0
  417. data/doc/examples/website_styles/andreas06/src/index.page +0 -9
  418. data/doc/examples/website_styles/andreas06/src/screenshots.page +0 -18
  419. data/doc/examples/website_styles/andreas07/README +0 -9
  420. data/doc/examples/website_styles/andreas07/config.yaml +0 -2
  421. data/doc/examples/website_styles/andreas07/src/about.page +0 -12
  422. data/doc/examples/website_styles/andreas07/src/browserfix.css +0 -7
  423. data/doc/examples/website_styles/andreas07/src/default.css +0 -92
  424. data/doc/examples/website_styles/andreas07/src/download.page +0 -15
  425. data/doc/examples/website_styles/andreas07/src/features.page +0 -8
  426. data/doc/examples/website_styles/andreas07/src/images/bodybg.gif +0 -0
  427. data/doc/examples/website_styles/andreas07/src/images/sidebarbg.gif +0 -0
  428. data/doc/examples/website_styles/andreas07/src/index.page +0 -9
  429. data/doc/examples/website_styles/andreas07/src/screenshots.page +0 -18
  430. data/doc/examples/website_styles/andreas08/README +0 -9
  431. data/doc/examples/website_styles/andreas08/config.yaml +0 -2
  432. data/doc/examples/website_styles/andreas08/src/about.page +0 -12
  433. data/doc/examples/website_styles/andreas08/src/default.css +0 -224
  434. data/doc/examples/website_styles/andreas08/src/download.page +0 -15
  435. data/doc/examples/website_styles/andreas08/src/features.page +0 -8
  436. data/doc/examples/website_styles/andreas08/src/index.page +0 -9
  437. data/doc/examples/website_styles/andreas08/src/screenshots.page +0 -18
  438. data/doc/examples/website_styles/andreas09/README +0 -9
  439. data/doc/examples/website_styles/andreas09/config.yaml +0 -2
  440. data/doc/examples/website_styles/andreas09/src/about.page +0 -12
  441. data/doc/examples/website_styles/andreas09/src/default.css +0 -308
  442. data/doc/examples/website_styles/andreas09/src/default.template +0 -70
  443. data/doc/examples/website_styles/andreas09/src/download.page +0 -15
  444. data/doc/examples/website_styles/andreas09/src/features.page +0 -8
  445. data/doc/examples/website_styles/andreas09/src/images/bodybg-black.jpg +0 -0
  446. data/doc/examples/website_styles/andreas09/src/images/bodybg-green.jpg +0 -0
  447. data/doc/examples/website_styles/andreas09/src/images/bodybg-orange.jpg +0 -0
  448. data/doc/examples/website_styles/andreas09/src/images/bodybg-purple.jpg +0 -0
  449. data/doc/examples/website_styles/andreas09/src/images/bodybg-red.jpg +0 -0
  450. data/doc/examples/website_styles/andreas09/src/images/bodybg.jpg +0 -0
  451. data/doc/examples/website_styles/andreas09/src/images/footerbg.jpg +0 -0
  452. data/doc/examples/website_styles/andreas09/src/images/menuhover-black.jpg +0 -0
  453. data/doc/examples/website_styles/andreas09/src/images/menuhover-green.jpg +0 -0
  454. data/doc/examples/website_styles/andreas09/src/images/menuhover-orange.jpg +0 -0
  455. data/doc/examples/website_styles/andreas09/src/images/menuhover-purple.jpg +0 -0
  456. data/doc/examples/website_styles/andreas09/src/images/menuhover-red.jpg +0 -0
  457. data/doc/examples/website_styles/andreas09/src/images/menuhover.jpg +0 -0
  458. data/doc/examples/website_styles/andreas09/src/index.page +0 -9
  459. data/doc/examples/website_styles/andreas09/src/screenshots.page +0 -18
  460. data/doc/examples/website_styles/default/README +0 -9
  461. data/doc/examples/website_styles/default/config.yaml +0 -2
  462. data/doc/examples/website_styles/default/src/about.page +0 -12
  463. data/doc/examples/website_styles/default/src/default.css +0 -84
  464. data/doc/examples/website_styles/default/src/download.page +0 -15
  465. data/doc/examples/website_styles/default/src/features.page +0 -8
  466. data/doc/examples/website_styles/default/src/index.page +0 -9
  467. data/doc/examples/website_styles/default/src/screenshots.page +0 -18
  468. data/doc/examples/website_templates/default/README +0 -8
  469. data/doc/examples/website_templates/default/config.yaml +0 -2
  470. data/doc/examples/website_templates/default/src/default.css +0 -84
  471. data/doc/examples/website_templates/default/src/default.template +0 -38
  472. data/doc/examples/website_templates/default/src/index.page +0 -8
  473. data/doc/examples/website_templates/personal_hp/README +0 -8
  474. data/doc/examples/website_templates/personal_hp/config.yaml +0 -2
  475. data/doc/examples/website_templates/personal_hp/src/about.page +0 -12
  476. data/doc/examples/website_templates/personal_hp/src/default.css +0 -84
  477. data/doc/examples/website_templates/personal_hp/src/default.template +0 -38
  478. data/doc/examples/website_templates/personal_hp/src/index.page +0 -9
  479. data/doc/examples/website_templates/personal_hp/src/links.page +0 -22
  480. data/doc/examples/website_templates/personal_hp/src/projects.page +0 -20
  481. data/doc/examples/website_templates/project/README +0 -9
  482. data/doc/examples/website_templates/project/config.yaml +0 -2
  483. data/doc/examples/website_templates/project/src/about.page +0 -12
  484. data/doc/examples/website_templates/project/src/default.css +0 -84
  485. data/doc/examples/website_templates/project/src/default.template +0 -38
  486. data/doc/examples/website_templates/project/src/download.page +0 -15
  487. data/doc/examples/website_templates/project/src/features.page +0 -8
  488. data/doc/examples/website_templates/project/src/index.page +0 -9
  489. data/doc/examples/website_templates/project/src/screenshots.page +0 -18
  490. data/doc/metainfo.yaml +0 -105
  491. data/doc/plugin/emoticon.rb +0 -27
  492. data/doc/plugin/extension.rb +0 -163
  493. data/doc/plugin/gallery/slides/collage.rb +0 -337
  494. data/doc/plugin/listpluginparameters.rb +0 -37
  495. data/doc/plugin/resources.rb +0 -28
  496. data/doc/src/css/sipttra.rcss +0 -71
  497. data/doc/src/default.css +0 -434
  498. data/doc/src/default.template +0 -125
  499. data/doc/src/documentation/basics.page +0 -148
  500. data/doc/src/documentation/extending_webgen.page +0 -104
  501. data/doc/src/documentation/howto.page +0 -221
  502. data/doc/src/documentation/index.page +0 -50
  503. data/doc/src/documentation/plugins/contentconverter/default.page +0 -16
  504. data/doc/src/documentation/plugins/contentconverter/haml.page +0 -21
  505. data/doc/src/documentation/plugins/contentconverter/html.page +0 -10
  506. data/doc/src/documentation/plugins/contentconverter/markdown.page +0 -21
  507. data/doc/src/documentation/plugins/contentconverter/maruku.page +0 -23
  508. data/doc/src/documentation/plugins/contentconverter/rdoc.page +0 -11
  509. data/doc/src/documentation/plugins/contentconverter/sass.page +0 -36
  510. data/doc/src/documentation/plugins/contentconverter/textile.page +0 -21
  511. data/doc/src/documentation/plugins/contentconverter/xmlbuilder.page +0 -61
  512. data/doc/src/documentation/plugins/core/configuration.page +0 -17
  513. data/doc/src/documentation/plugins/core/filehandler.page +0 -220
  514. data/doc/src/documentation/plugins/core/index.page +0 -11
  515. data/doc/src/documentation/plugins/core/resourcemanager.page +0 -40
  516. data/doc/src/documentation/plugins/core/tagprocessor.page +0 -17
  517. data/doc/src/documentation/plugins/file/copyhandler.page +0 -26
  518. data/doc/src/documentation/plugins/file/defaulthandler.page +0 -16
  519. data/doc/src/documentation/plugins/file/directoryhandler.page +0 -37
  520. data/doc/src/documentation/plugins/file/galleryhandler.page +0 -190
  521. data/doc/src/documentation/plugins/file/pagehandler.page +0 -154
  522. data/doc/src/documentation/plugins/file/sipttrahandler.page +0 -18
  523. data/doc/src/documentation/plugins/file/templatehandler.page +0 -51
  524. data/doc/src/documentation/plugins/file/thumbnailwriter.page +0 -42
  525. data/doc/src/documentation/plugins/htmlvalidator/default.page +0 -13
  526. data/doc/src/documentation/plugins/htmlvalidator/xmllint.page +0 -12
  527. data/doc/src/documentation/plugins/index.page +0 -53
  528. data/doc/src/documentation/plugins/menustyle/default.page +0 -20
  529. data/doc/src/documentation/plugins/menustyle/horizontal.page +0 -36
  530. data/doc/src/documentation/plugins/menustyle/horizontaldropdown.page +0 -48
  531. data/doc/src/documentation/plugins/menustyle/section.page +0 -34
  532. data/doc/src/documentation/plugins/menustyle/vertical.page +0 -48
  533. data/doc/src/documentation/plugins/menustyle/verticaldropdown.page +0 -29
  534. data/doc/src/documentation/plugins/misc/index.page +0 -9
  535. data/doc/src/documentation/plugins/misc/smileyreplacer.page +0 -39
  536. data/doc/src/documentation/plugins/misc/syntaxhighlighter.page +0 -26
  537. data/doc/src/documentation/plugins/tag/block.page +0 -29
  538. data/doc/src/documentation/plugins/tag/breadcrumbtrail.page +0 -41
  539. data/doc/src/documentation/plugins/tag/customvar.page +0 -11
  540. data/doc/src/documentation/plugins/tag/date.page +0 -34
  541. data/doc/src/documentation/plugins/tag/default.page +0 -28
  542. data/doc/src/documentation/plugins/tag/download.page +0 -60
  543. data/doc/src/documentation/plugins/tag/executecommand.page +0 -29
  544. data/doc/src/documentation/plugins/tag/htmlmetainfo.page +0 -32
  545. data/doc/src/documentation/plugins/tag/includefile.page +0 -30
  546. data/doc/src/documentation/plugins/tag/langbar.de.page +0 -6
  547. data/doc/src/documentation/plugins/tag/langbar.fr.page +0 -6
  548. data/doc/src/documentation/plugins/tag/langbar.page +0 -41
  549. data/doc/src/documentation/plugins/tag/menu.page +0 -78
  550. data/doc/src/documentation/plugins/tag/meta.page +0 -21
  551. data/doc/src/documentation/plugins/tag/news.page +0 -48
  552. data/doc/src/documentation/plugins/tag/relocatable.page +0 -46
  553. data/doc/src/documentation/plugins/tag/resource.page +0 -35
  554. data/doc/src/documentation/plugins/tag/sitemap.page +0 -35
  555. data/doc/src/documentation/plugins/tag/wikilink.page +0 -33
  556. data/doc/src/documentation/references/index.page +0 -34
  557. data/doc/src/documentation/references/meta_info_reference.page +0 -136
  558. data/doc/src/documentation/references/parameter_reference.page +0 -11
  559. data/doc/src/documentation/references/resource_reference.page +0 -18
  560. data/doc/src/documentation/references/sipttra_format.page +0 -241
  561. data/doc/src/documentation/references/webpage_format.page +0 -253
  562. data/doc/src/documentation/tutorial.page +0 -167
  563. data/doc/src/download.page +0 -74
  564. data/doc/src/examples/example_sites/index.page +0 -45
  565. data/doc/src/examples/example_sites/personal.zip +0 -0
  566. data/doc/src/examples/example_sites/photo_gallery.zip +0 -0
  567. data/doc/src/examples/gallery_styles/default/default.gallery +0 -78
  568. data/doc/src/examples/gallery_styles/default/gallery_gallery.template +0 -38
  569. data/doc/src/examples/gallery_styles/default/gallery_image.template +0 -30
  570. data/doc/src/examples/gallery_styles/default/gallery_main.template +0 -18
  571. data/doc/src/examples/gallery_styles/index.page +0 -22
  572. data/doc/src/examples/gallery_styles/slides/gallery_gallery.template +0 -62
  573. data/doc/src/examples/gallery_styles/slides/gallery_image.template +0 -53
  574. data/doc/src/examples/gallery_styles/slides/gallery_main.template +0 -32
  575. data/doc/src/examples/gallery_styles/slides/slides.gallery +0 -79
  576. data/doc/src/examples/images/image01.jpg +0 -0
  577. data/doc/src/examples/images/image02.jpg +0 -0
  578. data/doc/src/examples/images/image03.jpg +0 -0
  579. data/doc/src/examples/images/image04.jpg +0 -0
  580. data/doc/src/examples/images/image05.jpg +0 -0
  581. data/doc/src/examples/images/image06.jpg +0 -0
  582. data/doc/src/examples/images/image07.jpg +0 -0
  583. data/doc/src/examples/images/image08.jpg +0 -0
  584. data/doc/src/examples/images/image09.jpg +0 -0
  585. data/doc/src/examples/images/image10.jpg +0 -0
  586. data/doc/src/examples/images/image11.jpg +0 -0
  587. data/doc/src/examples/images/image12.jpg +0 -0
  588. data/doc/src/examples/images/image13.jpg +0 -0
  589. data/doc/src/examples/images/image14.jpg +0 -0
  590. data/doc/src/examples/images/image15.jpg +0 -0
  591. data/doc/src/examples/images/image16.jpg +0 -0
  592. data/doc/src/examples/images/image17.jpg +0 -0
  593. data/doc/src/examples/images/image18.jpg +0 -0
  594. data/doc/src/examples/index.page +0 -19
  595. data/doc/src/examples/sipttra_styles/default.page +0 -5
  596. data/doc/src/examples/sipttra_styles/default/css/sipttra.rcss +0 -71
  597. data/doc/src/examples/sipttra_styles/default/default.template +0 -16
  598. data/doc/src/examples/sipttra_styles/default/index.todo +0 -60
  599. data/doc/src/examples/sipttra_styles/default/js/sipttra.js +0 -7
  600. data/doc/src/examples/sipttra_styles/default/sipttra.template +0 -105
  601. data/doc/src/examples/sipttra_styles/index.page +0 -17
  602. data/doc/src/examples/website_styles/1024px.page +0 -5
  603. data/doc/src/examples/website_styles/andreas00.page +0 -5
  604. data/doc/src/examples/website_styles/andreas01.page +0 -5
  605. data/doc/src/examples/website_styles/andreas03.page +0 -5
  606. data/doc/src/examples/website_styles/andreas04.page +0 -5
  607. data/doc/src/examples/website_styles/andreas05.page +0 -5
  608. data/doc/src/examples/website_styles/andreas06.page +0 -5
  609. data/doc/src/examples/website_styles/andreas07.page +0 -5
  610. data/doc/src/examples/website_styles/andreas08.page +0 -5
  611. data/doc/src/examples/website_styles/andreas09.page +0 -5
  612. data/doc/src/examples/website_styles/default.page +0 -5
  613. data/doc/src/examples/website_styles/index.page +0 -76
  614. data/doc/src/examples/website_templates/default.page +0 -5
  615. data/doc/src/examples/website_templates/index.page +0 -24
  616. data/doc/src/examples/website_templates/personal_hp.page +0 -5
  617. data/doc/src/examples/website_templates/project.page +0 -5
  618. data/doc/src/features.page +0 -41
  619. data/doc/src/images/bodybg.jpg +0 -0
  620. data/doc/src/images/footerbg.jpg +0 -0
  621. data/doc/src/images/menuhover.jpg +0 -0
  622. data/doc/src/images/node_diagram.svg +0 -7132
  623. data/doc/src/images/thumb_example.jpg +0 -0
  624. data/doc/src/images/thumb_example_cropped.jpg +0 -0
  625. data/doc/src/images/thumb_example_normal.jpg +0 -0
  626. data/doc/src/index.page +0 -32
  627. data/doc/src/js/sipttra.js +0 -7
  628. data/doc/src/news.page +0 -256
  629. data/doc/src/plugin.template +0 -10
  630. data/doc/src/project.todo +0 -144
  631. data/doc/src/sipttra.template +0 -105
  632. data/lib/webgen/composite.rb +0 -101
  633. data/lib/webgen/config.rb +0 -52
  634. data/lib/webgen/content.rb +0 -172
  635. data/lib/webgen/extcommand.rb +0 -23
  636. data/lib/webgen/gui/common.rb +0 -38
  637. data/lib/webgen/gui/main.rb +0 -219
  638. data/lib/webgen/gui/new_website_dlg.rb +0 -125
  639. data/lib/webgen/listener.rb +0 -105
  640. data/lib/webgen/plugin.rb +0 -578
  641. data/lib/webgen/plugins/contentconverters/default.rb +0 -40
  642. data/lib/webgen/plugins/contentconverters/haml.rb +0 -71
  643. data/lib/webgen/plugins/contentconverters/html.rb +0 -43
  644. data/lib/webgen/plugins/contentconverters/markdown.rb +0 -54
  645. data/lib/webgen/plugins/contentconverters/maruku.rb +0 -33
  646. data/lib/webgen/plugins/contentconverters/rdoc.rb +0 -54
  647. data/lib/webgen/plugins/contentconverters/textile.rb +0 -54
  648. data/lib/webgen/plugins/contentconverters/xmlbuilder.rb +0 -58
  649. data/lib/webgen/plugins/coreplugins/configuration.rb +0 -45
  650. data/lib/webgen/plugins/coreplugins/resourcemanager.rb +0 -307
  651. data/lib/webgen/plugins/filehandlers/copy.rb +0 -82
  652. data/lib/webgen/plugins/filehandlers/directory.rb +0 -126
  653. data/lib/webgen/plugins/filehandlers/filehandler.rb +0 -486
  654. data/lib/webgen/plugins/filehandlers/gallery.rb +0 -486
  655. data/lib/webgen/plugins/filehandlers/page.rb +0 -255
  656. data/lib/webgen/plugins/filehandlers/sipttra.rb +0 -73
  657. data/lib/webgen/plugins/filehandlers/template.rb +0 -115
  658. data/lib/webgen/plugins/htmlvalidators/default.rb +0 -39
  659. data/lib/webgen/plugins/htmlvalidators/xmllint.rb +0 -54
  660. data/lib/webgen/plugins/menustyles/default.rb +0 -80
  661. data/lib/webgen/plugins/menustyles/horizontal.rb +0 -85
  662. data/lib/webgen/plugins/menustyles/horizontal_dropdown.rb +0 -99
  663. data/lib/webgen/plugins/menustyles/section.rb +0 -68
  664. data/lib/webgen/plugins/menustyles/vertical.rb +0 -87
  665. data/lib/webgen/plugins/menustyles/vertical_dropdown.rb +0 -99
  666. data/lib/webgen/plugins/miscplugins/rendered_files.rb +0 -75
  667. data/lib/webgen/plugins/miscplugins/smileyreplacer.rb +0 -87
  668. data/lib/webgen/plugins/miscplugins/syntax_highlighter.rb +0 -72
  669. data/lib/webgen/plugins/miscplugins/treewalker.rb +0 -91
  670. data/lib/webgen/plugins/tags/block.rb +0 -65
  671. data/lib/webgen/plugins/tags/breadcrumbtrail.rb +0 -75
  672. data/lib/webgen/plugins/tags/customvar.rb +0 -54
  673. data/lib/webgen/plugins/tags/date.rb +0 -46
  674. data/lib/webgen/plugins/tags/download.rb +0 -155
  675. data/lib/webgen/plugins/tags/executecommand.rb +0 -69
  676. data/lib/webgen/plugins/tags/htmlmetainfo.rb +0 -27
  677. data/lib/webgen/plugins/tags/includefile.rb +0 -69
  678. data/lib/webgen/plugins/tags/langbar.rb +0 -55
  679. data/lib/webgen/plugins/tags/menu.rb +0 -111
  680. data/lib/webgen/plugins/tags/meta.rb +0 -53
  681. data/lib/webgen/plugins/tags/news.rb +0 -151
  682. data/lib/webgen/plugins/tags/relocatable.rb +0 -94
  683. data/lib/webgen/plugins/tags/sitemap.rb +0 -82
  684. data/lib/webgen/plugins/tags/tag_processor.rb +0 -279
  685. data/lib/webgen/plugins/tags/wikilink.rb +0 -62
  686. data/lib/webgen/rake/webgentask.rb +0 -161
  687. data/lib/webgen/sipttra_format.rb +0 -343
  688. data/lib/webgen/test.rb +0 -202
  689. data/test/fixtures/sample_site/src/chained.template +0 -3
  690. data/test/fixtures/sample_site/src/default.template +0 -3
  691. data/test/fixtures/sample_site/src/dir1/dir11/file111.de.page +0 -3
  692. data/test/fixtures/sample_site/src/dir1/dir11/file111.page +0 -3
  693. data/test/fixtures/sample_site/src/dir1/dir11/index.page +0 -3
  694. data/test/fixtures/sample_site/src/dir1/file11.page +0 -3
  695. data/test/fixtures/sample_site/src/dir2/file21.page +0 -3
  696. data/test/fixtures/sample_site/src/embedded.rhtml +0 -1
  697. data/test/fixtures/sample_site/src/file1.page +0 -8
  698. data/test/fixtures/sample_site/src/file2.de.page +0 -6
  699. data/test/fixtures/sample_site/src/index.de.page +0 -5
  700. data/test/fixtures/sample_site/src/index.en.page +0 -1
  701. data/test/fixtures/sample_site/src/invalid.template +0 -3
  702. data/test/fixtures/sample_site/src/test.jpg +0 -1
  703. data/test/fixtures/sample_site/src/test.template +0 -3
  704. data/test/fixtures/sample_site/src/test.todo +0 -7
  705. data/test/fixtures/tc_content/blocks.yaml +0 -40
  706. data/test/fixtures/tc_content/correct.yaml +0 -65
  707. data/test/fixtures/tc_content/incorrect.yaml +0 -42
  708. data/test/fixtures/tc_filehandler_filehandler/backing/metainfo.yaml +0 -9
  709. data/test/fixtures/tc_filehandler_filehandler/backing_empty/metainfo.yaml +0 -6
  710. data/test/fixtures/tc_filehandler_filehandler/sample_plugin.rb +0 -49
  711. data/test/fixtures/tc_filehandler_filehandler/unmodified +0 -0
  712. data/test/fixtures/tc_filehandler_gallery/test.gallery +0 -2
  713. data/test/fixtures/tc_filehandler_gallery/test1.gallery +0 -2
  714. data/test/fixtures/tc_filehandler_gallery/test1.jpg +0 -0
  715. data/test/fixtures/tc_filehandler_gallery/test2.jpg +0 -0
  716. data/test/fixtures/tc_filehandler_gallery/test3.jpg +0 -0
  717. data/test/fixtures/tc_filehandler_gallery/test4.jpg +0 -0
  718. data/test/fixtures/tc_filehandler_page/testdata.yaml +0 -10
  719. data/test/fixtures/tc_menustyles_default/menustyle.rb +0 -7
  720. data/test/fixtures/tc_node/nodes.yaml +0 -64
  721. data/test/fixtures/tc_plugin/handlerplugin.rb +0 -15
  722. data/test/fixtures/tc_plugin/plugin1.rb +0 -35
  723. data/test/fixtures/tc_plugin/plugin2.rb +0 -8
  724. data/test/fixtures/tc_sipttra_format/test.sipttra +0 -46
  725. data/test/fixtures/tc_tags_includefile/testfile +0 -1
  726. data/test/fixtures/tc_tags_tag_processor/test_file1 +0 -1
  727. data/test/fixtures/tc_tags_tag_processor/testtag.rb +0 -17
  728. data/test/fixtures/tc_website/correct.yaml +0 -6
  729. data/test/fixtures/tc_website/incorrect_structure.yaml +0 -2
  730. data/test/fixtures/tc_website/incorrect_yaml.yaml +0 -5
  731. data/test/fixtures/tc_website/meta_info_test.yaml +0 -10
  732. data/test/fixtures/tc_website/testdir/README +0 -1
  733. data/test/fixtures/tc_website/testdir/falsedir/README +0 -1
  734. data/test/runtests.rb +0 -2
  735. data/test/unittests/tc_composite.rb +0 -82
  736. data/test/unittests/tc_config.rb +0 -18
  737. data/test/unittests/tc_content.rb +0 -96
  738. data/test/unittests/tc_contentconverters_default.rb +0 -13
  739. data/test/unittests/tc_contentconverters_html.rb +0 -16
  740. data/test/unittests/tc_contentconverters_markdown.rb +0 -22
  741. data/test/unittests/tc_contentconverters_rdoc.rb +0 -16
  742. data/test/unittests/tc_contentconverters_textile.rb +0 -22
  743. data/test/unittests/tc_contentconverters_xmlbuilder.rb +0 -22
  744. data/test/unittests/tc_filehandler_copy.rb +0 -65
  745. data/test/unittests/tc_filehandler_directory.rb +0 -134
  746. data/test/unittests/tc_filehandler_filehandler.rb +0 -294
  747. data/test/unittests/tc_filehandler_gallery.rb +0 -165
  748. data/test/unittests/tc_filehandler_page.rb +0 -183
  749. data/test/unittests/tc_filehandler_sipttra.rb +0 -26
  750. data/test/unittests/tc_filehandler_template.rb +0 -64
  751. data/test/unittests/tc_htmlvalidators_default.rb +0 -12
  752. data/test/unittests/tc_htmlvalidators_xmllint.rb +0 -19
  753. data/test/unittests/tc_languages.rb +0 -57
  754. data/test/unittests/tc_listener.rb +0 -72
  755. data/test/unittests/tc_menustyles_default.rb +0 -51
  756. data/test/unittests/tc_menustyles_horizontal.rb +0 -64
  757. data/test/unittests/tc_menustyles_horizontal_dropdown.rb +0 -18
  758. data/test/unittests/tc_menustyles_section.rb +0 -59
  759. data/test/unittests/tc_menustyles_vertical.rb +0 -79
  760. data/test/unittests/tc_menustyles_vertical_dropdown.rb +0 -18
  761. data/test/unittests/tc_node.rb +0 -205
  762. data/test/unittests/tc_plugin.rb +0 -221
  763. data/test/unittests/tc_resourcemanager.rb +0 -42
  764. data/test/unittests/tc_sipttra_format.rb +0 -58
  765. data/test/unittests/tc_smileyreplacer.rb +0 -25
  766. data/test/unittests/tc_syntax_highlighter.rb +0 -30
  767. data/test/unittests/tc_tags_block.rb +0 -27
  768. data/test/unittests/tc_tags_breadcrumbtrail.rb +0 -56
  769. data/test/unittests/tc_tags_customvar.rb +0 -24
  770. data/test/unittests/tc_tags_date.rb +0 -16
  771. data/test/unittests/tc_tags_download.rb +0 -32
  772. data/test/unittests/tc_tags_executecommand.rb +0 -37
  773. data/test/unittests/tc_tags_includefile.rb +0 -46
  774. data/test/unittests/tc_tags_langbar.rb +0 -42
  775. data/test/unittests/tc_tags_menu.rb +0 -50
  776. data/test/unittests/tc_tags_meta.rb +0 -19
  777. data/test/unittests/tc_tags_relocatable.rb +0 -66
  778. data/test/unittests/tc_tags_sitemap.rb +0 -33
  779. data/test/unittests/tc_tags_tag_processor.rb +0 -107
  780. data/test/unittests/tc_tags_wikilink.rb +0 -22
  781. data/test/unittests/tc_treewalker.rb +0 -51
  782. data/test/unittests/tc_website.rb +0 -188
@@ -0,0 +1,18 @@
1
+ module Webgen::ContentProcessor
2
+
3
+ # Processes content in Markdown format using the +maruku+ library.
4
+ class Maruku
5
+
6
+ # Convert the content in +context+ to HTML.
7
+ def call(context)
8
+ require 'maruku'
9
+ $uid = 0 #fix for invalid fragment ids on second run
10
+ context.content = ::Maruku.new(context.content, :on_error => :raise).to_html
11
+ context
12
+ rescue Exception => e
13
+ raise "Maruku to HTML conversion failed: #{e.message}"
14
+ end
15
+
16
+ end
17
+
18
+ end
@@ -0,0 +1,15 @@
1
+ module Webgen::ContentProcessor
2
+
3
+ # Processes content in Textile format using the +redcloth+ library.
4
+ class RedCloth
5
+
6
+ # Convert the content in +context+ to HTML.
7
+ def call(context)
8
+ require 'redcloth'
9
+ context.content = ::RedCloth.new(context.content).to_html
10
+ context
11
+ end
12
+
13
+ end
14
+
15
+ end
@@ -0,0 +1,134 @@
1
+ require 'yaml'
2
+ require 'strscan'
3
+ require 'webgen/tag'
4
+
5
+ module Webgen::ContentProcessor
6
+
7
+ # Processes special webgen tags to provide dynamic content.
8
+ #
9
+ # webgen tags are an easy way to add dynamically generated content to websites, for example menus
10
+ # or breadcrumb trails.
11
+ class Tags
12
+
13
+ include Webgen::WebsiteAccess
14
+ include Webgen::Loggable
15
+
16
+ def initialize #:nodoc:
17
+ @start_re = /(\\*)\{#{website.config['contentprocessor.tags.prefix']}(\w+)(::?)/
18
+ @end_re = /(\\*)\{#{website.config['contentprocessor.tags.prefix']}(\w+)\}/
19
+ end
20
+
21
+ # Replace all webgen tags in the content of +context+ with the rendered content.
22
+ def call(context)
23
+ replace_tags(context.content, context.ref_node) do |tag, param_string, body|
24
+ log(:debug) { "Replacing tag #{tag} with data '#{param_string}' and body '#{body}' in <#{context.ref_node.absolute_lcn}>" }
25
+
26
+ result = ''
27
+ processor = processor_for_tag(tag)
28
+ if !processor.nil?
29
+ processor.set_params(processor.create_tag_params(param_string, context.ref_node))
30
+ result, process_output = processor.call(tag, body, context)
31
+ processor.set_params(nil)
32
+
33
+ result = call(context.clone(:content => result)).content if process_output
34
+ end
35
+
36
+ result
37
+ end
38
+ context
39
+ end
40
+
41
+ #######
42
+ private
43
+ #######
44
+
45
+ BRACKETS_RE = /([{}])/
46
+ ProcessingStruct = Struct.new(:state, :tag, :simple_tag, :backslashes, :brackets, :start_pos, :end_pos,
47
+ :params_start_pos, :params_end_pos, :body_end_pos)
48
+
49
+ # Return the +content+ provided by +node+ with all webgen tags replaced. When a webgen tag is
50
+ # encountered by the parser, the method yields all found information and substitutes the
51
+ # returned string for the tag.
52
+ def replace_tags(content, node) #:yields: tag_name, param_string, body
53
+ scanner = StringScanner.new(content)
54
+ data = ProcessingStruct.new(:before_tag)
55
+ while true
56
+ case data.state
57
+ when :before_tag
58
+ if scanner.skip_until(@start_re)
59
+ data.state = :in_start_tag
60
+ data.backslashes = scanner[1].length
61
+ data.brackets = 1
62
+ data.tag = scanner[2]
63
+ data.simple_tag = (scanner[3] == ':')
64
+ data.params_start_pos = scanner.pos
65
+ data.start_pos = scanner.pos - scanner.matched.length
66
+ else
67
+ data.state = :done
68
+ end
69
+
70
+ when :in_start_tag
71
+ data.brackets += (scanner[1] == '{' ? 1 : -1) while data.brackets != 0 && scanner.skip_until(BRACKETS_RE)
72
+ if data.brackets != 0
73
+ log(:error) { "Unbalanced curly brackets in <#{node.absolute_lcn}>!" }
74
+ data.state = :done
75
+ else
76
+ data.params_end_pos = data.body_end_pos = data.end_pos = scanner.pos - 1
77
+ data.state = (data.simple_tag ? :process : :in_body)
78
+ end
79
+
80
+ when :process
81
+ if data.backslashes % 2 == 0
82
+ result = yield(data.tag, scanner.string[data.params_start_pos...data.params_end_pos],
83
+ scanner.string[(data.params_end_pos+1)...data.body_end_pos]).to_s
84
+ scanner.string[data.start_pos..data.end_pos] = "\\" * (data.backslashes / 2) + result
85
+ scanner.pos = data.start_pos + result.length
86
+ else
87
+ scanner.string[data.start_pos, 1 + data.backslashes / 2] = ''
88
+ scanner.pos -= 1 + data.backslashes / 2
89
+ end
90
+ data.state = :before_tag
91
+
92
+ when :in_body
93
+ while (result = scanner.skip_until(@end_re))
94
+ next unless scanner[2] == data.tag
95
+ if scanner[1].length % 2 == 1
96
+ scanner.string[(scanner.pos - scanner.matched.length), 1 + scanner[1].length / 2] = ''
97
+ scanner.pos -= 1 + scanner[1].length / 2
98
+ else
99
+ break
100
+ end
101
+ end
102
+ if result
103
+ data.state = :process
104
+ data.end_pos = scanner.pos - 1
105
+ data.body_end_pos = scanner.pos - scanner.matched.length + scanner[1].length / 2
106
+ else
107
+ log(:error) { "Invalid body part in <#{node.absolute_lcn}>!" }
108
+ data.state = :done
109
+ end
110
+
111
+ when :done
112
+ break
113
+ end
114
+ end
115
+ scanner.string
116
+ end
117
+
118
+ # Return the tag processor for +tag+ or +nil+ if +tag+ is unknown.
119
+ def processor_for_tag(tag)
120
+ map = website.config['contentprocessor.tags.map']
121
+ klass = if map.has_key?(tag)
122
+ map[tag]
123
+ elsif map.has_key?(:default)
124
+ map[:default]
125
+ else
126
+ log(:error) { "No tag processor for tag #{tag.inspect} found" }
127
+ nil
128
+ end
129
+ klass.nil? ? nil : website.cache.instance(klass)
130
+ end
131
+
132
+ end
133
+
134
+ end
@@ -0,0 +1,128 @@
1
+ website = Webgen::WebsiteAccess.website
2
+ config = website.config
3
+
4
+ # General configuration parameters
5
+ config.website.cache([:file, 'webgen.cache'], :doc => 'The file name (or String) from/to which the cache is read/written')
6
+ config.website.lang('en', :doc => 'The default language used for the website')
7
+ config.website.link_to_current_page(false, :doc => 'Specifies whether links to the current page should be used')
8
+
9
+ # All things regarding logging
10
+ config.logger.mask(nil, :doc => 'Only show logging events which match the regexp mask')
11
+
12
+
13
+ # All things regarding resources
14
+ config.resources({}, :doc => 'A mapping from resource names to source identifiers')
15
+
16
+ resources = YAML::load(File.read(File.join(Webgen.data_dir, 'resources.yaml')))
17
+ resources.each do |res_path_template, res_name|
18
+ Dir.glob(File.join(Webgen.data_dir, res_path_template), File::FNM_CASEFOLD).each do |res_path|
19
+ substs = Hash.new {|h,k| h[k] = "$" + k }
20
+ substs.merge!({
21
+ 'basename' => File.basename(res_path),
22
+ 'basename_no_ext' => File.basename(res_path, '.*'),
23
+ 'extname' => File.extname(res_path)[1..-1],
24
+ :dirnames => File.dirname(res_path).split(File::SEPARATOR),
25
+ })
26
+ name = res_name.to_s.gsub(/\$\w+/) do |m|
27
+ if m =~ /^\$dir(\d+)$/
28
+ substs[:dirnames][-($1.to_i)]
29
+ else
30
+ substs[m[1..-1]]
31
+ end
32
+ end
33
+ config['resources'][name] = if File.directory?(res_path)
34
+ ["Webgen::Source::FileSystem", res_path]
35
+ else
36
+ ["Webgen::Source::FileSystem", File.dirname(res_path), File.basename(res_path)]
37
+ end
38
+ end
39
+ end
40
+
41
+
42
+ # All things regarding sources
43
+ config.sources [['/', "Webgen::Source::FileSystem", 'src']], :doc => 'One or more sources from which files are read, relative to website directory'
44
+
45
+ # All things regarding source handler
46
+ config.sourcehandler.patterns({
47
+ 'Webgen::SourceHandler::Copy' => ['**/*.css', '**/*.js', '**/*.html', '**/*.gif', '**/*.jpg', '**/*.png'],
48
+ 'Webgen::SourceHandler::Directory' => ['**/'],
49
+ 'Webgen::SourceHandler::Metainfo' => ['**/metainfo', '**/*.metainfo'],
50
+ 'Webgen::SourceHandler::Template' => ['**/*.template'],
51
+ 'Webgen::SourceHandler::Page' => ['**/*.page'],
52
+ 'Webgen::SourceHandler::Virtual' => ['**/virtual', '**/*.virtual']
53
+ }, :doc => 'Source handler to path pattern map')
54
+ config.sourcehandler.invoke({
55
+ 1 => ['Webgen::SourceHandler::Directory', 'Webgen::SourceHandler::Metainfo', 'Webgen::SourceHandler::Directory'],
56
+ 5 => ['Webgen::SourceHandler::Copy', 'Webgen::SourceHandler::Template', 'Webgen::SourceHandler::Page'],
57
+ 9 => ['Webgen::SourceHandler::Virtual']
58
+ }, :doc => 'All source handlers listed here are used by webgen and invoked according to their priority setting')
59
+ config.sourcehandler.casefold(true, :doc => 'Specifies whether path are considered to be case-sensitive')
60
+ config.sourcehandler.use_hidden_files(false, :doc => 'Specifies whether hidden files (those starting with a dot) are used')
61
+ config.sourcehandler.ignore(['**/*~', '**/.svn/**'], :doc => 'Path patterns that should be ignored')
62
+ config.sourcehandler.default_lang_in_output_path(false, :doc => 'Specifies whether output paths in the default language should have the language in the name')
63
+ =begin
64
+ TODO:put this info into the user docs
65
+ desc: Defines how the output name should be built. The correct name will be used for the
66
+ :basename part and the file language will be used for the :lang part. If defaultLangInFilename
67
+ is true, the :lang part or the subarray in which the :lang part was defined, will be omitted.
68
+ The :ext part is replaced with the correct extension.
69
+ =end
70
+ config.sourcehandler.default_meta_info({
71
+ :all => {
72
+ 'output_path_style' => [:parent, :cnbase, ['.', :lang], :ext]
73
+ },
74
+ 'Webgen::SourceHandler::Directory' => {
75
+ 'index_path' => 'index.html'
76
+ },
77
+ 'Webgen::SourceHandler::Page' => {
78
+ 'fragments_in_menu' => true,
79
+ 'blocks' => {'default' => {'pipeline' => 'tags,maruku,blocks'}}
80
+ },
81
+ 'Webgen::SourceHandler::Template' => {
82
+ 'blocks' => {'default' => {'pipeline' => 'tags,blocks'}}
83
+ },
84
+ 'Webgen::SourceHandler::Metainfo' => {
85
+ 'blocks' => {1 => {'name' => 'paths'}, 2 => {'name' => 'alcn'}}
86
+ }
87
+ }, :doc => "Default meta information for all nodes and for nodes belonging to a specific source handler")
88
+
89
+ config.sourcehandler.template.default_template('default.template', :doc => 'The name of the default template file of a directory')
90
+
91
+ website.autoload_service(:templates_for_node, 'Webgen::SourceHandler::Template')
92
+
93
+ website.autoload_service(:create_fragment_nodes, 'Webgen::SourceHandler::Fragment')
94
+ website.autoload_service(:parse_html_headers, 'Webgen::SourceHandler::Fragment')
95
+
96
+
97
+ # All things regarding output
98
+ config.output ["Webgen::Output::FileSystem", 'out'], :doc => 'The class which is used to output the generated paths.'
99
+
100
+ Webgen::WebsiteAccess.website.blackboard.add_service(:output_instance, Webgen::Output.method(:instance))
101
+
102
+
103
+ # All things regarding content processors
104
+ config.contentprocessor.map({
105
+ 'maruku' => 'Webgen::ContentProcessor::Maruku',
106
+ 'redcloth' => 'Webgen::ContentProcessor::RedCloth',
107
+ 'tags' => 'Webgen::ContentProcessor::Tags',
108
+ 'blocks' => 'Webgen::ContentProcessor::Blocks'
109
+ }, :doc => 'Content processor name to class map')
110
+
111
+ Webgen::WebsiteAccess.website.blackboard.add_service(:content_processor_names, Webgen::ContentProcessor.method(:list))
112
+ Webgen::WebsiteAccess.website.blackboard.add_service(:content_processor, Webgen::ContentProcessor.method(:for_name))
113
+
114
+ # All things regarding tags
115
+ config.contentprocessor.tags.prefix('', :doc => 'The prefix used for tag names to avoid name clashes when another content processor uses similar markup.')
116
+ config.contentprocessor.tags.map({
117
+ 'relocatable' => 'Webgen::Tag::Relocatable',
118
+ 'menu' => 'Webgen::Tag::Menu',
119
+ :default => 'Webgen::Tag::Metainfo'
120
+ }, :doc => 'Tag processor name to class map')
121
+
122
+ config.tag.relocatable.path(nil, :doc => 'The path which should be made relocatable', :mandatory => 'default')
123
+
124
+ config.tag.menu.start_level(1, :doc => 'The level at which the menu starts.')
125
+ config.tag.menu.min_levels(1, :doc => 'The minimum number of menu levels that should always be shown.')
126
+ config.tag.menu.max_levels(3, :doc => 'The maximum number of menu levels that should be shown.')
127
+ config.tag.menu.show_current_subtree_only(true, :doc => 'Specifies whether only the current subtree should be shown.')
128
+ config.tag.menu.used_nodes('all', :doc => 'Specifies the kind of nodes that should be used: all, files, or fragments')
@@ -1,27 +1,3 @@
1
- #
2
- #--
3
- #
4
- # $Id: languages.rb 484 2006-09-02 07:55:59Z thomas $
5
- #
6
- # webgen: template based static website generator
7
- # Copyright (C) 2004 Thomas Leitner
8
- #
9
- # This program is free software; you can redistribute it and/or modify it under the terms of the GNU
10
- # General Public License as published by the Free Software Foundation; either version 2 of the
11
- # License, or (at your option) any later version.
12
- #
13
- # This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
14
- # even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15
- # General Public License for more details.
16
- #
17
- # You should have received a copy of the GNU General Public License along with this program; if not,
18
- # write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19
- #
20
- #++
21
- #
22
-
23
- require 'webgen/config'
24
-
25
1
  module Webgen
26
2
 
27
3
  # Describes a human language which is uniquely identfied by a three letter code and, optionally,
@@ -30,13 +6,16 @@ module Webgen
30
6
 
31
7
  include Comparable
32
8
 
9
+ # An array containing the language codes for the language.
33
10
  attr_reader :codes
11
+
12
+ # The english description of the language.
34
13
  attr_reader :description
35
14
 
36
- # Creates a new language. +codes+ has to be an array containing three strings: the three letter
15
+ # Create a new language. +codes+ has to be an array containing three strings: the three letter
37
16
  # code, the alternative three letter code and the two letter code. If one is not available for
38
17
  # the language, it has to be +nil+.
39
- def initialize( codes, description )
18
+ def initialize(codes, description)
40
19
  @codes = codes
41
20
  @description = description
42
21
  end
@@ -63,39 +42,40 @@ module Webgen
63
42
 
64
43
  alias_method :to_str, :to_s
65
44
 
66
- def inspect
67
- "#<Language codes=#{codes.inspect} description=#{description.inspect}"
45
+ def inspect #:nodoc:
46
+ "#<Language codes=#{codes.inspect} description=#{description.inspect}>"
68
47
  end
69
48
 
70
- def <=>( other )
49
+ def <=>(other) #:nodoc:
71
50
  self.to_s <=> other.to_s
72
51
  end
73
52
 
74
53
  end
75
54
 
76
55
 
77
- # Used for managinging human languages.
56
+ # Used for managing human languages.
78
57
  module LanguageManager
79
58
 
80
- # Returns a +Language+ object for the given language code.
81
- def self.language_for_code( code )
59
+ # Return a +Language+ object for the given language code or +nil+ if no such object exists.
60
+ def self.language_for_code(code)
82
61
  languages[code]
83
62
  end
84
63
 
85
- # Returns an array of +Language+ objects whose description match the given +text+.
86
- def self.find_language( text )
64
+ # Return an array of +Language+ objects whose description match the given +text+.
65
+ def self.find_language(text)
87
66
  languages.values.find_all {|lang| /.*#{Regexp.escape(text)}.*/i =~ lang.description}.uniq.sort
88
67
  end
89
68
 
90
- # Returns all available languages as a Hash. The keys are the language codes and the values are
69
+ # Return all available languages as a Hash. The keys are the language codes and the values are
91
70
  # the +Language+ objects for them.
92
71
  def self.languages
93
- unless defined?( @@languages )
72
+ unless defined?(@@languages)
94
73
  @@languages = {}
95
- code_file = File.join( Webgen.data_dir, 'data', 'ISO-639-2_values_8bits.txt' )
96
- File.readlines( code_file ).each do |l|
97
- data = l.chomp.split( '|' ).collect {|f| f.empty? ? nil : f }
98
- lang = Language.new( data[0..2], data[3] )
74
+ started = nil
75
+ data = File.readlines(__FILE__).each do |l|
76
+ next if !started && (started = (l == '__END__'))
77
+ data = l.chomp.split('|').collect {|f| f.empty? ? nil : f}
78
+ lang = Language.new(data[0..2], data[3])
99
79
  @@languages[lang.code2chars] ||= lang unless lang.code2chars.nil?
100
80
  @@languages[lang.code3chars] ||= lang unless lang.code3chars.nil?
101
81
  @@languages[lang.code3chars_alternative] ||= lang unless lang.code3chars_alternative.nil?
@@ -108,3 +88,491 @@ module Webgen
108
88
  end
109
89
 
110
90
  end
91
+
92
+ __END__
93
+ aar||aa|Afar|afar
94
+ abk||ab|Abkhazian|abkhaze
95
+ ace|||Achinese|aceh
96
+ ach|||Acoli|acoli
97
+ ada|||Adangme|adangme
98
+ ady|||Adyghe; Adygei|adyghé
99
+ afa|||Afro-Asiatic (Other)|afro-asiatiques, autres langues
100
+ afh|||Afrihili|afrihili
101
+ afr||af|Afrikaans|afrikaans
102
+ ain|||Ainu|aïnou
103
+ aka||ak|Akan|akan
104
+ akk|||Akkadian|akkadien
105
+ alb|sqi|sq|Albanian|albanais
106
+ ale|||Aleut|aléoute
107
+ alg|||Algonquian languages|algonquines, langues
108
+ alt|||Southern Altai|altai du Sud
109
+ amh||am|Amharic|amharique
110
+ ang|||English, Old (ca.450-1100)|anglo-saxon (ca.450-1100)
111
+ anp|||Angika|angika
112
+ apa|||Apache languages|apache
113
+ ara||ar|Arabic|arabe
114
+ arc|||Official Aramaic (700-300 BCE); Imperial Aramaic (700-300 BCE)|araméen d'empire (700-300 BCE)
115
+ arg||an|Aragonese|aragonais
116
+ arm|hye|hy|Armenian|arménien
117
+ arn|||Mapudungun; Mapuche|mapudungun; mapuche; mapuce
118
+ arp|||Arapaho|arapaho
119
+ art|||Artificial (Other)|artificielles, autres langues
120
+ arw|||Arawak|arawak
121
+ asm||as|Assamese|assamais
122
+ ast|||Asturian; Bable; Leonese; Asturleonese|asturien; bable; léonais; asturoléonais
123
+ ath|||Athapascan languages|athapascanes, langues
124
+ aus|||Australian languages|australiennes, langues
125
+ ava||av|Avaric|avar
126
+ ave||ae|Avestan|avestique
127
+ awa|||Awadhi|awadhi
128
+ aym||ay|Aymara|aymara
129
+ aze||az|Azerbaijani|azéri
130
+ bad|||Banda languages|banda, langues
131
+ bai|||Bamileke languages|bamilékés, langues
132
+ bak||ba|Bashkir|bachkir
133
+ bal|||Baluchi|baloutchi
134
+ bam||bm|Bambara|bambara
135
+ ban|||Balinese|balinais
136
+ baq|eus|eu|Basque|basque
137
+ bas|||Basa|basa
138
+ bat|||Baltic (Other)|baltiques, autres langues
139
+ bej|||Beja; Bedawiyet|bedja
140
+ bel||be|Belarusian|biélorusse
141
+ bem|||Bemba|bemba
142
+ ben||bn|Bengali|bengali
143
+ ber|||Berber (Other)|berbères, autres langues
144
+ bho|||Bhojpuri|bhojpuri
145
+ bih||bh|Bihari|bihari
146
+ bik|||Bikol|bikol
147
+ bin|||Bini; Edo|bini; edo
148
+ bis||bi|Bislama|bichlamar
149
+ bla|||Siksika|blackfoot
150
+ bnt|||Bantu (Other)|bantoues, autres langues
151
+ bos||bs|Bosnian|bosniaque
152
+ bra|||Braj|braj
153
+ bre||br|Breton|breton
154
+ btk|||Batak languages|batak, langues
155
+ bua|||Buriat|bouriate
156
+ bug|||Buginese|bugi
157
+ bul||bg|Bulgarian|bulgare
158
+ bur|mya|my|Burmese|birman
159
+ byn|||Blin; Bilin|blin; bilen
160
+ cad|||Caddo|caddo
161
+ cai|||Central American Indian (Other)|indiennes d'Amérique centrale, autres langues
162
+ car|||Galibi Carib|karib; galibi; carib
163
+ cat||ca|Catalan; Valencian|catalan; valencien
164
+ cau|||Caucasian (Other)|caucasiennes, autres langues
165
+ ceb|||Cebuano|cebuano
166
+ cel|||Celtic (Other)|celtiques, autres langues
167
+ cha||ch|Chamorro|chamorro
168
+ chb|||Chibcha|chibcha
169
+ che||ce|Chechen|tchétchène
170
+ chg|||Chagatai|djaghataï
171
+ chi|zho|zh|Chinese|chinois
172
+ chk|||Chuukese|chuuk
173
+ chm|||Mari|mari
174
+ chn|||Chinook jargon|chinook, jargon
175
+ cho|||Choctaw|choctaw
176
+ chp|||Chipewyan; Dene Suline|chipewyan
177
+ chr|||Cherokee|cherokee
178
+ chu||cu|Church Slavic; Old Slavonic; Church Slavonic; Old Bulgarian; Old Church Slavonic|slavon d'église; vieux slave; slavon liturgique; vieux bulgare
179
+ chv||cv|Chuvash|tchouvache
180
+ chy|||Cheyenne|cheyenne
181
+ cmc|||Chamic languages|chames, langues
182
+ cop|||Coptic|copte
183
+ cor||kw|Cornish|cornique
184
+ cos||co|Corsican|corse
185
+ cpe|||Creoles and pidgins, English based (Other)|créoles et pidgins anglais, autres
186
+ cpf|||Creoles and pidgins, French-based (Other)|créoles et pidgins français, autres
187
+ cpp|||Creoles and pidgins, Portuguese-based (Other)|créoles et pidgins portugais, autres
188
+ cre||cr|Cree|cree
189
+ crh|||Crimean Tatar; Crimean Turkish|tatar de Crimé
190
+ crp|||Creoles and pidgins (Other)|créoles et pidgins divers
191
+ csb|||Kashubian|kachoube
192
+ cus|||Cushitic (Other)|couchitiques, autres langues
193
+ cze|ces|cs|Czech|tchèque
194
+ dak|||Dakota|dakota
195
+ dan||da|Danish|danois
196
+ dar|||Dargwa|dargwa
197
+ day|||Land Dayak languages|dayak, langues
198
+ del|||Delaware|delaware
199
+ den|||Slave (Athapascan)|esclave (athapascan)
200
+ dgr|||Dogrib|dogrib
201
+ din|||Dinka|dinka
202
+ div||dv|Divehi; Dhivehi; Maldivian|maldivien
203
+ doi|||Dogri|dogri
204
+ dra|||Dravidian (Other)|dravidiennes, autres langues
205
+ dsb|||Lower Sorbian|bas-sorabe
206
+ dua|||Duala|douala
207
+ dum|||Dutch, Middle (ca.1050-1350)|néerlandais moyen (ca. 1050-1350)
208
+ dut|nld|nl|Dutch; Flemish|néerlandais; flamand
209
+ dyu|||Dyula|dioula
210
+ dzo||dz|Dzongkha|dzongkha
211
+ efi|||Efik|efik
212
+ egy|||Egyptian (Ancient)|égyptien
213
+ eka|||Ekajuk|ekajuk
214
+ elx|||Elamite|élamite
215
+ eng||en|English|anglais
216
+ enm|||English, Middle (1100-1500)|anglais moyen (1100-1500)
217
+ epo||eo|Esperanto|espéranto
218
+ est||et|Estonian|estonien
219
+ ewe||ee|Ewe|éwé
220
+ ewo|||Ewondo|éwondo
221
+ fan|||Fang|fang
222
+ fao||fo|Faroese|féroïen
223
+ fat|||Fanti|fanti
224
+ fij||fj|Fijian|fidjien
225
+ fil|||Filipino; Pilipino|filipino; pilipino
226
+ fin||fi|Finnish|finnois
227
+ fiu|||Finno-Ugrian (Other)|finno-ougriennes, autres langues
228
+ fon|||Fon|fon
229
+ fre|fra|fr|French|français
230
+ frm|||French, Middle (ca.1400-1600)|français moyen (1400-1600)
231
+ fro|||French, Old (842-ca.1400)|français ancien (842-ca.1400)
232
+ frr|||Northern Frisian|frison septentrional
233
+ frs|||Eastern Frisian|frison oriental
234
+ fry||fy|Western Frisian|frison occidental
235
+ ful||ff|Fulah|peul
236
+ fur|||Friulian|frioulan
237
+ gaa|||Ga|ga
238
+ gay|||Gayo|gayo
239
+ gba|||Gbaya|gbaya
240
+ gem|||Germanic (Other)|germaniques, autres langues
241
+ geo|kat|ka|Georgian|géorgien
242
+ ger|deu|de|German|allemand
243
+ gez|||Geez|guèze
244
+ gil|||Gilbertese|kiribati
245
+ gla||gd|Gaelic; Scottish Gaelic|gaélique; gaélique écossais
246
+ gle||ga|Irish|irlandais
247
+ glg||gl|Galician|galicien
248
+ glv||gv|Manx|manx; mannois
249
+ gmh|||German, Middle High (ca.1050-1500)|allemand, moyen haut (ca. 1050-1500)
250
+ goh|||German, Old High (ca.750-1050)|allemand, vieux haut (ca. 750-1050)
251
+ gon|||Gondi|gond
252
+ gor|||Gorontalo|gorontalo
253
+ got|||Gothic|gothique
254
+ grb|||Grebo|grebo
255
+ grc|||Greek, Ancient (to 1453)|grec ancien (jusqu'à 1453)
256
+ gre|ell|el|Greek, Modern (1453-)|grec moderne (après 1453)
257
+ grn||gn|Guarani|guarani
258
+ gsw|||Swiss German; Alemannic; Alsatian|suisse alémanique; alémanique; alsacien
259
+ guj||gu|Gujarati|goudjrati
260
+ gwi|||Gwich'in|gwich'in
261
+ hai|||Haida|haida
262
+ hat||ht|Haitian; Haitian Creole|haïtien; créole haïtien
263
+ hau||ha|Hausa|haoussa
264
+ haw|||Hawaiian|hawaïen
265
+ heb||he|Hebrew|hébreu
266
+ her||hz|Herero|herero
267
+ hil|||Hiligaynon|hiligaynon
268
+ him|||Himachali|himachali
269
+ hin||hi|Hindi|hindi
270
+ hit|||Hittite|hittite
271
+ hmn|||Hmong|hmong
272
+ hmo||ho|Hiri Motu|hiri motu
273
+ hsb|||Upper Sorbian|haut-sorabe
274
+ hun||hu|Hungarian|hongrois
275
+ hup|||Hupa|hupa
276
+ iba|||Iban|iban
277
+ ibo||ig|Igbo|igbo
278
+ ice|isl|is|Icelandic|islandais
279
+ ido||io|Ido|ido
280
+ iii||ii|Sichuan Yi; Nuosu|yi de Sichuan
281
+ ijo|||Ijo languages|ijo, langues
282
+ iku||iu|Inuktitut|inuktitut
283
+ ile||ie|Interlingue; Occidental|interlingue
284
+ ilo|||Iloko|ilocano
285
+ ina||ia|Interlingua (International Auxiliary Language Association)|interlingua (langue auxiliaire internationale)
286
+ inc|||Indic (Other)|indo-aryennes, autres langues
287
+ ind||id|Indonesian|indonésien
288
+ ine|||Indo-European (Other)|indo-européennes, autres langues
289
+ inh|||Ingush|ingouche
290
+ ipk||ik|Inupiaq|inupiaq
291
+ ira|||Iranian (Other)|iraniennes, autres langues
292
+ iro|||Iroquoian languages|iroquoises, langues (famille)
293
+ ita||it|Italian|italien
294
+ jav||jv|Javanese|javanais
295
+ jbo|||Lojban|lojban
296
+ jpn||ja|Japanese|japonais
297
+ jpr|||Judeo-Persian|judéo-persan
298
+ jrb|||Judeo-Arabic|judéo-arabe
299
+ kaa|||Kara-Kalpak|karakalpak
300
+ kab|||Kabyle|kabyle
301
+ kac|||Kachin; Jingpho|kachin; jingpho
302
+ kal||kl|Kalaallisut; Greenlandic|groenlandais
303
+ kam|||Kamba|kamba
304
+ kan||kn|Kannada|kannada
305
+ kar|||Karen languages|karen, langues
306
+ kas||ks|Kashmiri|kashmiri
307
+ kau||kr|Kanuri|kanouri
308
+ kaw|||Kawi|kawi
309
+ kaz||kk|Kazakh|kazakh
310
+ kbd|||Kabardian|kabardien
311
+ kha|||Khasi|khasi
312
+ khi|||Khoisan (Other)|khoisan, autres langues
313
+ khm||km|Central Khmer|khmer central
314
+ kho|||Khotanese|khotanais
315
+ kik||ki|Kikuyu; Gikuyu|kikuyu
316
+ kin||rw|Kinyarwanda|rwanda
317
+ kir||ky|Kirghiz; Kyrgyz|kirghiz
318
+ kmb|||Kimbundu|kimbundu
319
+ kok|||Konkani|konkani
320
+ kom||kv|Komi|kom
321
+ kon||kg|Kongo|kongo
322
+ kor||ko|Korean|coréen
323
+ kos|||Kosraean|kosrae
324
+ kpe|||Kpelle|kpellé
325
+ krc|||Karachay-Balkar|karatchai balkar
326
+ krl|||Karelian|carélien
327
+ kro|||Kru languages|krou, langues
328
+ kru|||Kurukh|kurukh
329
+ kua||kj|Kuanyama; Kwanyama|kuanyama; kwanyama
330
+ kum|||Kumyk|koumyk
331
+ kur||ku|Kurdish|kurde
332
+ kut|||Kutenai|kutenai
333
+ lad|||Ladino|judéo-espagnol
334
+ lah|||Lahnda|lahnda
335
+ lam|||Lamba|lamba
336
+ lao||lo|Lao|lao
337
+ lat||la|Latin|latin
338
+ lav||lv|Latvian|letton
339
+ lez|||Lezghian|lezghien
340
+ lim||li|Limburgan; Limburger; Limburgish|limbourgeois
341
+ lin||ln|Lingala|lingala
342
+ lit||lt|Lithuanian|lituanien
343
+ lol|||Mongo|mongo
344
+ loz|||Lozi|lozi
345
+ ltz||lb|Luxembourgish; Letzeburgesch|luxembourgeois
346
+ lua|||Luba-Lulua|luba-lulua
347
+ lub||lu|Luba-Katanga|luba-katanga
348
+ lug||lg|Ganda|ganda
349
+ lui|||Luiseno|luiseno
350
+ lun|||Lunda|lunda
351
+ luo|||Luo (Kenya and Tanzania)|luo (Kenya et Tanzanie)
352
+ lus|||Lushai|lushai
353
+ mac|mkd|mk|Macedonian|macédonien
354
+ mad|||Madurese|madourais
355
+ mag|||Magahi|magahi
356
+ mah||mh|Marshallese|marshall
357
+ mai|||Maithili|maithili
358
+ mak|||Makasar|makassar
359
+ mal||ml|Malayalam|malayalam
360
+ man|||Mandingo|mandingue
361
+ mao|mri|mi|Maori|maori
362
+ map|||Austronesian (Other)|malayo-polynésiennes, autres langues
363
+ mar||mr|Marathi|marathe
364
+ mas|||Masai|massaï
365
+ may|msa|ms|Malay|malais
366
+ mdf|||Moksha|moksa
367
+ mdr|||Mandar|mandar
368
+ men|||Mende|mendé
369
+ mga|||Irish, Middle (900-1200)|irlandais moyen (900-1200)
370
+ mic|||Mi'kmaq; Micmac|mi'kmaq; micmac
371
+ min|||Minangkabau|minangkabau
372
+ mis|||Uncoded languages|langues non codées
373
+ mkh|||Mon-Khmer (Other)|môn-khmer, autres langues
374
+ mlg||mg|Malagasy|malgache
375
+ mlt||mt|Maltese|maltais
376
+ mnc|||Manchu|mandchou
377
+ mni|||Manipuri|manipuri
378
+ mno|||Manobo languages|manobo, langues
379
+ moh|||Mohawk|mohawk
380
+ mol||mo|Moldavian|moldave
381
+ mon||mn|Mongolian|mongol
382
+ mos|||Mossi|moré
383
+ mul|||Multiple languages|multilingue
384
+ mun|||Munda languages|mounda, langues
385
+ mus|||Creek|muskogee
386
+ mwl|||Mirandese|mirandais
387
+ mwr|||Marwari|marvari
388
+ myn|||Mayan languages|maya, langues
389
+ myv|||Erzya|erza
390
+ nah|||Nahuatl languages|nahuatl, langues
391
+ nai|||North American Indian|indiennes d'Amérique du Nord, autres langues
392
+ nap|||Neapolitan|napolitain
393
+ nau||na|Nauru|nauruan
394
+ nav||nv|Navajo; Navaho|navaho
395
+ nbl||nr|Ndebele, South; South Ndebele|ndébélé du Sud
396
+ nde||nd|Ndebele, North; North Ndebele|ndébélé du Nord
397
+ ndo||ng|Ndonga|ndonga
398
+ nds|||Low German; Low Saxon; German, Low; Saxon, Low|bas allemand; bas saxon; allemand, bas; saxon, bas
399
+ nep||ne|Nepali|népalais
400
+ new|||Nepal Bhasa; Newari|nepal bhasa; newari
401
+ nia|||Nias|nias
402
+ nic|||Niger-Kordofanian (Other)|nigéro-congolaises, autres langues
403
+ niu|||Niuean|niué
404
+ nno||nn|Norwegian Nynorsk; Nynorsk, Norwegian|norvégien nynorsk; nynorsk, norvégien
405
+ nob||nb|Bokmål, Norwegian; Norwegian Bokmål|norvégien bokmål
406
+ nog|||Nogai|nogaï; nogay
407
+ non|||Norse, Old|norrois, vieux
408
+ nor||no|Norwegian|norvégien
409
+ nqo|||N'Ko|n'ko
410
+ nso|||Pedi; Sepedi; Northern Sotho|pedi; sepedi; sotho du Nord
411
+ nub|||Nubian languages|nubiennes, langues
412
+ nwc|||Classical Newari; Old Newari; Classical Nepal Bhasa|newari classique
413
+ nya||ny|Chichewa; Chewa; Nyanja|chichewa; chewa; nyanja
414
+ nym|||Nyamwezi|nyamwezi
415
+ nyn|||Nyankole|nyankolé
416
+ nyo|||Nyoro|nyoro
417
+ nzi|||Nzima|nzema
418
+ oci||oc|Occitan (post 1500); Provençal|occitan (après 1500); provençal
419
+ oji||oj|Ojibwa|ojibwa
420
+ ori||or|Oriya|oriya
421
+ orm||om|Oromo|galla
422
+ osa|||Osage|osage
423
+ oss||os|Ossetian; Ossetic|ossète
424
+ ota|||Turkish, Ottoman (1500-1928)|turc ottoman (1500-1928)
425
+ oto|||Otomian languages|otomangue, langues
426
+ paa|||Papuan (Other)|papoues, autres langues
427
+ pag|||Pangasinan|pangasinan
428
+ pal|||Pahlavi|pahlavi
429
+ pam|||Pampanga; Kapampangan|pampangan
430
+ pan||pa|Panjabi; Punjabi|pendjabi
431
+ pap|||Papiamento|papiamento
432
+ pau|||Palauan|palau
433
+ peo|||Persian, Old (ca.600-400 B.C.)|perse, vieux (ca. 600-400 av. J.-C.)
434
+ per|fas|fa|Persian|persan
435
+ phi|||Philippine (Other)|philippines, autres langues
436
+ phn|||Phoenician|phénicien
437
+ pli||pi|Pali|pali
438
+ pol||pl|Polish|polonais
439
+ pon|||Pohnpeian|pohnpei
440
+ por||pt|Portuguese|portugais
441
+ pra|||Prakrit languages|prâkrit
442
+ pro|||Provençal, Old (to 1500)|provençal ancien (jusqu'à 1500)
443
+ pus||ps|Pushto; Pashto|pachto
444
+ qaa-qtz|||Reserved for local use|réservée à l'usage local
445
+ que||qu|Quechua|quechua
446
+ raj|||Rajasthani|rajasthani
447
+ rap|||Rapanui|rapanui
448
+ rar|||Rarotongan; Cook Islands Maori|rarotonga; maori des îles Cook
449
+ roa|||Romance (Other)|romanes, autres langues
450
+ roh||rm|Romansh|romanche
451
+ rom|||Romany|tsigane
452
+ rum|ron|ro|Romanian|roumain
453
+ run||rn|Rundi|rundi
454
+ rup|||Aromanian; Arumanian; Macedo-Romanian|aroumain; macédo-roumain
455
+ rus||ru|Russian|russe
456
+ sad|||Sandawe|sandawe
457
+ sag||sg|Sango|sango
458
+ sah|||Yakut|iakoute
459
+ sai|||South American Indian (Other)|indiennes d'Amérique du Sud, autres langues
460
+ sal|||Salishan languages|salish, langues
461
+ sam|||Samaritan Aramaic|samaritain
462
+ san||sa|Sanskrit|sanskrit
463
+ sas|||Sasak|sasak
464
+ sat|||Santali|santal
465
+ scc|srp|sr|Serbian|serbe
466
+ scn|||Sicilian|sicilien
467
+ sco|||Scots|écossais
468
+ scr|hrv|hr|Croatian|croate
469
+ sel|||Selkup|selkoupe
470
+ sem|||Semitic (Other)|sémitiques, autres langues
471
+ sga|||Irish, Old (to 900)|irlandais ancien (jusqu'à 900)
472
+ sgn|||Sign Languages|langues des signes
473
+ shn|||Shan|chan
474
+ sid|||Sidamo|sidamo
475
+ sin||si|Sinhala; Sinhalese|singhalais
476
+ sio|||Siouan languages|sioux, langues
477
+ sit|||Sino-Tibetan (Other)|sino-tibétaines, autres langues
478
+ sla|||Slavic (Other)|slaves, autres langues
479
+ slo|slk|sk|Slovak|slovaque
480
+ slv||sl|Slovenian|slovène
481
+ sma|||Southern Sami|sami du Sud
482
+ sme||se|Northern Sami|sami du Nord
483
+ smi|||Sami languages (Other)|sami, autres langues
484
+ smj|||Lule Sami|sami de Lule
485
+ smn|||Inari Sami|sami d'Inari
486
+ smo||sm|Samoan|samoan
487
+ sms|||Skolt Sami|sami skolt
488
+ sna||sn|Shona|shona
489
+ snd||sd|Sindhi|sindhi
490
+ snk|||Soninke|soninké
491
+ sog|||Sogdian|sogdien
492
+ som||so|Somali|somali
493
+ son|||Songhai languages|songhai, langues
494
+ sot||st|Sotho, Southern|sotho du Sud
495
+ spa||es|Spanish; Castilian|espagnol; castillan
496
+ srd||sc|Sardinian|sarde
497
+ srn|||Sranan Tongo|sranan tongo
498
+ srr|||Serer|sérère
499
+ ssa|||Nilo-Saharan (Other)|nilo-sahariennes, autres langues
500
+ ssw||ss|Swati|swati
501
+ suk|||Sukuma|sukuma
502
+ sun||su|Sundanese|soundanais
503
+ sus|||Susu|soussou
504
+ sux|||Sumerian|sumérien
505
+ swa||sw|Swahili|swahili
506
+ swe||sv|Swedish|suédois
507
+ syc|||Classical Syriac|syriaque classique
508
+ syr|||Syriac|syriaque
509
+ tah||ty|Tahitian|tahitien
510
+ tai|||Tai (Other)|thaïes, autres langues
511
+ tam||ta|Tamil|tamoul
512
+ tat||tt|Tatar|tatar
513
+ tel||te|Telugu|télougou
514
+ tem|||Timne|temne
515
+ ter|||Tereno|tereno
516
+ tet|||Tetum|tetum
517
+ tgk||tg|Tajik|tadjik
518
+ tgl||tl|Tagalog|tagalog
519
+ tha||th|Thai|thaï
520
+ tib|bod|bo|Tibetan|tibétain
521
+ tig|||Tigre|tigré
522
+ tir||ti|Tigrinya|tigrigna
523
+ tiv|||Tiv|tiv
524
+ tkl|||Tokelau|tokelau
525
+ tlh|||Klingon; tlhIngan-Hol|klingon
526
+ tli|||Tlingit|tlingit
527
+ tmh|||Tamashek|tamacheq
528
+ tog|||Tonga (Nyasa)|tonga (Nyasa)
529
+ ton||to|Tonga (Tonga Islands)|tongan (Îles Tonga)
530
+ tpi|||Tok Pisin|tok pisin
531
+ tsi|||Tsimshian|tsimshian
532
+ tsn||tn|Tswana|tswana
533
+ tso||ts|Tsonga|tsonga
534
+ tuk||tk|Turkmen|turkmène
535
+ tum|||Tumbuka|tumbuka
536
+ tup|||Tupi languages|tupi, langues
537
+ tur||tr|Turkish|turc
538
+ tut|||Altaic (Other)|altaïques, autres langues
539
+ tvl|||Tuvalu|tuvalu
540
+ twi||tw|Twi|twi
541
+ tyv|||Tuvinian|touva
542
+ udm|||Udmurt|oudmourte
543
+ uga|||Ugaritic|ougaritique
544
+ uig||ug|Uighur; Uyghur|ouïgour
545
+ ukr||uk|Ukrainian|ukrainien
546
+ umb|||Umbundu|umbundu
547
+ und|||Undetermined|indéterminée
548
+ urd||ur|Urdu|ourdou
549
+ uzb||uz|Uzbek|ouszbek
550
+ vai|||Vai|vaï
551
+ ven||ve|Venda|venda
552
+ vie||vi|Vietnamese|vietnamien
553
+ vol||vo|Volapük|volapük
554
+ vot|||Votic|vote
555
+ wak|||Wakashan languages|wakashennes, langues
556
+ wal|||Walamo|walamo
557
+ war|||Waray|waray
558
+ was|||Washo|washo
559
+ wel|cym|cy|Welsh|gallois
560
+ wen|||Sorbian languages|sorabes, langues
561
+ wln||wa|Walloon|wallon
562
+ wol||wo|Wolof|wolof
563
+ xal|||Kalmyk; Oirat|kalmouk; oïrat
564
+ xho||xh|Xhosa|xhosa
565
+ yao|||Yao|yao
566
+ yap|||Yapese|yapois
567
+ yid||yi|Yiddish|yiddish
568
+ yor||yo|Yoruba|yoruba
569
+ ypk|||Yupik languages|yupik, langues
570
+ zap|||Zapotec|zapotèque
571
+ zbl|||Blissymbols; Blissymbolics; Bliss|symboles Bliss; Bliss
572
+ zen|||Zenaga|zenaga
573
+ zha||za|Zhuang; Chuang|zhuang; chuang
574
+ znd|||Zande languages|zandé, langues
575
+ zul||zu|Zulu|zoulou
576
+ zun|||Zuni|zuni
577
+ zxx|||No linguistic content|pas de contenu linguistique
578
+ zza|||Zaza; Dimili; Dimli; Kirdki; Kirmanjki; Zazaki|zaza; dimili; dimli; kirdki; kirmanjki; zazaki