th_simple_content_management 0.2.1 → 0.2.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (92) hide show
  1. data/app/assets/images/simple_content_management/resize-handle.png +0 -0
  2. data/app/assets/javascripts/simple_content_management/simple_pages.js +1 -21
  3. data/app/assets/javascripts/simple_content_management/simple_pages/form.js +32 -0
  4. data/app/assets/javascripts/th-page-editor/column.js +136 -0
  5. data/app/assets/javascripts/th-page-editor/index.js +104 -0
  6. data/app/assets/javascripts/th-page-editor/row.js +90 -0
  7. data/app/assets/stylesheets/simple_content_management/simple_pages.css.scss +80 -8
  8. data/app/controllers/redactor_rails/documents_controller.rb +28 -0
  9. data/app/controllers/redactor_rails/pictures_controller.rb +28 -0
  10. data/app/helpers/simple_content_management/simple_pages_helper.rb +4 -0
  11. data/app/models/redactor/asset.rb +5 -0
  12. data/app/models/redactor/document.rb +11 -0
  13. data/app/models/redactor/picture.rb +7 -0
  14. data/app/models/simple_content_management/simple_menu.rb +1 -1
  15. data/app/models/simple_content_management/simple_page.rb +6 -0
  16. data/app/views/simple_content_management/simple_pages/_form.html.erb +48 -3
  17. data/config/routes.rb +4 -0
  18. data/lib/generators/redactor/config_generator.rb +18 -0
  19. data/lib/generators/redactor/install_generator.rb +75 -0
  20. data/lib/generators/redactor/templates/active_record/carrierwave/devise_migration.rb +30 -0
  21. data/lib/generators/redactor/templates/active_record/carrierwave/migration.rb +30 -0
  22. data/lib/generators/redactor/templates/active_record/carrierwave/redactor/asset.rb +5 -0
  23. data/lib/generators/redactor/templates/active_record/carrierwave/redactor/document.rb +11 -0
  24. data/lib/generators/redactor/templates/active_record/carrierwave/redactor/picture.rb +7 -0
  25. data/lib/generators/redactor/templates/base/carrierwave/uploaders/redactor_rails_document_uploader.rb +15 -0
  26. data/lib/generators/redactor/templates/base/carrierwave/uploaders/redactor_rails_picture_uploader.rb +53 -0
  27. data/lib/generators/redactor/templates/config.js +17 -0
  28. data/lib/generators/redactor/templates/mongoid/carrierwave/redactor/asset.rb +9 -0
  29. data/lib/generators/redactor/templates/mongoid/carrierwave/redactor/document.rb +14 -0
  30. data/lib/generators/redactor/templates/mongoid/carrierwave/redactor/picture.rb +7 -0
  31. data/lib/redactor-rails.rb +41 -0
  32. data/lib/redactor-rails/backend/carrierwave.rb +64 -0
  33. data/lib/redactor-rails/devise.rb +11 -0
  34. data/lib/redactor-rails/engine.rb +14 -0
  35. data/lib/redactor-rails/helper.rb +8 -0
  36. data/lib/redactor-rails/http.rb +89 -0
  37. data/lib/redactor-rails/orm/active_record.rb +27 -0
  38. data/lib/redactor-rails/orm/base.rb +38 -0
  39. data/lib/redactor-rails/orm/mongoid.rb +37 -0
  40. data/lib/redactor-rails/version.rb +3 -0
  41. data/lib/redactor_rails_document_uploader.rb +15 -0
  42. data/lib/redactor_rails_picture_uploader.rb +53 -0
  43. data/lib/simple_content_management.rb +5 -0
  44. data/lib/simple_content_management/content_text.rb +25 -0
  45. data/lib/simple_content_management/version.rb +1 -1
  46. data/vendor/assets/javascripts/redactor-rails/config.js +17 -0
  47. data/vendor/assets/javascripts/redactor-rails/css/docstyle.css +139 -0
  48. data/vendor/assets/javascripts/redactor-rails/css/style.css +26 -0
  49. data/vendor/assets/javascripts/redactor-rails/css/wym.css +151 -0
  50. data/vendor/assets/javascripts/redactor-rails/index.js +2 -0
  51. data/vendor/assets/javascripts/redactor-rails/langs/ar.js +66 -0
  52. data/vendor/assets/javascripts/redactor-rails/langs/ba.js +69 -0
  53. data/vendor/assets/javascripts/redactor-rails/langs/bg.js +67 -0
  54. data/vendor/assets/javascripts/redactor-rails/langs/by.js +65 -0
  55. data/vendor/assets/javascripts/redactor-rails/langs/cs.js +77 -0
  56. data/vendor/assets/javascripts/redactor-rails/langs/da.js +66 -0
  57. data/vendor/assets/javascripts/redactor-rails/langs/de.js +70 -0
  58. data/vendor/assets/javascripts/redactor-rails/langs/en.js +66 -0
  59. data/vendor/assets/javascripts/redactor-rails/langs/eo.js +66 -0
  60. data/vendor/assets/javascripts/redactor-rails/langs/es.js +66 -0
  61. data/vendor/assets/javascripts/redactor-rails/langs/fa.js +66 -0
  62. data/vendor/assets/javascripts/redactor-rails/langs/fi.js +69 -0
  63. data/vendor/assets/javascripts/redactor-rails/langs/fr.js +76 -0
  64. data/vendor/assets/javascripts/redactor-rails/langs/hr.js +69 -0
  65. data/vendor/assets/javascripts/redactor-rails/langs/hu.js +67 -0
  66. data/vendor/assets/javascripts/redactor-rails/langs/id.js +66 -0
  67. data/vendor/assets/javascripts/redactor-rails/langs/it.js +68 -0
  68. data/vendor/assets/javascripts/redactor-rails/langs/ja.js +66 -0
  69. data/vendor/assets/javascripts/redactor-rails/langs/ko.js +66 -0
  70. data/vendor/assets/javascripts/redactor-rails/langs/lv.js +65 -0
  71. data/vendor/assets/javascripts/redactor-rails/langs/nl.js +69 -0
  72. data/vendor/assets/javascripts/redactor-rails/langs/pl.js +66 -0
  73. data/vendor/assets/javascripts/redactor-rails/langs/pt_br.js +72 -0
  74. data/vendor/assets/javascripts/redactor-rails/langs/ro.js +66 -0
  75. data/vendor/assets/javascripts/redactor-rails/langs/ru.js +66 -0
  76. data/vendor/assets/javascripts/redactor-rails/langs/sk.js +66 -0
  77. data/vendor/assets/javascripts/redactor-rails/langs/sq.js +69 -0
  78. data/vendor/assets/javascripts/redactor-rails/langs/sr-cir.js +69 -0
  79. data/vendor/assets/javascripts/redactor-rails/langs/sr-lat.js +69 -0
  80. data/vendor/assets/javascripts/redactor-rails/langs/sv.js +66 -0
  81. data/vendor/assets/javascripts/redactor-rails/langs/tr.js +66 -0
  82. data/vendor/assets/javascripts/redactor-rails/langs/ua.js +67 -0
  83. data/vendor/assets/javascripts/redactor-rails/langs/vi.js +65 -0
  84. data/vendor/assets/javascripts/redactor-rails/langs/zh_cn.js +70 -0
  85. data/vendor/assets/javascripts/redactor-rails/langs/zh_tw.js +66 -0
  86. data/vendor/assets/javascripts/redactor-rails/redactor.js +6074 -0
  87. data/vendor/assets/stylesheets/redactor-rails/css/redactor-iframe.css +201 -0
  88. data/vendor/assets/stylesheets/redactor-rails/css/redactor.css +780 -0
  89. data/vendor/assets/stylesheets/redactor-rails/css/style.css +26 -0
  90. data/vendor/assets/stylesheets/redactor-rails/index.css +1 -0
  91. metadata +151 -70
  92. checksums.yaml +0 -15
@@ -0,0 +1,28 @@
1
+ require "redactor-rails"
2
+
3
+ class RedactorRails::DocumentsController < ApplicationController
4
+ before_filter :redactor_authenticate_user! if RedactorRails.document_model.new.respond_to?(RedactorRails.devise_user)
5
+
6
+ def index
7
+ @documents = RedactorRails.document_model.where(
8
+ RedactorRails.document_model.new.respond_to?(RedactorRails.devise_user) ? { RedactorRails.devise_user_key => redactor_current_user.id } : { })
9
+ render :json => @documents.to_json
10
+ end
11
+
12
+ def create
13
+ @document = RedactorRails.document_model.new
14
+
15
+ file = params[:file]
16
+ @document.data = RedactorRails::Http.normalize_param(file, request)
17
+ if @document.respond_to?(RedactorRails.devise_user)
18
+ @document.send("#{RedactorRails.devise_user}=", redactor_current_user)
19
+ @document.assetable = redactor_current_user
20
+ end
21
+
22
+ if @document.save
23
+ render :text => { :filelink => @document.url, :filename => @document.filename }.to_json
24
+ else
25
+ render :nothing => true
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,28 @@
1
+ require "redactor-rails"
2
+
3
+ class RedactorRails::PicturesController < ApplicationController
4
+ before_filter :redactor_authenticate_user! if RedactorRails.picture_model.new.respond_to?(RedactorRails.devise_user)
5
+
6
+ def index
7
+ @pictures = RedactorRails.picture_model.where(
8
+ RedactorRails.picture_model.new.respond_to?(RedactorRails.devise_user) ? { RedactorRails.devise_user_key => redactor_current_user.id } : { })
9
+ render :json => @pictures.to_json
10
+ end
11
+
12
+ def create
13
+ @picture = RedactorRails.picture_model.new
14
+
15
+ file = params[:file]
16
+ @picture.data = RedactorRails::Http.normalize_param(file, request)
17
+ if @picture.respond_to?(RedactorRails.devise_user)
18
+ @picture.send("#{RedactorRails.devise_user}=", redactor_current_user)
19
+ @picture.assetable = redactor_current_user
20
+ end
21
+
22
+ if @picture.save
23
+ render :text => { :filelink => @picture.url }.to_json
24
+ else
25
+ render :nothing => true
26
+ end
27
+ end
28
+ end
@@ -2,4 +2,8 @@ module SimpleContentManagement::SimplePagesHelper
2
2
  def render_page_by_name name
3
3
  SimpleContentManagement::SimplePage.where(name: name).first.try(:content_html).try(:html_safe)
4
4
  end
5
+
6
+ def render_page_by_path path
7
+ SimpleContentManagement::SimplePage.search(simple_routes_path_equals: path).first.try(:content_html).try(:html_safe)
8
+ end
5
9
  end
@@ -0,0 +1,5 @@
1
+ class RedactorRails::Asset < ActiveRecord::Base
2
+ include RedactorRails::Orm::ActiveRecord::AssetBase
3
+ delegate :url, :current_path, :size, :content_type, :filename, :to => :data
4
+ validates_presence_of :data
5
+ end
@@ -0,0 +1,11 @@
1
+ class RedactorRails::Document < RedactorRails::Asset
2
+ mount_uploader :data, RedactorRailsDocumentUploader, :mount_on => :data_file_name
3
+
4
+ def url_content
5
+ url(:content)
6
+ end
7
+
8
+ def as_json_methods
9
+ [:image]
10
+ end
11
+ end
@@ -0,0 +1,7 @@
1
+ class RedactorRails::Picture < RedactorRails::Asset
2
+ mount_uploader :data, RedactorRailsPictureUploader, :mount_on => :data_file_name
3
+
4
+ def url_content
5
+ url(:content)
6
+ end
7
+ end
@@ -38,7 +38,7 @@ class SimpleContentManagement::SimpleMenu
38
38
 
39
39
  def simple_menu_items_data= smis_data_string
40
40
  smis_data = JSON.parse smis_data_string
41
- existing_smis = simple_menu_items.to_a
41
+ existing_smis = SimpleContentManagement::SimpleMenuItem.where(simple_menu_id: id).all
42
42
  smis_data.each_with_index do |smi_data, position|
43
43
  smi_data["simple_menu_id"] = id
44
44
  smi_data["position"] = position
@@ -1,4 +1,6 @@
1
1
  class SimpleContentManagement::SimplePage < ActiveRecord::Base
2
+ include SimpleContentManagement::ContentText
3
+
2
4
  has_many :simple_routes, conditions: { deleted: false }, class_name: "SimpleContentManagement::SimpleRoute"
3
5
 
4
6
  attr_accessible :name, :title, :content_html, :simple_routes_list
@@ -39,6 +41,10 @@ class SimpleContentManagement::SimplePage < ActiveRecord::Base
39
41
  update_attribute :deleted, true
40
42
  end
41
43
 
44
+ def label
45
+ title
46
+ end
47
+
42
48
  class << self
43
49
  def registered_content_pages
44
50
  @registered_content_pages ||= YAML.load_file File.join Rails.root, "config", "content_pages.yml"
@@ -1,9 +1,54 @@
1
- <%= simple_form_for [:admin, @simple_page], url: @simple_page.new_record? ? simple_content_management_simple_pages_path : simple_content_management_simple_page_path(@simple_page) do |f| %>
1
+ <div data-iframe-style-path="<%= stylesheet_path "iframe.css" %>"></div>
2
+ <%= simple_form_for [:admin, @simple_page], url: @simple_page.new_record? ? simple_content_management_simple_pages_path : simple_content_management_simple_page_path(@simple_page), html: { class: "simple-page-form" } do |f| %>
2
3
  <%= f.input :simple_routes_list, input_html: { data: { simple_routes_list: true } }, wrapper_html: { class: "simple-routes-list" }, hint: "Voeg één of meerdere URL paden toe." %>
3
4
  <%= f.input :title, hint: "Wordt gebruikt als HTML titel." %>
4
- <%= f.input :content_html, input_html: { cols: 120, rows: 7, class: "input-xxlarge redactor" } %>
5
+ <%= f.input :content_html, as: :hidden %>
6
+
7
+ <div class="content-html-container">
8
+ <%== @simple_page.content_html %>
9
+ </div>
5
10
 
6
11
  <div class="form-actions">
7
12
  <%= f.button :submit %>
8
13
  </div>
9
- <% end %>
14
+ <% end %>
15
+
16
+ <div id="content-editor" class="modal hide" role="dialog" aria-labelledby="content-editor-label" aria-hidden="true">
17
+ <div class="modal-header">
18
+ <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
19
+ <h3 id="content-editor-label">Inhoud bewerken</h3>
20
+ <ul class="nav nav-tabs">
21
+ <li class="active"><a href="#editor-html-content" data-toggle="tab">Tekst</a></li>
22
+ <li><a href="#editor-container" data-toggle="tab">Container</a></li>
23
+ <li><a href="#editor-bloc-component" data-toggle="tab">Linkbanner</a></li>
24
+ </ul>
25
+ </div>
26
+ <div class="modal-body">
27
+ <div class="tab-content">
28
+ <div class="tab-pane active" id="editor-html-content">
29
+ <textarea cols=140 rows=12></textarea>
30
+ </div>
31
+ <div class="tab-pane" id="editor-container">
32
+ <h2>Converteer dit blok naar een container</h2>
33
+ <p class=lead>
34
+ Dit blok wordt dan omsloten door een nieuwe container waaraan kolommen en regels toegevoegd kunnen worden.
35
+ </p>
36
+ <p>
37
+ Klik op toepassen om dit blok te converteren. Er zal geen informatie verloren gaan, maar deze actie kan niet ongedaan worden.
38
+ </p>
39
+ </div>
40
+ <div class="tab-pane" id="editor-bloc-component">
41
+ <h2>Linkbanner</h2>
42
+ Hier komen nog invulvelden voor:<br>
43
+ - afbeelding<br>
44
+ - koptekst regel 1 &amp; 2<br>
45
+ - link
46
+ - formaat (groot, 9 kolommen of klein, 3 kolommen)
47
+ </div>
48
+ </div>
49
+ </div>
50
+ <div class="modal-footer">
51
+ <button class="btn" data-dismiss="modal" aria-hidden="true">Annuleren</button>
52
+ <button class="btn btn-primary" data-save-button>Toepassen</button>
53
+ </div>
54
+ </div>
@@ -1,4 +1,8 @@
1
1
  Rails.application.routes.draw do
2
+ namespace :redactor_rails, path: "redactor_rails" do
3
+ resources :pictures, :only => [:index, :create]
4
+ resources :documents, :only => [:index, :create]
5
+ end
2
6
  namespace :simple_content_management, path: "admin" do
3
7
  resources :simple_content_pages
4
8
  resources :simple_pages
@@ -0,0 +1,18 @@
1
+ require 'rails/generators'
2
+ module Redactor
3
+ module Generators
4
+ class ConfigGenerator < ::Rails::Generators::Base
5
+ desc "Generates redactor-rails config"
6
+
7
+ def self.source_root
8
+ @source_root ||= File.expand_path(File.join(File.dirname(__FILE__), 'templates'))
9
+ end
10
+
11
+
12
+ def create_config
13
+ template "config.js",
14
+ File.join('app/assets/javascripts/redactor-rails', "config.js")
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,75 @@
1
+ require 'rails/generators'
2
+ require 'rails/generators/migration'
3
+ module Redactor
4
+ module Generators
5
+ class InstallGenerator < ::Rails::Generators::Base
6
+ include ::Rails::Generators::Migration
7
+ desc "Generates migration for Tag and Tagging models"
8
+
9
+ class_option :orm, :type => :string, :default => "active_record",
10
+ :desc => "Backend processor for upload support"
11
+
12
+ class_option :backend, :type => :string, :default => 'carrierwave',
13
+ :desc => "carrierwave(default)"
14
+
15
+ def self.source_root
16
+ @source_root ||= File.expand_path(File.join(File.dirname(__FILE__), 'templates'))
17
+ end
18
+
19
+ def self.next_migration_number(dirname)
20
+ Time.now.strftime("%Y%m%d%H%M%S")
21
+ end
22
+
23
+ def mount_engine
24
+ route "mount RedactorRails::Engine => '/redactor_rails'"
25
+ end
26
+
27
+ def create_models
28
+ [:asset, :picture, :document].each do |filename|
29
+ template "#{generator_dir}/redactor/#{filename}.rb",
30
+ File.join('app/models', redactor_dir, "#{filename}.rb")
31
+ end
32
+
33
+ if backend == "carrierwave"
34
+ [:picture, :document].each do |filename|
35
+ template "#{uploaders_dir}/uploaders/redactor_rails_#{filename}_uploader.rb",
36
+ File.join("app/uploaders", "redactor_rails_#{filename}_uploader.rb")
37
+ end
38
+ end
39
+ end
40
+
41
+ def create_migration
42
+ if orm.to_s == "active_record"
43
+ if ARGV.include?('--devise')
44
+ migration_template "#{generator_dir}/devise_migration.rb", File.join('db/migrate', "create_redactor_assets.rb")
45
+ else
46
+ migration_template "#{generator_dir}/migration.rb", File.join('db/migrate', "create_redactor_assets.rb")
47
+ end
48
+ end
49
+ end
50
+
51
+ protected
52
+
53
+ def redactor_dir
54
+ 'redactor_rails'
55
+ end
56
+
57
+ def generator_dir
58
+ @generator_dir ||= [orm, backend].join('/')
59
+ end
60
+
61
+ def uploaders_dir
62
+ @uploaders_dir ||= ['base', 'carrierwave'].join('/')
63
+ end
64
+
65
+ def orm
66
+ options[:orm] || "active_record"
67
+ end
68
+
69
+ def backend
70
+ options[:backend] || "carrierwave"
71
+ end
72
+
73
+ end
74
+ end
75
+ end
@@ -0,0 +1,30 @@
1
+ class CreateRedactorAssets < ActiveRecord::Migration
2
+ def self.up
3
+ create_table :redactor_assets do |t|
4
+ t.integer :user_id
5
+ t.string :data_file_name, :null => false
6
+ t.string :data_content_type
7
+ t.integer :data_file_size
8
+
9
+ t.integer :assetable_id
10
+ t.string :assetable_type, :limit => 30
11
+ t.string :type, :limit => 30
12
+
13
+ # Uncomment it to save images dimensions, if your need it
14
+ t.integer :width
15
+ t.integer :height
16
+
17
+ t.timestamps
18
+ end
19
+
20
+ # Uncomment it to add foreign key. gem 'foreigner' is required in your .Gemfile
21
+ # add_foreign_key(:redactor_assets, :users, dependent: :delete)
22
+ add_index "redactor_assets", ["assetable_type", "type", "assetable_id"], :name => "idx_redactor_assetable_type"
23
+ add_index "redactor_assets", ["assetable_type", "assetable_id"], :name => "idx_redactor_assetable"
24
+ end
25
+
26
+ def self.down
27
+ drop_table :redactor_assets
28
+ end
29
+ end
30
+
@@ -0,0 +1,30 @@
1
+ class CreateRedactorAssets < ActiveRecord::Migration
2
+ def self.up
3
+ create_table :redactor_assets do |t|
4
+ t.integer :user_id
5
+ t.string :data_file_name, :null => false
6
+ t.string :data_content_type
7
+ t.integer :data_file_size
8
+
9
+ t.integer :assetable_id
10
+ t.string :assetable_type, :limit => 30
11
+ t.string :type, :limit => 30
12
+
13
+ # Uncomment it to save images dimensions, if your need it
14
+ t.integer :width
15
+ t.integer :height
16
+
17
+ t.timestamps
18
+ end
19
+
20
+ # Uncomment it to add foreign key. gem 'foreigner' is required in your .Gemfile
21
+ # add_foreign_key(:redactor_assets, :users, dependent: :delete)
22
+ add_index "redactor_assets", ["assetable_type", "type", "assetable_id"], :name => "idx_redactor_assetable_type"
23
+ add_index "redactor_assets", ["assetable_type", "assetable_id"], :name => "idx_redactor_assetable"
24
+ end
25
+
26
+ def self.down
27
+ drop_table :redactor_assets
28
+ end
29
+ end
30
+
@@ -0,0 +1,5 @@
1
+ class RedactorRails::Asset < ActiveRecord::Base
2
+ include RedactorRails::Orm::ActiveRecord::AssetBase
3
+ delegate :url, :current_path, :size, :content_type, :filename, :to => :data
4
+ validates_presence_of :data
5
+ end
@@ -0,0 +1,11 @@
1
+ class RedactorRails::Document < RedactorRails::Asset
2
+ mount_uploader :data, RedactorRailsDocumentUploader, :mount_on => :data_file_name
3
+
4
+ def url_content
5
+ url(:content)
6
+ end
7
+
8
+ def as_json_methods
9
+ [:image]
10
+ end
11
+ end
@@ -0,0 +1,7 @@
1
+ class RedactorRails::Picture < RedactorRails::Asset
2
+ mount_uploader :data, RedactorRailsPictureUploader, :mount_on => :data_file_name
3
+
4
+ def url_content
5
+ url(:content)
6
+ end
7
+ end
@@ -0,0 +1,15 @@
1
+ # encoding: utf-8
2
+ class RedactorRailsDocumentUploader < CarrierWave::Uploader::Base
3
+ include RedactorRails::Backend::CarrierWave
4
+
5
+ # storage :fog
6
+ storage :file
7
+
8
+ def store_dir
9
+ "system/redactor_assets/documents/#{model.id}"
10
+ end
11
+
12
+ def extension_white_list
13
+ RedactorRails.document_file_types
14
+ end
15
+ end
@@ -0,0 +1,53 @@
1
+ # encoding: utf-8
2
+ class RedactorRailsPictureUploader < CarrierWave::Uploader::Base
3
+ include RedactorRails::Backend::CarrierWave
4
+
5
+ # Include RMagick or ImageScience support:
6
+ # include CarrierWave::RMagick
7
+ include CarrierWave::MiniMagick
8
+ # include CarrierWave::ImageScience
9
+
10
+ # Choose what kind of storage to use for this uploader:
11
+ storage :file
12
+
13
+ # Override the directory where uploaded files will be stored.
14
+ # This is a sensible default for uploaders that are meant to be mounted:
15
+ def store_dir
16
+ "system/redactor_assets/pictures/#{model.id}"
17
+ end
18
+
19
+ # Provide a default URL as a default if there hasn't been a file uploaded:
20
+ # def default_url
21
+ # "/images/fallback/" + [version_name, "default.png"].compact.join('_')
22
+ # end
23
+
24
+ # Process files as they are uploaded:
25
+ # process :scale => [200, 300]
26
+ #
27
+ # def scale(width, height)
28
+ # # do something
29
+ # end
30
+
31
+ process :read_dimensions
32
+
33
+ # Create different versions of your uploaded files:
34
+ version :thumb do
35
+ process :resize_to_fill => [118, 100]
36
+ end
37
+
38
+ version :content do
39
+ process :resize_to_limit => [800, 800]
40
+ end
41
+
42
+ # Add a white list of extensions which are allowed to be uploaded.
43
+ # For images you might use something like this:
44
+ def extension_white_list
45
+ RedactorRails.image_file_types
46
+ end
47
+
48
+ # Override the filename of the uploaded files:
49
+ # Avoid using model.id or version_name here, see uploader/store.rb for details.
50
+ # def filename
51
+ # "something.jpg" if original_filename
52
+ # end
53
+ end