comatose-rubyisbeautiful 3.0.0

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