comatose-rubyisbeautiful 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (192) hide show
  1. data/CHANGELOG +198 -0
  2. data/Gemfile +29 -0
  3. data/Gemfile.lock +130 -0
  4. data/INSTALL +14 -0
  5. data/LICENSE +20 -0
  6. data/Manifest +188 -0
  7. data/README +0 -0
  8. data/README.markdown +113 -0
  9. data/Rakefile +5 -0
  10. data/SPECS +61 -0
  11. data/app/controllers/application_controller.rb +3 -0
  12. data/app/controllers/comatose/admin_controller.rb +425 -0
  13. data/app/controllers/comatose/application_controller.rb +30 -0
  14. data/app/controllers/comatose/base_controller.rb +167 -0
  15. data/app/helpers/application_helper.rb +2 -0
  16. data/app/helpers/comatose/admin_helper.rb +78 -0
  17. data/app/helpers/comatose/application_helper.rb +2 -0
  18. data/app/helpers/comatose/base_helper.rb +5 -0
  19. data/app/models/comatose/page.rb +166 -0
  20. data/app/views/comatose/admin/_form.html.erb +108 -0
  21. data/app/views/comatose/admin/_page_list_item.html.erb +62 -0
  22. data/app/views/comatose/admin/delete.html.erb +18 -0
  23. data/app/views/comatose/admin/edit.html.erb +5 -0
  24. data/app/views/comatose/admin/index.html.erb +34 -0
  25. data/app/views/comatose/admin/new.html.erb +5 -0
  26. data/app/views/comatose/admin/reorder.html.erb +30 -0
  27. data/app/views/comatose/admin/versions.html.erb +40 -0
  28. data/app/views/layouts/application.html.erb +14 -0
  29. data/app/views/layouts/comatose/admin.html.erb +44 -0
  30. data/app/views/layouts/comatose/base.html.erb +14 -0
  31. data/comatose-rubyisbeautiful.gemspec +65 -0
  32. data/config/environment.rb +5 -0
  33. data/config/environments/development.rb +26 -0
  34. data/config/environments/production.rb +49 -0
  35. data/config/environments/test.rb +35 -0
  36. data/config/locales/en.yml +5 -0
  37. data/config.ru +4 -0
  38. data/db/seeds.rb +11 -0
  39. data/lib/comatose/configuration.rb +87 -0
  40. data/lib/comatose/drop.rb +45 -0
  41. data/lib/comatose/engine.rb +28 -0
  42. data/lib/comatose/filters/inline_filter.rb +15 -0
  43. data/lib/comatose/filters/timeago_filter.rb +14 -0
  44. data/lib/comatose/filters/translation_filter.rb +11 -0
  45. data/lib/comatose/locale_constraint.rb +15 -0
  46. data/lib/comatose/logger.rb +10 -0
  47. data/lib/comatose/page_wrapper.rb +147 -0
  48. data/lib/comatose/processing_context.rb +103 -0
  49. data/lib/comatose/routes.rb +70 -0
  50. data/lib/comatose/tasks/admin.rb +57 -0
  51. data/lib/comatose/tasks/data.rb +79 -0
  52. data/lib/comatose/tasks/setup.rb +118 -0
  53. data/lib/comatose/text_filters.rb +148 -0
  54. data/lib/comatose/version.rb +9 -0
  55. data/lib/comatose.rb +88 -0
  56. data/lib/generators/comatose/USAGE +7 -0
  57. data/lib/generators/comatose/comatose_generator.rb +37 -0
  58. data/lib/generators/comatose/templates/comatose.rb +33 -0
  59. data/lib/generators/comatose/templates/migration.erb +32 -0
  60. data/lib/generators/comatose/templates/seeds.erb +2 -0
  61. data/lib/support/class_options.rb +36 -0
  62. data/lib/support/inline_rendering.rb +48 -0
  63. data/lib/support/route_mapper.rb +51 -0
  64. data/lib/tasks/comatose.rake +9 -0
  65. data/lib/text_filters/markdown.rb +14 -0
  66. data/lib/text_filters/markdown_smartypants.rb +15 -0
  67. data/lib/text_filters/none.rb +8 -0
  68. data/lib/text_filters/rdoc.rb +13 -0
  69. data/lib/text_filters/simple.rb +8 -0
  70. data/lib/text_filters/textile.rb +15 -0
  71. data/public/404.html +26 -0
  72. data/public/422.html +26 -0
  73. data/public/500.html +26 -0
  74. data/public/favicon.ico +0 -0
  75. data/public/images/comatose/collapsed.gif +0 -0
  76. data/public/images/comatose/expanded.gif +0 -0
  77. data/public/images/comatose/no-children.gif +0 -0
  78. data/public/images/comatose/page.gif +0 -0
  79. data/public/images/comatose/rails.png +0 -0
  80. data/public/images/comatose/spinner.gif +0 -0
  81. data/public/images/comatose/title-hover-bg.gif +0 -0
  82. data/public/javascripts/comatose/admin.js +406 -0
  83. data/public/javascripts/comatose/application.js +2 -0
  84. data/public/javascripts/comatose/dragdrop.js +974 -0
  85. data/public/javascripts/editor.js +452 -0
  86. data/public/javascripts/jquery/GPL-LICENSE.txt +278 -0
  87. data/public/javascripts/jquery/MIT-LICENSE.txt +20 -0
  88. data/public/javascripts/jquery/README +67 -0
  89. data/public/javascripts/jquery/jquery.js +11 -0
  90. data/public/javascripts/jquery/jquery.ui.draggable.js +1 -0
  91. data/public/javascripts/jquery/jquery.ui.js +1 -0
  92. data/public/javascripts/jquery/jquery.ui.resizable.js +1 -0
  93. data/public/javascripts/jquery/jquery.ui.sortable.js +1 -0
  94. data/public/javascripts/wymeditor/iframe/default/lbl-blockquote.png +0 -0
  95. data/public/javascripts/wymeditor/iframe/default/lbl-h1.png +0 -0
  96. data/public/javascripts/wymeditor/iframe/default/lbl-h2.png +0 -0
  97. data/public/javascripts/wymeditor/iframe/default/lbl-h3.png +0 -0
  98. data/public/javascripts/wymeditor/iframe/default/lbl-h4.png +0 -0
  99. data/public/javascripts/wymeditor/iframe/default/lbl-h5.png +0 -0
  100. data/public/javascripts/wymeditor/iframe/default/lbl-h6.png +0 -0
  101. data/public/javascripts/wymeditor/iframe/default/lbl-p.png +0 -0
  102. data/public/javascripts/wymeditor/iframe/default/lbl-pre.png +0 -0
  103. data/public/javascripts/wymeditor/iframe/default/wymiframe.css +90 -0
  104. data/public/javascripts/wymeditor/iframe/default/wymiframe.html +26 -0
  105. data/public/javascripts/wymeditor/jquery.wymeditor.js +4688 -0
  106. data/public/javascripts/wymeditor/jquery.wymeditor.min.js +1 -0
  107. data/public/javascripts/wymeditor/jquery.wymeditor.pack.js +1 -0
  108. data/public/javascripts/wymeditor/lang/bg.js +45 -0
  109. data/public/javascripts/wymeditor/lang/ca.js +45 -0
  110. data/public/javascripts/wymeditor/lang/cs.js +45 -0
  111. data/public/javascripts/wymeditor/lang/cy.js +45 -0
  112. data/public/javascripts/wymeditor/lang/de.js +45 -0
  113. data/public/javascripts/wymeditor/lang/en.js +45 -0
  114. data/public/javascripts/wymeditor/lang/es.js +45 -0
  115. data/public/javascripts/wymeditor/lang/fa.js +46 -0
  116. data/public/javascripts/wymeditor/lang/fi.js +44 -0
  117. data/public/javascripts/wymeditor/lang/fr.js +45 -0
  118. data/public/javascripts/wymeditor/lang/gl.js +45 -0
  119. data/public/javascripts/wymeditor/lang/he.js +45 -0
  120. data/public/javascripts/wymeditor/lang/hr.js +45 -0
  121. data/public/javascripts/wymeditor/lang/hu.js +45 -0
  122. data/public/javascripts/wymeditor/lang/it.js +45 -0
  123. data/public/javascripts/wymeditor/lang/nb.js +45 -0
  124. data/public/javascripts/wymeditor/lang/nl.js +45 -0
  125. data/public/javascripts/wymeditor/lang/nn.js +45 -0
  126. data/public/javascripts/wymeditor/lang/pl.js +45 -0
  127. data/public/javascripts/wymeditor/lang/pt-br.js +45 -0
  128. data/public/javascripts/wymeditor/lang/pt.js +45 -0
  129. data/public/javascripts/wymeditor/lang/ru.js +45 -0
  130. data/public/javascripts/wymeditor/lang/sv.js +45 -0
  131. data/public/javascripts/wymeditor/lang/tr.js +45 -0
  132. data/public/javascripts/wymeditor/lang/zh_cn.js +47 -0
  133. data/public/javascripts/wymeditor/plugins/embed/jquery.wymeditor.embed.js +52 -0
  134. data/public/javascripts/wymeditor/plugins/fullscreen/icon_fullscreen.gif +0 -0
  135. data/public/javascripts/wymeditor/plugins/fullscreen/jquery.wymeditor.fullscreen.js +127 -0
  136. data/public/javascripts/wymeditor/plugins/hovertools/jquery.wymeditor.hovertools.js +57 -0
  137. data/public/javascripts/wymeditor/plugins/resizable/jquery.wymeditor.resizable.js +91 -0
  138. data/public/javascripts/wymeditor/plugins/resizable/readme.txt +124 -0
  139. data/public/javascripts/wymeditor/plugins/tidy/README +19 -0
  140. data/public/javascripts/wymeditor/plugins/tidy/jquery.wymeditor.tidy.js +82 -0
  141. data/public/javascripts/wymeditor/plugins/tidy/tidy.php +36 -0
  142. data/public/javascripts/wymeditor/plugins/tidy/wand.png +0 -0
  143. data/public/javascripts/wymeditor/skins/compact/icons.png +0 -0
  144. data/public/javascripts/wymeditor/skins/compact/skin.css +134 -0
  145. data/public/javascripts/wymeditor/skins/compact/skin.js +35 -0
  146. data/public/javascripts/wymeditor/skins/default/icons.png +0 -0
  147. data/public/javascripts/wymeditor/skins/default/skin.css +133 -0
  148. data/public/javascripts/wymeditor/skins/default/skin.js +40 -0
  149. data/public/javascripts/wymeditor/skins/minimal/images/bg.header.gif +0 -0
  150. data/public/javascripts/wymeditor/skins/minimal/images/bg.selector.silver.gif +0 -0
  151. data/public/javascripts/wymeditor/skins/minimal/images/bg.wymeditor.png +0 -0
  152. data/public/javascripts/wymeditor/skins/minimal/images/icons.silver.gif +0 -0
  153. data/public/javascripts/wymeditor/skins/minimal/skin.css +131 -0
  154. data/public/javascripts/wymeditor/skins/minimal/skin.js +30 -0
  155. data/public/javascripts/wymeditor/skins/silver/COPYING +674 -0
  156. data/public/javascripts/wymeditor/skins/silver/README +27 -0
  157. data/public/javascripts/wymeditor/skins/silver/images/bg.header.gif +0 -0
  158. data/public/javascripts/wymeditor/skins/silver/images/bg.selector.silver.gif +0 -0
  159. data/public/javascripts/wymeditor/skins/silver/images/bg.wymeditor.png +0 -0
  160. data/public/javascripts/wymeditor/skins/silver/images/icons.silver.gif +0 -0
  161. data/public/javascripts/wymeditor/skins/silver/skin.css +297 -0
  162. data/public/javascripts/wymeditor/skins/silver/skin.js +61 -0
  163. data/public/javascripts/wymeditor/skins/twopanels/icons.png +0 -0
  164. data/public/javascripts/wymeditor/skins/twopanels/skin.css +134 -0
  165. data/public/javascripts/wymeditor/skins/twopanels/skin.js +39 -0
  166. data/public/javascripts/wymeditor/skins/wymeditor_icon.png +0 -0
  167. data/public/javascripts/wymeditor.tar +0 -0
  168. data/public/robots.txt +5 -0
  169. data/public/stylesheets/comatose/admin.css +488 -0
  170. data/public/stylesheets/comatose/base.css +9 -0
  171. data/spec/controllers/comatose/base_controller_spec.rb +14 -0
  172. data/spec/controllers/foos_controller_spec.rb +5 -0
  173. data/spec/helpers/foos_helper_spec.rb +15 -0
  174. data/spec/routing/base_routing_spec.rb +12 -0
  175. data/spec/spec_helper.rb +27 -0
  176. data/test/behaviors.rb +106 -0
  177. data/test/fixtures/comatose_pages.yml +96 -0
  178. data/test/functional/comatose_admin_controller_test.rb +114 -0
  179. data/test/functional/comatose_controller_test.rb +45 -0
  180. data/test/integration/comatose_routing_test.rb +17 -0
  181. data/test/javascripts/test.html +26 -0
  182. data/test/javascripts/test_runner.js +307 -0
  183. data/test/old_test_helper.rb +43 -0
  184. data/test/performance/browsing_test.rb +9 -0
  185. data/test/test_helper.rb +13 -0
  186. data/test/unit/class_options_test.rb +52 -0
  187. data/test/unit/comatose_page_test.rb +128 -0
  188. data/test/unit/processing_context_test.rb +108 -0
  189. data/test/unit/text_filters_test.rb +52 -0
  190. data.tar.gz.sig +1 -0
  191. metadata +379 -0
  192. metadata.gz.sig +0 -0
data/CHANGELOG ADDED
@@ -0,0 +1,198 @@
1
+ - version: 3.0.0 (beta)
2
+ - Basic port to Rails 3
3
+
4
+ - version: 2.0.5 (beta)
5
+ - Added configuration option for importing/exporting pages from admin: `config.allow_import_export = true|false`, `true` is the default at the moment
6
+ - Reworked the UI for import/export a little bit
7
+ - Added LINK option to `test_harness` rake task to symlink the comatose plugin directory instead of copying it
8
+ - Updated manifest and gemspec
9
+
10
+ - version: 2.0.4 (beta)
11
+ - Added a rake task to generate a test_harness (for use in development). From the comatose directory, run: `rake test_harness TARGET=../comatose_test_harness`. This will create an empty rails app, copy this working folder over to vendor/plugins/comatose, install acts_as_list and acts_as_tree, and run any setup needed, like script/generate comatose_migration and rake db:migrate.
12
+ - Bugfix in tasks/comatose.rake
13
+ - Comatose migration generator now adds the default comatose routes (`map.comatose_admin` and `map.comatose_root ''`) to the top of the routes.rb file. POSSIBLE GOTCHA: `map.comatose_root` should be moved to the bottom of the routes file!
14
+
15
+ - version: 2.0.3 (beta)
16
+ - Moving from alpha to beta!
17
+ - staugaard: Added import and export of pages in admin controller
18
+
19
+ - version: 2.0.2 (alpha)
20
+ - staugaard: Added "unloadable" to ComatoseController (problems with ActsAsAuthenticated-integration similar to http://tinyurl.com/6caz5r)
21
+ - jcnetdev: Tweaking gemspec
22
+
23
+ - version: 2.0.1 (alpha)
24
+ - Merged changes from andreas (http://github.com/andreas)...
25
+ - andreas: Fixed comatose:admin:customize raketask (seems plugin_path was wrong, and made use of mkdir_p to avoid "File exists"-errors.)
26
+ - andreas: Added "unloadable" to ComatoseAdminController (problems with ActsAsAuthenticated-integration similar to http://tinyurl.com/6caz5r)
27
+
28
+ - version: 2.0 (uber alpha)
29
+ - Removed controllers, models, and helpers from Comatose module. It was causing odd issues
30
+ - Initial support for Rails 2.1(ish)
31
+ - Fixed up slug generation to remove leading and trailing whitespace
32
+ - Moved to github
33
+ - Changed all the .rhtml files to .html.erb
34
+ - Adding support for use as a gem plugin
35
+
36
+ - version: 0.8.1
37
+ changes:
38
+ - All includes and helpers are loaded at the end of the ComatoseController and ComatoseAdminController classes
39
+ - Fixed the ComatoseController#show action to correctly send an HTTP status of 404 even if it finds, and renders, a page at '/404'
40
+ - Fixed the migration to default a page's full_path to '' instead of null
41
+ - Formalized ComatoseDrops. Use Comatose.define_drop "drop_name", do ... end. Every method within that block should return a value for use with a Liquid and/or ERB template. Usage in a comatose page: {{ drop_name.def_name }}
42
+ - Added support for a config.after_setup block that gets called after Comatose is setup (in the Dispatcher#to_prepare event)
43
+ - Added HTML comment output for calls that result in a method_missing on the ProcessingContext
44
+ - Updated page tree to remember collapsed/expanded nodes between page visits
45
+ - Fixed some errors that were caused by null revisions (usually happened after initial installation)
46
+ - Added my javascript test_runner lib for testing slugs generated by JavaScript. More JS tests to come.
47
+ - Bugfix #8640 (rubyforge bug)
48
+
49
+ - version: 0.8
50
+ changes:
51
+ - Now ONLY supports Rails 1.2 (not even tested in Rails 1.1)
52
+ - New configuration system
53
+ - DEFER_COMATOSE_LOAD is gone -- Using Dispatcher.to_prepare replaces it
54
+ - You no longer extend the base classes to add functionality. You configure Comatose to include modules and send it symbols for providing said functionality. e.g. Comatose.config.includes << :authentiation_system; Comatose.config.authorization = :require_login
55
+ - The automatic loading of RAILS_ROOT/lib/comatose/*.rb files is NO longer supported.
56
+ - In addition to mapping comatose_root in your routes.rb, you'll want to map.comatose_admin as well
57
+
58
+ - version: 0.7.1
59
+ changes:
60
+ - A new DEFER_COMATOSE_LOAD flag is defined in the init.rb -- if you manually set it to `true`, you'll need to call Comatose.load in your environment.rb, but this should combat a lot of the plugin incompatiblities Coamtose has been suffering from
61
+ - The revisions link on the edit page is now only shown if you have revisions
62
+
63
+ - version: 0.7
64
+ changes:
65
+ - Finally, page versioning via Rick Olsen's excellent acts_as_versioned! (included)
66
+ - Tries to load any text filters, tags/drops, or extensions under RAILS_ROOT/lib/comatose/ (actually it just `require`'s every .rb file in that folder) so you no longer need to muck around with adding stuff in your environment.rb file
67
+ - Previewing a page no longer updates it
68
+
69
+ - version: 0.6.9
70
+ changes:
71
+ - The page context now supports page.next, page.last, page.first_child, page.last_child
72
+
73
+ - version: 0.6.8
74
+ changes:
75
+ - Bugfix ComatoseController now references plugin_layout_path correctly from the class method
76
+ - Some HTML/CSS/JS cleanup on the administration view -- should degrade to straight HTML pretty well now
77
+
78
+ - version: 0.6.7
79
+ changes:
80
+ - Removed Comatose::Page.record_timestamps = false -- it was breaking the magic. Override the record_timestamp methds instead
81
+ - AdminController was still referencing, in a few places, ComatoseController for page cache expiration
82
+
83
+ - version: 0.6.6
84
+ changes:
85
+ - The cache expiration code is now on the ComatoseAdminController, as it should have been in the first place
86
+ - Changed internal references from root_paths or cms_root to mount_point, since that's what I've started calling them... And it seems to make the most sense
87
+ - Cleaned up the class_options code
88
+ - Added initial support for pre-caching pages (generating static HTML), there's not a UI element for it yet, however
89
+ - Changes to content-type handling:
90
+ - Removed Comatose::Options.force_utf8
91
+ - Added Support for Comatose::Options.content_type = "utf-8" This will affect the HTTP headers, as well as the META tag in the admin views
92
+ - Changed this log file to yaml format. And yes, there's a method to my madness... Wait for it.
93
+
94
+ - version: 0.6.5
95
+ changes:
96
+ - Fixed a bug in comatose_admin.js -- if you hid any of the meta_fields it would barf
97
+
98
+ - version: 0.6.4
99
+ changes:
100
+ - Fixed a typo in comatose_admin_customize.rhtml
101
+ - Controller now keeps all information about mount points not just the :root (uri) and :index (page tree)
102
+
103
+ - version: 0.6.3
104
+ changes:
105
+ - Fixed the customization tasks
106
+ - Added support for the new Routes system in Edge Rails
107
+ - Removed the getting started guide -- it's now available at: http://comatose.rubyforge.org/getting-started-guide
108
+
109
+ - version: 0.6.2
110
+ changes:
111
+ - Fixed an issue with named_routes
112
+
113
+ - version: 0.6.1
114
+ changes:
115
+ - Fixed a migration issue
116
+
117
+ - version: 0.6
118
+ changes:
119
+ - Split out the admin from the ComatoseController into a new ComatoseAdminController class.
120
+ - Moved controllers/model into Comatose module, now ComatoseController extends Comatose::Controller, and ComatoseAdminController extends Comatose::AdminController. And they extend your ApplicationController ComatoseController
121
+ - Created a Comatose::Options class for configuration.
122
+ - Add Liquid support to Text Processing -- made it the default processor.
123
+ - Added support for adding 'tags' to processing context. They are Liquid Drops when using Liquid for processing, use like objects/methods when in ERB
124
+ - Changed comatose.css, comatose.js, and app/views/comatose to comatose_admin.css, comatose_admin.js, and app/views/comatose_admin
125
+ - Changed the names of some of the internals... ComatoseBinding is now Comatose::ProcessingContext, ComatosePageWrapper is Comatose::PageWrapper
126
+ - Bugfix: PostgreSQL need the scope to be a symbol instead of a string, eh? Fine -- it is so. (Thanks to Lyle for the fix)
127
+ - Added support for named routes... Anytime you use map.comatose_*, if * isn't 'root', it will use it as a named route
128
+
129
+ - version: 0.5
130
+ changes:
131
+ - Added support for parameterized inline rendering of comatose pages. Uselike a partial: render :comatose=>'path', :locals=>{:username=>'stuff'} the locals hash will be sent to the ERB context for use when rendering the page.
132
+ - Support for a Hash ERB context exists all the way down to the TextFilters.
133
+ - Initial support for fragment caching for inline rendering. It's turned off by default. Send :use_cache=>true in the render :comatose=>'' tag to use it. Caching will also not be used if you are sending the page parameters via the :locals hash. Oh, and don't forget to set your ActionController::Base.fragment_cache_store
134
+ - Return reloadable? false for the ComatoseController by default... This should prevent the development mode hassles people have been having.
135
+ - Updated data migration tasks to better support nested pages.
136
+ - comatose:data:export FROM=page_path TO_FILE=file_path
137
+ - comatose:data:import TO=page_path FROM_FILE=file_path
138
+ - FROM_FILE and TO_FILE default to 'db/comatose-pages.yml'
139
+ - FROM and TO default to '', the page tree root
140
+ - Fixed 'Clear Page Cache' bug -- it didn't handle the page root being an array like it should have.
141
+ - Removed :page_title and :page_keywords from session
142
+ - Updated the rails_version in the about.yml to 1.1+ -- just because I haven't tested it on anything less than that. If you have, and it works, let me know!
143
+ - Adds the utf8 header to all output (text/html; charset=utf-8). Use ComatoseController.force_utf8 = false to disable.
144
+ - Initial support for page reordering (via AJAX)
145
+ - Updated the administration look-n-feel.
146
+
147
+ - version: 0.4
148
+ changes:
149
+ - Added keywords field
150
+ - Abstracted text filters into a micro plugin structure, default support for Textile, Markdown, and RDoc
151
+ - It will only show the filters as a choice in the admin if you have the necessary libraries for the filters to function.
152
+ - Added ComatoseController.hidden_meta_fields = [] as a way of showing/hiding the meta fields
153
+ - The comatose_migration generator now accepts an --upgrade flag which will create a micro migration that only has the new fields in it
154
+ - get_root_page will now support returning an array of root pages to show in the admin page list
155
+ - Created some initial tests... (Can you tell I'm not a test _first_ guy?)
156
+ - Inline rendering now handles :silent flag -- it will just return and empty string if :silent=>true
157
+ - Modified all the internal references to ComatoseController to self.class.The views reference controller.class. Redirects redirect to :controller=>self.controller_name or controller.controller_name (action and view respectively). This show allow you to sub-class the ComatoseController.
158
+
159
+ - version: 0.3.1
160
+ changes:
161
+ - Abstracted retrieval of root comatose page to allow multi-user/limited view support
162
+ - Added redcloth so there are now no external dependencies... Other than Rails, of course ;-)
163
+ - DRYed up the folder structure a bit
164
+ - Added a Rakefile
165
+ - Made this ChangeLog more human-readable
166
+
167
+ - version: 0.3
168
+ changes:
169
+ - Added support for running entirely from the plugin
170
+ - Added support for hierarchal pages
171
+ - Pages are pre-filtered by ERB, therefor ERB can generate Textile
172
+ - Comatose binding object
173
+ - Used with ERB context to protect AR model
174
+ - Has a few helper methods too: link, include
175
+ - Migration updated
176
+ - rendered_body removed, not much sense with ERB pre-processing and page-caching
177
+ - full_path added for easy access to child pages
178
+ - position, and author fields for future use
179
+ - Administration Updates
180
+ - Page listing is now a collapsible tree view
181
+ - Page edit supports previewing the content
182
+ - Preview textile only for new pages, full ERB previews for existing pages
183
+ - ERB errors show up as AR errors
184
+ - Shows Title and Body fields by default, clicking 'more...' makes Slug and Parent visible
185
+ - CSS updates to lighten it up a bit
186
+
187
+ - version: 0.2
188
+ changes:
189
+ - Added support for rendering pages inline
190
+ - Added support for expiring entire page cache
191
+ - Added support for properly expiring pages when they are modified or deleted
192
+ - Update stylesheets, generally made it usable
193
+ - Fixed #new action
194
+ - Minor tweaks
195
+
196
+ - version: 0.1
197
+ changes:
198
+ - First mostly-working version
data/Gemfile ADDED
@@ -0,0 +1,29 @@
1
+ source 'http://rubygems.org'
2
+
3
+ #gemspec
4
+
5
+ #gem 'devise'
6
+ #gem 'haml'
7
+ #gem "oa-oauth", :require => "omniauth/oauth"
8
+ #gem 'oa-openid', :require => 'omniauth/openid'
9
+ gem 'rails', '3.0.9'
10
+ gem 'RedCloth'
11
+ gem 'liquid'
12
+ gem 'acts_as_versioned', :require => 'acts_as_versioned'
13
+ gem 'acts_as_tree_rails3'
14
+ gem 'acts_as_list-rails3', :require => 'acts_as_list'
15
+
16
+ group :development, :test do
17
+ # gem 'jeweler'
18
+ gem 'echoe'
19
+ #gem 'autotest'
20
+ #gem 'webrat'
21
+ #gem 'gherkin', '2.1.5'
22
+ #gem 'cucumber-rails', '>=0.3.2'
23
+ #gem 'cucumber', '>=0.8.5'
24
+ gem "rspec-rails", "~> 2.6"
25
+ gem 'ruby-debug19', :require => 'ruby-debug'
26
+ gem 'sqlite3'
27
+ gem 'ruby-mysql'
28
+ end
29
+
data/Gemfile.lock ADDED
@@ -0,0 +1,130 @@
1
+ GEM
2
+ remote: http://rubygems.org/
3
+ specs:
4
+ RedCloth (4.2.7)
5
+ abstract (1.0.0)
6
+ actionmailer (3.0.9)
7
+ actionpack (= 3.0.9)
8
+ mail (~> 2.2.19)
9
+ actionpack (3.0.9)
10
+ activemodel (= 3.0.9)
11
+ activesupport (= 3.0.9)
12
+ builder (~> 2.1.2)
13
+ erubis (~> 2.6.6)
14
+ i18n (~> 0.5.0)
15
+ rack (~> 1.2.1)
16
+ rack-mount (~> 0.6.14)
17
+ rack-test (~> 0.5.7)
18
+ tzinfo (~> 0.3.23)
19
+ activemodel (3.0.9)
20
+ activesupport (= 3.0.9)
21
+ builder (~> 2.1.2)
22
+ i18n (~> 0.5.0)
23
+ activerecord (3.0.9)
24
+ activemodel (= 3.0.9)
25
+ activesupport (= 3.0.9)
26
+ arel (~> 2.0.10)
27
+ tzinfo (~> 0.3.23)
28
+ activeresource (3.0.9)
29
+ activemodel (= 3.0.9)
30
+ activesupport (= 3.0.9)
31
+ activesupport (3.0.9)
32
+ acts_as_list-rails3 (0.0.4)
33
+ acts_as_tree_rails3 (0.1.0)
34
+ acts_as_versioned (0.6.0)
35
+ activerecord (~> 3.0.0.beta4)
36
+ allison (2.0.3)
37
+ archive-tar-minitar (0.5.2)
38
+ arel (2.0.10)
39
+ builder (2.1.2)
40
+ columnize (0.3.4)
41
+ diff-lcs (1.1.2)
42
+ echoe (4.6.1)
43
+ allison (>= 2.0.3)
44
+ gemcutter (>= 0.7.0)
45
+ rake (>= 0.9.2)
46
+ rdoc (>= 3.6.1)
47
+ rubyforge (>= 2.0.4)
48
+ erubis (2.6.6)
49
+ abstract (>= 1.0.0)
50
+ gemcutter (0.7.0)
51
+ i18n (0.5.0)
52
+ json_pure (1.5.3)
53
+ linecache19 (0.5.12)
54
+ ruby_core_source (>= 0.1.4)
55
+ liquid (2.2.2)
56
+ mail (2.2.19)
57
+ activesupport (>= 2.3.6)
58
+ i18n (>= 0.4.0)
59
+ mime-types (~> 1.16)
60
+ treetop (~> 1.4.8)
61
+ mime-types (1.16)
62
+ polyglot (0.3.1)
63
+ rack (1.2.3)
64
+ rack-mount (0.6.14)
65
+ rack (>= 1.0.0)
66
+ rack-test (0.5.7)
67
+ rack (>= 1.0)
68
+ rails (3.0.9)
69
+ actionmailer (= 3.0.9)
70
+ actionpack (= 3.0.9)
71
+ activerecord (= 3.0.9)
72
+ activeresource (= 3.0.9)
73
+ activesupport (= 3.0.9)
74
+ bundler (~> 1.0)
75
+ railties (= 3.0.9)
76
+ railties (3.0.9)
77
+ actionpack (= 3.0.9)
78
+ activesupport (= 3.0.9)
79
+ rake (>= 0.8.7)
80
+ rdoc (~> 3.4)
81
+ thor (~> 0.14.4)
82
+ rake (0.9.2)
83
+ rdoc (3.8)
84
+ rspec (2.6.0)
85
+ rspec-core (~> 2.6.0)
86
+ rspec-expectations (~> 2.6.0)
87
+ rspec-mocks (~> 2.6.0)
88
+ rspec-core (2.6.4)
89
+ rspec-expectations (2.6.0)
90
+ diff-lcs (~> 1.1.2)
91
+ rspec-mocks (2.6.0)
92
+ rspec-rails (2.6.1)
93
+ actionpack (~> 3.0)
94
+ activesupport (~> 3.0)
95
+ railties (~> 3.0)
96
+ rspec (~> 2.6.0)
97
+ ruby-debug-base19 (0.11.25)
98
+ columnize (>= 0.3.1)
99
+ linecache19 (>= 0.5.11)
100
+ ruby_core_source (>= 0.1.4)
101
+ ruby-debug19 (0.11.6)
102
+ columnize (>= 0.3.1)
103
+ linecache19 (>= 0.5.11)
104
+ ruby-debug-base19 (>= 0.11.19)
105
+ ruby-mysql (2.9.4)
106
+ ruby_core_source (0.1.5)
107
+ archive-tar-minitar (>= 0.5.2)
108
+ rubyforge (2.0.4)
109
+ json_pure (>= 1.1.7)
110
+ sqlite3 (1.3.3)
111
+ thor (0.14.6)
112
+ treetop (1.4.9)
113
+ polyglot (>= 0.3.1)
114
+ tzinfo (0.3.29)
115
+
116
+ PLATFORMS
117
+ ruby
118
+
119
+ DEPENDENCIES
120
+ RedCloth
121
+ acts_as_list-rails3
122
+ acts_as_tree_rails3
123
+ acts_as_versioned
124
+ echoe
125
+ liquid
126
+ rails (= 3.0.9)
127
+ rspec-rails (~> 2.6)
128
+ ruby-debug19
129
+ ruby-mysql
130
+ sqlite3
data/INSTALL ADDED
@@ -0,0 +1,14 @@
1
+
2
+ ======================
3
+ Welcome to Comatose!
4
+ ======================
5
+
6
+ From here you'll want to run:
7
+
8
+ $ rails generate comatose
9
+ $ rake db:migrate
10
+
11
+ Add the default comatose routes to the top of your routes.rb file:
12
+
13
+ routes_for_comatose
14
+ admin_routes_for_comatose
data/LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2006 Matthew McCray [ http://www.mattmccray.com ]
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sub-license, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NON-INFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/Manifest ADDED
@@ -0,0 +1,188 @@
1
+ CHANGELOG
2
+ Gemfile
3
+ Gemfile.lock
4
+ INSTALL
5
+ LICENSE
6
+ README
7
+ README.markdown
8
+ Rakefile
9
+ SPECS
10
+ app/controllers/application_controller.rb
11
+ app/controllers/comatose/admin_controller.rb
12
+ app/controllers/comatose/application_controller.rb
13
+ app/controllers/comatose/base_controller.rb
14
+ app/helpers/application_helper.rb
15
+ app/helpers/comatose/admin_helper.rb
16
+ app/helpers/comatose/application_helper.rb
17
+ app/helpers/comatose/base_helper.rb
18
+ app/models/comatose/page.rb
19
+ app/views/comatose/admin/_form.html.erb
20
+ app/views/comatose/admin/_page_list_item.html.erb
21
+ app/views/comatose/admin/delete.html.erb
22
+ app/views/comatose/admin/edit.html.erb
23
+ app/views/comatose/admin/index.html.erb
24
+ app/views/comatose/admin/new.html.erb
25
+ app/views/comatose/admin/reorder.html.erb
26
+ app/views/comatose/admin/versions.html.erb
27
+ app/views/layouts/application.html.erb
28
+ app/views/layouts/comatose/admin.html.erb
29
+ app/views/layouts/comatose/base.html.erb
30
+ config.ru
31
+ config/environment.rb
32
+ config/environments/development.rb
33
+ config/environments/production.rb
34
+ config/environments/test.rb
35
+ config/locales/en.yml
36
+ db/seeds.rb
37
+ lib/comatose.rb
38
+ lib/comatose/configuration.rb
39
+ lib/comatose/drop.rb
40
+ lib/comatose/engine.rb
41
+ lib/comatose/filters/inline_filter.rb
42
+ lib/comatose/filters/timeago_filter.rb
43
+ lib/comatose/filters/translation_filter.rb
44
+ lib/comatose/locale_constraint.rb
45
+ lib/comatose/logger.rb
46
+ lib/comatose/page_wrapper.rb
47
+ lib/comatose/processing_context.rb
48
+ lib/comatose/routes.rb
49
+ lib/comatose/tasks/admin.rb
50
+ lib/comatose/tasks/data.rb
51
+ lib/comatose/tasks/setup.rb
52
+ lib/comatose/text_filters.rb
53
+ lib/comatose/version.rb
54
+ lib/generators/comatose/USAGE
55
+ lib/generators/comatose/comatose_generator.rb
56
+ lib/generators/comatose/templates/comatose.rb
57
+ lib/generators/comatose/templates/migration.erb
58
+ lib/generators/comatose/templates/seeds.erb
59
+ lib/support/class_options.rb
60
+ lib/support/inline_rendering.rb
61
+ lib/support/route_mapper.rb
62
+ lib/tasks/comatose.rake
63
+ lib/text_filters/markdown.rb
64
+ lib/text_filters/markdown_smartypants.rb
65
+ lib/text_filters/none.rb
66
+ lib/text_filters/rdoc.rb
67
+ lib/text_filters/simple.rb
68
+ lib/text_filters/textile.rb
69
+ public/404.html
70
+ public/422.html
71
+ public/500.html
72
+ public/favicon.ico
73
+ public/images/comatose/collapsed.gif
74
+ public/images/comatose/expanded.gif
75
+ public/images/comatose/no-children.gif
76
+ public/images/comatose/page.gif
77
+ public/images/comatose/rails.png
78
+ public/images/comatose/spinner.gif
79
+ public/images/comatose/title-hover-bg.gif
80
+ public/javascripts/comatose/admin.js
81
+ public/javascripts/comatose/application.js
82
+ public/javascripts/comatose/dragdrop.js
83
+ public/javascripts/editor.js
84
+ public/javascripts/jquery/GPL-LICENSE.txt
85
+ public/javascripts/jquery/MIT-LICENSE.txt
86
+ public/javascripts/jquery/README
87
+ public/javascripts/jquery/jquery.js
88
+ public/javascripts/jquery/jquery.ui.draggable.js
89
+ public/javascripts/jquery/jquery.ui.js
90
+ public/javascripts/jquery/jquery.ui.resizable.js
91
+ public/javascripts/jquery/jquery.ui.sortable.js
92
+ public/javascripts/wymeditor.tar
93
+ public/javascripts/wymeditor/iframe/default/lbl-blockquote.png
94
+ public/javascripts/wymeditor/iframe/default/lbl-h1.png
95
+ public/javascripts/wymeditor/iframe/default/lbl-h2.png
96
+ public/javascripts/wymeditor/iframe/default/lbl-h3.png
97
+ public/javascripts/wymeditor/iframe/default/lbl-h4.png
98
+ public/javascripts/wymeditor/iframe/default/lbl-h5.png
99
+ public/javascripts/wymeditor/iframe/default/lbl-h6.png
100
+ public/javascripts/wymeditor/iframe/default/lbl-p.png
101
+ public/javascripts/wymeditor/iframe/default/lbl-pre.png
102
+ public/javascripts/wymeditor/iframe/default/wymiframe.css
103
+ public/javascripts/wymeditor/iframe/default/wymiframe.html
104
+ public/javascripts/wymeditor/jquery.wymeditor.js
105
+ public/javascripts/wymeditor/jquery.wymeditor.min.js
106
+ public/javascripts/wymeditor/jquery.wymeditor.pack.js
107
+ public/javascripts/wymeditor/lang/bg.js
108
+ public/javascripts/wymeditor/lang/ca.js
109
+ public/javascripts/wymeditor/lang/cs.js
110
+ public/javascripts/wymeditor/lang/cy.js
111
+ public/javascripts/wymeditor/lang/de.js
112
+ public/javascripts/wymeditor/lang/en.js
113
+ public/javascripts/wymeditor/lang/es.js
114
+ public/javascripts/wymeditor/lang/fa.js
115
+ public/javascripts/wymeditor/lang/fi.js
116
+ public/javascripts/wymeditor/lang/fr.js
117
+ public/javascripts/wymeditor/lang/gl.js
118
+ public/javascripts/wymeditor/lang/he.js
119
+ public/javascripts/wymeditor/lang/hr.js
120
+ public/javascripts/wymeditor/lang/hu.js
121
+ public/javascripts/wymeditor/lang/it.js
122
+ public/javascripts/wymeditor/lang/nb.js
123
+ public/javascripts/wymeditor/lang/nl.js
124
+ public/javascripts/wymeditor/lang/nn.js
125
+ public/javascripts/wymeditor/lang/pl.js
126
+ public/javascripts/wymeditor/lang/pt-br.js
127
+ public/javascripts/wymeditor/lang/pt.js
128
+ public/javascripts/wymeditor/lang/ru.js
129
+ public/javascripts/wymeditor/lang/sv.js
130
+ public/javascripts/wymeditor/lang/tr.js
131
+ public/javascripts/wymeditor/lang/zh_cn.js
132
+ public/javascripts/wymeditor/plugins/embed/jquery.wymeditor.embed.js
133
+ public/javascripts/wymeditor/plugins/fullscreen/icon_fullscreen.gif
134
+ public/javascripts/wymeditor/plugins/fullscreen/jquery.wymeditor.fullscreen.js
135
+ public/javascripts/wymeditor/plugins/hovertools/jquery.wymeditor.hovertools.js
136
+ public/javascripts/wymeditor/plugins/resizable/jquery.wymeditor.resizable.js
137
+ public/javascripts/wymeditor/plugins/resizable/readme.txt
138
+ public/javascripts/wymeditor/plugins/tidy/README
139
+ public/javascripts/wymeditor/plugins/tidy/jquery.wymeditor.tidy.js
140
+ public/javascripts/wymeditor/plugins/tidy/tidy.php
141
+ public/javascripts/wymeditor/plugins/tidy/wand.png
142
+ public/javascripts/wymeditor/skins/compact/icons.png
143
+ public/javascripts/wymeditor/skins/compact/skin.css
144
+ public/javascripts/wymeditor/skins/compact/skin.js
145
+ public/javascripts/wymeditor/skins/default/icons.png
146
+ public/javascripts/wymeditor/skins/default/skin.css
147
+ public/javascripts/wymeditor/skins/default/skin.js
148
+ public/javascripts/wymeditor/skins/minimal/images/bg.header.gif
149
+ public/javascripts/wymeditor/skins/minimal/images/bg.selector.silver.gif
150
+ public/javascripts/wymeditor/skins/minimal/images/bg.wymeditor.png
151
+ public/javascripts/wymeditor/skins/minimal/images/icons.silver.gif
152
+ public/javascripts/wymeditor/skins/minimal/skin.css
153
+ public/javascripts/wymeditor/skins/minimal/skin.js
154
+ public/javascripts/wymeditor/skins/silver/COPYING
155
+ public/javascripts/wymeditor/skins/silver/README
156
+ public/javascripts/wymeditor/skins/silver/images/bg.header.gif
157
+ public/javascripts/wymeditor/skins/silver/images/bg.selector.silver.gif
158
+ public/javascripts/wymeditor/skins/silver/images/bg.wymeditor.png
159
+ public/javascripts/wymeditor/skins/silver/images/icons.silver.gif
160
+ public/javascripts/wymeditor/skins/silver/skin.css
161
+ public/javascripts/wymeditor/skins/silver/skin.js
162
+ public/javascripts/wymeditor/skins/twopanels/icons.png
163
+ public/javascripts/wymeditor/skins/twopanels/skin.css
164
+ public/javascripts/wymeditor/skins/twopanels/skin.js
165
+ public/javascripts/wymeditor/skins/wymeditor_icon.png
166
+ public/robots.txt
167
+ public/stylesheets/comatose/admin.css
168
+ public/stylesheets/comatose/base.css
169
+ spec/controllers/comatose/base_controller_spec.rb
170
+ spec/controllers/foos_controller_spec.rb
171
+ spec/helpers/foos_helper_spec.rb
172
+ spec/routing/base_routing_spec.rb
173
+ spec/spec_helper.rb
174
+ test/behaviors.rb
175
+ test/fixtures/comatose_pages.yml
176
+ test/functional/comatose_admin_controller_test.rb
177
+ test/functional/comatose_controller_test.rb
178
+ test/integration/comatose_routing_test.rb
179
+ test/javascripts/test.html
180
+ test/javascripts/test_runner.js
181
+ test/old_test_helper.rb
182
+ test/performance/browsing_test.rb
183
+ test/test_helper.rb
184
+ test/unit/class_options_test.rb
185
+ test/unit/comatose_page_test.rb
186
+ test/unit/processing_context_test.rb
187
+ test/unit/text_filters_test.rb
188
+ Manifest
data/README ADDED
File without changes