ueditor_rails 0.0.1

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 (355) hide show
  1. data/MIT-LICENSE +20 -0
  2. data/README.markdown +36 -0
  3. data/Rakefile +40 -0
  4. data/app/assets/javascripts/ueditor_rails/config.js.erb +207 -0
  5. data/app/assets/javascripts/ueditor_rails/init.js +12 -0
  6. data/app/controllers/ueditor_rails/application_controller.rb +5 -0
  7. data/app/controllers/ueditor_rails/dialogs_controller.rb +13 -0
  8. data/app/controllers/ueditor_rails/libs_controller.rb +20 -0
  9. data/app/helpers/ueditor_rails/application_helper.rb +4 -0
  10. data/app/views/ueditor_rails/dialogs/attachment.html.erb +128 -0
  11. data/app/views/ueditor_rails/dialogs/image.html.erb +205 -0
  12. data/config/routes.rb +11 -0
  13. data/lib/generators/ueditor_rails/USAGE +8 -0
  14. data/lib/generators/ueditor_rails/install_generator.rb +15 -0
  15. data/lib/generators/ueditor_rails/templates/ueditor_config.js.erb +204 -0
  16. data/lib/tasks/ueditor_rails_tasks.rake +4 -0
  17. data/lib/ueditor_rails.rb +25 -0
  18. data/lib/ueditor_rails/engine.rb +17 -0
  19. data/lib/ueditor_rails/helpers/form_builder.rb +11 -0
  20. data/lib/ueditor_rails/helpers/form_helper.rb +26 -0
  21. data/lib/ueditor_rails/helpers/view_helper.rb +21 -0
  22. data/lib/ueditor_rails/util.rb +32 -0
  23. data/lib/ueditor_rails/version.rb +3 -0
  24. data/test/dummy/README.rdoc +261 -0
  25. data/test/dummy/Rakefile +7 -0
  26. data/test/dummy/app/assets/javascripts/application.js +17 -0
  27. data/test/dummy/app/assets/javascripts/posts.js +2 -0
  28. data/test/dummy/app/assets/javascripts/ueditor_config.js.erb +201 -0
  29. data/test/dummy/app/assets/stylesheets/application.css +13 -0
  30. data/test/dummy/app/assets/stylesheets/posts.css +4 -0
  31. data/test/dummy/app/assets/stylesheets/scaffold.css +56 -0
  32. data/test/dummy/app/controllers/application_controller.rb +3 -0
  33. data/test/dummy/app/controllers/posts_controller.rb +83 -0
  34. data/test/dummy/app/helpers/application_helper.rb +2 -0
  35. data/test/dummy/app/helpers/posts_helper.rb +2 -0
  36. data/test/dummy/app/models/post.rb +3 -0
  37. data/test/dummy/app/views/layouts/application.html.erb +14 -0
  38. data/test/dummy/app/views/posts/_form.html.erb +25 -0
  39. data/test/dummy/app/views/posts/edit.html.erb +6 -0
  40. data/test/dummy/app/views/posts/index.html.erb +29 -0
  41. data/test/dummy/app/views/posts/new.html.erb +5 -0
  42. data/test/dummy/app/views/posts/show.html.erb +14 -0
  43. data/test/dummy/config.ru +4 -0
  44. data/test/dummy/config/application.rb +59 -0
  45. data/test/dummy/config/boot.rb +10 -0
  46. data/test/dummy/config/database.yml +25 -0
  47. data/test/dummy/config/environment.rb +5 -0
  48. data/test/dummy/config/environments/development.rb +37 -0
  49. data/test/dummy/config/environments/production.rb +67 -0
  50. data/test/dummy/config/environments/test.rb +37 -0
  51. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  52. data/test/dummy/config/initializers/inflections.rb +15 -0
  53. data/test/dummy/config/initializers/mime_types.rb +5 -0
  54. data/test/dummy/config/initializers/secret_token.rb +7 -0
  55. data/test/dummy/config/initializers/session_store.rb +8 -0
  56. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  57. data/test/dummy/config/locales/en.yml +5 -0
  58. data/test/dummy/config/routes.rb +8 -0
  59. data/test/dummy/db/development.sqlite3 +0 -0
  60. data/test/dummy/db/migrate/20130327173045_create_posts.rb +10 -0
  61. data/test/dummy/db/schema.rb +23 -0
  62. data/test/dummy/log/development.log +12037 -0
  63. data/test/dummy/log/production.log +7 -0
  64. data/test/dummy/public/404.html +26 -0
  65. data/test/dummy/public/422.html +26 -0
  66. data/test/dummy/public/500.html +25 -0
  67. data/test/dummy/public/favicon.ico +0 -0
  68. data/test/dummy/script/rails +6 -0
  69. data/test/dummy/test/fixtures/posts.yml +9 -0
  70. data/test/dummy/test/functional/posts_controller_test.rb +49 -0
  71. data/test/dummy/test/unit/helpers/posts_helper_test.rb +4 -0
  72. data/test/dummy/test/unit/post_test.rb +7 -0
  73. data/test/dummy/tmp/cache/assets/BDF/630/sprockets%2F5614511158c119e0843a3290422f62c4 +0 -0
  74. data/test/dummy/tmp/cache/assets/C2B/2B0/sprockets%2F6197f74231bf6577350613931d3f68d2 +0 -0
  75. data/test/dummy/tmp/cache/assets/C45/6F0/sprockets%2F8d0029260fa306414726778ccc2114f5 +0 -0
  76. data/test/dummy/tmp/cache/assets/C54/700/sprockets%2Ff3a117b56f12646d477370198ef50526 +0 -0
  77. data/test/dummy/tmp/cache/assets/C5C/D10/sprockets%2F46f8f094709b1722d4b908743489c22b +0 -0
  78. data/test/dummy/tmp/cache/assets/C60/B40/sprockets%2F54d01774a089b4d6669dee7038085556 +0 -0
  79. data/test/dummy/tmp/cache/assets/C6D/9D0/sprockets%2F0c0b92de372485111abd31809d680064 +0 -0
  80. data/test/dummy/tmp/cache/assets/C72/EA0/sprockets%2Fe282c06e62457331c3b56d36c320615d +0 -0
  81. data/test/dummy/tmp/cache/assets/C7A/940/sprockets%2F5799f5e28166414991897d6f9127d5fc +0 -0
  82. data/test/dummy/tmp/cache/assets/C7A/9C0/sprockets%2F492d15f65b17b6cfa0b7351378602147 +0 -0
  83. data/test/dummy/tmp/cache/assets/C84/AA0/sprockets%2F98093181296cc04f03f7580efb00c973 +0 -0
  84. data/test/dummy/tmp/cache/assets/C89/310/sprockets%2Fd1d06f948d748a7068c0e146154d8229 +0 -0
  85. data/test/dummy/tmp/cache/assets/C8A/8E0/sprockets%2F646396c661345dcc625cc575bf061577 +0 -0
  86. data/test/dummy/tmp/cache/assets/C8C/B80/sprockets%2F371bf96e99717688ed7313a0c53f4212 +0 -0
  87. data/test/dummy/tmp/cache/assets/C99/A70/sprockets%2F015fa15293ee9b3456140aa71fa44160 +0 -0
  88. data/test/dummy/tmp/cache/assets/CA7/4B0/sprockets%2Fa126b67ca393a693b7520818dc36c404 +0 -0
  89. data/test/dummy/tmp/cache/assets/CAC/3D0/sprockets%2F0839a13780ffe1bba453564492f04f70 +0 -0
  90. data/test/dummy/tmp/cache/assets/CAC/F50/sprockets%2Fd2c5808102c08c0f1626871aa59d796b +0 -0
  91. data/test/dummy/tmp/cache/assets/CC4/520/sprockets%2F985cf9f9b78b2869f70270770b134c3a +0 -0
  92. data/test/dummy/tmp/cache/assets/CC4/9A0/sprockets%2F2479c7a9ae4286405682d75dcb378d48 +0 -0
  93. data/test/dummy/tmp/cache/assets/CC7/220/sprockets%2Fd066c004d1fd26ae76a61303a7a18145 +0 -0
  94. data/test/dummy/tmp/cache/assets/CD1/E30/sprockets%2F07e2a3e7922a96e0bf582b3ed2160214 +0 -0
  95. data/test/dummy/tmp/cache/assets/CD4/5E0/sprockets%2F9bb402071b005bd61ca675149f1bf697 +0 -0
  96. data/test/dummy/tmp/cache/assets/CD5/B70/sprockets%2F416150dc3ac35079c94273cc46e90aa6 +0 -0
  97. data/test/dummy/tmp/cache/assets/CD6/630/sprockets%2Fe020a12eeaf2399ab542086e57d74056 +0 -0
  98. data/test/dummy/tmp/cache/assets/CD8/370/sprockets%2F357970feca3ac29060c1e3861e2c0953 +0 -0
  99. data/test/dummy/tmp/cache/assets/CD8/4D0/sprockets%2Fa24d9ba34e6c16d99323053382f150df +0 -0
  100. data/test/dummy/tmp/cache/assets/CDC/F80/sprockets%2F7bd94371d531b3f85d02c7a9427841aa +0 -0
  101. data/test/dummy/tmp/cache/assets/CDE/4B0/sprockets%2F342f1d7b7ca0569074f9128b9bda7125 +0 -0
  102. data/test/dummy/tmp/cache/assets/CDE/550/sprockets%2F6a69b27076b361fd10f64874f2c1b46b +0 -0
  103. data/test/dummy/tmp/cache/assets/CDF/860/sprockets%2F8a563174551315a923fc9a78d22fcb7a +0 -0
  104. data/test/dummy/tmp/cache/assets/CE1/3B0/sprockets%2F11a824a4c96529c2912f753ecf8b506d +0 -0
  105. data/test/dummy/tmp/cache/assets/CE3/A20/sprockets%2F9154bb14d747165e7f19d8161d4d2e4b +0 -0
  106. data/test/dummy/tmp/cache/assets/CE4/5E0/sprockets%2F1d31011d7c1599edc54d31d597f856e3 +0 -0
  107. data/test/dummy/tmp/cache/assets/CE5/8C0/sprockets%2F5abcadff90738332520786578cf1733c +0 -0
  108. data/test/dummy/tmp/cache/assets/CE6/070/sprockets%2F85808d5f0458f045dea0e9036d7f53c1 +0 -0
  109. data/test/dummy/tmp/cache/assets/CE7/DB0/sprockets%2F8e9537e225fe8d0a543dbf320c949325 +0 -0
  110. data/test/dummy/tmp/cache/assets/CF0/1D0/sprockets%2F6fc757c2c8329244ca95d6909865bbc2 +0 -0
  111. data/test/dummy/tmp/cache/assets/CF0/C10/sprockets%2Fba2886d474f933456975a52ed2f1c66d +0 -0
  112. data/test/dummy/tmp/cache/assets/CF4/050/sprockets%2F07e64101425f48db3e2b5a4a61d02cc3 +0 -0
  113. data/test/dummy/tmp/cache/assets/CF6/2D0/sprockets%2Ffeef88a45781660a21645e8fbe276297 +0 -0
  114. data/test/dummy/tmp/cache/assets/CF9/3D0/sprockets%2Fd3a2bd3092fe687b0687869fe956493b +0 -0
  115. data/test/dummy/tmp/cache/assets/CF9/970/sprockets%2Fca43c206a5f90a0505194d56e635a1da +0 -0
  116. data/test/dummy/tmp/cache/assets/D04/9C0/sprockets%2F826e5acfd685ead033361021fa9723c1 +0 -0
  117. data/test/dummy/tmp/cache/assets/D07/000/sprockets%2F31610287c7cc1435a7c99f3e132abdc7 +0 -0
  118. data/test/dummy/tmp/cache/assets/D07/BB0/sprockets%2Ff7bbd33ae141463d938437050ac3d5d8 +0 -0
  119. data/test/dummy/tmp/cache/assets/D09/590/sprockets%2F0f074320e9adb54e1f4f69cb6392e420 +0 -0
  120. data/test/dummy/tmp/cache/assets/D0A/5D0/sprockets%2F131bc060fc89d617bc9c9571d2537ab3 +0 -0
  121. data/test/dummy/tmp/cache/assets/D10/3A0/sprockets%2F158f48165ddb9cfa4518a02159a4ec19 +0 -0
  122. data/test/dummy/tmp/cache/assets/D11/3D0/sprockets%2F95e3f52aa53952013be443db8d395c7e +0 -0
  123. data/test/dummy/tmp/cache/assets/D11/A80/sprockets%2Fc2fb6624be686158b2401b4d4a885e7d +0 -0
  124. data/test/dummy/tmp/cache/assets/D11/E20/sprockets%2Fbdd46b652f74de0b46055c41948c2d84 +0 -0
  125. data/test/dummy/tmp/cache/assets/D12/0B0/sprockets%2F671f91009e9f5a07db9c719430ed02cf +0 -0
  126. data/test/dummy/tmp/cache/assets/D12/F90/sprockets%2F397710de23c0f7b3f6cc3ad8635f7812 +0 -0
  127. data/test/dummy/tmp/cache/assets/D1A/310/sprockets%2F5384ad85f52d3272dbc64d46ef3876a4 +0 -0
  128. data/test/dummy/tmp/cache/assets/D1B/EA0/sprockets%2F5110d4ac9e35fe6749c40d2f99bf9191 +0 -0
  129. data/test/dummy/tmp/cache/assets/D1C/910/sprockets%2F0fb26515c30c3b1656a3f4410afb1d2b +0 -0
  130. data/test/dummy/tmp/cache/assets/D1C/C30/sprockets%2F6c41af8340e06f9fd28928991fea3c42 +0 -0
  131. data/test/dummy/tmp/cache/assets/D21/A00/sprockets%2F3207bde101a4d88963b9df6e869e267f +0 -0
  132. data/test/dummy/tmp/cache/assets/D22/DA0/sprockets%2F8a5776bdd0a1e1690c2e7f8bd5798908 +0 -0
  133. data/test/dummy/tmp/cache/assets/D25/7D0/sprockets%2F560b2b61bc3cb739ccb701c2b657311c +0 -0
  134. data/test/dummy/tmp/cache/assets/D28/A40/sprockets%2Fbba251ea4d111ae85160c127f4ab8756 +0 -0
  135. data/test/dummy/tmp/cache/assets/D2A/A10/sprockets%2F0459c22963b25c20faa51ac6dad617d2 +0 -0
  136. data/test/dummy/tmp/cache/assets/D2A/B10/sprockets%2F84f48544cf0b378928b7d6f59e392ccc +0 -0
  137. data/test/dummy/tmp/cache/assets/D31/800/sprockets%2F1e3ed31b0bc5875c2b1557f20b169ad7 +0 -0
  138. data/test/dummy/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705 +0 -0
  139. data/test/dummy/tmp/cache/assets/D32/A50/sprockets%2F11b9b104e2626ae5b506fd28b0b68af8 +0 -0
  140. data/test/dummy/tmp/cache/assets/D38/840/sprockets%2F12b5bf92ed12d821b47e92fa804855aa +0 -0
  141. data/test/dummy/tmp/cache/assets/D39/CF0/sprockets%2F8571123a9e73ccd7c112e35e39aca6a7 +0 -0
  142. data/test/dummy/tmp/cache/assets/D3A/F30/sprockets%2F15a0362cc0f96f824d2e192dc23c4fd9 +0 -0
  143. data/test/dummy/tmp/cache/assets/D3C/170/sprockets%2F916c8d4a702e456a3963151dcfd8bfa0 +0 -0
  144. data/test/dummy/tmp/cache/assets/D3C/9C0/sprockets%2Fab97a93e34581b3aa9fd71ac1f384019 +0 -0
  145. data/test/dummy/tmp/cache/assets/D3F/6C0/sprockets%2Ffb767a73ef0afcc0165723ec081903f9 +0 -0
  146. data/test/dummy/tmp/cache/assets/D3F/C90/sprockets%2F9da014b6c3ba9a861d11299abe96d476 +0 -0
  147. data/test/dummy/tmp/cache/assets/D3F/DC0/sprockets%2F82ef6bb4f2ec0237011ff08c692e429f +0 -0
  148. data/test/dummy/tmp/cache/assets/D41/4D0/sprockets%2F4b5e8493a27349a2c6b62acf462b58dd +0 -0
  149. data/test/dummy/tmp/cache/assets/D42/5C0/sprockets%2F054be4bebb7d59a4a747b3464e91f329 +0 -0
  150. data/test/dummy/tmp/cache/assets/D42/7C0/sprockets%2Ffcae5059b63412f6b286ddf1715e4b94 +0 -0
  151. data/test/dummy/tmp/cache/assets/D43/CF0/sprockets%2Fa8f40f4e4b38284009db82d3ee59a3c7 +0 -0
  152. data/test/dummy/tmp/cache/assets/D43/FB0/sprockets%2F400daf4968c6654111b9a7fd0a5f96fd +0 -0
  153. data/test/dummy/tmp/cache/assets/D44/400/sprockets%2F9f62068ab2f5e6f245e6090cbcda5845 +0 -0
  154. data/test/dummy/tmp/cache/assets/D45/A50/sprockets%2Fe86f7863ca9e1239c3a0cc78cc81209a +0 -0
  155. data/test/dummy/tmp/cache/assets/D4A/400/sprockets%2F9d22629fae12423fde39a8bc663796ea +0 -0
  156. data/test/dummy/tmp/cache/assets/D4B/710/sprockets%2Fe191069e1e69dbe5206ce3893d0fb6e8 +0 -0
  157. data/test/dummy/tmp/cache/assets/D4C/370/sprockets%2F9f8871ddc326d27fb2444e2b9e630c8e +0 -0
  158. data/test/dummy/tmp/cache/assets/D4C/730/sprockets%2F63a49b3364c4469aefe69ade635508fb +0 -0
  159. data/test/dummy/tmp/cache/assets/D4D/060/sprockets%2Fdf8071fd9e383d72ba1f17b5d5e98516 +0 -0
  160. data/test/dummy/tmp/cache/assets/D4E/1B0/sprockets%2Ff7cbd26ba1d28d48de824f0e94586655 +0 -0
  161. data/test/dummy/tmp/cache/assets/D51/190/sprockets%2Fbde53d033a467778f7e5d2095d78fb4f +0 -0
  162. data/test/dummy/tmp/cache/assets/D52/080/sprockets%2Fbdb460a11eea94fd16071a7ea1f35210 +0 -0
  163. data/test/dummy/tmp/cache/assets/D52/890/sprockets%2Fbdd9c7f2d6d70b352f318578941ef9a7 +0 -0
  164. data/test/dummy/tmp/cache/assets/D53/E70/sprockets%2F856560debef90857ce907e1ae35fd079 +0 -0
  165. data/test/dummy/tmp/cache/assets/D57/580/sprockets%2Fc693d77ad959894ad2460c9eeb958a2a +0 -0
  166. data/test/dummy/tmp/cache/assets/D5A/630/sprockets%2F4ac0ab0666b16174df72ccb05c742ad7 +0 -0
  167. data/test/dummy/tmp/cache/assets/D5A/EA0/sprockets%2Fd771ace226fc8215a3572e0aa35bb0d6 +0 -0
  168. data/test/dummy/tmp/cache/assets/D5B/6E0/sprockets%2F01f2ef3b2303b7c39612f0755dcdda3c +0 -0
  169. data/test/dummy/tmp/cache/assets/D5E/C40/sprockets%2F3dd04e28364ca3b9aff00660e3028caf +0 -0
  170. data/test/dummy/tmp/cache/assets/D5E/E70/sprockets%2F85bf39edf8bd33f53b98060c75979cc9 +0 -0
  171. data/test/dummy/tmp/cache/assets/D63/E30/sprockets%2F8bb9b1b4042fa39f01e8b7a2d0388ca5 +0 -0
  172. data/test/dummy/tmp/cache/assets/D68/E70/sprockets%2F0d2ae672147c167b2c2f42d8cbe8c7b5 +0 -0
  173. data/test/dummy/tmp/cache/assets/D69/B40/sprockets%2F60528372c4d9ea38ee60b3fde0d0ba84 +0 -0
  174. data/test/dummy/tmp/cache/assets/D69/C00/sprockets%2Fb71f8a5e0942ae7d4b2b814238ff2e0c +0 -0
  175. data/test/dummy/tmp/cache/assets/D6A/660/sprockets%2F498dedb0ef6a80d452a4b07782d6b1a4 +0 -0
  176. data/test/dummy/tmp/cache/assets/D6C/0A0/sprockets%2F21ec0bf9b2152153f3942fcf8eba9f09 +0 -0
  177. data/test/dummy/tmp/cache/assets/D6D/570/sprockets%2Fb37f4aac840a59d278d8c57a338ccd20 +0 -0
  178. data/test/dummy/tmp/cache/assets/D6E/920/sprockets%2F9ebedf09390f21a580b35c937e24cb1f +0 -0
  179. data/test/dummy/tmp/cache/assets/D6E/AD0/sprockets%2F1dc84fc453b1ddb966271ae54d6b54d5 +0 -0
  180. data/test/dummy/tmp/cache/assets/D6E/F20/sprockets%2F2bb516def8c3a08b7174648da9dd40f3 +0 -0
  181. data/test/dummy/tmp/cache/assets/D70/B70/sprockets%2F6ebaed371aa715b95667e416378cba4d +0 -0
  182. data/test/dummy/tmp/cache/assets/D71/740/sprockets%2F1db90d964be0b67d1b79f5a5e5391ce1 +0 -0
  183. data/test/dummy/tmp/cache/assets/D75/860/sprockets%2Fe8fa1c4ebb9335f1fa16379c842fe750 +0 -0
  184. data/test/dummy/tmp/cache/assets/D75/EF0/sprockets%2F1d96674c67d405c6b50cddfd3b6c3e39 +0 -0
  185. data/test/dummy/tmp/cache/assets/D78/010/sprockets%2Faef73289dfbc84248a6aa0183feb8772 +0 -0
  186. data/test/dummy/tmp/cache/assets/D78/550/sprockets%2F0331b677d4885ee27b9c418f4fedaea4 +0 -0
  187. data/test/dummy/tmp/cache/assets/D7B/B50/sprockets%2F4685b399157deeddba90ea877df710b2 +0 -0
  188. data/test/dummy/tmp/cache/assets/D7C/2E0/sprockets%2Fbf5c619eecd922259e6b45e2f8e02b86 +0 -0
  189. data/test/dummy/tmp/cache/assets/D7C/8A0/sprockets%2Fcaf9df030f62b864de4e3944a9d477d4 +0 -0
  190. data/test/dummy/tmp/cache/assets/D7C/DE0/sprockets%2F4f4705ac7f29f60e99355fb3abf0af78 +0 -0
  191. data/test/dummy/tmp/cache/assets/D7D/510/sprockets%2Fee497e95e73cc27afe781b6bb90b5424 +0 -0
  192. data/test/dummy/tmp/cache/assets/D81/F00/sprockets%2Fac659dac860cb3646df9806f668ac39d +0 -0
  193. data/test/dummy/tmp/cache/assets/D86/620/sprockets%2F01395e5b7993cede6976336b9cfa9bbe +0 -0
  194. data/test/dummy/tmp/cache/assets/D86/6F0/sprockets%2F1526f063df1a7cc0e4fa0460cb6ba44d +0 -0
  195. data/test/dummy/tmp/cache/assets/D87/BB0/sprockets%2Fcd4ae785e2fdf9282a2f36c9543995de +0 -0
  196. data/test/dummy/tmp/cache/assets/D88/E00/sprockets%2Ff5b3e902fad33c44ff6a0e9db20501a0 +0 -0
  197. data/test/dummy/tmp/cache/assets/D8C/6D0/sprockets%2F0ead4d15ad8a9d31d33a14dc191da657 +0 -0
  198. data/test/dummy/tmp/cache/assets/D92/1B0/sprockets%2F1fa31cfb668a21f6d4bb0f6b2536e34e +0 -0
  199. data/test/dummy/tmp/cache/assets/D98/C50/sprockets%2Fcfa37bd769d589c2da1d3116a6db0b90 +0 -0
  200. data/test/dummy/tmp/cache/assets/D9C/790/sprockets%2Fc1bb1797c7e487ea4a940cfd3423da5c +0 -0
  201. data/test/dummy/tmp/cache/assets/D9C/CD0/sprockets%2Fc85016e7bbd4f3adbb7635d01f85d39b +0 -0
  202. data/test/dummy/tmp/cache/assets/D9D/0A0/sprockets%2Fcf40aaefd8ac6ea638790e4a2d367541 +0 -0
  203. data/test/dummy/tmp/cache/assets/D9D/930/sprockets%2F1229f6eab13c794c3ce94ad629d3bbb6 +0 -0
  204. data/test/dummy/tmp/cache/assets/D9D/CB0/sprockets%2F5ffa3729fab74e9b171334f933bbcd2a +0 -0
  205. data/test/dummy/tmp/cache/assets/D9D/D30/sprockets%2F7c202fe7098da9201fe66d37cc60eadd +0 -0
  206. data/test/dummy/tmp/cache/assets/D9E/1F0/sprockets%2Fb913f5de5b049aa041b8ad77ca576b9f +0 -0
  207. data/test/dummy/tmp/cache/assets/DA0/870/sprockets%2F92b550d7b5e47436b5d1db5b47daec8e +0 -0
  208. data/test/dummy/tmp/cache/assets/DA0/C70/sprockets%2Fd04dbacd60d1e2be636849d485b8d75b +0 -0
  209. data/test/dummy/tmp/cache/assets/DA1/C50/sprockets%2F2f73ec238cc2edfeecf185428d06435b +0 -0
  210. data/test/dummy/tmp/cache/assets/DA2/9C0/sprockets%2F5d2fe3ca5cf7ad9e2c5939a291f214a7 +0 -0
  211. data/test/dummy/tmp/cache/assets/DA4/390/sprockets%2F5cdc49a8aad8844bdc5b0a55b28666d8 +0 -0
  212. data/test/dummy/tmp/cache/assets/DA5/850/sprockets%2Ffedd0769ffb447639ab123e2db9a3c29 +0 -0
  213. data/test/dummy/tmp/cache/assets/DAE/160/sprockets%2F6cec68e7a5a848c93ade0e89e7c3501e +0 -0
  214. data/test/dummy/tmp/cache/assets/DAE/260/sprockets%2Fce5fe9569d7e18ea8a136cac298e3f12 +0 -0
  215. data/test/dummy/tmp/cache/assets/DB0/DB0/sprockets%2Fc39fd8a8e5ea5f6a1636c4707c9ef4a7 +0 -0
  216. data/test/dummy/tmp/cache/assets/DB3/C60/sprockets%2F0b0030d24fc428acb4c74c3edd0b94eb +0 -0
  217. data/test/dummy/tmp/cache/assets/DB8/F30/sprockets%2F91c7bb3a08ba6cd159d4b02313deaa7d +0 -0
  218. data/test/dummy/tmp/cache/assets/DC1/E50/sprockets%2F92af4d6d0bafa3ab109c5856ed14e34b +0 -0
  219. data/test/dummy/tmp/cache/assets/DC7/A30/sprockets%2Ff1eccc7f669f63b03bbb55750b50edc1 +0 -0
  220. data/test/dummy/tmp/cache/assets/DC8/B40/sprockets%2F9af180717bb0bacb7e27ce5d53fd1d74 +0 -0
  221. data/test/dummy/tmp/cache/assets/DC9/540/sprockets%2F608262feadebbf52a6d81168ab76b0fd +0 -0
  222. data/test/dummy/tmp/cache/assets/DC9/C10/sprockets%2Fa94c69d0007efe2ef0dbec32e82c942a +0 -0
  223. data/test/dummy/tmp/cache/assets/DCB/790/sprockets%2Ffa6e0afb98324ab70f6f2add80ab9546 +0 -0
  224. data/test/dummy/tmp/cache/assets/DCE/F10/sprockets%2Fa10ef3bf2ea4459a641b3fedfa78785b +0 -0
  225. data/test/dummy/tmp/cache/assets/DD5/A40/sprockets%2F773b57e8cbaba49a2858c9acd5ed930a +0 -0
  226. data/test/dummy/tmp/cache/assets/DD7/600/sprockets%2F0cec2cc545e1d3bd889d195f68dea4b7 +0 -0
  227. data/test/dummy/tmp/cache/assets/DDA/AC0/sprockets%2F8cce49d0b8e0a2de9cbc08fc2279865f +0 -0
  228. data/test/dummy/tmp/cache/assets/DDC/400/sprockets%2Fcffd775d018f68ce5dba1ee0d951a994 +0 -0
  229. data/test/dummy/tmp/cache/assets/DDE/500/sprockets%2Fcff617ff0b83b5a38c991e1a2bff589f +0 -0
  230. data/test/dummy/tmp/cache/assets/DE0/790/sprockets%2Fe508b8ce9b8ef49ab69cf5bbc3d09680 +0 -0
  231. data/test/dummy/tmp/cache/assets/DFA/3D0/sprockets%2F969dbba9b0b881d0fe3ead044ce6b6a4 +0 -0
  232. data/test/dummy/tmp/cache/assets/DFD/610/sprockets%2F5fa40e7fbec251546395f4adbb7aecf4 +0 -0
  233. data/test/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af +0 -0
  234. data/test/dummy/tmp/cache/assets/E0C/D50/sprockets%2Fdd746cdf1870fea2d4fef3db2c96c694 +0 -0
  235. data/test/dummy/tmp/cache/assets/E0E/0D0/sprockets%2F9fab330147d57668f6aff14ccefbfe9e +0 -0
  236. data/test/dummy/tmp/cache/assets/E12/430/sprockets%2F83cde7e665d636ba5b5f98d2dec7fdc3 +0 -0
  237. data/test/dummy/tmp/cache/assets/E23/590/sprockets%2F467d2a58abfbf81d715fdacd6ac3b2b2 +0 -0
  238. data/test/dummy/tmp/cache/assets/E30/F10/sprockets%2Feb96e11c82be8b736df1fcccbcaa8529 +0 -0
  239. data/test/dummy/tmp/cache/assets/E33/680/sprockets%2F1c62bdad5d5cc668bc73eeadc944c97c +0 -0
  240. data/test/dummy/tmp/cache/assets/E34/9F0/sprockets%2F2dbdbaffe3f466f85cee37cee4331f34 +0 -0
  241. data/test/dummy/tmp/cache/assets/E44/410/sprockets%2Fcfdd750d7776be51e48bfefe3cbc99e4 +0 -0
  242. data/test/dummy/tmp/cache/assets/E44/560/sprockets%2Fd728f19f2f5dfac9f555babd49ebb89d +0 -0
  243. data/test/dummy/tmp/cache/assets/E6C/C10/sprockets%2F837ca65eade4def9af9b6ada7cb394f4 +0 -0
  244. data/test/dummy/tmp/cache/assets/E86/510/sprockets%2F6de0e7ce2c9b7e2c7ced4bcfac2b2d06 +0 -0
  245. data/test/functional/ueditor_rails/dialogs_controller_test.rb +16 -0
  246. data/test/functional/ueditor_rails/libs_controller_test.rb +21 -0
  247. data/test/integration/navigation_test.rb +10 -0
  248. data/test/test_helper.rb +15 -0
  249. data/test/ueditor_rails_test.rb +7 -0
  250. data/vendor/assets/javascripts/ueditor/dialogs/attachment/attachment.css.erb +130 -0
  251. data/vendor/assets/javascripts/ueditor/dialogs/attachment/attachment.html.erb +128 -0
  252. data/vendor/assets/javascripts/ueditor/dialogs/attachment/callbacks.js +166 -0
  253. data/vendor/assets/javascripts/ueditor/dialogs/attachment/fileTypeImages/icon_chm.gif +0 -0
  254. data/vendor/assets/javascripts/ueditor/dialogs/attachment/fileTypeImages/icon_default.png +0 -0
  255. data/vendor/assets/javascripts/ueditor/dialogs/attachment/fileTypeImages/icon_doc.gif +0 -0
  256. data/vendor/assets/javascripts/ueditor/dialogs/attachment/fileTypeImages/icon_exe.gif +0 -0
  257. data/vendor/assets/javascripts/ueditor/dialogs/attachment/fileTypeImages/icon_mp3.gif +0 -0
  258. data/vendor/assets/javascripts/ueditor/dialogs/attachment/fileTypeImages/icon_mv.gif +0 -0
  259. data/vendor/assets/javascripts/ueditor/dialogs/attachment/fileTypeImages/icon_pdf.gif +0 -0
  260. data/vendor/assets/javascripts/ueditor/dialogs/attachment/fileTypeImages/icon_ppt.gif +0 -0
  261. data/vendor/assets/javascripts/ueditor/dialogs/attachment/fileTypeImages/icon_psd.gif +0 -0
  262. data/vendor/assets/javascripts/ueditor/dialogs/attachment/fileTypeImages/icon_rar.gif +0 -0
  263. data/vendor/assets/javascripts/ueditor/dialogs/attachment/fileTypeImages/icon_txt.gif +0 -0
  264. data/vendor/assets/javascripts/ueditor/dialogs/attachment/fileTypeImages/icon_xls.gif +0 -0
  265. data/vendor/assets/javascripts/ueditor/dialogs/attachment/fileTypeMaps.js +29 -0
  266. data/vendor/assets/javascripts/ueditor/dialogs/emotion/emotion.css.erb +44 -0
  267. data/vendor/assets/javascripts/ueditor/dialogs/emotion/emotion.html.erb +54 -0
  268. data/vendor/assets/javascripts/ueditor/dialogs/emotion/emotion.js +186 -0
  269. data/vendor/assets/javascripts/ueditor/dialogs/emotion/images/0.gif +0 -0
  270. data/vendor/assets/javascripts/ueditor/dialogs/emotion/images/bface.gif +0 -0
  271. data/vendor/assets/javascripts/ueditor/dialogs/emotion/images/cface.gif +0 -0
  272. data/vendor/assets/javascripts/ueditor/dialogs/emotion/images/fface.gif +0 -0
  273. data/vendor/assets/javascripts/ueditor/dialogs/emotion/images/jxface2.gif +0 -0
  274. data/vendor/assets/javascripts/ueditor/dialogs/emotion/images/neweditor-tab-bg.png +0 -0
  275. data/vendor/assets/javascripts/ueditor/dialogs/emotion/images/tface.gif +0 -0
  276. data/vendor/assets/javascripts/ueditor/dialogs/emotion/images/wface.gif +0 -0
  277. data/vendor/assets/javascripts/ueditor/dialogs/emotion/images/yface.gif +0 -0
  278. data/vendor/assets/javascripts/ueditor/dialogs/help/help.css +7 -0
  279. data/vendor/assets/javascripts/ueditor/dialogs/help/help.html.erb +82 -0
  280. data/vendor/assets/javascripts/ueditor/dialogs/help/help.js +54 -0
  281. data/vendor/assets/javascripts/ueditor/dialogs/image/image.css.erb +74 -0
  282. data/vendor/assets/javascripts/ueditor/dialogs/image/image.html.erb +204 -0
  283. data/vendor/assets/javascripts/ueditor/dialogs/image/image.js +712 -0
  284. data/vendor/assets/javascripts/ueditor/dialogs/image/imageUploader.swf +0 -0
  285. data/vendor/assets/javascripts/ueditor/dialogs/image/images/center_focus.jpg +0 -0
  286. data/vendor/assets/javascripts/ueditor/dialogs/image/images/left_focus.jpg +0 -0
  287. data/vendor/assets/javascripts/ueditor/dialogs/image/images/none_focus.jpg +0 -0
  288. data/vendor/assets/javascripts/ueditor/dialogs/image/images/right_focus.jpg +0 -0
  289. data/vendor/assets/javascripts/ueditor/dialogs/internal.js +79 -0
  290. data/vendor/assets/javascripts/ueditor/dialogs/link/link.html.erb +126 -0
  291. data/vendor/assets/javascripts/ueditor/dialogs/spechars/spechars.html.erb +21 -0
  292. data/vendor/assets/javascripts/ueditor/dialogs/spechars/spechars.js +56 -0
  293. data/vendor/assets/javascripts/ueditor/dialogs/table/dragicon.png +0 -0
  294. data/vendor/assets/javascripts/ueditor/dialogs/table/edittable.css +75 -0
  295. data/vendor/assets/javascripts/ueditor/dialogs/table/edittable.html.erb +56 -0
  296. data/vendor/assets/javascripts/ueditor/dialogs/table/edittable.js +182 -0
  297. data/vendor/assets/javascripts/ueditor/dialogs/table/edittd.html.erb +50 -0
  298. data/vendor/assets/javascripts/ueditor/dialogs/table/edittip.html.erb +33 -0
  299. data/vendor/assets/javascripts/ueditor/dialogs/tangram.js +1238 -0
  300. data/vendor/assets/javascripts/ueditor/dialogs/video/images/center_focus.jpg +0 -0
  301. data/vendor/assets/javascripts/ueditor/dialogs/video/images/left_focus.jpg +0 -0
  302. data/vendor/assets/javascripts/ueditor/dialogs/video/images/none_focus.jpg +0 -0
  303. data/vendor/assets/javascripts/ueditor/dialogs/video/images/right_focus.jpg +0 -0
  304. data/vendor/assets/javascripts/ueditor/dialogs/video/video.css +59 -0
  305. data/vendor/assets/javascripts/ueditor/dialogs/video/video.html.erb +67 -0
  306. data/vendor/assets/javascripts/ueditor/dialogs/video/video.js +402 -0
  307. data/vendor/assets/javascripts/ueditor/editor_all.js.erb +17707 -0
  308. data/vendor/assets/javascripts/ueditor/editor_config.js +238 -0
  309. data/vendor/assets/javascripts/ueditor/lang/zh-cn/images/copy.png +0 -0
  310. data/vendor/assets/javascripts/ueditor/lang/zh-cn/images/imglabel.png +0 -0
  311. data/vendor/assets/javascripts/ueditor/lang/zh-cn/images/localimage.png +0 -0
  312. data/vendor/assets/javascripts/ueditor/lang/zh-cn/images/music.png +0 -0
  313. data/vendor/assets/javascripts/ueditor/lang/zh-cn/images/upload.png +0 -0
  314. data/vendor/assets/javascripts/ueditor/lang/zh-cn/zh-cn.js +492 -0
  315. data/vendor/assets/javascripts/ueditor/themes/default/css/ueditor.css +1582 -0
  316. data/vendor/assets/javascripts/ueditor/themes/default/dialogbase.css.erb +100 -0
  317. data/vendor/assets/javascripts/ueditor/themes/default/images/anchor.gif +0 -0
  318. data/vendor/assets/javascripts/ueditor/themes/default/images/arrow.png +0 -0
  319. data/vendor/assets/javascripts/ueditor/themes/default/images/button-bg.gif +0 -0
  320. data/vendor/assets/javascripts/ueditor/themes/default/images/cancelbutton.gif +0 -0
  321. data/vendor/assets/javascripts/ueditor/themes/default/images/cursor_h.gif +0 -0
  322. data/vendor/assets/javascripts/ueditor/themes/default/images/cursor_h.png +0 -0
  323. data/vendor/assets/javascripts/ueditor/themes/default/images/cursor_v.gif +0 -0
  324. data/vendor/assets/javascripts/ueditor/themes/default/images/cursor_v.png +0 -0
  325. data/vendor/assets/javascripts/ueditor/themes/default/images/dialog-title-bg.png +0 -0
  326. data/vendor/assets/javascripts/ueditor/themes/default/images/filescan.png +0 -0
  327. data/vendor/assets/javascripts/ueditor/themes/default/images/highlighted.gif +0 -0
  328. data/vendor/assets/javascripts/ueditor/themes/default/images/icons-all.gif +0 -0
  329. data/vendor/assets/javascripts/ueditor/themes/default/images/icons.gif +0 -0
  330. data/vendor/assets/javascripts/ueditor/themes/default/images/icons.png +0 -0
  331. data/vendor/assets/javascripts/ueditor/themes/default/images/lock.gif +0 -0
  332. data/vendor/assets/javascripts/ueditor/themes/default/images/neweditor-tab-bg.png +0 -0
  333. data/vendor/assets/javascripts/ueditor/themes/default/images/pagebreak.gif +0 -0
  334. data/vendor/assets/javascripts/ueditor/themes/default/images/scale.png +0 -0
  335. data/vendor/assets/javascripts/ueditor/themes/default/images/spacer.gif +0 -0
  336. data/vendor/assets/javascripts/ueditor/themes/default/images/sparator_v.png +0 -0
  337. data/vendor/assets/javascripts/ueditor/themes/default/images/toolbar_bg.png +0 -0
  338. data/vendor/assets/javascripts/ueditor/themes/default/images/unhighlighted.gif +0 -0
  339. data/vendor/assets/javascripts/ueditor/themes/default/images/upload.png +0 -0
  340. data/vendor/assets/javascripts/ueditor/themes/default/images/videologo.gif +0 -0
  341. data/vendor/assets/javascripts/ueditor/themes/default/images/word.gif +0 -0
  342. data/vendor/assets/javascripts/ueditor/themes/default/images/wordpaste.png +0 -0
  343. data/vendor/assets/javascripts/ueditor/themes/iframe.css +1 -0
  344. data/vendor/assets/javascripts/ueditor/third-party/codemirror/codemirror.css +104 -0
  345. data/vendor/assets/javascripts/ueditor/third-party/codemirror/codemirror.js +3581 -0
  346. data/vendor/assets/javascripts/ueditor/third-party/swfupload/fileprogress.js +215 -0
  347. data/vendor/assets/javascripts/ueditor/third-party/swfupload/swfupload.cookies.js +53 -0
  348. data/vendor/assets/javascripts/ueditor/third-party/swfupload/swfupload.js +1132 -0
  349. data/vendor/assets/javascripts/ueditor/third-party/swfupload/swfupload.proxy.js +96 -0
  350. data/vendor/assets/javascripts/ueditor/third-party/swfupload/swfupload.queue.js +98 -0
  351. data/vendor/assets/javascripts/ueditor/third-party/swfupload/swfupload.speed.js +346 -0
  352. data/vendor/assets/javascripts/ueditor/third-party/swfupload/swfupload.swf +0 -0
  353. data/vendor/assets/javascripts/ueditor/third-party/swfupload/swfupload_fp9.swf +0 -0
  354. data/vendor/assets/javascripts/ueditor/uparse.js +358 -0
  355. metadata +674 -0
data/MIT-LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ Copyright 2013 Jasl
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, sublicense, 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
+ NONINFRINGEMENT. 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/README.markdown ADDED
@@ -0,0 +1,36 @@
1
+ # UEditor Rails
2
+
3
+ UEditor integration with Rails.
4
+
5
+ ## Demo
6
+ Go to ```test/dummy``` and ```rails s```, remember ```bundle``` first.
7
+
8
+ ## Installation
9
+ Add the gem to your Gemfie ```gem 'ueditor_rails', :git => 'https://github.com/jasl/ueditor_rails.git'```.
10
+
11
+ and run ```rails g ueditor_rails:install```.
12
+
13
+ ## Configure
14
+ See ```app/assets/javascripts/ueditor_config.js.erb``` for detail.
15
+
16
+ ## Using
17
+ ```f.ueditor_text :body```
18
+
19
+ ```ueditor_text_tag 'test2', 'text here'```
20
+
21
+ ```ueditor_text_tag 'test1', 'text here', :id => 'xxxx', :width => 500, :toolbars => [["bold","italic","underline"]]```
22
+
23
+ The option can be any which in ```ueditor_config.js.erb```.
24
+
25
+ ## Upload backend
26
+ I don't want implement it, cause it's design depends your business, so you should do it by yourself.
27
+ you can modify ```app/assets/javascripts/ueditor_config.js.erb``` like ```imageUrl: "<%= Rails.application.routes.url_helpers.ueditor_image_path %>"``` to make it available.
28
+
29
+ ## Todo
30
+ - cross domain upload support
31
+
32
+ ## More about UEditor
33
+ [UEditor doc](http://ueditor.baidu.com/website/document.html)
34
+
35
+ ## License
36
+ This project rocks and uses [MIT-LICENSE](http://jasl.mit-license.org/). Jasl
data/Rakefile ADDED
@@ -0,0 +1,40 @@
1
+ #!/usr/bin/env rake
2
+ begin
3
+ require 'bundler/setup'
4
+ rescue LoadError
5
+ puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
6
+ end
7
+ begin
8
+ require 'rdoc/task'
9
+ rescue LoadError
10
+ require 'rdoc/rdoc'
11
+ require 'rake/rdoctask'
12
+ RDoc::Task = Rake::RDocTask
13
+ end
14
+
15
+ RDoc::Task.new(:rdoc) do |rdoc|
16
+ rdoc.rdoc_dir = 'rdoc'
17
+ rdoc.title = 'UeditorRails'
18
+ rdoc.options << '--line-numbers'
19
+ rdoc.rdoc_files.include('README.rdoc')
20
+ rdoc.rdoc_files.include('lib/**/*.rb')
21
+ end
22
+
23
+ APP_RAKEFILE = File.expand_path("../test/dummy/Rakefile", __FILE__)
24
+ load 'rails/tasks/engine.rake'
25
+
26
+
27
+
28
+ Bundler::GemHelper.install_tasks
29
+
30
+ require 'rake/testtask'
31
+
32
+ Rake::TestTask.new(:test) do |t|
33
+ t.libs << 'lib'
34
+ t.libs << 'test'
35
+ t.pattern = 'test/**/*_test.rb'
36
+ t.verbose = false
37
+ end
38
+
39
+
40
+ task :default => :test
@@ -0,0 +1,207 @@
1
+ window.UEDITOR_HOME_URL = "<%= asset_path('ueditor/') %>";
2
+
3
+ window.UEDITOR_CONFIG = {
4
+
5
+ //为编辑器实例添加一个路径,这个不能被注释
6
+ UEDITOR_HOME_URL : window.UEDITOR_HOME_URL
7
+ //图片上传配置区
8
+ ,imageUrl: "" //图片上传提交地址
9
+ ,imagePath: "" //图片修正地址,引用了fixedImagePath,如有特殊需求,可自行配置
10
+ //,imageFieldName:"upfile" //图片数据的key,若此处修改,需要在后台对应文件修改对应参数
11
+ //,compressSide:0 //等比压缩的基准,确定maxImageSideLength参数的参照对象。0为按照最长边,1为按照宽度,2为按照高度
12
+ //,maxImageSideLength:900 //上传图片最大允许的边长,超过会自动等比缩放,不缩放就设置一个比较大的值,更多设置在image.html中
13
+
14
+ //涂鸦图片配置区
15
+ ,scrawlUrl: "" //涂鸦上传地址
16
+ ,scrawlPath: "" //图片修正地址,同imagePath
17
+
18
+ //附件上传配置区
19
+ ,fileUrl: "" //附件上传提交地址
20
+ ,filePath: "" //附件修正地址,同imagePath
21
+ //,fileFieldName:"upfile" //附件提交的表单名,若此处修改,需要在后台对应文件修改对应参数
22
+ //远程抓取配置区
23
+ //,catchRemoteImageEnable:true //是否开启远程图片抓取,默认开启
24
+ ,catcherUrl: "" //处理远程图片抓取的地址
25
+ ,catcherPath: "" //图片修正地址,同imagePath
26
+ //,catchFieldName:"upfile" //提交到后台远程图片uri合集,若此处修改,需要在后台对应文件修改对应参数
27
+ //,separater:'ue_separate_ue' //提交至后台的远程图片地址字符串分隔符
28
+ //,localDomain:[] //本地顶级域名,当开启远程图片抓取时,除此之外的所有其它域名下的图片都将被抓取到本地,默认不抓取127.0.0.1和localhost
29
+
30
+ //图片在线管理配置区
31
+ ,imageManagerUrl: "" //图片在线管理的处理地址
32
+ ,imageManagerPath: "" //图片修正地址,同imagePath
33
+
34
+ //屏幕截图配置区
35
+ ,snapscreenHost: "" //屏幕截图的server端文件所在的网站地址或者ip,请不要加http://
36
+ ,snapscreenServerUrl: "" //屏幕截图的server端保存程序,UEditor的范例代码为“URL +"server/upload/php/snapImgUp.php"”
37
+ ,snapscreenPath: ""
38
+ //,snapscreenServerPort: 80 //屏幕截图的server端端口
39
+ //,snapscreenImgAlign: 'center' //截图的图片默认的排版方式
40
+
41
+ //word转存配置区
42
+ ,wordImageUrl: "" //word转存提交地址
43
+ ,wordImagePath: "" //
44
+ //,wordImageFieldName:"upfile" //word转存表单名若此处修改,需要在后台对应文件修改对应参数
45
+
46
+ //获取视频数据的地址
47
+ ,getMovieUrl: "" //视频数据获取地址
48
+
49
+ //工具栏上的所有的功能按钮和下拉框,可以在new编辑器的实例时选择自己需要的从新定义
50
+ ,toolbars:[["bold","italic","underline","strikethrough","forecolor","backcolor","justifyleft","justifycenter","justifyright","justifyjustify","indent","removeformat","formatmatch","autotypeset","pasteplain","customstyle","insertunorderedlist","insertorderedlist","source","fullscreen","preview","help"],["insertimage","emotion","insertvideo","attachment","blockquote","spechars","link","unlink"],["inserttable","deletetable","mergedown","mergeright","splittorows","splittocols","splittocells","mergecells"],[]]
51
+ //当鼠标放在工具栏上时显示的tooltip提示,留空支持自动多语言配置,否则以配置值为准
52
+ ,labelMap:{
53
+ 'anchor':'', 'undo':''
54
+ }
55
+ //webAppKey
56
+ //百度应用的APIkey,每个站长必须首先去百度官网注册一个key后方能正常使用app功能
57
+ ,webAppKey:""
58
+
59
+
60
+ //语言配置项,默认是zh-cn。有需要的话也可以使用如下这样的方式来自动多语言切换,当然,前提条件是lang文件夹下存在对应的语言文件:
61
+ //lang值也可以通过自动获取 (navigator.language||navigator.browserLanguage ||navigator.userLanguage).toLowerCase()
62
+ //,lang:'zh-cn'
63
+
64
+ //,langPath:URL +"lang/"
65
+
66
+ //主题配置项,默认是default。有需要的话也可以使用如下这样的方式来自动多主题切换,当然,前提条件是themes文件夹下存在对应的主题文件:
67
+ //现有如下皮肤:default,modern,gorgeous
68
+ //,theme:'default'
69
+ //,themePath:URL +"themes/"
70
+
71
+ //若实例化编辑器的页面手动修改的domain,此处需要设置为true
72
+ //,customDomain:false
73
+
74
+ //针对getAllHtml方法,会在对应的head标签中增加该编码设置。
75
+ //,charset:"utf-8"
76
+
77
+ //常用配置项目
78
+ //,isShow : true //默认显示编辑器
79
+
80
+ ,initialContent:'' //初始化编辑器的内容,也可以通过textarea/script给值,看官网例子
81
+
82
+ //,initialFrameWidth:1000 //初始化编辑器宽度,默认1000
83
+ //,initialFrameHeight:320 //初始化编辑器高度,默认320
84
+
85
+ //,autoClearinitialContent:true //是否自动清除编辑器初始内容,注意:如果focus属性设置为true,这个也为真,那么编辑器一上来就会触发导致初始化的内容看不到了
86
+
87
+ //,iframeCssUrl: URL + '/themes/iframe.css' //给编辑器内部引入一个css文件
88
+ //,textarea:'editorValue' // 提交表单时,服务器获取编辑器提交内容的所用的参数,多实例时可以给容器name属性,会将name给定的值最为每个实例的键值,不用每次实例化的时候都设置这个值
89
+ //,focus:true //初始化时,是否让编辑器获得焦点true或false
90
+
91
+ //,autoClearEmptyNode : true //getContent时,是否删除空的inlineElement节点(包括嵌套的情况)
92
+
93
+ //,fullscreen : false //是否开启初始化时即全屏,默认关闭
94
+
95
+ //,readonly : false /编辑器初始化结束后,编辑区域是否是只读的,默认是false
96
+
97
+ //,zIndex : 900 //编辑器层级的基数,默认是900
98
+
99
+ //,imagePopup:true //图片操作的浮层开关,默认打开
100
+
101
+ //,initialStyle:'body{font-size:18px}' //编辑器内部样式,可以用来改变字体等
102
+
103
+ //,emotionLocalization:false //是否开启表情本地化,默认关闭。若要开启请确保emotion文件夹下包含官网提供的images表情文件夹
104
+
105
+ //,pasteplain:false //是否纯文本粘贴。false为不使用纯文本粘贴,true为使用纯文本粘贴
106
+
107
+ //,allHtmlEnabled:false //提交到后台的数据是否包含整个html字符串
108
+ //iframeUrlMap
109
+ //dialog内容的路径 ~会被替换成URL,垓属性一旦打开,将覆盖所有的dialog的默认路径
110
+ //,iframeUrlMap:{
111
+ // 'anchor':'~/dialogs/anchor/anchor.html',
112
+ // }
113
+ //insertorderedlist
114
+ //有序列表的下拉配置,值留空时支持多语言自动识别,若配置值,则以此值为准
115
+ // ,'insertorderedlist':{
116
+ // 'decimal' : '' , //'1,2,3...'
117
+ // 'lower-alpha' : '' , // 'a,b,c...'
118
+ // 'lower-roman' : '' , //'i,ii,iii...'
119
+ // 'upper-alpha' : '' , lang //'A,B,C'
120
+ // 'upper-roman' : '' //'I,II,III...'
121
+ // }
122
+ //insertunorderedlist
123
+ //无序列表的下拉配置,值留空时支持多语言自动识别,若配置值,则以此值为准
124
+ //,insertunorderedlist : {
125
+ // 'circle' : '', // '○ 小圆圈'
126
+ // 'disc' : '', // '● 小圆点'
127
+ // 'square' : '' //'■ 小方块'
128
+ //}
129
+
130
+ //customstyle
131
+ //自定义样式,不支持国际化,此处配置值即可最后显示值
132
+ //block的元素是依据设置段落的逻辑设置的,inline的元素依据BIU的逻辑设置
133
+ //尽量使用一些常用的标签
134
+ //参数说明
135
+ //tag 使用的标签名字
136
+ //label 显示的名字也是用来标识不同类型的标识符,注意这个值每个要不同,
137
+ //style 添加的样式
138
+ //每一个对象就是一个自定义的样式
139
+ //,'customstyle':[
140
+ // {tag:'h1', name:'tc', label:'', style:'border-bottom:#ccc 2px solid;padding:0 4px 0 0;text-align:center;margin:0 0 20px 0;'},
141
+ // {tag:'h1', name:'tl',label:'', style:'border-bottom:#ccc 2px solid;padding:0 4px 0 0;margin:0 0 10px 0;'},
142
+ // {tag:'span',name:'im', label:'', style:'font-style:italic;font-weight:bold'},
143
+ // {tag:'span',name:'hi', label:'', style:'font-style:italic;font-weight:bold;color:rgb(51, 153, 204)'}
144
+ // ]
145
+
146
+ //右键菜单的内容,可以参考plugins/contextmenu.js里边的默认菜单的例子,label留空支持国际化,否则以此配置为准
147
+ // ,contextMenu:[
148
+ // {
149
+ // label:'', //显示的名称
150
+ // cmdName:'selectall',//执行的command命令,当点击这个右键菜单时
151
+ // //exec可选,有了exec就会在点击时执行这个function,优先级高于cmdName
152
+ // exec:function () {
153
+ // //this是当前编辑器的实例
154
+ // //this.ui._dialogs['inserttableDialog'].open();
155
+ // }
156
+ // }
157
+ // ]
158
+ //wordCount
159
+ //,wordCount:1 //是否开启字数统计
160
+ //,maximumWords:10000 //允许的最大字符数
161
+ //字数统计提示,{#count}代表当前字数,{#leave}代表还可以输入多少字符数,留空支持多语言自动切换,否则按此配置显示
162
+ //,wordCountMsg:'' //当前已输入 {#count} 个字符,您还可以输入{#leave} 个字符
163
+ //超出字数限制提示 留空支持多语言自动切换,否则按此配置显示
164
+ //,wordOverFlowMsg:'' //<span style="color:red;">你输入的字符个数已经超出最大允许值,服务器可能会拒绝保存!</span>
165
+
166
+ //elementPathEnabled
167
+ //是否启用元素路径,默认是显示
168
+ //,elementPathEnabled : true
169
+ //removeFormat
170
+ //清除格式时可以删除的标签和属性
171
+ //removeForamtTags标签
172
+ //,removeFormatTags:'b,big,code,del,dfn,em,font,i,ins,kbd,q,samp,small,span,strike,strong,sub,sup,tt,u,var'
173
+ //removeFormatAttributes属性
174
+ //,removeFormatAttributes:'class,style,lang,width,height,align,hspace,valign'
175
+ //autoHeightEnabled
176
+ // 是否自动长高,默认true
177
+ //,autoHeightEnabled:true
178
+ //,minFrameWidth:800 //编辑器拖动时最小宽度,默认800
179
+ //,minFrameHeight:220 //编辑器拖动时最小高度,默认220
180
+ //autoFloatEnabled
181
+ //是否保持toolbar的位置不动,默认true
182
+ //,autoFloatEnabled:true
183
+ //浮动时工具栏距离浏览器顶部的高度,用于某些具有固定头部的页面
184
+ //,topOffset:30
185
+ //indentValue
186
+ //首行缩进距离,默认是2em
187
+ //,indentValue:'2em'
188
+
189
+ //autotypeset
190
+ // //自动排版参数
191
+ // ,autotypeset:{
192
+ // mergeEmptyline : true, //合并空行
193
+ // removeClass : true, //去掉冗余的class
194
+ // removeEmptyline : false, //去掉空行
195
+ // textAlign : "left" , //段落的排版方式,可以是 left,right,center,justify 去掉这个属性表示不执行排版
196
+ // imageBlockLine : 'center', //图片的浮动方式,独占一行剧中,左右浮动,默认: center,left,right,none 去掉这个属性表示不执行排版
197
+ // pasteFilter : false, //根据规则过滤没事粘贴进来的内容
198
+ // clearFontSize : false, //去掉所有的内嵌字号,使用编辑器默认的字号
199
+ // clearFontFamily : false, //去掉所有的内嵌字体,使用编辑器默认的字体
200
+ // removeEmptyNode : false , // 去掉空节点
201
+ // //可以去掉的标签
202
+ // removeTagNames : {标签名字:1},
203
+ // indent : false, // 行首缩进
204
+ // indentValue : '2em' //行首缩进的大小
205
+ // }
206
+
207
+ };
@@ -0,0 +1,12 @@
1
+ //= require ueditor_rails/config
2
+ //= require ueditor/editor_all
3
+ //= require_self
4
+
5
+ $(function() {
6
+ if(window.UEDITOR_FIELDS !== undefined) {
7
+ for(var i in window.UEDITOR_FIELDS) {
8
+ var f = window.UEDITOR_FIELDS[i];
9
+ UE.getEditor(f['id'], f['opt']);
10
+ }
11
+ }
12
+ });
@@ -0,0 +1,5 @@
1
+ module UeditorRails
2
+ class ApplicationController < ActionController::Base
3
+ layout false
4
+ end
5
+ end
@@ -0,0 +1,13 @@
1
+ require_dependency "ueditor_rails/application_controller"
2
+
3
+ module UeditorRails
4
+ class DialogsController < ApplicationController
5
+ def attachment
6
+
7
+ end
8
+
9
+ def image
10
+
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,20 @@
1
+ require_dependency "ueditor_rails/application_controller"
2
+
3
+ module UeditorRails
4
+ class LibsController < ApplicationController
5
+ def swf_image_uploader
6
+ send_file UeditorRails.ueditor_base_path.join('dialogs/image/imageUploader.swf'),
7
+ :disposition => 'inline', :type => 'application/x-shockwave-flash'
8
+ end
9
+
10
+ def swf_upload
11
+ send_file UeditorRails.ueditor_base_path.join('third-party/swfupload/swfupload.swf'),
12
+ :disposition => 'inline', :type => 'application/x-shockwave-flash'
13
+ end
14
+
15
+ def swf_upload_fp9
16
+ send_file UeditorRails.ueditor_base_path.join('third-party/swfupload/swfupload_fp9.swf'),
17
+ :disposition => 'inline', :type => 'application/x-shockwave-flash'
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,4 @@
1
+ module UeditorRails
2
+ module ApplicationHelper
3
+ end
4
+ end
@@ -0,0 +1,128 @@
1
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
2
+ "http://www.w3.org/TR/html4/loose.dtd">
3
+ <html>
4
+ <head>
5
+ <title></title>
6
+ <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
7
+ <script type="text/javascript" src="<%= asset_path 'ueditor/dialogs/internal.js' %>"></script>
8
+ <link rel="stylesheet" type="text/css" href="<%= asset_path 'ueditor/dialogs/attachment/attachment.css' %>"/>
9
+ </head>
10
+ <body>
11
+ <div class="wrapper">
12
+ <div class="controller">
13
+ <!--<span id="divStatus"></span>-->
14
+ <span id="spanButtonPlaceHolder"></span>
15
+ </div>
16
+ <div class="fieldset flash" id="fsUploadProgress"></div>
17
+ <span id="startUpload" style="display: none;"></span>
18
+
19
+ </div>
20
+
21
+ <script type="text/javascript" src="<%= asset_path 'ueditor/third-party/swfupload/swfupload.js' %>"></script>
22
+ <script type="text/javascript" src="<%= asset_path 'ueditor/third-party/swfupload/swfupload.queue.js' %>"></script>
23
+ <script type="text/javascript" src="<%= asset_path 'ueditor/third-party/swfupload/fileprogress.js' %>"></script>
24
+ <script type="text/javascript" src="<%= asset_path 'ueditor/dialogs/attachment/callbacks.js' %>"></script>
25
+ <script type="text/javascript" src="<%= asset_path 'ueditor/dialogs/attachment/fileTypeMaps.js' %>"></script>
26
+ <script type="text/javascript">
27
+ var swfupload,
28
+ filesList=[];
29
+ editor.setOpt({
30
+ fileFieldName:"upfile"
31
+ });
32
+ window.onload = function () {
33
+ var settings = {
34
+ upload_url:editor.options.fileUrl, //附件上传服务器地址
35
+ file_post_name:editor.options.fileFieldName, //向后台提交的表单名
36
+ flash_url:"<%= asset_path 'ueditor/third-party/swfupload/swfupload.swf' %>",
37
+ flash9_url:"<%= asset_path 'ueditor/third-party/swfupload/swfupload_fp9.swf' %>",
38
+ post_params:{"<%= request_forgery_protection_token %>":"<%= form_authenticity_token %>"}, //解决session丢失问题
39
+ file_size_limit:"100 MB", //文件大小限制,此处仅是前端flash选择时候的限制,具体还需要和后端结合判断
40
+ file_types:"*.*", //允许的扩展名,多个扩展名之间用分号隔开,支持*通配符
41
+ file_types_description:"All Files", //扩展名描述
42
+ file_upload_limit:100, //单次可同时上传的文件数目
43
+ file_queue_limit:10, //队列中可同时上传的文件数目
44
+ custom_settings:{ //自定义设置,用户可在此向服务器传递自定义变量
45
+ progressTarget:"fsUploadProgress",
46
+ startUploadId:"startUpload"
47
+ },
48
+ debug:false,
49
+
50
+ // 按钮设置
51
+ button_image_url:"<%= asset_path 'ueditor/themes/default/images/filescan.png' %>",
52
+ button_width:"100",
53
+ button_height:"25",
54
+ button_placeholder_id:"spanButtonPlaceHolder",
55
+ button_text:'<span class="theFont">'+lang.browseFiles+'</span>',
56
+ button_text_style:".theFont { font-size:14px;}",
57
+ button_text_left_padding:10,
58
+ button_text_top_padding:4,
59
+
60
+ // 所有回调函数 in handlers.js
61
+ swfupload_preload_handler:preLoad,
62
+ swfupload_load_failed_handler:loadFailed,
63
+ file_queued_handler:fileQueued,
64
+ file_queue_error_handler:fileQueueError,
65
+ //选择文件完成回调
66
+ file_dialog_complete_handler:function(numFilesSelected, numFilesQueued) {
67
+ var me = this; //此处的this是swfupload对象
68
+ if (numFilesQueued > 0) {
69
+ dialog.buttons[0].setDisabled(true);
70
+ var start = $G(this.customSettings.startUploadId);
71
+ start.style.display = "";
72
+ start.onclick = function(){
73
+ me.startUpload();
74
+ start.style.display = "none";
75
+ }
76
+ }
77
+ },
78
+ upload_start_handler:uploadStart,
79
+ upload_progress_handler:uploadProgress,
80
+ upload_error_handler:uploadError,
81
+ upload_success_handler:function (file, serverData) {
82
+ try{
83
+ var info = eval("("+serverData+")");
84
+ }catch(e){}
85
+ var progress = new FileProgress(file, this.customSettings.progressTarget);
86
+ if(info.state=="SUCCESS"){
87
+ progress.setComplete();
88
+ progress.setStatus("<span style='color: #0b0;font-weight: bold'>"+lang.uploadSuccess+"</span>");
89
+ filesList.push({url:info.url,type:info.fileType,original:info.original});
90
+ progress.toggleCancel(true,this,lang.delSuccessFile);
91
+ }else{
92
+ progress.setError();
93
+ progress.setStatus(info.state);
94
+ progress.toggleCancel(true,this,lang.delFailSaveFile);
95
+ }
96
+
97
+ },
98
+ //上传完成回调
99
+ upload_complete_handler:uploadComplete,
100
+ //队列完成回调
101
+ queue_complete_handler:function(numFilesUploaded){
102
+ dialog.buttons[0].setDisabled(false);
103
+ // var status = $G("divStatus");
104
+ // var num = status.innerHTML.match(/\d+/g);
105
+ // status.innerHTML = ((num && num[0] ?parseInt(num[0]):0) + numFilesUploaded) +lang.statusPrompt;
106
+ }
107
+ };
108
+ swfupload = new SWFUpload( settings );
109
+ //点击OK按钮
110
+ dialog.onok = function(){
111
+ var map = fileTypeMaps,
112
+ str="";
113
+ for(var i=0,ci;ci=filesList[i++];){
114
+ var src = editor.options.UEDITOR_HOME_URL + "dialogs/attachment/fileTypeImages/"+(map[ci.type]||"icon_default.png");
115
+ str += "<p style='line-height: 16px;'><img src='"+ src + "' data_ue_src='"+src+"' />" +
116
+ "<a href='"+editor.options.filePath + ci.url+"'>" + ci.original + "</a></p>";
117
+ }
118
+ editor.execCommand("insertHTML",str);
119
+ swfupload.destroy();
120
+ };
121
+ dialog.oncancel = function(){
122
+ swfupload.destroy();
123
+ }
124
+ };
125
+ </script>
126
+
127
+ </body>
128
+ </html>