mo_page 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (288) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/Rakefile +34 -0
  4. data/app/assets/javascripts/mo_page/application.js +20 -0
  5. data/app/assets/javascripts/mo_page/bootstrap.js +1951 -0
  6. data/app/assets/javascripts/mo_page/images.js +2 -0
  7. data/app/assets/javascripts/mo_page/kindeditor-all.js +10084 -0
  8. data/app/assets/javascripts/mo_page/pages.js +2 -0
  9. data/app/assets/stylesheets/bootstrap-generators.css +22 -0
  10. data/app/assets/stylesheets/mo_page/application.css +24 -0
  11. data/app/assets/stylesheets/mo_page/bootstrap.css +5785 -0
  12. data/app/assets/stylesheets/mo_page/images.css +4 -0
  13. data/app/assets/stylesheets/mo_page/pages.css +4 -0
  14. data/app/assets/stylesheets/scaffold.css +56 -0
  15. data/app/controllers/mo_page/application_controller.rb +4 -0
  16. data/app/controllers/mo_page/images_controller.rb +15 -0
  17. data/app/controllers/mo_page/pages_controller.rb +62 -0
  18. data/app/helpers/mo_page/application_helper.rb +4 -0
  19. data/app/helpers/mo_page/images_helper.rb +4 -0
  20. data/app/helpers/mo_page/pages_helper.rb +4 -0
  21. data/app/models/mo_page/image.rb +5 -0
  22. data/app/models/mo_page/page.rb +7 -0
  23. data/app/uploaders/mo_page/image_uploader.rb +53 -0
  24. data/app/views/layouts/mo_page/application.html.erb +52 -0
  25. data/app/views/mo_page/pages/_form.html.erb +9 -0
  26. data/app/views/mo_page/pages/edit.html.erb +7 -0
  27. data/app/views/mo_page/pages/index.html.erb +31 -0
  28. data/app/views/mo_page/pages/new.html.erb +7 -0
  29. data/app/views/mo_page/pages/show.html.erb +18 -0
  30. data/config/initializers/simple_form.rb +163 -0
  31. data/config/initializers/simple_form_bootstrap.rb +106 -0
  32. data/config/locales/simple_form.en.yml +31 -0
  33. data/config/routes.rb +4 -0
  34. data/db/migrate/20140519150711_create_mo_page_pages.rb +14 -0
  35. data/db/migrate/20140520044011_create_mo_page_images.rb +10 -0
  36. data/lib/generators/mo_page/install/USAGE +8 -0
  37. data/lib/generators/mo_page/install/install_generator.rb +7 -0
  38. data/lib/generators/mo_page/install/templates/kindeditor/lang/ar.js +233 -0
  39. data/lib/generators/mo_page/install/templates/kindeditor/lang/en.js +232 -0
  40. data/lib/generators/mo_page/install/templates/kindeditor/lang/ko.js +237 -0
  41. data/lib/generators/mo_page/install/templates/kindeditor/lang/zh_CN.js +236 -0
  42. data/lib/generators/mo_page/install/templates/kindeditor/lang/zh_TW.js +235 -0
  43. data/lib/generators/mo_page/install/templates/kindeditor/plugins/anchor/anchor.js +46 -0
  44. data/lib/generators/mo_page/install/templates/kindeditor/plugins/autoheight/autoheight.js +27 -0
  45. data/lib/generators/mo_page/install/templates/kindeditor/plugins/baidumap/baidumap.js +93 -0
  46. data/lib/generators/mo_page/install/templates/kindeditor/plugins/baidumap/index.html +83 -0
  47. data/lib/generators/mo_page/install/templates/kindeditor/plugins/baidumap/map.html +43 -0
  48. data/lib/generators/mo_page/install/templates/kindeditor/plugins/clearhtml/clearhtml.js +29 -0
  49. data/lib/generators/mo_page/install/templates/kindeditor/plugins/code/code.js +62 -0
  50. data/lib/generators/mo_page/install/templates/kindeditor/plugins/code/prettify.css +13 -0
  51. data/lib/generators/mo_page/install/templates/kindeditor/plugins/code/prettify.js +28 -0
  52. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/emoticons.js +129 -0
  53. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/0.gif +0 -0
  54. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/1.gif +0 -0
  55. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/10.gif +0 -0
  56. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/100.gif +0 -0
  57. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/101.gif +0 -0
  58. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/102.gif +0 -0
  59. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/103.gif +0 -0
  60. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/104.gif +0 -0
  61. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/105.gif +0 -0
  62. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/106.gif +0 -0
  63. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/107.gif +0 -0
  64. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/108.gif +0 -0
  65. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/109.gif +0 -0
  66. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/11.gif +0 -0
  67. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/110.gif +0 -0
  68. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/111.gif +0 -0
  69. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/112.gif +0 -0
  70. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/113.gif +0 -0
  71. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/114.gif +0 -0
  72. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/115.gif +0 -0
  73. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/116.gif +0 -0
  74. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/117.gif +0 -0
  75. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/118.gif +0 -0
  76. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/119.gif +0 -0
  77. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/12.gif +0 -0
  78. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/120.gif +0 -0
  79. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/121.gif +0 -0
  80. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/122.gif +0 -0
  81. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/123.gif +0 -0
  82. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/124.gif +0 -0
  83. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/125.gif +0 -0
  84. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/126.gif +0 -0
  85. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/127.gif +0 -0
  86. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/128.gif +0 -0
  87. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/129.gif +0 -0
  88. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/13.gif +0 -0
  89. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/130.gif +0 -0
  90. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/131.gif +0 -0
  91. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/132.gif +0 -0
  92. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/133.gif +0 -0
  93. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/134.gif +0 -0
  94. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/14.gif +0 -0
  95. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/15.gif +0 -0
  96. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/16.gif +0 -0
  97. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/17.gif +0 -0
  98. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/18.gif +0 -0
  99. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/19.gif +0 -0
  100. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/2.gif +0 -0
  101. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/20.gif +0 -0
  102. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/21.gif +0 -0
  103. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/22.gif +0 -0
  104. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/23.gif +0 -0
  105. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/24.gif +0 -0
  106. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/25.gif +0 -0
  107. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/26.gif +0 -0
  108. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/27.gif +0 -0
  109. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/28.gif +0 -0
  110. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/29.gif +0 -0
  111. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/3.gif +0 -0
  112. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/30.gif +0 -0
  113. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/31.gif +0 -0
  114. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/32.gif +0 -0
  115. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/33.gif +0 -0
  116. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/34.gif +0 -0
  117. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/35.gif +0 -0
  118. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/36.gif +0 -0
  119. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/37.gif +0 -0
  120. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/38.gif +0 -0
  121. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/39.gif +0 -0
  122. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/4.gif +0 -0
  123. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/40.gif +0 -0
  124. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/41.gif +0 -0
  125. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/42.gif +0 -0
  126. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/43.gif +0 -0
  127. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/44.gif +0 -0
  128. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/45.gif +0 -0
  129. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/46.gif +0 -0
  130. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/47.gif +0 -0
  131. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/48.gif +0 -0
  132. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/49.gif +0 -0
  133. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/5.gif +0 -0
  134. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/50.gif +0 -0
  135. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/51.gif +0 -0
  136. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/52.gif +0 -0
  137. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/53.gif +0 -0
  138. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/54.gif +0 -0
  139. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/55.gif +0 -0
  140. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/56.gif +0 -0
  141. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/57.gif +0 -0
  142. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/58.gif +0 -0
  143. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/59.gif +0 -0
  144. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/6.gif +0 -0
  145. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/60.gif +0 -0
  146. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/61.gif +0 -0
  147. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/62.gif +0 -0
  148. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/63.gif +0 -0
  149. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/64.gif +0 -0
  150. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/65.gif +0 -0
  151. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/66.gif +0 -0
  152. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/67.gif +0 -0
  153. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/68.gif +0 -0
  154. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/69.gif +0 -0
  155. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/7.gif +0 -0
  156. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/70.gif +0 -0
  157. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/71.gif +0 -0
  158. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/72.gif +0 -0
  159. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/73.gif +0 -0
  160. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/74.gif +0 -0
  161. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/75.gif +0 -0
  162. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/76.gif +0 -0
  163. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/77.gif +0 -0
  164. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/78.gif +0 -0
  165. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/79.gif +0 -0
  166. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/8.gif +0 -0
  167. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/80.gif +0 -0
  168. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/81.gif +0 -0
  169. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/82.gif +0 -0
  170. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/83.gif +0 -0
  171. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/84.gif +0 -0
  172. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/85.gif +0 -0
  173. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/86.gif +0 -0
  174. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/87.gif +0 -0
  175. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/88.gif +0 -0
  176. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/89.gif +0 -0
  177. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/9.gif +0 -0
  178. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/90.gif +0 -0
  179. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/91.gif +0 -0
  180. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/92.gif +0 -0
  181. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/93.gif +0 -0
  182. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/94.gif +0 -0
  183. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/95.gif +0 -0
  184. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/96.gif +0 -0
  185. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/97.gif +0 -0
  186. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/98.gif +0 -0
  187. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/99.gif +0 -0
  188. data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/static.gif +0 -0
  189. data/lib/generators/mo_page/install/templates/kindeditor/plugins/filemanager/filemanager.js +189 -0
  190. data/lib/generators/mo_page/install/templates/kindeditor/plugins/filemanager/images/file-16.gif +0 -0
  191. data/lib/generators/mo_page/install/templates/kindeditor/plugins/filemanager/images/file-64.gif +0 -0
  192. data/lib/generators/mo_page/install/templates/kindeditor/plugins/filemanager/images/folder-16.gif +0 -0
  193. data/lib/generators/mo_page/install/templates/kindeditor/plugins/filemanager/images/folder-64.gif +0 -0
  194. data/lib/generators/mo_page/install/templates/kindeditor/plugins/filemanager/images/go-up.gif +0 -0
  195. data/lib/generators/mo_page/install/templates/kindeditor/plugins/flash/flash.js +161 -0
  196. data/lib/generators/mo_page/install/templates/kindeditor/plugins/image/image.js +318 -0
  197. data/lib/generators/mo_page/install/templates/kindeditor/plugins/image/images/align_left.gif +0 -0
  198. data/lib/generators/mo_page/install/templates/kindeditor/plugins/image/images/align_right.gif +0 -0
  199. data/lib/generators/mo_page/install/templates/kindeditor/plugins/image/images/align_top.gif +0 -0
  200. data/lib/generators/mo_page/install/templates/kindeditor/plugins/image/images/refresh.png +0 -0
  201. data/lib/generators/mo_page/install/templates/kindeditor/plugins/insertfile/insertfile.js +138 -0
  202. data/lib/generators/mo_page/install/templates/kindeditor/plugins/lineheight/lineheight.js +38 -0
  203. data/lib/generators/mo_page/install/templates/kindeditor/plugins/link/link.js +66 -0
  204. data/lib/generators/mo_page/install/templates/kindeditor/plugins/map/map.html +57 -0
  205. data/lib/generators/mo_page/install/templates/kindeditor/plugins/map/map.js +137 -0
  206. data/lib/generators/mo_page/install/templates/kindeditor/plugins/media/media.js +170 -0
  207. data/lib/generators/mo_page/install/templates/kindeditor/plugins/multiimage/images/image.png +0 -0
  208. data/lib/generators/mo_page/install/templates/kindeditor/plugins/multiimage/images/select-files-en.png +0 -0
  209. data/lib/generators/mo_page/install/templates/kindeditor/plugins/multiimage/images/select-files-zh_CN.png +0 -0
  210. data/lib/generators/mo_page/install/templates/kindeditor/plugins/multiimage/images/swfupload.swf +0 -0
  211. data/lib/generators/mo_page/install/templates/kindeditor/plugins/multiimage/multiimage.js +1388 -0
  212. data/lib/generators/mo_page/install/templates/kindeditor/plugins/pagebreak/pagebreak.js +29 -0
  213. data/lib/generators/mo_page/install/templates/kindeditor/plugins/plainpaste/plainpaste.js +41 -0
  214. data/lib/generators/mo_page/install/templates/kindeditor/plugins/preview/preview.js +31 -0
  215. data/lib/generators/mo_page/install/templates/kindeditor/plugins/quickformat/quickformat.js +81 -0
  216. data/lib/generators/mo_page/install/templates/kindeditor/plugins/table/table.js +705 -0
  217. data/lib/generators/mo_page/install/templates/kindeditor/plugins/template/html/1.html +14 -0
  218. data/lib/generators/mo_page/install/templates/kindeditor/plugins/template/html/2.html +42 -0
  219. data/lib/generators/mo_page/install/templates/kindeditor/plugins/template/html/3.html +36 -0
  220. data/lib/generators/mo_page/install/templates/kindeditor/plugins/template/template.js +58 -0
  221. data/lib/generators/mo_page/install/templates/kindeditor/plugins/wordpaste/wordpaste.js +51 -0
  222. data/lib/generators/mo_page/install/templates/kindeditor/themes/common/anchor.gif +0 -0
  223. data/lib/generators/mo_page/install/templates/kindeditor/themes/common/blank.gif +0 -0
  224. data/lib/generators/mo_page/install/templates/kindeditor/themes/common/flash.gif +0 -0
  225. data/lib/generators/mo_page/install/templates/kindeditor/themes/common/loading.gif +0 -0
  226. data/lib/generators/mo_page/install/templates/kindeditor/themes/common/media.gif +0 -0
  227. data/lib/generators/mo_page/install/templates/kindeditor/themes/common/rm.gif +0 -0
  228. data/lib/generators/mo_page/install/templates/kindeditor/themes/default/background.png +0 -0
  229. data/lib/generators/mo_page/install/templates/kindeditor/themes/default/default.css +1148 -0
  230. data/lib/generators/mo_page/install/templates/kindeditor/themes/default/default.png +0 -0
  231. data/lib/generators/mo_page/install/templates/kindeditor/themes/qq/editor.gif +0 -0
  232. data/lib/generators/mo_page/install/templates/kindeditor/themes/qq/qq.css +143 -0
  233. data/lib/generators/mo_page/install/templates/kindeditor/themes/simple/simple.css +100 -0
  234. data/lib/mo_page.rb +4 -0
  235. data/lib/mo_page/engine.rb +12 -0
  236. data/lib/mo_page/version.rb +3 -0
  237. data/lib/tasks/mo_page_tasks.rake +4 -0
  238. data/lib/templates/erb/controller/view.html.erb +4 -0
  239. data/lib/templates/erb/scaffold/_form.html.erb +13 -0
  240. data/lib/templates/erb/scaffold/edit.html.erb +13 -0
  241. data/lib/templates/erb/scaffold/index.html.erb +33 -0
  242. data/lib/templates/erb/scaffold/new.html.erb +9 -0
  243. data/lib/templates/erb/scaffold/show.html.erb +19 -0
  244. data/test/controllers/mo_page/images_controller_test.rb +11 -0
  245. data/test/controllers/mo_page/pages_controller_test.rb +51 -0
  246. data/test/dummy/README.rdoc +28 -0
  247. data/test/dummy/Rakefile +6 -0
  248. data/test/dummy/app/assets/javascripts/application.js +13 -0
  249. data/test/dummy/app/assets/stylesheets/application.css +15 -0
  250. data/test/dummy/app/controllers/application_controller.rb +5 -0
  251. data/test/dummy/app/helpers/application_helper.rb +2 -0
  252. data/test/dummy/app/views/layouts/application.html.erb +14 -0
  253. data/test/dummy/bin/bundle +3 -0
  254. data/test/dummy/bin/rails +4 -0
  255. data/test/dummy/bin/rake +4 -0
  256. data/test/dummy/config.ru +4 -0
  257. data/test/dummy/config/application.rb +23 -0
  258. data/test/dummy/config/boot.rb +5 -0
  259. data/test/dummy/config/database.yml +54 -0
  260. data/test/dummy/config/environment.rb +5 -0
  261. data/test/dummy/config/environments/development.rb +37 -0
  262. data/test/dummy/config/environments/production.rb +83 -0
  263. data/test/dummy/config/environments/test.rb +39 -0
  264. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  265. data/test/dummy/config/initializers/cookies_serializer.rb +3 -0
  266. data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  267. data/test/dummy/config/initializers/inflections.rb +16 -0
  268. data/test/dummy/config/initializers/mime_types.rb +4 -0
  269. data/test/dummy/config/initializers/session_store.rb +3 -0
  270. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  271. data/test/dummy/config/locales/en.yml +23 -0
  272. data/test/dummy/config/routes.rb +4 -0
  273. data/test/dummy/config/secrets.yml +22 -0
  274. data/test/dummy/public/404.html +67 -0
  275. data/test/dummy/public/422.html +67 -0
  276. data/test/dummy/public/500.html +66 -0
  277. data/test/dummy/public/favicon.ico +0 -0
  278. data/test/fixtures/mo_page/images.yml +9 -0
  279. data/test/fixtures/mo_page/pages.yml +15 -0
  280. data/test/helpers/mo_page/images_helper_test.rb +6 -0
  281. data/test/helpers/mo_page/pages_helper_test.rb +6 -0
  282. data/test/integration/navigation_test.rb +10 -0
  283. data/test/lib/generators/mo_page/mo_page/install_generator_test.rb +16 -0
  284. data/test/mo_page_test.rb +7 -0
  285. data/test/models/mo_page/image_test.rb +9 -0
  286. data/test/models/mo_page/page_test.rb +9 -0
  287. data/test/test_helper.rb +15 -0
  288. metadata +528 -0
@@ -0,0 +1,4 @@
1
+ /*
2
+ Place all the styles related to the matching controller here.
3
+ They will automatically be included in application.css.
4
+ */
@@ -0,0 +1,4 @@
1
+ /*
2
+ Place all the styles related to the matching controller here.
3
+ They will automatically be included in application.css.
4
+ */
@@ -0,0 +1,56 @@
1
+ body { background-color: #fff; color: #333; }
2
+
3
+ body, p, ol, ul, td {
4
+ font-family: verdana, arial, helvetica, sans-serif;
5
+ font-size: 13px;
6
+ line-height: 18px;
7
+ }
8
+
9
+ pre {
10
+ background-color: #eee;
11
+ padding: 10px;
12
+ font-size: 11px;
13
+ }
14
+
15
+ a { color: #000; }
16
+ a:visited { color: #666; }
17
+ a:hover { color: #fff; background-color:#000; }
18
+
19
+ div.field, div.actions {
20
+ margin-bottom: 10px;
21
+ }
22
+
23
+ #notice {
24
+ color: green;
25
+ }
26
+
27
+ .field_with_errors {
28
+ padding: 2px;
29
+ background-color: red;
30
+ display: table;
31
+ }
32
+
33
+ #error_explanation {
34
+ width: 450px;
35
+ border: 2px solid red;
36
+ padding: 7px;
37
+ padding-bottom: 0;
38
+ margin-bottom: 20px;
39
+ background-color: #f0f0f0;
40
+ }
41
+
42
+ #error_explanation h2 {
43
+ text-align: left;
44
+ font-weight: bold;
45
+ padding: 5px 5px 5px 15px;
46
+ font-size: 12px;
47
+ margin: -7px;
48
+ margin-bottom: 0px;
49
+ background-color: #c00;
50
+ color: #fff;
51
+ }
52
+
53
+ #error_explanation ul li {
54
+ font-size: 12px;
55
+ list-style: square;
56
+ }
@@ -0,0 +1,4 @@
1
+ module MoPage
2
+ class ApplicationController < ActionController::Base
3
+ end
4
+ end
@@ -0,0 +1,15 @@
1
+ require_dependency "mo_page/application_controller"
2
+
3
+ module MoPage
4
+ class ImagesController < ApplicationController
5
+ def create
6
+ params.permit :imgFile, :localUrl, :dir, :authenticity_token
7
+ image = Image.new(file: params[:imgFile])
8
+ if image.save
9
+ render json: {'error' => 0, 'url' => image.file.url}
10
+ else
11
+ render json: {'error' => 1, 'message' => "error"}
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,62 @@
1
+ require_dependency "mo_page/application_controller"
2
+
3
+ module MoPage
4
+ class PagesController < ApplicationController
5
+ before_action :set_page, only: [:show, :edit, :update, :destroy]
6
+
7
+ # GET /pages
8
+ def index
9
+ @pages = Page.all
10
+ end
11
+
12
+ # GET /pages/1
13
+ def show
14
+ end
15
+
16
+ # GET /pages/new
17
+ def new
18
+ @page = Page.new
19
+ end
20
+
21
+ # GET /pages/1/edit
22
+ def edit
23
+ end
24
+
25
+ # POST /pages
26
+ def create
27
+ @page = Page.new(page_params)
28
+
29
+ if @page.save
30
+ redirect_to @page, notice: 'Page was successfully created.'
31
+ else
32
+ render :new
33
+ end
34
+ end
35
+
36
+ # PATCH/PUT /pages/1
37
+ def update
38
+ if @page.update(page_params)
39
+ redirect_to @page, notice: 'Page was successfully updated.'
40
+ else
41
+ render :edit
42
+ end
43
+ end
44
+
45
+ # DELETE /pages/1
46
+ def destroy
47
+ @page.destroy
48
+ redirect_to pages_url, notice: 'Page was successfully destroyed.'
49
+ end
50
+
51
+ private
52
+ # Use callbacks to share common setup or constraints between actions.
53
+ def set_page
54
+ @page = Page.find(params[:id])
55
+ end
56
+
57
+ # Only allow a trusted parameter "white list" through.
58
+ def page_params
59
+ params.require(:page).permit(:title, :body, :key, :author_id, :node_id, :parent_id)
60
+ end
61
+ end
62
+ end
@@ -0,0 +1,4 @@
1
+ module MoPage
2
+ module ApplicationHelper
3
+ end
4
+ end
@@ -0,0 +1,4 @@
1
+ module MoPage
2
+ module ImagesHelper
3
+ end
4
+ end
@@ -0,0 +1,4 @@
1
+ module MoPage
2
+ module PagesHelper
3
+ end
4
+ end
@@ -0,0 +1,5 @@
1
+ module MoPage
2
+ class Image < ActiveRecord::Base
3
+ mount_uploader :file, ImageUploader
4
+ end
5
+ end
@@ -0,0 +1,7 @@
1
+ module MoPage
2
+ class Page < ActiveRecord::Base
3
+ validates_uniqueness_of :key
4
+ validates_presence_of :title
5
+ validates_presence_of :body
6
+ end
7
+ end
@@ -0,0 +1,53 @@
1
+ # encoding: utf-8
2
+
3
+ module MoPage
4
+ class ImageUploader < CarrierWave::Uploader::Base
5
+
6
+ # Include RMagick or MiniMagick support:
7
+ # include CarrierWave::RMagick
8
+ # include CarrierWave::MiniMagick
9
+
10
+ # Choose what kind of storage to use for this uploader:
11
+ storage :file
12
+ # storage :fog
13
+
14
+ # Override the directory where uploaded files will be stored.
15
+ # This is a sensible default for uploaders that are meant to be mounted:
16
+ def store_dir
17
+ "system/uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
18
+ end
19
+
20
+ # Provide a default URL as a default if there hasn't been a file uploaded:
21
+ # def default_url
22
+ # # For Rails 3.1+ asset pipeline compatibility:
23
+ # # ActionController::Base.helpers.asset_path("fallback/" + [version_name, "default.png"].compact.join('_'))
24
+ #
25
+ # "/images/fallback/" + [version_name, "default.png"].compact.join('_')
26
+ # end
27
+
28
+ # Process files as they are uploaded:
29
+ # process :scale => [200, 300]
30
+ #
31
+ # def scale(width, height)
32
+ # # do something
33
+ # end
34
+
35
+ # Create different versions of your uploaded files:
36
+ # version :thumb do
37
+ # process :resize_to_fit => [50, 50]
38
+ # end
39
+
40
+ # Add a white list of extensions which are allowed to be uploaded.
41
+ # For images you might use something like this:
42
+ # def extension_white_list
43
+ # %w(jpg jpeg gif png)
44
+ # end
45
+
46
+ # Override the filename of the uploaded files:
47
+ # Avoid using model.id or version_name here, see uploader/store.rb for details.
48
+ # def filename
49
+ # "something.jpg" if original_filename
50
+ # end
51
+
52
+ end
53
+ end
@@ -0,0 +1,52 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <title>MoPage</title>
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
7
+ <meta name="description" content="">
8
+ <meta name="author" content="">
9
+
10
+ <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
11
+ <!--[if lt IE 9]>
12
+ <%= javascript_include_tag "https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js", "https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js" %>
13
+ <![endif]-->
14
+
15
+ <%= stylesheet_link_tag "mo_page/application", media: "all", "data-turbolinks-track" => true %>
16
+ <%= javascript_include_tag "mo_page/application", "data-turbolinks-track" => true %>
17
+ <%= csrf_meta_tags %>
18
+
19
+ <script>
20
+ $(document).ready(function() {
21
+ var csrfToken = $('meta[name=csrf-token]').attr('content');
22
+ var extraParams = {authenticity_token: csrfToken};
23
+ window.page_editor = KindEditor.create('#page_body', {basePath: '/kindeditor/', minWidth: 200, minHeight: 400, uploadJson: '<%= images_path %>', extraFileUploadParams: extraParams});
24
+ });
25
+ </script>
26
+ </head>
27
+ <body>
28
+ <div class="navbar navbar-inverse navbar-fixed-top">
29
+ <div class="container">
30
+ <div class="navbar-header">
31
+ <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
32
+ <span class="sr-only">Toggle navigation</span>
33
+ <span class="icon-bar"></span>
34
+ <span class="icon-bar"></span>
35
+ <span class="icon-bar"></span>
36
+ </button>
37
+ <%= link_to "MoPage", pages_path, :class => "navbar-brand" %>
38
+ </div>
39
+ </div>
40
+ </div>
41
+ <div class="container">
42
+ <% flash.each do |name, msg| %>
43
+ <%= content_tag :div, :class => "alert alert-#{ name == :error ? "danger" : "success" } alert-dismissable" do %>
44
+ <button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
45
+ <%= msg %>
46
+ <% end %>
47
+ <% end %>
48
+
49
+ <%= yield %>
50
+ </div>
51
+ </body>
52
+ </html>
@@ -0,0 +1,9 @@
1
+ <%= simple_form_for @page do |f| %>
2
+ <%= f.input :title %>
3
+ <%= f.input :key %>
4
+ <%= f.input :body, input_html: {class: 'simditor'} %>
5
+ <div class="actions">
6
+ <%= f.submit 'Save', class: 'btn btn-primary' %>
7
+ <%= link_to 'Back', pages_path, class: 'btn btn-default' %>
8
+ </div>
9
+ <% end %>
@@ -0,0 +1,7 @@
1
+ <div class="row">
2
+ <div class="col-sm-10">
3
+ <h1>Editing page</h1>
4
+
5
+ <%= render 'form' %>
6
+ </div>
7
+ </div>
@@ -0,0 +1,31 @@
1
+ <h1>Pages</h1>
2
+
3
+ <table class="table">
4
+ <thead>
5
+ <tr>
6
+ <th>Title</th>
7
+ <th>Key</th>
8
+ <th>Created</th>
9
+ <th></th>
10
+ </tr>
11
+ </thead>
12
+
13
+ <tbody>
14
+ <% @pages.each do |page| %>
15
+ <tr>
16
+ <td><%= page.title %></td>
17
+ <td><%= page.key %></td>
18
+ <td><%= page.created_at %></td>
19
+ <td>
20
+ <%= link_to 'Show', page, class: 'btn btn-default' %>
21
+ <%= link_to 'Edit', edit_page_path(page), class: 'btn btn-default' %>
22
+ <%= link_to 'Destroy', page, method: :delete, data: { confirm: 'Are you sure?' }, class: 'btn btn-default' %>
23
+ </td>
24
+ </tr>
25
+ <% end %>
26
+ </tbody>
27
+ </table>
28
+
29
+ <br>
30
+
31
+ <%= link_to 'New Page', new_page_path, class: 'btn btn-default' %>
@@ -0,0 +1,7 @@
1
+ <div class="row">
2
+ <div class="col-sm-10">
3
+ <h1>New page</h1>
4
+
5
+ <%= render 'form' %>
6
+ </div>
7
+ </div>
@@ -0,0 +1,18 @@
1
+ <div class="row">
2
+ <div class="col-sm-8">
3
+ <table class="table">
4
+ <tr>
5
+ <td>Title</td>
6
+ <td><%= @page.title %></td>
7
+ </tr>
8
+ <tr>
9
+ <td>Body</td>
10
+ <td><%= @page.body.html_safe %></td>
11
+ </tr>
12
+ </table>
13
+
14
+ </div>
15
+ </div>
16
+
17
+ <%= link_to 'Edit', edit_page_path(@page), class: 'btn btn-default' %>
18
+ <%= link_to 'Back', pages_path, class: 'btn btn-default' %>
@@ -0,0 +1,163 @@
1
+ require 'simple_form'
2
+
3
+ # Use this setup block to configure all options available in SimpleForm.
4
+ SimpleForm.setup do |config|
5
+ # Wrappers are used by the form builder to generate a
6
+ # complete input. You can remove any component from the
7
+ # wrapper, change the order or even add your own to the
8
+ # stack. The options given below are used to wrap the
9
+ # whole input.
10
+ config.wrappers :default, class: :input,
11
+ hint_class: :field_with_hint, error_class: :field_with_errors do |b|
12
+ ## Extensions enabled by default
13
+ # Any of these extensions can be disabled for a
14
+ # given input by passing: `f.input EXTENSION_NAME => false`.
15
+ # You can make any of these extensions optional by
16
+ # renaming `b.use` to `b.optional`.
17
+
18
+ # Determines whether to use HTML5 (:email, :url, ...)
19
+ # and required attributes
20
+ b.use :html5
21
+
22
+ # Calculates placeholders automatically from I18n
23
+ # You can also pass a string as f.input placeholder: "Placeholder"
24
+ b.use :placeholder
25
+
26
+ ## Optional extensions
27
+ # They are disabled unless you pass `f.input EXTENSION_NAME => :lookup`
28
+ # to the input. If so, they will retrieve the values from the model
29
+ # if any exists. If you want to enable the lookup for any of those
30
+ # extensions by default, you can change `b.optional` to `b.use`.
31
+
32
+ # Calculates maxlength from length validations for string inputs
33
+ b.optional :maxlength
34
+
35
+ # Calculates pattern from format validations for string inputs
36
+ b.optional :pattern
37
+
38
+ # Calculates min and max from length validations for numeric inputs
39
+ b.optional :min_max
40
+
41
+ # Calculates readonly automatically from readonly attributes
42
+ b.optional :readonly
43
+
44
+ ## Inputs
45
+ b.use :label_input
46
+ b.use :hint, wrap_with: { tag: :span, class: :hint }
47
+ b.use :error, wrap_with: { tag: :span, class: :error }
48
+
49
+ ## full_messages_for
50
+ # If you want to display the full error message for the attribute, you can
51
+ # use the component :full_error, like:
52
+ #
53
+ # b.use :full_error, wrap_with: { tag: :span, class: :error }
54
+ end
55
+
56
+ # The default wrapper to be used by the FormBuilder.
57
+ config.default_wrapper = :default
58
+
59
+ # Define the way to render check boxes / radio buttons with labels.
60
+ # Defaults to :nested for bootstrap config.
61
+ # inline: input + label
62
+ # nested: label > input
63
+ config.boolean_style = :nested
64
+
65
+ # Default class for buttons
66
+ config.button_class = 'btn'
67
+
68
+ # Method used to tidy up errors. Specify any Rails Array method.
69
+ # :first lists the first message for each field.
70
+ # Use :to_sentence to list all errors for each field.
71
+ # config.error_method = :first
72
+
73
+ # Default tag used for error notification helper.
74
+ config.error_notification_tag = :div
75
+
76
+ # CSS class to add for error notification helper.
77
+ config.error_notification_class = 'error_notification'
78
+
79
+ # ID to add for error notification helper.
80
+ # config.error_notification_id = nil
81
+
82
+ # Series of attempts to detect a default label method for collection.
83
+ # config.collection_label_methods = [ :to_label, :name, :title, :to_s ]
84
+
85
+ # Series of attempts to detect a default value method for collection.
86
+ # config.collection_value_methods = [ :id, :to_s ]
87
+
88
+ # You can wrap a collection of radio/check boxes in a pre-defined tag, defaulting to none.
89
+ # config.collection_wrapper_tag = nil
90
+
91
+ # You can define the class to use on all collection wrappers. Defaulting to none.
92
+ # config.collection_wrapper_class = nil
93
+
94
+ # You can wrap each item in a collection of radio/check boxes with a tag,
95
+ # defaulting to :span. Please note that when using :boolean_style = :nested,
96
+ # SimpleForm will force this option to be a label.
97
+ # config.item_wrapper_tag = :span
98
+
99
+ # You can define a class to use in all item wrappers. Defaulting to none.
100
+ # config.item_wrapper_class = nil
101
+
102
+ # How the label text should be generated altogether with the required text.
103
+ # config.label_text = lambda { |label, required, explicit_label| "#{required} #{label}" }
104
+
105
+ # You can define the class to use on all labels. Default is nil.
106
+ # config.label_class = nil
107
+
108
+ # You can define the class to use on all forms. Default is simple_form.
109
+ # config.form_class = :simple_form
110
+
111
+ # You can define which elements should obtain additional classes
112
+ # config.generate_additional_classes_for = [:wrapper, :label, :input]
113
+
114
+ # Whether attributes are required by default (or not). Default is true.
115
+ # config.required_by_default = true
116
+
117
+ # Tell browsers whether to use the native HTML5 validations (novalidate form option).
118
+ # These validations are enabled in SimpleForm's internal config but disabled by default
119
+ # in this configuration, which is recommended due to some quirks from different browsers.
120
+ # To stop SimpleForm from generating the novalidate option, enabling the HTML5 validations,
121
+ # change this configuration to true.
122
+ config.browser_validations = false
123
+
124
+ # Collection of methods to detect if a file type was given.
125
+ # config.file_methods = [ :mounted_as, :file?, :public_filename ]
126
+
127
+ # Custom mappings for input types. This should be a hash containing a regexp
128
+ # to match as key, and the input type that will be used when the field name
129
+ # matches the regexp as value.
130
+ # config.input_mappings = { /count/ => :integer }
131
+
132
+ # Custom wrappers for input types. This should be a hash containing an input
133
+ # type as key and the wrapper that will be used for all inputs with specified type.
134
+ # config.wrapper_mappings = { string: :prepend }
135
+
136
+ # Default priority for time_zone inputs.
137
+ # config.time_zone_priority = nil
138
+
139
+ # Default priority for country inputs.
140
+ # config.country_priority = nil
141
+
142
+ # When false, do not use translations for labels.
143
+ # config.translate_labels = true
144
+
145
+ # Automatically discover new inputs in Rails' autoload path.
146
+ # config.inputs_discovery = true
147
+
148
+ # Cache SimpleForm inputs discovery
149
+ # config.cache_discovery = !Rails.env.development?
150
+
151
+ # Default class for inputs
152
+ # config.input_class = nil
153
+
154
+ # Define the default class of the input wrapper of the boolean input.
155
+ config.boolean_label_class = 'checkbox'
156
+
157
+ # Defines if the default input wrapper class should be included in radio
158
+ # collection wrappers.
159
+ # config.include_default_input_wrapper_class = true
160
+
161
+ # Defines which i18n scope will be used in Simple Form.
162
+ # config.i18n_scope = 'simple_form'
163
+ end