dokkit 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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