kuji-mercury-rails 0.3.2

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 (231) hide show
  1. data/LICENSE +25 -0
  2. data/POST_INSTALL +15 -0
  3. data/app/controllers/mercury/images_controller.rb +19 -0
  4. data/app/controllers/mercury_controller.rb +34 -0
  5. data/app/models/mercury/image.rb +16 -0
  6. data/app/views/layouts/mercury.html.erb +33 -0
  7. data/app/views/mercury/lightviews/about.html +11 -0
  8. data/app/views/mercury/modals/character.html +255 -0
  9. data/app/views/mercury/modals/htmleditor.html +13 -0
  10. data/app/views/mercury/modals/link.html +75 -0
  11. data/app/views/mercury/modals/media.html +82 -0
  12. data/app/views/mercury/modals/table.html +84 -0
  13. data/app/views/mercury/palettes/backcolor.html +73 -0
  14. data/app/views/mercury/palettes/forecolor.html +73 -0
  15. data/app/views/mercury/panels/history.html +3 -0
  16. data/app/views/mercury/panels/notes.html +3 -0
  17. data/app/views/mercury/panels/snippets.html +12 -0
  18. data/app/views/mercury/selects/formatblock.html +11 -0
  19. data/app/views/mercury/selects/style.html +5 -0
  20. data/app/views/mercury/snippets/example/options.html.erb +34 -0
  21. data/app/views/mercury/snippets/example/preview.html.erb +1 -0
  22. data/config/engine.rb +41 -0
  23. data/db/migrate/20110526035601_create_mercury_images.rb +11 -0
  24. data/features/loading/loading.feature +22 -0
  25. data/features/loading/navigating.feature +77 -0
  26. data/features/loading/user_interface.feature +67 -0
  27. data/features/regions/editable/advanced_editing.feature +0 -0
  28. data/features/regions/editable/basic_editing.feature +195 -0
  29. data/features/regions/editable/inserting_links.feature +98 -0
  30. data/features/regions/editable/inserting_media.feature +110 -0
  31. data/features/regions/editable/inserting_snippets.feature +102 -0
  32. data/features/regions/editable/inserting_special_characters.feature +24 -0
  33. data/features/regions/editable/inserting_tables.feature +109 -0
  34. data/features/regions/editable/pasting.feature +0 -0
  35. data/features/regions/editable/uploading_images.feature +0 -0
  36. data/features/regions/image/uploading_images.feature +0 -0
  37. data/features/regions/markupable/advanced_editing.feature +0 -0
  38. data/features/regions/markupable/basic_editing.feature +0 -0
  39. data/features/regions/markupable/inserting_links.feature +0 -0
  40. data/features/regions/markupable/inserting_media.feature +0 -0
  41. data/features/regions/markupable/inserting_snippets.feature +0 -0
  42. data/features/regions/markupable/inserting_special_characters.feature +0 -0
  43. data/features/regions/markupable/inserting_tables.feature +0 -0
  44. data/features/regions/markupable/uploading_images.feature +0 -0
  45. data/features/regions/simple/basic_editing.feature +5 -0
  46. data/features/regions/snippetable/advanced_editing.feature +0 -0
  47. data/features/regions/snippetable/basic_editing.feature +0 -0
  48. data/features/regions/snippetable/inserting_snippets.feature +0 -0
  49. data/features/saving/saving.feature +33 -0
  50. data/features/step_definitions/debug_steps.rb +14 -0
  51. data/features/step_definitions/mercury_steps.rb +438 -0
  52. data/features/step_definitions/web_steps.rb +211 -0
  53. data/features/support/env.rb +46 -0
  54. data/features/support/mercury_contents.rb +25 -0
  55. data/features/support/mercury_selectors.rb +148 -0
  56. data/features/support/paths.rb +38 -0
  57. data/features/support/selectors.rb +44 -0
  58. data/lib/generators/mercury/install/install_generator.rb +49 -0
  59. data/lib/generators/mercury/install/templates/mongoid_paperclip_image.rb +17 -0
  60. data/lib/mercury-rails.rb +3 -0
  61. data/lib/mercury/authentication.rb +8 -0
  62. data/spec/javascripts/mercury/dialog_spec.js.coffee +281 -0
  63. data/spec/javascripts/mercury/dialogs/backcolor_spec.js.coffee +37 -0
  64. data/spec/javascripts/mercury/dialogs/forecolor_spec.js.coffee +37 -0
  65. data/spec/javascripts/mercury/dialogs/formatblock_spec.js.coffee +25 -0
  66. data/spec/javascripts/mercury/dialogs/snippetpanel_spec.js.coffee +30 -0
  67. data/spec/javascripts/mercury/dialogs/style_spec.js.coffee +25 -0
  68. data/spec/javascripts/mercury/history_buffer_spec.js.coffee +76 -0
  69. data/spec/javascripts/mercury/lightview_spec.js.coffee +497 -0
  70. data/spec/javascripts/mercury/mercury_spec.js.coffee +132 -0
  71. data/spec/javascripts/mercury/modal_spec.js.coffee +504 -0
  72. data/spec/javascripts/mercury/modals/htmleditor_spec.js.coffee +30 -0
  73. data/spec/javascripts/mercury/modals/insertcharacter_spec.js.coffee +29 -0
  74. data/spec/javascripts/mercury/modals/insertlink_spec.js.coffee +220 -0
  75. data/spec/javascripts/mercury/modals/insertmedia_spec.js.coffee +167 -0
  76. data/spec/javascripts/mercury/modals/insertsnippet_spec.js.coffee +52 -0
  77. data/spec/javascripts/mercury/modals/inserttable_spec.js.coffee +160 -0
  78. data/spec/javascripts/mercury/native_extensions_spec.js.coffee +60 -0
  79. data/spec/javascripts/mercury/page_editor_spec.js.coffee +757 -0
  80. data/spec/javascripts/mercury/palette_spec.js.coffee +49 -0
  81. data/spec/javascripts/mercury/panel_spec.js.coffee +183 -0
  82. data/spec/javascripts/mercury/region_spec.js.coffee +298 -0
  83. data/spec/javascripts/mercury/regions/editable_spec.js.coffee +561 -0
  84. data/spec/javascripts/mercury/regions/image_spec.js.coffee +34 -0
  85. data/spec/javascripts/mercury/regions/markupable_spec.js.coffee +367 -0
  86. data/spec/javascripts/mercury/regions/simple_spec.js.coffee +33 -0
  87. data/spec/javascripts/mercury/regions/snippetable_spec.js.coffee +370 -0
  88. data/spec/javascripts/mercury/select_spec.js.coffee +49 -0
  89. data/spec/javascripts/mercury/snippet_spec.js.coffee +253 -0
  90. data/spec/javascripts/mercury/snippet_toolbar_spec.js.coffee +184 -0
  91. data/spec/javascripts/mercury/statusbar_spec.js.coffee +150 -0
  92. data/spec/javascripts/mercury/table_editor_spec.js.coffee +194 -0
  93. data/spec/javascripts/mercury/toolbar.button_group_spec.js.coffee +90 -0
  94. data/spec/javascripts/mercury/toolbar.button_spec.js.coffee +360 -0
  95. data/spec/javascripts/mercury/toolbar.expander_spec.js.coffee +118 -0
  96. data/spec/javascripts/mercury/toolbar_spec.js.coffee +222 -0
  97. data/spec/javascripts/mercury/tooltip_spec.js.coffee +186 -0
  98. data/spec/javascripts/mercury/uploader_spec.js.coffee +530 -0
  99. data/spec/javascripts/spec_helper.js +513 -0
  100. data/spec/javascripts/templates/mercury/dialog.html +2 -0
  101. data/spec/javascripts/templates/mercury/dialogs/backcolor.html +5 -0
  102. data/spec/javascripts/templates/mercury/dialogs/forecolor.html +5 -0
  103. data/spec/javascripts/templates/mercury/dialogs/formatblock.html +3 -0
  104. data/spec/javascripts/templates/mercury/dialogs/snippetpanel.html +16 -0
  105. data/spec/javascripts/templates/mercury/dialogs/style.html +3 -0
  106. data/spec/javascripts/templates/mercury/lightview.html +13 -0
  107. data/spec/javascripts/templates/mercury/modal.html +13 -0
  108. data/spec/javascripts/templates/mercury/modals/htmleditor.html +5 -0
  109. data/spec/javascripts/templates/mercury/modals/insertcharacter.html +5 -0
  110. data/spec/javascripts/templates/mercury/modals/insertlink.html +30 -0
  111. data/spec/javascripts/templates/mercury/modals/insertmedia.html +35 -0
  112. data/spec/javascripts/templates/mercury/modals/insertsnippet.html +6 -0
  113. data/spec/javascripts/templates/mercury/modals/inserttable.html +27 -0
  114. data/spec/javascripts/templates/mercury/page_editor.html +35 -0
  115. data/spec/javascripts/templates/mercury/palette.html +16 -0
  116. data/spec/javascripts/templates/mercury/panel.html +16 -0
  117. data/spec/javascripts/templates/mercury/region.html +2 -0
  118. data/spec/javascripts/templates/mercury/regions/editable.html +3 -0
  119. data/spec/javascripts/templates/mercury/regions/image.html +1 -0
  120. data/spec/javascripts/templates/mercury/regions/simple.html +3 -0
  121. data/spec/javascripts/templates/mercury/regions/snippetable.html +4 -0
  122. data/spec/javascripts/templates/mercury/select.html +16 -0
  123. data/spec/javascripts/templates/mercury/snippet.html +1 -0
  124. data/spec/javascripts/templates/mercury/snippet_toolbar.html +16 -0
  125. data/spec/javascripts/templates/mercury/statusbar.html +8 -0
  126. data/spec/javascripts/templates/mercury/table_editor.html +65 -0
  127. data/spec/javascripts/templates/mercury/toolbar.button.html +64 -0
  128. data/spec/javascripts/templates/mercury/toolbar.button_group.html +9 -0
  129. data/spec/javascripts/templates/mercury/toolbar.expander.html +18 -0
  130. data/spec/javascripts/templates/mercury/toolbar.html +11 -0
  131. data/spec/javascripts/templates/mercury/tooltip.html +12 -0
  132. data/spec/javascripts/templates/mercury/uploader.html +11 -0
  133. data/vendor/assets/images/mercury/button.png +0 -0
  134. data/vendor/assets/images/mercury/close.png +0 -0
  135. data/vendor/assets/images/mercury/default-snippet.png +0 -0
  136. data/vendor/assets/images/mercury/loading-dark.gif +0 -0
  137. data/vendor/assets/images/mercury/loading-light.gif +0 -0
  138. data/vendor/assets/images/mercury/missing-image.png +0 -0
  139. data/vendor/assets/images/mercury/search-icon.png +0 -0
  140. data/vendor/assets/images/mercury/temp-logo.png +0 -0
  141. data/vendor/assets/images/mercury/toolbar/editable/buttons.png +0 -0
  142. data/vendor/assets/images/mercury/toolbar/primary/_expander.png +0 -0
  143. data/vendor/assets/images/mercury/toolbar/primary/_pressed.png +0 -0
  144. data/vendor/assets/images/mercury/toolbar/primary/historypanel.png +0 -0
  145. data/vendor/assets/images/mercury/toolbar/primary/insertcharacter.png +0 -0
  146. data/vendor/assets/images/mercury/toolbar/primary/insertlink.png +0 -0
  147. data/vendor/assets/images/mercury/toolbar/primary/insertmedia.png +0 -0
  148. data/vendor/assets/images/mercury/toolbar/primary/inserttable.png +0 -0
  149. data/vendor/assets/images/mercury/toolbar/primary/inspectorpanel.png +0 -0
  150. data/vendor/assets/images/mercury/toolbar/primary/notespanel.png +0 -0
  151. data/vendor/assets/images/mercury/toolbar/primary/preview.png +0 -0
  152. data/vendor/assets/images/mercury/toolbar/primary/redo.png +0 -0
  153. data/vendor/assets/images/mercury/toolbar/primary/save.png +0 -0
  154. data/vendor/assets/images/mercury/toolbar/primary/snippetpanel.png +0 -0
  155. data/vendor/assets/images/mercury/toolbar/primary/undo.png +0 -0
  156. data/vendor/assets/images/mercury/toolbar/snippetable/buttons.png +0 -0
  157. data/vendor/assets/javascripts/mercury.js +479 -0
  158. data/vendor/assets/javascripts/mercury/dependencies/jquery-1.7.js +9300 -0
  159. data/vendor/assets/javascripts/mercury/dependencies/jquery-ui-1.8.13.custom.js +1328 -0
  160. data/vendor/assets/javascripts/mercury/dependencies/jquery.additions.js +206 -0
  161. data/vendor/assets/javascripts/mercury/dependencies/jquery.htmlClean.js +527 -0
  162. data/vendor/assets/javascripts/mercury/dependencies/liquidmetal.js +88 -0
  163. data/vendor/assets/javascripts/mercury/dependencies/showdown.js +1340 -0
  164. data/vendor/assets/javascripts/mercury/dialog.js.coffee +159 -0
  165. data/vendor/assets/javascripts/mercury/dialogs/backcolor.js.coffee +6 -0
  166. data/vendor/assets/javascripts/mercury/dialogs/forecolor.js.coffee +6 -0
  167. data/vendor/assets/javascripts/mercury/dialogs/formatblock.js.coffee +4 -0
  168. data/vendor/assets/javascripts/mercury/dialogs/snippetpanel.js.coffee +10 -0
  169. data/vendor/assets/javascripts/mercury/dialogs/style.js.coffee +4 -0
  170. data/vendor/assets/javascripts/mercury/finalize.js.coffee +3 -0
  171. data/vendor/assets/javascripts/mercury/history_buffer.js.coffee +30 -0
  172. data/vendor/assets/javascripts/mercury/lightview.js.coffee +205 -0
  173. data/vendor/assets/javascripts/mercury/locales/ar.locale.js.coffee +207 -0
  174. data/vendor/assets/javascripts/mercury/locales/da.locale.js.coffee +211 -0
  175. data/vendor/assets/javascripts/mercury/locales/de.locale.js.coffee +206 -0
  176. data/vendor/assets/javascripts/mercury/locales/es.locale.js.coffee +211 -0
  177. data/vendor/assets/javascripts/mercury/locales/example.local.js.coffee +211 -0
  178. data/vendor/assets/javascripts/mercury/locales/fr.locale.js.coffee +211 -0
  179. data/vendor/assets/javascripts/mercury/locales/it.locale.js.coffee +208 -0
  180. data/vendor/assets/javascripts/mercury/locales/ko.local.js.coffee +206 -0
  181. data/vendor/assets/javascripts/mercury/locales/nl.locale.js.coffee +206 -0
  182. data/vendor/assets/javascripts/mercury/locales/pt.locale.js.coffee +211 -0
  183. data/vendor/assets/javascripts/mercury/locales/sv.local.js.coffee +209 -0
  184. data/vendor/assets/javascripts/mercury/locales/swedish_chef.locale.js.coffee +213 -0
  185. data/vendor/assets/javascripts/mercury/mercury.js.coffee +109 -0
  186. data/vendor/assets/javascripts/mercury/modal.js.coffee +198 -0
  187. data/vendor/assets/javascripts/mercury/modals/htmleditor.js.coffee +11 -0
  188. data/vendor/assets/javascripts/mercury/modals/insertcharacter.js.coffee +4 -0
  189. data/vendor/assets/javascripts/mercury/modals/insertlink.js.coffee +92 -0
  190. data/vendor/assets/javascripts/mercury/modals/insertmedia.js.coffee +81 -0
  191. data/vendor/assets/javascripts/mercury/modals/insertsnippet.js.coffee +12 -0
  192. data/vendor/assets/javascripts/mercury/modals/inserttable.js.coffee +54 -0
  193. data/vendor/assets/javascripts/mercury/native_extensions.js.coffee +55 -0
  194. data/vendor/assets/javascripts/mercury/page_editor.js.coffee +225 -0
  195. data/vendor/assets/javascripts/mercury/palette.js.coffee +29 -0
  196. data/vendor/assets/javascripts/mercury/panel.js.coffee +115 -0
  197. data/vendor/assets/javascripts/mercury/plugins/save_as_xml/mercury/page_editor.js.coffee +28 -0
  198. data/vendor/assets/javascripts/mercury/plugins/save_as_xml/plugin.js +9 -0
  199. data/vendor/assets/javascripts/mercury/region.js.coffee +107 -0
  200. data/vendor/assets/javascripts/mercury/regions/editable.js.coffee +600 -0
  201. data/vendor/assets/javascripts/mercury/regions/image.js.coffee +114 -0
  202. data/vendor/assets/javascripts/mercury/regions/markupable.js.coffee +398 -0
  203. data/vendor/assets/javascripts/mercury/regions/simple.js.coffee +325 -0
  204. data/vendor/assets/javascripts/mercury/regions/snippetable.js.coffee +124 -0
  205. data/vendor/assets/javascripts/mercury/select.js.coffee +44 -0
  206. data/vendor/assets/javascripts/mercury/snippet.js.coffee +106 -0
  207. data/vendor/assets/javascripts/mercury/snippet_toolbar.js.coffee +72 -0
  208. data/vendor/assets/javascripts/mercury/statusbar.js.coffee +51 -0
  209. data/vendor/assets/javascripts/mercury/support/history.js +1 -0
  210. data/vendor/assets/javascripts/mercury/table_editor.js.coffee +265 -0
  211. data/vendor/assets/javascripts/mercury/toolbar.button.js.coffee +173 -0
  212. data/vendor/assets/javascripts/mercury/toolbar.button_group.js.coffee +42 -0
  213. data/vendor/assets/javascripts/mercury/toolbar.expander.js.coffee +56 -0
  214. data/vendor/assets/javascripts/mercury/toolbar.js.coffee +86 -0
  215. data/vendor/assets/javascripts/mercury/tooltip.js.coffee +74 -0
  216. data/vendor/assets/javascripts/mercury/uploader.js.coffee +244 -0
  217. data/vendor/assets/javascripts/mercury_loader.js +193 -0
  218. data/vendor/assets/javascripts/mercury_overrides.js +6 -0
  219. data/vendor/assets/stylesheets/mercury.css +28 -0
  220. data/vendor/assets/stylesheets/mercury/all_images.css.erb +89 -0
  221. data/vendor/assets/stylesheets/mercury/dialog.css +212 -0
  222. data/vendor/assets/stylesheets/mercury/form.css +118 -0
  223. data/vendor/assets/stylesheets/mercury/lightview.css +151 -0
  224. data/vendor/assets/stylesheets/mercury/mercury.css +37 -0
  225. data/vendor/assets/stylesheets/mercury/modal.css +183 -0
  226. data/vendor/assets/stylesheets/mercury/statusbar.css +32 -0
  227. data/vendor/assets/stylesheets/mercury/toolbar.css +304 -0
  228. data/vendor/assets/stylesheets/mercury/tooltip.css +26 -0
  229. data/vendor/assets/stylesheets/mercury/uploader.css +111 -0
  230. data/vendor/assets/stylesheets/mercury_overrides.css +17 -0
  231. metadata +572 -0
@@ -0,0 +1,82 @@
1
+ <form id="mercury_media" class="mercury-form" style="width:600px">
2
+
3
+ <div class="mercury-display-pane-container">
4
+ <div class="mercury-display-pane">
5
+
6
+ <fieldset class="inputs">
7
+ <legend><span>Images</span></legend>
8
+ <ol>
9
+ <li id="media_image_url_input" class="string input optional stringish">
10
+ <label class="label" for="media_image_url"><input name="media_type" type="radio" value="image_url" checked="checked"/>URL</label>
11
+ <input class="selectable" id="media_image_url" name="media[image_url]" type="text"/>
12
+ </li>
13
+ </ol>
14
+ </fieldset>
15
+
16
+ <fieldset class="inputs">
17
+ <legend><span>Videos</span></legend>
18
+ <ol>
19
+ <li id="media_youtube_url_input" class="string input optional stringish">
20
+ <label class="label" for="media_youtube_url"><input name="media_type" type="radio" value="youtube_url"/>YouTube Share URL</label>
21
+ <input class="selectable" id="media_youtube_url" name="media[youtube_url]" type="text" placeholder="http://youtu.be/Pny4hoN8eII"/>
22
+ </li>
23
+ <li id="media_vimeo_url_input" class="string input optional stringish">
24
+ <label class="label" for="media_vimeo_url"><input name="media_type" type="radio" value="vimeo_url"/>Vimeo URL</label>
25
+ <input class="selectable" id="media_vimeo_url" name="media[vimeo_url]" type="text" placeholder="http://vimeo.com/25708134"/>
26
+ </li>
27
+ </ol>
28
+ </fieldset>
29
+
30
+ <fieldset class="inputs">
31
+ <legend><span>Options</span></legend>
32
+ <ol>
33
+ <div id="image_url" class="media-options">
34
+ <li id="media_image_alignment_input" class="select input optional">
35
+ <label class="label" for="media_image_alignment">Alignment</label>
36
+ <select id="media_image_alignment" name="media[image_alignment]">
37
+ <option value="">None</option>
38
+ <option value="left">Left</option>
39
+ <option value="right">Right</option>
40
+ <option value="top">Top</option>
41
+ <option value="middle">Middle</option>
42
+ <option value="bottom">Bottom</option>
43
+ <option value="absmiddle">Absolute Middle</option>
44
+ <option value="absbottom">Absolute Bottom</option>
45
+ </select>
46
+ </li>
47
+ </div>
48
+ <div id="youtube_url" class="media-options" style="display:none">
49
+ <li id="media_youtube_width_input" class="string input optional stringish">
50
+ <label class="label" for="media_youtube_width">Width</label>
51
+ <input id="media_youtube_width" name="media[youtube_width]" type="text" value="560"/>
52
+ </li>
53
+ <li id="media_youtube_height_input" class="string input optional stringish">
54
+ <label class="label" for="media_youtube_height">Height</label>
55
+ <input id="media_youtube_height" name="media[youtube_height]" type="text" value="349"/>
56
+ </li>
57
+ </div>
58
+ <div id="vimeo_url" class="media-options" style="display:none">
59
+ <li id="media_vimeo_width_input" class="string input optional stringish">
60
+ <label class="label" for="media_vimeo_width">Width</label>
61
+ <input id="media_vimeo_width" name="media[vimeo_width]" type="text" value="400"/>
62
+ </li>
63
+ <li id="media_vimeo_height_input" class="string input optional stringish">
64
+ <label class="label" for="media_vimeo_height">Height</label>
65
+ <input id="media_vimeo_height" name="media[vimeo_height]" type="text" value="225"/>
66
+ </li>
67
+ </div>
68
+ </ol>
69
+ </fieldset>
70
+
71
+ </div>
72
+ </div>
73
+
74
+ <div class="mercury-display-controls">
75
+ <fieldset class="buttons">
76
+ <ol>
77
+ <li class="commit button"><input class="submit" name="commit" type="submit" value="Insert Media"/></li>
78
+ </ol>
79
+ </fieldset>
80
+ </div>
81
+
82
+ </form>
@@ -0,0 +1,84 @@
1
+ <form id="mercury_table" class="mercury-form" style="width:700px">
2
+
3
+ <div class="mercury-display-pane-container">
4
+ <div class="mercury-display-pane">
5
+
6
+ <div id="table_display">
7
+ <table border="1" cellspacing="0">
8
+ <tr>
9
+ <td>&nbsp;</td>
10
+ <td>&nbsp;</td>
11
+ <td>&nbsp;</td>
12
+ </tr>
13
+ <tr>
14
+ <td>&nbsp;</td>
15
+ <td>&nbsp;</td>
16
+ <td>&nbsp;</td>
17
+ </tr>
18
+ </table>
19
+ </div>
20
+
21
+ <div id="table_options">
22
+ <fieldset class="inputs">
23
+ <ol>
24
+ <li id="table_rows_input" class="select input optional">
25
+ <label for="table_rows">Rows</label>
26
+ <input type="button" class="action" value="Add Before" name="insertRowBefore"/>
27
+ <input type="button" class="action" value="Add After" name="insertRowAfter"/>
28
+ <input type="button" class="action" value="Remove" name="deleteRow"/>
29
+ </li>
30
+ <li id="table_columns_input" class="select input optional">
31
+ <label for="table_columns">Columns</label>
32
+ <input type="button" class="action" value="Add Before" name="insertColumnBefore"/>
33
+ <input type="button" class="action" value="Add After" name="insertColumnAfter"/>
34
+ <input type="button" class="action" value="Remove" name="deleteColumn"/>
35
+ </li>
36
+ <hr/>
37
+ <li id="table_row_adjust_input" class="select input optional">
38
+ <label for="table_row_adjust">Row Span</label>
39
+ <input type="button" class="action" value="+" name="increaseRowspan"/>
40
+ <input type="button" class="action" value="-" name="decreaseRowspan"/>
41
+ </li>
42
+ <li id="table_column_adjust_input" class="select input optional">
43
+ <label for="table_column_adjust">Column Span</label>
44
+ <input type="button" class="action" value="+" name="increaseColspan"/>
45
+ <input type="button" class="action" value="-" name="decreaseColspan"/>
46
+ </li>
47
+ </ol>
48
+ </fieldset>
49
+
50
+ <fieldset class="inputs">
51
+ <legend><span>Options</span></legend>
52
+ <ol>
53
+ <li id="table_alignment_input" class="select input optional">
54
+ <label class="label" for="table_alignment">Alignment</label>
55
+ <select id="table_alignment" name="table[alignment]">
56
+ <option value="">None</option>
57
+ <option value="left">Left</option>
58
+ <option value="right">Right</option>
59
+ </select>
60
+ </li>
61
+ <li id="table_border_input" class="string input optional stringish">
62
+ <label class="label" for="table_border">Border</label>
63
+ <input id="table_border" name="table[border]" type="text" value="1"/>
64
+ </li>
65
+ <li id="table_spacing_input" class="string input optional stringish">
66
+ <label class="label" for="table_spacing">Spacing</label>
67
+ <input id="table_spacing" name="table[spacing]" type="text" value="0"/>
68
+ </li>
69
+ </ol>
70
+ </fieldset>
71
+ </div>
72
+
73
+ </div>
74
+ </div>
75
+
76
+ <div class="mercury-display-controls">
77
+ <fieldset class="buttons">
78
+ <ol>
79
+ <li class="commit button"><input class="submit" name="commit" type="submit" value="Insert Table" /></li>
80
+ </ol>
81
+ </fieldset>
82
+ </div>
83
+
84
+ </form>
@@ -0,0 +1,73 @@
1
+ <div class="mercury-color-picker">
2
+ <div class="picker" style="background:#FFFFFF"></div>
3
+ <div class="picker" style="background:#FFCCCC"></div>
4
+ <div class="picker" style="background:#FFCC99"></div>
5
+ <div class="picker" style="background:#FFFF99"></div>
6
+ <div class="picker" style="background:#FFFFCC"></div>
7
+ <div class="picker" style="background:#99FF99"></div>
8
+ <div class="picker" style="background:#99FFFF"></div>
9
+ <div class="picker" style="background:#CCFFFF"></div>
10
+ <div class="picker" style="background:#CCCCFF"></div>
11
+ <div class="picker" style="background:#FFCCFF"></div>
12
+ <div class="picker" style="background:#CCCCCC"></div>
13
+ <div class="picker" style="background:#FF6666"></div>
14
+ <div class="picker" style="background:#FF9966"></div>
15
+ <div class="picker" style="background:#FFFF66"></div>
16
+ <div class="picker" style="background:#FFFF33"></div>
17
+ <div class="picker" style="background:#66FF99"></div>
18
+ <div class="picker" style="background:#33FFFF"></div>
19
+ <div class="picker" style="background:#66FFFF"></div>
20
+ <div class="picker" style="background:#9999FF"></div>
21
+ <div class="picker" style="background:#FF99FF"></div>
22
+ <div class="picker" style="background:#C0C0C0"></div>
23
+ <div class="picker" style="background:#FF0000"></div>
24
+ <div class="picker" style="background:#FF9900"></div>
25
+ <div class="picker" style="background:#FFCC66"></div>
26
+ <div class="picker" style="background:#FFFF00"></div>
27
+ <div class="picker" style="background:#33FF33"></div>
28
+ <div class="picker" style="background:#66CCCC"></div>
29
+ <div class="picker" style="background:#33CCFF"></div>
30
+ <div class="picker" style="background:#6666CC"></div>
31
+ <div class="picker" style="background:#CC66CC"></div>
32
+ <div class="picker" style="background:#999999"></div>
33
+ <div class="picker" style="background:#CC0000"></div>
34
+ <div class="picker" style="background:#FF6600"></div>
35
+ <div class="picker" style="background:#FFCC33"></div>
36
+ <div class="picker" style="background:#FFCC00"></div>
37
+ <div class="picker" style="background:#33CC00"></div>
38
+ <div class="picker" style="background:#00CCCC"></div>
39
+ <div class="picker" style="background:#3366FF"></div>
40
+ <div class="picker" style="background:#6633FF"></div>
41
+ <div class="picker" style="background:#CC33CC"></div>
42
+ <div class="picker" style="background:#666666"></div>
43
+ <div class="picker" style="background:#990000"></div>
44
+ <div class="picker" style="background:#CC6600"></div>
45
+ <div class="picker" style="background:#CC9933"></div>
46
+ <div class="picker" style="background:#999900"></div>
47
+ <div class="picker" style="background:#009900"></div>
48
+ <div class="picker" style="background:#339999"></div>
49
+ <div class="picker" style="background:#3333FF"></div>
50
+ <div class="picker" style="background:#6600CC"></div>
51
+ <div class="picker" style="background:#993399"></div>
52
+ <div class="picker" style="background:#333333"></div>
53
+ <div class="picker" style="background:#660000"></div>
54
+ <div class="picker" style="background:#993300"></div>
55
+ <div class="picker" style="background:#996633"></div>
56
+ <div class="picker" style="background:#666600"></div>
57
+ <div class="picker" style="background:#006600"></div>
58
+ <div class="picker" style="background:#336666"></div>
59
+ <div class="picker" style="background:#000099"></div>
60
+ <div class="picker" style="background:#333399"></div>
61
+ <div class="picker" style="background:#663366"></div>
62
+ <div class="picker" style="background:#000000"></div>
63
+ <div class="picker" style="background:#330000"></div>
64
+ <div class="picker" style="background:#663300"></div>
65
+ <div class="picker" style="background:#663333"></div>
66
+ <div class="picker" style="background:#333300"></div>
67
+ <div class="picker" style="background:#003300"></div>
68
+ <div class="picker" style="background:#003333"></div>
69
+ <div class="picker" style="background:#000066"></div>
70
+ <div class="picker" style="background:#330099"></div>
71
+ <div class="picker" style="background:#330033"></div>
72
+ <div class="last-picked">Last Color Picked</div>
73
+ </div>
@@ -0,0 +1,73 @@
1
+ <div class="mercury-color-picker">
2
+ <div class="picker" style="background:#FFFFFF"></div>
3
+ <div class="picker" style="background:#FFCCCC"></div>
4
+ <div class="picker" style="background:#FFCC99"></div>
5
+ <div class="picker" style="background:#FFFF99"></div>
6
+ <div class="picker" style="background:#FFFFCC"></div>
7
+ <div class="picker" style="background:#99FF99"></div>
8
+ <div class="picker" style="background:#99FFFF"></div>
9
+ <div class="picker" style="background:#CCFFFF"></div>
10
+ <div class="picker" style="background:#CCCCFF"></div>
11
+ <div class="picker" style="background:#FFCCFF"></div>
12
+ <div class="picker" style="background:#CCCCCC"></div>
13
+ <div class="picker" style="background:#FF6666"></div>
14
+ <div class="picker" style="background:#FF9966"></div>
15
+ <div class="picker" style="background:#FFFF66"></div>
16
+ <div class="picker" style="background:#FFFF33"></div>
17
+ <div class="picker" style="background:#66FF99"></div>
18
+ <div class="picker" style="background:#33FFFF"></div>
19
+ <div class="picker" style="background:#66FFFF"></div>
20
+ <div class="picker" style="background:#9999FF"></div>
21
+ <div class="picker" style="background:#FF99FF"></div>
22
+ <div class="picker" style="background:#C0C0C0"></div>
23
+ <div class="picker" style="background:#FF0000"></div>
24
+ <div class="picker" style="background:#FF9900"></div>
25
+ <div class="picker" style="background:#FFCC66"></div>
26
+ <div class="picker" style="background:#FFFF00"></div>
27
+ <div class="picker" style="background:#33FF33"></div>
28
+ <div class="picker" style="background:#66CCCC"></div>
29
+ <div class="picker" style="background:#33CCFF"></div>
30
+ <div class="picker" style="background:#6666CC"></div>
31
+ <div class="picker" style="background:#CC66CC"></div>
32
+ <div class="picker" style="background:#999999"></div>
33
+ <div class="picker" style="background:#CC0000"></div>
34
+ <div class="picker" style="background:#FF6600"></div>
35
+ <div class="picker" style="background:#FFCC33"></div>
36
+ <div class="picker" style="background:#FFCC00"></div>
37
+ <div class="picker" style="background:#33CC00"></div>
38
+ <div class="picker" style="background:#00CCCC"></div>
39
+ <div class="picker" style="background:#3366FF"></div>
40
+ <div class="picker" style="background:#6633FF"></div>
41
+ <div class="picker" style="background:#CC33CC"></div>
42
+ <div class="picker" style="background:#666666"></div>
43
+ <div class="picker" style="background:#990000"></div>
44
+ <div class="picker" style="background:#CC6600"></div>
45
+ <div class="picker" style="background:#CC9933"></div>
46
+ <div class="picker" style="background:#999900"></div>
47
+ <div class="picker" style="background:#009900"></div>
48
+ <div class="picker" style="background:#339999"></div>
49
+ <div class="picker" style="background:#3333FF"></div>
50
+ <div class="picker" style="background:#6600CC"></div>
51
+ <div class="picker" style="background:#993399"></div>
52
+ <div class="picker" style="background:#333333"></div>
53
+ <div class="picker" style="background:#660000"></div>
54
+ <div class="picker" style="background:#993300"></div>
55
+ <div class="picker" style="background:#996633"></div>
56
+ <div class="picker" style="background:#666600"></div>
57
+ <div class="picker" style="background:#006600"></div>
58
+ <div class="picker" style="background:#336666"></div>
59
+ <div class="picker" style="background:#000099"></div>
60
+ <div class="picker" style="background:#333399"></div>
61
+ <div class="picker" style="background:#663366"></div>
62
+ <div class="picker" style="background:#000000"></div>
63
+ <div class="picker" style="background:#330000"></div>
64
+ <div class="picker" style="background:#663300"></div>
65
+ <div class="picker" style="background:#663333"></div>
66
+ <div class="picker" style="background:#333300"></div>
67
+ <div class="picker" style="background:#003300"></div>
68
+ <div class="picker" style="background:#003333"></div>
69
+ <div class="picker" style="background:#000066"></div>
70
+ <div class="picker" style="background:#330099"></div>
71
+ <div class="picker" style="background:#330033"></div>
72
+ <div class="last-picked">Last Color Picked</div>
73
+ </div>
@@ -0,0 +1,3 @@
1
+ <div class="mercury-history-panel">
2
+ <p>The history panel is expected to be implemented with a server back end. Since this is a demo, we didn't include it.</p>
3
+ </div>
@@ -0,0 +1,3 @@
1
+ <div class="mercury-notes-panel">
2
+ <p>The notes panel is expected to be implemented with a server back end. Since this is a demo, we didn't include it.</p>
3
+ </div>
@@ -0,0 +1,12 @@
1
+ <div class="mercury-snippet-panel">
2
+ <div class="filter">
3
+ <input class="filter" type="text">
4
+ </div>
5
+ <ul>
6
+ <li data-filter="example, snippet, favorite, beer">
7
+ <img alt="Snippet Name" data-snippet="example" src="/assets/mercury/default-snippet.png"/>
8
+ <h4>Snippet Name</h4>
9
+ <div class="description">A one or two line long description of what this snippet does.</div>
10
+ </li>
11
+ </ul>
12
+ </div>
@@ -0,0 +1,11 @@
1
+ <div class="mercury-select-options">
2
+ <h1 data-tag="h1">Heading 1 <span>&lt;h1&gt;</span></h1>
3
+ <h2 data-tag="h2">Heading 2 <span>&lt;h2&gt;</span></h2>
4
+ <h3 data-tag="h3">Heading 3 <span>&lt;h3&gt;</span></h3>
5
+ <h4 data-tag="h4">Heading 4 <span>&lt;h4&gt;</span></h4>
6
+ <h5 data-tag="h5">Heading 5 <span>&lt;h5&gt;</span></h5>
7
+ <h6 data-tag="h6">Heading 6 <span>&lt;h6&gt;</span></h6>
8
+ <div data-tag="p">Paragraph <span>&lt;p&gt;</span></div>
9
+ <div data-tag="blockquote">Blockquote <span>&lt;blockquote&gt;</span></div>
10
+ <div data-tag="pre">Formatted <span>&lt;pre&gt;</span></div>
11
+ </div>
@@ -0,0 +1,5 @@
1
+ <div class="mercury-select-options">
2
+ <div class="red" data-class="red">Red text</div>
3
+ <div class="large-bold" data-class="large-bold">Large bold text</div>
4
+ <div class="blue" data-class="blue">Blue background</div>
5
+ </div>
@@ -0,0 +1,34 @@
1
+ <%= form_for 'options', { :html => { :class => 'mercury-form', :style => 'width:600px' } } do |f| %>
2
+
3
+ <div class="mercury-display-pane-container">
4
+ <div class="mercury-display-pane">
5
+ <fieldset class="inputs">
6
+ <ol>
7
+ <li class="string input optional stringish" id="options_first_name_input">
8
+ <label class="label" for="options_first_name">First Name</label>
9
+ <input id="options_first_name" name="options[first_name]" type="text" value="<%= @options[:first_name] %>"/>
10
+ </li>
11
+ </ol>
12
+ </fieldset>
13
+
14
+ <fieldset class="inputs">
15
+ <legend><span>Options</span></legend>
16
+ <ol>
17
+ <li class="string input optional stringish" id="options_favorite_beer_input">
18
+ <label class="label" for="options_favorite_beer">Favorite Beer</label>
19
+ <input id="options_favorite_beer" name="options[favorite_beer]" type="text" value="<%= @options[:favorite_beer] %>"/>
20
+ </li>
21
+ </ol>
22
+ </fieldset>
23
+ </div>
24
+ </div>
25
+
26
+ <div class="mercury-display-controls">
27
+ <fieldset class="buttons">
28
+ <ol>
29
+ <li class="commit button"><input class="submit" name="commit" type="submit" value="Insert Snippet"/></li>
30
+ </ol>
31
+ </fieldset>
32
+ </div>
33
+
34
+ <% end %>
@@ -0,0 +1 @@
1
+ <strong><%= params[:options][:first_name] %></strong> likes <%= params[:options][:favorite_beer] %>
data/config/engine.rb ADDED
@@ -0,0 +1,41 @@
1
+ require "rails"
2
+
3
+ module Mercury
4
+ class Engine < Rails::Engine
5
+
6
+ # Additional application configuration to include precompiled assets.
7
+ initializer :assets, :group => :all do |app|
8
+ app.config.assets.precompile += %w( mercury.js mercury.css mercury_overrides.css )
9
+ end
10
+
11
+ # Require mercury authentication module and potentially other aspects later (so they can be overridden).
12
+ initializer 'mercury.add_lib' do |app|
13
+ require 'mercury/authentication'
14
+ end
15
+
16
+ # To load the routes for this Engine, within your main apps routes.rb file include:
17
+ #
18
+ # Mercury::Engine.routes
19
+ #
20
+ def self.routes
21
+ Rails.application.routes.draw do
22
+ match '/editor(/*requested_uri)' => "mercury#edit", :as => :mercury_editor
23
+
24
+ namespace :mercury do
25
+ resources :images
26
+ end
27
+
28
+ scope '/mercury' do
29
+ match ':type/:resource' => "mercury#resource"
30
+ match 'snippets/:name/options' => "mercury#snippet_options"
31
+ match 'snippets/:name/preview' => "mercury#snippet_preview"
32
+ end
33
+
34
+ if defined?(Mercury::Application)
35
+ match 'mercury/test_page' => "mercury#test_page"
36
+ end
37
+ end
38
+ end
39
+
40
+ end
41
+ end
@@ -0,0 +1,11 @@
1
+ class CreateMercuryImages < ActiveRecord::Migration
2
+ def change
3
+ create_table :mercury_images do |t|
4
+ t.string :image_file_name
5
+ t.string :image_content_type
6
+ t.integer :image_file_size
7
+ t.datetime :image_updated_at
8
+ t.timestamps
9
+ end
10
+ end
11
+ end