kuji-mercury-rails 0.3.2

Sign up to get free protection for your applications and to get access to all the features.
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
data/LICENSE ADDED
@@ -0,0 +1,25 @@
1
+ Mercury Editor is a Coffeescript and jQuery based WYSIWYG editor.
2
+
3
+ Documentation and other useful information can be found at
4
+ https://github.com/jejacks0n/mercury
5
+
6
+ Copyright (c) 2011 Jeremy Jackson
7
+
8
+ Permission is hereby granted, free of charge, to any person obtaining
9
+ a copy of this software and associated documentation files (the
10
+ "Software"), to deal in the Software without restriction, including
11
+ without limitation the rights to use, copy, modify, merge, publish,
12
+ distribute, sublicense, and/or sell copies of the Software, and to
13
+ permit persons to whom the Software is furnished to do so, subject to
14
+ the following conditions:
15
+
16
+ The above copyright notice and this permission notice shall be
17
+ included in all copies or substantial portions of the Software.
18
+
19
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
20
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
21
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
22
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
23
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
24
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
25
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/POST_INSTALL ADDED
@@ -0,0 +1,15 @@
1
+ +============================================================================+
2
+ Congratulations, Mercury was successfully installed in your app. Documentation
3
+ and other useful info can be found at: https://github.com/jejacks0n/mercury
4
+
5
+ Here's a post install checklist:
6
+
7
+ * Setup the database for image processing (ActiveRecord only) by running:
8
+
9
+ rake mercury_engine:install:migrations
10
+ rake db:migrate
11
+
12
+ * Learn about, and make configuration adjustments in the mercury.js file.
13
+
14
+ * If installed, check out mercury.html.erb and mercury_overrides.css for more
15
+ customization info.
@@ -0,0 +1,19 @@
1
+ class Mercury::ImagesController < MercuryController
2
+
3
+ respond_to :json
4
+
5
+ # POST /images.json
6
+ def create
7
+ @image = Mercury::Image.new(params[:image])
8
+ @image.save
9
+ respond_with @image
10
+ end
11
+
12
+ # DELETE /images/1.json
13
+ def destroy
14
+ @image = Mercury::Image.find(params[:id])
15
+ @image.destroy
16
+ respond_with @image
17
+ end
18
+
19
+ end
@@ -0,0 +1,34 @@
1
+ class MercuryController < ActionController::Base
2
+ include ::Mercury::Authentication
3
+
4
+ protect_from_forgery
5
+ before_filter :authenticate, :only => :edit
6
+ layout false
7
+
8
+ def edit
9
+ render :text => '', :layout => 'mercury'
10
+ end
11
+
12
+ def resource
13
+ render :action => "/#{params[:type]}/#{params[:resource]}"
14
+ end
15
+
16
+ def snippet_options
17
+ @options = params[:options] || {}
18
+ render :action => "/snippets/#{params[:name]}/options"
19
+ end
20
+
21
+ def snippet_preview
22
+ render :action => "/snippets/#{params[:name]}/preview"
23
+ end
24
+
25
+ def test_page
26
+ render :text => params
27
+ end
28
+
29
+ private
30
+
31
+ def authenticate
32
+ redirect_to "/#{params[:requested_uri]}" unless can_edit?
33
+ end
34
+ end
@@ -0,0 +1,16 @@
1
+ class Mercury::Image < ActiveRecord::Base
2
+
3
+ self.table_name = :mercury_images
4
+
5
+ has_attached_file :image, :styles => { :medium => "300x300>", :thumb => "100x100>" }
6
+
7
+ delegate :url, :to => :image
8
+
9
+ def serializable_hash(options = nil)
10
+ options ||= {}
11
+ options[:methods] ||= []
12
+ options[:methods] << :url
13
+ super(options)
14
+ end
15
+
16
+ end
@@ -0,0 +1,33 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta name="viewport" content="width=device-width, maximum-scale=1.0, initial-scale=1.0">
5
+ <%= csrf_meta_tags %>
6
+ <title>Mercury Editor</title>
7
+ <%= stylesheet_link_tag 'mercury', 'mercury_overrides' %>
8
+ <%= javascript_include_tag 'mercury', 'mercury_overrides' %>
9
+ </head>
10
+ <body>
11
+ <script type="text/javascript">
12
+ var saveUrl = null; // Set to the url that you want to save any given page to.
13
+ var options = {
14
+ saveStyle: null, // 'form', or 'json' (default json)
15
+ saveMethod: null, // 'POST', or 'PUT', (create, vs. update -- default POST)
16
+ visible: null // if the interface should start visible or not (default true)
17
+ };
18
+
19
+ <!-- Mix in any configurations provided through Rails.application.config.mercury_config -->
20
+ <% if Rails.application.config.respond_to?(:mercury_config) %>
21
+ jQuery.extend(Mercury.config, <%= Rails.application.config.mercury_config.to_json.html_safe %>);
22
+ <% end -%>
23
+
24
+ <!-- Mix in any options for PageEditor provided through Rails.application.config.mercury_page_editor_config -->
25
+ <% if Rails.application.config.respond_to?(:mercury_page_editor_config) %>
26
+ jQuery.extend(options, <%= Rails.application.config.mercury_page_editor_config.to_json.html_safe %>);
27
+ <% end -%>
28
+
29
+ <!-- Instantiate the PageEditor -->
30
+ new Mercury.PageEditor(saveUrl, options);
31
+ </script>
32
+ </body>
33
+ </html>
@@ -0,0 +1,11 @@
1
+ <div id="mercury_about">
2
+ <p>
3
+ Mercury Editor is an open source HTML5 WYSIWYG editor written in Coffeescript using jQuery. The project has been released under the MIT license.
4
+ <br/><br/>
5
+ Documentation and other useful information can be found on the project pages.
6
+ </p>
7
+ <ul>
8
+ <li><a href="http://jejacks0n.github.com/mercury" target="_blank">Project Home</a></li>
9
+ <li><a href="http://github.com/jejacks0n/mercury" target="_blank">Project Source</a></li>
10
+ </ul>
11
+ </div>
@@ -0,0 +1,255 @@
1
+ <form id="mercury_character" class="mercury-form" style="width:456px">
2
+
3
+ <div class="mercury-display-pane-container">
4
+ <div class="mercury-display-pane">
5
+ <div class="character" data-entity="#34" title="quotation mark (APL quote)">&#34;</div>
6
+ <div class="character" data-entity="#38" title="ampersand">&#38;</div>
7
+ <div class="character" data-entity="#60" title="less-than sign">&#60;</div>
8
+ <div class="character" data-entity="#62" title="greater-than sign">&#62;</div>
9
+ <div class="character" data-entity="#710" title="modifier letter circumflex accent">&#710;</div>
10
+ <div class="character" data-entity="#732" title="small tilde">&#732;</div>
11
+ <div class="character" data-entity="#160" title="non-breaking space">&#160;</div>
12
+ <div class="character" data-entity="#8194" title="en space">&#8194;</div>
13
+ <div class="character" data-entity="#8195" title="em space">&#8195;</div>
14
+ <div class="character" data-entity="#8201" title="thin space">&#8201;</div>
15
+ <div class="character" data-entity="#8211" title="en dash">&#8211;</div>
16
+ <div class="character" data-entity="#8212" title="em dash">&#8212;</div>
17
+ <div class="character" data-entity="#8216" title="left single quotation mark">&#8216;</div>
18
+ <div class="character" data-entity="#8217" title="right single quotation mark">&#8217;</div>
19
+ <div class="character" data-entity="#8218" title="single low-9 quotation mark">&#8218;</div>
20
+ <div class="character" data-entity="#8220" title="left double quotation mark">&#8220;</div>
21
+ <div class="character" data-entity="#8221" title="right double quotation mark">&#8221;</div>
22
+ <div class="character" data-entity="#8222" title="double low-9 quotation mark">&#8222;</div>
23
+ <div class="character" data-entity="#8224" title="dagger">&#8224;</div>
24
+ <div class="character" data-entity="#8225" title="double dagger">&#8225;</div>
25
+ <div class="character" data-entity="#8240" title="per mille sign">&#8240;</div>
26
+ <div class="character" data-entity="#8249" title="single left-pointing angle quotation mark">&#8249;</div>
27
+ <div class="character" data-entity="#8250" title="single right-pointing angle quotation mark">&#8250;</div>
28
+ <div class="character" data-entity="#161" title="inverted exclamation mark">&#161;</div>
29
+ <div class="character" data-entity="#162" title="cent sign">&#162;</div>
30
+ <div class="character" data-entity="#163" title="pound sign">&#163;</div>
31
+ <div class="character" data-entity="#164" title="currency sign">&#164;</div>
32
+ <div class="character" data-entity="#165" title="yen sign">&#165;</div>
33
+ <div class="character" data-entity="#166" title="broken bar">&#166;</div>
34
+ <div class="character" data-entity="#167" title="section sign">&#167;</div>
35
+ <div class="character" data-entity="#168" title="spacing diaeresis">&#168;</div>
36
+ <div class="character" data-entity="#169" title="copyright sign">&#169;</div>
37
+ <div class="character" data-entity="#170" title="feminine ordinal indicator">&#170;</div>
38
+ <div class="character" data-entity="#186" title="masculine ordinal indicator">&#186;</div>
39
+ <div class="character" data-entity="#171" title="left pointing guillemet">&#171;</div>
40
+ <div class="character" data-entity="#172" title="not sign">&#172;</div>
41
+ <div class="character" data-entity="#174" title="registered trade mark sign">&#174;</div>
42
+ <div class="character" data-entity="#175" title="spacing macron">&#175;</div>
43
+ <div class="character" data-entity="#176" title="degree sign">&#176;</div>
44
+ <div class="character" data-entity="#177" title="plus-or-minus sign">&#177;</div>
45
+ <div class="character" data-entity="#185" title="superscript one">&#185;</div>
46
+ <div class="character" data-entity="#178" title="superscript digit two">&#178;</div>
47
+ <div class="character" data-entity="#179" title="superscript digit three">&#179;</div>
48
+ <div class="character" data-entity="#180" title="acute accent">&#180;</div>
49
+ <div class="character" data-entity="#181" title="micro sign">&#181;</div>
50
+ <div class="character" data-entity="#182" title="pilcrow sign">&#182;</div>
51
+ <div class="character" data-entity="#183" title="middle dot">&#183;</div>
52
+ <div class="character" data-entity="#184" title="cedilla">&#184;</div>
53
+ <div class="character" data-entity="#187" title="right-pointing double angle quotation mark">&#187;</div>
54
+ <div class="character" data-entity="#188" title="fraction one quarter">&#188;</div>
55
+ <div class="character" data-entity="#189" title="fraction one half">&#189;</div>
56
+ <div class="character" data-entity="#190" title="fraction three quarters">&#190;</div>
57
+ <div class="character" data-entity="#191" title="inverted question mark">&#191;</div>
58
+ <div class="character" data-entity="#215" title="multiplication sign">&#215;</div>
59
+ <div class="character" data-entity="#247" title="division sign">&#247;</div>
60
+ <div class="character" data-entity="#192" title="latin capital letter A with grave">&#192;</div>
61
+ <div class="character" data-entity="#224" title="latin small letter a with grave">&#224;</div>
62
+ <div class="character" data-entity="#193" title="latin capital letter A with acute">&#193;</div>
63
+ <div class="character" data-entity="#225" title="latin small letter a with acute">&#225;</div>
64
+ <div class="character" data-entity="#194" title="latin capital letter A with circumflex">&#194;</div>
65
+ <div class="character" data-entity="#226" title="latin small letter a with circumflex">&#226;</div>
66
+ <div class="character" data-entity="#195" title="latin capital letter A with tilde">&#195;</div>
67
+ <div class="character" data-entity="#227" title="latin small letter a with tilde">&#227;</div>
68
+ <div class="character" data-entity="#196" title="latin capital letter A with diaeresis">&#196;</div>
69
+ <div class="character" data-entity="#228" title="latin small letter a with diaeresis">&#228;</div>
70
+ <div class="character" data-entity="#197" title="latin capital letter A with ring above">&#197;</div>
71
+ <div class="character" data-entity="#229" title="latin small letter a with ring above">&#229;</div>
72
+ <div class="character" data-entity="#200" title="latin capital letter E with grave">&#200;</div>
73
+ <div class="character" data-entity="#232" title="latin small letter e with grave">&#232;</div>
74
+ <div class="character" data-entity="#201" title="latin capital letter E with acute">&#201;</div>
75
+ <div class="character" data-entity="#233" title="latin small letter e with acute">&#233;</div>
76
+ <div class="character" data-entity="#202" title="latin capital letter E with circumflex">&#202;</div>
77
+ <div class="character" data-entity="#234" title="latin small letter e with circumflex">&#234;</div>
78
+ <div class="character" data-entity="#203" title="latin capital letter E with diaeresis">&#203;</div>
79
+ <div class="character" data-entity="#235" title="latin small letter e with diaeresis">&#235;</div>
80
+ <div class="character" data-entity="#204" title="latin capital letter I with grave">&#204;</div>
81
+ <div class="character" data-entity="#236" title="latin small letter i with grave">&#236;</div>
82
+ <div class="character" data-entity="#205" title="latin capital letter I with acute">&#205;</div>
83
+ <div class="character" data-entity="#237" title="latin small letter i with acute">&#237;</div>
84
+ <div class="character" data-entity="#206" title="latin capital letter I with circumflex">&#206;</div>
85
+ <div class="character" data-entity="#238" title="latin small letter i with circumflex">&#238;</div>
86
+ <div class="character" data-entity="#207" title="latin capital letter I with diaeresis">&#207;</div>
87
+ <div class="character" data-entity="#239" title="latin small letter i with diaeresis">&#239;</div>
88
+ <div class="character" data-entity="#210" title="latin capital letter O with grave">&#210;</div>
89
+ <div class="character" data-entity="#242" title="latin small letter o with grave">&#242;</div>
90
+ <div class="character" data-entity="#211" title="latin capital letter O with acute">&#211;</div>
91
+ <div class="character" data-entity="#243" title="latin small letter o with acute">&#243;</div>
92
+ <div class="character" data-entity="#212" title="latin capital letter O with circumflex">&#212;</div>
93
+ <div class="character" data-entity="#244" title="latin small letter o with circumflex">&#244;</div>
94
+ <div class="character" data-entity="#213" title="latin capital letter O with tilde">&#213;</div>
95
+ <div class="character" data-entity="#245" title="latin small letter o with tilde">&#245;</div>
96
+ <div class="character" data-entity="#214" title="latin capital letter O with diaeresis">&#214;</div>
97
+ <div class="character" data-entity="#246" title="latin small letter o with diaeresis">&#246;</div>
98
+ <div class="character" data-entity="#216" title="latin capital letter O with stroke">&#216;</div>
99
+ <div class="character" data-entity="#248" title="latin small letter o with stroke">&#248;</div>
100
+ <div class="character" data-entity="#217" title="latin capital letter U with grave">&#217;</div>
101
+ <div class="character" data-entity="#249" title="latin small letter u with grave">&#249;</div>
102
+ <div class="character" data-entity="#218" title="latin capital letter U with acute">&#218;</div>
103
+ <div class="character" data-entity="#250" title="latin small letter u with acute">&#250;</div>
104
+ <div class="character" data-entity="#219" title="latin capital letter U with circumflex">&#219;</div>
105
+ <div class="character" data-entity="#251" title="latin small letter u with circumflex">&#251;</div>
106
+ <div class="character" data-entity="#220" title="latin capital letter U with diaeresis">&#220;</div>
107
+ <div class="character" data-entity="#252" title="latin small letter u with diaeresis">&#252;</div>
108
+ <div class="character" data-entity="#221" title="latin capital letter Y with acute">&#221;</div>
109
+ <div class="character" data-entity="#253" title="latin small letter y with acute">&#253;</div>
110
+ <div class="character" data-entity="#376" title="latin capital letter Y with diaeresis">&#376;</div>
111
+ <div class="character" data-entity="#255" title="latin small letter y with diaeresis">&#255;</div>
112
+ <div class="character" data-entity="#198" title="latin capital ligature AE">&#198;</div>
113
+ <div class="character" data-entity="#230" title="latin small ligature ae">&#230;</div>
114
+ <div class="character" data-entity="#338" title="latin capital ligature OE">&#338;</div>
115
+ <div class="character" data-entity="#339" title="latin small ligature oe">&#339;</div>
116
+ <div class="character" data-entity="#352" title="latin capital letter S with caron">&#352;</div>
117
+ <div class="character" data-entity="#353" title="latin small letter s with caron">&#353;</div>
118
+ <div class="character" data-entity="#199" title="latin capital letter C with cedilla">&#199;</div>
119
+ <div class="character" data-entity="#231" title="latin small letter c with cedilla">&#231;</div>
120
+ <div class="character" data-entity="#208" title="latin capital letter ETH">&#208;</div>
121
+ <div class="character" data-entity="#240" title="latin small letter eth">&#240;</div>
122
+ <div class="character" data-entity="#209" title="latin capital letter N with tilde">&#209;</div>
123
+ <div class="character" data-entity="#241" title="latin small letter n with tilde">&#241;</div>
124
+ <div class="character" data-entity="#222" title="latin capital letter THORN">&#222;</div>
125
+ <div class="character" data-entity="#254" title="latin small letter thorn">&#254;</div>
126
+ <div class="character" data-entity="#223" title="latin small letter sharp s (ess-zed)">&#223;</div>
127
+ <div class="character" data-entity="#402" title="latin small f with hook (function)">&#402;</div>
128
+ <div class="character" data-entity="#913" title="greek capital letter alpha">&#913;</div>
129
+ <div class="character" data-entity="#914" title="greek capital letter beta">&#914;</div>
130
+ <div class="character" data-entity="#915" title="greek capital letter gamma">&#915;</div>
131
+ <div class="character" data-entity="#916" title="greek capital letter delta">&#916;</div>
132
+ <div class="character" data-entity="#917" title="greek capital letter epsilon">&#917;</div>
133
+ <div class="character" data-entity="#918" title="greek capital letter zeta">&#918;</div>
134
+ <div class="character" data-entity="#919" title="greek capital letter eta">&#919;</div>
135
+ <div class="character" data-entity="#920" title="greek capital letter theta">&#920;</div>
136
+ <div class="character" data-entity="#921" title="greek capital letter iota">&#921;</div>
137
+ <div class="character" data-entity="#922" title="greek capital letter kappa">&#922;</div>
138
+ <div class="character" data-entity="#923" title="greek capital letter lambda">&#923;</div>
139
+ <div class="character" data-entity="#924" title="greek capital letter mu">&#924;</div>
140
+ <div class="character" data-entity="#925" title="greek capital letter nu">&#925;</div>
141
+ <div class="character" data-entity="#926" title="greek capital letter xi">&#926;</div>
142
+ <div class="character" data-entity="#927" title="greek capital letter omicron">&#927;</div>
143
+ <div class="character" data-entity="#928" title="greek capital letter pi">&#928;</div>
144
+ <div class="character" data-entity="#929" title="greek capital letter rho">&#929;</div>
145
+ <div class="character" data-entity="#931" title="greek capital letter sigma">&#931;</div>
146
+ <div class="character" data-entity="#932" title="greek capital letter tau">&#932;</div>
147
+ <div class="character" data-entity="#933" title="greek capital letter upsilon">&#933;</div>
148
+ <div class="character" data-entity="#934" title="greek capital letter phi">&#934;</div>
149
+ <div class="character" data-entity="#935" title="greek capital letter chi">&#935;</div>
150
+ <div class="character" data-entity="#936" title="greek capital letter psi">&#936;</div>
151
+ <div class="character" data-entity="#937" title="greek capital letter omega">&#937;</div>
152
+ <div class="character" data-entity="#945" title="greek small letter alpha">&#945;</div>
153
+ <div class="character" data-entity="#946" title="greek small letter beta">&#946;</div>
154
+ <div class="character" data-entity="#947" title="greek small letter gamma">&#947;</div>
155
+ <div class="character" data-entity="#948" title="greek small letter delta">&#948;</div>
156
+ <div class="character" data-entity="#949" title="greek small letter epsilon">&#949;</div>
157
+ <div class="character" data-entity="#950" title="greek small letter zeta">&#950;</div>
158
+ <div class="character" data-entity="#951" title="greek small letter eta">&#951;</div>
159
+ <div class="character" data-entity="#952" title="greek small letter theta">&#952;</div>
160
+ <div class="character" data-entity="#953" title="greek small letter iota">&#953;</div>
161
+ <div class="character" data-entity="#954" title="greek small letter kappa">&#954;</div>
162
+ <div class="character" data-entity="#955" title="greek small letter lambda">&#955;</div>
163
+ <div class="character" data-entity="#956" title="greek small letter mu">&#956;</div>
164
+ <div class="character" data-entity="#957" title="greek small letter nu">&#957;</div>
165
+ <div class="character" data-entity="#958" title="greek small letter xi">&#958;</div>
166
+ <div class="character" data-entity="#959" title="greek small letter omicron">&#959;</div>
167
+ <div class="character" data-entity="#960" title="greek small letter pi">&#960;</div>
168
+ <div class="character" data-entity="#961" title="greek small letter rho">&#961;</div>
169
+ <div class="character" data-entity="#962" title="greek small letter final sigma">&#962;</div>
170
+ <div class="character" data-entity="#963" title="greek small letter sigma">&#963;</div>
171
+ <div class="character" data-entity="#964" title="greek small letter tau">&#964;</div>
172
+ <div class="character" data-entity="#965" title="greek small letter upsilon">&#965;</div>
173
+ <div class="character" data-entity="#966" title="greek small letter phi">&#966;</div>
174
+ <div class="character" data-entity="#967" title="greek small letter chi">&#967;</div>
175
+ <div class="character" data-entity="#968" title="greek small letter psi">&#968;</div>
176
+ <div class="character" data-entity="#969" title="greek small letter omega">&#969;</div>
177
+ <div class="character" data-entity="#977" title="greek small letter theta symbol">&#977;</div>
178
+ <div class="character" data-entity="#978" title="greek upsilon with hook symbol">&#978;</div>
179
+ <div class="character" data-entity="#982" title="greek pi symbol">&#982;</div>
180
+ <div class="character" data-entity="#8226" title="bullet (black small circle)">&#8226;</div>
181
+ <div class="character" data-entity="#8230" title="horizontal ellipsis">&#8230;</div>
182
+ <div class="character" data-entity="#8242" title="prime (minutes/feet)">&#8242;</div>
183
+ <div class="character" data-entity="#8243" title="double prime (seconds/inches)">&#8243;</div>
184
+ <div class="character" data-entity="#8254" title="overline">&#8254;</div>
185
+ <div class="character" data-entity="#8260" title="fraction slash">&#8260;</div>
186
+ <div class="character" data-entity="#8472" title="Weierstrass p">&#8472;</div>
187
+ <div class="character" data-entity="#8465" title="imaginary part">&#8465;</div>
188
+ <div class="character" data-entity="#8476" title="real part symbol">&#8476;</div>
189
+ <div class="character" data-entity="#8482" title="trade mark sign">&#8482;</div>
190
+ <div class="character" data-entity="#8501" title="first transfinite cardinal">&#8501;</div>
191
+ <div class="character" data-entity="#8592" title="leftwards arrow">&#8592;</div>
192
+ <div class="character" data-entity="#8593" title="upwards arrow">&#8593;</div>
193
+ <div class="character" data-entity="#8594" title="rightwards arrow">&#8594;</div>
194
+ <div class="character" data-entity="#8595" title="downwards arrow">&#8595;</div>
195
+ <div class="character" data-entity="#8596" title="left right arrow">&#8596;</div>
196
+ <div class="character" data-entity="#8629" title="downwards arrow with corner leftwards">&#8629;</div>
197
+ <div class="character" data-entity="#8656" title="leftwards double arrow">&#8656;</div>
198
+ <div class="character" data-entity="#8657" title="upwards double arrow">&#8657;</div>
199
+ <div class="character" data-entity="#8658" title="rightwards double arrow">&#8658;</div>
200
+ <div class="character" data-entity="#8659" title="downwards double arrow">&#8659;</div>
201
+ <div class="character" data-entity="#8660" title="left right double arrow">&#8660;</div>
202
+ <div class="character" data-entity="#8704" title="for all">&#8704;</div>
203
+ <div class="character" data-entity="#8706" title="partial differential">&#8706;</div>
204
+ <div class="character" data-entity="#8707" title="there exists">&#8707;</div>
205
+ <div class="character" data-entity="#8709" title="empty set (null set/diameter)">&#8709;</div>
206
+ <div class="character" data-entity="#8711" title="nabla (backward difference)">&#8711;</div>
207
+ <div class="character" data-entity="#8712" title="element of">&#8712;</div>
208
+ <div class="character" data-entity="#8713" title="not an element of">&#8713;</div>
209
+ <div class="character" data-entity="#8715" title="contains as member">&#8715;</div>
210
+ <div class="character" data-entity="#8719" title="n-ary product (product sign)">&#8719;</div>
211
+ <div class="character" data-entity="#8721" title="n-ary sumation">&#8721;</div>
212
+ <div class="character" data-entity="#8722" title="minus sign">&#8722;</div>
213
+ <div class="character" data-entity="#8727" title="asterisk operator">&#8727;</div>
214
+ <div class="character" data-entity="#8730" title="square root (radical sign)">&#8730;</div>
215
+ <div class="character" data-entity="#8733" title="proportional to">&#8733;</div>
216
+ <div class="character" data-entity="#8734" title="infinity">&#8734;</div>
217
+ <div class="character" data-entity="#8736" title="angle">&#8736;</div>
218
+ <div class="character" data-entity="#8743" title="logical and (wedge)">&#8743;</div>
219
+ <div class="character" data-entity="#8744" title="logical or (vee)">&#8744;</div>
220
+ <div class="character" data-entity="#8745" title="intersection (cap)">&#8745;</div>
221
+ <div class="character" data-entity="#8746" title="union (cup)">&#8746;</div>
222
+ <div class="character" data-entity="#8747" title="integral">&#8747;</div>
223
+ <div class="character" data-entity="#8756" title="therefore">&#8756;</div>
224
+ <div class="character" data-entity="#8764" title="tilde operator (varies with/similar to)">&#8764;</div>
225
+ <div class="character" data-entity="#8773" title="approximately equal to">&#8773;</div>
226
+ <div class="character" data-entity="#8776" title="almost equal to (asymptotic to)">&#8776;</div>
227
+ <div class="character" data-entity="#8800" title="not equal to">&#8800;</div>
228
+ <div class="character" data-entity="#8801" title="identical to">&#8801;</div>
229
+ <div class="character" data-entity="#8804" title="less-than or equal to">&#8804;</div>
230
+ <div class="character" data-entity="#8805" title="greater-than or equal to">&#8805;</div>
231
+ <div class="character" data-entity="#8834" title="subset of">&#8834;</div>
232
+ <div class="character" data-entity="#8835" title="superset of">&#8835;</div>
233
+ <div class="character" data-entity="#8836" title="not a subset of">&#8836;</div>
234
+ <div class="character" data-entity="#8838" title="subset of or equal to">&#8838;</div>
235
+ <div class="character" data-entity="#8839" title="superset of or equal to">&#8839;</div>
236
+ <div class="character" data-entity="#8853" title="circled plus (direct sum)">&#8853;</div>
237
+ <div class="character" data-entity="#8855" title="circled times (vector product)">&#8855;</div>
238
+ <div class="character" data-entity="#8869" title="up tack (orthogonal to/perpendicular)">&#8869;</div>
239
+ <div class="character" data-entity="#8901" title="dot operator">&#8901;</div>
240
+ <div class="character" data-entity="#8968" title="left ceiling (apl upstile)">&#8968;</div>
241
+ <div class="character" data-entity="#8969" title="right ceiling">&#8969;</div>
242
+ <div class="character" data-entity="#8970" title="left floor (apl downstile)">&#8970;</div>
243
+ <div class="character" data-entity="#8971" title="right floor">&#8971;</div>
244
+ <div class="character" data-entity="#9001" title="left-pointing angle bracket (bra)">&#9001;</div>
245
+ <div class="character" data-entity="#9002" title="right-pointing angle bracket (ket)">&#9002;</div>
246
+ <div class="character" data-entity="#9674" title="lozenge">&#9674;</div>
247
+ <div class="character" data-entity="#9824" title="black spade suit">&#9824;</div>
248
+ <div class="character" data-entity="#9827" title="black club suit (shamrock)">&#9827;</div>
249
+ <div class="character" data-entity="#9829" title="black heart suit (valentine)">&#9829;</div>
250
+ <div class="character" data-entity="#9830" title="black diamond suit">&#9830;</div>
251
+ <div class="character" data-entity="#x2603" title="snowman">&#x2603;</div>
252
+ </div>
253
+ </div>
254
+
255
+ </form>
@@ -0,0 +1,13 @@
1
+ <form id="mercury_html_editor" class="mercury-form" style="width:650px">
2
+
3
+ <textarea class="mercury-display-pane-container" rows="5" style="width:100%"></textarea>
4
+
5
+ <div class="mercury-display-controls">
6
+ <fieldset class="buttons">
7
+ <ol>
8
+ <li class="commit button"><input class="submit" name="commit" type="submit" value="Save and Replace"/></li>
9
+ </ol>
10
+ </fieldset>
11
+ </div>
12
+
13
+ </form>
@@ -0,0 +1,75 @@
1
+ <form id="mercury_link" 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" id="link_text_container">
7
+ <ol>
8
+ <li id="link_text_input" class="string input optional stringish">
9
+ <label class="label" for="link_text">Link Content</label>
10
+ <input id="link_text" name="link[text]" type="text"/>
11
+ </li>
12
+ </ol>
13
+ </fieldset>
14
+
15
+ <fieldset class="inputs">
16
+ <legend><span>Standard Links</span></legend>
17
+ <ol>
18
+ <li id="link_external_url_input" class="string input optional stringish">
19
+ <label class="label" for="link_external_url"><input name="link_type" type="radio" value="external_url" checked="checked"/>URL</label>
20
+ <input class="selectable" id="link_external_url" name="link[external_url]" type="text"/>
21
+ </li>
22
+ </ol>
23
+ </fieldset>
24
+
25
+ <fieldset class="inputs">
26
+ <legend><span>Index / Bookmark Links</span></legend>
27
+ <ol>
28
+ <li id="link_existing_bookmark_input" class="select input optional">
29
+ <label class="label" for="link_existing_bookmark"><input name="link_type" type="radio" value="existing_bookmark"/>Existing Links</label>
30
+ <select class="selectable" id="link_existing_bookmark" name="link[existing_bookmark]"></select>
31
+ </li>
32
+ <li id="link_new_bookmark_input" class="string input optional stringish">
33
+ <label class="label" for="link_new_bookmark"><input name="link_type" type="radio" value="new_bookmark"/>Bookmark</label>
34
+ <input class="selectable" id="link_new_bookmark" name="link[new_bookmark]" type="text"/>
35
+ </li>
36
+ </ol>
37
+ </fieldset>
38
+
39
+ <fieldset class="inputs">
40
+ <legend><span>Options</span></legend>
41
+ <ol>
42
+ <li id="link_target_input" class="select input optional">
43
+ <label class="label" for="link_target">Link Target</label>
44
+ <select id="link_target" name="link[target]">
45
+ <option value="">Self (the same window or tab)</option>
46
+ <option value="_blank">Blank (a new window or tab)</option>
47
+ <option value="_top">Top (removes any frames)</option>
48
+ <option value="popup">Popup Window (javascript new window popup)</option>
49
+ </select>
50
+ </li>
51
+ <div id="popup_options" class="link-target-options" style="display:none">
52
+ <li id="link_popup_width_input" class="string input optional stringish">
53
+ <label class="label" for="link_popup_width">Popup Width</label>
54
+ <input id="link_popup_width" name="link[popup_width]" type="text"/>
55
+ </li>
56
+ <li id="link_popup_height_input" class="string input optional stringish">
57
+ <label class="label" for="link_popup_height">Popup Height</label>
58
+ <input id="link_popup_height" name="link[popup_height]" type="text"/>
59
+ </li>
60
+ </div>
61
+ </ol>
62
+ </fieldset>
63
+
64
+ </div>
65
+ </div>
66
+
67
+ <div class="mercury-display-controls">
68
+ <fieldset class="buttons">
69
+ <ol>
70
+ <li class="commit button"><input class="submit" name="commit" type="submit" value="Insert Link"/></li>
71
+ </ol>
72
+ </fieldset>
73
+ </div>
74
+
75
+ </form>