├── Rakefile ├── .gitignore ├── app ├── assets │ └── javascripts │ │ └── kindeditor.js ├── uploaders │ └── kindeditor │ │ ├── file_uploader.rb │ │ ├── flash_uploader.rb │ │ ├── image_uploader.rb │ │ ├── media_uploader.rb │ │ └── asset_uploader.rb └── controllers │ └── kindeditor │ └── assets_controller.rb ├── lib ├── rails_kindeditor │ ├── version.rb │ ├── formtastic.rb │ ├── simple_form.rb │ ├── active_record.rb │ ├── engine.rb │ └── helper.rb ├── generators │ └── rails_kindeditor │ │ ├── migration │ │ ├── templates │ │ │ ├── models │ │ │ │ ├── mongoid │ │ │ │ │ └── kindeditor │ │ │ │ │ │ ├── file.rb │ │ │ │ │ │ ├── flash.rb │ │ │ │ │ │ ├── image.rb │ │ │ │ │ │ ├── media.rb │ │ │ │ │ │ └── asset.rb │ │ │ │ └── active_record │ │ │ │ │ └── kindeditor │ │ │ │ │ ├── file.rb │ │ │ │ │ ├── flash.rb │ │ │ │ │ ├── image.rb │ │ │ │ │ ├── media.rb │ │ │ │ │ └── asset.rb │ │ │ └── migration │ │ │ │ └── migration.rb │ │ ├── USAGE │ │ └── migration_generator.rb │ │ └── install │ │ ├── USAGE │ │ ├── templates │ │ ├── load_kindeditor.coffee │ │ ├── application.js │ │ └── rails_kindeditor.rb │ │ └── install_generator.rb ├── tasks │ └── assets.rake └── rails_kindeditor.rb ├── screenshots ├── simple_mode.png └── rails_kindeditor.png ├── Gemfile ├── vendor └── assets │ └── javascripts │ └── kindeditor │ ├── themes │ ├── common │ │ ├── rm.gif │ │ ├── anchor.gif │ │ ├── blank.gif │ │ ├── flash.gif │ │ ├── loading.gif │ │ └── media.gif │ ├── qq │ │ ├── editor.gif │ │ └── qq.css │ ├── default │ │ ├── default.png │ │ └── background.png │ └── simple │ │ └── simple.css │ ├── plugins │ ├── emoticons │ │ ├── images │ │ │ ├── 0.gif │ │ │ ├── 1.gif │ │ │ ├── 2.gif │ │ │ ├── 3.gif │ │ │ ├── 4.gif │ │ │ ├── 5.gif │ │ │ ├── 6.gif │ │ │ ├── 7.gif │ │ │ ├── 8.gif │ │ │ ├── 9.gif │ │ │ ├── 10.gif │ │ │ ├── 100.gif │ │ │ ├── 101.gif │ │ │ ├── 102.gif │ │ │ ├── 103.gif │ │ │ ├── 104.gif │ │ │ ├── 105.gif │ │ │ ├── 106.gif │ │ │ ├── 107.gif │ │ │ ├── 108.gif │ │ │ ├── 109.gif │ │ │ ├── 11.gif │ │ │ ├── 110.gif │ │ │ ├── 111.gif │ │ │ ├── 112.gif │ │ │ ├── 113.gif │ │ │ ├── 114.gif │ │ │ ├── 115.gif │ │ │ ├── 116.gif │ │ │ ├── 117.gif │ │ │ ├── 118.gif │ │ │ ├── 119.gif │ │ │ ├── 12.gif │ │ │ ├── 120.gif │ │ │ ├── 121.gif │ │ │ ├── 122.gif │ │ │ ├── 123.gif │ │ │ ├── 124.gif │ │ │ ├── 125.gif │ │ │ ├── 126.gif │ │ │ ├── 127.gif │ │ │ ├── 128.gif │ │ │ ├── 129.gif │ │ │ ├── 13.gif │ │ │ ├── 130.gif │ │ │ ├── 131.gif │ │ │ ├── 132.gif │ │ │ ├── 133.gif │ │ │ ├── 134.gif │ │ │ ├── 14.gif │ │ │ ├── 15.gif │ │ │ ├── 16.gif │ │ │ ├── 17.gif │ │ │ ├── 18.gif │ │ │ ├── 19.gif │ │ │ ├── 20.gif │ │ │ ├── 21.gif │ │ │ ├── 22.gif │ │ │ ├── 23.gif │ │ │ ├── 24.gif │ │ │ ├── 25.gif │ │ │ ├── 26.gif │ │ │ ├── 27.gif │ │ │ ├── 28.gif │ │ │ ├── 29.gif │ │ │ ├── 30.gif │ │ │ ├── 31.gif │ │ │ ├── 32.gif │ │ │ ├── 33.gif │ │ │ ├── 34.gif │ │ │ ├── 35.gif │ │ │ ├── 36.gif │ │ │ ├── 37.gif │ │ │ ├── 38.gif │ │ │ ├── 39.gif │ │ │ ├── 40.gif │ │ │ ├── 41.gif │ │ │ ├── 42.gif │ │ │ ├── 43.gif │ │ │ ├── 44.gif │ │ │ ├── 45.gif │ │ │ ├── 46.gif │ │ │ ├── 47.gif │ │ │ ├── 48.gif │ │ │ ├── 49.gif │ │ │ ├── 50.gif │ │ │ ├── 51.gif │ │ │ ├── 52.gif │ │ │ ├── 53.gif │ │ │ ├── 54.gif │ │ │ ├── 55.gif │ │ │ ├── 56.gif │ │ │ ├── 57.gif │ │ │ ├── 58.gif │ │ │ ├── 59.gif │ │ │ ├── 60.gif │ │ │ ├── 61.gif │ │ │ ├── 62.gif │ │ │ ├── 63.gif │ │ │ ├── 64.gif │ │ │ ├── 65.gif │ │ │ ├── 66.gif │ │ │ ├── 67.gif │ │ │ ├── 68.gif │ │ │ ├── 69.gif │ │ │ ├── 70.gif │ │ │ ├── 71.gif │ │ │ ├── 72.gif │ │ │ ├── 73.gif │ │ │ ├── 74.gif │ │ │ ├── 75.gif │ │ │ ├── 76.gif │ │ │ ├── 77.gif │ │ │ ├── 78.gif │ │ │ ├── 79.gif │ │ │ ├── 80.gif │ │ │ ├── 81.gif │ │ │ ├── 82.gif │ │ │ ├── 83.gif │ │ │ ├── 84.gif │ │ │ ├── 85.gif │ │ │ ├── 86.gif │ │ │ ├── 87.gif │ │ │ ├── 88.gif │ │ │ ├── 89.gif │ │ │ ├── 90.gif │ │ │ ├── 91.gif │ │ │ ├── 92.gif │ │ │ ├── 93.gif │ │ │ ├── 94.gif │ │ │ ├── 95.gif │ │ │ ├── 96.gif │ │ │ ├── 97.gif │ │ │ ├── 98.gif │ │ │ ├── 99.gif │ │ │ └── static.gif │ │ └── emoticons.js │ ├── image │ │ └── images │ │ │ ├── refresh.png │ │ │ ├── align_left.gif │ │ │ ├── align_top.gif │ │ │ └── align_right.gif │ ├── multiimage │ │ └── images │ │ │ ├── image.png │ │ │ ├── swfupload.swf │ │ │ ├── select-files-en.png │ │ │ └── select-files-zh-CN.png │ ├── filemanager │ │ ├── images │ │ │ ├── go-up.gif │ │ │ ├── file-16.gif │ │ │ ├── file-64.gif │ │ │ ├── folder-16.gif │ │ │ └── folder-64.gif │ │ └── filemanager.js │ ├── template │ │ ├── html │ │ │ ├── 1.html │ │ │ ├── 3.html │ │ │ └── 2.html │ │ └── template.js │ ├── code │ │ ├── prettify.css │ │ └── code.js │ ├── fixtoolbar │ │ └── fixtoolbar.js │ ├── pagebreak │ │ └── pagebreak.js │ ├── preview │ │ └── preview.js │ ├── clearhtml │ │ └── clearhtml.js │ ├── lineheight │ │ └── lineheight.js │ ├── baidumap │ │ ├── map.html │ │ ├── index.html │ │ └── baidumap.js │ ├── autoheight │ │ └── autoheight.js │ ├── plainpaste │ │ └── plainpaste.js │ ├── anchor │ │ └── anchor.js │ ├── wordpaste │ │ └── wordpaste.js │ ├── map │ │ ├── map.html │ │ └── map.js │ ├── quickformat │ │ └── quickformat.js │ ├── link │ │ └── link.js │ ├── insertfile │ │ └── insertfile.js │ ├── flash │ │ └── flash.js │ └── media │ │ └── media.js │ └── lang │ ├── zh-CN.js │ ├── zh-TW.js │ ├── ko.js │ ├── ar.js │ ├── en.js │ └── ru.js ├── config └── routes.rb └── rails_kindeditor.gemspec /Rakefile: -------------------------------------------------------------------------------- 1 | require 'bundler' 2 | Bundler::GemHelper.install_tasks 3 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.gem 2 | .bundle 3 | Gemfile.lock 4 | pkg/* 5 | *.DS_Store -------------------------------------------------------------------------------- /app/assets/javascripts/kindeditor.js: -------------------------------------------------------------------------------- 1 | //= require kindeditor/kindeditor.js 2 | -------------------------------------------------------------------------------- /lib/rails_kindeditor/version.rb: -------------------------------------------------------------------------------- 1 | module RailsKindeditor 2 | VERSION = "0.5.1" 3 | end 4 | -------------------------------------------------------------------------------- /screenshots/simple_mode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/screenshots/simple_mode.png -------------------------------------------------------------------------------- /screenshots/rails_kindeditor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/screenshots/rails_kindeditor.png -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- 1 | source "http://rubygems.org" 2 | 3 | gemspec 4 | 5 | gem 'jquery-rails' 6 | gem 'carrierwave' 7 | gem 'mini_magick' 8 | -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/themes/common/rm.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/themes/common/rm.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/themes/qq/editor.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/themes/qq/editor.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/themes/common/anchor.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/themes/common/anchor.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/themes/common/blank.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/themes/common/blank.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/themes/common/flash.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/themes/common/flash.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/themes/common/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/themes/common/loading.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/themes/common/media.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/themes/common/media.gif -------------------------------------------------------------------------------- /config/routes.rb: -------------------------------------------------------------------------------- 1 | Rails.application.routes.draw do 2 | namespace :kindeditor do 3 | post "/upload" => "assets#create" 4 | get "/filemanager" => "assets#list" 5 | end 6 | end -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/themes/default/default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/themes/default/default.png -------------------------------------------------------------------------------- /lib/generators/rails_kindeditor/migration/templates/models/mongoid/kindeditor/file.rb: -------------------------------------------------------------------------------- 1 | class Kindeditor::File < Kindeditor::Asset 2 | mount_uploader :asset, Kindeditor::FileUploader 3 | end -------------------------------------------------------------------------------- /lib/generators/rails_kindeditor/migration/templates/models/mongoid/kindeditor/flash.rb: -------------------------------------------------------------------------------- 1 | class Kindeditor::Flash < Kindeditor::Asset 2 | mount_uploader :asset, Kindeditor::FlashUploader 3 | end -------------------------------------------------------------------------------- /lib/generators/rails_kindeditor/migration/templates/models/mongoid/kindeditor/image.rb: -------------------------------------------------------------------------------- 1 | class Kindeditor::Image < Kindeditor::Asset 2 | mount_uploader :asset, Kindeditor::ImageUploader 3 | end -------------------------------------------------------------------------------- /lib/generators/rails_kindeditor/migration/templates/models/mongoid/kindeditor/media.rb: -------------------------------------------------------------------------------- 1 | class Kindeditor::Media < Kindeditor::Asset 2 | mount_uploader :asset, Kindeditor::MediaUploader 3 | end -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/0.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/0.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/1.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/2.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/3.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/4.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/4.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/5.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/5.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/6.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/6.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/7.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/7.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/8.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/8.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/9.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/9.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/themes/default/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/themes/default/background.png -------------------------------------------------------------------------------- /lib/generators/rails_kindeditor/migration/templates/models/active_record/kindeditor/file.rb: -------------------------------------------------------------------------------- 1 | class Kindeditor::File < Kindeditor::Asset 2 | mount_uploader :asset, Kindeditor::FileUploader 3 | end -------------------------------------------------------------------------------- /lib/generators/rails_kindeditor/migration/templates/models/active_record/kindeditor/flash.rb: -------------------------------------------------------------------------------- 1 | class Kindeditor::Flash < Kindeditor::Asset 2 | mount_uploader :asset, Kindeditor::FlashUploader 3 | end -------------------------------------------------------------------------------- /lib/generators/rails_kindeditor/migration/templates/models/active_record/kindeditor/image.rb: -------------------------------------------------------------------------------- 1 | class Kindeditor::Image < Kindeditor::Asset 2 | mount_uploader :asset, Kindeditor::ImageUploader 3 | end -------------------------------------------------------------------------------- /lib/generators/rails_kindeditor/migration/templates/models/active_record/kindeditor/media.rb: -------------------------------------------------------------------------------- 1 | class Kindeditor::Media < Kindeditor::Asset 2 | mount_uploader :asset, Kindeditor::MediaUploader 3 | end -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/10.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/10.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/100.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/100.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/101.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/101.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/102.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/102.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/103.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/103.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/104.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/104.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/105.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/105.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/106.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/106.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/107.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/107.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/108.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/108.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/109.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/109.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/11.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/11.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/110.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/110.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/111.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/111.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/112.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/112.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/113.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/113.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/114.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/114.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/115.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/115.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/116.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/116.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/117.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/117.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/118.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/118.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/119.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/119.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/12.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/12.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/120.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/120.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/121.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/121.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/122.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/122.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/123.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/123.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/124.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/124.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/125.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/125.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/126.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/126.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/127.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/127.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/128.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/128.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/129.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/129.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/13.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/13.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/130.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/130.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/131.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/131.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/132.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/132.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/133.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/133.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/134.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/134.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/14.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/14.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/15.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/15.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/16.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/17.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/17.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/18.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/18.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/19.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/19.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/20.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/20.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/21.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/21.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/22.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/22.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/23.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/23.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/24.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/24.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/25.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/25.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/26.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/26.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/27.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/27.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/28.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/28.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/29.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/29.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/30.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/30.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/31.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/31.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/32.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/32.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/33.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/33.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/34.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/34.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/35.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/35.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/36.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/36.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/37.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/37.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/38.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/38.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/39.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/39.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/40.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/40.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/41.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/41.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/42.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/42.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/43.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/43.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/44.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/44.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/45.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/45.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/46.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/46.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/47.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/47.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/48.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/48.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/49.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/49.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/50.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/50.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/51.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/51.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/52.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/52.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/53.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/53.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/54.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/54.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/55.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/55.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/56.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/56.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/57.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/57.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/58.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/58.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/59.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/59.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/60.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/60.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/61.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/61.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/62.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/62.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/63.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/63.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/64.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/64.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/65.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/65.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/66.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/66.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/67.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/67.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/68.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/68.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/69.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/69.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/70.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/70.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/71.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/71.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/72.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/72.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/73.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/73.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/74.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/74.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/75.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/75.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/76.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/76.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/77.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/77.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/78.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/78.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/79.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/79.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/80.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/80.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/81.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/81.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/82.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/82.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/83.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/83.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/84.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/84.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/85.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/85.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/86.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/86.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/87.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/87.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/88.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/88.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/89.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/89.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/90.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/90.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/91.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/91.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/92.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/92.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/93.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/93.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/94.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/94.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/95.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/95.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/96.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/96.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/97.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/97.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/98.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/98.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/99.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/99.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/image/images/refresh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/image/images/refresh.png -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/images/static.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/static.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/image/images/align_left.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/image/images/align_left.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/image/images/align_top.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/image/images/align_top.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/multiimage/images/image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/multiimage/images/image.png -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/filemanager/images/go-up.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/filemanager/images/go-up.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/image/images/align_right.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/image/images/align_right.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/filemanager/images/file-16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/filemanager/images/file-16.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/filemanager/images/file-64.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/filemanager/images/file-64.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/filemanager/images/folder-16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/filemanager/images/folder-16.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/filemanager/images/folder-64.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/filemanager/images/folder-64.gif -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/multiimage/images/swfupload.swf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/multiimage/images/swfupload.swf -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/multiimage/images/select-files-en.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/multiimage/images/select-files-en.png -------------------------------------------------------------------------------- /app/uploaders/kindeditor/file_uploader.rb: -------------------------------------------------------------------------------- 1 | # encoding: utf-8 2 | 3 | class Kindeditor::FileUploader < Kindeditor::AssetUploader 4 | 5 | def extension_white_list 6 | EXT_NAMES[:file] 7 | end 8 | 9 | end 10 | 11 | -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/multiimage/images/select-files-zh-CN.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Macrow/rails_kindeditor/HEAD/vendor/assets/javascripts/kindeditor/plugins/multiimage/images/select-files-zh-CN.png -------------------------------------------------------------------------------- /app/uploaders/kindeditor/flash_uploader.rb: -------------------------------------------------------------------------------- 1 | # encoding: utf-8 2 | 3 | class Kindeditor::FlashUploader < Kindeditor::AssetUploader 4 | 5 | def extension_white_list 6 | EXT_NAMES[:flash] 7 | end 8 | 9 | end 10 | 11 | -------------------------------------------------------------------------------- /app/uploaders/kindeditor/image_uploader.rb: -------------------------------------------------------------------------------- 1 | # encoding: utf-8 2 | 3 | class Kindeditor::ImageUploader < Kindeditor::AssetUploader 4 | 5 | def extension_white_list 6 | EXT_NAMES[:image] 7 | end 8 | 9 | end 10 | 11 | -------------------------------------------------------------------------------- /app/uploaders/kindeditor/media_uploader.rb: -------------------------------------------------------------------------------- 1 | # encoding: utf-8 2 | 3 | class Kindeditor::MediaUploader < Kindeditor::AssetUploader 4 | 5 | def extension_white_list 6 | EXT_NAMES[:media] 7 | end 8 | 9 | end 10 | 11 | -------------------------------------------------------------------------------- /lib/generators/rails_kindeditor/install/USAGE: -------------------------------------------------------------------------------- 1 | Description: 2 | install kindeditor for your application 3 | 4 | Example: 5 | rails generate rails_kindeditor:install 6 | 7 | This will create: 8 | config/kindeditor.rb 9 | 10 | 11 | -------------------------------------------------------------------------------- /lib/rails_kindeditor/formtastic.rb: -------------------------------------------------------------------------------- 1 | require "formtastic" 2 | 3 | class KindeditorInput 4 | include ::Formtastic::Inputs::Base 5 | 6 | def to_html 7 | input_wrapping do 8 | label_html << 9 | builder.kindeditor(method, input_html_options) 10 | end 11 | end 12 | end 13 | -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/template/html/1.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 |

8 | 在此处输入标题 9 |

10 |

11 | 在此处输入内容 12 |

13 | 14 | -------------------------------------------------------------------------------- /lib/tasks/assets.rake: -------------------------------------------------------------------------------- 1 | namespace :kindeditor do 2 | desc "copy kindeditor into public folder" 3 | task :assets do 4 | puts "copying kindeditor into public/assets folder ..." 5 | dest_path = "#{Rails.root}/public/assets" 6 | FileUtils.mkdir_p dest_path 7 | FileUtils.cp_r "#{RailsKindeditor.root_path}/vendor/assets/javascripts/kindeditor/", dest_path 8 | end 9 | end -------------------------------------------------------------------------------- /lib/rails_kindeditor/simple_form.rb: -------------------------------------------------------------------------------- 1 | module RailsKindeditor 2 | module SimpleForm 3 | class KindeditorInput < ::SimpleForm::Inputs::Base 4 | def input(wrapper_options) 5 | @builder.kindeditor(attribute_name, input_html_options) 6 | end 7 | end 8 | end 9 | end 10 | 11 | ::SimpleForm::FormBuilder.map_type :kindeditor, :to => RailsKindeditor::SimpleForm::KindeditorInput -------------------------------------------------------------------------------- /lib/generators/rails_kindeditor/install/templates/load_kindeditor.coffee: -------------------------------------------------------------------------------- 1 | $(document).on 'turbolinks:before-cache', -> 2 | KindEditor.remove('.rails_kindeditor') 3 | 4 | $(document).on 'turbolinks:load', -> 5 | $('.rails_kindeditor').each -> 6 | KindEditor.create "##{$(this).attr('id')}", "allowFileManager": true, "uploadJson": $(this).data('upload'), "fileManagerJson": $(this).data('filemanager'), "width": '100%', "height": '300' 7 | -------------------------------------------------------------------------------- /lib/generators/rails_kindeditor/migration/USAGE: -------------------------------------------------------------------------------- 1 | Description: 2 | Copy model, migration and uploader to your application. 3 | 4 | Example: 5 | rails generate rails_kindeditor:migration 6 | 7 | This will create: 8 | app/models/kindeditor/asset.rb 9 | app/models/kindeditor/file.rb 10 | app/models/kindeditor/flash.rb 11 | app/models/kindeditor/image.rb 12 | app/models/kindeditor/media.rb 13 | db/migrate/xxxxxxxxx_create_kindeditor_assets.rb 14 | 15 | -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/template/html/3.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 |

8 | 在此处输入内容 9 |

10 |
    11 |
  1. 12 | 描述1 13 |
  2. 14 |
  3. 15 | 描述2 16 |
  4. 17 |
  5. 18 | 描述3 19 |
  6. 20 |
21 |

22 | 在此处输入内容 23 |

24 | 35 | 36 | -------------------------------------------------------------------------------- /lib/generators/rails_kindeditor/migration/templates/models/active_record/kindeditor/asset.rb: -------------------------------------------------------------------------------- 1 | class Kindeditor::Asset < ActiveRecord::Base 2 | self.table_name = 'kindeditor_assets' 3 | mount_uploader :asset, Kindeditor::AssetUploader 4 | validates_presence_of :asset 5 | before_save :update_asset_attributes 6 | 7 | private 8 | def update_asset_attributes 9 | if asset.present? && asset_changed? 10 | self.file_size = asset.file.size 11 | self.file_type = asset.file.content_type 12 | end 13 | end 14 | end -------------------------------------------------------------------------------- /lib/rails_kindeditor/active_record.rb: -------------------------------------------------------------------------------- 1 | if defined?(ActiveRecord) 2 | ActiveRecord::Base.class_eval do 3 | def self.has_many_kindeditor_assets(*args) 4 | options = args.extract_options! 5 | asset_name = args[0] ? args[0].to_s : 'assets' 6 | has_many asset_name.to_sym, :class_name => 'Kindeditor::Asset', :as => :owner, :dependent => options[:dependent] 7 | 8 | class_name = self.name 9 | Kindeditor::Asset.class_eval do 10 | belongs_to :owner, :polymorphic => true 11 | end 12 | end 13 | end 14 | end -------------------------------------------------------------------------------- /lib/generators/rails_kindeditor/migration/templates/migration/migration.rb: -------------------------------------------------------------------------------- 1 | class CreateKindeditorAssets < ActiveRecord::Migration 2 | def self.up 3 | create_table :kindeditor_assets do |t| 4 | t.string :asset 5 | t.integer :file_size 6 | t.string :file_type 7 | t.integer :owner_id 8 | t.string :owner_type 9 | t.string :asset_type # list by kindeditor: image, file, media, flash 10 | t.timestamps 11 | end 12 | end 13 | 14 | def self.down 15 | drop_table :kindeditor_assets 16 | end 17 | end 18 | 19 | -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/template/html/2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 |

8 | 标题 9 |

10 | 11 | 12 | 13 | 16 | 19 | 20 | 21 | 24 | 27 | 28 | 29 | 32 | 35 | 36 | 37 |
14 |

标题1

15 |
17 |

标题1

18 |
22 | 内容1 23 | 25 | 内容2 26 |
30 | 内容3 31 | 33 | 内容4 34 |
38 |

39 | 表格说明 40 |

41 | 42 | -------------------------------------------------------------------------------- /lib/generators/rails_kindeditor/migration/templates/models/mongoid/kindeditor/asset.rb: -------------------------------------------------------------------------------- 1 | require 'carrierwave/mongoid' 2 | 3 | class Kindeditor::Asset 4 | include Mongoid::Document 5 | include Mongoid::Timestamps 6 | 7 | field :file_size, :type => Integer 8 | field :file_type, :type => String 9 | field :owner_id, :type => Integer 10 | field :asset_type, :type => String 11 | 12 | mount_uploader :asset, Kindeditor::AssetUploader 13 | validates_presence_of :asset 14 | before_save :update_asset_attributes 15 | 16 | def self.collection_name 17 | :kindeditor_assets 18 | end 19 | 20 | private 21 | def update_asset_attributes 22 | if asset.present? && asset_changed? 23 | self.file_size = asset.file.size 24 | self.file_type = asset.file.content_type 25 | end 26 | end 27 | end 28 | -------------------------------------------------------------------------------- /lib/generators/rails_kindeditor/install/templates/application.js: -------------------------------------------------------------------------------- 1 | // This is a manifest file that'll be compiled into application.js, which will include all the files 2 | // listed below. 3 | // 4 | // Any JavaScript/Coffee file within this directory, lib/assets/javascripts, or any plugin's 5 | // vendor/assets/javascripts directory can be referenced here using a relative path. 6 | // 7 | // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the 8 | // compiled file. JavaScript code in this file should be added after the last require_* statement. 9 | // 10 | // Read Sprockets README (https://github.com/rails/sprockets#sprockets-directives) for details 11 | // about supported directives. 12 | // 13 | //= require rails-ujs 14 | //= require turbolinks 15 | //= require jquery 16 | //= require jquery_ujs 17 | //= require kindeditor 18 | //= require_tree . 19 | -------------------------------------------------------------------------------- /rails_kindeditor.gemspec: -------------------------------------------------------------------------------- 1 | # -*- encoding: utf-8 -*- 2 | $:.push File.expand_path("../lib", __FILE__) 3 | require "rails_kindeditor/version" 4 | 5 | Gem::Specification.new do |s| 6 | s.name = "rails_kindeditor" 7 | s.version = RailsKindeditor::VERSION 8 | s.platform = Gem::Platform::RUBY 9 | s.authors = "Macrow" 10 | s.email = "Macrow_wh@163.com" 11 | s.homepage = "http://github.com/Macrow" 12 | s.summary = "Kindeditor for Ruby on Rails" 13 | s.description = "rails_kindeditor will helps your rails app integrate with kindeditor, including images and files uploading." 14 | s.license = 'MIT' 15 | 16 | s.rubyforge_project = "rails_kindeditor" 17 | 18 | s.files = `git ls-files`.split("\n") 19 | s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n") 20 | s.require_paths = ["lib"] 21 | 22 | s.add_dependency("jquery-rails") 23 | s.add_dependency("carrierwave") 24 | s.add_dependency("mini_magick") 25 | end 26 | -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/code/prettify.css: -------------------------------------------------------------------------------- 1 | .pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee} 2 | 3 | pre.prettyprint { 4 | border: 0; 5 | border-left: 3px solid rgb(204, 204, 204); 6 | margin-left: 2em; 7 | padding: 0.5em; 8 | font-size: 110%; 9 | display: block; 10 | font-family: "Consolas", "Monaco", "Bitstream Vera Sans Mono", "Courier New", Courier, monospace; 11 | margin: 1em 0px; 12 | white-space: pre; 13 | } 14 | -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/fixtoolbar/fixtoolbar.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by chenyihong on 14/12/4. 3 | */ 4 | 5 | KindEditor.plugin('fixtoolbar', function (K) { 6 | var self = this; 7 | if (!self.fixToolBar) { 8 | return; 9 | } 10 | 11 | function init() { 12 | var toolbar = K('.ke-toolbar'); 13 | var originY = toolbar.pos().y; 14 | K(window).bind('scroll', function () { 15 | if (toolbar.css('position') == 'fixed') { 16 | if(document.body.scrollTop - originY < 0){ 17 | toolbar.css('position', 'static'); 18 | toolbar.css('top', 'auto'); 19 | } 20 | } else { 21 | if (toolbar.pos().y - document.body.scrollTop < 0) { 22 | toolbar.css('position', 'fixed'); 23 | toolbar.css('top', 0); 24 | } 25 | } 26 | }); 27 | } 28 | 29 | if (self.isCreated) { 30 | init(); 31 | } else { 32 | self.afterCreate(init); 33 | } 34 | 35 | }); 36 | -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/pagebreak/pagebreak.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * KindEditor - WYSIWYG HTML Editor for Internet 3 | * Copyright (C) 2006-2011 kindsoft.net 4 | * 5 | * @author Roddy 6 | * @site http://www.kindsoft.net/ 7 | * @licence http://www.kindsoft.net/license.php 8 | *******************************************************************************/ 9 | 10 | KindEditor.plugin('pagebreak', function(K) { 11 | var self = this; 12 | var name = 'pagebreak'; 13 | var pagebreakHtml = K.undef(self.pagebreakHtml, '
'); 14 | 15 | self.clickToolbar(name, function() { 16 | var cmd = self.cmd, range = cmd.range; 17 | self.focus(); 18 | var tail = self.newlineTag == 'br' || K.WEBKIT ? '' : ''; 19 | self.insertHtml(pagebreakHtml + tail); 20 | if (tail !== '') { 21 | var p = K('#__kindeditor_tail_tag__', self.edit.doc); 22 | range.selectNodeContents(p[0]); 23 | p.removeAttr('id'); 24 | cmd.select(); 25 | } 26 | }); 27 | }); 28 | -------------------------------------------------------------------------------- /lib/generators/rails_kindeditor/install/templates/rails_kindeditor.rb: -------------------------------------------------------------------------------- 1 | RailsKindeditor.setup do |config| 2 | 3 | # Specify the subfolders in public directory. 4 | # You can customize it , eg: config.upload_dir = 'this/is/my/folder' 5 | config.upload_dir = 'uploads' 6 | 7 | # Allowed file types for upload. 8 | config.upload_image_ext = %w[gif jpg jpeg png bmp] 9 | config.upload_flash_ext = %w[swf flv] 10 | config.upload_media_ext = %w[swf flv mp3 wav wma wmv mid avi mpg asf rm rmvb] 11 | config.upload_file_ext = %w[doc docx xls xlsx ppt htm html txt zip rar gz bz2] 12 | 13 | # Porcess upload image size 14 | # eg: 1600x1600 => 800x800 15 | # 1600x800 => 800x400 16 | # 400x400 => 400x400 # No Change 17 | # config.image_resize_to_limit = [800, 800] 18 | 19 | # if you have config in your rails application like this: 20 | # /config/enviroments/production.rb 21 | # # config.action_controller.asset_host = "http://asset.example.com" 22 | # # config.assets.prefix = "assets_prefx" 23 | # then you should: 24 | # 25 | # config.asset_url_prefix = "http://asset.example.com/assets_prefx/" if Rails.env.production? 26 | 27 | 28 | 29 | end 30 | -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/preview/preview.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * KindEditor - WYSIWYG HTML Editor for Internet 3 | * Copyright (C) 2006-2011 kindsoft.net 4 | * 5 | * @author Roddy 6 | * @site http://www.kindsoft.net/ 7 | * @licence http://www.kindsoft.net/license.php 8 | *******************************************************************************/ 9 | 10 | KindEditor.plugin('preview', function(K) { 11 | var self = this, name = 'preview', undefined; 12 | self.clickToolbar(name, function() { 13 | var lang = self.lang(name + '.'), 14 | html = '
' + 15 | '' + 16 | '
', 17 | dialog = self.createDialog({ 18 | name : name, 19 | width : 750, 20 | title : self.lang(name), 21 | body : html 22 | }), 23 | iframe = K('iframe', dialog.div), 24 | doc = K.iframeDoc(iframe); 25 | doc.open(); 26 | doc.write(self.fullHtml()); 27 | doc.close(); 28 | K(doc.body).css('background-color', '#FFF'); 29 | iframe[0].contentWindow.focus(); 30 | }); 31 | }); 32 | -------------------------------------------------------------------------------- /lib/rails_kindeditor/engine.rb: -------------------------------------------------------------------------------- 1 | require "rails_kindeditor" 2 | require "rails" 3 | require "action_controller" 4 | 5 | module RailsKindeditor 6 | class Engine < Rails::Engine 7 | 8 | initializer "rails_kindeditor.assets_precompile" do |app| 9 | app.config.assets.precompile += RailsKindeditor.assets 10 | end 11 | 12 | initializer "rails_kindeditor.simple_form_and_formtastic" do 13 | require "rails_kindeditor/simple_form" if Object.const_defined?("SimpleForm") 14 | require "rails_kindeditor/formtastic" if Object.const_defined?("Formtastic") 15 | end 16 | 17 | initializer "rails_kindeditor.helper_and_builder" do 18 | ActiveSupport.on_load :action_view do 19 | ActionView::Base.send(:include, RailsKindeditor::Helper) 20 | ActionView::Helpers::FormBuilder.send(:include, RailsKindeditor::Builder) 21 | end 22 | end 23 | 24 | initializer "rails_kindeditor.image_process" do 25 | unless RailsKindeditor.image_resize_to_limit.nil? 26 | Kindeditor::ImageUploader.class_eval do 27 | include CarrierWave::MiniMagick 28 | process :resize_to_limit => RailsKindeditor.resize_to_limit 29 | end 30 | end 31 | end 32 | 33 | end 34 | end -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/clearhtml/clearhtml.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * KindEditor - WYSIWYG HTML Editor for Internet 3 | * Copyright (C) 2006-2011 kindsoft.net 4 | * 5 | * @author Roddy 6 | * @site http://www.kindsoft.net/ 7 | * @licence http://www.kindsoft.net/license.php 8 | *******************************************************************************/ 9 | 10 | KindEditor.plugin('clearhtml', function(K) { 11 | var self = this, name = 'clearhtml'; 12 | self.clickToolbar(name, function() { 13 | self.focus(); 14 | var html = self.html(); 15 | html = html.replace(/(]*>)([\s\S]*?)(<\/script>)/ig, ''); 16 | html = html.replace(/(]*>)([\s\S]*?)(<\/style>)/ig, ''); 17 | html = K.formatHtml(html, { 18 | a : ['href', 'target'], 19 | embed : ['src', 'width', 'height', 'type', 'loop', 'autostart', 'quality', '.width', '.height', 'align', 'allowscriptaccess'], 20 | img : ['src', 'width', 'height', 'border', 'alt', 'title', '.width', '.height'], 21 | table : ['border'], 22 | 'td,th' : ['rowspan', 'colspan'], 23 | 'div,hr,br,tbody,tr,p,ol,ul,li,blockquote,h1,h2,h3,h4,h5,h6' : [] 24 | }); 25 | self.html(html); 26 | self.cmd.selection(true); 27 | self.addBookmark(); 28 | }); 29 | }); 30 | -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/lineheight/lineheight.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * KindEditor - WYSIWYG HTML Editor for Internet 3 | * Copyright (C) 2006-2011 kindsoft.net 4 | * 5 | * @author Roddy 6 | * @site http://www.kindsoft.net/ 7 | * @licence http://www.kindsoft.net/license.php 8 | *******************************************************************************/ 9 | 10 | KindEditor.plugin('lineheight', function(K) { 11 | var self = this, name = 'lineheight', lang = self.lang(name + '.'); 12 | self.clickToolbar(name, function() { 13 | var curVal = '', commonNode = self.cmd.commonNode({'*' : '.line-height'}); 14 | if (commonNode) { 15 | curVal = commonNode.css('line-height'); 16 | } 17 | var menu = self.createMenu({ 18 | name : name, 19 | width : 150 20 | }); 21 | K.each(lang.lineHeight, function(i, row) { 22 | K.each(row, function(key, val) { 23 | menu.addItem({ 24 | title : val, 25 | checked : curVal === key, 26 | click : function() { 27 | self.cmd.toggle('', { 28 | span : '.line-height=' + key 29 | }); 30 | self.updateState(); 31 | self.addBookmark(); 32 | self.hideMenu(); 33 | } 34 | }); 35 | }); 36 | }); 37 | }); 38 | }); 39 | -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/baidumap/map.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Baidu Maps 6 | 10 | 11 | 39 | 40 | 41 |
42 | 43 | 44 | -------------------------------------------------------------------------------- /lib/generators/rails_kindeditor/install/install_generator.rb: -------------------------------------------------------------------------------- 1 | module RailsKindeditor 2 | class InstallGenerator < Rails::Generators::Base 3 | source_root File.expand_path('../templates', __FILE__) 4 | desc "Install kindeditor for your application." 5 | 6 | def copy_kindeditor_files 7 | if ::Rails.version < "3.1.0" 8 | warn "Warning: rails_kindeditor ~> v0.3.0 only support Rails3.1+!" 9 | warn "If you're using rails3.0.x, please check rails_kindeditor v0.2.8" 10 | else 11 | template "rails_kindeditor.rb", "config/initializers/rails_kindeditor.rb" 12 | end 13 | end 14 | 15 | def insert_or_copy_js_files 16 | if File.exist?('app/assets/javascripts/application.js') 17 | insert_into_file "app/assets/javascripts/application.js", "//= require jquery\n//= require jquery_ujs\n//= require kindeditor\n", :before => "//= require_tree ." 18 | else 19 | copy_file "application.js", "app/assets/javascripts/application.js" 20 | end 21 | end 22 | 23 | def copy_load_kindeditor_coffeescript 24 | if ::Rails.version < "3.1.0" 25 | warn "Warning: rails_kindeditor ~> v0.3.0 only support Rails3.1+!" 26 | warn "If you're using rails3.0.x, please check rails_kindeditor v0.2.8" 27 | else 28 | template "load_kindeditor.coffee", "app/assets/javascripts/load_kindeditor.coffee" 29 | end 30 | end 31 | end 32 | end 33 | -------------------------------------------------------------------------------- /lib/generators/rails_kindeditor/migration/migration_generator.rb: -------------------------------------------------------------------------------- 1 | module RailsKindeditor 2 | class MigrationGenerator < Rails::Generators::Base 3 | include Rails::Generators::Migration 4 | source_root File.expand_path('../templates', __FILE__) 5 | desc "Copy model and migration to your application." 6 | class_option :orm, :type => :string, :aliases => "-o", :default => "active_record", :desc => "ORM options: active_record or mongoid" 7 | 8 | def copy_files 9 | orm = options[:orm].to_s 10 | orm = "active_record" unless %w{active_record mongoid}.include?(orm) 11 | %w(asset file flash image media).each do |file| 12 | copy_model(orm, file) 13 | end 14 | if Rails.version < '4.0.0' && Rails.version >= '3.0.0' # insert code for rails3 15 | insert_into_file "app/models/kindeditor/asset.rb", " attr_accessible :asset\n", :after => "before_save :update_asset_attributes\n" 16 | end 17 | if orm == "active_record" 18 | migration_template "migration/migration.rb", "db/migrate/create_kindeditor_assets.rb" 19 | end 20 | end 21 | 22 | def self.next_migration_number(dirname) 23 | if ActiveRecord::Base.timestamped_migrations 24 | Time.now.utc.strftime("%Y%m%d%H%M%S") 25 | else 26 | "%.3d" % (current_migration_number(dirname) + 1) 27 | end 28 | end 29 | 30 | private 31 | def copy_model(orm, name) 32 | template "models/#{orm}/kindeditor/#{name}.rb", "app/models/kindeditor/#{name}.rb" 33 | end 34 | end 35 | end 36 | 37 | -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/autoheight/autoheight.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * KindEditor - WYSIWYG HTML Editor for Internet 3 | * Copyright (C) 2006-2011 kindsoft.net 4 | * 5 | * @author Roddy 6 | * @site http://www.kindsoft.net/ 7 | * @licence http://www.kindsoft.net/license.php 8 | *******************************************************************************/ 9 | 10 | KindEditor.plugin('autoheight', function(K) { 11 | var self = this; 12 | 13 | if (!self.autoHeightMode) { 14 | return; 15 | } 16 | 17 | var minHeight; 18 | 19 | function hideScroll() { 20 | var edit = self.edit; 21 | var body = edit.doc.body; 22 | edit.iframe[0].scroll = 'no'; 23 | body.style.overflowY = 'hidden'; 24 | } 25 | 26 | function resetHeight() { 27 | var edit = self.edit; 28 | var body = edit.doc.body; 29 | edit.iframe.height(minHeight); 30 | self.resize(null, Math.max((K.IE ? body.scrollHeight : body.offsetHeight) + 76, minHeight)); 31 | } 32 | 33 | function init() { 34 | minHeight = K.removeUnit(self.height); 35 | 36 | self.edit.afterChange(resetHeight); 37 | hideScroll(); 38 | resetHeight(); 39 | } 40 | 41 | if (self.isCreated) { 42 | init(); 43 | } else { 44 | self.afterCreate(init); 45 | } 46 | }); 47 | 48 | /* 49 | * 如何实现真正的自动高度? 50 | * 修改编辑器高度之后,再次获取body内容高度时,最小值只会是当前iframe的设置高度,这样就导致高度只增不减。 51 | * 所以每次获取body内容高度之前,先将iframe的高度重置为最小高度,这样就能获取body的实际高度。 52 | * 由此就实现了真正的自动高度 53 | * 测试:chrome、firefox、IE9、IE8 54 | * */ 55 | -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/plainpaste/plainpaste.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * KindEditor - WYSIWYG HTML Editor for Internet 3 | * Copyright (C) 2006-2011 kindsoft.net 4 | * 5 | * @author Roddy 6 | * @site http://www.kindsoft.net/ 7 | * @licence http://www.kindsoft.net/license.php 8 | *******************************************************************************/ 9 | 10 | KindEditor.plugin('plainpaste', function(K) { 11 | var self = this, name = 'plainpaste'; 12 | self.clickToolbar(name, function() { 13 | var lang = self.lang(name + '.'), 14 | html = '
' + 15 | '
' + lang.comment + '
' + 16 | '' + 17 | '
', 18 | dialog = self.createDialog({ 19 | name : name, 20 | width : 450, 21 | title : self.lang(name), 22 | body : html, 23 | yesBtn : { 24 | name : self.lang('yes'), 25 | click : function(e) { 26 | var html = textarea.val(); 27 | html = K.escape(html); 28 | html = html.replace(/ {2}/g, '  '); 29 | if (self.newlineTag == 'p') { 30 | html = html.replace(/^/, '

').replace(/$/, '

').replace(/\n/g, '

'); 31 | } else { 32 | html = html.replace(/\n/g, '
$&'); 33 | } 34 | self.insertHtml(html).hideDialog().focus(); 35 | } 36 | } 37 | }), 38 | textarea = K('textarea', dialog.div); 39 | textarea[0].focus(); 40 | }); 41 | }); 42 | -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/anchor/anchor.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * KindEditor - WYSIWYG HTML Editor for Internet 3 | * Copyright (C) 2006-2011 kindsoft.net 4 | * 5 | * @author Roddy 6 | * @site http://www.kindsoft.net/ 7 | * @licence http://www.kindsoft.net/license.php 8 | *******************************************************************************/ 9 | 10 | KindEditor.plugin('anchor', function(K) { 11 | var self = this, name = 'anchor', lang = self.lang(name + '.'); 12 | self.plugin.anchor = { 13 | edit : function() { 14 | var html = ['

', 15 | '
', 16 | '', 17 | '', 18 | '
', 19 | '
'].join(''); 20 | var dialog = self.createDialog({ 21 | name : name, 22 | width : 300, 23 | title : self.lang(name), 24 | body : html, 25 | yesBtn : { 26 | name : self.lang('yes'), 27 | click : function(e) { 28 | self.insertHtml('').hideDialog().focus(); 29 | } 30 | } 31 | }); 32 | var div = dialog.div, 33 | nameBox = K('input[name="name"]', div); 34 | var img = self.plugin.getSelectedAnchor(); 35 | if (img) { 36 | nameBox.val(unescape(img.attr('data-ke-name'))); 37 | } 38 | nameBox[0].focus(); 39 | nameBox[0].select(); 40 | }, 41 | 'delete' : function() { 42 | self.plugin.getSelectedAnchor().remove(); 43 | } 44 | }; 45 | self.clickToolbar(name, self.plugin.anchor.edit); 46 | }); 47 | -------------------------------------------------------------------------------- /lib/rails_kindeditor.rb: -------------------------------------------------------------------------------- 1 | require 'rails_kindeditor/engine' 2 | require 'rails_kindeditor/helper' 3 | require 'rails_kindeditor/active_record' 4 | require 'carrierwave' 5 | require 'mini_magick' 6 | 7 | module RailsKindeditor 8 | 9 | mattr_accessor :upload_dir 10 | @@upload_dir = 'uploads' 11 | 12 | mattr_accessor :upload_image_ext 13 | @@upload_image_ext = %w[gif jpg jpeg png bmp] 14 | 15 | mattr_accessor :upload_flash_ext 16 | @@upload_flash_ext = %w[swf flv] 17 | 18 | mattr_accessor :upload_media_ext 19 | @@upload_media_ext = %w[swf flv mp3 wav wma wmv mid avi mpg asf rm rmvb] 20 | 21 | mattr_accessor :upload_file_ext 22 | @@upload_file_ext = %w[doc docx xls xlsx ppt htm html txt zip rar gz bz2] 23 | 24 | mattr_accessor :image_resize_to_limit 25 | 26 | mattr_accessor :asset_url_prefix 27 | 28 | def self.base_path 29 | self.asset_url_prefix ? "#{self.asset_url_prefix}/kindeditor/" : '/assets/kindeditor/' 30 | end 31 | 32 | def self.root_path 33 | @root_path ||= Pathname.new(File.dirname(File.expand_path('../', __FILE__))) 34 | end 35 | 36 | def self.assets 37 | Dir[root_path.join('vendor/assets/javascripts/kindeditor/**', '*.{js,css}')].inject([]) do |assets, path| 38 | assets << Pathname.new(path).relative_path_from(root_path.join('vendor/assets/javascripts')).to_s 39 | end 40 | end 41 | 42 | def self.upload_store_dir 43 | dirs = upload_dir.gsub(/^\/+/,'').gsub(/\/+$/,'').split('/') 44 | dirs.each { |dir| dir.gsub!(/\W/, '') } 45 | dirs.delete('') 46 | dirs.join('/') 47 | end 48 | 49 | def self.resize_to_limit 50 | if !image_resize_to_limit.nil? && image_resize_to_limit.is_a?(Array) 51 | [image_resize_to_limit[0], image_resize_to_limit[1]] 52 | else 53 | [800, 800] 54 | end 55 | end 56 | 57 | def self.setup 58 | yield self 59 | end 60 | 61 | end -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/wordpaste/wordpaste.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * KindEditor - WYSIWYG HTML Editor for Internet 3 | * Copyright (C) 2006-2011 kindsoft.net 4 | * 5 | * @author Roddy 6 | * @site http://www.kindsoft.net/ 7 | * @licence http://www.kindsoft.net/license.php 8 | *******************************************************************************/ 9 | 10 | KindEditor.plugin('wordpaste', function(K) { 11 | var self = this, name = 'wordpaste'; 12 | self.clickToolbar(name, function() { 13 | var lang = self.lang(name + '.'), 14 | html = '
' + 15 | '
' + lang.comment + '
' + 16 | '' + 17 | '
', 18 | dialog = self.createDialog({ 19 | name : name, 20 | width : 450, 21 | title : self.lang(name), 22 | body : html, 23 | yesBtn : { 24 | name : self.lang('yes'), 25 | click : function(e) { 26 | var str = doc.body.innerHTML; 27 | str = K.clearMsWord(str, self.filterMode ? self.htmlTags : K.options.htmlTags); 28 | self.insertHtml(str).hideDialog().focus(); 29 | } 30 | } 31 | }), 32 | div = dialog.div, 33 | iframe = K('iframe', div), 34 | doc = K.iframeDoc(iframe); 35 | if (!K.IE) { 36 | doc.designMode = 'on'; 37 | } 38 | doc.open(); 39 | doc.write('WordPaste'); 40 | doc.write(''); 41 | if (!K.IE) { 42 | doc.write('
'); 43 | } 44 | doc.write(''); 45 | doc.close(); 46 | if (K.IE) { 47 | doc.body.contentEditable = 'true'; 48 | } 49 | iframe[0].contentWindow.focus(); 50 | }); 51 | }); 52 | -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/map/map.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 10 | 11 | 53 | 54 | 55 |
56 | 57 | -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/template/template.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * KindEditor - WYSIWYG HTML Editor for Internet 3 | * Copyright (C) 2006-2011 kindsoft.net 4 | * 5 | * @author Roddy 6 | * @site http://www.kindsoft.net/ 7 | * @licence http://www.kindsoft.net/license.php 8 | *******************************************************************************/ 9 | 10 | KindEditor.plugin('template', function(K) { 11 | var self = this, name = 'template', lang = self.lang(name + '.'), 12 | htmlPath = self.pluginsPath + name + '/html/'; 13 | function getFilePath(fileName) { 14 | return htmlPath + fileName + '?ver=' + encodeURIComponent(K.DEBUG ? K.TIME : K.VERSION); 15 | } 16 | self.clickToolbar(name, function() { 17 | var lang = self.lang(name + '.'), 18 | arr = ['
', 19 | '
', 20 | // left start 21 | '
', 22 | lang. selectTemplate + '
', 28 | // right start 29 | '
', 30 | ' ', 31 | '
', 32 | '
', 33 | '
', 34 | '', 35 | '
'].join(''); 36 | var dialog = self.createDialog({ 37 | name : name, 38 | width : 500, 39 | title : self.lang(name), 40 | body : html, 41 | yesBtn : { 42 | name : self.lang('yes'), 43 | click : function(e) { 44 | var doc = K.iframeDoc(iframe); 45 | self[checkbox[0].checked ? 'html' : 'insertHtml'](doc.body.innerHTML).hideDialog().focus(); 46 | } 47 | } 48 | }); 49 | var selectBox = K('select', dialog.div), 50 | checkbox = K('[name="replaceFlag"]', dialog.div), 51 | iframe = K('iframe', dialog.div); 52 | checkbox[0].checked = true; 53 | iframe.attr('src', getFilePath(selectBox.val())); 54 | selectBox.change(function() { 55 | iframe.attr('src', getFilePath(this.value)); 56 | }); 57 | }); 58 | }); 59 | -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/quickformat/quickformat.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * KindEditor - WYSIWYG HTML Editor for Internet 3 | * Copyright (C) 2006-2011 kindsoft.net 4 | * 5 | * @author Roddy 6 | * @site http://www.kindsoft.net/ 7 | * @licence http://www.kindsoft.net/license.php 8 | *******************************************************************************/ 9 | 10 | KindEditor.plugin('quickformat', function(K) { 11 | var self = this, name = 'quickformat', 12 | blockMap = K.toMap('blockquote,center,div,h1,h2,h3,h4,h5,h6,p'); 13 | function getFirstChild(knode) { 14 | var child = knode.first(); 15 | while (child && child.first()) { 16 | child = child.first(); 17 | } 18 | return child; 19 | } 20 | self.clickToolbar(name, function() { 21 | self.focus(); 22 | var doc = self.edit.doc, 23 | range = self.cmd.range, 24 | child = K(doc.body).first(), next, 25 | nodeList = [], subList = [], 26 | bookmark = range.createBookmark(true); 27 | while(child) { 28 | next = child.next(); 29 | var firstChild = getFirstChild(child); 30 | if (!firstChild || firstChild.name != 'img') { 31 | if (blockMap[child.name]) { 32 | child.html(child.html().replace(/^(\s| | )+/ig, '')); 33 | child.css('text-indent', '2em'); 34 | } else { 35 | subList.push(child); 36 | } 37 | if (!next || (blockMap[next.name] || blockMap[child.name] && !blockMap[next.name])) { 38 | if (subList.length > 0) { 39 | nodeList.push(subList); 40 | } 41 | subList = []; 42 | } 43 | } 44 | child = next; 45 | } 46 | K.each(nodeList, function(i, subList) { 47 | var wrapper = K('

', doc); 48 | subList[0].before(wrapper); 49 | K.each(subList, function(i, knode) { 50 | wrapper.append(knode); 51 | }); 52 | }); 53 | range.moveToBookmark(bookmark); 54 | self.addBookmark(); 55 | }); 56 | }); 57 | 58 | /** 59 | -------------------------- 60 | abcd
61 | 1234
62 | 63 | to 64 | 65 |

66 | abcd
67 | 1234
68 |

69 | 70 | -------------------------- 71 | 72 |   abcd1233 73 |

1234

74 | 75 | to 76 | 77 |

abcd1233

78 |

1234

79 | 80 | -------------------------- 81 | */ -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/code/code.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * KindEditor - WYSIWYG HTML Editor for Internet 3 | * Copyright (C) 2006-2011 kindsoft.net 4 | * 5 | * @author Roddy 6 | * @site http://www.kindsoft.net/ 7 | * @licence http://www.kindsoft.net/license.php 8 | *******************************************************************************/ 9 | 10 | // google code prettify: http://google-code-prettify.googlecode.com/ 11 | // http://google-code-prettify.googlecode.com/ 12 | 13 | KindEditor.plugin('code', function(K) { 14 | var self = this, name = 'code'; 15 | self.clickToolbar(name, function() { 16 | var lang = self.lang(name + '.'), 17 | html = ['
', 18 | '
', 19 | '', 35 | '
', 36 | '', 37 | '
'].join(''), 38 | dialog = self.createDialog({ 39 | name : name, 40 | width : 450, 41 | title : self.lang(name), 42 | body : html, 43 | yesBtn : { 44 | name : self.lang('yes'), 45 | click : function(e) { 46 | var type = K('.ke-code-type', dialog.div).val(), 47 | code = textarea.val(), 48 | cls = type === '' ? '' : ' lang-' + type, 49 | html = '
\n' + K.escape(code) + '
'; 50 | if (K.trim(code) === '') { 51 | alert(lang.pleaseInput); 52 | textarea[0].focus(); 53 | return; 54 | } 55 | self.insertHtml(html).hideDialog().focus(); 56 | } 57 | } 58 | }), 59 | textarea = K('textarea', dialog.div); 60 | textarea[0].focus(); 61 | }); 62 | }); 63 | -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/link/link.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * KindEditor - WYSIWYG HTML Editor for Internet 3 | * Copyright (C) 2006-2011 kindsoft.net 4 | * 5 | * @author Roddy 6 | * @site http://www.kindsoft.net/ 7 | * @licence http://www.kindsoft.net/license.php 8 | *******************************************************************************/ 9 | 10 | KindEditor.plugin('link', function(K) { 11 | var self = this, name = 'link'; 12 | self.plugin.link = { 13 | edit : function() { 14 | var lang = self.lang(name + '.'), 15 | html = '
' + 16 | //url 17 | '
' + 18 | '' + 19 | '
' + 20 | //type 21 | '
' + 22 | '' + 23 | '' + 24 | '
' + 25 | '
', 26 | dialog = self.createDialog({ 27 | name : name, 28 | width : 450, 29 | title : self.lang(name), 30 | body : html, 31 | yesBtn : { 32 | name : self.lang('yes'), 33 | click : function(e) { 34 | var url = K.trim(urlBox.val()); 35 | if (url == 'http://' || K.invalidUrl(url)) { 36 | alert(self.lang('invalidUrl')); 37 | urlBox[0].focus(); 38 | return; 39 | } 40 | self.exec('createlink', url, typeBox.val()).hideDialog().focus(); 41 | } 42 | } 43 | }), 44 | div = dialog.div, 45 | urlBox = K('input[name="url"]', div), 46 | typeBox = K('select[name="type"]', div); 47 | urlBox.val('http://'); 48 | typeBox[0].options[0] = new Option(lang.newWindow, '_blank'); 49 | typeBox[0].options[1] = new Option(lang.selfWindow, ''); 50 | self.cmd.selection(); 51 | var a = self.plugin.getSelectedLink(); 52 | if (a) { 53 | self.cmd.range.selectNode(a[0]); 54 | self.cmd.select(); 55 | urlBox.val(a.attr('data-ke-src')); 56 | typeBox.val(a.attr('target')); 57 | } 58 | urlBox[0].focus(); 59 | urlBox[0].select(); 60 | }, 61 | 'delete' : function() { 62 | self.exec('unlink', null); 63 | } 64 | }; 65 | self.clickToolbar(name, self.plugin.link.edit); 66 | }); 67 | -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/themes/simple/simple.css: -------------------------------------------------------------------------------- 1 | /* container */ 2 | .ke-container-simple { 3 | display: block; 4 | border: 1px solid #CCC; 5 | background-color: #FFF; 6 | overflow: hidden; 7 | } 8 | /* toolbar */ 9 | .ke-container-simple .ke-toolbar { 10 | border-bottom: 1px solid #CCC; 11 | background-color: #FFF; 12 | padding: 2px 5px; 13 | overflow: hidden; 14 | } 15 | .ke-container-simple .ke-toolbar .ke-outline { 16 | border: 1px solid #FFF; 17 | background-color: transparent; 18 | margin: 1px; 19 | padding: 1px 2px; 20 | font-size: 0; 21 | line-height: 0; 22 | overflow: hidden; 23 | cursor: pointer; 24 | } 25 | .ke-container-simple .ke-toolbar .ke-on { 26 | border: 1px solid #5690D2; 27 | } 28 | .ke-container-simple .ke-toolbar .ke-selected { 29 | border: 1px solid #5690D2; 30 | background-color: #E9EFF6; 31 | } 32 | .ke-container-simple .ke-toolbar .ke-disabled { 33 | cursor: default; 34 | } 35 | /* statusbar */ 36 | .ke-container-simple .ke-statusbar { 37 | position: relative; 38 | background-color: #FFF; 39 | border-top: 1px solid #CCCCCC; 40 | font-size: 0; 41 | line-height: 0; 42 | *height: 12px; 43 | overflow: hidden; 44 | text-align: center; 45 | cursor: s-resize; 46 | } 47 | /* menu */ 48 | .ke-menu-simple { 49 | border: 1px solid #A0A0A0; 50 | background-color: #FFF; 51 | color: #222222; 52 | padding: 2px; 53 | font-family: "sans serif",tahoma,verdana,helvetica; 54 | font-size: 12px; 55 | text-align: left; 56 | overflow: hidden; 57 | } 58 | .ke-menu-simple .ke-menu-item { 59 | border: 1px solid #FFF; 60 | background-color: #FFF; 61 | color: #222222; 62 | height: 24px; 63 | overflow: hidden; 64 | cursor: pointer; 65 | } 66 | .ke-menu-simple .ke-menu-item-on { 67 | border: 1px solid #5690D2; 68 | background-color: #FFF; 69 | } 70 | /* colorpicker */ 71 | .ke-colorpicker-simple { 72 | border: 1px solid #A0A0A0; 73 | background-color: #FEFEFE; 74 | color: #222222; 75 | padding: 2px; 76 | } 77 | .ke-colorpicker-simple .ke-colorpicker-cell { 78 | font-size: 0; 79 | line-height: 0; 80 | border: 1px solid #FEFEFE; 81 | cursor: pointer; 82 | margin:3px; 83 | padding:0; 84 | } 85 | .ke-colorpicker-simple .ke-colorpicker-cell-top { 86 | font-family: "sans serif",tahoma,verdana,helvetica; 87 | font-size: 12px; 88 | line-height: 24px; 89 | border: 1px solid #FEFEFE; 90 | cursor: pointer; 91 | margin:0; 92 | padding:0; 93 | text-align: center; 94 | } 95 | .ke-colorpicker-simple .ke-colorpicker-cell-on { 96 | border: 1px solid #5690D2; 97 | } 98 | .ke-colorpicker-simple .ke-colorpicker-cell-selected { 99 | border: 1px solid #2446AB; 100 | } 101 | -------------------------------------------------------------------------------- /app/uploaders/kindeditor/asset_uploader.rb: -------------------------------------------------------------------------------- 1 | # encoding: utf-8 2 | 3 | class Kindeditor::AssetUploader < CarrierWave::Uploader::Base 4 | 5 | EXT_NAMES = {:image => RailsKindeditor.upload_image_ext, 6 | :flash => RailsKindeditor.upload_flash_ext, 7 | :media => RailsKindeditor.upload_media_ext, 8 | :file => RailsKindeditor.upload_file_ext} 9 | 10 | # Include RMagick or ImageScience support: 11 | # include CarrierWave::RMagick 12 | # include CarrierWave::ImageScience 13 | # include CarrierWave::MiniMagick 14 | 15 | # Choose what kind of storage to use for this uploader: 16 | storage :file 17 | # storage :fog 18 | 19 | # Override the directory where uploaded files will be stored. 20 | # This is a sensible default for uploaders that are meant to be mounted: 21 | def store_dir 22 | if Kindeditor::AssetUploader.save_upload_info? 23 | "#{RailsKindeditor.upload_store_dir}/#{model.asset_type.to_s.underscore.gsub(/(kindeditor\/)|(_uploader)/, '')}/#{model.created_at.strftime("%Y%m")}" 24 | else 25 | "#{RailsKindeditor.upload_store_dir}/#{self.class.to_s.underscore.gsub(/(kindeditor\/)|(_uploader)/, '')}/#{Time.now.strftime("%Y%m")}" 26 | end 27 | end 28 | 29 | def cache_dir 30 | "#{Rails.root}/tmp/uploads" 31 | end 32 | 33 | # Provide a default URL as a default if there hasn't been a file uploaded: 34 | # def default_url 35 | # "/images/fallback/" + [version_name, "default.png"].compact.join('_') 36 | # end 37 | 38 | # Process files as they are uploaded: 39 | # process :scale => [200, 300] 40 | # 41 | # def scale(width, height) 42 | # # do something 43 | # end 44 | 45 | # Create different versions of your uploaded files: 46 | # version :thumb do 47 | # process :scale => [50, 50] 48 | # end 49 | 50 | # Add a white list of extensions which are allowed to be uploaded. 51 | # For images you might use something like this: 52 | 53 | # Override the filename of the uploaded files: 54 | # Avoid using model.id or version_name here, see uploader/store.rb for details. 55 | before :store, :remember_cache_id 56 | after :store, :delete_tmp_dir 57 | 58 | # store! nil's the cache_id after it finishes so we need to remember it for deletition 59 | def remember_cache_id(new_file) 60 | @cache_id_was = cache_id 61 | end 62 | 63 | def delete_tmp_dir(new_file) 64 | # make sure we don't delete other things accidentally by checking the name pattern 65 | if @cache_id_was.present? && @cache_id_was =~ /\A[\d]{8}\-[\d]{4}\-[\d]+\-[\d]{4}\z/ 66 | FileUtils.rm_rf(File.join(cache_dir, @cache_id_was)) 67 | end 68 | end 69 | 70 | def filename 71 | if original_filename 72 | @name ||= Digest::MD5.hexdigest(File.dirname(current_path)).slice(0, 12) 73 | "#{@name}.#{file.extension}" 74 | end 75 | end 76 | 77 | def self.save_upload_info? 78 | begin 79 | %w(asset file flash image media).each do |s| 80 | "Kindeditor::#{s.camelize}".constantize 81 | end 82 | return true 83 | rescue 84 | return false 85 | end 86 | end 87 | 88 | end 89 | 90 | -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/baidumap/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 百度地图API自定义地图 8 | 9 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 83 | -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/themes/qq/qq.css: -------------------------------------------------------------------------------- 1 | /* container */ 2 | .ke-container-qq { 3 | display: block; 4 | border: 1px solid #c3c3c3; 5 | background-color: #FFF; 6 | overflow: hidden; 7 | margin: 0; 8 | padding: 0; 9 | } 10 | /* toolbar */ 11 | .ke-container-qq .ke-toolbar { 12 | border-bottom: 1px solid #c3c3c3; 13 | background-color: #FFFFFF; 14 | padding: 2px 5px; 15 | text-align: left; 16 | overflow: hidden; 17 | zoom: 1; 18 | } 19 | .ke-toolbar-icon-url { 20 | background-image: url(editor.gif); 21 | width:18px; 22 | *xwidth:20px; 23 | height:18px; 24 | *xheight:20px; 25 | } 26 | .ke-icon-checked{ 27 | background-image: url(../default/default.png); 28 | width:16px; 29 | height:16px; 30 | } 31 | .ke-container-qq .ke-icon-bold{ 32 | background-position: 4px 1px; 33 | } 34 | .ke-container-qq .ke-icon-italic{ 35 | background-position: -27px 1px; 36 | } 37 | .ke-container-qq .ke-icon-italic{ 38 | background-position: -28px 1px; 39 | } 40 | .ke-container-qq .ke-icon-underline{ 41 | background-position: -60px 1px; 42 | } 43 | .ke-container-qq .ke-icon-fontname{ 44 | background-position: -95px 1px; 45 | } 46 | .ke-container-qq .ke-icon-fontsize{ 47 | background-position: -128px 1px; 48 | } 49 | .ke-container-qq .ke-icon-forecolor{ 50 | background-position: -159px 1px; 51 | } 52 | .ke-container-qq .ke-icon-hilitecolor{ 53 | background-position: -190px 1px; 54 | } 55 | .ke-container-qq .ke-icon-plug-align{ 56 | background-position: -223px 1px; 57 | } 58 | .plug-align-justifyleft{ 59 | background-position: -350px 1px; 60 | } 61 | .plug-align-justifycenter{ 62 | background-position: -382px 1px; 63 | } 64 | .plug-align-justifyright{ 65 | background-position: -414px 1px; 66 | } 67 | .plug-order-insertorderedlist{ 68 | background-position: -446px 1px; 69 | } 70 | .plug-order-insertunorderedlist{ 71 | background-position: -477px 1px; 72 | } 73 | .plug-indent-indent{ 74 | background-position: -513px 1px; 75 | } 76 | .plug-indent-outdent{ 77 | background-position: -545px 1px; 78 | } 79 | .ke-container-qq .ke-icon-plug-order{ 80 | background-position: -255px 1px; 81 | } 82 | .ke-container-qq .ke-icon-plug-indent{ 83 | background-position: -287px 1px; 84 | } 85 | .ke-container-qq .ke-icon-link{ 86 | background-position: -319px 1px; 87 | } 88 | 89 | .ke-container-qq .ke-toolbar .ke-outline { 90 | cursor: default; 91 | padding:0px; 92 | border:1px solid #fff; 93 | } 94 | .ke-container-qq .ke-toolbar .ke-on { 95 | border-left:1px solid white; 96 | border-top:1px solid white; 97 | border-right:1px solid gray; 98 | border-bottom:1px solid gray; 99 | background-color: #FFFFFF; 100 | } 101 | .ke-container-qq .ke-toolbar .ke-selected { 102 | border-left:1px solid gray; 103 | border-top:1px solid gray; 104 | border-right:1px solid white; 105 | border-bottom:1px solid white; 106 | background-color: #FFFFFF; 107 | } 108 | .ke-container-qq .ke-toolbar .ke-disabled { 109 | cursor: default; 110 | } 111 | 112 | .ke-colorpicker-qq{ 113 | background:#fff; 114 | } 115 | /* statusbar */ 116 | .ke-container-qq .ke-statusbar { 117 | display:none; 118 | } 119 | /* menu */ 120 | .ke-menu-qq { 121 | border:1px solid #a6a6a6; 122 | position:absolute; 123 | background:#fff; 124 | -moz-box-shadow:2px 2px 4px #DDDDDD; 125 | z-index:999; 126 | left:-400px; 127 | top:-386px; 128 | right:218px; 129 | width:130px; 130 | } 131 | .ke-menu-qq .ke-menu-item { 132 | padding:0px; 133 | background:#fff; 134 | } 135 | .ke-menu-qq .ke-menu-item-on { 136 | border:1px solid #000080;background:#FFEEC2;color:#036; 137 | } 138 | .ke-menu-qq .ke-toolbar .ke-selected { 139 | border:1px solid #9a9afb; 140 | } 141 | .ke-menu-qq .ke-menu-item-left{ 142 | width:auto; 143 | } 144 | -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/baidumap/baidumap.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * KindEditor - WYSIWYG HTML Editor for Internet 3 | * Copyright (C) 2006-2011 kindsoft.net 4 | * 5 | * @author Roddy 6 | * @site http://www.kindsoft.net/ 7 | * @licence http://www.kindsoft.net/license.php 8 | *******************************************************************************/ 9 | 10 | // Baidu Maps: http://dev.baidu.com/wiki/map/index.php?title=%E9%A6%96%E9%A1%B5 11 | 12 | KindEditor.plugin('baidumap', function(K) { 13 | var self = this, name = 'baidumap', lang = self.lang(name + '.'); 14 | var mapWidth = K.undef(self.mapWidth, 558); 15 | var mapHeight = K.undef(self.mapHeight, 360); 16 | self.clickToolbar(name, function() { 17 | var html = ['
', 18 | '
', 19 | // left start 20 | '
', 21 | lang.address + ' ', 22 | '', 23 | '', 24 | '', 25 | '
', 26 | // right start 27 | '
', 28 | ' ', 29 | '
', 30 | '
', 31 | '
', 32 | '
', 33 | '
'].join(''); 34 | var dialog = self.createDialog({ 35 | name : name, 36 | width : mapWidth + 42, 37 | title : self.lang(name), 38 | body : html, 39 | yesBtn : { 40 | name : self.lang('yes'), 41 | click : function(e) { 42 | var map = win.map; 43 | var centerObj = map.getCenter(); 44 | var center = centerObj.lng + ',' + centerObj.lat; 45 | var zoom = map.getZoom(); 46 | var url = [checkbox[0].checked ? self.pluginsPath + 'baidumap/index.html' : 'http://api.map.baidu.com/staticimage', 47 | '?center=' + encodeURIComponent(center), 48 | '&zoom=' + encodeURIComponent(zoom), 49 | '&width=' + mapWidth, 50 | '&height=' + mapHeight, 51 | '&markers=' + encodeURIComponent(center), 52 | '&markerStyles=' + encodeURIComponent('l,A')].join(''); 53 | if (checkbox[0].checked) { 54 | self.insertHtml(''); 55 | } else { 56 | self.exec('insertimage', url); 57 | } 58 | self.hideDialog().focus(); 59 | } 60 | }, 61 | beforeRemove : function() { 62 | searchBtn.remove(); 63 | if (doc) { 64 | doc.write(''); 65 | } 66 | iframe.remove(); 67 | } 68 | }); 69 | var div = dialog.div, 70 | addressBox = K('[name="address"]', div), 71 | searchBtn = K('[name="searchBtn"]', div), 72 | checkbox = K('[name="insertDynamicMap"]', dialog.div), 73 | win, doc; 74 | var iframe = K(''); 75 | function ready() { 76 | win = iframe[0].contentWindow; 77 | doc = K.iframeDoc(iframe); 78 | } 79 | iframe.bind('load', function() { 80 | iframe.unbind('load'); 81 | if (K.IE) { 82 | ready(); 83 | } else { 84 | setTimeout(ready, 0); 85 | } 86 | }); 87 | K('.ke-map', div).replaceWith(iframe); 88 | // search map 89 | searchBtn.click(function() { 90 | win.search(addressBox.val()); 91 | }); 92 | }); 93 | }); 94 | -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/emoticons/emoticons.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * KindEditor - WYSIWYG HTML Editor for Internet 3 | * Copyright (C) 2006-2011 kindsoft.net 4 | * 5 | * @author Roddy 6 | * @site http://www.kindsoft.net/ 7 | * @licence http://www.kindsoft.net/license.php 8 | *******************************************************************************/ 9 | 10 | KindEditor.plugin('emoticons', function(K) { 11 | var self = this, name = 'emoticons', 12 | path = (self.emoticonsPath || self.pluginsPath + 'emoticons/images/'), 13 | allowPreview = self.allowPreviewEmoticons === undefined ? true : self.allowPreviewEmoticons, 14 | currentPageNum = 1; 15 | self.clickToolbar(name, function() { 16 | var rows = 5, cols = 9, total = 135, startNum = 0, 17 | cells = rows * cols, pages = Math.ceil(total / cells), 18 | colsHalf = Math.floor(cols / 2), 19 | wrapperDiv = K('
'), 20 | elements = [], 21 | menu = self.createMenu({ 22 | name : name, 23 | beforeRemove : function() { 24 | removeEvent(); 25 | } 26 | }); 27 | menu.div.append(wrapperDiv); 28 | var previewDiv, previewImg; 29 | if (allowPreview) { 30 | previewDiv = K('
').css('right', 0); 31 | previewImg = K(''); 32 | wrapperDiv.append(previewDiv); 33 | previewDiv.append(previewImg); 34 | } 35 | function bindCellEvent(cell, j, num) { 36 | if (previewDiv) { 37 | cell.mouseover(function() { 38 | if (j > colsHalf) { 39 | previewDiv.css('left', 0); 40 | previewDiv.css('right', ''); 41 | } else { 42 | previewDiv.css('left', ''); 43 | previewDiv.css('right', 0); 44 | } 45 | previewImg.attr('src', path + num + '.gif'); 46 | K(this).addClass('ke-on'); 47 | }); 48 | } else { 49 | cell.mouseover(function() { 50 | K(this).addClass('ke-on'); 51 | }); 52 | } 53 | cell.mouseout(function() { 54 | K(this).removeClass('ke-on'); 55 | }); 56 | cell.click(function(e) { 57 | self.insertHtml('').hideMenu().focus(); 58 | e.stop(); 59 | }); 60 | } 61 | function createEmoticonsTable(pageNum, parentDiv) { 62 | var table = document.createElement('table'); 63 | parentDiv.append(table); 64 | if (previewDiv) { 65 | K(table).mouseover(function() { 66 | previewDiv.show('block'); 67 | }); 68 | K(table).mouseout(function() { 69 | previewDiv.hide(); 70 | }); 71 | elements.push(K(table)); 72 | } 73 | table.className = 'ke-table'; 74 | table.cellPadding = 0; 75 | table.cellSpacing = 0; 76 | table.border = 0; 77 | var num = (pageNum - 1) * cells + startNum; 78 | for (var i = 0; i < rows; i++) { 79 | var row = table.insertRow(i); 80 | for (var j = 0; j < cols; j++) { 81 | var cell = K(row.insertCell(j)); 82 | cell.addClass('ke-cell'); 83 | bindCellEvent(cell, j, num); 84 | var span = K('') 85 | .css('background-position', '-' + (24 * num) + 'px 0px') 86 | .css('background-image', 'url(' + path + 'static.gif)'); 87 | cell.append(span); 88 | elements.push(cell); 89 | num++; 90 | } 91 | } 92 | return table; 93 | } 94 | var table = createEmoticonsTable(currentPageNum, wrapperDiv); 95 | function removeEvent() { 96 | K.each(elements, function() { 97 | this.unbind(); 98 | }); 99 | } 100 | var pageDiv; 101 | function bindPageEvent(el, pageNum) { 102 | el.click(function(e) { 103 | removeEvent(); 104 | table.parentNode.removeChild(table); 105 | pageDiv.remove(); 106 | table = createEmoticonsTable(pageNum, wrapperDiv); 107 | createPageTable(pageNum); 108 | currentPageNum = pageNum; 109 | e.stop(); 110 | }); 111 | } 112 | function createPageTable(currentPageNum) { 113 | pageDiv = K('
'); 114 | wrapperDiv.append(pageDiv); 115 | for (var pageNum = 1; pageNum <= pages; pageNum++) { 116 | if (currentPageNum !== pageNum) { 117 | var a = K('
[' + pageNum + ']'); 118 | bindPageEvent(a, pageNum); 119 | pageDiv.append(a); 120 | elements.push(a); 121 | } else { 122 | pageDiv.append(K('@[' + pageNum + ']')); 123 | } 124 | pageDiv.append(K('@ ')); 125 | } 126 | } 127 | createPageTable(currentPageNum); 128 | }); 129 | }); 130 | -------------------------------------------------------------------------------- /app/controllers/kindeditor/assets_controller.rb: -------------------------------------------------------------------------------- 1 | #coding: utf-8 2 | require "find" 3 | class Kindeditor::AssetsController < ApplicationController 4 | skip_before_action :verify_authenticity_token 5 | def create 6 | @imgFile, @dir = params[:imgFile], params[:dir] 7 | unless @imgFile.nil? 8 | if Kindeditor::AssetUploader.save_upload_info? # save upload info into database 9 | begin 10 | @asset = "Kindeditor::#{@dir.camelize}".constantize.new(:asset => @imgFile) 11 | @asset.owner_id = params[:owner_id] ? params[:owner_id] : 0 12 | @asset.owner_type = params[:owner_type] ? params[:owner_type] : '' 13 | logger.warn '========= Warning: the owner have not been created, "delete uploaded files automatically" will not work. =========' if defined?(logger) && @asset.owner_id == 0 14 | @asset.asset_type = @dir 15 | if @asset.save 16 | render :plain => ({:error => 0, :url => @asset.asset.url}.to_json) 17 | else 18 | show_error(@asset.errors.full_messages) 19 | end 20 | rescue Exception => e 21 | show_error(e.to_s) 22 | end 23 | else # do not touch database 24 | begin 25 | uploader = "Kindeditor::#{@dir.camelize}Uploader".constantize.new 26 | uploader.store!(@imgFile) 27 | render :plain => ({:error => 0, :url => uploader.url}.to_json) 28 | rescue CarrierWave::UploadError => e 29 | show_error(e.message) 30 | rescue Exception => e 31 | show_error(e.to_s) 32 | end 33 | end 34 | else 35 | show_error("No File Selected!") 36 | end 37 | end 38 | 39 | def list 40 | @root_path = "#{Rails.public_path}/#{RailsKindeditor.upload_store_dir}/" 41 | @root_url = "/#{RailsKindeditor.upload_store_dir}/" 42 | @img_ext = Kindeditor::AssetUploader::EXT_NAMES[:image] 43 | @dir = params[:dir].strip || "" 44 | unless Kindeditor::AssetUploader::EXT_NAMES.keys.map(&:to_s).push("").include?(@dir) 45 | render :plain => "Invalid Directory name." 46 | return 47 | end 48 | 49 | Dir.chdir(Rails.public_path) 50 | RailsKindeditor.upload_store_dir.split('/').each do |dir| 51 | Dir.mkdir(dir) unless Dir.exist?(dir) 52 | Dir.chdir(dir) 53 | end 54 | 55 | Dir.mkdir(@dir) unless Dir.exist?(@dir) 56 | 57 | @root_path += @dir + "/" 58 | @root_url += @dir + "/" 59 | 60 | @path = params[:path].strip || "" 61 | if @path.empty? 62 | @current_path = @root_path 63 | @current_url = @root_url 64 | @current_dir_path = "" 65 | @moveup_dir_path = "" 66 | else 67 | @current_path = @root_path + @path + "/" 68 | @current_url = @root_url + @path + "/" 69 | @current_dir_path = @path 70 | @moveup_dir_path = @current_dir_path.gsub(/(.*?)[^\/]+\/$/, "") 71 | end 72 | @order = %w(name size type).include?(params[:order].downcase) ? params[:order].downcase : "name" 73 | if !@current_path.match(/\.\./).nil? 74 | render :plain => "Access is not allowed." 75 | return 76 | end 77 | if @current_path.match(/\/$/).nil? 78 | render :plain => "Parameter is not valid." 79 | return 80 | end 81 | if !File.exist?(@current_path) || !File.directory?(@current_path) 82 | render :plain => "Directory does not exist." 83 | return 84 | end 85 | @file_list = [] 86 | Dir.foreach(@current_path) do |filename| 87 | hash = {} 88 | if filename != "." and filename != ".." and filename != ".DS_Store" 89 | file = @current_path + filename 90 | if File.directory?(file) 91 | hash[:is_dir] = true 92 | hash[:has_file] = (Dir.foreach(file).count > 2) 93 | hash[:filesize] = 0 94 | hash[:is_photo] = false 95 | hash[:filetype] = "" 96 | else 97 | hash[:is_dir] = false 98 | hash[:has_file] = false 99 | hash[:filesize] = File.size(file) 100 | hash[:dir_path] = "" 101 | file_ext = file.gsub(/.*\./,"") 102 | hash[:is_photo] = @img_ext.include?(file_ext) 103 | hash[:filetype] = file_ext 104 | end 105 | hash[:filename] = filename 106 | hash[:datetime] = File.mtime(file).to_s(:db) 107 | @file_list << hash 108 | end 109 | end 110 | 111 | @file_list.sort! {|a, b| a["file#{@order}".to_sym] <=> b["file#{@order}".to_sym]} 112 | 113 | @result = {} 114 | @result[:moveup_dir_path] = @moveup_dir_path 115 | @result[:current_dir_path] = @current_dir_path 116 | @result[:current_url] = @current_url 117 | @result[:total_count] = @file_list.count 118 | @result[:file_list] = @file_list 119 | render :plain => @result.to_json 120 | end 121 | 122 | private 123 | def show_error(msg) 124 | render :plain => ({:error => 1, :message => msg}.to_json) 125 | end 126 | 127 | end -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/insertfile/insertfile.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * KindEditor - WYSIWYG HTML Editor for Internet 3 | * Copyright (C) 2006-2011 kindsoft.net 4 | * 5 | * @author Roddy 6 | * @site http://www.kindsoft.net/ 7 | * @licence http://www.kindsoft.net/license.php 8 | *******************************************************************************/ 9 | 10 | KindEditor.plugin('insertfile', function(K) { 11 | var self = this, name = 'insertfile', 12 | allowFileUpload = K.undef(self.allowFileUpload, true), 13 | allowFileManager = K.undef(self.allowFileManager, false), 14 | formatUploadUrl = K.undef(self.formatUploadUrl, true), 15 | uploadJson = K.undef(self.uploadJson, self.basePath + 'php/upload_json.php'), 16 | extraParams = K.undef(self.extraFileUploadParams, {}), 17 | filePostName = K.undef(self.filePostName, 'imgFile'), 18 | lang = self.lang(name + '.'); 19 | self.plugin.fileDialog = function(options) { 20 | var fileUrl = K.undef(options.fileUrl, 'http://'), 21 | fileTitle = K.undef(options.fileTitle, ''), 22 | clickFn = options.clickFn; 23 | var html = [ 24 | '
', 25 | '
', 26 | '', 27 | '  ', 28 | '  ', 29 | '', 30 | '', 31 | '', 32 | '
', 33 | //title 34 | '
', 35 | '', 36 | '
', 37 | '
', 38 | //form end 39 | '', 40 | '' 41 | ].join(''); 42 | var dialog = self.createDialog({ 43 | name : name, 44 | width : 450, 45 | title : self.lang(name), 46 | body : html, 47 | yesBtn : { 48 | name : self.lang('yes'), 49 | click : function(e) { 50 | var url = K.trim(urlBox.val()), 51 | title = titleBox.val(); 52 | if (url == 'http://' || K.invalidUrl(url)) { 53 | alert(self.lang('invalidUrl')); 54 | urlBox[0].focus(); 55 | return; 56 | } 57 | if (K.trim(title) === '') { 58 | title = url; 59 | } 60 | clickFn.call(self, url, title); 61 | } 62 | } 63 | }), 64 | div = dialog.div; 65 | 66 | var urlBox = K('[name="url"]', div), 67 | viewServerBtn = K('[name="viewServer"]', div), 68 | titleBox = K('[name="title"]', div); 69 | 70 | if (allowFileUpload) { 71 | var uploadbutton = K.uploadbutton({ 72 | button : K('.ke-upload-button', div)[0], 73 | fieldName : filePostName, 74 | url : K.addParam(uploadJson, 'dir=file'), 75 | extraParams : extraParams, 76 | afterUpload : function(data) { 77 | dialog.hideLoading(); 78 | if (data.error === 0) { 79 | var url = data.url; 80 | if (formatUploadUrl) { 81 | url = K.formatUrl(url, 'absolute'); 82 | } 83 | urlBox.val(url); 84 | if (self.afterUpload) { 85 | self.afterUpload.call(self, url, data, name); 86 | } 87 | alert(self.lang('uploadSuccess')); 88 | } else { 89 | alert(data.message); 90 | } 91 | }, 92 | afterError : function(html) { 93 | dialog.hideLoading(); 94 | self.errorDialog(html); 95 | } 96 | }); 97 | uploadbutton.fileBox.change(function(e) { 98 | dialog.showLoading(self.lang('uploadLoading')); 99 | uploadbutton.submit(); 100 | }); 101 | } else { 102 | K('.ke-upload-button', div).hide(); 103 | } 104 | if (allowFileManager) { 105 | viewServerBtn.click(function(e) { 106 | self.loadPlugin('filemanager', function() { 107 | self.plugin.filemanagerDialog({ 108 | viewType : 'LIST', 109 | dirName : 'file', 110 | clickFn : function(url, title) { 111 | if (self.dialogs.length > 1) { 112 | K('[name="url"]', div).val(url); 113 | if (self.afterSelectFile) { 114 | self.afterSelectFile.call(self, url); 115 | } 116 | self.hideDialog(); 117 | } 118 | } 119 | }); 120 | }); 121 | }); 122 | } else { 123 | viewServerBtn.hide(); 124 | } 125 | urlBox.val(fileUrl); 126 | titleBox.val(fileTitle); 127 | urlBox[0].focus(); 128 | urlBox[0].select(); 129 | }; 130 | self.clickToolbar(name, function() { 131 | self.plugin.fileDialog({ 132 | clickFn : function(url, title) { 133 | var html = '' + title + ''; 134 | self.insertHtml(html).hideDialog().focus(); 135 | } 136 | }); 137 | }); 138 | }); 139 | -------------------------------------------------------------------------------- /lib/rails_kindeditor/helper.rb: -------------------------------------------------------------------------------- 1 | module RailsKindeditor 2 | module Helper 3 | def kindeditor_tag(name, content = nil, options = {}) 4 | id = sanitize_to_id(name) 5 | input_html = { :id => id }.merge(options.delete(:input_html) || {}) 6 | input_html[:class] = "#{input_html[:class]} rails_kindeditor" 7 | output = ActiveSupport::SafeBuffer.new 8 | output << text_area_tag(name, content, input_html) 9 | output << javascript_tag(js_replace(id, options)) 10 | end 11 | 12 | def kindeditor(name, method, options = {}) 13 | # TODO: Refactory options: 1. kindeditor_option 2. html_option 14 | input_html = (options.delete(:input_html) || {}).stringify_keys 15 | output_buffer = ActiveSupport::SafeBuffer.new 16 | output_buffer << build_text_area_tag(name, method, self, merge_assets_info(options), input_html) 17 | output_buffer << javascript_tag(js_replace(input_html['id'], options)) 18 | end 19 | 20 | def merge_assets_info(options) 21 | owner = options.delete(:owner) 22 | options[:class] = "#{options[:class]} rails_kindeditor" 23 | if Kindeditor::AssetUploader.save_upload_info? && (!owner.nil?) && (!owner.id.nil?) 24 | begin 25 | owner_id = owner.id 26 | owner_type = owner.class.name 27 | options.reverse_merge!(owner_id: owner_id, owner_type: owner_type, data: {upload: kindeditor_upload_json_path(owner_id: owner_id, owner_type: owner_type), filemanager: kindeditor_file_manager_json_path}) 28 | return options 29 | end 30 | else 31 | options.reverse_merge!(data: {upload: kindeditor_upload_json_path, filemanager: kindeditor_file_manager_json_path}) 32 | end 33 | end 34 | 35 | def kindeditor_upload_json_path(*args) 36 | options = args.extract_options! 37 | owner_id_query_string = options[:owner_id] ? "?owner_id=#{options[:owner_id]}" : '' 38 | owner_type_query_string = options[:owner_type] ? "&owner_type=#{options[:owner_type]}" : '' 39 | if owner_id_query_string == '' && owner_type_query_string == '' 40 | "#{main_app_root_url}kindeditor/upload" 41 | else 42 | "#{main_app_root_url}kindeditor/upload#{owner_id_query_string}#{owner_type_query_string}" 43 | end 44 | end 45 | 46 | def kindeditor_file_manager_json_path 47 | "#{main_app_root_url}kindeditor/filemanager" 48 | end 49 | 50 | private 51 | 52 | def main_app_root_url 53 | begin 54 | main_app.root_url.slice(0, main_app.root_url.rindex(main_app.root_path)) + '/' 55 | rescue 56 | '/' 57 | end 58 | end 59 | 60 | def js_replace(dom_id, options = {}) 61 | editor_id = options[:editor_id].nil? ? '' : "#{options[:editor_id].to_s.downcase} = " 62 | if options[:window_onload] 63 | require 'securerandom' 64 | random_name = SecureRandom.hex; 65 | "var old_onload_#{random_name}; 66 | if(typeof window.onload == 'function') old_onload_#{random_name} = window.onload; 67 | window.onload = function() { 68 | KindEditor.basePath='#{RailsKindeditor.base_path}'; 69 | #{editor_id}KindEditor.create('##{dom_id}', #{get_options(options).to_json}); 70 | if(old_onload_#{random_name}) old_onload_#{random_name}(); 71 | }" 72 | else 73 | "KindEditor.basePath='#{RailsKindeditor.base_path}'; 74 | KindEditor.ready(function(K){ 75 | #{editor_id}K.create('##{dom_id}', #{get_options(options).to_json}); 76 | });" 77 | end 78 | end 79 | 80 | def get_options(options) 81 | options.delete(:editor_id) 82 | options.delete(:window_onload) 83 | options.reverse_merge!(:width => '100%') 84 | options.reverse_merge!(:height => 300) 85 | options.reverse_merge!(:allowFileManager => true) 86 | options.reverse_merge!(:uploadJson => kindeditor_upload_json_path(:owner_id => options.delete(:owner_id), :owner_type => options.delete(:owner_type))) 87 | options.reverse_merge!(:fileManagerJson => kindeditor_file_manager_json_path) 88 | if options[:simple_mode] == true 89 | options.merge!(:items => %w{fontname fontsize | forecolor hilitecolor bold italic underline removeformat | justifyleft justifycenter justifyright insertorderedlist insertunorderedlist | emoticons image link}) 90 | end 91 | options.delete(:simple_mode) 92 | options 93 | end 94 | 95 | def build_text_area_tag(name, method, template, options, input_html) 96 | if Rails.version >= '4.0.0' 97 | text_area_tag = ActionView::Helpers::Tags::TextArea.new(name, method, template, options) 98 | text_area_tag.send(:add_default_name_and_id, input_html) 99 | text_area_tag.render 100 | elsif Rails.version >= '3.1.0' 101 | text_area_tag = ActionView::Base::InstanceTag.new(name, method, template, options.delete(:object)) 102 | text_area_tag.send(:add_default_name_and_id, input_html) 103 | text_area_tag.to_text_area_tag(input_html) 104 | elsif Rails.version >= '3.0.0' 105 | raise 'Please use rails_kindeditor v0.2.8 for Rails v3.0.x' 106 | else 107 | raise 'Please upgrade your Rails !' 108 | end 109 | end 110 | end 111 | 112 | module Builder 113 | def kindeditor(method, options = {}) 114 | @template.send("kindeditor", @object_name, method, objectify_options(options)) 115 | end 116 | end 117 | end -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/map/map.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * KindEditor - WYSIWYG HTML Editor for Internet 3 | * Copyright (C) 2006-2011 kindsoft.net 4 | * 5 | * @author Roddy 6 | * @site http://www.kindsoft.net/ 7 | * @licence http://www.kindsoft.net/license.php 8 | *******************************************************************************/ 9 | 10 | // Google Maps: http://code.google.com/apis/maps/index.html 11 | 12 | KindEditor.plugin('map', function(K) { 13 | var self = this, name = 'map', lang = self.lang(name + '.'); 14 | self.clickToolbar(name, function() { 15 | var html = ['
', 16 | '
', 17 | lang.address + ' ', 18 | '', 19 | '', 20 | '', 21 | '
', 22 | '
', 23 | '
'].join(''); 24 | var dialog = self.createDialog({ 25 | name : name, 26 | width : 600, 27 | title : self.lang(name), 28 | body : html, 29 | yesBtn : { 30 | name : self.lang('yes'), 31 | click : function(e) { 32 | var geocoder = win.geocoder, 33 | map = win.map, 34 | center = map.getCenter().lat() + ',' + map.getCenter().lng(), 35 | zoom = map.getZoom(), 36 | maptype = map.getMapTypeId(), 37 | url = 'http://maps.googleapis.com/maps/api/staticmap'; 38 | url += '?center=' + encodeURIComponent(center); 39 | url += '&zoom=' + encodeURIComponent(zoom); 40 | url += '&size=558x360'; 41 | url += '&maptype=' + encodeURIComponent(maptype); 42 | url += '&markers=' + encodeURIComponent(center); 43 | url += '&language=' + self.langType; 44 | url += '&sensor=false'; 45 | self.exec('insertimage', url).hideDialog().focus(); 46 | } 47 | }, 48 | beforeRemove : function() { 49 | searchBtn.remove(); 50 | if (doc) { 51 | doc.write(''); 52 | } 53 | iframe.remove(); 54 | } 55 | }); 56 | var div = dialog.div, 57 | addressBox = K('[name="address"]', div), 58 | searchBtn = K('[name="searchBtn"]', div), 59 | win, doc; 60 | var iframeHtml = ['', 61 | '', 62 | '', 67 | '', 68 | '', 110 | '', 111 | '', 112 | '
', 113 | ''].join('\n'); 114 | // TODO:用doc.write(iframeHtml)方式加载时,在IE6上第一次加载报错,暂时使用src方式 115 | var iframe = K(''); 116 | function ready() { 117 | win = iframe[0].contentWindow; 118 | doc = K.iframeDoc(iframe); 119 | //doc.open(); 120 | //doc.write(iframeHtml); 121 | //doc.close(); 122 | } 123 | iframe.bind('load', function() { 124 | iframe.unbind('load'); 125 | if (K.IE) { 126 | ready(); 127 | } else { 128 | setTimeout(ready, 0); 129 | } 130 | }); 131 | K('.ke-map', div).replaceWith(iframe); 132 | // search map 133 | searchBtn.click(function() { 134 | win.search(addressBox.val()); 135 | }); 136 | }); 137 | }); 138 | -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/flash/flash.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * KindEditor - WYSIWYG HTML Editor for Internet 3 | * Copyright (C) 2006-2011 kindsoft.net 4 | * 5 | * @author Roddy 6 | * @site http://www.kindsoft.net/ 7 | * @licence http://www.kindsoft.net/license.php 8 | *******************************************************************************/ 9 | 10 | KindEditor.plugin('flash', function(K) { 11 | var self = this, name = 'flash', lang = self.lang(name + '.'), 12 | allowFlashUpload = K.undef(self.allowFlashUpload, true), 13 | allowFileManager = K.undef(self.allowFileManager, false), 14 | formatUploadUrl = K.undef(self.formatUploadUrl, true), 15 | extraParams = K.undef(self.extraFileUploadParams, {}), 16 | filePostName = K.undef(self.filePostName, 'imgFile'), 17 | uploadJson = K.undef(self.uploadJson, self.basePath + 'php/upload_json.php'); 18 | self.plugin.flash = { 19 | edit : function() { 20 | var html = [ 21 | '
', 22 | //url 23 | '
', 24 | '', 25 | '  ', 26 | '  ', 27 | '', 28 | '', 29 | '', 30 | '
', 31 | //width 32 | '
', 33 | '', 34 | ' ', 35 | '
', 36 | //height 37 | '
', 38 | '', 39 | ' ', 40 | '
', 41 | '
' 42 | ].join(''); 43 | var dialog = self.createDialog({ 44 | name : name, 45 | width : 450, 46 | title : self.lang(name), 47 | body : html, 48 | yesBtn : { 49 | name : self.lang('yes'), 50 | click : function(e) { 51 | var url = K.trim(urlBox.val()), 52 | width = widthBox.val(), 53 | height = heightBox.val(); 54 | if (url == 'http://' || K.invalidUrl(url)) { 55 | alert(self.lang('invalidUrl')); 56 | urlBox[0].focus(); 57 | return; 58 | } 59 | if (!/^\d*$/.test(width)) { 60 | alert(self.lang('invalidWidth')); 61 | widthBox[0].focus(); 62 | return; 63 | } 64 | if (!/^\d*$/.test(height)) { 65 | alert(self.lang('invalidHeight')); 66 | heightBox[0].focus(); 67 | return; 68 | } 69 | var html = K.mediaImg(self.themesPath + 'common/blank.gif', { 70 | src : url, 71 | type : K.mediaType('.swf'), 72 | width : width, 73 | height : height, 74 | quality : 'high' 75 | }); 76 | self.insertHtml(html).hideDialog().focus(); 77 | } 78 | } 79 | }), 80 | div = dialog.div, 81 | urlBox = K('[name="url"]', div), 82 | viewServerBtn = K('[name="viewServer"]', div), 83 | widthBox = K('[name="width"]', div), 84 | heightBox = K('[name="height"]', div); 85 | urlBox.val('http://'); 86 | 87 | if (allowFlashUpload) { 88 | var uploadbutton = K.uploadbutton({ 89 | button : K('.ke-upload-button', div)[0], 90 | fieldName : filePostName, 91 | extraParams : extraParams, 92 | url : K.addParam(uploadJson, 'dir=flash'), 93 | afterUpload : function(data) { 94 | dialog.hideLoading(); 95 | if (data.error === 0) { 96 | var url = data.url; 97 | if (formatUploadUrl) { 98 | url = K.formatUrl(url, 'absolute'); 99 | } 100 | urlBox.val(url); 101 | if (self.afterUpload) { 102 | self.afterUpload.call(self, url, data, name); 103 | } 104 | alert(self.lang('uploadSuccess')); 105 | } else { 106 | alert(data.message); 107 | } 108 | }, 109 | afterError : function(html) { 110 | dialog.hideLoading(); 111 | self.errorDialog(html); 112 | } 113 | }); 114 | uploadbutton.fileBox.change(function(e) { 115 | dialog.showLoading(self.lang('uploadLoading')); 116 | uploadbutton.submit(); 117 | }); 118 | } else { 119 | K('.ke-upload-button', div).hide(); 120 | } 121 | 122 | if (allowFileManager) { 123 | viewServerBtn.click(function(e) { 124 | self.loadPlugin('filemanager', function() { 125 | self.plugin.filemanagerDialog({ 126 | viewType : 'LIST', 127 | dirName : 'flash', 128 | clickFn : function(url, title) { 129 | if (self.dialogs.length > 1) { 130 | K('[name="url"]', div).val(url); 131 | if (self.afterSelectFile) { 132 | self.afterSelectFile.call(self, url); 133 | } 134 | self.hideDialog(); 135 | } 136 | } 137 | }); 138 | }); 139 | }); 140 | } else { 141 | viewServerBtn.hide(); 142 | } 143 | 144 | var img = self.plugin.getSelectedFlash(); 145 | if (img) { 146 | var attrs = K.mediaAttrs(img.attr('data-ke-tag')); 147 | urlBox.val(attrs.src); 148 | widthBox.val(K.removeUnit(img.css('width')) || attrs.width || 0); 149 | heightBox.val(K.removeUnit(img.css('height')) || attrs.height || 0); 150 | } 151 | urlBox[0].focus(); 152 | urlBox[0].select(); 153 | }, 154 | 'delete' : function() { 155 | self.plugin.getSelectedFlash().remove(); 156 | // [IE] 删除图片后立即点击图片按钮出错 157 | self.addBookmark(); 158 | } 159 | }; 160 | self.clickToolbar(name, self.plugin.flash.edit); 161 | }); 162 | -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/media/media.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * KindEditor - WYSIWYG HTML Editor for Internet 3 | * Copyright (C) 2006-2011 kindsoft.net 4 | * 5 | * @author Roddy 6 | * @site http://www.kindsoft.net/ 7 | * @licence http://www.kindsoft.net/license.php 8 | *******************************************************************************/ 9 | 10 | KindEditor.plugin('media', function(K) { 11 | var self = this, name = 'media', lang = self.lang(name + '.'), 12 | allowMediaUpload = K.undef(self.allowMediaUpload, true), 13 | allowFileManager = K.undef(self.allowFileManager, false), 14 | formatUploadUrl = K.undef(self.formatUploadUrl, true), 15 | extraParams = K.undef(self.extraFileUploadParams, {}), 16 | filePostName = K.undef(self.filePostName, 'imgFile'), 17 | uploadJson = K.undef(self.uploadJson, self.basePath + 'php/upload_json.php'); 18 | self.plugin.media = { 19 | edit : function() { 20 | var html = [ 21 | '
', 22 | //url 23 | '
', 24 | '', 25 | '  ', 26 | '  ', 27 | '', 28 | '', 29 | '', 30 | '
', 31 | //width 32 | '
', 33 | '', 34 | '', 35 | '
', 36 | //height 37 | '
', 38 | '', 39 | '', 40 | '
', 41 | //autostart 42 | '
', 43 | '', 44 | ' ', 45 | '
', 46 | '
' 47 | ].join(''); 48 | var dialog = self.createDialog({ 49 | name : name, 50 | width : 450, 51 | height : 230, 52 | title : self.lang(name), 53 | body : html, 54 | yesBtn : { 55 | name : self.lang('yes'), 56 | click : function(e) { 57 | var url = K.trim(urlBox.val()), 58 | width = widthBox.val(), 59 | height = heightBox.val(); 60 | if (url == 'http://' || K.invalidUrl(url)) { 61 | alert(self.lang('invalidUrl')); 62 | urlBox[0].focus(); 63 | return; 64 | } 65 | if (!/^\d*$/.test(width)) { 66 | alert(self.lang('invalidWidth')); 67 | widthBox[0].focus(); 68 | return; 69 | } 70 | if (!/^\d*$/.test(height)) { 71 | alert(self.lang('invalidHeight')); 72 | heightBox[0].focus(); 73 | return; 74 | } 75 | var html = K.mediaImg(self.themesPath + 'common/blank.gif', { 76 | src : url, 77 | type : K.mediaType(url), 78 | width : width, 79 | height : height, 80 | autostart : autostartBox[0].checked ? 'true' : 'false', 81 | loop : 'true' 82 | }); 83 | self.insertHtml(html).hideDialog().focus(); 84 | } 85 | } 86 | }), 87 | div = dialog.div, 88 | urlBox = K('[name="url"]', div), 89 | viewServerBtn = K('[name="viewServer"]', div), 90 | widthBox = K('[name="width"]', div), 91 | heightBox = K('[name="height"]', div), 92 | autostartBox = K('[name="autostart"]', div); 93 | urlBox.val('http://'); 94 | 95 | if (allowMediaUpload) { 96 | var uploadbutton = K.uploadbutton({ 97 | button : K('.ke-upload-button', div)[0], 98 | fieldName : filePostName, 99 | extraParams : extraParams, 100 | url : K.addParam(uploadJson, 'dir=media'), 101 | afterUpload : function(data) { 102 | dialog.hideLoading(); 103 | if (data.error === 0) { 104 | var url = data.url; 105 | if (formatUploadUrl) { 106 | url = K.formatUrl(url, 'absolute'); 107 | } 108 | urlBox.val(url); 109 | if (self.afterUpload) { 110 | self.afterUpload.call(self, url, data, name); 111 | } 112 | alert(self.lang('uploadSuccess')); 113 | } else { 114 | alert(data.message); 115 | } 116 | }, 117 | afterError : function(html) { 118 | dialog.hideLoading(); 119 | self.errorDialog(html); 120 | } 121 | }); 122 | uploadbutton.fileBox.change(function(e) { 123 | dialog.showLoading(self.lang('uploadLoading')); 124 | uploadbutton.submit(); 125 | }); 126 | } else { 127 | K('.ke-upload-button', div).hide(); 128 | } 129 | 130 | if (allowFileManager) { 131 | viewServerBtn.click(function(e) { 132 | self.loadPlugin('filemanager', function() { 133 | self.plugin.filemanagerDialog({ 134 | viewType : 'LIST', 135 | dirName : 'media', 136 | clickFn : function(url, title) { 137 | if (self.dialogs.length > 1) { 138 | K('[name="url"]', div).val(url); 139 | if (self.afterSelectFile) { 140 | self.afterSelectFile.call(self, url); 141 | } 142 | self.hideDialog(); 143 | } 144 | } 145 | }); 146 | }); 147 | }); 148 | } else { 149 | viewServerBtn.hide(); 150 | } 151 | 152 | var img = self.plugin.getSelectedMedia(); 153 | if (img) { 154 | var attrs = K.mediaAttrs(img.attr('data-ke-tag')); 155 | urlBox.val(attrs.src); 156 | widthBox.val(K.removeUnit(img.css('width')) || attrs.width || 0); 157 | heightBox.val(K.removeUnit(img.css('height')) || attrs.height || 0); 158 | autostartBox[0].checked = (attrs.autostart === 'true'); 159 | } 160 | urlBox[0].focus(); 161 | urlBox[0].select(); 162 | }, 163 | 'delete' : function() { 164 | self.plugin.getSelectedMedia().remove(); 165 | // [IE] 删除图片后立即点击图片按钮出错 166 | self.addBookmark(); 167 | } 168 | }; 169 | self.clickToolbar(name, self.plugin.media.edit); 170 | }); 171 | -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/lang/zh-CN.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * KindEditor - WYSIWYG HTML Editor for Internet 3 | * Copyright (C) 2006-2011 kindsoft.net 4 | * 5 | * @author Roddy 6 | * @site http://www.kindsoft.net/ 7 | * @licence http://www.kindsoft.net/license.php 8 | *******************************************************************************/ 9 | 10 | KindEditor.lang({ 11 | source : 'HTML代码', 12 | preview : '预览', 13 | undo : '后退(Ctrl+Z)', 14 | redo : '前进(Ctrl+Y)', 15 | cut : '剪切(Ctrl+X)', 16 | copy : '复制(Ctrl+C)', 17 | paste : '粘贴(Ctrl+V)', 18 | plainpaste : '粘贴为无格式文本', 19 | wordpaste : '从Word粘贴', 20 | selectall : '全选(Ctrl+A)', 21 | justifyleft : '左对齐', 22 | justifycenter : '居中', 23 | justifyright : '右对齐', 24 | justifyfull : '两端对齐', 25 | insertorderedlist : '编号', 26 | insertunorderedlist : '项目符号', 27 | indent : '增加缩进', 28 | outdent : '减少缩进', 29 | subscript : '下标', 30 | superscript : '上标', 31 | formatblock : '段落', 32 | fontname : '字体', 33 | fontsize : '文字大小', 34 | forecolor : '文字颜色', 35 | hilitecolor : '文字背景', 36 | bold : '粗体(Ctrl+B)', 37 | italic : '斜体(Ctrl+I)', 38 | underline : '下划线(Ctrl+U)', 39 | strikethrough : '删除线', 40 | removeformat : '删除格式', 41 | image : '图片', 42 | multiimage : '批量图片上传', 43 | flash : 'Flash', 44 | media : '视音频', 45 | table : '表格', 46 | tablecell : '单元格', 47 | hr : '插入横线', 48 | emoticons : '插入表情', 49 | link : '超级链接', 50 | unlink : '取消超级链接', 51 | fullscreen : '全屏显示', 52 | about : '关于', 53 | print : '打印(Ctrl+P)', 54 | filemanager : '文件空间', 55 | code : '插入程序代码', 56 | map : 'Google地图', 57 | baidumap : '百度地图', 58 | lineheight : '行距', 59 | clearhtml : '清理HTML代码', 60 | pagebreak : '插入分页符', 61 | quickformat : '一键排版', 62 | insertfile : '插入文件', 63 | template : '插入模板', 64 | anchor : '锚点', 65 | yes : '确定', 66 | no : '取消', 67 | close : '关闭', 68 | editImage : '图片属性', 69 | deleteImage : '删除图片', 70 | editFlash : 'Flash属性', 71 | deleteFlash : '删除Flash', 72 | editMedia : '视音频属性', 73 | deleteMedia : '删除视音频', 74 | editLink : '超级链接属性', 75 | deleteLink : '取消超级链接', 76 | editAnchor : '锚点属性', 77 | deleteAnchor : '删除锚点', 78 | tableprop : '表格属性', 79 | tablecellprop : '单元格属性', 80 | tableinsert : '插入表格', 81 | tabledelete : '删除表格', 82 | tablecolinsertleft : '左侧插入列', 83 | tablecolinsertright : '右侧插入列', 84 | tablerowinsertabove : '上方插入行', 85 | tablerowinsertbelow : '下方插入行', 86 | tablerowmerge : '向下合并单元格', 87 | tablecolmerge : '向右合并单元格', 88 | tablerowsplit : '拆分行', 89 | tablecolsplit : '拆分列', 90 | tablecoldelete : '删除列', 91 | tablerowdelete : '删除行', 92 | noColor : '无颜色', 93 | pleaseSelectFile : '请选择文件。', 94 | invalidImg : "请输入有效的URL地址。\n只允许jpg,gif,bmp,png格式。", 95 | invalidMedia : "请输入有效的URL地址。\n只允许swf,flv,mp3,wav,wma,wmv,mid,avi,mpg,asf,rm,rmvb格式。", 96 | invalidWidth : "宽度必须为数字。", 97 | invalidHeight : "高度必须为数字。", 98 | invalidBorder : "边框必须为数字。", 99 | invalidUrl : "请输入有效的URL地址。", 100 | invalidRows : '行数为必选项,只允许输入大于0的数字。', 101 | invalidCols : '列数为必选项,只允许输入大于0的数字。', 102 | invalidPadding : '边距必须为数字。', 103 | invalidSpacing : '间距必须为数字。', 104 | invalidJson : '服务器发生故障。', 105 | uploadSuccess : '上传成功。', 106 | cutError : '您的浏览器安全设置不允许使用剪切操作,请使用快捷键(Ctrl+X)来完成。', 107 | copyError : '您的浏览器安全设置不允许使用复制操作,请使用快捷键(Ctrl+C)来完成。', 108 | pasteError : '您的浏览器安全设置不允许使用粘贴操作,请使用快捷键(Ctrl+V)来完成。', 109 | ajaxLoading : '加载中,请稍候 ...', 110 | uploadLoading : '上传中,请稍候 ...', 111 | uploadError : '上传错误', 112 | 'plainpaste.comment' : '请使用快捷键(Ctrl+V)把内容粘贴到下面的方框里。', 113 | 'wordpaste.comment' : '请使用快捷键(Ctrl+V)把内容粘贴到下面的方框里。', 114 | 'code.pleaseInput' : '请输入程序代码。', 115 | 'link.url' : 'URL', 116 | 'link.linkType' : '打开类型', 117 | 'link.newWindow' : '新窗口', 118 | 'link.selfWindow' : '当前窗口', 119 | 'flash.url' : 'URL', 120 | 'flash.width' : '宽度', 121 | 'flash.height' : '高度', 122 | 'flash.upload' : '上传', 123 | 'flash.viewServer' : '文件空间', 124 | 'media.url' : 'URL', 125 | 'media.width' : '宽度', 126 | 'media.height' : '高度', 127 | 'media.autostart' : '自动播放', 128 | 'media.upload' : '上传', 129 | 'media.viewServer' : '文件空间', 130 | 'image.remoteImage' : '网络图片', 131 | 'image.localImage' : '本地上传', 132 | 'image.remoteUrl' : '图片地址', 133 | 'image.localUrl' : '上传文件', 134 | 'image.size' : '图片大小', 135 | 'image.width' : '宽', 136 | 'image.height' : '高', 137 | 'image.resetSize' : '重置大小', 138 | 'image.align' : '对齐方式', 139 | 'image.defaultAlign' : '默认方式', 140 | 'image.leftAlign' : '左对齐', 141 | 'image.rightAlign' : '右对齐', 142 | 'image.imgTitle' : '图片说明', 143 | 'image.upload' : '浏览...', 144 | 'image.viewServer' : '图片空间', 145 | 'multiimage.uploadDesc' : '允许用户同时上传<%=uploadLimit%>张图片,单张图片容量不超过<%=sizeLimit%>', 146 | 'multiimage.startUpload' : '开始上传', 147 | 'multiimage.clearAll' : '全部清空', 148 | 'multiimage.insertAll' : '全部插入', 149 | 'multiimage.queueLimitExceeded' : '文件数量超过限制。', 150 | 'multiimage.fileExceedsSizeLimit' : '文件大小超过限制。', 151 | 'multiimage.zeroByteFile' : '无法上传空文件。', 152 | 'multiimage.invalidFiletype' : '文件类型不正确。', 153 | 'multiimage.unknownError' : '发生异常,无法上传。', 154 | 'multiimage.pending' : '等待上传', 155 | 'multiimage.uploadError' : '上传失败', 156 | 'filemanager.emptyFolder' : '空文件夹', 157 | 'filemanager.moveup' : '移到上一级文件夹', 158 | 'filemanager.viewType' : '显示方式:', 159 | 'filemanager.viewImage' : '缩略图', 160 | 'filemanager.listImage' : '详细信息', 161 | 'filemanager.orderType' : '排序方式:', 162 | 'filemanager.fileName' : '名称', 163 | 'filemanager.fileSize' : '大小', 164 | 'filemanager.fileType' : '类型', 165 | 'insertfile.url' : 'URL', 166 | 'insertfile.title' : '文件说明', 167 | 'insertfile.upload' : '上传', 168 | 'insertfile.viewServer' : '文件空间', 169 | 'table.cells' : '单元格数', 170 | 'table.rows' : '行数', 171 | 'table.cols' : '列数', 172 | 'table.size' : '大小', 173 | 'table.width' : '宽度', 174 | 'table.height' : '高度', 175 | 'table.percent' : '%', 176 | 'table.px' : 'px', 177 | 'table.space' : '边距间距', 178 | 'table.padding' : '边距', 179 | 'table.spacing' : '间距', 180 | 'table.align' : '对齐方式', 181 | 'table.textAlign' : '水平对齐', 182 | 'table.verticalAlign' : '垂直对齐', 183 | 'table.alignDefault' : '默认', 184 | 'table.alignLeft' : '左对齐', 185 | 'table.alignCenter' : '居中', 186 | 'table.alignRight' : '右对齐', 187 | 'table.alignTop' : '顶部', 188 | 'table.alignMiddle' : '中部', 189 | 'table.alignBottom' : '底部', 190 | 'table.alignBaseline' : '基线', 191 | 'table.border' : '边框', 192 | 'table.borderWidth' : '边框', 193 | 'table.borderColor' : '颜色', 194 | 'table.backgroundColor' : '背景颜色', 195 | 'map.address' : '地址: ', 196 | 'map.search' : '搜索', 197 | 'baidumap.address' : '地址: ', 198 | 'baidumap.search' : '搜索', 199 | 'baidumap.insertDynamicMap' : '插入动态地图', 200 | 'anchor.name' : '锚点名称', 201 | 'formatblock.formatBlock' : { 202 | h1 : '标题 1', 203 | h2 : '标题 2', 204 | h3 : '标题 3', 205 | h4 : '标题 4', 206 | p : '正 文' 207 | }, 208 | 'fontname.fontName' : { 209 | 'SimSun' : '宋体', 210 | 'NSimSun' : '新宋体', 211 | 'FangSong_GB2312' : '仿宋_GB2312', 212 | 'KaiTi_GB2312' : '楷体_GB2312', 213 | 'SimHei' : '黑体', 214 | 'Microsoft YaHei' : '微软雅黑', 215 | 'Arial' : 'Arial', 216 | 'Arial Black' : 'Arial Black', 217 | 'Times New Roman' : 'Times New Roman', 218 | 'Courier New' : 'Courier New', 219 | 'Tahoma' : 'Tahoma', 220 | 'Verdana' : 'Verdana' 221 | }, 222 | 'lineheight.lineHeight' : [ 223 | {'1' : '单倍行距'}, 224 | {'1.5' : '1.5倍行距'}, 225 | {'2' : '2倍行距'}, 226 | {'2.5' : '2.5倍行距'}, 227 | {'3' : '3倍行距'} 228 | ], 229 | 'template.selectTemplate' : '可选模板', 230 | 'template.replaceContent' : '替换当前内容', 231 | 'template.fileList' : { 232 | '1.html' : '图片和文字', 233 | '2.html' : '表格', 234 | '3.html' : '项目编号' 235 | } 236 | }, 'zh-CN'); 237 | 238 | KindEditor.options.langType = 'zh-CN'; -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/lang/zh-TW.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * KindEditor - WYSIWYG HTML Editor for Internet 3 | * Copyright (C) 2006-2011 kindsoft.net 4 | * 5 | * @author Roddy 6 | * @site http://www.kindsoft.net/ 7 | * @licence http://www.kindsoft.net/license.php 8 | *******************************************************************************/ 9 | 10 | KindEditor.lang({ 11 | source : '原始碼', 12 | preview : '預覽', 13 | undo : '復原(Ctrl+Z)', 14 | redo : '重複(Ctrl+Y)', 15 | cut : '剪下(Ctrl+X)', 16 | copy : '複製(Ctrl+C)', 17 | paste : '貼上(Ctrl+V)', 18 | plainpaste : '貼為純文字格式', 19 | wordpaste : '自Word貼上', 20 | selectall : '全選(Ctrl+A)', 21 | justifyleft : '靠左對齊', 22 | justifycenter : '置中', 23 | justifyright : '靠右對齊', 24 | justifyfull : '左右對齊', 25 | insertorderedlist : '編號清單', 26 | insertunorderedlist : '項目清單', 27 | indent : '增加縮排', 28 | outdent : '減少縮排', 29 | subscript : '下標', 30 | superscript : '上標', 31 | formatblock : '標題', 32 | fontname : '字體', 33 | fontsize : '文字大小', 34 | forecolor : '文字顏色', 35 | hilitecolor : '背景顏色', 36 | bold : '粗體(Ctrl+B)', 37 | italic : '斜體(Ctrl+I)', 38 | underline : '底線(Ctrl+U)', 39 | strikethrough : '刪除線', 40 | removeformat : '清除格式', 41 | image : '影像', 42 | multiimage : '批量影像上傳', 43 | flash : 'Flash', 44 | media : '多媒體', 45 | table : '表格', 46 | tablecell : '儲存格', 47 | hr : '插入水平線', 48 | emoticons : '插入表情', 49 | link : '超連結', 50 | unlink : '移除超連結', 51 | fullscreen : '最大化', 52 | about : '關於', 53 | print : '列印(Ctrl+P)', 54 | filemanager : '瀏覽伺服器', 55 | code : '插入程式代碼', 56 | map : 'Google地圖', 57 | baidumap : 'Baidu地圖', 58 | lineheight : '行距', 59 | clearhtml : '清理HTML代碼', 60 | pagebreak : '插入分頁符號', 61 | quickformat : '快速排版', 62 | insertfile : '插入文件', 63 | template : '插入樣板', 64 | anchor : '錨點', 65 | yes : '確定', 66 | no : '取消', 67 | close : '關閉', 68 | editImage : '影像屬性', 69 | deleteImage : '刪除影像', 70 | editFlash : 'Flash屬性', 71 | deleteFlash : '删除Flash', 72 | editMedia : '多媒體屬性', 73 | deleteMedia : '删除多媒體', 74 | editLink : '超連結屬性', 75 | deleteLink : '移除超連結', 76 | editAnchor : '锚点属性', 77 | deleteAnchor : '删除锚点', 78 | tableprop : '表格屬性', 79 | tablecellprop : '儲存格屬性', 80 | tableinsert : '插入表格', 81 | tabledelete : '刪除表格', 82 | tablecolinsertleft : '向左插入列', 83 | tablecolinsertright : '向右插入列', 84 | tablerowinsertabove : '向上插入欄', 85 | tablerowinsertbelow : '下方插入欄', 86 | tablerowmerge : '向下合併單元格', 87 | tablecolmerge : '向右合併單元格', 88 | tablerowsplit : '分割欄', 89 | tablecolsplit : '分割列', 90 | tablecoldelete : '删除列', 91 | tablerowdelete : '删除欄', 92 | noColor : '自動', 93 | pleaseSelectFile : '請選擇文件。', 94 | invalidImg : "請輸入有效的URL。\n只允許jpg,gif,bmp,png格式。", 95 | invalidMedia : "請輸入有效的URL。\n只允許swf,flv,mp3,wav,wma,wmv,mid,avi,mpg,asf,rm,rmvb格式。", 96 | invalidWidth : "寬度必須是數字。", 97 | invalidHeight : "高度必須是數字。", 98 | invalidBorder : "邊框必須是數字。", 99 | invalidUrl : "請輸入有效的URL。", 100 | invalidRows : '欄數是必須輸入項目,只允許輸入大於0的數字。', 101 | invalidCols : '列數是必須輸入項目,只允許輸入大於0的數字。', 102 | invalidPadding : '內距必須是數字。', 103 | invalidSpacing : '間距必須是數字。', 104 | invalidJson : '伺服器發生故障。', 105 | uploadSuccess : '上傳成功。', 106 | cutError : '您的瀏覽器安全設置不允許使用剪下操作,請使用快捷鍵(Ctrl+X)完成。', 107 | copyError : '您的瀏覽器安全設置不允許使用剪下操作,請使用快捷鍵(Ctrl+C)完成。', 108 | pasteError : '您的瀏覽器安全設置不允許使用剪下操作,請使用快捷鍵(Ctrl+V)完成。', 109 | ajaxLoading : '加載中,請稍候 ...', 110 | uploadLoading : '上傳中,請稍候 ...', 111 | uploadError : '上傳錯誤', 112 | 'plainpaste.comment' : '請使用快捷鍵(Ctrl+V)把內容貼到下方區域裡。', 113 | 'wordpaste.comment' : '請使用快捷鍵(Ctrl+V)把內容貼到下方區域裡。', 114 | 'code.pleaseInput' : 'Please input code.', 115 | 'link.url' : 'URL', 116 | 'link.linkType' : '打開類型', 117 | 'link.newWindow' : '新窗口', 118 | 'link.selfWindow' : '本頁窗口', 119 | 'flash.url' : 'URL', 120 | 'flash.width' : '寬度', 121 | 'flash.height' : '高度', 122 | 'flash.upload' : '上傳', 123 | 'flash.viewServer' : '瀏覽', 124 | 'media.url' : 'URL', 125 | 'media.width' : '寬度', 126 | 'media.height' : '高度', 127 | 'media.autostart' : '自動播放', 128 | 'media.upload' : '上傳', 129 | 'media.viewServer' : '瀏覽', 130 | 'image.remoteImage' : '網絡影像', 131 | 'image.localImage' : '上傳影像', 132 | 'image.remoteUrl' : '影像URL', 133 | 'image.localUrl' : '影像URL', 134 | 'image.size' : '影像大小', 135 | 'image.width' : '寬度', 136 | 'image.height' : '高度', 137 | 'image.resetSize' : '原始大小', 138 | 'image.align' : '對齊方式', 139 | 'image.defaultAlign' : '未設定', 140 | 'image.leftAlign' : '向左對齊', 141 | 'image.rightAlign' : '向右對齊', 142 | 'image.imgTitle' : '影像說明', 143 | 'image.upload' : '瀏覽...', 144 | 'image.viewServer' : '瀏覽...', 145 | 'multiimage.uploadDesc' : 'Allows users to upload <%=uploadLimit%> images, single image size not exceeding <%=sizeLimit%>', 146 | 'multiimage.startUpload' : 'Start upload', 147 | 'multiimage.clearAll' : 'Clear all', 148 | 'multiimage.insertAll' : 'Insert all', 149 | 'multiimage.queueLimitExceeded' : 'Queue limit exceeded.', 150 | 'multiimage.fileExceedsSizeLimit' : 'File exceeds size limit.', 151 | 'multiimage.zeroByteFile' : 'Zero byte file.', 152 | 'multiimage.invalidFiletype' : 'Invalid file type.', 153 | 'multiimage.unknownError' : 'Unknown upload error.', 154 | 'multiimage.pending' : 'Pending ...', 155 | 'multiimage.uploadError' : 'Upload error', 156 | 'filemanager.emptyFolder' : '空文件夾', 157 | 'filemanager.moveup' : '至上一級文件夾', 158 | 'filemanager.viewType' : '顯示方式:', 159 | 'filemanager.viewImage' : '縮略圖', 160 | 'filemanager.listImage' : '詳細信息', 161 | 'filemanager.orderType' : '排序方式:', 162 | 'filemanager.fileName' : '名稱', 163 | 'filemanager.fileSize' : '大小', 164 | 'filemanager.fileType' : '類型', 165 | 'insertfile.url' : 'URL', 166 | 'insertfile.title' : '文件說明', 167 | 'insertfile.upload' : '上傳', 168 | 'insertfile.viewServer' : '瀏覽', 169 | 'table.cells' : '儲存格數', 170 | 'table.rows' : '欄數', 171 | 'table.cols' : '列數', 172 | 'table.size' : '表格大小', 173 | 'table.width' : '寬度', 174 | 'table.height' : '高度', 175 | 'table.percent' : '%', 176 | 'table.px' : 'px', 177 | 'table.space' : '內距間距', 178 | 'table.padding' : '內距', 179 | 'table.spacing' : '間距', 180 | 'table.align' : '對齊方式', 181 | 'table.textAlign' : '水平對齊', 182 | 'table.verticalAlign' : '垂直對齊', 183 | 'table.alignDefault' : '未設定', 184 | 'table.alignLeft' : '向左對齊', 185 | 'table.alignCenter' : '置中', 186 | 'table.alignRight' : '向右對齊', 187 | 'table.alignTop' : '靠上', 188 | 'table.alignMiddle' : '置中', 189 | 'table.alignBottom' : '靠下', 190 | 'table.alignBaseline' : '基線', 191 | 'table.border' : '表格邊框', 192 | 'table.borderWidth' : '邊框', 193 | 'table.borderColor' : '顏色', 194 | 'table.backgroundColor' : '背景顏色', 195 | 'map.address' : '住所: ', 196 | 'map.search' : '尋找', 197 | 'baidumap.address' : '住所: ', 198 | 'baidumap.search' : '尋找', 199 | 'baidumap.insertDynamicMap' : '插入動態地圖', 200 | 'anchor.name' : '錨點名稱', 201 | 'formatblock.formatBlock' : { 202 | h1 : '標題 1', 203 | h2 : '標題 2', 204 | h3 : '標題 3', 205 | h4 : '標題 4', 206 | p : '一般' 207 | }, 208 | 'fontname.fontName' : { 209 | 'MingLiU' : '細明體', 210 | 'PMingLiU' : '新細明體', 211 | 'DFKai-SB' : '標楷體', 212 | 'SimSun' : '宋體', 213 | 'NSimSun' : '新宋體', 214 | 'FangSong' : '仿宋體', 215 | 'Arial' : 'Arial', 216 | 'Arial Black' : 'Arial Black', 217 | 'Times New Roman' : 'Times New Roman', 218 | 'Courier New' : 'Courier New', 219 | 'Tahoma' : 'Tahoma', 220 | 'Verdana' : 'Verdana' 221 | }, 222 | 'lineheight.lineHeight' : [ 223 | {'1' : '单倍行距'}, 224 | {'1.5' : '1.5倍行距'}, 225 | {'2' : '2倍行距'}, 226 | {'2.5' : '2.5倍行距'}, 227 | {'3' : '3倍行距'} 228 | ], 229 | 'template.selectTemplate' : '可選樣板', 230 | 'template.replaceContent' : '取代當前內容', 231 | 'template.fileList' : { 232 | '1.html' : '影像和文字', 233 | '2.html' : '表格', 234 | '3.html' : '项目清單' 235 | } 236 | }, 'zh-TW'); 237 | 238 | KindEditor.each(KindEditor.options.items, function(i, name) { 239 | if (name == 'baidumap') { 240 | KindEditor.options.items[i] = 'map'; 241 | } 242 | }); 243 | KindEditor.options.langType = 'zh-TW'; -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/plugins/filemanager/filemanager.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * KindEditor - WYSIWYG HTML Editor for Internet 3 | * Copyright (C) 2006-2011 kindsoft.net 4 | * 5 | * @author Roddy 6 | * @site http://www.kindsoft.net/ 7 | * @licence http://www.kindsoft.net/license.php 8 | *******************************************************************************/ 9 | 10 | KindEditor.plugin('filemanager', function(K) { 11 | var self = this, name = 'filemanager', 12 | fileManagerJson = K.undef(self.fileManagerJson, self.basePath + 'php/file_manager_json.php'), 13 | imgPath = self.pluginsPath + name + '/images/', 14 | lang = self.lang(name + '.'); 15 | function makeFileTitle(filename, filesize, datetime) { 16 | return filename + ' (' + Math.ceil(filesize / 1024) + 'KB, ' + datetime + ')'; 17 | } 18 | function bindTitle(el, data) { 19 | if (data.is_dir) { 20 | el.attr('title', data.filename); 21 | } else { 22 | el.attr('title', makeFileTitle(data.filename, data.filesize, data.datetime)); 23 | } 24 | } 25 | self.plugin.filemanagerDialog = function(options) { 26 | var width = K.undef(options.width, 650), 27 | height = K.undef(options.height, 510), 28 | dirName = K.undef(options.dirName, ''), 29 | viewType = K.undef(options.viewType, 'VIEW').toUpperCase(), // "LIST" or "VIEW" 30 | clickFn = options.clickFn; 31 | var html = [ 32 | '
', 33 | // header start 34 | '
', 35 | // left start 36 | '
', 37 | ' ', 38 | '' + lang.moveup + '', 39 | '
', 40 | // right start 41 | '
', 42 | lang.viewType + ' ', 46 | lang.orderType + ' ', 51 | '
', 52 | '
', 53 | '
', 54 | // body start 55 | '
', 56 | '
' 57 | ].join(''); 58 | var dialog = self.createDialog({ 59 | name : name, 60 | width : width, 61 | height : height, 62 | title : self.lang(name), 63 | body : html 64 | }), 65 | div = dialog.div, 66 | bodyDiv = K('.ke-plugin-filemanager-body', div), 67 | moveupImg = K('[name="moveupImg"]', div), 68 | moveupLink = K('[name="moveupLink"]', div), 69 | viewServerBtn = K('[name="viewServer"]', div), 70 | viewTypeBox = K('[name="viewType"]', div), 71 | orderTypeBox = K('[name="orderType"]', div); 72 | function reloadPage(path, order, func) { 73 | var param = 'path=' + path + '&order=' + order + '&dir=' + dirName; 74 | dialog.showLoading(self.lang('ajaxLoading')); 75 | K.ajax(K.addParam(fileManagerJson, param + '&' + new Date().getTime()), function(data) { 76 | dialog.hideLoading(); 77 | func(data); 78 | }); 79 | } 80 | var elList = []; 81 | function bindEvent(el, result, data, createFunc) { 82 | var fileUrl = K.formatUrl(result.current_url + data.filename, 'absolute'), 83 | dirPath = encodeURIComponent(result.current_dir_path + data.filename + '/'); 84 | if (data.is_dir) { 85 | el.click(function(e) { 86 | reloadPage(dirPath, orderTypeBox.val(), createFunc); 87 | }); 88 | } else if (data.is_photo) { 89 | el.click(function(e) { 90 | clickFn.call(this, fileUrl, data.filename); 91 | }); 92 | } else { 93 | el.click(function(e) { 94 | clickFn.call(this, fileUrl, data.filename); 95 | }); 96 | } 97 | elList.push(el); 98 | } 99 | function createCommon(result, createFunc) { 100 | // remove events 101 | K.each(elList, function() { 102 | this.unbind(); 103 | }); 104 | moveupLink.unbind(); 105 | viewTypeBox.unbind(); 106 | orderTypeBox.unbind(); 107 | // add events 108 | if (result.current_dir_path) { 109 | moveupLink.click(function(e) { 110 | reloadPage(result.moveup_dir_path, orderTypeBox.val(), createFunc); 111 | }); 112 | } 113 | function changeFunc() { 114 | if (viewTypeBox.val() == 'VIEW') { 115 | reloadPage(result.current_dir_path, orderTypeBox.val(), createView); 116 | } else { 117 | reloadPage(result.current_dir_path, orderTypeBox.val(), createList); 118 | } 119 | } 120 | viewTypeBox.change(changeFunc); 121 | orderTypeBox.change(changeFunc); 122 | bodyDiv.html(''); 123 | } 124 | function createList(result) { 125 | createCommon(result, createList); 126 | var table = document.createElement('table'); 127 | table.className = 'ke-table'; 128 | table.cellPadding = 0; 129 | table.cellSpacing = 0; 130 | table.border = 0; 131 | bodyDiv.append(table); 132 | var fileList = result.file_list; 133 | for (var i = 0, len = fileList.length; i < len; i++) { 134 | var data = fileList[i], row = K(table.insertRow(i)); 135 | row.mouseover(function(e) { 136 | K(this).addClass('ke-on'); 137 | }) 138 | .mouseout(function(e) { 139 | K(this).removeClass('ke-on'); 140 | }); 141 | var iconUrl = imgPath + (data.is_dir ? 'folder-16.gif' : 'file-16.gif'), 142 | img = K('' + data.filename + ''), 143 | cell0 = K(row[0].insertCell(0)).addClass('ke-cell ke-name').append(img).append(document.createTextNode(' ' + data.filename)); 144 | if (!data.is_dir || data.has_file) { 145 | row.css('cursor', 'pointer'); 146 | cell0.attr('title', data.filename); 147 | bindEvent(cell0, result, data, createList); 148 | } else { 149 | cell0.attr('title', lang.emptyFolder); 150 | } 151 | K(row[0].insertCell(1)).addClass('ke-cell ke-size').html(data.is_dir ? '-' : Math.ceil(data.filesize / 1024) + 'KB'); 152 | K(row[0].insertCell(2)).addClass('ke-cell ke-datetime').html(data.datetime); 153 | } 154 | } 155 | function createView(result) { 156 | createCommon(result, createView); 157 | var fileList = result.file_list; 158 | for (var i = 0, len = fileList.length; i < len; i++) { 159 | var data = fileList[i], 160 | div = K('
'); 161 | bodyDiv.append(div); 162 | var photoDiv = K('
') 163 | .mouseover(function(e) { 164 | K(this).addClass('ke-on'); 165 | }) 166 | .mouseout(function(e) { 167 | K(this).removeClass('ke-on'); 168 | }); 169 | div.append(photoDiv); 170 | var fileUrl = result.current_url + data.filename, 171 | iconUrl = data.is_dir ? imgPath + 'folder-64.gif' : (data.is_photo ? fileUrl : imgPath + 'file-64.gif'); 172 | var img = K('' + data.filename + ''); 173 | if (!data.is_dir || data.has_file) { 174 | photoDiv.css('cursor', 'pointer'); 175 | bindTitle(photoDiv, data); 176 | bindEvent(photoDiv, result, data, createView); 177 | } else { 178 | photoDiv.attr('title', lang.emptyFolder); 179 | } 180 | photoDiv.append(img); 181 | div.append('
' + data.filename + '
'); 182 | } 183 | } 184 | viewTypeBox.val(viewType); 185 | reloadPage('', orderTypeBox.val(), viewType == 'VIEW' ? createView : createList); 186 | return dialog; 187 | } 188 | 189 | }); 190 | -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/lang/ko.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * KindEditor - WYSIWYG HTML Editor for Internet 3 | * Copyright (C) 2006-2011 kindsoft.net 4 | * 5 | * @author Composite 6 | * @site http://www.kindsoft.net/ 7 | * @licence http://www.kindsoft.net/license.php 8 | *******************************************************************************/ 9 | 10 | KindEditor.lang({ 11 | source : '소스', 12 | preview : '미리보기', 13 | undo : '작업취소(Ctrl+Z)', 14 | redo : '작업재개(Ctrl+Y)', 15 | cut : '잘라내기(Ctrl+X)', 16 | copy : '복사(Ctrl+C)', 17 | paste : '붙여넣기(Ctrl+V)', 18 | plainpaste : '일반 텍스트로 붙여넣기', 19 | wordpaste : '워드 문서로 붙여넣기', 20 | selectall : '전체 선택', 21 | justifyleft : '왼쪽 정렬', 22 | justifycenter : '가운데 정렬', 23 | justifyright : '오른쪽 정렬', 24 | justifyfull : '양쪽 정렬', 25 | insertorderedlist : '순서 목록', 26 | insertunorderedlist : '비순서 목록', 27 | indent : '들여쓰기', 28 | outdent : '내어쓰기', 29 | subscript : '아랫첨자', 30 | superscript : '윗첨자', 31 | formatblock : '문단 형식', 32 | fontname : '글꼴', 33 | fontsize : '글자 크기', 34 | forecolor : '글자색', 35 | hilitecolor : '강조색', 36 | bold : '굵게(Ctrl+B)', 37 | italic : '이텔릭(Ctrl+I)', 38 | underline : '빝줄(Ctrl+U)', 39 | strikethrough : '취소선', 40 | removeformat : '형식 제거', 41 | image : '이미지 추가', 42 | multiimage : '여러 이미지 추가', 43 | flash : '플래시 추가', 44 | media : '미디어 추가', 45 | table : '표', 46 | tablecell : '열', 47 | hr : '구분선 추가', 48 | emoticons : '이모티콘 추가', 49 | link : '링크', 50 | unlink : '링크 제거', 51 | fullscreen : '전체 화면 모드', 52 | about : '이 에디터는...', 53 | print : '인쇄', 54 | filemanager : '파일 관리자', 55 | code : '코드 추가', 56 | map : '구글 맵 추가', 57 | baidumap : '바이두 맵 추가', 58 | lineheight : '행 간격', 59 | clearhtml : 'HTML 코드 정리', 60 | pagebreak : '페이지 구분 추가', 61 | quickformat : '빠른 형식', 62 | insertfile : '파일 추가', 63 | template : '템플릿 추가', 64 | anchor : '책갈피', 65 | yes : '확인', 66 | no : '취소', 67 | close : '닫기', 68 | editImage : '이미지 속성', 69 | deleteImage : '이미지 삭제', 70 | editFlash : '플래시 속성', 71 | deleteFlash : '플래시 삭제', 72 | editMedia : '미디어 속성', 73 | deleteMedia : '미디어 삭제', 74 | editLink : '링크 속성', 75 | deleteLink : '링크 삭제', 76 | editAnchor : 'Anchor properties', 77 | deleteAnchor : 'Delete Anchor', 78 | tableprop : '표 속성', 79 | tablecellprop : '열 속성', 80 | tableinsert : '표 추가', 81 | tabledelete : '표 삭제', 82 | tablecolinsertleft : '왼쪽으로 열 추가', 83 | tablecolinsertright : '오른쪽으로 열 추가', 84 | tablerowinsertabove : '위쪽으로 열 추가', 85 | tablerowinsertbelow : '아래쪽으로 열 추가', 86 | tablerowmerge : '아래로 병합', 87 | tablecolmerge : '오른쪽으로 병합', 88 | tablerowsplit : '행 나누기', 89 | tablecolsplit : '열 나누기', 90 | tablecoldelete : '열 삭제', 91 | tablerowdelete : '행 삭제', 92 | noColor : '기본색', 93 | pleaseSelectFile : '파일 선택', 94 | invalidImg : "올바른 주소를 입력하세요.\njpg,gif,bmp,png 형식이 가능합니다.", 95 | invalidMedia : "올바른 주소를 입력하세요.\nswf,flv,mp3,wav,wma,wmv,mid,avi,mpg,asf,rm,rmvb 형식이 가능합니다.", 96 | invalidWidth : "넓이 값은 숫자여야 합니다.", 97 | invalidHeight : "높이 값은 숫자여야 합니다.", 98 | invalidBorder : "굵기 값은 숫자여야 합니다.", 99 | invalidUrl : "올바른 주소를 입력하세요.", 100 | invalidRows : '올바른 행이 아닙니다.', 101 | invalidCols : '올바른 열이 아닙니다.', 102 | invalidPadding : '안쪽 여백 값은 숫자여야 합니다.', 103 | invalidSpacing : '간격 길이 값은 숫자여야 합니다.', 104 | invalidJson : '올바른 JSON 형식이 아닙니다.', 105 | uploadSuccess : '업로드가 완료되었습니다.', 106 | cutError : '브라우저가 잘라내기 기능을 지원하지 않습니다, 단축키로 대신 사용하세요. (Ctrl+X)', 107 | copyError : '브라우저가 복사 기능을 지원하지 않습니다, 단축키로 대신 사용하세요. (Ctrl+X)', 108 | pasteError : '브라우저가 붙여넣기 기능을 지원하지 않습니다, 단축키로 대신 사용하세요. (Ctrl+X)', 109 | ajaxLoading : '불러오는 중 ...', 110 | uploadLoading : '업로드 중 ...', 111 | uploadError : '업로드 오류', 112 | 'plainpaste.comment' : '단축키(Ctrl+V)를 통하여 여기에 텍스트를 붙여넣으세요.', 113 | 'wordpaste.comment' : '단축키(Ctrl+V)를 통하여 여기에 워드 텍스트를 붙여넣으세요.', 114 | 'code.pleaseInput' : 'Please input code.', 115 | 'link.url' : '주소', 116 | 'link.linkType' : '창', 117 | 'link.newWindow' : '새 창', 118 | 'link.selfWindow' : '현재 창', 119 | 'flash.url' : '주소', 120 | 'flash.width' : '넓이', 121 | 'flash.height' : '높이', 122 | 'flash.upload' : '업로드', 123 | 'flash.viewServer' : '찾아보기', 124 | 'media.url' : '주소', 125 | 'media.width' : '넓이', 126 | 'media.height' : '높이', 127 | 'media.autostart' : '자동 시작', 128 | 'media.upload' : '업로드', 129 | 'media.viewServer' : '찾아보기', 130 | 'image.remoteImage' : '외부 이미지', 131 | 'image.localImage' : '내부 이미지', 132 | 'image.remoteUrl' : '주소', 133 | 'image.localUrl' : '파일', 134 | 'image.size' : '크기', 135 | 'image.width' : '넓이', 136 | 'image.height' : '높이', 137 | 'image.resetSize' : '기본 크기로', 138 | 'image.align' : '정렬', 139 | 'image.defaultAlign' : '기본', 140 | 'image.leftAlign' : '왼쪽', 141 | 'image.rightAlign' : '오른쪽', 142 | 'image.imgTitle' : '제목', 143 | 'image.upload' : '찾아보기', 144 | 'image.viewServer' : '찾아보기', 145 | 'multiimage.uploadDesc' : '최대 이미지 개수: <%=uploadLimit%>개, 개당 이미지 크기: <%=sizeLimit%>', 146 | 'multiimage.startUpload' : '업로드 시작', 147 | 'multiimage.clearAll' : '모두 삭제', 148 | 'multiimage.insertAll' : '모두 삽입', 149 | 'multiimage.queueLimitExceeded' : '업로드 개수가 초과되었습니다.', 150 | 'multiimage.fileExceedsSizeLimit' : '업로드 크기가 초과되었습니다.', 151 | 'multiimage.zeroByteFile' : '파일 크기가 없습니다.', 152 | 'multiimage.invalidFiletype' : '올바른 이미지가 아닙니다.', 153 | 'multiimage.unknownError' : '알 수 없는 업로드 오류가 발생하였습니다.', 154 | 'multiimage.pending' : '처리 중 ...', 155 | 'multiimage.uploadError' : '업로드 오류', 156 | 'filemanager.emptyFolder' : '빈 폴더', 157 | 'filemanager.moveup' : '위로', 158 | 'filemanager.viewType' : '보기 방식: ', 159 | 'filemanager.viewImage' : '미리 보기', 160 | 'filemanager.listImage' : '목록', 161 | 'filemanager.orderType' : '정렬 방식: ', 162 | 'filemanager.fileName' : '이름별', 163 | 'filemanager.fileSize' : '크기별', 164 | 'filemanager.fileType' : '종류별', 165 | 'insertfile.url' : '주소', 166 | 'insertfile.title' : '제목', 167 | 'insertfile.upload' : '업로드', 168 | 'insertfile.viewServer' : '찾아보기', 169 | 'table.cells' : '열', 170 | 'table.rows' : '행', 171 | 'table.cols' : '열', 172 | 'table.size' : '표 크기', 173 | 'table.width' : '넓이', 174 | 'table.height' : '높이', 175 | 'table.percent' : '%', 176 | 'table.px' : 'px', 177 | 'table.space' : '간격', 178 | 'table.padding' : '안쪽여백', 179 | 'table.spacing' : '간격', 180 | 'table.align' : '정렬', 181 | 'table.textAlign' : '수직', 182 | 'table.verticalAlign' : '수평', 183 | 'table.alignDefault' : '기본', 184 | 'table.alignLeft' : '왼쪽', 185 | 'table.alignCenter' : '가운데', 186 | 'table.alignRight' : '오른쪽', 187 | 'table.alignTop' : '위쪽', 188 | 'table.alignMiddle' : '중간', 189 | 'table.alignBottom' : '아래쪽', 190 | 'table.alignBaseline' : '글자기준', 191 | 'table.border' : '테두리', 192 | 'table.borderWidth' : '크기', 193 | 'table.borderColor' : '색상', 194 | 'table.backgroundColor' : '배경', 195 | 'map.address' : '주소: ', 196 | 'map.search' : '검색', 197 | 'baidumap.address' : '주소: ', 198 | 'baidumap.search' : '검색', 199 | 'baidumap.insertDynamicMap' : '동적 지도', 200 | 'anchor.name' : '책갈피명', 201 | 'formatblock.formatBlock' : { 202 | h1 : '제목 1', 203 | h2 : '제목 2', 204 | h3 : '제목 3', 205 | h4 : '제목 4', 206 | p : '본문' 207 | }, 208 | 'fontname.fontName' : { 209 | 'Gulim' : '굴림', 210 | 'Dotum' : '돋움', 211 | 'Batang' : '바탕', 212 | 'Gungsuh' : '궁서', 213 | 'Malgun Gothic' : '맑은 고딕', 214 | 'Arial' : 'Arial', 215 | 'Arial Black' : 'Arial Black', 216 | 'Comic Sans MS' : 'Comic Sans MS', 217 | 'Courier New' : 'Courier New', 218 | 'Garamond' : 'Garamond', 219 | 'Georgia' : 'Georgia', 220 | 'Tahoma' : 'Tahoma', 221 | 'Times New Roman' : 'Times New Roman', 222 | 'Trebuchet MS' : 'Trebuchet MS', 223 | 'Verdana' : 'Verdana' 224 | }, 225 | 'lineheight.lineHeight' : [ 226 | {'1' : '행간 1'}, 227 | {'1.5' : '행간 1.5'}, 228 | {'2' : '행간 2'}, 229 | {'2.5' : '행간 2.5'}, 230 | {'3' : '행간 3'} 231 | ], 232 | 'template.selectTemplate' : '템플릿', 233 | 'template.replaceContent' : '내용 바꾸기', 234 | 'template.fileList' : { 235 | '1.html' : '이미지와 텍스트', 236 | '2.html' : '표', 237 | '3.html' : '목록' 238 | } 239 | }, 'ko'); 240 | 241 | KindEditor.each(KindEditor.options.items, function(i, name) { 242 | if (name == 'baidumap') { 243 | KindEditor.options.items[i] = 'map'; 244 | } 245 | }); 246 | KindEditor.options.langType = 'ko'; 247 | -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/lang/ar.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * KindEditor - WYSIWYG HTML Editor for Internet 3 | * Copyright (C) 2006-2011 kindsoft.net 4 | * 5 | * @author Roddy 6 | * @site http://www.kindsoft.net/ 7 | * @licence http://www.kindsoft.net/license.php 8 | * Arabic Translation By daif alotaibi (http://daif.net/) 9 | *******************************************************************************/ 10 | 11 | KindEditor.lang({ 12 | source : 'عرض المصدر', 13 | preview : 'معاينة الصفحة', 14 | undo : 'تراجع(Ctrl+Z)', 15 | redo : 'إعادة التراجع(Ctrl+Y)', 16 | cut : 'قص(Ctrl+X)', 17 | copy : 'نسخ(Ctrl+C)', 18 | paste : 'لصق(Ctrl+V)', 19 | plainpaste : 'لصق كنص عادي', 20 | wordpaste : 'لصق من مايكروسفت ورد', 21 | selectall : 'تحديد الكل', 22 | justifyleft : 'محاذاه لليسار', 23 | justifycenter : 'محاذاه للوسط', 24 | justifyright : 'محاذاه لليمين', 25 | justifyfull : 'محاذاه تلقائية', 26 | insertorderedlist : 'قائمة مرقمه', 27 | insertunorderedlist : 'قائمة نقطية', 28 | indent : 'إزاحه النص', 29 | outdent : 'إلغاء الازاحة', 30 | subscript : 'أسفل النص', 31 | superscript : 'أعلى النص', 32 | formatblock : 'Paragraph format', 33 | fontname : 'نوع الخط', 34 | fontsize : 'حجم الخط', 35 | forecolor : 'لون النص', 36 | hilitecolor : 'لون خلفية النص', 37 | bold : 'عريض(Ctrl+B)', 38 | italic : 'مائل(Ctrl+I)', 39 | underline : 'خط تحت النص(Ctrl+U)', 40 | strikethrough : 'خط على النص', 41 | removeformat : 'إزالة التنسيق', 42 | image : 'إدراج صورة', 43 | multiimage : 'Multi image', 44 | flash : 'إدراج فلاش', 45 | media : 'إدراج وسائط متعددة', 46 | table : 'إدراج جدول', 47 | tablecell : 'خلية', 48 | hr : 'إدراج خط أفقي', 49 | emoticons : 'إدراج وجه ضاحك', 50 | link : 'رابط', 51 | unlink : 'إزالة الرابط', 52 | fullscreen : 'محرر ملئ الشاشة', 53 | about : 'حول', 54 | print : 'طباعة', 55 | filemanager : 'مدير الملفات', 56 | code : 'إدراج نص برمجي', 57 | map : 'خرائط قووقل', 58 | baidumap : 'خرائط قووقل', 59 | lineheight : 'إرتفاع السطر', 60 | clearhtml : 'مسح كود HTML', 61 | pagebreak : 'إدراج فاصل صفحات', 62 | quickformat : 'تنسيق سريع', 63 | insertfile : 'إدراج ملف', 64 | template : 'إدراج قالب', 65 | anchor : 'رابط', 66 | yes : 'موافق', 67 | no : 'إلغاء', 68 | close : 'إغلاق', 69 | editImage : 'خصائص الصورة', 70 | deleteImage : 'حذفالصورة', 71 | editFlash : 'خصائص الفلاش', 72 | deleteFlash : 'حذف الفلاش', 73 | editMedia : 'خصائص الوسائط', 74 | deleteMedia : 'حذف الوسائط', 75 | editLink : 'خصائص الرابط', 76 | deleteLink : 'إزالة الرابط', 77 | editAnchor : 'Anchor properties', 78 | deleteAnchor : 'Delete Anchor', 79 | tableprop : 'خصائص الجدول', 80 | tablecellprop : 'خصائص الخلية', 81 | tableinsert : 'إدراج جدول', 82 | tabledelete : 'حذف جدول', 83 | tablecolinsertleft : 'إدراج عمود لليسار', 84 | tablecolinsertright : 'إدراج عمود لليسار', 85 | tablerowinsertabove : 'إدراج صف للأعلى', 86 | tablerowinsertbelow : 'إدراج صف للأسفل', 87 | tablerowmerge : 'دمج للأسفل', 88 | tablecolmerge : 'دمج لليمين', 89 | tablerowsplit : 'تقسم الصف', 90 | tablecolsplit : 'تقسيم العمود', 91 | tablecoldelete : 'حذف العمود', 92 | tablerowdelete : 'حذف الصف', 93 | noColor : 'إفتراضي', 94 | pleaseSelectFile : 'Please select file.', 95 | invalidImg : "الرجاء إدخال رابط صحيح.\nالملفات المسموح بها: jpg,gif,bmp,png", 96 | invalidMedia : "الرجاء إدخال رابط صحيح.\nالملفات المسموح بها: swf,flv,mp3,wav,wma,wmv,mid,avi,mpg,asf,rm,rmvb", 97 | invalidWidth : "العرض يجب أن يكون رقم.", 98 | invalidHeight : "الإرتفاع يجب أن يكون رقم.", 99 | invalidBorder : "عرض الحد يجب أن يكون رقم.", 100 | invalidUrl : "الرجاء إدخال رابط حيح.", 101 | invalidRows : 'صفوف غير صحيح.', 102 | invalidCols : 'أعمدة غير صحيحة.', 103 | invalidPadding : 'The padding must be number.', 104 | invalidSpacing : 'The spacing must be number.', 105 | invalidJson : 'Invalid JSON string.', 106 | uploadSuccess : 'تم رفع الملف بنجاح.', 107 | cutError : 'حاليا غير مدعومة من المتصفح, إستخدم إختصار لوحة المفاتيح (Ctrl+X).', 108 | copyError : 'حاليا غير مدعومة من المتصفح, إستخدم إختصار لوحة المفاتيح (Ctrl+C).', 109 | pasteError : 'حاليا غير مدعومة من المتصفح, إستخدم إختصار لوحة المفاتيح (Ctrl+V).', 110 | ajaxLoading : 'Loading ...', 111 | uploadLoading : 'Uploading ...', 112 | uploadError : 'Upload Error', 113 | 'plainpaste.comment' : 'إستخدم إختصار لوحة المفاتيح (Ctrl+V) للصق داخل النافذة.', 114 | 'wordpaste.comment' : 'إستخدم إختصار لوحة المفاتيح (Ctrl+V) للصق داخل النافذة.', 115 | 'code.pleaseInput' : 'Please input code.', 116 | 'link.url' : 'الرابط', 117 | 'link.linkType' : 'الهدف', 118 | 'link.newWindow' : 'نافذة جديدة', 119 | 'link.selfWindow' : 'نفس النافذة', 120 | 'flash.url' : 'الرابط', 121 | 'flash.width' : 'العرض', 122 | 'flash.height' : 'الإرتفاع', 123 | 'flash.upload' : 'رفع', 124 | 'flash.viewServer' : 'أستعراض', 125 | 'media.url' : 'الرابط', 126 | 'media.width' : 'العرض', 127 | 'media.height' : 'الإرتفاع', 128 | 'media.autostart' : 'تشغيل تلقائي', 129 | 'media.upload' : 'رفع', 130 | 'media.viewServer' : 'أستعراض', 131 | 'image.remoteImage' : 'إدراج الرابط', 132 | 'image.localImage' : 'رفع', 133 | 'image.remoteUrl' : 'الرابط', 134 | 'image.localUrl' : 'الملف', 135 | 'image.size' : 'الحجم', 136 | 'image.width' : 'العرض', 137 | 'image.height' : 'الإرتفاع', 138 | 'image.resetSize' : 'إستعادة الأبعاد', 139 | 'image.align' : 'محاذاة', 140 | 'image.defaultAlign' : 'الإفتراضي', 141 | 'image.leftAlign' : 'اليسار', 142 | 'image.rightAlign' : 'اليمين', 143 | 'image.imgTitle' : 'العنوان', 144 | 'image.upload' : 'أستعراض', 145 | 'image.viewServer' : 'أستعراض', 146 | 'multiimage.uploadDesc' : 'Allows users to upload <%=uploadLimit%> images, single image size not exceeding <%=sizeLimit%>', 147 | 'multiimage.startUpload' : 'Start upload', 148 | 'multiimage.clearAll' : 'Clear all', 149 | 'multiimage.insertAll' : 'Insert all', 150 | 'multiimage.queueLimitExceeded' : 'Queue limit exceeded.', 151 | 'multiimage.fileExceedsSizeLimit' : 'File exceeds size limit.', 152 | 'multiimage.zeroByteFile' : 'Zero byte file.', 153 | 'multiimage.invalidFiletype' : 'Invalid file type.', 154 | 'multiimage.unknownError' : 'Unknown upload error.', 155 | 'multiimage.pending' : 'Pending ...', 156 | 'multiimage.uploadError' : 'Upload error', 157 | 'filemanager.emptyFolder' : 'فارغ', 158 | 'filemanager.moveup' : 'المجلد الأب', 159 | 'filemanager.viewType' : 'العرض: ', 160 | 'filemanager.viewImage' : 'مصغرات', 161 | 'filemanager.listImage' : 'قائمة', 162 | 'filemanager.orderType' : 'الترتيب: ', 163 | 'filemanager.fileName' : 'بالإسم', 164 | 'filemanager.fileSize' : 'بالحجم', 165 | 'filemanager.fileType' : 'بالنوع', 166 | 'insertfile.url' : 'الرابط', 167 | 'insertfile.title' : 'العنوان', 168 | 'insertfile.upload' : 'رفع', 169 | 'insertfile.viewServer' : 'أستعراض', 170 | 'table.cells' : 'خلايا', 171 | 'table.rows' : 'صفوف', 172 | 'table.cols' : 'أعمدة', 173 | 'table.size' : 'الأبعاد', 174 | 'table.width' : 'العرض', 175 | 'table.height' : 'الإرتفاع', 176 | 'table.percent' : '%', 177 | 'table.px' : 'px', 178 | 'table.space' : 'الخارج', 179 | 'table.padding' : 'الداخل', 180 | 'table.spacing' : 'الفراغات', 181 | 'table.align' : 'محاذاه', 182 | 'table.textAlign' : 'افقى', 183 | 'table.verticalAlign' : 'رأسي', 184 | 'table.alignDefault' : 'إفتراضي', 185 | 'table.alignLeft' : 'يسار', 186 | 'table.alignCenter' : 'وسط', 187 | 'table.alignRight' : 'يمين', 188 | 'table.alignTop' : 'أعلى', 189 | 'table.alignMiddle' : 'منتصف', 190 | 'table.alignBottom' : 'أسفل', 191 | 'table.alignBaseline' : 'Baseline', 192 | 'table.border' : 'الحدود', 193 | 'table.borderWidth' : 'العرض', 194 | 'table.borderColor' : 'اللون', 195 | 'table.backgroundColor' : 'الخلفية', 196 | 'map.address' : 'العنوان: ', 197 | 'map.search' : 'بحث', 198 | 'baidumap.address' : 'العنوان: ', 199 | 'baidumap.search' : 'بحث', 200 | 'baidumap.insertDynamicMap' : 'Dynamic Map', 201 | 'anchor.name' : 'إسم الرابط', 202 | 'formatblock.formatBlock' : { 203 | h1 : 'عنوان 1', 204 | h2 : 'عنوان 2', 205 | h3 : 'عنوان 3', 206 | h4 : 'عنوان 4', 207 | p : 'عادي' 208 | }, 209 | 'fontname.fontName' : { 210 | 'Arial' : 'Arial', 211 | 'Arial Black' : 'Arial Black', 212 | 'Comic Sans MS' : 'Comic Sans MS', 213 | 'Courier New' : 'Courier New', 214 | 'Garamond' : 'Garamond', 215 | 'Georgia' : 'Georgia', 216 | 'Tahoma' : 'Tahoma', 217 | 'Times New Roman' : 'Times New Roman', 218 | 'Trebuchet MS' : 'Trebuchet MS', 219 | 'Verdana' : 'Verdana' 220 | }, 221 | 'lineheight.lineHeight' : [ 222 | {'1' : 'إرتفاع السطر 1'}, 223 | {'1.5' : 'إرتفاع السطر 1.5'}, 224 | {'2' : 'إرتفاع السطر 2'}, 225 | {'2.5' : 'إرتفاع السطر 2.5'}, 226 | {'3' : 'إرتفاع السطر 3'} 227 | ], 228 | 'template.selectTemplate' : 'قالب', 229 | 'template.replaceContent' : 'إستبدال المحتوى الحالي', 230 | 'template.fileList' : { 231 | '1.html' : 'صورة ونص', 232 | '2.html' : 'جدول', 233 | '3.html' : 'قائمة' 234 | } 235 | }, 'ar'); 236 | 237 | KindEditor.each(KindEditor.options.items, function(i, name) { 238 | if (name == 'baidumap') { 239 | KindEditor.options.items[i] = 'map'; 240 | } 241 | }); 242 | KindEditor.options.langType = 'ar'; -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/lang/en.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * KindEditor - WYSIWYG HTML Editor for Internet 3 | * Copyright (C) 2006-2011 kindsoft.net 4 | * 5 | * @author Roddy 6 | * @site http://www.kindsoft.net/ 7 | * @licence http://www.kindsoft.net/license.php 8 | *******************************************************************************/ 9 | 10 | KindEditor.lang({ 11 | source : 'Source', 12 | preview : 'Preview', 13 | undo : 'Undo(Ctrl+Z)', 14 | redo : 'Redo(Ctrl+Y)', 15 | cut : 'Cut(Ctrl+X)', 16 | copy : 'Copy(Ctrl+C)', 17 | paste : 'Paste(Ctrl+V)', 18 | plainpaste : 'Paste as plain text', 19 | wordpaste : 'Paste from Word', 20 | selectall : 'Select all', 21 | justifyleft : 'Align left', 22 | justifycenter : 'Align center', 23 | justifyright : 'Align right', 24 | justifyfull : 'Align full', 25 | insertorderedlist : 'Ordered list', 26 | insertunorderedlist : 'Unordered list', 27 | indent : 'Increase indent', 28 | outdent : 'Decrease indent', 29 | subscript : 'Subscript', 30 | superscript : 'Superscript', 31 | formatblock : 'Paragraph format', 32 | fontname : 'Font family', 33 | fontsize : 'Font size', 34 | forecolor : 'Text color', 35 | hilitecolor : 'Highlight color', 36 | bold : 'Bold(Ctrl+B)', 37 | italic : 'Italic(Ctrl+I)', 38 | underline : 'Underline(Ctrl+U)', 39 | strikethrough : 'Strikethrough', 40 | removeformat : 'Remove format', 41 | image : 'Image', 42 | multiimage : 'Multi image', 43 | flash : 'Flash', 44 | media : 'Embeded media', 45 | table : 'Table', 46 | tablecell : 'Cell', 47 | hr : 'Insert horizontal line', 48 | emoticons : 'Insert emoticon', 49 | link : 'Link', 50 | unlink : 'Unlink', 51 | fullscreen : 'Toggle fullscreen mode', 52 | about : 'About', 53 | print : 'Print', 54 | filemanager : 'File Manager', 55 | code : 'Insert code', 56 | map : 'Google Maps', 57 | baidumap : 'Baidu Maps', 58 | lineheight : 'Line height', 59 | clearhtml : 'Clear HTML code', 60 | pagebreak : 'Insert Page Break', 61 | quickformat : 'Quick Format', 62 | insertfile : 'Insert file', 63 | template : 'Insert Template', 64 | anchor : 'Anchor', 65 | yes : 'OK', 66 | no : 'Cancel', 67 | close : 'Close', 68 | editImage : 'Image properties', 69 | deleteImage : 'Delete image', 70 | editFlash : 'Flash properties', 71 | deleteFlash : 'Delete flash', 72 | editMedia : 'Media properties', 73 | deleteMedia : 'Delete media', 74 | editLink : 'Link properties', 75 | deleteLink : 'Unlink', 76 | editAnchor : 'Anchor properties', 77 | deleteAnchor : 'Delete Anchor', 78 | tableprop : 'Table properties', 79 | tablecellprop : 'Cell properties', 80 | tableinsert : 'Insert table', 81 | tabledelete : 'Delete table', 82 | tablecolinsertleft : 'Insert column left', 83 | tablecolinsertright : 'Insert column right', 84 | tablerowinsertabove : 'Insert row above', 85 | tablerowinsertbelow : 'Insert row below', 86 | tablerowmerge : 'Merge down', 87 | tablecolmerge : 'Merge right', 88 | tablerowsplit : 'Split row', 89 | tablecolsplit : 'Split column', 90 | tablecoldelete : 'Delete column', 91 | tablerowdelete : 'Delete row', 92 | noColor : 'Default', 93 | pleaseSelectFile : 'Please select file.', 94 | invalidImg : "Please type valid URL.\nAllowed file extension: jpg,gif,bmp,png", 95 | invalidMedia : "Please type valid URL.\nAllowed file extension: swf,flv,mp3,wav,wma,wmv,mid,avi,mpg,asf,rm,rmvb", 96 | invalidWidth : "The width must be number.", 97 | invalidHeight : "The height must be number.", 98 | invalidBorder : "The border must be number.", 99 | invalidUrl : "Please type valid URL.", 100 | invalidRows : 'Invalid rows.', 101 | invalidCols : 'Invalid columns.', 102 | invalidPadding : 'The padding must be number.', 103 | invalidSpacing : 'The spacing must be number.', 104 | invalidJson : 'Invalid JSON string.', 105 | uploadSuccess : 'Upload success.', 106 | cutError : 'Currently not supported by your browser, use keyboard shortcut(Ctrl+X) instead.', 107 | copyError : 'Currently not supported by your browser, use keyboard shortcut(Ctrl+C) instead.', 108 | pasteError : 'Currently not supported by your browser, use keyboard shortcut(Ctrl+V) instead.', 109 | ajaxLoading : 'Loading ...', 110 | uploadLoading : 'Uploading ...', 111 | uploadError : 'Upload Error', 112 | 'plainpaste.comment' : 'Use keyboard shortcut(Ctrl+V) to paste the text into the window.', 113 | 'wordpaste.comment' : 'Use keyboard shortcut(Ctrl+V) to paste the text into the window.', 114 | 'code.pleaseInput' : 'Please input code.', 115 | 'link.url' : 'URL', 116 | 'link.linkType' : 'Target', 117 | 'link.newWindow' : 'New window', 118 | 'link.selfWindow' : 'Same window', 119 | 'flash.url' : 'URL', 120 | 'flash.width' : 'Width', 121 | 'flash.height' : 'Height', 122 | 'flash.upload' : 'Upload', 123 | 'flash.viewServer' : 'Browse', 124 | 'media.url' : 'URL', 125 | 'media.width' : 'Width', 126 | 'media.height' : 'Height', 127 | 'media.autostart' : 'Auto start', 128 | 'media.upload' : 'Upload', 129 | 'media.viewServer' : 'Browse', 130 | 'image.remoteImage' : 'Insert URL', 131 | 'image.localImage' : 'Upload', 132 | 'image.remoteUrl' : 'URL', 133 | 'image.localUrl' : 'File', 134 | 'image.size' : 'Size', 135 | 'image.width' : 'Width', 136 | 'image.height' : 'Height', 137 | 'image.resetSize' : 'Reset dimensions', 138 | 'image.align' : 'Align', 139 | 'image.defaultAlign' : 'Default', 140 | 'image.leftAlign' : 'Left', 141 | 'image.rightAlign' : 'Right', 142 | 'image.imgTitle' : 'Title', 143 | 'image.upload' : 'Browse', 144 | 'image.viewServer' : 'Browse', 145 | 'multiimage.uploadDesc' : 'Allows users to upload <%=uploadLimit%> images, single image size not exceeding <%=sizeLimit%>', 146 | 'multiimage.startUpload' : 'Start upload', 147 | 'multiimage.clearAll' : 'Clear all', 148 | 'multiimage.insertAll' : 'Insert all', 149 | 'multiimage.queueLimitExceeded' : 'Queue limit exceeded.', 150 | 'multiimage.fileExceedsSizeLimit' : 'File exceeds size limit.', 151 | 'multiimage.zeroByteFile' : 'Zero byte file.', 152 | 'multiimage.invalidFiletype' : 'Invalid file type.', 153 | 'multiimage.unknownError' : 'Unknown upload error.', 154 | 'multiimage.pending' : 'Pending ...', 155 | 'multiimage.uploadError' : 'Upload error', 156 | 'filemanager.emptyFolder' : 'Blank', 157 | 'filemanager.moveup' : 'Parent folder', 158 | 'filemanager.viewType' : 'Display: ', 159 | 'filemanager.viewImage' : 'Thumbnails', 160 | 'filemanager.listImage' : 'List', 161 | 'filemanager.orderType' : 'Sorting: ', 162 | 'filemanager.fileName' : 'By name', 163 | 'filemanager.fileSize' : 'By size', 164 | 'filemanager.fileType' : 'By type', 165 | 'insertfile.url' : 'URL', 166 | 'insertfile.title' : 'Title', 167 | 'insertfile.upload' : 'Upload', 168 | 'insertfile.viewServer' : 'Browse', 169 | 'table.cells' : 'Cells', 170 | 'table.rows' : 'Rows', 171 | 'table.cols' : 'Columns', 172 | 'table.size' : 'Dimensions', 173 | 'table.width' : 'Width', 174 | 'table.height' : 'Height', 175 | 'table.percent' : '%', 176 | 'table.px' : 'px', 177 | 'table.space' : 'Space', 178 | 'table.padding' : 'Padding', 179 | 'table.spacing' : 'Spacing', 180 | 'table.align' : 'Align', 181 | 'table.textAlign' : 'Horizontal', 182 | 'table.verticalAlign' : 'Vertical', 183 | 'table.alignDefault' : 'Default', 184 | 'table.alignLeft' : 'Left', 185 | 'table.alignCenter' : 'Center', 186 | 'table.alignRight' : 'Right', 187 | 'table.alignTop' : 'Top', 188 | 'table.alignMiddle' : 'Middle', 189 | 'table.alignBottom' : 'Bottom', 190 | 'table.alignBaseline' : 'Baseline', 191 | 'table.border' : 'Border', 192 | 'table.borderWidth' : 'Width', 193 | 'table.borderColor' : 'Color', 194 | 'table.backgroundColor' : 'Background', 195 | 'map.address' : 'Address: ', 196 | 'map.search' : 'Search', 197 | 'baidumap.address' : 'Address: ', 198 | 'baidumap.search' : 'Search', 199 | 'baidumap.insertDynamicMap' : 'Dynamic Map', 200 | 'anchor.name' : 'Anchor name', 201 | 'formatblock.formatBlock' : { 202 | h1 : 'Heading 1', 203 | h2 : 'Heading 2', 204 | h3 : 'Heading 3', 205 | h4 : 'Heading 4', 206 | p : 'Normal' 207 | }, 208 | 'fontname.fontName' : { 209 | 'Arial' : 'Arial', 210 | 'Arial Black' : 'Arial Black', 211 | 'Comic Sans MS' : 'Comic Sans MS', 212 | 'Courier New' : 'Courier New', 213 | 'Garamond' : 'Garamond', 214 | 'Georgia' : 'Georgia', 215 | 'Tahoma' : 'Tahoma', 216 | 'Times New Roman' : 'Times New Roman', 217 | 'Trebuchet MS' : 'Trebuchet MS', 218 | 'Verdana' : 'Verdana' 219 | }, 220 | 'lineheight.lineHeight' : [ 221 | {'1' : 'Line height 1'}, 222 | {'1.5' : 'Line height 1.5'}, 223 | {'2' : 'Line height 2'}, 224 | {'2.5' : 'Line height 2.5'}, 225 | {'3' : 'Line height 3'} 226 | ], 227 | 'template.selectTemplate' : 'Template', 228 | 'template.replaceContent' : 'Replace current content', 229 | 'template.fileList' : { 230 | '1.html' : 'Image and Text', 231 | '2.html' : 'Table', 232 | '3.html' : 'List' 233 | } 234 | }, 'en'); 235 | 236 | KindEditor.each(KindEditor.options.items, function(i, name) { 237 | if (name == 'baidumap') { 238 | KindEditor.options.items[i] = 'map'; 239 | } 240 | }); 241 | KindEditor.options.langType = 'en'; 242 | -------------------------------------------------------------------------------- /vendor/assets/javascripts/kindeditor/lang/ru.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * KindEditor - WYSIWYG HTML Editor for Internet 3 | * Copyright (C) 2006-2011 kindsoft.net 4 | * 5 | * @author Roddy 6 | * @site http://www.kindsoft.net/ 7 | * @licence http://www.kindsoft.net/license.php 8 | * Translated to Russian by Valery Votintsev (http://codersclub.org/) 9 | *******************************************************************************/ 10 | 11 | KindEditor.lang({ 12 | source : 'Source', 13 | preview : 'Preview', 14 | undo : 'Отмена(Ctrl+Z)', 15 | redo : 'Повтор(Ctrl+Y)', 16 | cut : 'Вырезать(Ctrl+X)', 17 | copy : 'Копировать(Ctrl+C)', 18 | paste : 'Вставить(Ctrl+V)', 19 | plainpaste : 'Вставить как простой текст', 20 | wordpaste : 'Вставить из Word', 21 | selectall : 'Выбрать все', 22 | justifyleft : 'Выравнивание влево', 23 | justifycenter : 'Выравнивание по центру', 24 | justifyright : 'Выравнивание вправо', 25 | justifyfull : 'Выравнивание по обеим сторонам', 26 | insertorderedlist : 'Нумерованый список', 27 | insertunorderedlist : 'Ненумерованый список', 28 | indent : 'Добавить отступ', 29 | outdent : 'Убрать отступ', 30 | subscript : 'Надстрочный', 31 | superscript : 'Подстрочный', 32 | formatblock : 'Формат параграфа', 33 | fontname : 'Шрифт', 34 | fontsize : 'Размер', 35 | forecolor : 'Цвет текста', 36 | hilitecolor : 'Цвет фона', 37 | bold : 'Жирный(Ctrl+B)', 38 | italic : 'Наклонный(Ctrl+I)', 39 | underline : 'Подчёркнутый(Ctrl+U)', 40 | strikethrough : 'Перечёркнутый', 41 | removeformat : 'Удалить формат', 42 | image : 'Изображение', 43 | multiimage : 'Мульти-загрузка', 44 | flash : 'Flash', 45 | media : 'Встроенные данные', 46 | table : 'Таблица', 47 | tablecell : 'Ячейка', 48 | hr : 'Горизонтальный разделитель', 49 | emoticons : 'Смайл', 50 | link : 'Ссылка', 51 | unlink : 'Убрать ссылку', 52 | fullscreen : 'На весь экран', 53 | about : 'О программе', 54 | print : 'Печать', 55 | filemanager : 'Файлы', 56 | code : 'Код', 57 | map : 'Карта Google', 58 | baidumap : 'Карта Baidu', 59 | lineheight : 'Межстрочный интервал', 60 | clearhtml : 'Очистить HTML код', 61 | pagebreak : 'Разрыв страницы', 62 | quickformat : 'Быстрый формат', 63 | insertfile : 'Вставить файл', 64 | template : 'Вставить шаблон', 65 | anchor : 'Якорь', 66 | yes : 'OK', 67 | no : 'Отмена', 68 | close : 'Закрыть', 69 | editImage : 'Свойства изображения', 70 | deleteImage : 'Удалить изображение', 71 | editFlash : 'Свойства Flash', 72 | deleteFlash : 'Удалить Flash', 73 | editMedia : 'Свойства Media', 74 | deleteMedia : 'Удалить Media', 75 | editLink : 'Свойства ссылки', 76 | deleteLink : 'Удалить ссылку', 77 | editAnchor : 'Anchor properties', 78 | deleteAnchor : 'Delete Anchor', 79 | tableprop : 'Свойства таблицы', 80 | tablecellprop : 'Свойства ячейки', 81 | tableinsert : 'Вставить таблицу', 82 | tabledelete : 'Удалить таблицу', 83 | tablecolinsertleft : 'Добавить столбец слева', 84 | tablecolinsertright : 'Добавить столбец справа', 85 | tablerowinsertabove : 'Добавить строку выше', 86 | tablerowinsertbelow : 'Добавить строку ниже', 87 | tablerowmerge : 'Объединить вниз', 88 | tablecolmerge : 'Объединить вправо', 89 | tablerowsplit : 'Разделить строку', 90 | tablecolsplit : 'Разделить столбец', 91 | tablecoldelete : 'Удалить столбец', 92 | tablerowdelete : 'Удалить строку', 93 | noColor : 'По умолчанию', 94 | pleaseSelectFile : 'Выберите файл.', 95 | invalidImg : "Укажите корректный URL изображения.\nРазрешённые форматы: jpg,gif,bmp,png", 96 | invalidMedia : "Укажите корректный тип медиа-объекта.\nРазрешённые типы: swf,flv,mp3,wav,wma,wmv,mid,avi,mpg,asf,rm,rmvb", 97 | invalidWidth : "Ширина должна быть числом.", 98 | invalidHeight : "Высота должна быть числом.", 99 | invalidBorder : "Ширина рамки должна быть числом.", 100 | invalidUrl : "Укажите корректный URL.", 101 | invalidRows : 'Неверные строки.', 102 | invalidCols : 'Неверные столбцы.', 103 | invalidPadding : 'padding должен быть числом.', 104 | invalidSpacing : 'spacing должен быть числом.', 105 | invalidJson : 'Неверная JSON строка.', 106 | uploadSuccess : 'Загрузка завершена.', 107 | cutError : 'Данная опция не поддерживается вашим браузером, воспользуйтесь комбинацией клавиш (Ctrl+X).', 108 | copyError : 'Данная опция не поддерживается вашим браузером, воспользуйтесь комбинацией клавиш (Ctrl+C).', 109 | pasteError : 'Данная опция не поддерживается вашим браузером, воспользуйтесь комбинацией клавиш (Ctrl+V).', 110 | ajaxLoading : 'Загрузка ...', 111 | uploadLoading : 'Загрузка ...', 112 | uploadError : 'Сбой загрузки', 113 | 'plainpaste.comment' : 'Для вставки скопированного текста воспользуйтесь комбинацией клавиш (Ctrl+V).', 114 | 'wordpaste.comment' : 'Для вставки скопированного текста воспользуйтесь комбинацией клавиш (Ctrl+V).', 115 | 'code.pleaseInput' : 'Введите код.', 116 | 'link.url' : 'URL', 117 | 'link.linkType' : 'Открывать ссылку', 118 | 'link.newWindow' : 'в новом окне', 119 | 'link.selfWindow' : 'в том же окне', 120 | 'flash.url' : 'URL', 121 | 'flash.width' : 'Ширина', 122 | 'flash.height' : 'Высота', 123 | 'flash.upload' : 'Загрузить', 124 | 'flash.viewServer' : 'Выбрать', 125 | 'media.url' : 'URL', 126 | 'media.width' : 'Ширина', 127 | 'media.height' : 'Высота', 128 | 'media.autostart' : 'Автостарт', 129 | 'media.upload' : 'Загрузить', 130 | 'media.viewServer' : 'Выбрать', 131 | 'image.remoteImage' : 'Вставить URL изображения', 132 | 'image.localImage' : 'Загрузить', 133 | 'image.remoteUrl' : 'URL', 134 | 'image.localUrl' : 'Файл', 135 | 'image.size' : 'Размер', 136 | 'image.width' : 'Ширина', 137 | 'image.height' : 'Высота', 138 | 'image.resetSize' : 'Сбросить размеры', 139 | 'image.align' : 'Выравнивание', 140 | 'image.defaultAlign' : 'По умолчанию', 141 | 'image.leftAlign' : 'Влево', 142 | 'image.rightAlign' : 'Вправо', 143 | 'image.imgTitle' : 'Название', 144 | 'image.upload' : 'Загрузить', 145 | 'image.viewServer' : 'Выбрать', 146 | 'multiimage.uploadDesc' : 'Максимальное кол-во изображений: <%=uploadLimit%>, Максимальный размер одного изображения: <%=sizeLimit%>', 147 | 'multiimage.startUpload' : 'Начать загрузку', 148 | 'multiimage.clearAll' : 'Очистить все', 149 | 'multiimage.insertAll' : 'Вставить все', 150 | 'multiimage.queueLimitExceeded' : 'Превышен лимит очереди.', 151 | 'multiimage.fileExceedsSizeLimit' : 'Превышен максимальный размер файла.', 152 | 'multiimage.zeroByteFile' : 'Файл нулевой длины.', 153 | 'multiimage.invalidFiletype' : 'Недопустимый тип файла.', 154 | 'multiimage.unknownError' : 'Непредвиденная ошибка загрузки.', 155 | 'multiimage.pending' : 'Ожидает ...', 156 | 'multiimage.uploadError' : 'Ошибка загрузки', 157 | 'filemanager.emptyFolder' : 'Папка пуста', 158 | 'filemanager.moveup' : 'Наверх', 159 | 'filemanager.viewType' : 'Тип показа: ', 160 | 'filemanager.viewImage' : 'Превьюшки', 161 | 'filemanager.listImage' : 'Список', 162 | 'filemanager.orderType' : 'Сортировка: ', 163 | 'filemanager.fileName' : 'По имени', 164 | 'filemanager.fileSize' : 'По размеру', 165 | 'filemanager.fileType' : 'По типу', 166 | 'insertfile.url' : 'URL', 167 | 'insertfile.title' : 'Название', 168 | 'insertfile.upload' : 'Загрузить', 169 | 'insertfile.viewServer' : 'Выбрать', 170 | 'table.cells' : 'Ячейки', 171 | 'table.rows' : 'Строки', 172 | 'table.cols' : 'Столбцы', 173 | 'table.size' : 'Размеры', 174 | 'table.width' : 'Ширина', 175 | 'table.height' : 'Высота', 176 | 'table.percent' : '%', 177 | 'table.px' : 'px', 178 | 'table.space' : 'Space', 179 | 'table.padding' : 'Padding', 180 | 'table.spacing' : 'Spacing', 181 | 'table.align' : 'Выравнивание', 182 | 'table.textAlign' : 'По горизонтали', 183 | 'table.verticalAlign' : 'По вертикали', 184 | 'table.alignDefault' : 'По умолчанию', 185 | 'table.alignLeft' : 'Влево', 186 | 'table.alignCenter' : 'По центру', 187 | 'table.alignRight' : 'Вправо', 188 | 'table.alignTop' : 'Вверх', 189 | 'table.alignMiddle' : 'Посередине', 190 | 'table.alignBottom' : 'Вниз', 191 | 'table.alignBaseline' : 'По базовой линии', 192 | 'table.border' : 'Рамка', 193 | 'table.borderWidth' : 'Ширина', 194 | 'table.borderColor' : 'Цвет', 195 | 'table.backgroundColor' : 'Цвет фона', 196 | 'map.address' : 'Адрес: ', 197 | 'map.search' : 'Поиск', 198 | 'baidumap.address' : 'Адрес: ', 199 | 'baidumap.search' : 'Поиск', 200 | 'baidumap.insertDynamicMap' : 'Динамическая карта', 201 | 'anchor.name' : 'Имя якоря', 202 | 'formatblock.formatBlock' : { 203 | h1 : 'Заголовок 1', 204 | h2 : 'Заголовок 2', 205 | h3 : 'Заголовок 3', 206 | h4 : 'Заголовок 4', 207 | p : 'Обычный текст' 208 | }, 209 | 'fontname.fontName' : { 210 | 'Arial' : 'Arial', 211 | 'Arial Black' : 'Arial Black', 212 | 'Comic Sans MS' : 'Comic Sans MS', 213 | 'Courier New' : 'Courier New', 214 | 'Garamond' : 'Garamond', 215 | 'Georgia' : 'Georgia', 216 | 'Tahoma' : 'Tahoma', 217 | 'Times New Roman' : 'Times New Roman', 218 | 'Trebuchet MS' : 'Trebuchet MS', 219 | 'Verdana' : 'Verdana' 220 | }, 221 | 'lineheight.lineHeight' : [ 222 | {'1' : '1'}, 223 | {'1.5' : '1.5'}, 224 | {'2' : '2'}, 225 | {'2.5' : '2.5'}, 226 | {'3' : '3'} 227 | ], 228 | 'template.selectTemplate' : 'Шаблон', 229 | 'template.replaceContent' : 'Заменить текущий шаблон', 230 | 'template.fileList' : { 231 | '1.html' : 'Текст и изображения', 232 | '2.html' : 'Таблица', 233 | '3.html' : 'Список' 234 | } 235 | }, 'en'); 236 | 237 | KindEditor.each(KindEditor.options.items, function(i, name) { 238 | if (name == 'baidumap') { 239 | KindEditor.options.items[i] = 'map'; 240 | } 241 | }); 242 | KindEditor.options.langType = 'ru'; 243 | --------------------------------------------------------------------------------