geditor 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -5,4 +5,9 @@
5
5
  ## v0.0.2
6
6
 
7
7
  * fix button image bug
8
- * use better helper name: geditor_buttons
8
+ * use better helper name: geditor_buttons
9
+
10
+ ## v0.0.3
11
+
12
+ * fix bug when puts js in page bottom
13
+ * remove stupid svn info
@@ -12,12 +12,7 @@ class GeditorUtils
12
12
  file = File.expand_path('../stylesheets/geditor.css', __FILE__)
13
13
  FileUtils.mkdir_p dir unless File.exists? dir
14
14
  FileUtils.cp(file, dir)
15
-
16
- dir = "app/assets/javascripts"
17
- file = File.expand_path('../javascripts/geditor.js', __FILE__)
18
- FileUtils.mkdir_p dir unless File.exists? dir
19
- FileUtils.cp(file, dir)
20
-
15
+
21
16
  dir = "app/assets/images"
22
17
  folder = File.expand_path('../images/geditor/', __FILE__)
23
18
  FileUtils.mkdir_p dir unless File.exists? dir
@@ -1,3 +1,3 @@
1
1
  module Geditor
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
@@ -12,7 +12,86 @@ module GeditorHelper
12
12
  end
13
13
 
14
14
  def geditor_buttons
15
- raw %q(<script>gEditor('geditor'); </script>)
15
+ raw %q(
16
+ <script>
17
+ /*****************************************/
18
+ // Name: Javascript Textarea HTML Editor
19
+ // Version: 1.3
20
+ // Author: Balakrishnan
21
+ // Modified by: Gary Zhang
22
+ // Last Modified Date: 13/Sep/2012
23
+ // License: Free
24
+ // URL: http://www.corpocrat.com
25
+ /******************************************/
26
+
27
+ var textarea;
28
+ var content;
29
+ function gEditor(obj) {
30
+ document.write("<img class=\"button\" src=\"/assets/geditor/bold.png\" name=\"btnBold\" title=\"Bold\" onClick=\"doAddTags('*','*','" + obj + "')\">");
31
+ document.write("<img class=\"button\" src=\"/assets/geditor/underline.png\" name=\"btnUnderline\" title=\"Underline\" onClick=\"doAddTags('+','+','" + obj + "')\">");
32
+ document.write("<img class=\"button\" src=\"/assets/geditor/h1.png\" name=\"btnHead\" title=\"Head1\" onClick=\"doAddTags('[h]','[/h]','" + obj + "')\">");
33
+ document.write("<img class=\"button\" src=\"/assets/geditor/ordered.png\" name=\"btnList\" title=\"Unordered List\" onClick=\"doList('<ul>','</ul>','" + obj + "')\">");
34
+ document.write("<img class=\"button\" src=\"/assets/geditor/code.png\" name=\"btnCode\" title=\"Code\" onClick=\"doAddTags('[code:ruby]','[/code]','" + obj + "')\">");
35
+ document.write("<img class=\"button\" src=\"/assets/geditor/link.png\" name=\"btnLink\" title=\"Insert Link\" onClick=\"doAddTags('[link: link_description]','[/link]','" + obj + "')\">");
36
+ document.write("<img class=\"button\" src=\"/assets/geditor/image.png\" name=\"btnPicture\" title=\"Insert Picture\" onClick=\"doAddTags('[img]','[/img]','" + obj + "')\">");
37
+ document.write("<br>"); }
38
+
39
+ function doAddTags(tag1,tag2,obj)
40
+ {
41
+ textarea = document.getElementById(obj);
42
+ if (document.selection) // Code for IE
43
+ {
44
+ textarea.focus();
45
+ var sel = document.selection.createRange();
46
+ sel.text = tag1 + sel.text + tag2;
47
+ }
48
+ else // Code for Mozilla Firefox
49
+ {
50
+ var len = textarea.value.length;
51
+ var start = textarea.selectionStart;
52
+ var end = textarea.selectionEnd;
53
+ var scrollTop = textarea.scrollTop;
54
+ var scrollLeft = textarea.scrollLeft;
55
+ var sel = textarea.value.substring(start, end);
56
+ var rep = tag1 + sel + tag2;
57
+ textarea.value = textarea.value.substring(0,start) + rep + textarea.value.substring(end,len);
58
+ textarea.scrollTop = scrollTop;
59
+ textarea.scrollLeft = scrollLeft;
60
+ }
61
+ }
62
+
63
+ function doList(tag1,tag2,obj)
64
+ {
65
+ textarea = document.getElementById(obj);
66
+ if (document.selection) // Code for IE
67
+ {
68
+ textarea.focus();
69
+ var sel = document.selection.createRange();
70
+ var list = sel.text.split('\n');
71
+ for(i=0;i<list.length;i++)
72
+ { list[i] = '* ' + list[i]; }
73
+ sel.text = list.join("\n");
74
+ }
75
+ else // Code for Firefox
76
+ {
77
+ var len = textarea.value.length;
78
+ var start = textarea.selectionStart;
79
+ var end = textarea.selectionEnd;
80
+ var i;
81
+ var scrollTop = textarea.scrollTop;
82
+ var scrollLeft = textarea.scrollLeft;
83
+ var sel = textarea.value.substring(start, end);
84
+ var list = sel.split('\n');
85
+ for(i=0;i<list.length;i++)
86
+ { list[i] = '* ' + list[i]; }
87
+ var rep = list.join("\n");
88
+ textarea.value = textarea.value.substring(0,start) + rep + textarea.value.substring(end,len);
89
+ textarea.scrollTop = scrollTop;
90
+ textarea.scrollLeft = scrollLeft;
91
+ }
92
+ }
93
+ gEditor('geditor'); </script>
94
+ )
16
95
  end
17
96
  end
18
97
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: geditor
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
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: 2012-09-13 00:00:00.000000000 Z
12
+ date: 2012-09-14 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: coderay
@@ -66,23 +66,6 @@ files:
66
66
  - lib/geditor/version.rb
67
67
  - lib/helpers/geditor_helper.rb
68
68
  - lib/images/geditor/.DS_Store
69
- - lib/images/geditor/.svn/entries
70
- - lib/images/geditor/.svn/prop-base/bold.png.svn-base
71
- - lib/images/geditor/.svn/prop-base/code.png.svn-base
72
- - lib/images/geditor/.svn/prop-base/h1.png.svn-base
73
- - lib/images/geditor/.svn/prop-base/image.png.svn-base
74
- - lib/images/geditor/.svn/prop-base/italic.png.svn-base
75
- - lib/images/geditor/.svn/prop-base/link.png.svn-base
76
- - lib/images/geditor/.svn/prop-base/ordered.png.svn-base
77
- - lib/images/geditor/.svn/prop-base/underline.png.svn-base
78
- - lib/images/geditor/.svn/text-base/bold.png.svn-base
79
- - lib/images/geditor/.svn/text-base/code.png.svn-base
80
- - lib/images/geditor/.svn/text-base/h1.png.svn-base
81
- - lib/images/geditor/.svn/text-base/image.png.svn-base
82
- - lib/images/geditor/.svn/text-base/italic.png.svn-base
83
- - lib/images/geditor/.svn/text-base/link.png.svn-base
84
- - lib/images/geditor/.svn/text-base/ordered.png.svn-base
85
- - lib/images/geditor/.svn/text-base/underline.png.svn-base
86
69
  - lib/images/geditor/bold.png
87
70
  - lib/images/geditor/code.png
88
71
  - lib/images/geditor/h1.png
@@ -90,7 +73,6 @@ files:
90
73
  - lib/images/geditor/link.png
91
74
  - lib/images/geditor/ordered.png
92
75
  - lib/images/geditor/underline.png
93
- - lib/javascripts/geditor.js
94
76
  - lib/models/coderay_string.rb
95
77
  - lib/models/gformat_string.rb
96
78
  - lib/stylesheets/.svn/entries
@@ -1,300 +0,0 @@
1
- 10
2
-
3
- dir
4
- 501
5
- svn://192.168.5.80/root/svn/gblog/app/assets/images/editor_buttons
6
- svn://192.168.5.80
7
-
8
-
9
-
10
- 2012-01-17T01:05:53.832233Z
11
- 311
12
- gary
13
-
14
-
15
-
16
-
17
-
18
-
19
-
20
-
21
-
22
-
23
-
24
-
25
-
26
-
27
- 25b8973a-7b73-4531-a164-de256929bd6b
28
-
29
- link.png
30
- file
31
-
32
-
33
-
34
-
35
- 2010-01-14T02:02:24.000000Z
36
- c6fa4bfa9b79bd2e7b4584c620fe7d45
37
- 2012-01-17T01:05:53.832233Z
38
- 311
39
- gary
40
- has-props
41
-
42
-
43
-
44
-
45
-
46
-
47
-
48
-
49
-
50
-
51
-
52
-
53
-
54
-
55
-
56
-
57
-
58
-
59
-
60
-
61
- 408
62
-
63
- bold.png
64
- file
65
-
66
-
67
-
68
-
69
- 2010-01-14T02:02:24.000000Z
70
- 3dcb745bc791b6202d1240d9bafe0d31
71
- 2012-01-17T01:05:53.832233Z
72
- 311
73
- gary
74
- has-props
75
-
76
-
77
-
78
-
79
-
80
-
81
-
82
-
83
-
84
-
85
-
86
-
87
-
88
-
89
-
90
-
91
-
92
-
93
-
94
-
95
- 360
96
-
97
- image.png
98
- file
99
-
100
-
101
-
102
-
103
- 2010-01-14T02:02:24.000000Z
104
- a019d4705b0dfe0382f9c0ba8ac8dd11
105
- 2012-01-17T01:05:53.832233Z
106
- 311
107
- gary
108
- has-props
109
-
110
-
111
-
112
-
113
-
114
-
115
-
116
-
117
-
118
-
119
-
120
-
121
-
122
-
123
-
124
-
125
-
126
-
127
-
128
-
129
- 1142
130
-
131
- ordered.png
132
- file
133
-
134
-
135
-
136
-
137
- 2010-01-14T02:02:24.000000Z
138
- a723a4ac54c0fc3c9adae481e0eb1fc0
139
- 2012-01-17T01:05:53.832233Z
140
- 311
141
- gary
142
- has-props
143
-
144
-
145
-
146
-
147
-
148
-
149
-
150
-
151
-
152
-
153
-
154
-
155
-
156
-
157
-
158
-
159
-
160
-
161
-
162
-
163
- 365
164
-
165
- italic.png
166
- file
167
-
168
-
169
-
170
-
171
- 2010-01-14T02:02:24.000000Z
172
- a7fee982e4b09623d07b8a74093dff15
173
- 2012-01-17T01:05:53.832233Z
174
- 311
175
- gary
176
- has-props
177
-
178
-
179
-
180
-
181
-
182
-
183
-
184
-
185
-
186
-
187
-
188
-
189
-
190
-
191
-
192
-
193
-
194
-
195
-
196
-
197
- 312
198
-
199
- underline.png
200
- file
201
-
202
-
203
-
204
-
205
- 2010-01-14T02:02:24.000000Z
206
- ca71284ce14f1c438226a59bc9d2ac99
207
- 2012-01-17T01:05:53.832233Z
208
- 311
209
- gary
210
- has-props
211
-
212
-
213
-
214
-
215
-
216
-
217
-
218
-
219
-
220
-
221
-
222
-
223
-
224
-
225
-
226
-
227
-
228
-
229
-
230
-
231
- 1055
232
-
233
- h1.png
234
- file
235
-
236
-
237
-
238
-
239
- 2010-01-14T02:02:24.000000Z
240
- 6c7876f619e37046022766d2de1ee5aa
241
- 2012-01-17T01:05:53.832233Z
242
- 311
243
- gary
244
- has-props
245
-
246
-
247
-
248
-
249
-
250
-
251
-
252
-
253
-
254
-
255
-
256
-
257
-
258
-
259
-
260
-
261
-
262
-
263
-
264
-
265
- 362
266
-
267
- code.png
268
- file
269
-
270
-
271
-
272
-
273
- 2010-01-14T02:02:24.000000Z
274
- 661505d2efc05b2347492e4949f564d5
275
- 2012-01-17T01:05:53.832233Z
276
- 311
277
- gary
278
- has-props
279
-
280
-
281
-
282
-
283
-
284
-
285
-
286
-
287
-
288
-
289
-
290
-
291
-
292
-
293
-
294
-
295
-
296
-
297
-
298
-
299
- 626
300
-
@@ -1,9 +0,0 @@
1
- K 14
2
- svn:executable
3
- V 1
4
- *
5
- K 13
6
- svn:mime-type
7
- V 24
8
- application/octet-stream
9
- END
@@ -1,9 +0,0 @@
1
- K 14
2
- svn:executable
3
- V 1
4
- *
5
- K 13
6
- svn:mime-type
7
- V 24
8
- application/octet-stream
9
- END
@@ -1,9 +0,0 @@
1
- K 14
2
- svn:executable
3
- V 1
4
- *
5
- K 13
6
- svn:mime-type
7
- V 24
8
- application/octet-stream
9
- END
@@ -1,9 +0,0 @@
1
- K 14
2
- svn:executable
3
- V 1
4
- *
5
- K 13
6
- svn:mime-type
7
- V 24
8
- application/octet-stream
9
- END
@@ -1,9 +0,0 @@
1
- K 14
2
- svn:executable
3
- V 1
4
- *
5
- K 13
6
- svn:mime-type
7
- V 24
8
- application/octet-stream
9
- END
@@ -1,9 +0,0 @@
1
- K 14
2
- svn:executable
3
- V 1
4
- *
5
- K 13
6
- svn:mime-type
7
- V 24
8
- application/octet-stream
9
- END
@@ -1,9 +0,0 @@
1
- K 14
2
- svn:executable
3
- V 1
4
- *
5
- K 13
6
- svn:mime-type
7
- V 24
8
- application/octet-stream
9
- END
@@ -1,9 +0,0 @@
1
- K 14
2
- svn:executable
3
- V 1
4
- *
5
- K 13
6
- svn:mime-type
7
- V 24
8
- application/octet-stream
9
- END
@@ -1,76 +0,0 @@
1
- /*****************************************/
2
- // Name: Javascript Textarea HTML Editor
3
- // Version: 1.3
4
- // Author: Balakrishnan
5
- // Modified by: Gary Zhang
6
- // Last Modified Date: 13/Sep/2012
7
- // License: Free
8
- // URL: http://www.corpocrat.com
9
- /******************************************/
10
-
11
- var textarea;
12
- var content;
13
- function gEditor(obj) {
14
- document.write("<img class=\"button\" src=\"/assets/geditor/bold.png\" name=\"btnBold\" title=\"Bold\" onClick=\"doAddTags('*','*','" + obj + "')\">");
15
- document.write("<img class=\"button\" src=\"/assets/geditor/underline.png\" name=\"btnUnderline\" title=\"Underline\" onClick=\"doAddTags('+','+','" + obj + "')\">");
16
- document.write("<img class=\"button\" src=\"/assets/geditor/h1.png\" name=\"btnHead\" title=\"Head1\" onClick=\"doAddTags('[h]','[/h]','" + obj + "')\">");
17
- document.write("<img class=\"button\" src=\"/assets/geditor/ordered.png\" name=\"btnList\" title=\"Unordered List\" onClick=\"doList('<ul>','</ul>','" + obj + "')\">");
18
- document.write("<img class=\"button\" src=\"/assets/geditor/code.png\" name=\"btnCode\" title=\"Code\" onClick=\"doAddTags('[code:ruby]','[/code]','" + obj + "')\">");
19
- document.write("<img class=\"button\" src=\"/assets/geditor/link.png\" name=\"btnLink\" title=\"Insert Link\" onClick=\"doAddTags('[link: link_description]','[/link]','" + obj + "')\">");
20
- document.write("<img class=\"button\" src=\"/assets/geditor/image.png\" name=\"btnPicture\" title=\"Insert Picture\" onClick=\"doAddTags('[img]','[/img]','" + obj + "')\">");
21
- document.write("<br>"); }
22
-
23
- function doAddTags(tag1,tag2,obj)
24
- {
25
- textarea = document.getElementById(obj);
26
- if (document.selection) // Code for IE
27
- {
28
- textarea.focus();
29
- var sel = document.selection.createRange();
30
- sel.text = tag1 + sel.text + tag2;
31
- }
32
- else // Code for Mozilla Firefox
33
- {
34
- var len = textarea.value.length;
35
- var start = textarea.selectionStart;
36
- var end = textarea.selectionEnd;
37
- var scrollTop = textarea.scrollTop;
38
- var scrollLeft = textarea.scrollLeft;
39
- var sel = textarea.value.substring(start, end);
40
- var rep = tag1 + sel + tag2;
41
- textarea.value = textarea.value.substring(0,start) + rep + textarea.value.substring(end,len);
42
- textarea.scrollTop = scrollTop;
43
- textarea.scrollLeft = scrollLeft;
44
- }
45
- }
46
-
47
- function doList(tag1,tag2,obj)
48
- {
49
- textarea = document.getElementById(obj);
50
- if (document.selection) // Code for IE
51
- {
52
- textarea.focus();
53
- var sel = document.selection.createRange();
54
- var list = sel.text.split('\n');
55
- for(i=0;i<list.length;i++)
56
- { list[i] = '* ' + list[i]; }
57
- sel.text = list.join("\n");
58
- }
59
- else // Code for Firefox
60
- {
61
- var len = textarea.value.length;
62
- var start = textarea.selectionStart;
63
- var end = textarea.selectionEnd;
64
- var i;
65
- var scrollTop = textarea.scrollTop;
66
- var scrollLeft = textarea.scrollLeft;
67
- var sel = textarea.value.substring(start, end);
68
- var list = sel.split('\n');
69
- for(i=0;i<list.length;i++)
70
- { list[i] = '* ' + list[i]; }
71
- var rep = list.join("\n");
72
- textarea.value = textarea.value.substring(0,start) + rep + textarea.value.substring(end,len);
73
- textarea.scrollTop = scrollTop;
74
- textarea.scrollLeft = scrollLeft;
75
- }
76
- }