morrigan_editor_rails 0.0.12 → 0.0.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +69 -1
- data/app/assets/javascripts/morrigan_editor_rails/morrigan-jquery-editor.js +35 -2
- data/app/assets/stylesheets/morrigan_editor_rails/iframe.css +1 -1
- data/lib/morrigan_editor_rails/version.rb +1 -1
- data/test/dummy/log/development.log +48 -0
- metadata +2 -4
- data/test/dummy/tmp/pids/server.pid +0 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 45b15d3ca9d70fbce311f65c661b4e99b33216d8
|
4
|
+
data.tar.gz: c2d8ddebccdb8183f61f27037b8a8dd6e866aa11
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 632c57ed9043d8ca283042eb1c0732f7011bc1e412349ea88c014e232b86a5883d5c21ffaf6cc9c7a20f7d0ec2a555df282050b3ff1f738105152fb96170f4f1
|
7
|
+
data.tar.gz: 222dea1317b95f43f5f0c301bf99d3f8d54bc24f87374740ad24ef75b3a92c6f08ec60279e14bbab28d3a7340a56a60d22e4cbe07128cd6854e0b465a07eb940
|
data/README.md
CHANGED
@@ -1,3 +1,71 @@
|
|
1
1
|
# Morrigan Editor for Ruby on Rails
|
2
2
|
|
3
|
-
|
3
|
+
## Installation
|
4
|
+
1. Add it to your `Gemfile`:
|
5
|
+
|
6
|
+
```ruby
|
7
|
+
gem 'morrigan_editor_rails'
|
8
|
+
```
|
9
|
+
2. Add to `routes.rb`:
|
10
|
+
|
11
|
+
```ruby
|
12
|
+
mount MorriganEditorRails::Engine => "/morrigan_editor_rails"
|
13
|
+
```
|
14
|
+
3. Create table for editor's uploaded images:
|
15
|
+
|
16
|
+
```bash
|
17
|
+
rake morrigan_editor_rails:install:migrations
|
18
|
+
rake db:migrate
|
19
|
+
```
|
20
|
+
4. Add to `application.js`:
|
21
|
+
|
22
|
+
```ruby
|
23
|
+
//= require 'morrigan_editor_rails/application'
|
24
|
+
```
|
25
|
+
5. Add to 'application.css':
|
26
|
+
|
27
|
+
```ruby
|
28
|
+
*= require 'morrigan_editor_rails/application.css'
|
29
|
+
```
|
30
|
+
|
31
|
+
## Usage
|
32
|
+
Add to your HTML:
|
33
|
+
```html
|
34
|
+
<div morrigan-editor="true" id="editor" editor-width="100%" editor-height="300px" editor-bound-textarea="#textarea"></div>
|
35
|
+
```
|
36
|
+
where `editor-bound-textarea` attribute is contains of selector of bound textarea (generated in editor html code will be passed in this textarea before form submit).
|
37
|
+
|
38
|
+
## Custom stylesheet
|
39
|
+
To add custom stylesheet to editor:
|
40
|
+
|
41
|
+
1. Add initializer `morrigan_editor.rb` with next code:
|
42
|
+
|
43
|
+
```ruby
|
44
|
+
module MorriganEditorRails
|
45
|
+
class Engine < Rails::Engine
|
46
|
+
config.iframe_css_file_name = 'your_file_name.css'
|
47
|
+
end
|
48
|
+
end
|
49
|
+
```
|
50
|
+
2. Add initializer `assets.rb` with next code (or add next code to this file if it is exists):
|
51
|
+
|
52
|
+
```ruby
|
53
|
+
Rails.application.config.assets.precompile += %w( your_file_name.css )
|
54
|
+
```
|
55
|
+
|
56
|
+
## Custom uploader
|
57
|
+
You can use your uploader by put it in initializers with `MorriganEditorImageUploader` class name:
|
58
|
+
|
59
|
+
```ruby
|
60
|
+
class MorriganEditorImageUploader < CarrierWave::Uploader::Base
|
61
|
+
# your code here
|
62
|
+
end
|
63
|
+
```
|
64
|
+
|
65
|
+
## Sanitization
|
66
|
+
```ruby
|
67
|
+
MorriganEditorRails::Editor.sanitize(html)
|
68
|
+
```
|
69
|
+
|
70
|
+
## License
|
71
|
+
© 2014 Sergey Sokolov. It is free software, and may be redistributed under the terms specified in the MIT-LICENSE file.
|
@@ -10,7 +10,7 @@ $.widget( "morrigan.morrigan_editor", {
|
|
10
10
|
spellCheck: true,
|
11
11
|
toolbox: [
|
12
12
|
[
|
13
|
-
['format'],
|
13
|
+
['format', 'clearFormat'],
|
14
14
|
['bold', 'italy', 'strike'],
|
15
15
|
['img', 'video'],
|
16
16
|
['alignLeft', 'alignCenter', 'alignRight'],
|
@@ -56,6 +56,40 @@ $.widget( "morrigan.morrigan_editor", {
|
|
56
56
|
_options: {},
|
57
57
|
|
58
58
|
_actions: {
|
59
|
+
clearFormat: {
|
60
|
+
name: 'clearFormat',
|
61
|
+
view: {
|
62
|
+
activeBackground: '#aaa',
|
63
|
+
inactiveBackground: '#eee',
|
64
|
+
title: 'Clear format',
|
65
|
+
classes: 'fa fa-times'
|
66
|
+
},
|
67
|
+
onClickHandler: function (editor, action) {
|
68
|
+
var normalizeBlocks = function (element) {
|
69
|
+
if (element.nodeName == 'UL' || element.nodeName == 'OL') {
|
70
|
+
removeInlineStyles(element);
|
71
|
+
} else {
|
72
|
+
var text = $(element).text();
|
73
|
+
$(element).replaceWith('<p>' + text + '</p>');
|
74
|
+
}
|
75
|
+
};
|
76
|
+
var removeInlineStyles = function (element) {
|
77
|
+
$(element).removeAttr('style');
|
78
|
+
$(element).children().each(function() {
|
79
|
+
removeInlineStyles(this);
|
80
|
+
});
|
81
|
+
};
|
82
|
+
var cSelection = editor._selectionManager.getCustomSelection();
|
83
|
+
var isCaret = editor._selectionManager.isCaret(cSelection);
|
84
|
+
var topElements = editor._selectionManager.getTopSelectedElements(cSelection, isCaret);
|
85
|
+
var topElementsWithoutBlocks = $(topElements).filter(function () {
|
86
|
+
return !$(this).hasClass('mrge-content-block');
|
87
|
+
});
|
88
|
+
topElementsWithoutBlocks.each(function () {
|
89
|
+
normalizeBlocks(this);
|
90
|
+
});
|
91
|
+
}
|
92
|
+
},
|
59
93
|
video: {
|
60
94
|
name: 'video',
|
61
95
|
view: {
|
@@ -1447,5 +1481,4 @@ $.widget( "morrigan.morrigan_editor", {
|
|
1447
1481
|
return contentClone.html();
|
1448
1482
|
}
|
1449
1483
|
}
|
1450
|
-
|
1451
1484
|
});
|
@@ -12279,3 +12279,51 @@ Started GET "/assets/editor_iframe.css" for 127.0.0.1 at 2014-08-18 13:33:50 +04
|
|
12279
12279
|
|
12280
12280
|
|
12281
12281
|
Started GET "/assets/fontawesome-webfont.woff" for 127.0.0.1 at 2014-08-18 13:33:50 +0400
|
12282
|
+
|
12283
|
+
|
12284
|
+
Started GET "/" for 127.0.0.1 at 2014-12-21 14:22:26 +0400
|
12285
|
+
Processing by TestController#index as HTML
|
12286
|
+
Rendered test/index.html.erb within layouts/application (1.8ms)
|
12287
|
+
Completed 200 OK in 6ms (Views: 6.2ms | ActiveRecord: 0.0ms)
|
12288
|
+
|
12289
|
+
|
12290
|
+
Started GET "/assets/editor_iframe.css?body=1" for 127.0.0.1 at 2014-12-21 14:22:26 +0400
|
12291
|
+
|
12292
|
+
|
12293
|
+
Started GET "/assets/morrigan_editor_rails/morrigan-jquery-editor.css?body=1" for 127.0.0.1 at 2014-12-21 14:22:26 +0400
|
12294
|
+
|
12295
|
+
|
12296
|
+
Started GET "/assets/font-awesome.css?body=1" for 127.0.0.1 at 2014-12-21 14:22:26 +0400
|
12297
|
+
|
12298
|
+
|
12299
|
+
Started GET "/assets/morrigan_editor_rails/application.css?body=1" for 127.0.0.1 at 2014-12-21 14:22:26 +0400
|
12300
|
+
|
12301
|
+
|
12302
|
+
Started GET "/assets/application.css?body=1" for 127.0.0.1 at 2014-12-21 14:22:26 +0400
|
12303
|
+
|
12304
|
+
|
12305
|
+
Started GET "/assets/jquery.js?body=1" for 127.0.0.1 at 2014-12-21 14:22:26 +0400
|
12306
|
+
|
12307
|
+
|
12308
|
+
Started GET "/assets/jquery-ui/core.js?body=1" for 127.0.0.1 at 2014-12-21 14:22:26 +0400
|
12309
|
+
|
12310
|
+
|
12311
|
+
Started GET "/assets/jquery-ui/widget.js?body=1" for 127.0.0.1 at 2014-12-21 14:22:26 +0400
|
12312
|
+
|
12313
|
+
|
12314
|
+
Started GET "/assets/morrigan_editor_rails/main.js?body=1" for 127.0.0.1 at 2014-12-21 14:22:26 +0400
|
12315
|
+
|
12316
|
+
|
12317
|
+
Started GET "/assets/morrigan_editor_rails/morrigan-jquery-editor.js?body=1" for 127.0.0.1 at 2014-12-21 14:22:26 +0400
|
12318
|
+
|
12319
|
+
|
12320
|
+
Started GET "/assets/morrigan_editor_rails/application.js?body=1" for 127.0.0.1 at 2014-12-21 14:22:26 +0400
|
12321
|
+
|
12322
|
+
|
12323
|
+
Started GET "/assets/application.js?body=1" for 127.0.0.1 at 2014-12-21 14:22:26 +0400
|
12324
|
+
|
12325
|
+
|
12326
|
+
Started GET "/assets/editor_iframe.css" for 127.0.0.1 at 2014-12-21 14:22:27 +0400
|
12327
|
+
|
12328
|
+
|
12329
|
+
Started GET "/assets/fontawesome-webfont.woff" for 127.0.0.1 at 2014-12-21 14:22:27 +0400
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: morrigan_editor_rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.13
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sergey Sokolov
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-12-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -199,7 +199,6 @@ files:
|
|
199
199
|
- test/dummy/public/uploads/morrigan_editor_rails/editor_image/image/4/22129_b.jpeg
|
200
200
|
- test/dummy/public/uploads/morrigan_editor_rails/editor_image/image/5/22129_b.jpeg
|
201
201
|
- test/dummy/public/uploads/morrigan_editor_rails/editor_image/image/6/22129_b.jpeg
|
202
|
-
- test/dummy/tmp/pids/server.pid
|
203
202
|
- test/integration/navigation_test.rb
|
204
203
|
- test/morrigan_editor_rails_test.rb
|
205
204
|
- test/test_helper.rb
|
@@ -258,7 +257,6 @@ test_files:
|
|
258
257
|
- test/dummy/public/uploads/morrigan_editor_rails/editor_image/image/4/22129_b.jpeg
|
259
258
|
- test/dummy/public/500.html
|
260
259
|
- test/dummy/Rakefile
|
261
|
-
- test/dummy/tmp/pids/server.pid
|
262
260
|
- test/dummy/bin/rails
|
263
261
|
- test/dummy/bin/rake
|
264
262
|
- test/dummy/bin/bundle
|
@@ -1 +0,0 @@
|
|
1
|
-
8964
|