rails_editor_liu 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +6 -0
- data/Gemfile +6 -0
- data/README.md +526 -0
- data/Rakefile +2 -0
- data/app/assets/javascripts/kindeditor.js +1 -0
- data/app/controllers/kindeditor/assets_controller.rb +136 -0
- data/app/uploaders/kindeditor/asset_uploader.rb +112 -0
- data/app/uploaders/kindeditor/file_uploader.rb +10 -0
- data/app/uploaders/kindeditor/flash_uploader.rb +10 -0
- data/app/uploaders/kindeditor/image_uploader.rb +10 -0
- data/app/uploaders/kindeditor/media_uploader.rb +10 -0
- data/config/routes.rb +6 -0
- data/lib/generators/rails_kindeditor/install/USAGE +10 -0
- data/lib/generators/rails_kindeditor/install/install_generator.rb +23 -0
- data/lib/generators/rails_kindeditor/install/templates/application.js +17 -0
- data/lib/generators/rails_kindeditor/install/templates/rails_kindeditor.rb +19 -0
- data/lib/generators/rails_kindeditor/migration/USAGE +14 -0
- data/lib/generators/rails_kindeditor/migration/migration_generator.rb +36 -0
- data/lib/generators/rails_kindeditor/migration/templates/migration/migration.rb +17 -0
- data/lib/generators/rails_kindeditor/migration/templates/models/active_record/kindeditor/asset.rb +14 -0
- data/lib/generators/rails_kindeditor/migration/templates/models/active_record/kindeditor/file.rb +3 -0
- data/lib/generators/rails_kindeditor/migration/templates/models/active_record/kindeditor/flash.rb +3 -0
- data/lib/generators/rails_kindeditor/migration/templates/models/active_record/kindeditor/image.rb +3 -0
- data/lib/generators/rails_kindeditor/migration/templates/models/active_record/kindeditor/media.rb +3 -0
- data/lib/generators/rails_kindeditor/migration/templates/models/mongoid/kindeditor/asset.rb +27 -0
- data/lib/generators/rails_kindeditor/migration/templates/models/mongoid/kindeditor/file.rb +3 -0
- data/lib/generators/rails_kindeditor/migration/templates/models/mongoid/kindeditor/flash.rb +3 -0
- data/lib/generators/rails_kindeditor/migration/templates/models/mongoid/kindeditor/image.rb +3 -0
- data/lib/generators/rails_kindeditor/migration/templates/models/mongoid/kindeditor/media.rb +3 -0
- data/lib/rails_kindeditor/active_record.rb +14 -0
- data/lib/rails_kindeditor/engine.rb +34 -0
- data/lib/rails_kindeditor/formtastic.rb +12 -0
- data/lib/rails_kindeditor/helper.rb +96 -0
- data/lib/rails_kindeditor/simple_form.rb +11 -0
- data/lib/rails_kindeditor/version.rb +4 -0
- data/lib/rails_kindeditor.rb +58 -0
- data/lib/tasks/assets.rake +9 -0
- data/rails_kindeditor.gemspec +23 -0
- data/screenshots/rails_kindeditor.png +0 -0
- data/screenshots/simple_mode.png +0 -0
- data/vendor/assets/javascripts/kindeditor/kindeditor.js +5963 -0
- data/vendor/assets/javascripts/kindeditor/lang/ar.js +233 -0
- data/vendor/assets/javascripts/kindeditor/lang/en.js +232 -0
- data/vendor/assets/javascripts/kindeditor/lang/ko.js +237 -0
- data/vendor/assets/javascripts/kindeditor/lang/zh_CN.js +237 -0
- data/vendor/assets/javascripts/kindeditor/lang/zh_TW.js +235 -0
- data/vendor/assets/javascripts/kindeditor/plugins/anchor/anchor.js +46 -0
- data/vendor/assets/javascripts/kindeditor/plugins/autoheight/autoheight.js +54 -0
- data/vendor/assets/javascripts/kindeditor/plugins/baidumap/baidumap.js +93 -0
- data/vendor/assets/javascripts/kindeditor/plugins/baidumap/index.html +83 -0
- data/vendor/assets/javascripts/kindeditor/plugins/baidumap/map.html +43 -0
- data/vendor/assets/javascripts/kindeditor/plugins/clearhtml/clearhtml.js +29 -0
- data/vendor/assets/javascripts/kindeditor/plugins/code/code.js +62 -0
- data/vendor/assets/javascripts/kindeditor/plugins/code/prettify.css +13 -0
- data/vendor/assets/javascripts/kindeditor/plugins/code/prettify.js +28 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/emoticons.js +129 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/0.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/1.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/10.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/100.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/101.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/102.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/103.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/104.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/105.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/106.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/107.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/108.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/109.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/11.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/110.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/111.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/112.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/113.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/114.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/115.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/116.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/117.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/118.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/119.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/12.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/120.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/121.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/122.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/123.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/124.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/125.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/126.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/127.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/128.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/129.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/13.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/130.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/131.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/132.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/133.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/134.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/14.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/15.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/16.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/17.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/18.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/19.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/2.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/20.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/21.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/22.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/23.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/24.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/25.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/26.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/27.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/28.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/29.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/3.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/30.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/31.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/32.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/33.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/34.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/35.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/36.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/37.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/38.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/39.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/4.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/40.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/41.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/42.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/43.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/44.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/45.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/46.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/47.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/48.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/49.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/5.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/50.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/51.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/52.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/53.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/54.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/55.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/56.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/57.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/58.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/59.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/6.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/60.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/61.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/62.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/63.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/64.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/65.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/66.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/67.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/68.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/69.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/7.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/70.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/71.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/72.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/73.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/74.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/75.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/76.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/77.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/78.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/79.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/8.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/80.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/81.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/82.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/83.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/84.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/85.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/86.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/87.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/88.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/89.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/9.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/90.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/91.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/92.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/93.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/94.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/95.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/96.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/97.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/98.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/99.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/static.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/filemanager/filemanager.js +189 -0
- data/vendor/assets/javascripts/kindeditor/plugins/filemanager/images/file-16.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/filemanager/images/file-64.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/filemanager/images/folder-16.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/filemanager/images/folder-64.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/filemanager/images/go-up.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/flash/flash.js +161 -0
- data/vendor/assets/javascripts/kindeditor/plugins/image/image.js +328 -0
- data/vendor/assets/javascripts/kindeditor/plugins/image/images/align_left.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/image/images/align_right.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/image/images/align_top.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/image/images/refresh.png +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/insertfile/insertfile.js +138 -0
- data/vendor/assets/javascripts/kindeditor/plugins/lineheight/lineheight.js +38 -0
- data/vendor/assets/javascripts/kindeditor/plugins/link/link.js +66 -0
- data/vendor/assets/javascripts/kindeditor/plugins/map/map.html +57 -0
- data/vendor/assets/javascripts/kindeditor/plugins/map/map.js +137 -0
- data/vendor/assets/javascripts/kindeditor/plugins/media/media.js +170 -0
- data/vendor/assets/javascripts/kindeditor/plugins/modal/modal.js +43 -0
- data/vendor/assets/javascripts/kindeditor/plugins/multiimage/images/image.png +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/multiimage/images/select-files-en.png +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/multiimage/images/select-files-zh_CN.png +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/multiimage/images/swfupload.swf +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/multiimage/multiimage.js +1384 -0
- data/vendor/assets/javascripts/kindeditor/plugins/pagebreak/pagebreak.js +27 -0
- data/vendor/assets/javascripts/kindeditor/plugins/plainpaste/plainpaste.js +41 -0
- data/vendor/assets/javascripts/kindeditor/plugins/preview/preview.js +31 -0
- data/vendor/assets/javascripts/kindeditor/plugins/quickformat/quickformat.js +81 -0
- data/vendor/assets/javascripts/kindeditor/plugins/smimage/smimage.js +267 -0
- data/vendor/assets/javascripts/kindeditor/plugins/table/table.js +712 -0
- data/vendor/assets/javascripts/kindeditor/plugins/template/html/1.html +14 -0
- data/vendor/assets/javascripts/kindeditor/plugins/template/html/2.html +42 -0
- data/vendor/assets/javascripts/kindeditor/plugins/template/html/3.html +36 -0
- data/vendor/assets/javascripts/kindeditor/plugins/template/template.js +58 -0
- data/vendor/assets/javascripts/kindeditor/plugins/wordpaste/wordpaste.js +51 -0
- data/vendor/assets/javascripts/kindeditor/themes/common/anchor.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/themes/common/blank.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/themes/common/flash.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/themes/common/loading.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/themes/common/media.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/themes/common/rm.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/themes/default/background.png +0 -0
- data/vendor/assets/javascripts/kindeditor/themes/default/default.css +1158 -0
- data/vendor/assets/javascripts/kindeditor/themes/default/default.png +0 -0
- data/vendor/assets/javascripts/kindeditor/themes/qq/editor.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/themes/qq/qq.css +143 -0
- data/vendor/assets/javascripts/kindeditor/themes/simple/simple.css +100 -0
- metadata +310 -0
@@ -0,0 +1,112 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
#require 'carrierwave/processing/mime_types'
|
4
|
+
|
5
|
+
class Kindeditor::AssetUploader < CarrierWave::Uploader::Base
|
6
|
+
|
7
|
+
EXT_NAMES = {:image => RailsKindeditor.upload_image_ext,
|
8
|
+
:flash => RailsKindeditor.upload_flash_ext,
|
9
|
+
:media => RailsKindeditor.upload_media_ext,
|
10
|
+
:file => RailsKindeditor.upload_file_ext}
|
11
|
+
|
12
|
+
# Include RMagick or ImageScience support:
|
13
|
+
# include CarrierWave::RMagick
|
14
|
+
# include CarrierWave::ImageScience
|
15
|
+
# include CarrierWave::MiniMagick
|
16
|
+
|
17
|
+
# Choose what kind of storage to use for this uploader:
|
18
|
+
storage :file
|
19
|
+
# storage :fog
|
20
|
+
|
21
|
+
#for user private resource path
|
22
|
+
attr_accessor :private_path
|
23
|
+
attr_accessor :fixed_folder
|
24
|
+
#use this to set the digest filename for a special upload
|
25
|
+
attr_accessor :digest_filename
|
26
|
+
|
27
|
+
|
28
|
+
# Override the directory where uploaded files will be stored.
|
29
|
+
# This is a sensible default for uploaders that are meant to be mounted:
|
30
|
+
def store_dir
|
31
|
+
@store_dir ||= [RailsKindeditor.upload_store_dir].
|
32
|
+
push(private_path).
|
33
|
+
push(calcuate_object_folder).
|
34
|
+
flatten.compact.join("/").gsub(/(kindeditor\/)|(_uploader)/, '')
|
35
|
+
end
|
36
|
+
|
37
|
+
|
38
|
+
def cache_dir
|
39
|
+
"#{Rails.root}/tmp/uploads"
|
40
|
+
end
|
41
|
+
|
42
|
+
# Provide a default URL as a default if there hasn't been a file uploaded:
|
43
|
+
# def default_url
|
44
|
+
# "/images/fallback/" + [version_name, "default.png"].compact.join('_')
|
45
|
+
# end
|
46
|
+
|
47
|
+
# Process files as they are uploaded:
|
48
|
+
# process :scale => [200, 300]
|
49
|
+
#
|
50
|
+
# def scale(width, height)
|
51
|
+
# # do something
|
52
|
+
# end
|
53
|
+
|
54
|
+
# Create different versions of your uploaded files:
|
55
|
+
# version :thumb do
|
56
|
+
# process :scale => [50, 50]
|
57
|
+
# end
|
58
|
+
|
59
|
+
# Add a white list of extensions which are allowed to be uploaded.
|
60
|
+
# For images you might use something like this:
|
61
|
+
|
62
|
+
# Override the filename of the uploaded files:
|
63
|
+
# Avoid using model.id or version_name here, see uploader/store.rb for details.
|
64
|
+
before :store, :remember_cache_id
|
65
|
+
after :store, :delete_tmp_dir
|
66
|
+
|
67
|
+
# store! nil's the cache_id after it finishes so we need to remember it for deletition
|
68
|
+
def remember_cache_id(new_file)
|
69
|
+
@cache_id_was = cache_id
|
70
|
+
end
|
71
|
+
|
72
|
+
def delete_tmp_dir(new_file)
|
73
|
+
# make sure we don't delete other things accidentally by checking the name pattern
|
74
|
+
if @cache_id_was.present? && @cache_id_was =~ /\A[\d]{8}\-[\d]{4}\-[\d]+\-[\d]{4}\z/
|
75
|
+
FileUtils.rm_rf(File.join(cache_dir, @cache_id_was))
|
76
|
+
end
|
77
|
+
end
|
78
|
+
|
79
|
+
#if the folder is fixed and !digest_filename is true ,we use the opiginal_filename
|
80
|
+
#if set use_original_filename ,we use the opiginal_filename
|
81
|
+
def filename
|
82
|
+
if RailsKindeditor.use_original_filename || (fixed_folder && !digest_filename)
|
83
|
+
super
|
84
|
+
elsif original_filename
|
85
|
+
@name ||= Digest::MD5.hexdigest(File.dirname(current_path)).slice(0, 12)
|
86
|
+
"#{@name}.#{file.extension}"
|
87
|
+
end
|
88
|
+
end
|
89
|
+
|
90
|
+
def self.save_upload_info?
|
91
|
+
begin
|
92
|
+
%w(asset file flash image media).each do |s|
|
93
|
+
"Kindeditor::#{s.camelize}".constantize
|
94
|
+
end
|
95
|
+
return true
|
96
|
+
rescue
|
97
|
+
return false
|
98
|
+
end
|
99
|
+
end
|
100
|
+
|
101
|
+
private
|
102
|
+
|
103
|
+
def calcuate_object_folder
|
104
|
+
if Kindeditor::AssetUploader.save_upload_info?
|
105
|
+
[model.asset_type.to_s.underscore,fixed_folder.nil? ? model.created_at.strftime("%Y%m") : fixed_folder]
|
106
|
+
else
|
107
|
+
[self.class.to_s.underscore,fixed_folder.nil? ? Time.now.strftime("%Y%m") : fixed_folder]
|
108
|
+
end
|
109
|
+
end
|
110
|
+
|
111
|
+
end
|
112
|
+
|
data/config/routes.rb
ADDED
@@ -0,0 +1,23 @@
|
|
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 kindeditor\n", :after => "jquery_ujs\n"
|
18
|
+
else
|
19
|
+
copy_file "application.js", "app/assets/javascripts/application.js"
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,17 @@
|
|
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, vendor/assets/javascripts,
|
5
|
+
// or vendor/assets/javascripts of plugins, if any, 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
|
+
// the compiled file.
|
9
|
+
//
|
10
|
+
// WARNING: THE FIRST BLANK LINE MARKS THE END OF WHAT'S TO BE PROCESSED, ANY BLANK LINE SHOULD
|
11
|
+
// GO AFTER THE REQUIRES BELOW.
|
12
|
+
//
|
13
|
+
//= require jquery
|
14
|
+
//= require jquery_ujs
|
15
|
+
//= require kindeditor
|
16
|
+
//= require_tree .
|
17
|
+
|
@@ -0,0 +1,19 @@
|
|
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
|
+
end
|
@@ -0,0 +1,14 @@
|
|
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
|
+
|
@@ -0,0 +1,36 @@
|
|
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
|
+
|
@@ -0,0 +1,17 @@
|
|
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 :asset_type # list by kindeditor: image, file, media, flash
|
9
|
+
t.timestamps
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
def self.down
|
14
|
+
drop_table :kindeditor_assets
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
data/lib/generators/rails_kindeditor/migration/templates/models/active_record/kindeditor/asset.rb
ADDED
@@ -0,0 +1,14 @@
|
|
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
|
@@ -0,0 +1,27 @@
|
|
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
|
@@ -0,0 +1,14 @@
|
|
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', :foreign_key => 'owner_id', :dependent => options[:dependent]
|
7
|
+
|
8
|
+
class_name = self.name
|
9
|
+
Kindeditor::Asset.class_eval do
|
10
|
+
belongs_to :owner, :class_name => class_name, :foreign_key => 'owner_id'
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,34 @@
|
|
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
|
@@ -0,0 +1,96 @@
|
|
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
|
+
output = ActiveSupport::SafeBuffer.new
|
7
|
+
output << text_area_tag(name, content, input_html)
|
8
|
+
output << javascript_tag(js_replace(id, options))
|
9
|
+
end
|
10
|
+
|
11
|
+
def kindeditor(name, method, options = {})
|
12
|
+
# TODO: Refactory options: 1. kindeditor_option 2. html_option
|
13
|
+
input_html = (options.delete(:input_html) || {}).stringify_keys
|
14
|
+
output_buffer = ActiveSupport::SafeBuffer.new
|
15
|
+
output_buffer << build_text_area_tag(name, method, self, options, input_html)
|
16
|
+
output_buffer << javascript_tag(js_replace(input_html['id'], options))
|
17
|
+
end
|
18
|
+
|
19
|
+
def kindeditor_upload_json_path(*args)
|
20
|
+
options = args.extract_options!
|
21
|
+
owner_id_query_string = options[:owner_id] ? "owner_id=#{options[:owner_id]}" : ''
|
22
|
+
fixed_folder = options[:fixed_folder] ? "fixed_folder=#{options[:fixed_folder]}" : ''
|
23
|
+
digest_filename = options[:fixed_folder] ? "digest_filename=#{options[:digest_filename]}" : ''
|
24
|
+
"#{main_app_root_url}kindeditor/upload?#{fixed_folder}&#{owner_id_query_string}&#{digest_filename}"
|
25
|
+
end
|
26
|
+
|
27
|
+
def kindeditor_file_manager_json_path
|
28
|
+
"#{main_app_root_url}kindeditor/filemanager"
|
29
|
+
end
|
30
|
+
|
31
|
+
private
|
32
|
+
|
33
|
+
def main_app_root_url
|
34
|
+
begin
|
35
|
+
main_app.root_url.slice(0, main_app.root_url.rindex(main_app.root_path)) + '/'
|
36
|
+
rescue
|
37
|
+
'/'
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
def js_replace(dom_id, options = {})
|
42
|
+
editor_id = options[:editor_id].nil? ? '' : "#{options[:editor_id].to_s.downcase} = "
|
43
|
+
if options[:window_onload]
|
44
|
+
require 'securerandom'
|
45
|
+
random_name = SecureRandom.hex;
|
46
|
+
"var old_onload_#{random_name};
|
47
|
+
if(typeof window.onload == 'function') old_onload_#{random_name} = window.onload;
|
48
|
+
window.onload = function() {
|
49
|
+
#{editor_id}KindEditor.create('##{dom_id}', #{get_options(options).to_json});
|
50
|
+
if(old_onload_#{random_name}) old_onload_#{random_name}();
|
51
|
+
}"
|
52
|
+
else
|
53
|
+
"KindEditor.ready(function(K){
|
54
|
+
#{editor_id}K.create('##{dom_id}', #{get_options(options).to_json});
|
55
|
+
});"
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
def get_options(options)
|
60
|
+
options.delete(:editor_id)
|
61
|
+
options.delete(:window_onload)
|
62
|
+
options.reverse_merge!(:width => '100%')
|
63
|
+
options.reverse_merge!(:height => 300)
|
64
|
+
options.reverse_merge!(:allowFileManager => true)
|
65
|
+
options.merge!(:uploadJson => kindeditor_upload_json_path( options.extract!(:owner_id,:fixed_folder)))
|
66
|
+
options.merge!(:fileManagerJson => kindeditor_file_manager_json_path)
|
67
|
+
if options[:simple_mode] == true
|
68
|
+
options.merge!(:items => %w{fontname fontsize | forecolor hilitecolor bold italic underline removeformat | justifyleft justifycenter justifyright insertorderedlist insertunorderedlist | emoticons image link})
|
69
|
+
end
|
70
|
+
options.delete(:simple_mode)
|
71
|
+
options
|
72
|
+
end
|
73
|
+
|
74
|
+
def build_text_area_tag(name, method, template, options, input_html)
|
75
|
+
if Rails.version >= '4.0.0'
|
76
|
+
text_area_tag = ActionView::Helpers::Tags::TextArea.new(name, method, template, options)
|
77
|
+
text_area_tag.send(:add_default_name_and_id, input_html)
|
78
|
+
text_area_tag.render
|
79
|
+
elsif Rails.version >= '3.1.0'
|
80
|
+
text_area_tag = ActionView::Base::InstanceTag.new(name, method, template, options.delete(:object))
|
81
|
+
text_area_tag.send(:add_default_name_and_id, input_html)
|
82
|
+
text_area_tag.to_text_area_tag(input_html)
|
83
|
+
elsif Rails.version >= '3.0.0'
|
84
|
+
raise 'Please use rails_kindeditor v0.2.8 for Rails v3.0.x'
|
85
|
+
else
|
86
|
+
raise 'Please upgrade your Rails !'
|
87
|
+
end
|
88
|
+
end
|
89
|
+
end
|
90
|
+
|
91
|
+
module Builder
|
92
|
+
def kindeditor(method, options = {})
|
93
|
+
@template.send("kindeditor", @object_name, method, objectify_options(options))
|
94
|
+
end
|
95
|
+
end
|
96
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
module RailsKindeditor
|
2
|
+
module SimpleForm
|
3
|
+
class KindeditorInput < ::SimpleForm::Inputs::Base
|
4
|
+
def input
|
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
|
@@ -0,0 +1,58 @@
|
|
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 :use_original_filename
|
27
|
+
@@use_original_filename = true
|
28
|
+
|
29
|
+
def self.root_path
|
30
|
+
@root_path ||= Pathname.new(File.dirname(File.expand_path('../', __FILE__)))
|
31
|
+
end
|
32
|
+
|
33
|
+
def self.assets
|
34
|
+
Dir[root_path.join('vendor/assets/javascripts/kindeditor/**', '*.{js,css}')].inject([]) do |assets, path|
|
35
|
+
assets << Pathname.new(path).relative_path_from(root_path.join('vendor/assets/javascripts')).to_s
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
def self.upload_store_dir
|
40
|
+
dirs = upload_dir.gsub(/^\/+/,'').gsub(/\/+$/,'').split('/')
|
41
|
+
dirs.each { |dir| dir.gsub!(/\W/, '') }
|
42
|
+
dirs.delete('')
|
43
|
+
dirs.join('/')
|
44
|
+
end
|
45
|
+
|
46
|
+
def self.resize_to_limit
|
47
|
+
if !image_resize_to_limit.nil? && image_resize_to_limit.is_a?(Array)
|
48
|
+
[image_resize_to_limit[0], image_resize_to_limit[1]]
|
49
|
+
else
|
50
|
+
[800, 800]
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
def self.setup
|
55
|
+
yield self
|
56
|
+
end
|
57
|
+
|
58
|
+
end
|
@@ -0,0 +1,9 @@
|
|
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
|
@@ -0,0 +1,23 @@
|
|
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_editor_liu"
|
7
|
+
s.version = RailsKindeditor::VERSION
|
8
|
+
s.platform = Gem::Platform::RUBY
|
9
|
+
s.authors = "Macrow"
|
10
|
+
s.email = "javy_liu@163.com"
|
11
|
+
s.homepage = "http://github.com/javy_liu/rails_kindeditor"
|
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
|
+
|
17
|
+
s.files = `git ls-files`.split("\n")
|
18
|
+
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
19
|
+
s.require_paths = ["lib"]
|
20
|
+
|
21
|
+
s.add_dependency("carrierwave")
|
22
|
+
s.add_dependency("mini_magick")
|
23
|
+
end
|