zen 0.1a

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 (338) hide show
  1. data/LICENSE +19 -0
  2. data/MANIFEST +337 -0
  3. data/README.textile +42 -0
  4. data/Rakefile +6 -0
  5. data/bin/zen +9 -0
  6. data/doc/Categories.html +93 -0
  7. data/doc/Categories/Controllers.html +93 -0
  8. data/doc/Categories/Controllers/Categories.html +995 -0
  9. data/doc/Categories/Controllers/CategoryGroups.html +878 -0
  10. data/doc/Categories/Models.html +97 -0
  11. data/doc/Categories/Models/Category.html +269 -0
  12. data/doc/Categories/Models/CategoryGroup.html +231 -0
  13. data/doc/Comments.html +93 -0
  14. data/doc/Comments/Controllers.html +93 -0
  15. data/doc/Comments/Controllers/Comments.html +797 -0
  16. data/doc/Comments/Controllers/CommentsForm.html +487 -0
  17. data/doc/Comments/Liquid.html +93 -0
  18. data/doc/Comments/Liquid/CommentForm.html +522 -0
  19. data/doc/Comments/Liquid/Comments.html +543 -0
  20. data/doc/Comments/Models.html +95 -0
  21. data/doc/Comments/Models/Comment.html +260 -0
  22. data/doc/CustomFields.html +93 -0
  23. data/doc/CustomFields/Controllers.html +93 -0
  24. data/doc/CustomFields/Controllers/CustomFieldGroups.html +902 -0
  25. data/doc/CustomFields/Controllers/CustomFields.html +974 -0
  26. data/doc/CustomFields/Models.html +97 -0
  27. data/doc/CustomFields/Models/CustomField.html +272 -0
  28. data/doc/CustomFields/Models/CustomFieldGroup.html +259 -0
  29. data/doc/CustomFields/Models/CustomFieldValue.html +154 -0
  30. data/doc/Ramaze.html +93 -0
  31. data/doc/Ramaze/Helper.html +93 -0
  32. data/doc/Ramaze/Helper/ACL.html +531 -0
  33. data/doc/Ramaze/Helper/Asset.html +617 -0
  34. data/doc/Ramaze/Helper/Breadcrumb.html +411 -0
  35. data/doc/Ramaze/Helper/Common.html +738 -0
  36. data/doc/Sections.html +93 -0
  37. data/doc/Sections/Controllers.html +93 -0
  38. data/doc/Sections/Controllers/SectionEntries.html +1100 -0
  39. data/doc/Sections/Controllers/Sections.html +953 -0
  40. data/doc/Sections/Liquid.html +93 -0
  41. data/doc/Sections/Liquid/SectionEntries.html +674 -0
  42. data/doc/Sections/Liquid/Sections.html +494 -0
  43. data/doc/Sections/Models.html +97 -0
  44. data/doc/Sections/Models/Section.html +272 -0
  45. data/doc/Sections/Models/SectionEntry.html +264 -0
  46. data/doc/Sequel.html +91 -0
  47. data/doc/Sequel/Model.html +243 -0
  48. data/doc/Settings.html +93 -0
  49. data/doc/Settings/Controllers.html +91 -0
  50. data/doc/Settings/Controllers/Settings.html +565 -0
  51. data/doc/Settings/Liquid.html +91 -0
  52. data/doc/Settings/Liquid/Setting.html +426 -0
  53. data/doc/Settings/Models.html +95 -0
  54. data/doc/Settings/Models/Setting.html +293 -0
  55. data/doc/Users.html +93 -0
  56. data/doc/Users/Controllers.html +93 -0
  57. data/doc/Users/Controllers/AccessRules.html +904 -0
  58. data/doc/Users/Controllers/UserGroups.html +879 -0
  59. data/doc/Users/Controllers/Users.html +1124 -0
  60. data/doc/Users/Liquid.html +93 -0
  61. data/doc/Users/Liquid/User.html +480 -0
  62. data/doc/Users/Liquid/Users.html +495 -0
  63. data/doc/Users/Models.html +97 -0
  64. data/doc/Users/Models/AccessRule.html +257 -0
  65. data/doc/Users/Models/User.html +649 -0
  66. data/doc/Users/Models/UserGroup.html +267 -0
  67. data/doc/Zen.html +391 -0
  68. data/doc/Zen/Bin.html +113 -0
  69. data/doc/Zen/Bin/Base.html +727 -0
  70. data/doc/Zen/Controllers.html +115 -0
  71. data/doc/Zen/Controllers/AdminController.html +298 -0
  72. data/doc/Zen/Controllers/BaseController.html +272 -0
  73. data/doc/Zen/Controllers/FrontendController.html +164 -0
  74. data/doc/Zen/Controllers/MainController.html +421 -0
  75. data/doc/Zen/Database.html +498 -0
  76. data/doc/Zen/Language.html +660 -0
  77. data/doc/Zen/Liquid.html +117 -0
  78. data/doc/Zen/Liquid/ControllerBehavior.html +448 -0
  79. data/doc/Zen/Liquid/General.html +444 -0
  80. data/doc/Zen/Liquid/Redirect.html +435 -0
  81. data/doc/Zen/Liquid/Strip.html +447 -0
  82. data/doc/Zen/Logger.html +393 -0
  83. data/doc/Zen/Package.html +909 -0
  84. data/doc/_index.html +724 -0
  85. data/doc/class_list.html +36 -0
  86. data/doc/css/common.css +1 -0
  87. data/doc/css/full_list.css +53 -0
  88. data/doc/css/style.css +310 -0
  89. data/doc/file.README.html +86 -0
  90. data/doc/file_list.html +38 -0
  91. data/doc/frames.html +13 -0
  92. data/doc/index.html +86 -0
  93. data/doc/js/app.js +203 -0
  94. data/doc/js/full_list.js +149 -0
  95. data/doc/js/jquery.js +154 -0
  96. data/doc/method_list.html +1139 -0
  97. data/doc/top-level-namespace.html +88 -0
  98. data/lib/zen.rb +77 -0
  99. data/lib/zen/base/database.rb +105 -0
  100. data/lib/zen/base/language.rb +132 -0
  101. data/lib/zen/base/logger.rb +54 -0
  102. data/lib/zen/base/package.rb +233 -0
  103. data/lib/zen/base/version.rb +11 -0
  104. data/lib/zen/bin/zen_binary.rb +173 -0
  105. data/lib/zen/controller/admin_controller.rb +60 -0
  106. data/lib/zen/controller/base_controller.rb +39 -0
  107. data/lib/zen/controller/frontend_controller.rb +16 -0
  108. data/lib/zen/controller/main_controller.rb +93 -0
  109. data/lib/zen/helper/acl.rb +124 -0
  110. data/lib/zen/helper/asset.rb +104 -0
  111. data/lib/zen/helper/breadcrumb.rb +71 -0
  112. data/lib/zen/helper/common.rb +157 -0
  113. data/lib/zen/language/en/zen_general.rb +21 -0
  114. data/lib/zen/language/en/zen_models.rb +39 -0
  115. data/lib/zen/layout/admin.xhtml +72 -0
  116. data/lib/zen/layout/login.xhtml +44 -0
  117. data/lib/zen/liquid/controller_behavior.rb +55 -0
  118. data/lib/zen/liquid/general.rb +69 -0
  119. data/lib/zen/liquid/redirect.rb +47 -0
  120. data/lib/zen/liquid/strip.rb +58 -0
  121. data/lib/zen/model/methods.rb +26 -0
  122. data/lib/zen/model/settings.rb +27 -0
  123. data/lib/zen/packages/categories/LICENSE +19 -0
  124. data/lib/zen/packages/categories/README.textile +0 -0
  125. data/lib/zen/packages/categories/lib/categories.rb +24 -0
  126. data/lib/zen/packages/categories/lib/categories/controller/categories.rb +202 -0
  127. data/lib/zen/packages/categories/lib/categories/controller/category_groups.rb +173 -0
  128. data/lib/zen/packages/categories/lib/categories/language/en/categories.rb +38 -0
  129. data/lib/zen/packages/categories/lib/categories/language/en/category_groups.rb +37 -0
  130. data/lib/zen/packages/categories/lib/categories/model/category.rb +42 -0
  131. data/lib/zen/packages/categories/lib/categories/model/category_group.rb +29 -0
  132. data/lib/zen/packages/categories/lib/categories/view/admin/categories/edit.xhtml +7 -0
  133. data/lib/zen/packages/categories/lib/categories/view/admin/categories/form.xhtml +36 -0
  134. data/lib/zen/packages/categories/lib/categories/view/admin/categories/index.xhtml +70 -0
  135. data/lib/zen/packages/categories/lib/categories/view/admin/categories/new.xhtml +7 -0
  136. data/lib/zen/packages/categories/lib/categories/view/admin/category_groups/edit.xhtml +7 -0
  137. data/lib/zen/packages/categories/lib/categories/view/admin/category_groups/form.xhtml +18 -0
  138. data/lib/zen/packages/categories/lib/categories/view/admin/category_groups/index.xhtml +72 -0
  139. data/lib/zen/packages/categories/lib/categories/view/admin/category_groups/new.xhtml +7 -0
  140. data/lib/zen/packages/categories/migrations/.gitkeep +0 -0
  141. data/lib/zen/packages/categories/migrations/1295282303_create_schema.rb +40 -0
  142. data/lib/zen/packages/comments/LICENSE +19 -0
  143. data/lib/zen/packages/comments/README.textile +0 -0
  144. data/lib/zen/packages/comments/lib/comments.rb +26 -0
  145. data/lib/zen/packages/comments/lib/comments/controller/comments.rb +157 -0
  146. data/lib/zen/packages/comments/lib/comments/controller/comments_form.rb +135 -0
  147. data/lib/zen/packages/comments/lib/comments/language/en/comments.rb +52 -0
  148. data/lib/zen/packages/comments/lib/comments/liquid/comment_form.rb +97 -0
  149. data/lib/zen/packages/comments/lib/comments/liquid/comments.rb +115 -0
  150. data/lib/zen/packages/comments/lib/comments/model/comment.rb +34 -0
  151. data/lib/zen/packages/comments/lib/comments/view/admin/comments/edit.xhtml +7 -0
  152. data/lib/zen/packages/comments/lib/comments/view/admin/comments/form.xhtml +31 -0
  153. data/lib/zen/packages/comments/lib/comments/view/admin/comments/index.xhtml +74 -0
  154. data/lib/zen/packages/comments/migrations/.gitkeep +0 -0
  155. data/lib/zen/packages/comments/migrations/1295282202_create_schema.rb +24 -0
  156. data/lib/zen/packages/comments/migrations/1296949631_add_defensio_signature.rb +11 -0
  157. data/lib/zen/packages/custom_fields/LICENSE +19 -0
  158. data/lib/zen/packages/custom_fields/README.textile +0 -0
  159. data/lib/zen/packages/custom_fields/lib/custom_fields.rb +24 -0
  160. data/lib/zen/packages/custom_fields/lib/custom_fields/controller/custom_field_groups.rb +179 -0
  161. data/lib/zen/packages/custom_fields/lib/custom_fields/controller/custom_fields.rb +194 -0
  162. data/lib/zen/packages/custom_fields/lib/custom_fields/language/en/custom_field_groups.rb +45 -0
  163. data/lib/zen/packages/custom_fields/lib/custom_fields/language/en/custom_fields.rb +64 -0
  164. data/lib/zen/packages/custom_fields/lib/custom_fields/model/custom_field.rb +41 -0
  165. data/lib/zen/packages/custom_fields/lib/custom_fields/model/custom_field_group.rb +32 -0
  166. data/lib/zen/packages/custom_fields/lib/custom_fields/model/custom_field_value.rb +20 -0
  167. data/lib/zen/packages/custom_fields/lib/custom_fields/view/admin/custom_field_groups/edit.xhtml +7 -0
  168. data/lib/zen/packages/custom_fields/lib/custom_fields/view/admin/custom_field_groups/form.xhtml +18 -0
  169. data/lib/zen/packages/custom_fields/lib/custom_fields/view/admin/custom_field_groups/index.xhtml +88 -0
  170. data/lib/zen/packages/custom_fields/lib/custom_fields/view/admin/custom_field_groups/new.xhtml +7 -0
  171. data/lib/zen/packages/custom_fields/lib/custom_fields/view/admin/custom_fields/edit.xhtml +7 -0
  172. data/lib/zen/packages/custom_fields/lib/custom_fields/view/admin/custom_fields/form.xhtml +50 -0
  173. data/lib/zen/packages/custom_fields/lib/custom_fields/view/admin/custom_fields/index.xhtml +75 -0
  174. data/lib/zen/packages/custom_fields/lib/custom_fields/view/admin/custom_fields/new.xhtml +7 -0
  175. data/lib/zen/packages/custom_fields/migrations/.gitkeep +0 -0
  176. data/lib/zen/packages/custom_fields/migrations/1295255665_create_schema.rb +53 -0
  177. data/lib/zen/packages/sections/LICENSE +19 -0
  178. data/lib/zen/packages/sections/README.textile +43 -0
  179. data/lib/zen/packages/sections/lib/sections.rb +33 -0
  180. data/lib/zen/packages/sections/lib/sections/controller/section_entries.rb +251 -0
  181. data/lib/zen/packages/sections/lib/sections/controller/sections.rb +205 -0
  182. data/lib/zen/packages/sections/lib/sections/language/en/section_entries.rb +58 -0
  183. data/lib/zen/packages/sections/lib/sections/language/en/sections.rb +63 -0
  184. data/lib/zen/packages/sections/lib/sections/liquid/section_entries.rb +209 -0
  185. data/lib/zen/packages/sections/lib/sections/liquid/sections.rb +76 -0
  186. data/lib/zen/packages/sections/lib/sections/model/section.rb +43 -0
  187. data/lib/zen/packages/sections/lib/sections/model/section_entry.rb +43 -0
  188. data/lib/zen/packages/sections/lib/sections/view/admin/edit.xhtml +7 -0
  189. data/lib/zen/packages/sections/lib/sections/view/admin/form.xhtml +54 -0
  190. data/lib/zen/packages/sections/lib/sections/view/admin/index.xhtml +77 -0
  191. data/lib/zen/packages/sections/lib/sections/view/admin/new.xhtml +7 -0
  192. data/lib/zen/packages/sections/lib/sections/view/admin/section_entries/edit.xhtml +7 -0
  193. data/lib/zen/packages/sections/lib/sections/view/admin/section_entries/form.xhtml +147 -0
  194. data/lib/zen/packages/sections/lib/sections/view/admin/section_entries/index.xhtml +74 -0
  195. data/lib/zen/packages/sections/lib/sections/view/admin/section_entries/new.xhtml +7 -0
  196. data/lib/zen/packages/sections/migrations/.gitkeep +0 -0
  197. data/lib/zen/packages/sections/migrations/1295251836_create_schema.rb +35 -0
  198. data/lib/zen/packages/sections/migrations/1296335671_userdata_section_entries.rb +18 -0
  199. data/lib/zen/packages/sections/migrations/1296936110_drop_comment_antispam.rb +11 -0
  200. data/lib/zen/packages/settings/LICENSE +0 -0
  201. data/lib/zen/packages/settings/README.textile +0 -0
  202. data/lib/zen/packages/settings/lib/settings.rb +22 -0
  203. data/lib/zen/packages/settings/lib/settings/controller/settings.rb +113 -0
  204. data/lib/zen/packages/settings/lib/settings/language/en/settings.rb +56 -0
  205. data/lib/zen/packages/settings/lib/settings/liquid/setting.rb +56 -0
  206. data/lib/zen/packages/settings/lib/settings/model/setting.rb +38 -0
  207. data/lib/zen/packages/settings/lib/settings/view/admin/settings/index.xhtml +79 -0
  208. data/lib/zen/packages/settings/migrations/.gitkeep +0 -0
  209. data/lib/zen/packages/settings/migrations/1295597111_create_schema.rb +31 -0
  210. data/lib/zen/packages/users/LICENSE +19 -0
  211. data/lib/zen/packages/users/README.textile +0 -0
  212. data/lib/zen/packages/users/lib/users.rb +35 -0
  213. data/lib/zen/packages/users/lib/users/controller/access_rules.rb +186 -0
  214. data/lib/zen/packages/users/lib/users/controller/user_groups.rb +171 -0
  215. data/lib/zen/packages/users/lib/users/controller/users.rb +240 -0
  216. data/lib/zen/packages/users/lib/users/language/en/access_rules.rb +49 -0
  217. data/lib/zen/packages/users/lib/users/language/en/user_groups.rb +42 -0
  218. data/lib/zen/packages/users/lib/users/language/en/users.rb +63 -0
  219. data/lib/zen/packages/users/lib/users/liquid/user.rb +75 -0
  220. data/lib/zen/packages/users/lib/users/liquid/users.rb +80 -0
  221. data/lib/zen/packages/users/lib/users/model/access_rule.rb +29 -0
  222. data/lib/zen/packages/users/lib/users/model/user.rb +96 -0
  223. data/lib/zen/packages/users/lib/users/model/user_group.rb +38 -0
  224. data/lib/zen/packages/users/lib/users/public/admin/js/users/access_rules.js +43 -0
  225. data/lib/zen/packages/users/lib/users/view/admin/access_rules/edit.xhtml +7 -0
  226. data/lib/zen/packages/users/lib/users/view/admin/access_rules/form.xhtml +68 -0
  227. data/lib/zen/packages/users/lib/users/view/admin/access_rules/index.xhtml +85 -0
  228. data/lib/zen/packages/users/lib/users/view/admin/access_rules/new.xhtml +7 -0
  229. data/lib/zen/packages/users/lib/users/view/admin/user_groups/edit.xhtml +7 -0
  230. data/lib/zen/packages/users/lib/users/view/admin/user_groups/form.xhtml +19 -0
  231. data/lib/zen/packages/users/lib/users/view/admin/user_groups/index.xhtml +69 -0
  232. data/lib/zen/packages/users/lib/users/view/admin/user_groups/new.xhtml +7 -0
  233. data/lib/zen/packages/users/lib/users/view/admin/users/edit.xhtml +7 -0
  234. data/lib/zen/packages/users/lib/users/view/admin/users/form.xhtml +25 -0
  235. data/lib/zen/packages/users/lib/users/view/admin/users/index.xhtml +73 -0
  236. data/lib/zen/packages/users/lib/users/view/admin/users/login.xhtml +22 -0
  237. data/lib/zen/packages/users/lib/users/view/admin/users/new.xhtml +7 -0
  238. data/lib/zen/packages/users/migrations/.gitkeep +0 -0
  239. data/lib/zen/packages/users/migrations/1295281013_create_schema.rb +54 -0
  240. data/lib/zen/public/admin/css/boilerplate.css +174 -0
  241. data/lib/zen/public/admin/css/general.css +485 -0
  242. data/lib/zen/public/admin/css/grid.css +119 -0
  243. data/lib/zen/public/admin/css/layout.css +111 -0
  244. data/lib/zen/public/admin/images/general/noise.jpg +0 -0
  245. data/lib/zen/public/admin/images/icons/accept.png +0 -0
  246. data/lib/zen/public/admin/images/icons/add.png +0 -0
  247. data/lib/zen/public/admin/images/icons/back.png +0 -0
  248. data/lib/zen/public/admin/images/icons/bold.png +0 -0
  249. data/lib/zen/public/admin/images/icons/close.png +0 -0
  250. data/lib/zen/public/admin/images/icons/delete.png +0 -0
  251. data/lib/zen/public/admin/images/icons/edit.png +0 -0
  252. data/lib/zen/public/admin/images/icons/error.png +0 -0
  253. data/lib/zen/public/admin/images/icons/help.png +0 -0
  254. data/lib/zen/public/admin/images/icons/info.png +0 -0
  255. data/lib/zen/public/admin/images/icons/italic.png +0 -0
  256. data/lib/zen/public/admin/images/icons/large/error.png +0 -0
  257. data/lib/zen/public/admin/images/icons/large/notice.png +0 -0
  258. data/lib/zen/public/admin/images/icons/large/success.png +0 -0
  259. data/lib/zen/public/admin/images/icons/link.png +0 -0
  260. data/lib/zen/public/admin/images/icons/logout.png +0 -0
  261. data/lib/zen/public/admin/images/icons/ol.png +0 -0
  262. data/lib/zen/public/admin/images/icons/pdf.png +0 -0
  263. data/lib/zen/public/admin/images/icons/ul.png +0 -0
  264. data/lib/zen/public/admin/images/icons/user.png +0 -0
  265. data/lib/zen/public/admin/images/icons/view.png +0 -0
  266. data/lib/zen/public/admin/js/mootools/core.js +436 -0
  267. data/lib/zen/public/admin/js/mootools/more.js +288 -0
  268. data/lib/zen/public/admin/js/zen/editor/base.js +265 -0
  269. data/lib/zen/public/admin/js/zen/editor/drivers/html.js +104 -0
  270. data/lib/zen/public/admin/js/zen/editor/drivers/markdown.js +102 -0
  271. data/lib/zen/public/admin/js/zen/editor/drivers/textile.js +102 -0
  272. data/lib/zen/public/admin/js/zen/init.js +57 -0
  273. data/lib/zen/public/admin/js/zen/modal.js +159 -0
  274. data/lib/zen/public/admin/js/zen/notification.js +213 -0
  275. data/lib/zen/public/admin/js/zen/tabs.js +263 -0
  276. data/lib/zen/tasks.rb +6 -0
  277. data/pkg/.gitkeep +0 -0
  278. data/proto/app/Rakefile +2 -0
  279. data/proto/app/app.rb +20 -0
  280. data/proto/app/config.ru +18 -0
  281. data/proto/app/config/config.rb +17 -0
  282. data/proto/app/config/database.rb +18 -0
  283. data/proto/app/config/middlewares.rb +23 -0
  284. data/proto/app/config/requires.rb +8 -0
  285. data/proto/app/logs/.gitkeep +0 -0
  286. data/proto/app/public/.gitkeep +0 -0
  287. data/proto/app/start.rb +22 -0
  288. data/proto/app/vendor/.gitkeep +0 -0
  289. data/proto/app/vendor/themes/.gitkeep +0 -0
  290. data/proto/migration.rb +11 -0
  291. data/proto/module/LICENSE +0 -0
  292. data/proto/module/README.textile +0 -0
  293. data/proto/module/lib/module.rb +15 -0
  294. data/proto/module/lib/module/controller/controllers.rb +86 -0
  295. data/proto/module/lib/module/language/en/languages.rb +3 -0
  296. data/proto/module/lib/module/model/model.rb +12 -0
  297. data/proto/module/lib/module/view/admin/edit.xhtml +0 -0
  298. data/proto/module/lib/module/view/admin/form.xhtml +0 -0
  299. data/proto/module/lib/module/view/admin/index.xhtml +0 -0
  300. data/proto/module/lib/module/view/admin/new.xhtml +0 -0
  301. data/proto/module/migrations/.gitkeep +0 -0
  302. data/spec/javascript/css/base.css +177 -0
  303. data/spec/javascript/css/style.css +204 -0
  304. data/spec/javascript/css/typography.css +70 -0
  305. data/spec/javascript/editor/index.html +65 -0
  306. data/spec/javascript/images/close.png +0 -0
  307. data/spec/javascript/images/info.png +0 -0
  308. data/spec/javascript/js/editor.js +16 -0
  309. data/spec/javascript/js/modal.js +12 -0
  310. data/spec/javascript/js/namespace.js +2 -0
  311. data/spec/javascript/js/notification.js +43 -0
  312. data/spec/javascript/js/tabs.js +8 -0
  313. data/spec/javascript/modal/index.html +45 -0
  314. data/spec/javascript/notification/index.html +48 -0
  315. data/spec/javascript/tabs/index.html +73 -0
  316. data/spec/javascript/tabs/tab_1.html +1 -0
  317. data/spec/javascript/tabs/tab_2.html +1 -0
  318. data/spec/zen/base/language.rb +31 -0
  319. data/spec/zen/base/logger.rb +34 -0
  320. data/spec/zen/base/package.rb +47 -0
  321. data/spec/zen/config/database.rb +8 -0
  322. data/spec/zen/helper/asset.rb +26 -0
  323. data/spec/zen/helper/breadcrumb.rb +24 -0
  324. data/spec/zen/language/en/general.rb +4 -0
  325. data/spec/zen/language/nl/general.rb +4 -0
  326. data/spec/zen/liquid/general.rb +42 -0
  327. data/spec/zen/logs/.gitkeep +0 -0
  328. data/spec/zen/spec.rb +9 -0
  329. data/spec/zen/spec_database.db +0 -0
  330. data/tasks/bacon.rake +99 -0
  331. data/tasks/build.rake +72 -0
  332. data/tasks/clean.rake +18 -0
  333. data/tasks/db.rake +81 -0
  334. data/tasks/doc.rake +5 -0
  335. data/tasks/extension.rake +65 -0
  336. data/tasks/proto.rake +37 -0
  337. data/tasks/theme.rake +63 -0
  338. metadata +512 -0
@@ -0,0 +1,48 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+
6
+ <!-- Core Javascript files required by all classes -->
7
+ <script src="../../../lib/zen/public/admin/js/mootools/core.js"></script>
8
+ <script src="../js/namespace.js"></script>
9
+
10
+ <!-- Widgets, etc -->
11
+ <script src="../../../lib/zen/public/admin/js/zen/notification.js"></script>
12
+ <script src="../js/notification.js"></script>
13
+
14
+ <!-- Stylesheets -->
15
+ <link rel="stylesheet" href="../css/base.css">
16
+ <link rel="stylesheet" href="../css/typography.css">
17
+ <link rel="stylesheet" href="../css/style.css">
18
+
19
+ <title>Zen &bull; Notifications</title>
20
+ </head>
21
+ <body>
22
+
23
+ <div id="container" class="container_12 clearfix">
24
+ <section>
25
+
26
+ <!-- General tabs -->
27
+ <article class="grid_12">
28
+ <header>
29
+ <h1>Notification Types</h1>
30
+ </header>
31
+
32
+ <ul>
33
+ <li>
34
+ <a href="#" id="standard_notification">Standard</a>
35
+ </li>
36
+ <li>
37
+ <a href="#" id="sticky_notification">Sticky</a>
38
+ </li>
39
+ <li>
40
+ <a href="#" id="delay_notification">Delayed (5 seconds)</a>
41
+ </li>
42
+ </ul>
43
+ </article>
44
+
45
+ </section>
46
+ </div>
47
+ </body>
48
+ </html>
@@ -0,0 +1,73 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+
6
+ <!-- Core Javascript files required by all classes -->
7
+ <script src="../../../lib/zen/public/admin/js/mootools/core.js"></script>
8
+ <script src="../js/namespace.js"></script>
9
+
10
+ <!-- Widgets, etc -->
11
+ <script src="../../../lib/zen/public/admin/js/zen/tabs.js"></script>
12
+ <script src="../js/tabs.js"></script>
13
+
14
+ <!-- Stylesheets -->
15
+ <link rel="stylesheet" href="../css/base.css">
16
+ <link rel="stylesheet" href="../css/typography.css">
17
+ <link rel="stylesheet" href="../css/style.css">
18
+
19
+ <title>Zen &bull; Tabs</title>
20
+ </head>
21
+ <body>
22
+ <div id="container" class="container_12 clearfix">
23
+ <section>
24
+
25
+ <!-- General tabs -->
26
+ <article class="grid_12">
27
+ <header>
28
+ <h1>General Tabs</h1>
29
+ </header>
30
+
31
+ <p>Two tabs, the first should be selected by default. The content of these tabs is loaded from hidden elements that already exist on the page.</p>
32
+
33
+ <ul class="tabs clearfix">
34
+ <li>
35
+ <a href="#tab_1">Tab 1</a>
36
+ </li>
37
+ <li>
38
+ <a href="#tab_2">Tab 2</a>
39
+ </li>
40
+ </ul>
41
+
42
+ <div id="tab_1" class="tab_content">
43
+ <p>Content of the first tab, should be shown by default.</p>
44
+ </div>
45
+ <div id="tab_2" class="tab_content">
46
+ <p>Content of the second tab.</p>
47
+ </div>
48
+ </article>
49
+
50
+
51
+ <!-- Ajax tabs -->
52
+ <article class="grid_12">
53
+ <header>
54
+ <h1>Ajax Tabs</h1>
55
+ </header>
56
+
57
+ <p>Two tabs, the first should be selected by default. The content of these tabs is loaded from hidden elements that already exist on the page.</p>
58
+
59
+ <ul class="ajax_tabs clearfix">
60
+ <li>
61
+ <a href="tab_1.html">Tab 1</a>
62
+ </li>
63
+ <li>
64
+ <a href="tab_2.html">Tab 2</a>
65
+ </li>
66
+ </ul>
67
+ </article>
68
+
69
+
70
+ </section>
71
+ </div>
72
+ </body>
73
+ </html>
@@ -0,0 +1 @@
1
+ <p>Content of the first Ajax tab.</p>
@@ -0,0 +1 @@
1
+ <p>Content of the second Ajax tab.</p>
@@ -0,0 +1,31 @@
1
+ require File.expand_path('../../spec', __FILE__)
2
+ require File.expand_path('../../../../lib/zen/base/language', __FILE__)
3
+
4
+ describe Zen::Language do
5
+
6
+ it 'Show a localized username and password.' do
7
+ general = Zen::Language.load 'general'
8
+
9
+ # Check if all the items exist
10
+ general.should.respond_to?(:username)
11
+ general.should.respond_to?(:password)
12
+
13
+ # Check if the items have the proper values
14
+ general.username.should.equal 'Username'
15
+ general.password.should.equal 'Password'
16
+ end
17
+
18
+ it 'Show a localized username and password using a Dutch langauge pack' do
19
+ Zen.options.language = 'nl'
20
+ general = Zen::Language.load 'general'
21
+
22
+ # Check if all the items exist
23
+ general.should.respond_to?(:username)
24
+ general.should.respond_to?(:password)
25
+
26
+ # Check if the items have the proper values
27
+ general.username.should.equal 'Gebruikersnaam'
28
+ general.password.should.equal 'Wachtwoord'
29
+ end
30
+
31
+ end
@@ -0,0 +1,34 @@
1
+ require File.expand_path '../../spec', __FILE__
2
+ require File.expand_path('../../../../lib/zen/base/logger', __FILE__)
3
+
4
+ log_dir = "#{Zen.options.root}/logs/spec"
5
+
6
+ describe Zen::Logger do
7
+
8
+ it 'Initialize the Logger class' do
9
+ logger = Zen::Logger.new log_dir
10
+
11
+ # Validate the instance of the logger
12
+ logger.should.respond_to? 'write'
13
+ logger.should.respond_to? 'log'
14
+ end
15
+
16
+ it 'Create a basic log file' do
17
+ logger = Zen::Logger.new log_dir
18
+
19
+ # Validate the instance of the logger
20
+ logger.should.respond_to? 'write'
21
+ logger.should.respond_to? 'log'
22
+
23
+ # Create the log file and check if it exists
24
+ date = Time.new.strftime Zen.options.date_format
25
+ logger.write 'Hello spec!'
26
+
27
+ File.should.exist?(File.expand_path("#{log_dir}/spec/#{date}.log"))
28
+
29
+ # Let's see if the log file actually contains the specified content
30
+ log_file = File.open(File.expand_path("#{log_dir}/spec/#{date}.log"), 'r').read
31
+ log_file.should.include? 'Hello spec!'
32
+ end
33
+
34
+ end
@@ -0,0 +1,47 @@
1
+ require File.expand_path '../../spec', __FILE__
2
+
3
+ Zen::Package.add do |ext|
4
+ ext.type = 'extension'
5
+ ext.name = "Spec"
6
+ ext.author = "Yorick Peterse"
7
+ ext.version = 1.0
8
+ ext.about = "Description..."
9
+ ext.url = "http://yorickpeterse.com/"
10
+ ext.identifier = "com.zen.spec"
11
+ ext.directory = __DIR__
12
+
13
+ ext.menu = [
14
+ {
15
+ :title => "Spec",
16
+ :url => "admin/spec",
17
+ :children => [
18
+ {:title => "Child", :url => "admin/child"}
19
+ ]
20
+ }
21
+ ]
22
+ end
23
+
24
+ describe Zen::Package do
25
+
26
+ it "Retrieve basic details about the extension" do
27
+ ext = Zen::Package['com.zen.spec']
28
+
29
+ ext.name.should.equal "Spec"
30
+ ext.author.should.equal "Yorick Peterse"
31
+ ext.version.should.equal 1.0
32
+ end
33
+
34
+ it "Check if the extension directory is added to Ramaze.options.roots" do
35
+ ext = Zen::Package['com.zen.spec']
36
+
37
+ Ramaze.options.roots.should.include?(__DIR__)
38
+ end
39
+
40
+ it "Build a navigation menu" do
41
+ ext = Zen::Package['com.zen.spec']
42
+ menu = Zen::Package.build_menu
43
+
44
+ menu.should.equal '<ul class=""><li><a href="/admin/spec" title="Spec">Spec</a><ul><li><a href="/admin/child" title="Child">Child</a></li></ul></li></ul>'
45
+ end
46
+
47
+ end
@@ -0,0 +1,8 @@
1
+ Zen::Database.mode :spec do |db|
2
+ db.adapter = 'sqlite'
3
+ db.host = ''
4
+
5
+ db.username = ''
6
+ db.password = ''
7
+ db.database = __DIR__('../spec_database.db')
8
+ end
@@ -0,0 +1,26 @@
1
+ require File.expand_path '../../spec', __FILE__
2
+ require File.expand_path '../../../../lib/zen/helper/asset', __FILE__
3
+
4
+ include Ramaze::Helper::Asset
5
+
6
+ describe Ramaze::Helper::Asset do
7
+
8
+ it 'Require and load a single CSS file' do
9
+ require_css :reset
10
+
11
+ build_css.should.equal '<link rel="stylesheet" href="/admin/css/reset.css" media="all" type="text/css" />'
12
+ end
13
+
14
+ it 'Require and load two CSS files' do
15
+ require_css :reset, :base
16
+
17
+ build_css.should.equal '<link rel="stylesheet" href="/admin/css/reset.css" media="all" type="text/css" /><link rel="stylesheet" href="/admin/css/base.css" media="all" type="text/css" />'
18
+ end
19
+
20
+ it 'Require and load two Javascript files' do
21
+ require_js :mootools, :application
22
+
23
+ build_js.should.equal '<script src="/admin/js/mootools.js"></script><script src="/admin/js/application.js"></script>'
24
+ end
25
+
26
+ end
@@ -0,0 +1,24 @@
1
+ require File.expand_path '../../spec', __FILE__
2
+ require File.expand_path '../../../../lib/zen/helper/breadcrumb', __FILE__
3
+
4
+ include Ramaze::Helper::Breadcrumb
5
+
6
+ describe Ramaze::Helper::Breadcrumb do
7
+ it 'Generate a single segment' do
8
+ set_breadcrumbs "hello"
9
+
10
+ get_breadcrumbs.should.equal "hello"
11
+ end
12
+
13
+ it 'Generate multiple segments' do
14
+ set_breadcrumbs "hello", "world"
15
+
16
+ get_breadcrumbs.should.equal "hello &raquo; world"
17
+ end
18
+
19
+ it 'Generate multiple segments using a custom separator' do
20
+ set_breadcrumbs "hello", "world"
21
+
22
+ get_breadcrumbs("=>").should.equal "hello => world"
23
+ end
24
+ end
@@ -0,0 +1,4 @@
1
+ Zen::Language.translation 'general' do |lang|
2
+ lang.username = 'Username'
3
+ lang.password = 'Password'
4
+ end
@@ -0,0 +1,4 @@
1
+ Zen::Language.translation 'general' do |lang|
2
+ lang.username = 'Gebruikersnaam'
3
+ lang.password = 'Wachtwoord'
4
+ end
@@ -0,0 +1,42 @@
1
+ require File.expand_path('../../spec', __FILE__)
2
+
3
+ class SpecGeneral < Liquid::Block
4
+ include Zen::Liquid::General
5
+
6
+ def initialize tag_name, arguments, html
7
+ super
8
+
9
+ @arguments = parse_key_values(arguments)
10
+ end
11
+
12
+ def render context
13
+ result = []
14
+
15
+ @arguments.each do |k, v|
16
+ context[k.to_s] = v
17
+
18
+ result << render_all(@nodelist, context)
19
+ end
20
+
21
+ return result
22
+ end
23
+ end
24
+
25
+ Liquid::Template.register_tag('specblock', SpecGeneral)
26
+
27
+ describe Zen::Liquid::General do
28
+ it 'Parse a template + variable' do
29
+ template = Liquid::Template.parse 'hello {{name}}'
30
+ template.render('name' => 'yorick').should.equal 'hello yorick'
31
+ end
32
+
33
+ it 'Parse a key/value block' do
34
+ template = Liquid::Template.parse '{% specblock name="yorick" %}hello {{name}}{% endspecblock %}'
35
+ template.render.should.equal 'hello yorick'
36
+ end
37
+
38
+ it 'Parse a key/value block using single quotes' do
39
+ template = Liquid::Template.parse '{% specblock name=\'yorick\' %}hello {{name}}{% endspecblock %}'
40
+ template.render.should.equal 'hello yorick'
41
+ end
42
+ end
File without changes
@@ -0,0 +1,9 @@
1
+ require File.expand_path('../../../lib/zen', __FILE__)
2
+ require 'ramaze/spec/bacon'
3
+ require __DIR__ 'config/database'
4
+
5
+ Ramaze.options.roots = [__DIR__]
6
+ Ramaze.options.mode = :spec
7
+ Zen.options.root = __DIR__
8
+
9
+ Zen.init
Binary file
@@ -0,0 +1,99 @@
1
+ require 'find'
2
+ require 'open3'
3
+ require 'scanf'
4
+ require 'matrix'
5
+
6
+ desc "Run all Bacon tests saved in zen/spec"
7
+ task :bacon do
8
+
9
+ ignore_dirs = ['language', 'extensions', 'config', 'javascript']
10
+ ignore_files = ['spec.rb']
11
+ specs = Array.new
12
+
13
+ Find.find(File.expand_path('../../spec', __FILE__)) do |f|
14
+
15
+ # Ignore all directories in the ignore_dirs array
16
+ if ignore_dirs.include? File.basename(File.dirname(f))
17
+ Find.prune
18
+ end
19
+
20
+ # Ignore all the specified files
21
+ if ignore_files.include? File.basename(f)
22
+ Find.prune
23
+ end
24
+
25
+ if File.file?(f) and File.extname(f) === '.rb'
26
+ # Add the spec
27
+ specs.push f
28
+ end
29
+ end
30
+
31
+ # ==============================================================
32
+ # NOTE! The following has been taken from Ramaze itself. Kudos to
33
+ # the one who made this awesome piece of code.
34
+ # ==============================================================
35
+
36
+ some_failed = false
37
+ specs_size = specs.size
38
+ len = specs.map{|s| s.size }.sort.last
39
+ total_tests = total_assertions = total_failures = total_errors = 0
40
+ totals = Vector[0, 0, 0, 0]
41
+
42
+ red, yellow, green = "\e[31m%s\e[0m", "\e[33m%s\e[0m", "\e[32m%s\e[0m"
43
+ left_format = "%4d/%d: %-#{len + 11}s"
44
+ spec_format = "%d specifications (%d requirements), %d failures, %d errors"
45
+
46
+ load_path = File.expand_path('../../lib', __FILE__)
47
+
48
+ specs.each_with_index do |spec, idx|
49
+ print(left_format % [idx + 1, specs_size, spec])
50
+
51
+ Open3.popen3(RUBY, '-I', load_path, spec) do |sin, sout, serr|
52
+ out = sout.read.strip
53
+ err = serr.read.strip
54
+
55
+ # this is conventional
56
+ if out =~ /^Bacon::Error: (needed .*)/
57
+ puts(yellow % ("%6s %s" % ['', $1]))
58
+ elsif out =~ /^Spec (precondition: "[^"]*" failed)/
59
+ puts(yellow % ("%6s %s" % ['', $1]))
60
+ elsif out =~ /^Spec require: "require" failed: "(no such file to load -- [^"]*)"/
61
+ puts(yellow % ("%6s %s" % ['', $1]))
62
+ else
63
+ total = nil
64
+
65
+ out.each_line do |line|
66
+ scanned = line.scanf(spec_format)
67
+
68
+ next unless scanned.size == 4
69
+
70
+ total = Vector[*scanned]
71
+ break
72
+ end
73
+
74
+ if total
75
+ totals += total
76
+ tests, assertions, failures, errors = total_array = total.to_a
77
+
78
+ if tests > 0 && failures + errors == 0
79
+ puts((green % "%6d passed") % tests)
80
+ else
81
+ some_failed = true
82
+ puts(red % " failed")
83
+ puts out unless out.empty?
84
+ puts err unless err.empty?
85
+ end
86
+ else
87
+ some_failed = true
88
+ puts(red % " failed")
89
+ puts out unless out.empty?
90
+ puts err unless err.empty?
91
+ end
92
+ end
93
+ end
94
+ end
95
+
96
+ total_color = some_failed ? red : green
97
+ puts(total_color % (spec_format % totals.to_a))
98
+ exit 1 if some_failed
99
+ end