dokkit 0.3.0 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (180) hide show
  1. data/History.txt +5 -0
  2. data/Manifest.txt +90 -105
  3. data/README.txt +27 -7
  4. data/Rakefile +2 -3
  5. data/bin/dokkit +3 -2
  6. data/lib/dokkit/application.rb +159 -0
  7. data/lib/dokkit/cache/cache.rb +53 -0
  8. data/lib/dokkit/{models/simpledocument/model/Rakefile → cache.rb} +3 -15
  9. data/lib/dokkit/environment/basic.rb +156 -0
  10. data/lib/dokkit/environment/helpers/extmap.rb +29 -0
  11. data/lib/dokkit/environment/helpers/fileselection.rb +53 -0
  12. data/lib/dokkit/environment/helpers.rb +20 -0
  13. data/{spec/data/test_build/Rakefile → lib/dokkit/environment.rb} +4 -15
  14. data/lib/dokkit/factory/factory.rb +56 -0
  15. data/lib/dokkit/factory.rb +9 -0
  16. data/lib/dokkit/filters/deplate.rb +25 -20
  17. data/lib/dokkit/filters/maruku.rb +6 -5
  18. data/lib/dokkit/filters/nil.rb +7 -6
  19. data/lib/dokkit/filters.rb +5 -27
  20. data/lib/dokkit/hash.rb +82 -0
  21. data/lib/dokkit/{logger.rb → logging/logger.rb} +30 -24
  22. data/lib/dokkit/logging/observers/console.rb +52 -0
  23. data/lib/dokkit/{extension/extension.rb → logging/observers.rb} +7 -5
  24. data/lib/dokkit/logging.rb +11 -0
  25. data/lib/dokkit/models/simple/Rakefile +6 -0
  26. data/lib/dokkit/models/simple/doc/data/html/css/style.css +3 -0
  27. data/lib/dokkit/models/simple/doc/data/latex/deplate.sty +46 -0
  28. data/lib/dokkit/models/simple/doc/layouts/simple.html +9 -0
  29. data/lib/dokkit/models/simple/doc/layouts/simple.latex +11 -0
  30. data/lib/dokkit/models/simple/doc/pages/simple.deplate +80 -0
  31. data/lib/dokkit/models/simple/setup/setup.rb +10 -0
  32. data/lib/dokkit/resource/data.rb +36 -0
  33. data/lib/dokkit/resource/document.rb +385 -0
  34. data/lib/dokkit/resource/extensions/builtin.rb +19 -0
  35. data/lib/dokkit/resource/extensions/html.rb +22 -0
  36. data/lib/dokkit/resource/extensions/url.rb +25 -0
  37. data/lib/dokkit/{filters/base.rb → resource/extensions.rb} +7 -8
  38. data/lib/dokkit/resource/filenamehelper.rb +28 -0
  39. data/lib/dokkit/resource.rb +11 -0
  40. data/lib/dokkit/tasklib/clean.rb +73 -0
  41. data/lib/dokkit/tasklib/render.rb +137 -0
  42. data/lib/dokkit/tasklib.rb +11 -0
  43. data/lib/dokkit.rb +26 -29
  44. data/spec/dokkit/application_spec.rb +141 -0
  45. data/spec/dokkit/cache/cache_spec.rb +87 -0
  46. data/spec/dokkit/dokkit_spec.rb +20 -0
  47. data/spec/dokkit/environment/basic_spec.rb +135 -0
  48. data/spec/dokkit/environment/helpers/extmap_spec.rb +52 -0
  49. data/spec/dokkit/environment/helpers/fileselection_spec.rb +80 -0
  50. data/spec/dokkit/environment/test_data/doc/pages/document_1.yaml +3 -0
  51. data/spec/dokkit/factory/factory_spec.rb +69 -0
  52. data/spec/{filter_deplate_spec.rb → dokkit/filters/deplate_spec.rb} +7 -8
  53. data/spec/{filter_maruku_spec.rb → dokkit/filters/maruku_spec.rb} +3 -4
  54. data/spec/{filter_nil_spec.rb → dokkit/filters/nil_spec.rb} +3 -4
  55. data/spec/{recursivemerge_spec.rb → dokkit/hash_spec.rb} +25 -27
  56. data/spec/{logger_spec.rb → dokkit/logging/logger_spec.rb} +35 -47
  57. data/spec/{consolelog_spec.rb → dokkit/logging/observers/console_spec.rb} +14 -15
  58. data/spec/dokkit/resource/data_spec.rb +32 -0
  59. data/spec/dokkit/resource/document_spec.rb +485 -0
  60. data/spec/dokkit/resource/extensions/html_spec.rb +35 -0
  61. data/spec/dokkit/resource/extensions/url_spec.rb +29 -0
  62. data/spec/{filehelper_spec.rb → dokkit/resource/filenamehelper_spec.rb} +12 -13
  63. data/spec/dokkit/resource/test_data/doc/configs/config_1.yaml +3 -0
  64. data/spec/dokkit/resource/test_data/doc/configs/config_2.yaml +3 -0
  65. data/spec/dokkit/resource/test_data/doc/configs/required.yaml +3 -0
  66. data/spec/dokkit/resource/test_data/doc/configs/subdir/document.yaml +3 -0
  67. data/spec/dokkit/resource/test_data/doc/layouts/container.html +6 -0
  68. data/spec/dokkit/resource/test_data/doc/layouts/layout.html +6 -0
  69. data/spec/{data/test_build/doc/layouts → dokkit/resource/test_data/doc/layouts/nested}/nested.html +2 -1
  70. data/spec/dokkit/resource/test_data/doc/layouts/subdir/document.html +6 -0
  71. data/spec/dokkit/resource/test_data/doc/pages/COMMON.yaml +4 -0
  72. data/spec/dokkit/resource/test_data/doc/pages/document_with_many_config.ext +7 -0
  73. data/spec/dokkit/resource/test_data/doc/pages/document_with_many_errors.ext +12 -0
  74. data/spec/dokkit/resource/test_data/doc/pages/document_with_many_targets.ext +19 -0
  75. data/spec/dokkit/resource/test_data/doc/pages/document_with_nested_layout.ext +13 -0
  76. data/spec/dokkit/resource/test_data/doc/pages/document_with_nil_target.ext +5 -0
  77. data/spec/dokkit/resource/test_data/doc/pages/document_with_not_defined_target.ext +6 -0
  78. data/spec/dokkit/resource/test_data/doc/pages/document_with_one_target.ext +8 -0
  79. data/spec/dokkit/resource/test_data/doc/pages/subdir/COMMON.yaml +3 -0
  80. data/spec/dokkit/resource/test_data/doc/pages/subdir/document.ext +8 -0
  81. data/spec/dokkit/resource/test_data/doc/pages/subdir/document.yaml +5 -0
  82. data/spec/dokkit/tasklib/clean_spec.rb +75 -0
  83. data/spec/dokkit/tasklib/render_spec.rb +125 -0
  84. data/spec/dokkit/tasklib/test_data/doc/pages/document_2 +0 -0
  85. data/spec/dokkit/test_data/dokkit/models/model1/doc/pages/model1 +0 -0
  86. data/spec/dokkit/test_data/dokkit/models/model2/doc/pages/model2 +0 -0
  87. data/spec/spec.opts +4 -0
  88. data/spec/spec_helper.rb +120 -47
  89. metadata +94 -117
  90. data/lib/dokkit/app.rb +0 -131
  91. data/lib/dokkit/builtintask.rb +0 -85
  92. data/lib/dokkit/cachemanager.rb +0 -61
  93. data/lib/dokkit/cleantask.rb +0 -51
  94. data/lib/dokkit/consolelog.rb +0 -42
  95. data/lib/dokkit/defaults.rb +0 -19
  96. data/lib/dokkit/deplate/fmt/html-notemplate.rb +0 -21
  97. data/lib/dokkit/deplate/fmt/latex-notemplate.rb +0 -24
  98. data/lib/dokkit/document.rb +0 -221
  99. data/lib/dokkit/dokkitlib.rb +0 -68
  100. data/lib/dokkit/extension/filehelper.rb +0 -25
  101. data/lib/dokkit/fileselection.rb +0 -44
  102. data/lib/dokkit/filters/all.rb +0 -18
  103. data/lib/dokkit/model.rb +0 -34
  104. data/lib/dokkit/models/simpledocument/model/doc/layouts/simpledocument.html +0 -9
  105. data/lib/dokkit/models/simpledocument/model/doc/pages/simpledocument.deplate +0 -102
  106. data/lib/dokkit/models/simpledocument/model/tasks/all.rb +0 -3
  107. data/lib/dokkit/models/simpledocument/model/tasks/clean.rake +0 -3
  108. data/lib/dokkit/models/simpledocument/model/tasks/render.rake +0 -8
  109. data/lib/dokkit/models/simpledocument/model/tasks/setup.rb +0 -9
  110. data/lib/dokkit/modeltask.rb +0 -83
  111. data/lib/dokkit/pathhelper.rb +0 -46
  112. data/lib/dokkit/recursivemerge.rb +0 -59
  113. data/lib/dokkit/rendertask.rb +0 -101
  114. data/lib/dokkit/resourcemanager.rb +0 -177
  115. data/lib/dokkit/taskconfig.rb +0 -39
  116. data/lib/dokkit/templatetask.rb +0 -37
  117. data/spec/app_spec.rb +0 -55
  118. data/spec/builtintask_spec.rb +0 -114
  119. data/spec/cachemanager_spec.rb +0 -107
  120. data/spec/cleantask_spec.rb +0 -72
  121. data/spec/data/test_build/doc/configs/document_1.yaml +0 -3
  122. data/spec/data/test_build/doc/configs/required.yaml +0 -3
  123. data/spec/data/test_build/doc/configs/subdir/document_4.yaml +0 -3
  124. data/spec/data/test_build/doc/layouts/document_1.html +0 -9
  125. data/spec/data/test_build/doc/layouts/document_with_partials.html +0 -9
  126. data/spec/data/test_build/doc/layouts/layout.html +0 -8
  127. data/spec/data/test_build/doc/layouts/layout.html.backup +0 -8
  128. data/spec/data/test_build/doc/layouts/partials/partial.html +0 -4
  129. data/spec/data/test_build/doc/pages/COMMON.yaml +0 -6
  130. data/spec/data/test_build/doc/pages/document_1 +0 -20
  131. data/spec/data/test_build/doc/pages/document_1.dep +0 -4
  132. data/spec/data/test_build/doc/pages/document_1.yaml +0 -11
  133. data/spec/data/test_build/doc/pages/document_2 +0 -9
  134. data/spec/data/test_build/doc/pages/document_2.yaml +0 -6
  135. data/spec/data/test_build/doc/pages/document_3 +0 -13
  136. data/spec/data/test_build/doc/pages/document_7 +0 -4
  137. data/spec/data/test_build/doc/pages/document_7.yaml +0 -5
  138. data/spec/data/test_build/doc/pages/document_extended +0 -1
  139. data/spec/data/test_build/doc/pages/document_nested +0 -6
  140. data/spec/data/test_build/doc/pages/document_nested.yaml +0 -5
  141. data/spec/data/test_build/doc/pages/document_nolayout.ext +0 -3
  142. data/spec/data/test_build/doc/pages/document_nolayout.yaml +0 -2
  143. data/spec/data/test_build/doc/pages/document_with_partials +0 -3
  144. data/spec/data/test_build/doc/pages/document_with_partials.yaml +0 -2
  145. data/spec/data/test_build/doc/pages/partials/COMMON.yaml +0 -5
  146. data/spec/data/test_build/doc/pages/partials/circular_partial +0 -2
  147. data/spec/data/test_build/doc/pages/partials/circular_partial.yaml +0 -3
  148. data/spec/data/test_build/doc/pages/partials/partial +0 -2
  149. data/spec/data/test_build/doc/pages/subdir/COMMON.yaml +0 -2
  150. data/spec/data/test_build/doc/pages/subdir/document_4 +0 -11
  151. data/spec/data/test_build/doc/pages/subdir/subdir/COMMON.yaml +0 -2
  152. data/spec/data/test_build/doc/pages/subdir/subdir/document_6 +0 -3
  153. data/spec/data/test_build/tasks/all.rb +0 -3
  154. data/spec/data/test_build/tasks/clean.rake +0 -3
  155. data/spec/data/test_build/tasks/render.rake +0 -8
  156. data/spec/data/test_build/tasks/setup.rb +0 -9
  157. data/spec/data/test_build/tasks/template.rake +0 -3
  158. data/spec/document_spec.rb +0 -321
  159. data/spec/dokkitlib_spec.rb +0 -63
  160. data/spec/fileselection_spec.rb +0 -101
  161. data/spec/filter_base_spec.rb +0 -29
  162. data/spec/filters_spec.rb +0 -37
  163. data/spec/model_spec.rb +0 -45
  164. data/spec/pathhelper_spec.rb +0 -62
  165. data/spec/rendertask_spec.rb +0 -374
  166. data/spec/taskconfig_spec.rb +0 -45
  167. data/spec/templatetask_spec.rb +0 -72
  168. /data/lib/dokkit/models/{simpledocument/model/doc/configs/simpledocument.yaml → simple/doc/configs/simple.yaml} +0 -0
  169. /data/lib/dokkit/models/{simpledocument/model/doc/layouts/simpledocument.text → simple/doc/layouts/simple.text} +0 -0
  170. /data/{lib/dokkit/models/simpledocument/model/doc/data/css/style.css → spec/dokkit/environment/helpers/test_data/doc/pages/document_1.ext_1} +0 -0
  171. /data/spec/{data/test_build/doc/data/resource → dokkit/environment/helpers/test_data/doc/pages/document_2} +0 -0
  172. /data/spec/{data/test_build/doc/data/resource.exclude → dokkit/environment/helpers/test_data/doc/pages/document_3.ext_3} +0 -0
  173. /data/spec/{data/test_build/doc/data/subdir/resource.insubdir → dokkit/environment/test_data/doc/data/data} +0 -0
  174. /data/spec/{data/test_build/doc/layouts/layout → dokkit/environment/test_data/doc/pages/document_1} +0 -0
  175. /data/spec/{data/test_build/doc/pages/document_2.dep → dokkit/environment/test_data/doc/pages/document_2} +0 -0
  176. /data/spec/{data/test_build/doc/pages/document_5.exclude → dokkit/environment/test_data/doc/pages/subdir/document_1} +0 -0
  177. /data/{lib/dokkit/models/simpledocument/model/doc/layouts/simpledocument.latex → spec/dokkit/resource/test_data/doc/layouts/layout.latex} +0 -0
  178. /data/spec/{data/test_build/doc/layouts/document_1.latex → dokkit/resource/test_data/doc/layouts/subdir/document.latex} +0 -0
  179. /data/spec/{data/test_build/templates/layouts/layout → dokkit/tasklib/test_data/doc/data/data_1} +0 -0
  180. /data/spec/{data/test_build/templates/pages/template → dokkit/tasklib/test_data/doc/pages/document_1} +0 -0
data/History.txt CHANGED
@@ -1,3 +1,8 @@
1
+ == 0.3.1
2
+
3
+ * fixed bug #19332: now meta configuration informations are parsed
4
+ correctly in presence of newlines at the beginning of file.
5
+
1
6
  == 0.3.0 / 2008-01-09
2
7
 
3
8
  * Completely removed any dependency from rote.
data/Manifest.txt CHANGED
@@ -4,115 +4,101 @@ README.txt
4
4
  Rakefile
5
5
  bin/dokkit
6
6
  lib/dokkit.rb
7
- lib/dokkit/app.rb
8
- lib/dokkit/builtintask.rb
9
- lib/dokkit/cachemanager.rb
10
- lib/dokkit/cleantask.rb
11
- lib/dokkit/consolelog.rb
12
- lib/dokkit/defaults.rb
13
- lib/dokkit/deplate/fmt/html-notemplate.rb
14
- lib/dokkit/deplate/fmt/latex-notemplate.rb
15
- lib/dokkit/document.rb
16
- lib/dokkit/dokkitlib.rb
17
- lib/dokkit/extension/extension.rb
18
- lib/dokkit/extension/filehelper.rb
19
- lib/dokkit/fileselection.rb
7
+ lib/dokkit/application.rb
8
+ lib/dokkit/cache.rb
9
+ lib/dokkit/cache/cache.rb
10
+ lib/dokkit/environment.rb
11
+ lib/dokkit/environment/basic.rb
12
+ lib/dokkit/environment/helpers.rb
13
+ lib/dokkit/environment/helpers/extmap.rb
14
+ lib/dokkit/environment/helpers/fileselection.rb
15
+ lib/dokkit/factory.rb
16
+ lib/dokkit/factory/factory.rb
20
17
  lib/dokkit/filters.rb
21
- lib/dokkit/filters/all.rb
22
- lib/dokkit/filters/base.rb
23
18
  lib/dokkit/filters/deplate.rb
24
19
  lib/dokkit/filters/maruku.rb
25
20
  lib/dokkit/filters/nil.rb
26
- lib/dokkit/logger.rb
27
- lib/dokkit/model.rb
28
- lib/dokkit/models/simpledocument/model/Rakefile
29
- lib/dokkit/models/simpledocument/model/doc/layouts/simpledocument.html
30
- lib/dokkit/models/simpledocument/model/doc/layouts/simpledocument.latex
31
- lib/dokkit/models/simpledocument/model/doc/layouts/simpledocument.text
32
- lib/dokkit/models/simpledocument/model/doc/pages/simpledocument.deplate
33
- lib/dokkit/models/simpledocument/model/doc/configs/simpledocument.yaml
34
- lib/dokkit/models/simpledocument/model/doc/data/css/style.css
35
- lib/dokkit/models/simpledocument/model/tasks/all.rb
36
- lib/dokkit/models/simpledocument/model/tasks/clean.rake
37
- lib/dokkit/models/simpledocument/model/tasks/render.rake
38
- lib/dokkit/models/simpledocument/model/tasks/setup.rb
39
- lib/dokkit/modeltask.rb
40
- lib/dokkit/pathhelper.rb
41
- lib/dokkit/recursivemerge.rb
42
- lib/dokkit/rendertask.rb
43
- lib/dokkit/resourcemanager.rb
44
- lib/dokkit/taskconfig.rb
45
- lib/dokkit/templatetask.rb
46
- spec/app_spec.rb
47
- spec/builtintask_spec.rb
48
- spec/cachemanager_spec.rb
49
- spec/cleantask_spec.rb
50
- spec/consolelog_spec.rb
51
- spec/data/test_build/Rakefile
52
- spec/data/test_build/doc/configs/document_1.yaml
53
- spec/data/test_build/doc/configs/required.yaml
54
- spec/data/test_build/doc/configs/subdir/document_4.yaml
55
- spec/data/test_build/doc/data/resource
56
- spec/data/test_build/doc/data/resource.exclude
57
- spec/data/test_build/doc/data/subdir/resource.insubdir
58
- spec/data/test_build/doc/layouts/document_1.html
59
- spec/data/test_build/doc/layouts/document_1.latex
60
- spec/data/test_build/doc/layouts/document_with_partials.html
61
- spec/data/test_build/doc/layouts/layout
62
- spec/data/test_build/doc/layouts/layout.html
63
- spec/data/test_build/doc/layouts/layout.html.backup
64
- spec/data/test_build/doc/layouts/nested.html
65
- spec/data/test_build/doc/layouts/partials/partial.html
66
- spec/data/test_build/doc/pages/COMMON.yaml
67
- spec/data/test_build/doc/pages/document_1
68
- spec/data/test_build/doc/pages/document_1.dep
69
- spec/data/test_build/doc/pages/document_1.yaml
70
- spec/data/test_build/doc/pages/document_2
71
- spec/data/test_build/doc/pages/document_2.dep
72
- spec/data/test_build/doc/pages/document_2.yaml
73
- spec/data/test_build/doc/pages/document_3
74
- spec/data/test_build/doc/pages/document_5.exclude
75
- spec/data/test_build/doc/pages/document_7
76
- spec/data/test_build/doc/pages/document_7.yaml
77
- spec/data/test_build/doc/pages/document_extended
78
- spec/data/test_build/doc/pages/document_nested
79
- spec/data/test_build/doc/pages/document_nested.yaml
80
- spec/data/test_build/doc/pages/document_nolayout.ext
81
- spec/data/test_build/doc/pages/document_nolayout.yaml
82
- spec/data/test_build/doc/pages/document_with_partials
83
- spec/data/test_build/doc/pages/document_with_partials.yaml
84
- spec/data/test_build/doc/pages/partials/COMMON.yaml
85
- spec/data/test_build/doc/pages/partials/circular_partial
86
- spec/data/test_build/doc/pages/partials/circular_partial.yaml
87
- spec/data/test_build/doc/pages/partials/partial
88
- spec/data/test_build/doc/pages/subdir/COMMON.yaml
89
- spec/data/test_build/doc/pages/subdir/document_4
90
- spec/data/test_build/doc/pages/subdir/subdir/COMMON.yaml
91
- spec/data/test_build/doc/pages/subdir/subdir/document_6
92
- spec/data/test_build/tasks/all.rb
93
- spec/data/test_build/tasks/clean.rake
94
- spec/data/test_build/tasks/render.rake
95
- spec/data/test_build/tasks/setup.rb
96
- spec/data/test_build/tasks/template.rake
97
- spec/data/test_build/templates/layouts/layout
98
- spec/data/test_build/templates/pages/template
99
- spec/document_spec.rb
100
- spec/dokkitlib_spec.rb
101
- spec/filehelper_spec.rb
102
- spec/fileselection_spec.rb
103
- spec/filter_base_spec.rb
104
- spec/filter_deplate_spec.rb
105
- spec/filter_maruku_spec.rb
106
- spec/filter_nil_spec.rb
107
- spec/filters_spec.rb
108
- spec/logger_spec.rb
109
- spec/model_spec.rb
110
- spec/pathhelper_spec.rb
111
- spec/recursivemerge_spec.rb
112
- spec/rendertask_spec.rb
21
+ lib/dokkit/hash.rb
22
+ lib/dokkit/logging.rb
23
+ lib/dokkit/logging/logger.rb
24
+ lib/dokkit/logging/observers.rb
25
+ lib/dokkit/logging/observers/console.rb
26
+ lib/dokkit/models/simple/Rakefile
27
+ lib/dokkit/models/simple/doc/configs/simple.yaml
28
+ lib/dokkit/models/simple/doc/data/html/css/style.css
29
+ lib/dokkit/models/simple/doc/data/latex/deplate.sty
30
+ lib/dokkit/models/simple/doc/layouts/simple.html
31
+ lib/dokkit/models/simple/doc/layouts/simple.latex
32
+ lib/dokkit/models/simple/doc/layouts/simple.text
33
+ lib/dokkit/models/simple/doc/pages/simple.deplate
34
+ lib/dokkit/models/simple/setup/setup.rb
35
+ lib/dokkit/resource.rb
36
+ lib/dokkit/resource/data.rb
37
+ lib/dokkit/resource/document.rb
38
+ lib/dokkit/resource/extensions.rb
39
+ lib/dokkit/resource/extensions/builtin.rb
40
+ lib/dokkit/resource/extensions/html.rb
41
+ lib/dokkit/resource/extensions/url.rb
42
+ lib/dokkit/resource/filenamehelper.rb
43
+ lib/dokkit/tasklib.rb
44
+ lib/dokkit/tasklib/clean.rb
45
+ lib/dokkit/tasklib/render.rb
46
+ spec/dokkit/application_spec.rb
47
+ spec/dokkit/cache/cache_spec.rb
48
+ spec/dokkit/dokkit_spec.rb
49
+ spec/dokkit/environment/basic_spec.rb
50
+ spec/dokkit/environment/helpers/extmap_spec.rb
51
+ spec/dokkit/environment/helpers/fileselection_spec.rb
52
+ spec/dokkit/environment/helpers/test_data/doc/pages/document_1.ext_1
53
+ spec/dokkit/environment/helpers/test_data/doc/pages/document_2
54
+ spec/dokkit/environment/helpers/test_data/doc/pages/document_3.ext_3
55
+ spec/dokkit/environment/test_data/doc/data/data
56
+ spec/dokkit/environment/test_data/doc/pages/document_1
57
+ spec/dokkit/environment/test_data/doc/pages/document_1.yaml
58
+ spec/dokkit/environment/test_data/doc/pages/document_2
59
+ spec/dokkit/environment/test_data/doc/pages/subdir/document_1
60
+ spec/dokkit/factory/factory_spec.rb
61
+ spec/dokkit/filters/deplate_spec.rb
62
+ spec/dokkit/filters/maruku_spec.rb
63
+ spec/dokkit/filters/nil_spec.rb
64
+ spec/dokkit/hash_spec.rb
65
+ spec/dokkit/logging/logger_spec.rb
66
+ spec/dokkit/logging/observers/console_spec.rb
67
+ spec/dokkit/resource/data_spec.rb
68
+ spec/dokkit/resource/document_spec.rb
69
+ spec/dokkit/resource/extensions/html_spec.rb
70
+ spec/dokkit/resource/extensions/url_spec.rb
71
+ spec/dokkit/resource/filenamehelper_spec.rb
72
+ spec/dokkit/resource/test_data/doc/configs/config_1.yaml
73
+ spec/dokkit/resource/test_data/doc/configs/config_2.yaml
74
+ spec/dokkit/resource/test_data/doc/configs/required.yaml
75
+ spec/dokkit/resource/test_data/doc/configs/subdir/document.yaml
76
+ spec/dokkit/resource/test_data/doc/layouts/container.html
77
+ spec/dokkit/resource/test_data/doc/layouts/layout.html
78
+ spec/dokkit/resource/test_data/doc/layouts/layout.latex
79
+ spec/dokkit/resource/test_data/doc/layouts/nested/nested.html
80
+ spec/dokkit/resource/test_data/doc/layouts/subdir/document.html
81
+ spec/dokkit/resource/test_data/doc/layouts/subdir/document.latex
82
+ spec/dokkit/resource/test_data/doc/pages/COMMON.yaml
83
+ spec/dokkit/resource/test_data/doc/pages/document_with_many_config.ext
84
+ spec/dokkit/resource/test_data/doc/pages/document_with_many_errors.ext
85
+ spec/dokkit/resource/test_data/doc/pages/document_with_many_targets.ext
86
+ spec/dokkit/resource/test_data/doc/pages/document_with_nested_layout.ext
87
+ spec/dokkit/resource/test_data/doc/pages/document_with_nil_target.ext
88
+ spec/dokkit/resource/test_data/doc/pages/document_with_not_defined_target.ext
89
+ spec/dokkit/resource/test_data/doc/pages/document_with_one_target.ext
90
+ spec/dokkit/resource/test_data/doc/pages/subdir/COMMON.yaml
91
+ spec/dokkit/resource/test_data/doc/pages/subdir/document.ext
92
+ spec/dokkit/resource/test_data/doc/pages/subdir/document.yaml
93
+ spec/dokkit/tasklib/clean_spec.rb
94
+ spec/dokkit/tasklib/render_spec.rb
95
+ spec/dokkit/tasklib/test_data/doc/data/data_1
96
+ spec/dokkit/tasklib/test_data/doc/pages/document_1
97
+ spec/dokkit/tasklib/test_data/doc/pages/document_2
98
+ spec/dokkit/test_data/dokkit/models/model1/doc/pages/model1
99
+ spec/dokkit/test_data/dokkit/models/model2/doc/pages/model2
100
+ spec/spec.opts
113
101
  spec/spec_helper.rb
114
- spec/taskconfig_spec.rb
115
- spec/templatetask_spec.rb
116
102
  tasks/annotations.rake
117
103
  tasks/doc.rake
118
104
  tasks/gem.rake
@@ -122,4 +108,3 @@ tasks/setup.rb
122
108
  tasks/spec.rake
123
109
  tasks/svn.rake
124
110
  tasks/test.rake
125
-
data/README.txt CHANGED
@@ -4,11 +4,21 @@ dokkit
4
4
 
5
5
  == DESCRIPTION:
6
6
 
7
- dokkit is a document generator. It was inspired by rote but now
8
- it is completely independent from it. dokkit uses
9
- filters like deplate to generate output in a large variety of formats (tex, html,
7
+ dokkit is a document generator. It was inspired by rote but now it is
8
+ completely independent from it. dokkit uses filters like deplate and
9
+ maruku to generate output in a large variety of formats (tex, html,
10
10
  docbook, plain text, ...).
11
11
 
12
+ With dokkit you can:
13
+
14
+ * generate static websites
15
+ * generate many types of documents in many formats (html, tex, plain text, etc.)
16
+ * write your documents using a simple wiki syntax and obtain high quality output
17
+ * generate different output formats from the same source document
18
+ * use models to quickly generate the documents you want (technical report, invoice, howto, guides, presentation, website, etc.)
19
+ * simply derive new documentation models from the existing ones
20
+ * simply modify existing models to fit your needs
21
+
12
22
  For more information please execute:
13
23
 
14
24
  dokkit --help
@@ -17,24 +27,34 @@ For more information please execute:
17
27
 
18
28
  dokkit key features are:
19
29
 
20
- * a smart task system based on rake
21
- * a consistent documentation per-model framework organized in templates, layouts, ruby classes, configuration files, resources
22
- * a powerful templating system based on ERB
30
+ * a smart building system based on rake[http://rake.rubyforge.org]
31
+ * a documentation directory structure organized in pages, layouts, configuration files, resources
32
+ * a templating system based on ERB
23
33
  * a simple and flexible configuration system based on YAML
34
+ * support for partials
24
35
 
25
36
  == SYNOPSIS:
26
37
 
27
- dokkit [options] [task]
38
+ To create a new documentation environment in <dirname> run:
39
+
40
+ dokkit <dirname>
28
41
 
29
42
  == REQUIREMENTS:
30
43
 
31
44
  * deplate >= 0.8.0
45
+ * maruku => 0.5.9
32
46
  * rake >= 0.8.1
33
47
 
34
48
  == INSTALL:
35
49
 
36
50
  sudo gem install dokkit
37
51
 
52
+ == QUICK START
53
+
54
+ $ dokkit mydocument
55
+ $ cd mydocument
56
+ $ rake
57
+
38
58
  == LICENSE:
39
59
 
40
60
  Copyright (c) 2008 Andrea Fazzi
data/Rakefile CHANGED
@@ -10,7 +10,7 @@ require 'dokkit'
10
10
  task :default => 'spec:run'
11
11
 
12
12
  PROJ.name = 'dokkit'
13
- PROJ.version = Dokkit::DOKKITVERSION
13
+ PROJ.version = Dokkit::VERSION
14
14
  PROJ.summary = 'dokkit is an open source document generator'
15
15
  PROJ.authors = 'Andrea Fazzi'
16
16
  PROJ.email = 'andrea.fazzi@alca.le.it'
@@ -18,8 +18,7 @@ PROJ.url = 'http://dokkit.rubyforge.org'
18
18
  PROJ.description = paragraphs_of('README.txt', 1).join("\n\n")
19
19
  PROJ.changes = paragraphs_of('History.txt', 0..1).join("\n\n")
20
20
  PROJ.rubyforge_name = 'dokkit'
21
- #FIXME: set version numbers for the dependencies below.
22
21
  PROJ.dependencies = ['deplate', 'rake', 'maruku']
23
22
  PROJ.spec_opts << ['--format', 'specdoc', '--color']
24
-
23
+ PROJ.rdoc_exclude << "models/simple"
25
24
  # EOF
data/bin/dokkit CHANGED
@@ -1,7 +1,8 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- require File.expand_path(File.join(File.dirname(__FILE__), '..', 'lib', 'dokkit'))
3
+ require 'dokkit/application'
4
+ require 'dokkit/logging'
4
5
 
5
6
  # Put your code here
6
- Dokkit.application.run
7
+ Dokkit::Application.new( Dokkit::Logging::Observer::Console.new(Dokkit::Logging::Logger.new).logger ).run
7
8
  # EOF
@@ -0,0 +1,159 @@
1
+ #
2
+ # File 'application.rb' created on 08 mag 2008 at 17:26:07.
3
+ #
4
+ # See 'dokkit.rb' or +LICENSE+ for licence information.
5
+ #
6
+ # (C)2006-2008 Andrea Fazzi <andrea.fazzi@alca.le.it> (and contributors).
7
+ #
8
+
9
+ require 'getoptlong'
10
+ require 'fileutils'
11
+ require 'dokkit'
12
+
13
+ module Dokkit
14
+ class Application
15
+
16
+ OPTIONS = [
17
+ [ "--usage", "-u", GetoptLong::NO_ARGUMENT,
18
+ "Display usage information." ],
19
+ [ "--help", "-h", GetoptLong::NO_ARGUMENT,
20
+ "Synonim for usage."],
21
+ [ "--version", "-v", GetoptLong::NO_ARGUMENT,
22
+ "Display the version number and quit." ],
23
+ [ "--list", '-l', GetoptLong::NO_ARGUMENT,
24
+ "List the available models."],
25
+ [ "--model", '-m', GetoptLong::REQUIRED_ARGUMENT,
26
+ "Specify a documentation model" ]
27
+ ]
28
+
29
+ USAGE_PREAMBLE = <<-EOU
30
+ Usage: dokkit [options] <dest_dir>
31
+
32
+ Where dest_dir is the directory in which to setup the documentation
33
+ environment.
34
+
35
+ EOU
36
+ attr_reader :default_model
37
+
38
+ def initialize(logger, configuration = { })
39
+ @logger = logger
40
+ @configuration = configuration
41
+ @dokkit_dir = configuration[:dokkit_dir] || dokkit_dir
42
+ @user_dir = configuration[:user_dir] || relative_to_home('.dokkit')
43
+ @model_dir = configuration[:model_dir] || 'models'
44
+ @default_model = configuration[:default_model] || 'simple'
45
+ @models = { 'simple' => File.join(@dokkit_dir, 'dokkit/models/simple') } if @dokkit_dir
46
+ @models.merge!(fetch_models)
47
+ end
48
+
49
+ def run
50
+
51
+ process_args
52
+
53
+ unless ARGV.empty?
54
+ create_environment(ARGV.to_s)
55
+ else
56
+ do_option('--help')
57
+ end
58
+
59
+ end
60
+
61
+ private
62
+
63
+ def dokkit_dir
64
+ lib = nil
65
+ $:.each do |it|
66
+ if File.exists?(File.join(it, 'dokkit/models/'))
67
+ lib = it
68
+ break
69
+ end
70
+ end
71
+ lib
72
+ end
73
+
74
+ def relative_to_home(path)
75
+ File.join(((ENV['HOMEPATH'] if RUBY_PLATFORM =~ /win32/) || ENV['HOME']), path)
76
+ end
77
+
78
+ def create_environment(dest_dir)
79
+ model = @model || @default_model
80
+ if @models.has_key?(model)
81
+ unless File.exists?(dest_dir)
82
+ @logger.info("Creating documentation environment based on '#{model}' on directory '#{dest_dir}'.")
83
+ FileUtils.cp_r(@models[model], dest_dir)
84
+ else
85
+ @logger.error("Directory '#{dest_dir}' already exists.")
86
+ end
87
+ else
88
+ @logger.error("Model '#{model}' not found.")
89
+ end
90
+ end
91
+
92
+ def do_option(option, value = nil)
93
+ case option
94
+ when '--usage'
95
+ help
96
+ exit
97
+ when '--help'
98
+ help
99
+ exit
100
+ when '--version'
101
+ puts "dokkit, version #{Dokkit::VERSION}\n"
102
+ exit
103
+ when '--list'
104
+ list_models
105
+ exit
106
+ when '--model'
107
+ @model = value
108
+ end
109
+ end
110
+
111
+ def command_line_options
112
+ OPTIONS.collect { |lst| lst[0..-2] }
113
+ end
114
+
115
+ def process_args
116
+ opts = GetoptLong.new(*command_line_options)
117
+ opts.each { |opt, value| do_option(opt, value) }
118
+ end
119
+
120
+ def help
121
+ puts
122
+ puts USAGE_PREAMBLE
123
+ puts "Recognized options are:"
124
+ puts
125
+ OPTIONS.sort.each do |long, short, mode, desc|
126
+ if mode == GetoptLong::REQUIRED_ARGUMENT
127
+ if desc =~ /\b([A-Z]{2,})\b/
128
+ long = long + "=#{$1}"
129
+ end
130
+ end
131
+ printf " %-20s (%s)\n", long, short
132
+ printf " %s\n", desc
133
+ puts
134
+ end
135
+ end
136
+
137
+ def model_dir
138
+ File.join(@dokkit_dir, @model_dir)
139
+ end
140
+
141
+ def fetch_models
142
+ models = { }
143
+ if File.exists?(model_dir)
144
+ Dir.glob(File.join(model_dir, '*')) do |model|
145
+ modelname = model.sub(File.join(@dokkit_dir, @model_dir), '').sub('/', '')
146
+ models[modelname] = model
147
+ end
148
+ end
149
+ models
150
+ end
151
+
152
+ def list_models
153
+ @models.each_key do |model|
154
+ @logger.info("Found model '#{model}'.")
155
+ end
156
+ end
157
+
158
+ end
159
+ end
@@ -0,0 +1,53 @@
1
+ #
2
+ # File 'cachemanager.rb' created on 28 gen 2008 at 18:31:05.
3
+ #
4
+ # See 'dokkit.rb' or +LICENSE+ for licence information.
5
+ #
6
+ # (C)2006-2008 Andrea Fazzi <andrea.fazzi@alca.le.it> (and contributors).
7
+ #
8
+
9
+ require 'rake'
10
+ require 'yaml'
11
+
12
+ module Dokkit
13
+ class Cache
14
+ attr_reader :deps, :cache_dir, :cache_filename
15
+
16
+ def initialize(cache_filename = 'deps.yaml', cache_dir = '.cache')
17
+ @cache_filename = cache_filename
18
+ @cache_dir = cache_dir
19
+ @complete_cache_filename = File.join(cache_dir, cache_filename)
20
+ load
21
+ at_exit { save }
22
+ end
23
+
24
+ def add_dependency(source_fn, format, dep)
25
+ @deps[source_fn] ||= { format => [] }
26
+ @deps[source_fn][format] << dep unless (dep.nil? or @deps[source_fn][format].include?(dep))
27
+ end
28
+
29
+ def load
30
+ @deps = load_from_yaml || { }
31
+ end
32
+
33
+ def save
34
+ write_cache_to_file unless @deps.empty?
35
+ end
36
+
37
+ def clean
38
+ @deps.clear
39
+ end
40
+
41
+ private
42
+
43
+ def load_from_yaml
44
+ YAML::load_file(@complete_cache_filename) if File.exists?(@complete_cache_filename)
45
+ end
46
+
47
+ def write_cache_to_file
48
+ mkdir_p(cache_dir, :verbose => false) unless File.exists?(cache_dir)
49
+ File.open(@complete_cache_filename, 'w') { |file| file.write YAML::dump(@deps) }
50
+ end
51
+
52
+ end
53
+ end
@@ -1,22 +1,10 @@
1
1
  #
2
- # File 'Rakefile' created on 09 ott 2007 at 16:06:57.
2
+ # File 'cache.rb' created on 05 mag 2008 at 16:36:14.
3
3
  #
4
4
  # See 'dokkit.rb' or +LICENSE+ for licence information.
5
5
  #
6
- # (C) 2006, 2007 Andrea Fazzi <andrea.fazzi@alca.le.it> (and contributors).
6
+ # (C)2006-2008 Andrea Fazzi <andrea.fazzi@alca.le.it> (and contributors).
7
7
  #
8
- # Rakefile for website project model
9
-
10
- require 'tasks/all'
11
-
12
- task :clobber => 'clean:all'
13
- task :default => 'render:all'
14
-
15
-
16
-
17
-
18
-
19
-
20
-
21
8
 
9
+ require 'dokkit/cache/cache'
22
10