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,104 @@
1
+ /**
2
+ * HTML driver for the visual editor. This driver supports the following elements:
3
+ *
4
+ * * bold tags
5
+ * * italic tags
6
+ * * link tags
7
+ * * ol tags
8
+ * * ul tags
9
+ *
10
+ * @author Yorick Peterse
11
+ * @link http://yorickpeterse.com/
12
+ * @license MIT License
13
+ * @package Zen
14
+ * @since 0.1
15
+ *
16
+ * Copyright (c) 2011, Yorick Peterse
17
+ *
18
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
19
+ * of this software and associated documentation files (the "Software"), to deal
20
+ * in the Software without restriction, including without limitation the rights
21
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
22
+ * copies of the Software, and to permit persons to whom the Software is
23
+ * furnished to do so, subject to the following conditions:
24
+ *
25
+ * The above copyright notice and this permission notice shall be included in
26
+ * all copies or substantial portions of the Software.
27
+ *
28
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
29
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
30
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
31
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
32
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
33
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
34
+ * THE SOFTWARE.
35
+ */
36
+ Zen.Editor.Html = new Class(
37
+ {
38
+ /**
39
+ * Replaces the selected text or inserts a block
40
+ * of <strong> tags.
41
+ *
42
+ * @author Yorick Peterse
43
+ * @param [Object] editor instance of the editor to which this callback belongs.
44
+ * @return [Void]
45
+ */
46
+ bold: function(editor)
47
+ {
48
+ editor.insertAroundCursor({before: '<strong>', after: '</strong>'});
49
+ },
50
+
51
+ /**
52
+ * Inserts a block of italic tags at the current cursor or
53
+ * around the currently selected text.
54
+ *
55
+ * @author Yorick Peterse
56
+ * @param [Object] editor instance of the editor to which this callback belongs.
57
+ * @return [Void]
58
+ */
59
+ italic: function(editor)
60
+ {
61
+ editor.insertAroundCursor({before: '<em>', after: '</em>'});
62
+ },
63
+
64
+ /**
65
+ * Inserts an anchor tag.
66
+ *
67
+ * @author Yorick Peterse
68
+ * @param [Object] editor instance of the editor to which this callback belongs.
69
+ * @return [Void]
70
+ */
71
+ link: function(editor)
72
+ {
73
+ var link = prompt("URL");
74
+
75
+ if ( link != '' && link != null )
76
+ {
77
+ editor.insertAroundCursor({before: '<a href="' + link + '">', after: '</a>'});
78
+ }
79
+ },
80
+
81
+ /**
82
+ * Inserts an ordered list into the current text field
83
+ *
84
+ * @author Yorick Peterse
85
+ * @param [Object] editor instance of the editor to which this callback belongs.
86
+ * @return [Void]
87
+ */
88
+ ol: function(editor)
89
+ {
90
+ editor.insertAroundCursor({before: "<ol>\n", after: "\n</ol>"});
91
+ },
92
+
93
+ /**
94
+ * Inserts an unordered list into the current text field
95
+ *
96
+ * @author Yorick Peterse
97
+ * @param [Object] editor instance of the editor to which this callback belongs.
98
+ * @return [Void]
99
+ */
100
+ ul: function(editor)
101
+ {
102
+ editor.insertAroundCursor({before: "<ul>\n", after: "\n</ul>"});
103
+ }
104
+ });
@@ -0,0 +1,102 @@
1
+ /**
2
+ * Markdown driver for the visual editor. This driver supports the following elements:
3
+ *
4
+ * * bold tags
5
+ * * italic tags
6
+ * * link tags
7
+ * * ol tags
8
+ * * ul tags
9
+ *
10
+ * @author Yorick Peterse
11
+ * @link http://yorickpeterse.com/
12
+ * @license MIT License
13
+ * @package Zen
14
+ * @since 0.1
15
+ *
16
+ * Copyright (c) 2011, Yorick Peterse
17
+ *
18
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
19
+ * of this software and associated documentation files (the "Software"), to deal
20
+ * in the Software without restriction, including without limitation the rights
21
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
22
+ * copies of the Software, and to permit persons to whom the Software is
23
+ * furnished to do so, subject to the following conditions:
24
+ *
25
+ * The above copyright notice and this permission notice shall be included in
26
+ * all copies or substantial portions of the Software.
27
+ *
28
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
29
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
30
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
31
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
32
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
33
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
34
+ * THE SOFTWARE.
35
+ */
36
+ Zen.Editor.Markdown = new Class(
37
+ {
38
+ /**
39
+ * Inserts bold tags (*text*)
40
+ *
41
+ * @author Yorick Peterse
42
+ * @param [Object] editor instance of the editor to which this callback belongs.
43
+ * @return [Void]
44
+ */
45
+ bold: function(editor)
46
+ {
47
+ editor.insertAroundCursor({before: '**', after: '**'});
48
+ },
49
+
50
+ /**
51
+ * Inserts italic tags (_text_)
52
+ *
53
+ * @author Yorick Peterse
54
+ * @param [Object] editor instance of the editor to which this callback belongs.
55
+ * @return [Void]
56
+ */
57
+ italic: function(editor)
58
+ {
59
+ editor.insertAroundCursor({before: '_', after: '_'});
60
+ },
61
+
62
+ /**
63
+ * Inserts an anchor tag ("text":"url").
64
+ *
65
+ * @author Yorick Peterse
66
+ * @param [Object] editor instance of the editor to which this callback belongs.
67
+ * @return [Void]
68
+ */
69
+ link: function(editor)
70
+ {
71
+ var link = prompt("URL");
72
+
73
+ if ( link != '' && link != null )
74
+ {
75
+ editor.insertAroundCursor({before: '[', after: '](' + link + ')'});
76
+ }
77
+ },
78
+
79
+ /**
80
+ * Inserts an ordered list into the current text field
81
+ *
82
+ * @author Yorick Peterse
83
+ * @param [Object] editor instance of the editor to which this callback belongs.
84
+ * @return [Void]
85
+ */
86
+ ol: function(editor)
87
+ {
88
+ editor.insertAroundCursor({before: "\n1. "});
89
+ },
90
+
91
+ /**
92
+ * Inserts an unordered list into the current text field
93
+ *
94
+ * @author Yorick Peterse
95
+ * @param [Object] editor instance of the editor to which this callback belongs.
96
+ * @return [Void]
97
+ */
98
+ ul: function(editor)
99
+ {
100
+ editor.insertAroundCursor({before: "\n* "});
101
+ }
102
+ });
@@ -0,0 +1,102 @@
1
+ /**
2
+ * Textile driver for the visual editor. This driver supports the following elements:
3
+ *
4
+ * * bold tags
5
+ * * italic tags
6
+ * * link tags
7
+ * * ol tags
8
+ * * ul tags
9
+ *
10
+ * @author Yorick Peterse
11
+ * @link http://yorickpeterse.com/
12
+ * @license MIT License
13
+ * @package Zen
14
+ * @since 0.1
15
+ *
16
+ * Copyright (c) 2011, Yorick Peterse
17
+ *
18
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
19
+ * of this software and associated documentation files (the "Software"), to deal
20
+ * in the Software without restriction, including without limitation the rights
21
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
22
+ * copies of the Software, and to permit persons to whom the Software is
23
+ * furnished to do so, subject to the following conditions:
24
+ *
25
+ * The above copyright notice and this permission notice shall be included in
26
+ * all copies or substantial portions of the Software.
27
+ *
28
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
29
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
30
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
31
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
32
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
33
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
34
+ * THE SOFTWARE.
35
+ */
36
+ Zen.Editor.Textile = new Class(
37
+ {
38
+ /**
39
+ * Inserts bold tags (*text*)
40
+ *
41
+ * @author Yorick Peterse
42
+ * @param [Object] editor instance of the editor to which this callback belongs.
43
+ * @return [Void]
44
+ */
45
+ bold: function(editor)
46
+ {
47
+ editor.insertAroundCursor({before: '*', after: '*'});
48
+ },
49
+
50
+ /**
51
+ * Inserts italic tags (_text_)
52
+ *
53
+ * @author Yorick Peterse
54
+ * @param [Object] editor instance of the editor to which this callback belongs.
55
+ * @return [Void]
56
+ */
57
+ italic: function(editor)
58
+ {
59
+ editor.insertAroundCursor({before: '_', after: '_'});
60
+ },
61
+
62
+ /**
63
+ * Inserts an anchor tag ("text":"url").
64
+ *
65
+ * @author Yorick Peterse
66
+ * @param [Object] editor instance of the editor to which this callback belongs.
67
+ * @return [Void]
68
+ */
69
+ link: function(editor)
70
+ {
71
+ var link = prompt("URL");
72
+
73
+ if ( link != '' && link != null )
74
+ {
75
+ editor.insertAroundCursor({before: '"', after: '":' + link});
76
+ }
77
+ },
78
+
79
+ /**
80
+ * Inserts an ordered list into the current text field
81
+ *
82
+ * @author Yorick Peterse
83
+ * @param [Object] editor instance of the editor to which this callback belongs.
84
+ * @return [Void]
85
+ */
86
+ ol: function(editor)
87
+ {
88
+ editor.insertAroundCursor({before: "\n# "});
89
+ },
90
+
91
+ /**
92
+ * Inserts an unordered list into the current text field
93
+ *
94
+ * @author Yorick Peterse
95
+ * @param [Object] editor instance of the editor to which this callback belongs.
96
+ * @return [Void]
97
+ */
98
+ ul: function(editor)
99
+ {
100
+ editor.insertAroundCursor({before: "\n* "});
101
+ }
102
+ });
@@ -0,0 +1,57 @@
1
+ window.addEvent('domready', function()
2
+ {
3
+ /**
4
+ * Create a new instance of the Tabs class.
5
+ * This will create a regular tab system for
6
+ * the CSS selector "div.tabs ul".
7
+ */
8
+ new Zen.Tabs('div.tabs ul');
9
+
10
+ /**
11
+ * Show a notification whenever we find an error, success
12
+ * or notice hash in the Zen.Flash object.
13
+ */
14
+ if ( Zen.Flash.notification )
15
+ {
16
+ new Zen.Notification(
17
+ {
18
+ title: Zen.Flash.notification.title,
19
+ content: Zen.Flash.notification.content,
20
+ image: Zen.Flash.notification.image,
21
+ sticky: Zen.Flash.notification.sticky
22
+ });
23
+ }
24
+
25
+ /**
26
+ * Enable the automatic checking of all checkboxes in a table with a class
27
+ * of "table". Perhaps I'll use a class for this in the future but for now
28
+ * this is good enough.
29
+ */
30
+ var tables = $$('.table');
31
+
32
+ if ( tables.length > 0 )
33
+ {
34
+ tables.each(function(table)
35
+ {
36
+ var check_all = table.getElement('thead tr th:first-child input[type=checkbox]');
37
+
38
+ check_all.addEvent('click', function()
39
+ {
40
+ var check_all_status = check_all.get('checked');
41
+
42
+ tables.getElements('tbody tr td:first-child input[type=checkbox]').each(function(c)
43
+ {
44
+ c.set('checked', check_all_status);
45
+ });
46
+ });
47
+ });
48
+ }
49
+
50
+ /**
51
+ * Initialize our editor for all elements with a class of "visual_editor" and retrieve
52
+ * the editor format from the attribute "data-format".
53
+ */
54
+ new Zen.Editor.Base('.visual_editor[data-format="html"]' , { format: 'html' }).display();
55
+ new Zen.Editor.Base('.visual_editor[data-format="textile"]' , { format: 'textile' }).display();
56
+ new Zen.Editor.Base('.visual_editor[data-format="markdown"]', { format: 'markdown' }).display();
57
+ });
@@ -0,0 +1,159 @@
1
+ /**
2
+ * The Modal class is a very simple Mootools class that can be used to create
3
+ * modal windows. The class itself does not apply any CSS styles, it only adds
4
+ * a few IDs/classes. All styling should be done in separate CSS files.
5
+ *
6
+ * h2. Basic Usage
7
+ *
8
+ * Using this class is super-duper simple:
9
+ *
10
+ * bc. new Modal("Hello, world!");
11
+ *
12
+ * That creates a container, a background div and the actual modal window
13
+ * along with the specified content. It doesn't matter what kind of content
14
+ * you're trying to add as long as it's valid HTML you're good to go.
15
+ * For example, an image could be shown as following:
16
+ *
17
+ * bc. new Modal($('some_image_id'))
18
+ *
19
+ * Note that iFrames are not supported simply because I never had the need for them.
20
+ * If you want to load remote data you'd have to do some processing before generating
21
+ * the modal window:
22
+ *
23
+ * bc. var iframe = new Element('iframe', {src: 'url/of/iframe'});
24
+ * new Modal(iframe);
25
+ *
26
+ * This class also does not animate the modals, this should also be handled by CSS
27
+ * and can be done quite easily using CSS3.
28
+ *
29
+ * h2. Closing Modal Windows
30
+ *
31
+ * The Modal class will add a div element with an id of "modal_close" to the modal window.
32
+ * Whenever this element is clicked the callback specified in options.callback will be triggered.
33
+ *
34
+ * h2. HTML
35
+ *
36
+ * The Modal class generates the following HTML:
37
+ *
38
+ * bc. <div id="modal_container">
39
+ * <div id="modal_window">
40
+ * <div id="modal_close"></div>
41
+ * <!-- Content goes here -->
42
+ * </div>
43
+ * </div>
44
+ * <div id="modal_background"></div>
45
+ *
46
+ * @author Yorick Peterse
47
+ * @link http://yorickpeterse.com/
48
+ * @license MIT License
49
+ * @package Zen
50
+ * @since 0.1
51
+ *
52
+ * Copyright (c) 2011, Yorick Peterse
53
+ *
54
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
55
+ * of this software and associated documentation files (the "Software"), to deal
56
+ * in the Software without restriction, including without limitation the rights
57
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
58
+ * copies of the Software, and to permit persons to whom the Software is
59
+ * furnished to do so, subject to the following conditions:
60
+ *
61
+ * The above copyright notice and this permission notice shall be included in
62
+ * all copies or substantial portions of the Software.
63
+ *
64
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
65
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
66
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
67
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
68
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
69
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
70
+ * THE SOFTWARE.
71
+ */
72
+ Zen.Modal = new Class(
73
+ {
74
+ Implements: Options,
75
+
76
+ /**
77
+ * Object containing all default options for each modal window.
78
+ * The following options are available:
79
+ *
80
+ * * height: specifies the width of the window (pixels, em, etc)
81
+ * * width: specifies the height of the modal window
82
+ * * fullscreen: specifies if the modal window should have a class of "fullscreen".
83
+ * * callback: an event that's triggered whenever the close element is clicked.
84
+ *
85
+ * @var object
86
+ */
87
+ options: {
88
+ height: '200px',
89
+ width: '200px',
90
+ fullscreen: false,
91
+ callback: function()
92
+ {
93
+ // Remove all elements
94
+ $('modal_background').destroy();
95
+ $('modal_container').destroy();
96
+ }
97
+ },
98
+
99
+ /**
100
+ * Creates a new instance of the modal window and shows it.
101
+ * Basic usage is as following:
102
+ *
103
+ * bc. modal = new Modal("Hello, world!");
104
+ *
105
+ * If you want to specify any additional options you can do so as following:
106
+ *
107
+ * bc. modal = new Modal("Hello, world!", {fullscreen: true});
108
+ *
109
+ * Note that calling this method will also show the message rather than just
110
+ * initializing the class.
111
+ *
112
+ * @author Yorick Peterse
113
+ * @param [String] content The content to display inside the modal window.
114
+ * @param [Object] options JSON object containing all custom options.
115
+ * @return [Object]
116
+ */
117
+ initialize: function(content, options)
118
+ {
119
+ this.setOptions(options);
120
+
121
+ if ( this.options.fullscreen == true )
122
+ {
123
+ var modal_class = "fullscreen";
124
+ }
125
+ else
126
+ {
127
+ var modal_class = null;
128
+ }
129
+
130
+ var styles = {width: this.options.width, height: this.options.height};
131
+
132
+ // Create our base elements
133
+ var modal_container = new Element('div', {id: 'modal_container'});
134
+ var modal_window = new Element('div', {id: 'modal_window', 'class': modal_class});
135
+ var modal_close = new Element('div', {id: 'modal_close'});
136
+ var modal_background = new Element('div', {id: 'modal_background'});
137
+
138
+ // Strings will be inserted using the html() method. Other elements
139
+ // will be injected into the modal window.
140
+ if ( typeof content == "string" )
141
+ {
142
+ modal_window.set('html', content);
143
+ }
144
+ else
145
+ {
146
+ modal_window.adopt(content.clone());
147
+ }
148
+
149
+ // Inject the close button
150
+ modal_close.inject(modal_window);
151
+
152
+ // Bind the events
153
+ modal_close.addEvent('click', this.options.callback);
154
+
155
+ modal_window.inject(modal_container);
156
+ modal_background.inject(document.body);
157
+ modal_container.inject(document.body);
158
+ }
159
+ });