kevorkian 1.0.1 → 2.0.0
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.
- data/lib/kevorkian/version.rb +1 -1
- data/vendor/assets/javascripts/button.js.coffee +3 -3
- data/vendor/assets/javascripts/editor.js.coffee +37 -13
- data/vendor/assets/javascripts/kevorkian.js.coffee +0 -1
- data/vendor/assets/javascripts/utils/carat.js.coffee +4 -4
- data/vendor/assets/javascripts/utils/manipulation.js.coffee +1 -2
- metadata +9 -4
- data/vendor/assets/javascripts/default_row.js.coffee +0 -17
data/lib/kevorkian/version.rb
CHANGED
@@ -16,7 +16,7 @@ class MD.Button
|
|
16
16
|
onClick: (e) =>
|
17
17
|
e?.preventDefault()
|
18
18
|
if @attributes.onClick
|
19
|
-
@attributes.onClick(@, MD.Utils.Carat.getRange(@editor.
|
19
|
+
@attributes.onClick(@, MD.Utils.Carat.getRange(@editor.target))
|
20
20
|
|
21
21
|
render: =>
|
22
22
|
button = $("<button class='btn'></button>").append(@attributes.html())
|
@@ -28,7 +28,7 @@ class MD.Button
|
|
28
28
|
|
29
29
|
perform: (range, callback) =>
|
30
30
|
@editor.trigger("before.perform", range, @)
|
31
|
-
results = MD.Utils.Manipulation.replaceRange(@editor.
|
31
|
+
results = MD.Utils.Manipulation.replaceRange(@editor.target, range, callback)
|
32
32
|
@editor.trigger("after.perform", range, @, results)
|
33
33
|
@editor.trigger("change", results.finalText)
|
34
34
|
return results
|
@@ -40,5 +40,5 @@ class MD.Button
|
|
40
40
|
|
41
41
|
setCaratRange: (range) =>
|
42
42
|
@editor.trigger("before.setCarat", range, @)
|
43
|
-
MD.Utils.Carat.setRange(@editor.
|
43
|
+
MD.Utils.Carat.setRange(@editor.target, range.start, range.end)
|
44
44
|
@editor.trigger("after.setCarat", range, @)
|
@@ -1,8 +1,24 @@
|
|
1
1
|
class @MD.Editor
|
2
2
|
|
3
|
-
constructor: (@
|
3
|
+
constructor: (@target) ->
|
4
4
|
@clearRows()
|
5
|
-
@addRow(MD.Row
|
5
|
+
@addRow(new MD.Row([
|
6
|
+
new MD.Button.H1(),
|
7
|
+
new MD.Button.H2(),
|
8
|
+
new MD.Button.H3(),
|
9
|
+
new MD.Button.Seperator(),
|
10
|
+
new MD.Button.Bold(),
|
11
|
+
new MD.Button.Italics(),
|
12
|
+
new MD.Button.Seperator(),
|
13
|
+
new MD.Button.BlockQuotes(),
|
14
|
+
new MD.Button.OrderedList(),
|
15
|
+
new MD.Button.UnorderedList(),
|
16
|
+
new MD.Button.CodeBlock(),
|
17
|
+
new MD.Button.CodeLine(),
|
18
|
+
new MD.Button.Seperator(),
|
19
|
+
new MD.Button.Href(),
|
20
|
+
new MD.Button.Hr()
|
21
|
+
]))
|
6
22
|
@events = {}
|
7
23
|
|
8
24
|
on: (event, callback) ->
|
@@ -21,21 +37,29 @@ class @MD.Editor
|
|
21
37
|
@rows.push(row)
|
22
38
|
|
23
39
|
render: =>
|
24
|
-
el =
|
25
|
-
inner = el.clone()
|
40
|
+
el = @target
|
41
|
+
# inner = el.clone()
|
42
|
+
|
26
43
|
html = $("""
|
27
|
-
<div
|
28
|
-
<div class='markdown_editor_toolbar'
|
44
|
+
<div class='markdown_editor'>
|
45
|
+
<div class='markdown_editor_toolbar'">
|
29
46
|
</div>
|
30
47
|
</div>
|
31
48
|
""")
|
49
|
+
|
50
|
+
toolbar = $(".markdown_editor_toolbar", html)
|
51
|
+
outer = el.outerWidth(true)
|
52
|
+
if outer is 100
|
53
|
+
toolbar.addClass("span10")
|
54
|
+
else
|
55
|
+
toolbar.css("width", "#{outer}px")
|
56
|
+
|
32
57
|
for row in @rows
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
58
|
+
toolbar.append(row.render())
|
59
|
+
|
60
|
+
html.insertBefore(el)
|
61
|
+
el.keyup (e) =>
|
37
62
|
@trigger("change", $(e.target).val())
|
38
|
-
|
63
|
+
el.change (e) =>
|
39
64
|
@trigger("change", $(e.target).val())
|
40
|
-
return @
|
41
|
-
|
65
|
+
return @
|
@@ -1,15 +1,15 @@
|
|
1
1
|
class MD.Utils.Carat
|
2
2
|
|
3
|
-
@getRange: (
|
3
|
+
@getRange: (target) ->
|
4
4
|
pos = [0,0]
|
5
|
-
ctrl =
|
5
|
+
ctrl = target[0]
|
6
6
|
if ctrl.selectionStart or ctrl.selectionStart is '0'
|
7
7
|
pos[0] = ctrl.selectionStart
|
8
8
|
if ctrl.selectionEnd or ctrl.selectionEnd is '0'
|
9
9
|
pos[1] = ctrl.selectionEnd
|
10
10
|
return {start: pos[0], end: pos[1]}
|
11
11
|
|
12
|
-
@setRange: (
|
13
|
-
ctrl =
|
12
|
+
@setRange: (target, start, end = start) =>
|
13
|
+
ctrl = target[0]
|
14
14
|
ctrl.focus()
|
15
15
|
ctrl.setSelectionRange(start, end)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kevorkian
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-
|
12
|
+
date: 2013-03-05 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rake
|
@@ -76,7 +76,6 @@ files:
|
|
76
76
|
- vendor/assets/javascripts/buttons/italics.js.coffee
|
77
77
|
- vendor/assets/javascripts/buttons/ordered_list.js.coffee
|
78
78
|
- vendor/assets/javascripts/buttons/unordered_list.js.coffee
|
79
|
-
- vendor/assets/javascripts/default_row.js.coffee
|
80
79
|
- vendor/assets/javascripts/editor.js.coffee
|
81
80
|
- vendor/assets/javascripts/kevorkian.js.coffee
|
82
81
|
- vendor/assets/javascripts/row.js.coffee
|
@@ -98,15 +97,21 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
98
97
|
- - ! '>='
|
99
98
|
- !ruby/object:Gem::Version
|
100
99
|
version: '0'
|
100
|
+
segments:
|
101
|
+
- 0
|
102
|
+
hash: -2868621236420658150
|
101
103
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
102
104
|
none: false
|
103
105
|
requirements:
|
104
106
|
- - ! '>='
|
105
107
|
- !ruby/object:Gem::Version
|
106
108
|
version: '0'
|
109
|
+
segments:
|
110
|
+
- 0
|
111
|
+
hash: -2868621236420658150
|
107
112
|
requirements: []
|
108
113
|
rubyforge_project:
|
109
|
-
rubygems_version: 1.8.
|
114
|
+
rubygems_version: 1.8.25
|
110
115
|
signing_key:
|
111
116
|
specification_version: 3
|
112
117
|
summary: Easy, extensible MarkDown editor.
|
@@ -1,17 +0,0 @@
|
|
1
|
-
MD.Row.defaultRow = new MD.Row([
|
2
|
-
new MD.Button.H1(),
|
3
|
-
new MD.Button.H2(),
|
4
|
-
new MD.Button.H3(),
|
5
|
-
new MD.Button.Seperator(),
|
6
|
-
new MD.Button.Bold(),
|
7
|
-
new MD.Button.Italics(),
|
8
|
-
new MD.Button.Seperator(),
|
9
|
-
new MD.Button.BlockQuotes(),
|
10
|
-
new MD.Button.OrderedList(),
|
11
|
-
new MD.Button.UnorderedList(),
|
12
|
-
new MD.Button.CodeBlock(),
|
13
|
-
new MD.Button.CodeLine(),
|
14
|
-
new MD.Button.Seperator(),
|
15
|
-
new MD.Button.Href(),
|
16
|
-
new MD.Button.Hr()
|
17
|
-
])
|