scribble_cms 0.82 → 0.88
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/javascripts/ext/jquery.tinymce.min.js +1 -0
- data/app/assets/javascripts/ext/tinymce.min.js +20676 -14
- data/app/assets/javascripts/scribbler.js +31 -5
- data/app/assets/stylesheets/ext/tinymce.content.min.css +1 -1
- data/app/helpers/scribbler_admin_helper.rb +11 -7
- data/app/helpers/scribbler_content_helper.rb +4 -0
- data/app/models/scribbler_container.rb +0 -1
- data/app/models/scribbler_group.rb +1 -1
- data/app/views/scribbler_admin/_scribbler_assets.html.erb +7 -0
- data/app/views/scribbler_admin/_scribbler_layout.html.erb +3 -1
- data/app/views/scribbler_admin/group_edit.html.erb +0 -5
- data/lib/scribble_cms/engine.rb +9 -8
- data/lib/scribble_cms.rb +9 -0
- metadata +12 -10
@@ -1,12 +1,38 @@
|
|
1
1
|
// Place all the behaviors and hooks related to the matching controller here.
|
2
2
|
// All this logic will automatically be available in application.js.
|
3
|
-
|
4
|
-
|
3
|
+
|
4
|
+
window.initScribblerTinyMce = function(){
|
5
|
+
tinymce.remove("textarea")
|
6
|
+
$('textarea').not('.plain').not(".mini-editor").tinymce({
|
5
7
|
mode: 'textareas',
|
6
8
|
theme: 'modern',
|
7
9
|
plugins: "autolink code colorpicker hr image link lists paste table textcolor",
|
8
10
|
menubar: '',
|
9
|
-
toolbar: "undo redo | styleselect | bold italic | link unlink image | alignleft aligncenter alignright | bullist numlist table | textcolor | code",
|
10
|
-
valid_elements : '*[*]'
|
11
|
-
|
11
|
+
toolbar: "undo redo | styleselect | bold italic | link unlink image | alignleft aligncenter alignright | bullist numlist table | textcolor fontsizeselect | code",
|
12
|
+
valid_elements : '*[*]',
|
13
|
+
elementpath: false,
|
14
|
+
statusbar: true,
|
15
|
+
fontsize_formats: "8px 10px 12px 14px 16px 18px 24pt 36px 48px",
|
16
|
+
convert_urls: false
|
17
|
+
});
|
18
|
+
|
19
|
+
$('textarea.mini-editor').tinymce({
|
20
|
+
mode: 'textareas',
|
21
|
+
theme: 'modern',
|
22
|
+
plugins: "autolink link lists paste textcolor",
|
23
|
+
menubar: '',
|
24
|
+
toolbar: "bold italic | link unlink | bullist numlist | code",
|
25
|
+
valid_elements : '*[*]',
|
26
|
+
elementpath: false,
|
27
|
+
statusbar: true,
|
28
|
+
fontsize_formats: "8px 10px 12px 14px 16px 18px 24pt 36px 48px"
|
29
|
+
});
|
30
|
+
}
|
31
|
+
|
32
|
+
$(document).ready(function() {
|
33
|
+
window.initScribblerTinyMce()
|
34
|
+
});
|
35
|
+
|
36
|
+
$(document).ajaxComplete(function() {
|
37
|
+
window.initScribblerTinyMce()
|
12
38
|
});
|
@@ -1 +1 @@
|
|
1
|
-
body{background-color:#FFFFFF;color:#000000;font-
|
1
|
+
body{background-color:#FFFFFF;color:#000000;font-size:14px;scrollbar-3dlight-color:#F0F0EE;scrollbar-arrow-color:#676662;scrollbar-base-color:#F0F0EE;scrollbar-darkshadow-color:#DDDDDD;scrollbar-face-color:#E0E0DD;scrollbar-highlight-color:#F0F0EE;scrollbar-shadow-color:#F0F0EE;scrollbar-track-color:#F5F5F5}td,th{font-size:14px}.mce-content-body .mce-reset{margin:0;padding:0;border:0;outline:0;vertical-align:top;background:transparent;text-decoration:none;color:black;font-family:Arial;font-size:11px;text-shadow:none;float:none;position:static;width:auto;height:auto;white-space:nowrap;cursor:inherit;line-height:normal;font-weight:normal;text-align:left;-webkit-tap-highlight-color:transparent;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box;direction:ltr;max-width:none}.mce-object{border:1px dotted #3A3A3A;background:#D5D5D5 url(img/object.gif) no-repeat center}.mce-preview-object{display:inline-block;position:relative;margin:0 2px 0 2px;line-height:0;border:1px solid gray}.mce-preview-object[data-mce-selected="2"] .mce-shim{display:none}.mce-preview-object .mce-shim{position:absolute;top:0;left:0;width:100%;height:100%;background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)}figure.align-left{float:left}figure.align-right{float:right}figure.image.align-center{display:table;margin-left:auto;margin-right:auto}figure.image{display:inline-block;border:1px solid gray;margin:0 2px 0 1px;background:#f5f2f0}figure.image img{margin:8px 8px 0 8px}figure.image figcaption{margin:6px 8px 6px 8px;text-align:center}.mce-toc{border:1px solid gray}.mce-toc h2{margin:4px}.mce-toc li{list-style-type:none}.mce-pagebreak{cursor:default;display:block;border:0;width:100%;height:5px;border:1px dashed #666;margin-top:15px;page-break-before:always}@media print{.mce-pagebreak{border:0}}.mce-item-anchor{cursor:default;display:inline-block;-webkit-user-select:all;-webkit-user-modify:read-only;-moz-user-select:all;-moz-user-modify:read-only;user-select:all;user-modify:read-only;width:9px !important;height:9px !important;border:1px dotted #3A3A3A;background:#D5D5D5 url(img/anchor.gif) no-repeat center}.mce-nbsp,.mce-shy{background:#AAA}.mce-shy::after{content:'-'}hr{cursor:default}.mce-match-marker{background:#AAA;color:#fff}.mce-match-marker-selected{background:#3399ff;color:#fff}.mce-spellchecker-word{border-bottom:2px solid #F00;cursor:default}.mce-spellchecker-grammar{border-bottom:2px solid #008000;cursor:default}.mce-item-table,.mce-item-table td,.mce-item-table th,.mce-item-table caption{border:1px dashed #BBB}td[data-mce-selected],th[data-mce-selected]{background-color:#3399ff !important}.mce-edit-focus{outline:1px dotted #333}.mce-content-body *[contentEditable=false] *[contentEditable=true]:focus{outline:2px solid #2d8ac7}.mce-content-body *[contentEditable=false] *[contentEditable=true]:hover{outline:2px solid #7ACAFF}.mce-content-body *[contentEditable=false][data-mce-selected]{outline:2px solid #2d8ac7}.mce-resize-bar-dragging{background-color:blue;opacity:.25;filter:alpha(opacity=25);zoom:1}
|
@@ -1,13 +1,17 @@
|
|
1
1
|
module ScribblerAdminHelper
|
2
|
-
|
2
|
+
|
3
3
|
# Form
|
4
4
|
def scribbler_form_element(element,form)
|
5
|
-
render :partial => "/scribbler_content/forms/#{element.element_type}", :locals => {:element => element, :f => form}
|
6
|
-
end
|
7
|
-
|
8
|
-
|
5
|
+
render :partial => "/scribbler_content/forms/#{element.element_type}", :locals => {:element => element, :f => form}
|
6
|
+
end
|
7
|
+
|
8
|
+
|
9
9
|
def scribbler_layout(&block)
|
10
10
|
render :partial => "/scribbler_admin/scribbler_layout", :locals => {:content => capture(&block)}
|
11
|
-
end
|
12
|
-
|
11
|
+
end
|
12
|
+
|
13
|
+
def scribbler_assets
|
14
|
+
render 'scribbler_admin/scribbler_assets'
|
15
|
+
end
|
16
|
+
|
13
17
|
end
|
@@ -20,6 +20,10 @@ module ScribblerContentHelper
|
|
20
20
|
if block_given?
|
21
21
|
options[:default] = capture(&block).html_safe.strip.force_encoding("UTF-8")
|
22
22
|
end
|
23
|
+
|
24
|
+
if options[:i18n]
|
25
|
+
group = "#{group}-#{I18n.locale}"
|
26
|
+
end
|
23
27
|
|
24
28
|
scribbler_group(container.to_s, group.to_s) do |g|
|
25
29
|
v = g.send(type.to_s, name.to_s, options)
|
@@ -3,7 +3,6 @@ class ScribblerContainer < ActiveRecord::Base
|
|
3
3
|
#= Configuration
|
4
4
|
#== Associations
|
5
5
|
has_many :groups, :class_name => "::ScribblerGroup", :foreign_key => "container_id"
|
6
|
-
belongs_to :element, :class_name => "Alchemy::Element", :foreign_key => "element_id"
|
7
6
|
#== Plugins and modules
|
8
7
|
#=== PlugIns
|
9
8
|
# => Stuff in Here
|
@@ -143,7 +143,7 @@ class ScribblerGroup < ActiveRecord::Base
|
|
143
143
|
|
144
144
|
def process_data!(data)
|
145
145
|
data.each do |key, content|
|
146
|
-
content.symbolize_keys!
|
146
|
+
content.to_hash.symbolize_keys!
|
147
147
|
e_id = content.delete(:id)
|
148
148
|
e_type = content.delete(:type)
|
149
149
|
e_rel = content.delete(:release)
|
@@ -1,3 +1,5 @@
|
|
1
|
+
<%= scribbler_assets %>
|
2
|
+
|
1
3
|
<div id="scribbler-admin-area" class="cf">
|
2
4
|
<% if @containers.empty? %>
|
3
5
|
<span class="metainfo">Es liegen keine Inhalte vor, die bearbeitet werden können</span>
|
@@ -6,5 +8,5 @@
|
|
6
8
|
<%= render :partial => "/scribbler_admin/scribbler_sidebar" unless request.xhr? %>
|
7
9
|
</div>
|
8
10
|
<div id="scribbler-edit-area"><%= content %></div>
|
9
|
-
<% end %>
|
11
|
+
<% end %>
|
10
12
|
</div>
|
data/lib/scribble_cms/engine.rb
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
module Scribbler
|
2
2
|
class Engine < Rails::Engine
|
3
3
|
|
4
|
+
|
5
|
+
|
4
6
|
engine_name 'scribbler'
|
5
7
|
|
6
8
|
initializer "dragonfly.scribbler" do
|
@@ -14,20 +16,19 @@ module Scribbler
|
|
14
16
|
end
|
15
17
|
end
|
16
18
|
|
17
|
-
if defined?(ActiveAdmin)
|
18
|
-
initializer 'activeadmin.tinymce', :group => :all do |app|
|
19
|
-
js = ['ext/tinymce.min.js', 'scribbler.js']
|
20
|
-
css = ['ext/tinymce.skin.css', 'ext/tinymce.content.min.css']
|
21
19
|
|
22
|
-
|
23
|
-
|
20
|
+
initializer 'activeadmin.tinymce', :group => :all do |app|
|
21
|
+
|
22
|
+
app.config.assets.precompile += ScribbleCms.js_files
|
23
|
+
app.config.assets.precompile += ScribbleCms.css_files
|
24
24
|
|
25
|
+
if defined?(ActiveAdmin)
|
25
26
|
ActiveAdmin.application.tap do |config|
|
26
|
-
|
27
|
+
ScribbleCms.js_files.each do |j|
|
27
28
|
config.register_javascript j
|
28
29
|
end
|
29
30
|
|
30
|
-
|
31
|
+
ScribbleCms.css_files.each do |s|
|
31
32
|
config.register_stylesheet s
|
32
33
|
end
|
33
34
|
end
|
data/lib/scribble_cms.rb
CHANGED
@@ -10,6 +10,15 @@ module ScribbleCms
|
|
10
10
|
|
11
11
|
self.tiny_mce_css = "default_tinymce"
|
12
12
|
self.tiny_mce_js = "Alchemy.Tinymce.initAll();"
|
13
|
+
|
14
|
+
def self.js_files
|
15
|
+
['ext/tinymce.min.js', 'ext/jquery.tinymce.min.js', 'scribbler.js']
|
16
|
+
end
|
17
|
+
|
18
|
+
def self.css_files
|
19
|
+
['ext/tinymce.skin.css', 'ext/tinymce.content.min.css']
|
20
|
+
end
|
21
|
+
|
13
22
|
end
|
14
23
|
|
15
24
|
ActionController::Base.send(:include, ScribbleCms::ScribblerControllerPlugin)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: scribble_cms
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: '0.
|
4
|
+
version: '0.88'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Florian Eck
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-10-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: friendly_extensions
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.2.
|
19
|
+
version: 0.2.6
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 0.2.
|
26
|
+
version: 0.2.6
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: dragonfly
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -42,16 +42,16 @@ dependencies:
|
|
42
42
|
name: smart_search
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - "
|
45
|
+
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: 0
|
47
|
+
version: '0'
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - "
|
52
|
+
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: 0
|
54
|
+
version: '0'
|
55
55
|
description: Easy-to-use tool for placing user-editable content in your pages
|
56
56
|
email:
|
57
57
|
- florian.eck@el-digital.de
|
@@ -70,6 +70,7 @@ files:
|
|
70
70
|
- app/assets/fonts/tinymce.ttf
|
71
71
|
- app/assets/fonts/tinymce.woff
|
72
72
|
- app/assets/javascripts/ext/jquery.Jcrop.min.js
|
73
|
+
- app/assets/javascripts/ext/jquery.tinymce.min.js
|
73
74
|
- app/assets/javascripts/ext/tinymce.min.js
|
74
75
|
- app/assets/javascripts/scribbler.js
|
75
76
|
- app/assets/stylesheets/ext/jquery.Jcrop.css
|
@@ -87,6 +88,7 @@ files:
|
|
87
88
|
- app/models/scribbler_text.rb
|
88
89
|
- app/models/scribbler_var.rb
|
89
90
|
- app/views/admin/_scribbler_group_form.html.erb
|
91
|
+
- app/views/scribbler_admin/_scribbler_assets.html.erb
|
90
92
|
- app/views/scribbler_admin/_scribbler_layout.html.erb
|
91
93
|
- app/views/scribbler_admin/_scribbler_sidebar.html.erb
|
92
94
|
- app/views/scribbler_admin/container_edit.html.erb
|
@@ -128,8 +130,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
128
130
|
version: '0'
|
129
131
|
requirements: []
|
130
132
|
rubyforge_project:
|
131
|
-
rubygems_version: 2.6.
|
133
|
+
rubygems_version: 2.6.12
|
132
134
|
signing_key:
|
133
135
|
specification_version: 4
|
134
|
-
summary:
|
136
|
+
summary: Eay-to-use tool for placing user-editable content in your pages
|
135
137
|
test_files: []
|