geditor 0.0.2 → 0.0.3

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.
@@ -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
- }