mo_page 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/MIT-LICENSE +20 -0
- data/Rakefile +34 -0
- data/app/assets/javascripts/mo_page/application.js +20 -0
- data/app/assets/javascripts/mo_page/bootstrap.js +1951 -0
- data/app/assets/javascripts/mo_page/images.js +2 -0
- data/app/assets/javascripts/mo_page/kindeditor-all.js +10084 -0
- data/app/assets/javascripts/mo_page/pages.js +2 -0
- data/app/assets/stylesheets/bootstrap-generators.css +22 -0
- data/app/assets/stylesheets/mo_page/application.css +24 -0
- data/app/assets/stylesheets/mo_page/bootstrap.css +5785 -0
- data/app/assets/stylesheets/mo_page/images.css +4 -0
- data/app/assets/stylesheets/mo_page/pages.css +4 -0
- data/app/assets/stylesheets/scaffold.css +56 -0
- data/app/controllers/mo_page/application_controller.rb +4 -0
- data/app/controllers/mo_page/images_controller.rb +15 -0
- data/app/controllers/mo_page/pages_controller.rb +62 -0
- data/app/helpers/mo_page/application_helper.rb +4 -0
- data/app/helpers/mo_page/images_helper.rb +4 -0
- data/app/helpers/mo_page/pages_helper.rb +4 -0
- data/app/models/mo_page/image.rb +5 -0
- data/app/models/mo_page/page.rb +7 -0
- data/app/uploaders/mo_page/image_uploader.rb +53 -0
- data/app/views/layouts/mo_page/application.html.erb +52 -0
- data/app/views/mo_page/pages/_form.html.erb +9 -0
- data/app/views/mo_page/pages/edit.html.erb +7 -0
- data/app/views/mo_page/pages/index.html.erb +31 -0
- data/app/views/mo_page/pages/new.html.erb +7 -0
- data/app/views/mo_page/pages/show.html.erb +18 -0
- data/config/initializers/simple_form.rb +163 -0
- data/config/initializers/simple_form_bootstrap.rb +106 -0
- data/config/locales/simple_form.en.yml +31 -0
- data/config/routes.rb +4 -0
- data/db/migrate/20140519150711_create_mo_page_pages.rb +14 -0
- data/db/migrate/20140520044011_create_mo_page_images.rb +10 -0
- data/lib/generators/mo_page/install/USAGE +8 -0
- data/lib/generators/mo_page/install/install_generator.rb +7 -0
- data/lib/generators/mo_page/install/templates/kindeditor/lang/ar.js +233 -0
- data/lib/generators/mo_page/install/templates/kindeditor/lang/en.js +232 -0
- data/lib/generators/mo_page/install/templates/kindeditor/lang/ko.js +237 -0
- data/lib/generators/mo_page/install/templates/kindeditor/lang/zh_CN.js +236 -0
- data/lib/generators/mo_page/install/templates/kindeditor/lang/zh_TW.js +235 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/anchor/anchor.js +46 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/autoheight/autoheight.js +27 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/baidumap/baidumap.js +93 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/baidumap/index.html +83 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/baidumap/map.html +43 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/clearhtml/clearhtml.js +29 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/code/code.js +62 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/code/prettify.css +13 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/code/prettify.js +28 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/emoticons.js +129 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/0.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/1.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/10.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/100.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/101.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/102.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/103.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/104.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/105.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/106.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/107.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/108.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/109.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/11.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/110.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/111.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/112.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/113.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/114.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/115.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/116.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/117.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/118.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/119.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/12.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/120.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/121.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/122.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/123.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/124.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/125.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/126.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/127.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/128.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/129.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/13.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/130.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/131.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/132.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/133.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/134.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/14.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/15.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/16.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/17.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/18.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/19.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/2.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/20.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/21.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/22.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/23.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/24.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/25.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/26.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/27.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/28.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/29.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/3.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/30.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/31.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/32.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/33.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/34.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/35.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/36.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/37.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/38.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/39.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/4.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/40.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/41.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/42.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/43.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/44.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/45.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/46.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/47.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/48.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/49.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/5.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/50.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/51.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/52.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/53.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/54.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/55.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/56.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/57.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/58.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/59.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/6.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/60.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/61.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/62.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/63.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/64.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/65.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/66.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/67.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/68.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/69.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/7.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/70.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/71.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/72.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/73.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/74.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/75.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/76.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/77.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/78.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/79.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/8.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/80.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/81.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/82.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/83.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/84.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/85.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/86.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/87.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/88.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/89.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/9.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/90.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/91.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/92.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/93.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/94.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/95.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/96.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/97.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/98.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/99.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/emoticons/images/static.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/filemanager/filemanager.js +189 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/filemanager/images/file-16.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/filemanager/images/file-64.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/filemanager/images/folder-16.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/filemanager/images/folder-64.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/filemanager/images/go-up.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/flash/flash.js +161 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/image/image.js +318 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/image/images/align_left.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/image/images/align_right.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/image/images/align_top.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/image/images/refresh.png +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/insertfile/insertfile.js +138 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/lineheight/lineheight.js +38 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/link/link.js +66 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/map/map.html +57 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/map/map.js +137 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/media/media.js +170 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/multiimage/images/image.png +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/multiimage/images/select-files-en.png +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/multiimage/images/select-files-zh_CN.png +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/multiimage/images/swfupload.swf +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/multiimage/multiimage.js +1388 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/pagebreak/pagebreak.js +29 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/plainpaste/plainpaste.js +41 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/preview/preview.js +31 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/quickformat/quickformat.js +81 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/table/table.js +705 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/template/html/1.html +14 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/template/html/2.html +42 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/template/html/3.html +36 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/template/template.js +58 -0
- data/lib/generators/mo_page/install/templates/kindeditor/plugins/wordpaste/wordpaste.js +51 -0
- data/lib/generators/mo_page/install/templates/kindeditor/themes/common/anchor.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/themes/common/blank.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/themes/common/flash.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/themes/common/loading.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/themes/common/media.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/themes/common/rm.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/themes/default/background.png +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/themes/default/default.css +1148 -0
- data/lib/generators/mo_page/install/templates/kindeditor/themes/default/default.png +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/themes/qq/editor.gif +0 -0
- data/lib/generators/mo_page/install/templates/kindeditor/themes/qq/qq.css +143 -0
- data/lib/generators/mo_page/install/templates/kindeditor/themes/simple/simple.css +100 -0
- data/lib/mo_page.rb +4 -0
- data/lib/mo_page/engine.rb +12 -0
- data/lib/mo_page/version.rb +3 -0
- data/lib/tasks/mo_page_tasks.rake +4 -0
- data/lib/templates/erb/controller/view.html.erb +4 -0
- data/lib/templates/erb/scaffold/_form.html.erb +13 -0
- data/lib/templates/erb/scaffold/edit.html.erb +13 -0
- data/lib/templates/erb/scaffold/index.html.erb +33 -0
- data/lib/templates/erb/scaffold/new.html.erb +9 -0
- data/lib/templates/erb/scaffold/show.html.erb +19 -0
- data/test/controllers/mo_page/images_controller_test.rb +11 -0
- data/test/controllers/mo_page/pages_controller_test.rb +51 -0
- data/test/dummy/README.rdoc +28 -0
- data/test/dummy/Rakefile +6 -0
- data/test/dummy/app/assets/javascripts/application.js +13 -0
- data/test/dummy/app/assets/stylesheets/application.css +15 -0
- data/test/dummy/app/controllers/application_controller.rb +5 -0
- data/test/dummy/app/helpers/application_helper.rb +2 -0
- data/test/dummy/app/views/layouts/application.html.erb +14 -0
- data/test/dummy/bin/bundle +3 -0
- data/test/dummy/bin/rails +4 -0
- data/test/dummy/bin/rake +4 -0
- data/test/dummy/config.ru +4 -0
- data/test/dummy/config/application.rb +23 -0
- data/test/dummy/config/boot.rb +5 -0
- data/test/dummy/config/database.yml +54 -0
- data/test/dummy/config/environment.rb +5 -0
- data/test/dummy/config/environments/development.rb +37 -0
- data/test/dummy/config/environments/production.rb +83 -0
- data/test/dummy/config/environments/test.rb +39 -0
- data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/test/dummy/config/initializers/cookies_serializer.rb +3 -0
- data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
- data/test/dummy/config/initializers/inflections.rb +16 -0
- data/test/dummy/config/initializers/mime_types.rb +4 -0
- data/test/dummy/config/initializers/session_store.rb +3 -0
- data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/test/dummy/config/locales/en.yml +23 -0
- data/test/dummy/config/routes.rb +4 -0
- data/test/dummy/config/secrets.yml +22 -0
- data/test/dummy/public/404.html +67 -0
- data/test/dummy/public/422.html +67 -0
- data/test/dummy/public/500.html +66 -0
- data/test/dummy/public/favicon.ico +0 -0
- data/test/fixtures/mo_page/images.yml +9 -0
- data/test/fixtures/mo_page/pages.yml +15 -0
- data/test/helpers/mo_page/images_helper_test.rb +6 -0
- data/test/helpers/mo_page/pages_helper_test.rb +6 -0
- data/test/integration/navigation_test.rb +10 -0
- data/test/lib/generators/mo_page/mo_page/install_generator_test.rb +16 -0
- data/test/mo_page_test.rb +7 -0
- data/test/models/mo_page/image_test.rb +9 -0
- data/test/models/mo_page/page_test.rb +9 -0
- data/test/test_helper.rb +15 -0
- metadata +528 -0
@@ -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,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,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">×</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,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,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
|