medium-editor-rails 2.3.1 → 2.3.2
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/.gitignore +2 -1
- data/README.md +2 -2
- data/Rakefile +53 -0
- data/lib/medium-editor-rails/version.rb +2 -2
- data/medium-editor-rails.gemspec +1 -1
- data/vendor/assets/javascripts/medium-editor.js +36 -8
- data/vendor/assets/stylesheets/medium-editor/themes/flat.min.css +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 517e7d49f074c079067439b81a4a18c6f823fd0e
|
4
|
+
data.tar.gz: 267ee3cda3176cb44557ec1ba3b925b26eaf86ec
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f3b2005cc03fba7ddf20dbc2ddf726bfaa6e87f1609d5a286bd8d035cf170d24ac28882eca9557c3d70a6538018ea1a2b18eb15d50f597bda2f3cefd841c19de
|
7
|
+
data.tar.gz: d0bbbd59734f772531e0464a810b9633bb621ade8dd0d973bbaf50e1a31a0a7e0305f6923141f7363a2e4f41165db64a84052ffc54eba90d9c382d36dc9ead99
|
data/.gitignore
CHANGED
data/README.md
CHANGED
@@ -8,7 +8,7 @@ This gem integrates [Medium Editor](https://github.com/yabwe/medium-editor) with
|
|
8
8
|
|
9
9
|
## Version
|
10
10
|
|
11
|
-
The latest version of Medium Editor bundled by this gem is [5.22.
|
11
|
+
The latest version of Medium Editor bundled by this gem is [5.22.1](https://github.com/yabwe/medium-editor/releases)
|
12
12
|
|
13
13
|
## Installation
|
14
14
|
|
@@ -54,7 +54,7 @@ You need to initialize Medium Editor with any selector of div, example:
|
|
54
54
|
<div class="editable"></div>
|
55
55
|
|
56
56
|
<script>
|
57
|
-
var editor = new MediumEditor('.
|
57
|
+
var editor = new MediumEditor('.editable', {
|
58
58
|
// options go here
|
59
59
|
});
|
60
60
|
</script>
|
data/Rakefile
CHANGED
@@ -1 +1,54 @@
|
|
1
1
|
require 'bundler/gem_tasks'
|
2
|
+
require 'json'
|
3
|
+
|
4
|
+
README_VERSION_REGEXP = /bundled by this gem is \[([^\]]*)\]/
|
5
|
+
VERSION_FILE_REGEXP = /MEDIUM_EDITOR_VERSION\s.*/
|
6
|
+
|
7
|
+
namespace :bower do
|
8
|
+
task :bump do
|
9
|
+
bump_readme_file
|
10
|
+
bump_version_file
|
11
|
+
end
|
12
|
+
|
13
|
+
desc "updates javascripts from bower package manager"
|
14
|
+
task :update do
|
15
|
+
puts `bower install medium-editor --save`
|
16
|
+
end
|
17
|
+
|
18
|
+
desc "vendors javascripts and stylesheets for rails assets pipeline"
|
19
|
+
task :vendor do
|
20
|
+
cp_asset "bower_components/medium-editor/dist/js/medium-editor.js"
|
21
|
+
cp_asset "bower_components/medium-editor/dist/css/medium-editor.css"
|
22
|
+
cp_themes
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
def version_from_bower
|
27
|
+
data = JSON.load File.read "bower_components/medium-editor/.bower.json"
|
28
|
+
data["version"]
|
29
|
+
end
|
30
|
+
|
31
|
+
def cp_themes
|
32
|
+
puts "vendoring themes"
|
33
|
+
FileUtils.cp_r "bower_components/medium-editor/dist/css/themes", "vendor/assets/stylesheets/medium-editor"
|
34
|
+
end
|
35
|
+
|
36
|
+
def cp_asset filename
|
37
|
+
base_filename = File.basename(filename)
|
38
|
+
asset_folder = base_filename.include?(".js") ? "javascripts" : "stylesheets/medium-editor"
|
39
|
+
puts "vendoring " + base_filename
|
40
|
+
FileUtils.cp filename, File.join("vendor/assets/#{asset_folder}", base_filename)
|
41
|
+
end
|
42
|
+
|
43
|
+
def bump_readme_file
|
44
|
+
latest_version = "bundled by this gem is [#{version_from_bower}]"
|
45
|
+
lines = File.read('README.md')
|
46
|
+
File.open('README.md', 'w'){ |f| f.puts lines.gsub(README_VERSION_REGEXP, latest_version) }
|
47
|
+
end
|
48
|
+
|
49
|
+
def bump_version_file
|
50
|
+
version_filename = File.join("lib", "medium-editor-rails", "version.rb")
|
51
|
+
latest_version = "MEDIUM_EDITOR_VERSION = '#{version_from_bower}'"
|
52
|
+
lines = File.read(version_filename)
|
53
|
+
File.open(version_filename, 'w') { |f| f.puts lines.gsub(VERSION_FILE_REGEXP, latest_version) }
|
54
|
+
end
|
data/medium-editor-rails.gemspec
CHANGED
@@ -385,7 +385,7 @@ if (!("classList" in document.createElement("_"))) {
|
|
385
385
|
|
386
386
|
(function (root, factory) {
|
387
387
|
'use strict';
|
388
|
-
var isElectron = typeof module === 'object' && process && process.versions && process.versions.electron;
|
388
|
+
var isElectron = typeof module === 'object' && typeof process !== 'undefined' && process && process.versions && process.versions.electron;
|
389
389
|
if (!isElectron && typeof module === 'object') {
|
390
390
|
module.exports = factory;
|
391
391
|
} else if (typeof define === 'function' && define.amd) {
|
@@ -780,7 +780,7 @@ MediumEditor.extensions = {};
|
|
780
780
|
timeout = null,
|
781
781
|
previous = 0,
|
782
782
|
later = function () {
|
783
|
-
previous =
|
783
|
+
previous = Date.now();
|
784
784
|
timeout = null;
|
785
785
|
result = func.apply(context, args);
|
786
786
|
if (!timeout) {
|
@@ -793,7 +793,7 @@ MediumEditor.extensions = {};
|
|
793
793
|
}
|
794
794
|
|
795
795
|
return function () {
|
796
|
-
var now =
|
796
|
+
var now = Date.now(),
|
797
797
|
remaining = wait - (now - previous);
|
798
798
|
|
799
799
|
context = this;
|
@@ -3864,19 +3864,47 @@ MediumEditor.extensions = {};
|
|
3864
3864
|
this.base.checkSelection();
|
3865
3865
|
},
|
3866
3866
|
|
3867
|
+
ensureEncodedUri: function (str) {
|
3868
|
+
return str === decodeURI(str) ? encodeURI(str) : str;
|
3869
|
+
},
|
3870
|
+
|
3871
|
+
ensureEncodedUriComponent: function (str) {
|
3872
|
+
return str === decodeURIComponent(str) ? encodeURIComponent(str) : str;
|
3873
|
+
},
|
3874
|
+
|
3875
|
+
ensureEncodedParam: function (param) {
|
3876
|
+
var split = param.split('='),
|
3877
|
+
key = split[0],
|
3878
|
+
val = split[1];
|
3879
|
+
|
3880
|
+
return key + (val === undefined ? '' : '=' + this.ensureEncodedUriComponent(val));
|
3881
|
+
},
|
3882
|
+
|
3883
|
+
ensureEncodedQuery: function (queryString) {
|
3884
|
+
return queryString.split('&').map(this.ensureEncodedParam.bind(this)).join('&');
|
3885
|
+
},
|
3886
|
+
|
3867
3887
|
checkLinkFormat: function (value) {
|
3868
3888
|
// Matches any alphabetical characters followed by ://
|
3869
3889
|
// Matches protocol relative "//"
|
3870
3890
|
// Matches common external protocols "mailto:" "tel:" "maps:"
|
3871
3891
|
// Matches relative hash link, begins with "#"
|
3872
3892
|
var urlSchemeRegex = /^([a-z]+:)?\/\/|^(mailto|tel|maps):|^\#/i,
|
3873
|
-
|
3874
|
-
|
3893
|
+
// telRegex is a regex for checking if the string is a telephone number
|
3894
|
+
telRegex = /^\+?\s?\(?(?:\d\s?\-?\)?){3,20}$/,
|
3895
|
+
split = value.split('?'),
|
3896
|
+
path = split[0],
|
3897
|
+
query = split[1];
|
3898
|
+
|
3875
3899
|
if (telRegex.test(value)) {
|
3876
3900
|
return 'tel:' + value;
|
3877
3901
|
} else {
|
3878
3902
|
// Check for URL scheme and default to http:// if none found
|
3879
|
-
return (urlSchemeRegex.test(value) ? '' : 'http://') +
|
3903
|
+
return (urlSchemeRegex.test(value) ? '' : 'http://') +
|
3904
|
+
// Ensure path is encoded
|
3905
|
+
this.ensureEncodedUri(path) +
|
3906
|
+
// Ensure query is encoded
|
3907
|
+
(query === undefined ? '' : '?' + this.ensureEncodedQuery(query));
|
3880
3908
|
}
|
3881
3909
|
},
|
3882
3910
|
|
@@ -6839,7 +6867,7 @@ MediumEditor.extensions = {};
|
|
6839
6867
|
|
6840
6868
|
function createContentEditable(textarea) {
|
6841
6869
|
var div = this.options.ownerDocument.createElement('div'),
|
6842
|
-
now =
|
6870
|
+
now = Date.now(),
|
6843
6871
|
uniqueId = 'medium-editor-' + now,
|
6844
6872
|
atts = textarea.attributes;
|
6845
6873
|
|
@@ -7798,7 +7826,7 @@ MediumEditor.parseVersionString = function (release) {
|
|
7798
7826
|
|
7799
7827
|
MediumEditor.version = MediumEditor.parseVersionString.call(this, ({
|
7800
7828
|
// grunt-bump looks for this:
|
7801
|
-
'version': '5.22.
|
7829
|
+
'version': '5.22.1'
|
7802
7830
|
}).version);
|
7803
7831
|
|
7804
7832
|
return MediumEditor;
|
@@ -1 +1 @@
|
|
1
|
-
.medium-toolbar-arrow-under:after{top:60px;border-color:#57ad68 transparent transparent}.medium-toolbar-arrow-over:before{top:-8px;border-color:transparent transparent #57ad68}.medium-editor-toolbar{background-color:#57ad68}.medium-editor-toolbar li{padding:0}.medium-editor-toolbar li button{min-width:60px;height:60px;border:none;border-right:1px solid #9ccea6;background-color:transparent;color:#fff;-webkit-transition:background-color .2s ease-in,color .2s ease-in;transition:background-color .2s ease-in,color .2s ease-in}.medium-editor-toolbar li button:hover{background-color:#346a3f;color:#fff}.medium-editor-toolbar li .medium-editor-button-active{background-color:#23482a;color:#fff}.medium-editor-toolbar li .medium-editor-button-last{border-right:none}.medium-editor-toolbar-form .medium-editor-toolbar-input{height:60px;background:#57ad68;color:#fff}.medium-editor-toolbar-form .medium-editor-toolbar-input::-webkit-input-placeholder{color:#fff;color:rgba(255,255,255,.8)}.medium-editor-toolbar-form .medium-editor-toolbar-input:-moz-placeholder{color:#fff;color:rgba(255,255,255,.8)}.medium-editor-toolbar-form .medium-editor-toolbar-input::-moz-placeholder{color:#fff;color:rgba(255,255,255,.8)}.medium-editor-toolbar-form .medium-editor-toolbar-input:-ms-input-placeholder{color:#fff;color:rgba(255,255,255,.8)}.medium-editor-toolbar-form a{color:#fff}.medium-editor-toolbar-anchor-preview{background:#57ad68;color:#fff}.medium-editor-placeholder:after{color:#9ccea6}
|
1
|
+
.medium-toolbar-arrow-under:after{top:60px;border-color:#57ad68 transparent transparent}.medium-toolbar-arrow-over:before{top:-8px;border-color:transparent transparent #57ad68}.medium-editor-toolbar{background-color:#57ad68}.medium-editor-toolbar li{padding:0}.medium-editor-toolbar li button{min-width:60px;height:60px;border:none;border-right:1px solid #9ccea6;background-color:transparent;color:#fff;-webkit-transition:background-color .2s ease-in,color .2s ease-in;transition:background-color .2s ease-in,color .2s ease-in}.medium-editor-toolbar li button:hover{background-color:#346a3f;color:#fff}.medium-editor-toolbar li .medium-editor-button-active{background-color:#23482a;color:#fff}.medium-editor-toolbar li .medium-editor-button-last{border-right:none}.medium-editor-toolbar-form .medium-editor-toolbar-input{height:60px;background:#57ad68;color:#fff}.medium-editor-toolbar-form .medium-editor-toolbar-input::-webkit-input-placeholder{color:#fff;color:rgba(255,255,255,.8)}.medium-editor-toolbar-form .medium-editor-toolbar-input:-moz-placeholder{color:#fff;color:rgba(255,255,255,.8)}.medium-editor-toolbar-form .medium-editor-toolbar-input::-moz-placeholder{color:#fff;color:rgba(255,255,255,.8)}.medium-editor-toolbar-form .medium-editor-toolbar-input:-ms-input-placeholder{color:#fff;color:rgba(255,255,255,.8)}.medium-editor-toolbar-form a{color:#fff}.medium-editor-toolbar-anchor-preview{background:#57ad68;color:#fff}.medium-editor-placeholder:after{color:#9ccea6}
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: medium-editor-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.3.
|
4
|
+
version: 2.3.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ahmet Sezgin Duran
|
@@ -9,20 +9,20 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2017-01-18 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: railties
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
17
17
|
requirements:
|
18
|
-
- - "
|
18
|
+
- - "~>"
|
19
19
|
- !ruby/object:Gem::Version
|
20
20
|
version: '3.0'
|
21
21
|
type: :runtime
|
22
22
|
prerelease: false
|
23
23
|
version_requirements: !ruby/object:Gem::Requirement
|
24
24
|
requirements:
|
25
|
-
- - "
|
25
|
+
- - "~>"
|
26
26
|
- !ruby/object:Gem::Version
|
27
27
|
version: '3.0'
|
28
28
|
- !ruby/object:Gem::Dependency
|