cmsimple 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (221) hide show
  1. data/.gitignore +31 -0
  2. data/.rspec +1 -0
  3. data/.travis.yml +16 -0
  4. data/Gemfile +20 -0
  5. data/Gemfile.ci +5 -0
  6. data/LICENSE +19 -0
  7. data/README.md +118 -0
  8. data/Rakefile +47 -0
  9. data/app/assets/javascripts/cmsimple.js +61 -0
  10. data/app/assets/javascripts/cmsimple/controllers/editor.coffee +102 -0
  11. data/app/assets/javascripts/cmsimple/lib/namespaces.coffee +3 -0
  12. data/app/assets/javascripts/cmsimple/lib/support.coffee +4 -0
  13. data/app/assets/javascripts/cmsimple/mercury/config.js +462 -0
  14. data/app/assets/javascripts/cmsimple/mercury/handlers.coffee +9 -0
  15. data/app/assets/javascripts/cmsimple/models/image.coffee +49 -0
  16. data/app/assets/javascripts/cmsimple/models/page.coffee +106 -0
  17. data/app/assets/javascripts/cmsimple/models/path.coffee +31 -0
  18. data/app/assets/javascripts/cmsimple/models/version.coffee +29 -0
  19. data/app/assets/javascripts/cmsimple/panels/images/index.coffee +2 -0
  20. data/app/assets/javascripts/cmsimple/panels/images/list.coffee +48 -0
  21. data/app/assets/javascripts/cmsimple/panels/images/panel.coffee +69 -0
  22. data/app/assets/javascripts/cmsimple/panels/images/selection.coffee +52 -0
  23. data/app/assets/javascripts/cmsimple/panels/page_metadata.coffee +42 -0
  24. data/app/assets/javascripts/cmsimple/panels/publish.coffee +32 -0
  25. data/app/assets/javascripts/cmsimple/panels/redirects/form.coffee +51 -0
  26. data/app/assets/javascripts/cmsimple/panels/redirects/index.coffee +2 -0
  27. data/app/assets/javascripts/cmsimple/panels/redirects/list.coffee +34 -0
  28. data/app/assets/javascripts/cmsimple/panels/redirects/panel.coffee +39 -0
  29. data/app/assets/javascripts/cmsimple/panels/sitemap/index.coffee +2 -0
  30. data/app/assets/javascripts/cmsimple/panels/sitemap/panel.coffee +40 -0
  31. data/app/assets/javascripts/cmsimple/panels/sitemap/sortable.coffee +55 -0
  32. data/app/assets/javascripts/cmsimple/panels/sitemap/tree.coffee +61 -0
  33. data/app/assets/javascripts/cmsimple/panels/versions/index.coffee +2 -0
  34. data/app/assets/javascripts/cmsimple/panels/versions/list.coffee +51 -0
  35. data/app/assets/javascripts/cmsimple/panels/versions/panel.coffee +53 -0
  36. data/app/assets/javascripts/cmsimple/views/image_library/_item.jst.hamlc +24 -0
  37. data/app/assets/javascripts/cmsimple/views/image_library/list.jst.hamlc +8 -0
  38. data/app/assets/javascripts/cmsimple/views/redirects/_path.jst.hamlc +6 -0
  39. data/app/assets/javascripts/cmsimple/views/redirects/list.jst.hamlc +19 -0
  40. data/app/assets/javascripts/cmsimple/views/sitemap/_page.jst.hamlc +9 -0
  41. data/app/assets/javascripts/cmsimple/views/sitemap/tree.jst.hamlc +5 -0
  42. data/app/assets/javascripts/cmsimple/views/versions/_item.jst.hamlc +6 -0
  43. data/app/assets/javascripts/cmsimple/views/versions/list.jst.hamlc +4 -0
  44. data/app/assets/stylesheets/cmsimple.css +15 -0
  45. data/app/assets/stylesheets/cmsimple/forms.css +10 -0
  46. data/app/assets/stylesheets/cmsimple/panels.css +399 -0
  47. data/app/assets/stylesheets/cmsimple/toolbar-images.css +27 -0
  48. data/app/assets/stylesheets/mercury_overrides.css +2 -0
  49. data/app/controllers/cmsimple/front_controller.rb +38 -0
  50. data/app/controllers/cmsimple/images_controller.rb +28 -0
  51. data/app/controllers/cmsimple/mercury_controller.rb +7 -0
  52. data/app/controllers/cmsimple/pages_controller.rb +89 -0
  53. data/app/controllers/cmsimple/paths_controller.rb +23 -0
  54. data/app/controllers/cmsimple/snippets_controller.rb +23 -0
  55. data/app/controllers/cmsimple/versions_controller.rb +17 -0
  56. data/app/helpers/cmsimple/regions_helper.rb +38 -0
  57. data/app/models/cmsimple/image.rb +19 -0
  58. data/app/models/cmsimple/page.rb +203 -0
  59. data/app/models/cmsimple/path.rb +63 -0
  60. data/app/models/cmsimple/region.rb +43 -0
  61. data/app/models/cmsimple/snippet.rb +64 -0
  62. data/app/models/cmsimple/version.rb +18 -0
  63. data/app/uploaders/image_attachment_uploader.rb +53 -0
  64. data/app/views/cmsimple/images/_form.html.haml +13 -0
  65. data/app/views/cmsimple/images/new.html.haml +5 -0
  66. data/app/views/cmsimple/pages/_form.html.haml +49 -0
  67. data/app/views/cmsimple/pages/_form_extras.html.haml +2 -0
  68. data/app/views/cmsimple/pages/edit.html.haml +3 -0
  69. data/app/views/cmsimple/pages/new.html.haml +3 -0
  70. data/app/views/cmsimple/pages/publish.html.haml +12 -0
  71. data/app/views/cmsimple/snippets/index.html.haml +5 -0
  72. data/app/views/cmsimple/templates/default.html.haml +4 -0
  73. data/app/views/layouts/editor.html.haml +12 -0
  74. data/app/views/layouts/panel.html.haml +9 -0
  75. data/cmsimple.gemspec +44 -0
  76. data/config.ru +4 -0
  77. data/config/application.rb +1 -0
  78. data/config/cucumber.yml +8 -0
  79. data/config/environment.rb +2 -0
  80. data/config/routes.rb +34 -0
  81. data/db/migrate/20120201221410_create_cmsimple_pages.rb +10 -0
  82. data/db/migrate/20120222185901_add_title_parent_id_and_position_to_pages.rb +10 -0
  83. data/db/migrate/20120229185214_add_slug_to_pages.rb +7 -0
  84. data/db/migrate/20120323200439_add_is_root_to_page.rb +5 -0
  85. data/db/migrate/20120328174339_add_meta_info_to_cmsimple_pages.rb +9 -0
  86. data/db/migrate/20120329172857_create_cmsimple_path.rb +11 -0
  87. data/db/migrate/20120407024752_create_cmsimple_images.rb +13 -0
  88. data/db/migrate/20120410041105_add_timestamps_to_cmsimple_pages.rb +7 -0
  89. data/db/migrate/20120425211937_add_published_at_to_cmsimple_pages.rb +6 -0
  90. data/db/migrate/20120430175047_create_cmsimple_versions.rb +13 -0
  91. data/db/migrate/20120831233927_rename_path_to_current_uri_on_paths.rb +5 -0
  92. data/features/create.feature +18 -0
  93. data/features/delete.feature +12 -0
  94. data/features/edit.feature +54 -0
  95. data/features/publishing.feature +31 -0
  96. data/features/redirects.feature +27 -0
  97. data/features/step_definitions/mercury_steps.rb +440 -0
  98. data/features/step_definitions/page_steps.rb +269 -0
  99. data/features/step_definitions/web_steps.rb +254 -0
  100. data/features/support/env.rb +77 -0
  101. data/features/support/mercury_content.rb +25 -0
  102. data/features/support/mercury_selectors.rb +148 -0
  103. data/features/support/paths.rb +16 -0
  104. data/features/support/selectors.rb +26 -0
  105. data/features/support/utils.rb +18 -0
  106. data/features/versioning.feature +27 -0
  107. data/features/visit.feature +7 -0
  108. data/lib/cmsimple.rb +22 -0
  109. data/lib/cmsimple/configuration.rb +65 -0
  110. data/lib/cmsimple/exts/to_bool.rb +25 -0
  111. data/lib/cmsimple/page_responder.rb +46 -0
  112. data/lib/cmsimple/rails.rb +5 -0
  113. data/lib/cmsimple/regions_proxy.rb +32 -0
  114. data/lib/cmsimple/template_resolver.rb +14 -0
  115. data/lib/cmsimple/template_responder.rb +12 -0
  116. data/lib/cmsimple/version.rb +3 -0
  117. data/lib/generators/cmsimple/install/install_generator.rb +46 -0
  118. data/lib/generators/cmsimple/install/templates/default.html.erb +10 -0
  119. data/lib/generators/cmsimple/install/templates/default.html.haml +6 -0
  120. data/lib/generators/cmsimple/install/templates/initializer.rb +22 -0
  121. data/lib/generators/cmsimple/snippet/snippet_generator.rb +56 -0
  122. data/lib/generators/cmsimple/snippet/templates/cell.rb +18 -0
  123. data/lib/generators/cmsimple/snippet/templates/display.html.erb +14 -0
  124. data/lib/generators/cmsimple/snippet/templates/display.html.haml +11 -0
  125. data/lib/generators/cmsimple/snippet/templates/options.html.erb +18 -0
  126. data/lib/generators/cmsimple/snippet/templates/options.html.haml +12 -0
  127. data/script/app +2 -0
  128. data/script/migrate +2 -0
  129. data/script/rails +8 -0
  130. data/spec/fixtures/rails.png +0 -0
  131. data/spec/helpers/regions_helper_spec.rb +62 -0
  132. data/spec/javascripts/controllers/editor_spec.coffee +57 -0
  133. data/spec/javascripts/models/image_geometry_spec.coffee +64 -0
  134. data/spec/javascripts/models/image_spec.coffee +4 -0
  135. data/spec/javascripts/models/page_spec.coffee +121 -0
  136. data/spec/javascripts/models/path_spec.coffee +39 -0
  137. data/spec/javascripts/models/version_spec.coffee +31 -0
  138. data/spec/javascripts/panels/images/selection_spec.coffee +104 -0
  139. data/spec/javascripts/panels/sitemap/panel_spec.coffee +10 -0
  140. data/spec/javascripts/panels/sitemap/sortable_spec.coffee +63 -0
  141. data/spec/javascripts/panels/sitemap/tree_spec.coffee +62 -0
  142. data/spec/javascripts/spec_helper.coffee +25 -0
  143. data/spec/javascripts/support/stubs.coffee +16 -0
  144. data/spec/lib/page_responder_spec.rb +58 -0
  145. data/spec/lib/regions_proxy_spec.rb +47 -0
  146. data/spec/models/image_spec.rb +46 -0
  147. data/spec/models/page_spec.rb +237 -0
  148. data/spec/models/path_spec.rb +71 -0
  149. data/spec/models/region_spec.rb +14 -0
  150. data/spec/models/snippet_spec.rb +57 -0
  151. data/spec/models/version_spec.rb +7 -0
  152. data/spec/rails_app/.gitignore +33 -0
  153. data/spec/rails_app/Rakefile +7 -0
  154. data/spec/rails_app/app/assets/images/rails.png +0 -0
  155. data/spec/rails_app/app/assets/javascripts/application.js +9 -0
  156. data/spec/rails_app/app/assets/stylesheets/application.css +7 -0
  157. data/spec/rails_app/app/cells/example/display.html.haml +2 -0
  158. data/spec/rails_app/app/cells/example/options.html.haml +15 -0
  159. data/spec/rails_app/app/cells/example_cell.rb +19 -0
  160. data/spec/rails_app/app/cells/image_example/display.html.haml +4 -0
  161. data/spec/rails_app/app/cells/image_example/options.html.haml +15 -0
  162. data/spec/rails_app/app/cells/image_example_cell.rb +18 -0
  163. data/spec/rails_app/app/controllers/application_controller.rb +3 -0
  164. data/spec/rails_app/app/helpers/application_helper.rb +2 -0
  165. data/spec/rails_app/app/mailers/.gitkeep +0 -0
  166. data/spec/rails_app/app/models/.gitkeep +0 -0
  167. data/spec/rails_app/app/views/cmsimple/_snippet_list.html.haml +8 -0
  168. data/spec/rails_app/app/views/cmsimple/templates/default.html.haml +19 -0
  169. data/spec/rails_app/app/views/cmsimple/templates/test.html.haml +2 -0
  170. data/spec/rails_app/app/views/layouts/application.html.haml +13 -0
  171. data/spec/rails_app/config.ru +4 -0
  172. data/spec/rails_app/config/application.rb +65 -0
  173. data/spec/rails_app/config/boot.rb +9 -0
  174. data/spec/rails_app/config/database.example.yml +22 -0
  175. data/spec/rails_app/config/database.travis.yml +8 -0
  176. data/spec/rails_app/config/environment.rb +5 -0
  177. data/spec/rails_app/config/environments/development.rb +30 -0
  178. data/spec/rails_app/config/environments/test.rb +39 -0
  179. data/spec/rails_app/config/initializers/backtrace_silencers.rb +7 -0
  180. data/spec/rails_app/config/initializers/cells.rb +1 -0
  181. data/spec/rails_app/config/initializers/cmsimple.rb +3 -0
  182. data/spec/rails_app/config/initializers/inflections.rb +10 -0
  183. data/spec/rails_app/config/initializers/mime_types.rb +5 -0
  184. data/spec/rails_app/config/initializers/secret_token.rb +7 -0
  185. data/spec/rails_app/config/initializers/session_store.rb +8 -0
  186. data/spec/rails_app/config/initializers/teabag.rb +58 -0
  187. data/spec/rails_app/config/initializers/wrap_parameters.rb +14 -0
  188. data/spec/rails_app/config/locales/en.yml +5 -0
  189. data/spec/rails_app/config/routes.rb +61 -0
  190. data/spec/rails_app/db/seeds.rb +11 -0
  191. data/spec/rails_app/lib/assets/.gitkeep +0 -0
  192. data/spec/rails_app/lib/tasks/.gitkeep +0 -0
  193. data/spec/rails_app/public/404.html +26 -0
  194. data/spec/rails_app/public/422.html +26 -0
  195. data/spec/rails_app/public/500.html +26 -0
  196. data/spec/rails_app/public/robots.txt +5 -0
  197. data/spec/rails_app/script/rails +6 -0
  198. data/spec/rails_app/vendor/assets/stylesheets/.gitkeep +0 -0
  199. data/spec/rails_app/vendor/plugins/.gitkeep +0 -0
  200. data/spec/spec_helper.rb +31 -0
  201. data/spec/support/active_model_lint_example.rb +14 -0
  202. data/spec/teabag_env.rb +28 -0
  203. data/vendor/assets/images/sitemap/has-changes.png +0 -0
  204. data/vendor/assets/images/sitemap/published.png +0 -0
  205. data/vendor/assets/images/sitemap/unpublished.png +0 -0
  206. data/vendor/assets/images/toolbar/metadata.png +0 -0
  207. data/vendor/assets/images/toolbar/publish.png +0 -0
  208. data/vendor/assets/images/toolbar/redirect.png +0 -0
  209. data/vendor/assets/images/toolbar/sitemap.png +0 -0
  210. data/vendor/assets/images/toolbar/snippets.png +0 -0
  211. data/vendor/assets/images/toolbar/unpublished.png +0 -0
  212. data/vendor/assets/images/tree-line-horizontal-last.png +0 -0
  213. data/vendor/assets/images/tree-line-horizontal.png +0 -0
  214. data/vendor/assets/images/tree-line-vertical.png +0 -0
  215. data/vendor/assets/javascripts/jquery-serializeObject.js +107 -0
  216. data/vendor/assets/javascripts/jquery.to-json.js +74 -0
  217. data/vendor/assets/javascripts/jquery.ui.nestedSortable-1.3.4.js +391 -0
  218. data/vendor/assets/javascripts/moment-1.6.2.js +918 -0
  219. data/vendor/assets/javascripts/underscore-1.3.1.js +31 -0
  220. data/vendor/assets/stylesheets/jasmine-modified.css +216 -0
  221. metadata +686 -0
@@ -0,0 +1,31 @@
1
+ // Underscore.js 1.3.1
2
+ // (c) 2009-2012 Jeremy Ashkenas, DocumentCloud Inc.
3
+ // Underscore is freely distributable under the MIT license.
4
+ // Portions of Underscore are inspired or borrowed from Prototype,
5
+ // Oliver Steele's Functional, and John Resig's Micro-Templating.
6
+ // For all details and documentation:
7
+ // http://documentcloud.github.com/underscore
8
+ (function(){function q(a,c,d){if(a===c)return a!==0||1/a==1/c;if(a==null||c==null)return a===c;if(a._chain)a=a._wrapped;if(c._chain)c=c._wrapped;if(a.isEqual&&b.isFunction(a.isEqual))return a.isEqual(c);if(c.isEqual&&b.isFunction(c.isEqual))return c.isEqual(a);var e=l.call(a);if(e!=l.call(c))return false;switch(e){case "[object String]":return a==String(c);case "[object Number]":return a!=+a?c!=+c:a==0?1/a==1/c:a==+c;case "[object Date]":case "[object Boolean]":return+a==+c;case "[object RegExp]":return a.source==
9
+ c.source&&a.global==c.global&&a.multiline==c.multiline&&a.ignoreCase==c.ignoreCase}if(typeof a!="object"||typeof c!="object")return false;for(var f=d.length;f--;)if(d[f]==a)return true;d.push(a);var f=0,g=true;if(e=="[object Array]"){if(f=a.length,g=f==c.length)for(;f--;)if(!(g=f in a==f in c&&q(a[f],c[f],d)))break}else{if("constructor"in a!="constructor"in c||a.constructor!=c.constructor)return false;for(var h in a)if(b.has(a,h)&&(f++,!(g=b.has(c,h)&&q(a[h],c[h],d))))break;if(g){for(h in c)if(b.has(c,
10
+ h)&&!f--)break;g=!f}}d.pop();return g}var r=this,G=r._,n={},k=Array.prototype,o=Object.prototype,i=k.slice,H=k.unshift,l=o.toString,I=o.hasOwnProperty,w=k.forEach,x=k.map,y=k.reduce,z=k.reduceRight,A=k.filter,B=k.every,C=k.some,p=k.indexOf,D=k.lastIndexOf,o=Array.isArray,J=Object.keys,s=Function.prototype.bind,b=function(a){return new m(a)};if(typeof exports!=="undefined"){if(typeof module!=="undefined"&&module.exports)exports=module.exports=b;exports._=b}else r._=b;b.VERSION="1.3.1";var j=b.each=
11
+ b.forEach=function(a,c,d){if(a!=null)if(w&&a.forEach===w)a.forEach(c,d);else if(a.length===+a.length)for(var e=0,f=a.length;e<f;e++){if(e in a&&c.call(d,a[e],e,a)===n)break}else for(e in a)if(b.has(a,e)&&c.call(d,a[e],e,a)===n)break};b.map=b.collect=function(a,c,b){var e=[];if(a==null)return e;if(x&&a.map===x)return a.map(c,b);j(a,function(a,g,h){e[e.length]=c.call(b,a,g,h)});if(a.length===+a.length)e.length=a.length;return e};b.reduce=b.foldl=b.inject=function(a,c,d,e){var f=arguments.length>2;a==
12
+ null&&(a=[]);if(y&&a.reduce===y)return e&&(c=b.bind(c,e)),f?a.reduce(c,d):a.reduce(c);j(a,function(a,b,i){f?d=c.call(e,d,a,b,i):(d=a,f=true)});if(!f)throw new TypeError("Reduce of empty array with no initial value");return d};b.reduceRight=b.foldr=function(a,c,d,e){var f=arguments.length>2;a==null&&(a=[]);if(z&&a.reduceRight===z)return e&&(c=b.bind(c,e)),f?a.reduceRight(c,d):a.reduceRight(c);var g=b.toArray(a).reverse();e&&!f&&(c=b.bind(c,e));return f?b.reduce(g,c,d,e):b.reduce(g,c)};b.find=b.detect=
13
+ function(a,c,b){var e;E(a,function(a,g,h){if(c.call(b,a,g,h))return e=a,true});return e};b.filter=b.select=function(a,c,b){var e=[];if(a==null)return e;if(A&&a.filter===A)return a.filter(c,b);j(a,function(a,g,h){c.call(b,a,g,h)&&(e[e.length]=a)});return e};b.reject=function(a,c,b){var e=[];if(a==null)return e;j(a,function(a,g,h){c.call(b,a,g,h)||(e[e.length]=a)});return e};b.every=b.all=function(a,c,b){var e=true;if(a==null)return e;if(B&&a.every===B)return a.every(c,b);j(a,function(a,g,h){if(!(e=
14
+ e&&c.call(b,a,g,h)))return n});return e};var E=b.some=b.any=function(a,c,d){c||(c=b.identity);var e=false;if(a==null)return e;if(C&&a.some===C)return a.some(c,d);j(a,function(a,b,h){if(e||(e=c.call(d,a,b,h)))return n});return!!e};b.include=b.contains=function(a,c){var b=false;if(a==null)return b;return p&&a.indexOf===p?a.indexOf(c)!=-1:b=E(a,function(a){return a===c})};b.invoke=function(a,c){var d=i.call(arguments,2);return b.map(a,function(a){return(b.isFunction(c)?c||a:a[c]).apply(a,d)})};b.pluck=
15
+ function(a,c){return b.map(a,function(a){return a[c]})};b.max=function(a,c,d){if(!c&&b.isArray(a))return Math.max.apply(Math,a);if(!c&&b.isEmpty(a))return-Infinity;var e={computed:-Infinity};j(a,function(a,b,h){b=c?c.call(d,a,b,h):a;b>=e.computed&&(e={value:a,computed:b})});return e.value};b.min=function(a,c,d){if(!c&&b.isArray(a))return Math.min.apply(Math,a);if(!c&&b.isEmpty(a))return Infinity;var e={computed:Infinity};j(a,function(a,b,h){b=c?c.call(d,a,b,h):a;b<e.computed&&(e={value:a,computed:b})});
16
+ return e.value};b.shuffle=function(a){var b=[],d;j(a,function(a,f){f==0?b[0]=a:(d=Math.floor(Math.random()*(f+1)),b[f]=b[d],b[d]=a)});return b};b.sortBy=function(a,c,d){return b.pluck(b.map(a,function(a,b,g){return{value:a,criteria:c.call(d,a,b,g)}}).sort(function(a,b){var c=a.criteria,d=b.criteria;return c<d?-1:c>d?1:0}),"value")};b.groupBy=function(a,c){var d={},e=b.isFunction(c)?c:function(a){return a[c]};j(a,function(a,b){var c=e(a,b);(d[c]||(d[c]=[])).push(a)});return d};b.sortedIndex=function(a,
17
+ c,d){d||(d=b.identity);for(var e=0,f=a.length;e<f;){var g=e+f>>1;d(a[g])<d(c)?e=g+1:f=g}return e};b.toArray=function(a){return!a?[]:a.toArray?a.toArray():b.isArray(a)?i.call(a):b.isArguments(a)?i.call(a):b.values(a)};b.size=function(a){return b.toArray(a).length};b.first=b.head=function(a,b,d){return b!=null&&!d?i.call(a,0,b):a[0]};b.initial=function(a,b,d){return i.call(a,0,a.length-(b==null||d?1:b))};b.last=function(a,b,d){return b!=null&&!d?i.call(a,Math.max(a.length-b,0)):a[a.length-1]};b.rest=
18
+ b.tail=function(a,b,d){return i.call(a,b==null||d?1:b)};b.compact=function(a){return b.filter(a,function(a){return!!a})};b.flatten=function(a,c){return b.reduce(a,function(a,e){if(b.isArray(e))return a.concat(c?e:b.flatten(e));a[a.length]=e;return a},[])};b.without=function(a){return b.difference(a,i.call(arguments,1))};b.uniq=b.unique=function(a,c,d){var d=d?b.map(a,d):a,e=[];b.reduce(d,function(d,g,h){if(0==h||(c===true?b.last(d)!=g:!b.include(d,g)))d[d.length]=g,e[e.length]=a[h];return d},[]);
19
+ return e};b.union=function(){return b.uniq(b.flatten(arguments,true))};b.intersection=b.intersect=function(a){var c=i.call(arguments,1);return b.filter(b.uniq(a),function(a){return b.every(c,function(c){return b.indexOf(c,a)>=0})})};b.difference=function(a){var c=b.flatten(i.call(arguments,1));return b.filter(a,function(a){return!b.include(c,a)})};b.zip=function(){for(var a=i.call(arguments),c=b.max(b.pluck(a,"length")),d=Array(c),e=0;e<c;e++)d[e]=b.pluck(a,""+e);return d};b.indexOf=function(a,c,
20
+ d){if(a==null)return-1;var e;if(d)return d=b.sortedIndex(a,c),a[d]===c?d:-1;if(p&&a.indexOf===p)return a.indexOf(c);for(d=0,e=a.length;d<e;d++)if(d in a&&a[d]===c)return d;return-1};b.lastIndexOf=function(a,b){if(a==null)return-1;if(D&&a.lastIndexOf===D)return a.lastIndexOf(b);for(var d=a.length;d--;)if(d in a&&a[d]===b)return d;return-1};b.range=function(a,b,d){arguments.length<=1&&(b=a||0,a=0);for(var d=arguments[2]||1,e=Math.max(Math.ceil((b-a)/d),0),f=0,g=Array(e);f<e;)g[f++]=a,a+=d;return g};
21
+ var F=function(){};b.bind=function(a,c){var d,e;if(a.bind===s&&s)return s.apply(a,i.call(arguments,1));if(!b.isFunction(a))throw new TypeError;e=i.call(arguments,2);return d=function(){if(!(this instanceof d))return a.apply(c,e.concat(i.call(arguments)));F.prototype=a.prototype;var b=new F,g=a.apply(b,e.concat(i.call(arguments)));return Object(g)===g?g:b}};b.bindAll=function(a){var c=i.call(arguments,1);c.length==0&&(c=b.functions(a));j(c,function(c){a[c]=b.bind(a[c],a)});return a};b.memoize=function(a,
22
+ c){var d={};c||(c=b.identity);return function(){var e=c.apply(this,arguments);return b.has(d,e)?d[e]:d[e]=a.apply(this,arguments)}};b.delay=function(a,b){var d=i.call(arguments,2);return setTimeout(function(){return a.apply(a,d)},b)};b.defer=function(a){return b.delay.apply(b,[a,1].concat(i.call(arguments,1)))};b.throttle=function(a,c){var d,e,f,g,h,i=b.debounce(function(){h=g=false},c);return function(){d=this;e=arguments;var b;f||(f=setTimeout(function(){f=null;h&&a.apply(d,e);i()},c));g?h=true:
23
+ a.apply(d,e);i();g=true}};b.debounce=function(a,b){var d;return function(){var e=this,f=arguments;clearTimeout(d);d=setTimeout(function(){d=null;a.apply(e,f)},b)}};b.once=function(a){var b=false,d;return function(){if(b)return d;b=true;return d=a.apply(this,arguments)}};b.wrap=function(a,b){return function(){var d=[a].concat(i.call(arguments,0));return b.apply(this,d)}};b.compose=function(){var a=arguments;return function(){for(var b=arguments,d=a.length-1;d>=0;d--)b=[a[d].apply(this,b)];return b[0]}};
24
+ b.after=function(a,b){return a<=0?b():function(){if(--a<1)return b.apply(this,arguments)}};b.keys=J||function(a){if(a!==Object(a))throw new TypeError("Invalid object");var c=[],d;for(d in a)b.has(a,d)&&(c[c.length]=d);return c};b.values=function(a){return b.map(a,b.identity)};b.functions=b.methods=function(a){var c=[],d;for(d in a)b.isFunction(a[d])&&c.push(d);return c.sort()};b.extend=function(a){j(i.call(arguments,1),function(b){for(var d in b)a[d]=b[d]});return a};b.defaults=function(a){j(i.call(arguments,
25
+ 1),function(b){for(var d in b)a[d]==null&&(a[d]=b[d])});return a};b.clone=function(a){return!b.isObject(a)?a:b.isArray(a)?a.slice():b.extend({},a)};b.tap=function(a,b){b(a);return a};b.isEqual=function(a,b){return q(a,b,[])};b.isEmpty=function(a){if(b.isArray(a)||b.isString(a))return a.length===0;for(var c in a)if(b.has(a,c))return false;return true};b.isElement=function(a){return!!(a&&a.nodeType==1)};b.isArray=o||function(a){return l.call(a)=="[object Array]"};b.isObject=function(a){return a===Object(a)};
26
+ b.isArguments=function(a){return l.call(a)=="[object Arguments]"};if(!b.isArguments(arguments))b.isArguments=function(a){return!(!a||!b.has(a,"callee"))};b.isFunction=function(a){return l.call(a)=="[object Function]"};b.isString=function(a){return l.call(a)=="[object String]"};b.isNumber=function(a){return l.call(a)=="[object Number]"};b.isNaN=function(a){return a!==a};b.isBoolean=function(a){return a===true||a===false||l.call(a)=="[object Boolean]"};b.isDate=function(a){return l.call(a)=="[object Date]"};
27
+ b.isRegExp=function(a){return l.call(a)=="[object RegExp]"};b.isNull=function(a){return a===null};b.isUndefined=function(a){return a===void 0};b.has=function(a,b){return I.call(a,b)};b.noConflict=function(){r._=G;return this};b.identity=function(a){return a};b.times=function(a,b,d){for(var e=0;e<a;e++)b.call(d,e)};b.escape=function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;").replace(/\//g,"&#x2F;")};b.mixin=function(a){j(b.functions(a),
28
+ function(c){K(c,b[c]=a[c])})};var L=0;b.uniqueId=function(a){var b=L++;return a?a+b:b};b.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var t=/.^/,u=function(a){return a.replace(/\\\\/g,"\\").replace(/\\'/g,"'")};b.template=function(a,c){var d=b.templateSettings,d="var __p=[],print=function(){__p.push.apply(__p,arguments);};with(obj||{}){__p.push('"+a.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(d.escape||t,function(a,b){return"',_.escape("+
29
+ u(b)+"),'"}).replace(d.interpolate||t,function(a,b){return"',"+u(b)+",'"}).replace(d.evaluate||t,function(a,b){return"');"+u(b).replace(/[\r\n\t]/g," ")+";__p.push('"}).replace(/\r/g,"\\r").replace(/\n/g,"\\n").replace(/\t/g,"\\t")+"');}return __p.join('');",e=new Function("obj","_",d);return c?e(c,b):function(a){return e.call(this,a,b)}};b.chain=function(a){return b(a).chain()};var m=function(a){this._wrapped=a};b.prototype=m.prototype;var v=function(a,c){return c?b(a).chain():a},K=function(a,c){m.prototype[a]=
30
+ function(){var a=i.call(arguments);H.call(a,this._wrapped);return v(c.apply(b,a),this._chain)}};b.mixin(b);j("pop,push,reverse,shift,sort,splice,unshift".split(","),function(a){var b=k[a];m.prototype[a]=function(){var d=this._wrapped;b.apply(d,arguments);var e=d.length;(a=="shift"||a=="splice")&&e===0&&delete d[0];return v(d,this._chain)}});j(["concat","join","slice"],function(a){var b=k[a];m.prototype[a]=function(){return v(b.apply(this._wrapped,arguments),this._chain)}});m.prototype.chain=function(){this._chain=
31
+ true;return this};m.prototype.value=function(){return this._wrapped}}).call(this);
@@ -0,0 +1,216 @@
1
+
2
+
3
+ body {
4
+ color: #333;
5
+ font-family: "Helvetica Neue", "Helvetica", "Arial", sans-serif;
6
+ }
7
+
8
+ .jasmine_reporter a,
9
+ .jasmine_reporter a:visited {
10
+ color: #333;
11
+ text-decoration: none;
12
+ text-shadow: 0 1px 0 rgba(255,255,255,0.75);
13
+ }
14
+
15
+ .jasmine_reporter a:hover,
16
+ .jasmine_reporter a:active {
17
+ color: #268bd2;
18
+ }
19
+
20
+ .run_spec {
21
+ float: right;
22
+ font-size: 0.8em;
23
+ text-align: right;
24
+ }
25
+
26
+ .jasmine_reporter {
27
+ margin: 0 1%;
28
+ }
29
+
30
+ .banner {
31
+ background-color: #ccc;
32
+ border: 1px solid #666;
33
+ border-top-left-radius: 0.4em;
34
+ border-top-right-radius: 0.4em;
35
+ padding: 1%;
36
+ text-shadow: 0 1px 0 rgba(255,255,255,0.75);
37
+ }
38
+
39
+ .logo {
40
+ float: left;
41
+ font-size: 1em;
42
+ }
43
+
44
+ .logo .title {
45
+ font-weight: bold;
46
+ }
47
+
48
+ .logo .version {
49
+ font-size: 0.6em;
50
+ padding-left: 1em;
51
+ }
52
+
53
+ .options {
54
+ font-size: 0.8em;
55
+ font-weight: bold;
56
+ text-align: right;
57
+ }
58
+
59
+ .options label {
60
+ font-weight: normal;
61
+ }
62
+
63
+ .runner.running {
64
+ background-color: #ffc40d;
65
+ }
66
+
67
+ .suite {
68
+ border: 1px solid #666;
69
+ border-radius: 0.4em;
70
+ margin: 0.5em 0;
71
+ padding: 0.75% 1%;
72
+ }
73
+
74
+ .suite .suite {
75
+ margin: 0.2em 0;
76
+ padding: 0.25% 1%;
77
+ }
78
+
79
+ .suite.passed {
80
+ background-color: #dfd;
81
+ border-color: #46a546;
82
+ }
83
+
84
+ .suite.failed {
85
+ background-color: #fdd;
86
+ border-color: #b22222;
87
+ }
88
+
89
+ .runner ~ .suite.passed {
90
+ background-color: #f2fff2;
91
+ }
92
+
93
+ .runner ~ .suite.failed {
94
+ background-color: #fff2f2;
95
+ }
96
+
97
+ .spec {
98
+ border-radius: 0.4em;
99
+ margin: 0.2em 0;
100
+ padding: 0.5% 1%;
101
+ clear: both;
102
+ }
103
+
104
+ .spec.failed, .spec.passed, .spec.skipped {
105
+ border: 1px solid #666;
106
+ }
107
+
108
+ .spec.failed {
109
+ background-color: #fbb;
110
+ border-color: #b22222;
111
+ border-style: dashed;
112
+ }
113
+
114
+ .spec.passed {
115
+ background-color: #bfb;
116
+ border-color: #46a546;
117
+ }
118
+
119
+ .spec.skipped {
120
+ background-color: #bbb;
121
+ }
122
+
123
+ .runner .description,
124
+ .suite > .description {
125
+ font-weight: bold;
126
+ }
127
+
128
+ .suite > .suite > .description {
129
+ font-family: "Bitstream Vera Sans Mono", "Menslo LG M", "Menlo", "Monaco", monospace;
130
+ font-size: 85%;
131
+ font-weight: normal;
132
+ display: block;
133
+ margin: 0.5em 0;
134
+ }
135
+
136
+ .spec > .description {
137
+ font-size: 0.8em;
138
+ }
139
+
140
+ .passed {
141
+ background-color: #cfc;
142
+ display: none;
143
+ }
144
+
145
+ .failed {
146
+ background-color: #fbb;
147
+ }
148
+
149
+ .skipped {
150
+ color: #777;
151
+ background-color: #eee;
152
+ display: none;
153
+ }
154
+
155
+ .messages {
156
+ padding: 1%
157
+ }
158
+
159
+ .resultMessage {
160
+ background: #eef;
161
+ border: 1px solid #b22222;
162
+ border-top-left-radius: 0.4em;
163
+ border-top-right-radius: 0.4em;
164
+ border-bottom: 0;
165
+ padding: 1%;
166
+ }
167
+
168
+ .stackTrace {
169
+ background: #eef;
170
+ border: 1px solid #b22222;
171
+ border-top: 1px dotted #333;
172
+ border-bottom-left-radius: 0.4em;
173
+ border-bottom-right-radius: 0.4em;
174
+ font-family: "Bitstream Vera Sans Mono", "Menslo LG M", "Menlo", "Monaco", monospace;
175
+ font-size: 75%;
176
+ max-height: 10em;
177
+ overflow: auto;
178
+ padding: 1%;
179
+ white-space: pre;
180
+ }
181
+
182
+ .resultMessage span.result {
183
+ display: block;
184
+ line-height: 2;
185
+ color: black;
186
+ }
187
+
188
+ .resultMessage .mismatch {
189
+ color: black;
190
+ }
191
+
192
+ .finished-at {
193
+ padding-left: 1em;
194
+ font-size: .6em;
195
+ }
196
+
197
+ .show-passed .passed,
198
+ .show-skipped .skipped {
199
+ display: block;
200
+ }
201
+
202
+
203
+ #jasmine_content {
204
+ position:fixed;
205
+ right: 100%;
206
+ }
207
+
208
+ .runner {
209
+ border: 1px solid #666;
210
+ border-bottom-left-radius: 0.4em;
211
+ border-bottom-right-radius: 0.4em;
212
+ border-top: 0;
213
+ display: block;
214
+ margin: 0 0 0.5em 0;
215
+ padding: 0.75% 1%;
216
+ }
metadata ADDED
@@ -0,0 +1,686 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: cmsimple
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.2.0
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Gabe Varela
9
+ - Jay Zeschin
10
+ - Matt Kitt
11
+ autorequire:
12
+ bindir: bin
13
+ cert_chain: []
14
+ date: 2013-01-23 00:00:00.000000000 Z
15
+ dependencies:
16
+ - !ruby/object:Gem::Dependency
17
+ name: rails
18
+ requirement: !ruby/object:Gem::Requirement
19
+ none: false
20
+ requirements:
21
+ - - ~>
22
+ - !ruby/object:Gem::Version
23
+ version: 3.2.1
24
+ type: :runtime
25
+ prerelease: false
26
+ version_requirements: !ruby/object:Gem::Requirement
27
+ none: false
28
+ requirements:
29
+ - - ~>
30
+ - !ruby/object:Gem::Version
31
+ version: 3.2.1
32
+ - !ruby/object:Gem::Dependency
33
+ name: jquery-rails
34
+ requirement: !ruby/object:Gem::Requirement
35
+ none: false
36
+ requirements:
37
+ - - ~>
38
+ - !ruby/object:Gem::Version
39
+ version: 2.1.3
40
+ type: :runtime
41
+ prerelease: false
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ none: false
44
+ requirements:
45
+ - - ~>
46
+ - !ruby/object:Gem::Version
47
+ version: 2.1.3
48
+ - !ruby/object:Gem::Dependency
49
+ name: mercury-rails
50
+ requirement: !ruby/object:Gem::Requirement
51
+ none: false
52
+ requirements:
53
+ - - ! '>='
54
+ - !ruby/object:Gem::Version
55
+ version: '0'
56
+ type: :runtime
57
+ prerelease: false
58
+ version_requirements: !ruby/object:Gem::Requirement
59
+ none: false
60
+ requirements:
61
+ - - ! '>='
62
+ - !ruby/object:Gem::Version
63
+ version: '0'
64
+ - !ruby/object:Gem::Dependency
65
+ name: cells
66
+ requirement: !ruby/object:Gem::Requirement
67
+ none: false
68
+ requirements:
69
+ - - ~>
70
+ - !ruby/object:Gem::Version
71
+ version: '3.8'
72
+ type: :runtime
73
+ prerelease: false
74
+ version_requirements: !ruby/object:Gem::Requirement
75
+ none: false
76
+ requirements:
77
+ - - ~>
78
+ - !ruby/object:Gem::Version
79
+ version: '3.8'
80
+ - !ruby/object:Gem::Dependency
81
+ name: carrierwave
82
+ requirement: !ruby/object:Gem::Requirement
83
+ none: false
84
+ requirements:
85
+ - - ~>
86
+ - !ruby/object:Gem::Version
87
+ version: 0.5.8
88
+ type: :runtime
89
+ prerelease: false
90
+ version_requirements: !ruby/object:Gem::Requirement
91
+ none: false
92
+ requirements:
93
+ - - ~>
94
+ - !ruby/object:Gem::Version
95
+ version: 0.5.8
96
+ - !ruby/object:Gem::Dependency
97
+ name: spine-rails
98
+ requirement: !ruby/object:Gem::Requirement
99
+ none: false
100
+ requirements:
101
+ - - ~>
102
+ - !ruby/object:Gem::Version
103
+ version: '0.1'
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ none: false
108
+ requirements:
109
+ - - ~>
110
+ - !ruby/object:Gem::Version
111
+ version: '0.1'
112
+ - !ruby/object:Gem::Dependency
113
+ name: coffee-script-source
114
+ requirement: !ruby/object:Gem::Requirement
115
+ none: false
116
+ requirements:
117
+ - - ~>
118
+ - !ruby/object:Gem::Version
119
+ version: 1.2.0
120
+ type: :runtime
121
+ prerelease: false
122
+ version_requirements: !ruby/object:Gem::Requirement
123
+ none: false
124
+ requirements:
125
+ - - ~>
126
+ - !ruby/object:Gem::Version
127
+ version: 1.2.0
128
+ - !ruby/object:Gem::Dependency
129
+ name: haml
130
+ requirement: !ruby/object:Gem::Requirement
131
+ none: false
132
+ requirements:
133
+ - - ~>
134
+ - !ruby/object:Gem::Version
135
+ version: 3.1.6
136
+ type: :runtime
137
+ prerelease: false
138
+ version_requirements: !ruby/object:Gem::Requirement
139
+ none: false
140
+ requirements:
141
+ - - ~>
142
+ - !ruby/object:Gem::Version
143
+ version: 3.1.6
144
+ - !ruby/object:Gem::Dependency
145
+ name: haml-rails
146
+ requirement: !ruby/object:Gem::Requirement
147
+ none: false
148
+ requirements:
149
+ - - '='
150
+ - !ruby/object:Gem::Version
151
+ version: 0.3.4
152
+ type: :runtime
153
+ prerelease: false
154
+ version_requirements: !ruby/object:Gem::Requirement
155
+ none: false
156
+ requirements:
157
+ - - '='
158
+ - !ruby/object:Gem::Version
159
+ version: 0.3.4
160
+ - !ruby/object:Gem::Dependency
161
+ name: haml_coffee_assets
162
+ requirement: !ruby/object:Gem::Requirement
163
+ none: false
164
+ requirements:
165
+ - - ~>
166
+ - !ruby/object:Gem::Version
167
+ version: 0.9.2
168
+ type: :runtime
169
+ prerelease: false
170
+ version_requirements: !ruby/object:Gem::Requirement
171
+ none: false
172
+ requirements:
173
+ - - ~>
174
+ - !ruby/object:Gem::Version
175
+ version: 0.9.2
176
+ - !ruby/object:Gem::Dependency
177
+ name: dimensions
178
+ requirement: !ruby/object:Gem::Requirement
179
+ none: false
180
+ requirements:
181
+ - - ! '>='
182
+ - !ruby/object:Gem::Version
183
+ version: '0'
184
+ type: :runtime
185
+ prerelease: false
186
+ version_requirements: !ruby/object:Gem::Requirement
187
+ none: false
188
+ requirements:
189
+ - - ! '>='
190
+ - !ruby/object:Gem::Version
191
+ version: '0'
192
+ - !ruby/object:Gem::Dependency
193
+ name: mini_magick
194
+ requirement: !ruby/object:Gem::Requirement
195
+ none: false
196
+ requirements:
197
+ - - ! '>='
198
+ - !ruby/object:Gem::Version
199
+ version: '0'
200
+ type: :runtime
201
+ prerelease: false
202
+ version_requirements: !ruby/object:Gem::Requirement
203
+ none: false
204
+ requirements:
205
+ - - ! '>='
206
+ - !ruby/object:Gem::Version
207
+ version: '0'
208
+ - !ruby/object:Gem::Dependency
209
+ name: rspec-rails
210
+ requirement: !ruby/object:Gem::Requirement
211
+ none: false
212
+ requirements:
213
+ - - ~>
214
+ - !ruby/object:Gem::Version
215
+ version: 2.12.2
216
+ type: :development
217
+ prerelease: false
218
+ version_requirements: !ruby/object:Gem::Requirement
219
+ none: false
220
+ requirements:
221
+ - - ~>
222
+ - !ruby/object:Gem::Version
223
+ version: 2.12.2
224
+ - !ruby/object:Gem::Dependency
225
+ name: cucumber-rails
226
+ requirement: !ruby/object:Gem::Requirement
227
+ none: false
228
+ requirements:
229
+ - - ! '>='
230
+ - !ruby/object:Gem::Version
231
+ version: '0'
232
+ type: :development
233
+ prerelease: false
234
+ version_requirements: !ruby/object:Gem::Requirement
235
+ none: false
236
+ requirements:
237
+ - - ! '>='
238
+ - !ruby/object:Gem::Version
239
+ version: '0'
240
+ - !ruby/object:Gem::Dependency
241
+ name: capybara
242
+ requirement: !ruby/object:Gem::Requirement
243
+ none: false
244
+ requirements:
245
+ - - ~>
246
+ - !ruby/object:Gem::Version
247
+ version: 1.1.3
248
+ type: :development
249
+ prerelease: false
250
+ version_requirements: !ruby/object:Gem::Requirement
251
+ none: false
252
+ requirements:
253
+ - - ~>
254
+ - !ruby/object:Gem::Version
255
+ version: 1.1.3
256
+ - !ruby/object:Gem::Dependency
257
+ name: database_cleaner
258
+ requirement: !ruby/object:Gem::Requirement
259
+ none: false
260
+ requirements:
261
+ - - ! '>='
262
+ - !ruby/object:Gem::Version
263
+ version: '0'
264
+ type: :development
265
+ prerelease: false
266
+ version_requirements: !ruby/object:Gem::Requirement
267
+ none: false
268
+ requirements:
269
+ - - ! '>='
270
+ - !ruby/object:Gem::Version
271
+ version: '0'
272
+ - !ruby/object:Gem::Dependency
273
+ name: shoulda-matchers
274
+ requirement: !ruby/object:Gem::Requirement
275
+ none: false
276
+ requirements:
277
+ - - ! '>='
278
+ - !ruby/object:Gem::Version
279
+ version: '0'
280
+ type: :development
281
+ prerelease: false
282
+ version_requirements: !ruby/object:Gem::Requirement
283
+ none: false
284
+ requirements:
285
+ - - ! '>='
286
+ - !ruby/object:Gem::Version
287
+ version: '0'
288
+ - !ruby/object:Gem::Dependency
289
+ name: timecop
290
+ requirement: !ruby/object:Gem::Requirement
291
+ none: false
292
+ requirements:
293
+ - - ! '>='
294
+ - !ruby/object:Gem::Version
295
+ version: '0'
296
+ type: :development
297
+ prerelease: false
298
+ version_requirements: !ruby/object:Gem::Requirement
299
+ none: false
300
+ requirements:
301
+ - - ! '>='
302
+ - !ruby/object:Gem::Version
303
+ version: '0'
304
+ - !ruby/object:Gem::Dependency
305
+ name: teabag
306
+ requirement: !ruby/object:Gem::Requirement
307
+ none: false
308
+ requirements:
309
+ - - ! '>='
310
+ - !ruby/object:Gem::Version
311
+ version: '0'
312
+ type: :development
313
+ prerelease: false
314
+ version_requirements: !ruby/object:Gem::Requirement
315
+ none: false
316
+ requirements:
317
+ - - ! '>='
318
+ - !ruby/object:Gem::Version
319
+ version: '0'
320
+ - !ruby/object:Gem::Dependency
321
+ name: pry
322
+ requirement: !ruby/object:Gem::Requirement
323
+ none: false
324
+ requirements:
325
+ - - ! '>='
326
+ - !ruby/object:Gem::Version
327
+ version: '0'
328
+ type: :development
329
+ prerelease: false
330
+ version_requirements: !ruby/object:Gem::Requirement
331
+ none: false
332
+ requirements:
333
+ - - ! '>='
334
+ - !ruby/object:Gem::Version
335
+ version: '0'
336
+ description: A simple CMS based on the Mercury editor
337
+ email:
338
+ - info@modeset.com
339
+ executables: []
340
+ extensions: []
341
+ extra_rdoc_files: []
342
+ files:
343
+ - .gitignore
344
+ - .rspec
345
+ - .travis.yml
346
+ - Gemfile
347
+ - Gemfile.ci
348
+ - LICENSE
349
+ - README.md
350
+ - Rakefile
351
+ - app/assets/javascripts/cmsimple.js
352
+ - app/assets/javascripts/cmsimple/controllers/editor.coffee
353
+ - app/assets/javascripts/cmsimple/lib/namespaces.coffee
354
+ - app/assets/javascripts/cmsimple/lib/support.coffee
355
+ - app/assets/javascripts/cmsimple/mercury/config.js
356
+ - app/assets/javascripts/cmsimple/mercury/handlers.coffee
357
+ - app/assets/javascripts/cmsimple/models/image.coffee
358
+ - app/assets/javascripts/cmsimple/models/page.coffee
359
+ - app/assets/javascripts/cmsimple/models/path.coffee
360
+ - app/assets/javascripts/cmsimple/models/version.coffee
361
+ - app/assets/javascripts/cmsimple/panels/images/index.coffee
362
+ - app/assets/javascripts/cmsimple/panels/images/list.coffee
363
+ - app/assets/javascripts/cmsimple/panels/images/panel.coffee
364
+ - app/assets/javascripts/cmsimple/panels/images/selection.coffee
365
+ - app/assets/javascripts/cmsimple/panels/page_metadata.coffee
366
+ - app/assets/javascripts/cmsimple/panels/publish.coffee
367
+ - app/assets/javascripts/cmsimple/panels/redirects/form.coffee
368
+ - app/assets/javascripts/cmsimple/panels/redirects/index.coffee
369
+ - app/assets/javascripts/cmsimple/panels/redirects/list.coffee
370
+ - app/assets/javascripts/cmsimple/panels/redirects/panel.coffee
371
+ - app/assets/javascripts/cmsimple/panels/sitemap/index.coffee
372
+ - app/assets/javascripts/cmsimple/panels/sitemap/panel.coffee
373
+ - app/assets/javascripts/cmsimple/panels/sitemap/sortable.coffee
374
+ - app/assets/javascripts/cmsimple/panels/sitemap/tree.coffee
375
+ - app/assets/javascripts/cmsimple/panels/versions/index.coffee
376
+ - app/assets/javascripts/cmsimple/panels/versions/list.coffee
377
+ - app/assets/javascripts/cmsimple/panels/versions/panel.coffee
378
+ - app/assets/javascripts/cmsimple/views/image_library/_item.jst.hamlc
379
+ - app/assets/javascripts/cmsimple/views/image_library/list.jst.hamlc
380
+ - app/assets/javascripts/cmsimple/views/redirects/_path.jst.hamlc
381
+ - app/assets/javascripts/cmsimple/views/redirects/list.jst.hamlc
382
+ - app/assets/javascripts/cmsimple/views/sitemap/_page.jst.hamlc
383
+ - app/assets/javascripts/cmsimple/views/sitemap/tree.jst.hamlc
384
+ - app/assets/javascripts/cmsimple/views/versions/_item.jst.hamlc
385
+ - app/assets/javascripts/cmsimple/views/versions/list.jst.hamlc
386
+ - app/assets/stylesheets/cmsimple.css
387
+ - app/assets/stylesheets/cmsimple/forms.css
388
+ - app/assets/stylesheets/cmsimple/panels.css
389
+ - app/assets/stylesheets/cmsimple/toolbar-images.css
390
+ - app/assets/stylesheets/mercury_overrides.css
391
+ - app/controllers/cmsimple/front_controller.rb
392
+ - app/controllers/cmsimple/images_controller.rb
393
+ - app/controllers/cmsimple/mercury_controller.rb
394
+ - app/controllers/cmsimple/pages_controller.rb
395
+ - app/controllers/cmsimple/paths_controller.rb
396
+ - app/controllers/cmsimple/snippets_controller.rb
397
+ - app/controllers/cmsimple/versions_controller.rb
398
+ - app/helpers/cmsimple/regions_helper.rb
399
+ - app/models/cmsimple/image.rb
400
+ - app/models/cmsimple/page.rb
401
+ - app/models/cmsimple/path.rb
402
+ - app/models/cmsimple/region.rb
403
+ - app/models/cmsimple/snippet.rb
404
+ - app/models/cmsimple/version.rb
405
+ - app/uploaders/image_attachment_uploader.rb
406
+ - app/views/cmsimple/images/_form.html.haml
407
+ - app/views/cmsimple/images/new.html.haml
408
+ - app/views/cmsimple/pages/_form.html.haml
409
+ - app/views/cmsimple/pages/_form_extras.html.haml
410
+ - app/views/cmsimple/pages/edit.html.haml
411
+ - app/views/cmsimple/pages/new.html.haml
412
+ - app/views/cmsimple/pages/publish.html.haml
413
+ - app/views/cmsimple/snippets/index.html.haml
414
+ - app/views/cmsimple/templates/default.html.haml
415
+ - app/views/layouts/editor.html.haml
416
+ - app/views/layouts/panel.html.haml
417
+ - cmsimple.gemspec
418
+ - config.ru
419
+ - config/application.rb
420
+ - config/cucumber.yml
421
+ - config/environment.rb
422
+ - config/routes.rb
423
+ - db/migrate/20120201221410_create_cmsimple_pages.rb
424
+ - db/migrate/20120222185901_add_title_parent_id_and_position_to_pages.rb
425
+ - db/migrate/20120229185214_add_slug_to_pages.rb
426
+ - db/migrate/20120323200439_add_is_root_to_page.rb
427
+ - db/migrate/20120328174339_add_meta_info_to_cmsimple_pages.rb
428
+ - db/migrate/20120329172857_create_cmsimple_path.rb
429
+ - db/migrate/20120407024752_create_cmsimple_images.rb
430
+ - db/migrate/20120410041105_add_timestamps_to_cmsimple_pages.rb
431
+ - db/migrate/20120425211937_add_published_at_to_cmsimple_pages.rb
432
+ - db/migrate/20120430175047_create_cmsimple_versions.rb
433
+ - db/migrate/20120831233927_rename_path_to_current_uri_on_paths.rb
434
+ - features/create.feature
435
+ - features/delete.feature
436
+ - features/edit.feature
437
+ - features/publishing.feature
438
+ - features/redirects.feature
439
+ - features/step_definitions/mercury_steps.rb
440
+ - features/step_definitions/page_steps.rb
441
+ - features/step_definitions/web_steps.rb
442
+ - features/support/env.rb
443
+ - features/support/mercury_content.rb
444
+ - features/support/mercury_selectors.rb
445
+ - features/support/paths.rb
446
+ - features/support/selectors.rb
447
+ - features/support/utils.rb
448
+ - features/versioning.feature
449
+ - features/visit.feature
450
+ - lib/cmsimple.rb
451
+ - lib/cmsimple/configuration.rb
452
+ - lib/cmsimple/exts/to_bool.rb
453
+ - lib/cmsimple/page_responder.rb
454
+ - lib/cmsimple/rails.rb
455
+ - lib/cmsimple/regions_proxy.rb
456
+ - lib/cmsimple/template_resolver.rb
457
+ - lib/cmsimple/template_responder.rb
458
+ - lib/cmsimple/version.rb
459
+ - lib/generators/cmsimple/install/install_generator.rb
460
+ - lib/generators/cmsimple/install/templates/default.html.erb
461
+ - lib/generators/cmsimple/install/templates/default.html.haml
462
+ - lib/generators/cmsimple/install/templates/initializer.rb
463
+ - lib/generators/cmsimple/snippet/snippet_generator.rb
464
+ - lib/generators/cmsimple/snippet/templates/cell.rb
465
+ - lib/generators/cmsimple/snippet/templates/display.html.erb
466
+ - lib/generators/cmsimple/snippet/templates/display.html.haml
467
+ - lib/generators/cmsimple/snippet/templates/options.html.erb
468
+ - lib/generators/cmsimple/snippet/templates/options.html.haml
469
+ - script/app
470
+ - script/migrate
471
+ - script/rails
472
+ - spec/fixtures/rails.png
473
+ - spec/helpers/regions_helper_spec.rb
474
+ - spec/javascripts/controllers/editor_spec.coffee
475
+ - spec/javascripts/models/image_geometry_spec.coffee
476
+ - spec/javascripts/models/image_spec.coffee
477
+ - spec/javascripts/models/page_spec.coffee
478
+ - spec/javascripts/models/path_spec.coffee
479
+ - spec/javascripts/models/version_spec.coffee
480
+ - spec/javascripts/panels/images/selection_spec.coffee
481
+ - spec/javascripts/panels/sitemap/panel_spec.coffee
482
+ - spec/javascripts/panels/sitemap/sortable_spec.coffee
483
+ - spec/javascripts/panels/sitemap/tree_spec.coffee
484
+ - spec/javascripts/spec_helper.coffee
485
+ - spec/javascripts/support/stubs.coffee
486
+ - spec/lib/page_responder_spec.rb
487
+ - spec/lib/regions_proxy_spec.rb
488
+ - spec/models/image_spec.rb
489
+ - spec/models/page_spec.rb
490
+ - spec/models/path_spec.rb
491
+ - spec/models/region_spec.rb
492
+ - spec/models/snippet_spec.rb
493
+ - spec/models/version_spec.rb
494
+ - spec/rails_app/.gitignore
495
+ - spec/rails_app/Rakefile
496
+ - spec/rails_app/app/assets/images/rails.png
497
+ - spec/rails_app/app/assets/javascripts/application.js
498
+ - spec/rails_app/app/assets/stylesheets/application.css
499
+ - spec/rails_app/app/cells/example/display.html.haml
500
+ - spec/rails_app/app/cells/example/options.html.haml
501
+ - spec/rails_app/app/cells/example_cell.rb
502
+ - spec/rails_app/app/cells/image_example/display.html.haml
503
+ - spec/rails_app/app/cells/image_example/options.html.haml
504
+ - spec/rails_app/app/cells/image_example_cell.rb
505
+ - spec/rails_app/app/controllers/application_controller.rb
506
+ - spec/rails_app/app/helpers/application_helper.rb
507
+ - spec/rails_app/app/mailers/.gitkeep
508
+ - spec/rails_app/app/models/.gitkeep
509
+ - spec/rails_app/app/views/cmsimple/_snippet_list.html.haml
510
+ - spec/rails_app/app/views/cmsimple/templates/default.html.haml
511
+ - spec/rails_app/app/views/cmsimple/templates/test.html.haml
512
+ - spec/rails_app/app/views/layouts/application.html.haml
513
+ - spec/rails_app/config.ru
514
+ - spec/rails_app/config/application.rb
515
+ - spec/rails_app/config/boot.rb
516
+ - spec/rails_app/config/database.example.yml
517
+ - spec/rails_app/config/database.travis.yml
518
+ - spec/rails_app/config/environment.rb
519
+ - spec/rails_app/config/environments/development.rb
520
+ - spec/rails_app/config/environments/test.rb
521
+ - spec/rails_app/config/initializers/backtrace_silencers.rb
522
+ - spec/rails_app/config/initializers/cells.rb
523
+ - spec/rails_app/config/initializers/cmsimple.rb
524
+ - spec/rails_app/config/initializers/inflections.rb
525
+ - spec/rails_app/config/initializers/mime_types.rb
526
+ - spec/rails_app/config/initializers/secret_token.rb
527
+ - spec/rails_app/config/initializers/session_store.rb
528
+ - spec/rails_app/config/initializers/teabag.rb
529
+ - spec/rails_app/config/initializers/wrap_parameters.rb
530
+ - spec/rails_app/config/locales/en.yml
531
+ - spec/rails_app/config/routes.rb
532
+ - spec/rails_app/db/seeds.rb
533
+ - spec/rails_app/lib/assets/.gitkeep
534
+ - spec/rails_app/lib/tasks/.gitkeep
535
+ - spec/rails_app/log/.gitkeep
536
+ - spec/rails_app/public/404.html
537
+ - spec/rails_app/public/422.html
538
+ - spec/rails_app/public/500.html
539
+ - spec/rails_app/public/robots.txt
540
+ - spec/rails_app/script/rails
541
+ - spec/rails_app/tmp/.gitkeep
542
+ - spec/rails_app/vendor/assets/stylesheets/.gitkeep
543
+ - spec/rails_app/vendor/plugins/.gitkeep
544
+ - spec/spec_helper.rb
545
+ - spec/support/active_model_lint_example.rb
546
+ - spec/teabag_env.rb
547
+ - vendor/assets/images/sitemap/has-changes.png
548
+ - vendor/assets/images/sitemap/published.png
549
+ - vendor/assets/images/sitemap/unpublished.png
550
+ - vendor/assets/images/toolbar/metadata.png
551
+ - vendor/assets/images/toolbar/publish.png
552
+ - vendor/assets/images/toolbar/redirect.png
553
+ - vendor/assets/images/toolbar/sitemap.png
554
+ - vendor/assets/images/toolbar/snippets.png
555
+ - vendor/assets/images/toolbar/unpublished.png
556
+ - vendor/assets/images/tree-line-horizontal-last.png
557
+ - vendor/assets/images/tree-line-horizontal.png
558
+ - vendor/assets/images/tree-line-vertical.png
559
+ - vendor/assets/javascripts/jquery-serializeObject.js
560
+ - vendor/assets/javascripts/jquery.to-json.js
561
+ - vendor/assets/javascripts/jquery.ui.nestedSortable-1.3.4.js
562
+ - vendor/assets/javascripts/moment-1.6.2.js
563
+ - vendor/assets/javascripts/underscore-1.3.1.js
564
+ - vendor/assets/stylesheets/jasmine-modified.css
565
+ homepage: ''
566
+ licenses: []
567
+ post_install_message:
568
+ rdoc_options: []
569
+ require_paths:
570
+ - lib
571
+ required_ruby_version: !ruby/object:Gem::Requirement
572
+ none: false
573
+ requirements:
574
+ - - ! '>='
575
+ - !ruby/object:Gem::Version
576
+ version: '0'
577
+ segments:
578
+ - 0
579
+ hash: -2539754313290137300
580
+ required_rubygems_version: !ruby/object:Gem::Requirement
581
+ none: false
582
+ requirements:
583
+ - - ! '>='
584
+ - !ruby/object:Gem::Version
585
+ version: '0'
586
+ segments:
587
+ - 0
588
+ hash: -2539754313290137300
589
+ requirements: []
590
+ rubyforge_project:
591
+ rubygems_version: 1.8.23
592
+ signing_key:
593
+ specification_version: 3
594
+ summary: A simple CMS based on the Mercury editor
595
+ test_files:
596
+ - features/create.feature
597
+ - features/delete.feature
598
+ - features/edit.feature
599
+ - features/publishing.feature
600
+ - features/redirects.feature
601
+ - features/step_definitions/mercury_steps.rb
602
+ - features/step_definitions/page_steps.rb
603
+ - features/step_definitions/web_steps.rb
604
+ - features/support/env.rb
605
+ - features/support/mercury_content.rb
606
+ - features/support/mercury_selectors.rb
607
+ - features/support/paths.rb
608
+ - features/support/selectors.rb
609
+ - features/support/utils.rb
610
+ - features/versioning.feature
611
+ - features/visit.feature
612
+ - spec/fixtures/rails.png
613
+ - spec/helpers/regions_helper_spec.rb
614
+ - spec/javascripts/controllers/editor_spec.coffee
615
+ - spec/javascripts/models/image_geometry_spec.coffee
616
+ - spec/javascripts/models/image_spec.coffee
617
+ - spec/javascripts/models/page_spec.coffee
618
+ - spec/javascripts/models/path_spec.coffee
619
+ - spec/javascripts/models/version_spec.coffee
620
+ - spec/javascripts/panels/images/selection_spec.coffee
621
+ - spec/javascripts/panels/sitemap/panel_spec.coffee
622
+ - spec/javascripts/panels/sitemap/sortable_spec.coffee
623
+ - spec/javascripts/panels/sitemap/tree_spec.coffee
624
+ - spec/javascripts/spec_helper.coffee
625
+ - spec/javascripts/support/stubs.coffee
626
+ - spec/lib/page_responder_spec.rb
627
+ - spec/lib/regions_proxy_spec.rb
628
+ - spec/models/image_spec.rb
629
+ - spec/models/page_spec.rb
630
+ - spec/models/path_spec.rb
631
+ - spec/models/region_spec.rb
632
+ - spec/models/snippet_spec.rb
633
+ - spec/models/version_spec.rb
634
+ - spec/rails_app/.gitignore
635
+ - spec/rails_app/Rakefile
636
+ - spec/rails_app/app/assets/images/rails.png
637
+ - spec/rails_app/app/assets/javascripts/application.js
638
+ - spec/rails_app/app/assets/stylesheets/application.css
639
+ - spec/rails_app/app/cells/example/display.html.haml
640
+ - spec/rails_app/app/cells/example/options.html.haml
641
+ - spec/rails_app/app/cells/example_cell.rb
642
+ - spec/rails_app/app/cells/image_example/display.html.haml
643
+ - spec/rails_app/app/cells/image_example/options.html.haml
644
+ - spec/rails_app/app/cells/image_example_cell.rb
645
+ - spec/rails_app/app/controllers/application_controller.rb
646
+ - spec/rails_app/app/helpers/application_helper.rb
647
+ - spec/rails_app/app/mailers/.gitkeep
648
+ - spec/rails_app/app/models/.gitkeep
649
+ - spec/rails_app/app/views/cmsimple/_snippet_list.html.haml
650
+ - spec/rails_app/app/views/cmsimple/templates/default.html.haml
651
+ - spec/rails_app/app/views/cmsimple/templates/test.html.haml
652
+ - spec/rails_app/app/views/layouts/application.html.haml
653
+ - spec/rails_app/config.ru
654
+ - spec/rails_app/config/application.rb
655
+ - spec/rails_app/config/boot.rb
656
+ - spec/rails_app/config/database.example.yml
657
+ - spec/rails_app/config/database.travis.yml
658
+ - spec/rails_app/config/environment.rb
659
+ - spec/rails_app/config/environments/development.rb
660
+ - spec/rails_app/config/environments/test.rb
661
+ - spec/rails_app/config/initializers/backtrace_silencers.rb
662
+ - spec/rails_app/config/initializers/cells.rb
663
+ - spec/rails_app/config/initializers/cmsimple.rb
664
+ - spec/rails_app/config/initializers/inflections.rb
665
+ - spec/rails_app/config/initializers/mime_types.rb
666
+ - spec/rails_app/config/initializers/secret_token.rb
667
+ - spec/rails_app/config/initializers/session_store.rb
668
+ - spec/rails_app/config/initializers/teabag.rb
669
+ - spec/rails_app/config/initializers/wrap_parameters.rb
670
+ - spec/rails_app/config/locales/en.yml
671
+ - spec/rails_app/config/routes.rb
672
+ - spec/rails_app/db/seeds.rb
673
+ - spec/rails_app/lib/assets/.gitkeep
674
+ - spec/rails_app/lib/tasks/.gitkeep
675
+ - spec/rails_app/log/.gitkeep
676
+ - spec/rails_app/public/404.html
677
+ - spec/rails_app/public/422.html
678
+ - spec/rails_app/public/500.html
679
+ - spec/rails_app/public/robots.txt
680
+ - spec/rails_app/script/rails
681
+ - spec/rails_app/tmp/.gitkeep
682
+ - spec/rails_app/vendor/assets/stylesheets/.gitkeep
683
+ - spec/rails_app/vendor/plugins/.gitkeep
684
+ - spec/spec_helper.rb
685
+ - spec/support/active_model_lint_example.rb
686
+ - spec/teabag_env.rb