markitup_rails 0.2.0 → 0.2.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.
data/README.rdoc CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Markitup_rails is a Rails 3.1 engine that allows you to integrate the {MarkItUp}[http://markitup.jaysalvat.com/home/] text editor into the asset pipeline.
4
4
 
5
- This uses the 1.1.12 release of Markitup, by {Jay Salvat}[http://jaysalvat.com]
5
+ This uses the 1.1.14 release of Markitup, by {Jay Salvat}[http://jaysalvat.com]
6
6
 
7
7
  This engine allows you to add in the CSS and Javascript as written in the MarkItUp plugin. I would strongly recommend that you read the documentation tha comes with MarkItUp.
8
8
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.0
1
+ 0.2.2
@@ -1,9 +1,9 @@
1
1
  // ----------------------------------------------------------------------------
2
2
  // markItUp! Universal MarkUp Engine, JQuery plugin
3
- // v 1.1.x
3
+ // v 1.1.14
4
4
  // Dual licensed under the MIT and GPL licenses.
5
5
  // ----------------------------------------------------------------------------
6
- // Copyright (C) 2007-2011 Jay Salvat
6
+ // Copyright (C) 2007-2012 Jay Salvat
7
7
  // http://markitup.jaysalvat.com/
8
8
  // ----------------------------------------------------------------------------
9
9
  // Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -26,13 +26,19 @@
26
26
  // ----------------------------------------------------------------------------
27
27
  (function($) {
28
28
  $.fn.markItUp = function(settings, extraSettings) {
29
- var options, ctrlKey, shiftKey, altKey;
30
- ctrlKey = shiftKey = altKey = false;
31
-
29
+ var method, params, options, ctrlKey, shiftKey, altKey; ctrlKey = shiftKey = altKey = false;
30
+
31
+ if (typeof settings == 'string') {
32
+ method = settings;
33
+ params = extraSettings;
34
+ }
35
+
32
36
  options = { id: '',
33
37
  nameSpace: '',
34
38
  root: '',
39
+ previewHandler: false,
35
40
  previewInWindow: '', // 'width=800, height=600, resizable=yes, scrollbars=yes'
41
+ previewInElement: '',
36
42
  previewAutoRefresh: true,
37
43
  previewPosition: 'after',
38
44
  previewTemplatePath: '~/templates/preview.html',
@@ -60,6 +66,35 @@
60
66
  });
61
67
  }
62
68
 
69
+ // Quick patch to keep compatibility with jQuery 1.9
70
+ var uaMatch = function(ua) {
71
+ ua = ua.toLowerCase();
72
+
73
+ var match = /(chrome)[ \/]([\w.]+)/.exec(ua) ||
74
+ /(webkit)[ \/]([\w.]+)/.exec(ua) ||
75
+ /(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua) ||
76
+ /(msie) ([\w.]+)/.exec(ua) ||
77
+ ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua) ||
78
+ [];
79
+
80
+ return {
81
+ browser: match[ 1 ] || "",
82
+ version: match[ 2 ] || "0"
83
+ };
84
+ };
85
+ var matched = uaMatch( navigator.userAgent );
86
+ var browser = {};
87
+
88
+ if (matched.browser) {
89
+ browser[matched.browser] = true;
90
+ browser.version = matched.version;
91
+ }
92
+ if (browser.chrome) {
93
+ browser.webkit = true;
94
+ } else if (browser.webkit) {
95
+ browser.safari = true;
96
+ }
97
+
63
98
  return this.each(function() {
64
99
  var $$, textarea, levels, scrollPosition, caretPosition, caretOffset,
65
100
  clicked, hash, header, footer, previewWindow, template, iFrame, abort;
@@ -73,6 +108,20 @@
73
108
  options.previewParserPath = localize(options.previewParserPath);
74
109
  options.previewTemplatePath = localize(options.previewTemplatePath);
75
110
 
111
+ if (method) {
112
+ switch(method) {
113
+ case 'remove':
114
+ remove();
115
+ break;
116
+ case 'insert':
117
+ markup(params);
118
+ break;
119
+ default:
120
+ $.error('Method ' + method + ' does not exist on jQuery.markItUp');
121
+ }
122
+ return;
123
+ }
124
+
76
125
  // apply the computed path to ~/
77
126
  function localize(data, inText) {
78
127
  if (inText) {
@@ -106,29 +155,29 @@
106
155
  footer = $('<div class="markItUpFooter"></div>').insertAfter($$);
107
156
 
108
157
  // add the resize handle after textarea
109
- if (options.resizeHandle === true && $.browser.safari !== true) {
158
+ if (options.resizeHandle === true && browser.safari !== true) {
110
159
  resizeHandle = $('<div class="markItUpResizeHandle"></div>')
111
160
  .insertAfter($$)
112
- .bind("mousedown", function(e) {
161
+ .bind("mousedown.markItUp", function(e) {
113
162
  var h = $$.height(), y = e.clientY, mouseMove, mouseUp;
114
163
  mouseMove = function(e) {
115
164
  $$.css("height", Math.max(20, e.clientY+h-y)+"px");
116
165
  return false;
117
166
  };
118
167
  mouseUp = function(e) {
119
- $("html").unbind("mousemove", mouseMove).unbind("mouseup", mouseUp);
168
+ $("html").unbind("mousemove.markItUp", mouseMove).unbind("mouseup.markItUp", mouseUp);
120
169
  return false;
121
170
  };
122
- $("html").bind("mousemove", mouseMove).bind("mouseup", mouseUp);
171
+ $("html").bind("mousemove.markItUp", mouseMove).bind("mouseup.markItUp", mouseUp);
123
172
  });
124
173
  footer.append(resizeHandle);
125
174
  }
126
175
 
127
176
  // listen key events
128
- $$.keydown(keyPressed).keyup(keyPressed);
177
+ $$.bind('keydown.markItUp', keyPressed).bind('keyup', keyPressed);
129
178
 
130
179
  // bind an event to catch external calls
131
- $$.bind("insertion", function(e, settings) {
180
+ $$.bind("insertion.markItUp", function(e, settings) {
132
181
  if (settings.target !== false) {
133
182
  get();
134
183
  }
@@ -138,9 +187,13 @@
138
187
  });
139
188
 
140
189
  // remember the last focus
141
- $$.focus(function() {
190
+ $$.bind('focus.markItUp', function() {
142
191
  $.markItUp.focused = this;
143
192
  });
193
+
194
+ if (options.previewInElement) {
195
+ refreshPreview();
196
+ }
144
197
  }
145
198
 
146
199
  // recursively build header with dropMenus from markupset
@@ -159,28 +212,27 @@
159
212
  t += levels[j]+"-";
160
213
  }
161
214
  li = $('<li class="markItUpButton markItUpButton'+t+(i)+' '+(button.className||'')+'"><a href="" '+key+' title="'+title+'">'+(button.name||'')+'</a></li>')
162
- .bind("contextmenu", function() { // prevent contextmenu on mac and allow ctrl+click
163
- return false;
164
- }).click(function() {
215
+ .bind("contextmenu.markItUp", function() { // prevent contextmenu on mac and allow ctrl+click
165
216
  return false;
166
- }).bind("focusin", function(){
217
+ }).bind('click.markItUp', function(e) {
218
+ e.preventDefault();
219
+ }).bind("focusin.markItUp", function(){
167
220
  $$.focus();
168
- }).mouseup(function() {
221
+ }).bind('mouseup', function() {
169
222
  if (button.call) {
170
223
  eval(button.call)();
171
224
  }
172
225
  setTimeout(function() { markup(button) },1);
173
226
  return false;
174
- }).hover(function() {
227
+ }).bind('mouseenter.markItUp', function() {
175
228
  $('> ul', this).show();
176
229
  $(document).one('click', function() { // close dropmenu if click outside
177
230
  $('ul ul', header).hide();
178
231
  }
179
232
  );
180
- }, function() {
233
+ }).bind('mouseleave.markItUp', function() {
181
234
  $('> ul', this).hide();
182
- }
183
- ).appendTo(ul);
235
+ }).appendTo(ul);
184
236
  if (button.dropMenu) {
185
237
  levels.push(i);
186
238
  $(li).addClass('markItUpDropMenu').append(dropMenus(button.dropMenu));
@@ -249,9 +301,13 @@
249
301
  } else {
250
302
  string = string || selection;
251
303
 
252
- var lines = selection.split(/\r?\n/), blocks = [];
304
+ var lines = [string], blocks = [];
305
+
306
+ if (multiline === true) {
307
+ lines = string.split(/\r?\n/);
308
+ }
253
309
 
254
- for (var l=0; l < lines.length; l++) {
310
+ for (var l = 0; l < lines.length; l++) {
255
311
  line = lines[l];
256
312
  var trailingSpaces;
257
313
  if (trailingSpaces = line.match(/ *$/)) {
@@ -267,10 +323,12 @@
267
323
  block = openBlockWith + block + closeBlockWith;
268
324
 
269
325
  return { block:block,
326
+ openBlockWith:openBlockWith,
270
327
  openWith:openWith,
271
328
  replaceWith:replaceWith,
272
329
  placeHolder:placeHolder,
273
- closeWith:closeWith
330
+ closeWith:closeWith,
331
+ closeBlockWith:closeBlockWith
274
332
  };
275
333
  }
276
334
 
@@ -307,9 +365,10 @@
307
365
  lines[i] = "";
308
366
  }
309
367
  }
368
+
310
369
  string = { block:lines.join('\n')};
311
370
  start = caretPosition;
312
- len = string.block.length + (($.browser.opera) ? n-1 : 0);
371
+ len = string.block.length + ((browser.opera) ? n-1 : 0);
313
372
  } else if (ctrlKey === true) {
314
373
  string = build(selection);
315
374
  start = caretPosition + string.openWith.length;
@@ -330,8 +389,8 @@
330
389
  if ((selection === '' && string.replaceWith === '')) {
331
390
  caretOffset += fixOperaBug(string.block);
332
391
 
333
- start = caretPosition + string.openWith.length;
334
- len = string.block.length - string.openWith.length - string.closeWith.length;
392
+ start = caretPosition + string.openBlockWith.length + string.openWith.length;
393
+ len = string.block.length - string.openBlockWith.length - string.openWith.length - string.closeWith.length - string.closeBlockWith.length;
335
394
 
336
395
  caretOffset = $$.val().substring(caretPosition, $$.val().length).length;
337
396
  caretOffset -= fixOperaBug($$.val().substring(0, caretPosition));
@@ -366,14 +425,14 @@
366
425
 
367
426
  // Substract linefeed in Opera
368
427
  function fixOperaBug(string) {
369
- if ($.browser.opera) {
428
+ if (browser.opera) {
370
429
  return string.length - string.replace(/\n*/g, '').length;
371
430
  }
372
431
  return 0;
373
432
  }
374
433
  // Substract linefeed in IE
375
434
  function fixIeBug(string) {
376
- if ($.browser.msie) {
435
+ if (browser.msie) {
377
436
  return string.length - string.replace(/\r*/g, '').length;
378
437
  }
379
438
  return 0;
@@ -393,7 +452,7 @@
393
452
  function set(start, len) {
394
453
  if (textarea.createTextRange){
395
454
  // quick fix to make it work on Opera 9.5
396
- if ($.browser.opera && $.browser.version >= 9.5 && len == 0) {
455
+ if (browser.opera && browser.version >= 9.5 && len == 0) {
397
456
  return false;
398
457
  }
399
458
  range = textarea.createTextRange();
@@ -415,7 +474,7 @@
415
474
  scrollPosition = textarea.scrollTop;
416
475
  if (document.selection) {
417
476
  selection = document.selection.createRange().text;
418
- if ($.browser.msie) { // ie
477
+ if (browser.msie) { // ie
419
478
  var range = document.selection.createRange(), rangeCopy = range.duplicate();
420
479
  rangeCopy.moveToElementText(textarea);
421
480
  caretPosition = -1;
@@ -436,7 +495,11 @@
436
495
 
437
496
  // open preview window
438
497
  function preview() {
439
- if (!previewWindow || previewWindow.closed) {
498
+ if (typeof options.previewHandler === 'function') {
499
+ previewWindow = true;
500
+ } else if (options.previewInElement) {
501
+ previewWindow = $(options.previewInElement);
502
+ } else if (!previewWindow || previewWindow.closed) {
440
503
  if (options.previewInWindow) {
441
504
  previewWindow = window.open('', 'preview', options.previewInWindow);
442
505
  $(window).unload(function() {
@@ -472,11 +535,13 @@
472
535
  renderPreview();
473
536
  }
474
537
 
475
- function renderPreview() {
538
+ function renderPreview() {
476
539
  var phtml;
477
- if (options.previewParser && typeof options.previewParser === 'function') {
540
+ if (options.previewHandler && typeof options.previewHandler === 'function') {
541
+ options.previewHandler( $$.val() );
542
+ } else if (options.previewParser && typeof options.previewParser === 'function') {
478
543
  var data = options.previewParser( $$.val() );
479
- writeInPreview( localize(data, 1) );
544
+ writeInPreview(localize(data, 1) );
480
545
  } else if (options.previewParserPath !== '') {
481
546
  $.ajax({
482
547
  type: 'POST',
@@ -504,7 +569,9 @@
504
569
  }
505
570
 
506
571
  function writeInPreview(data) {
507
- if (previewWindow.document) {
572
+ if (options.previewInElement) {
573
+ $(options.previewInElement).html(data);
574
+ } else if (previewWindow && previewWindow.document) {
508
575
  try {
509
576
  sp = previewWindow.document.documentElement.scrollTop
510
577
  } catch(e) {
@@ -525,7 +592,7 @@
525
592
 
526
593
  if (e.type === 'keydown') {
527
594
  if (ctrlKey === true) {
528
- li = $('a[accesskey="'+String.fromCharCode(e.keyCode)+'"]', header).parent('li');
595
+ li = $('a[accesskey="'+((e.keyCode == 13) ? '\\n' : String.fromCharCode(e.keyCode))+'"]', header).parent('li');
529
596
  if (li.length !== 0) {
530
597
  ctrlKey = false;
531
598
  setTimeout(function() {
@@ -566,14 +633,19 @@
566
633
  }
567
634
  }
568
635
 
636
+ function remove() {
637
+ $$.unbind(".markItUp").removeClass('markItUpEditor');
638
+ $$.parent('div').parent('div.markItUp').parent('div').replaceWith($$);
639
+ $$.data('markItUp', null);
640
+ }
641
+
569
642
  init();
570
643
  });
571
644
  };
572
645
 
573
646
  $.fn.markItUpRemove = function() {
574
647
  return this.each(function() {
575
- var $$ = $(this).unbind().removeClass('markItUpEditor');
576
- $$.parent('div').parent('div.markItUp').parent('div').replaceWith($$);
648
+ $(this).markItUp('remove');
577
649
  }
578
650
  );
579
651
  };
@@ -590,4 +662,4 @@
590
662
  $('textarea').trigger('insertion', [options]);
591
663
  }
592
664
  };
593
- })(jQuery);
665
+ })(jQuery);
@@ -5,10 +5,10 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "markitup_rails"
8
- s.version = "0.2.0"
8
+ s.version = "0.2.2"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["Jeff Wigal", "N4th4", "Ze Jin"]
11
+ s.authors = ["Jeff Wigal", "N4th4", "Ze Jin", "voltechs"]
12
12
  s.date = "2012-07-27"
13
13
  s.description = "Rails 3.1 engine that allows you to integrate the markItUp editor into the asset pipeline"
14
14
  s.email = "jeff@assignr.com"
metadata CHANGED
@@ -1,135 +1,140 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: markitup_rails
3
- version: !ruby/object:Gem::Version
4
- hash: 23
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.2.2
5
5
  prerelease:
6
- segments:
7
- - 0
8
- - 2
9
- - 0
10
- version: 0.2.0
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Jeff Wigal
14
9
  - N4th4
15
10
  - Ze Jin
11
+ - voltechs
16
12
  autorequire:
17
13
  bindir: bin
18
14
  cert_chain: []
19
-
20
- date: 2012-07-27 00:00:00 Z
21
- dependencies:
22
- - !ruby/object:Gem::Dependency
23
- requirement: &id001 !ruby/object:Gem::Requirement
15
+ date: 2012-07-27 00:00:00.000000000 Z
16
+ dependencies:
17
+ - !ruby/object:Gem::Dependency
18
+ name: rails
19
+ requirement: !ruby/object:Gem::Requirement
24
20
  none: false
25
- requirements:
21
+ requirements:
26
22
  - - ~>
27
- - !ruby/object:Gem::Version
28
- hash: 5
29
- segments:
30
- - 3
31
- - 1
32
- version: "3.1"
33
- version_requirements: *id001
34
- name: rails
35
- prerelease: false
23
+ - !ruby/object:Gem::Version
24
+ version: '3.1'
36
25
  type: :runtime
37
- - !ruby/object:Gem::Dependency
38
- requirement: &id002 !ruby/object:Gem::Requirement
26
+ prerelease: false
27
+ version_requirements: !ruby/object:Gem::Requirement
39
28
  none: false
40
- requirements:
41
- - - ">="
42
- - !ruby/object:Gem::Version
43
- hash: 3
44
- segments:
45
- - 0
46
- version: "0"
47
- version_requirements: *id002
29
+ requirements:
30
+ - - ~>
31
+ - !ruby/object:Gem::Version
32
+ version: '3.1'
33
+ - !ruby/object:Gem::Dependency
48
34
  name: bluecloth
49
- prerelease: false
35
+ requirement: !ruby/object:Gem::Requirement
36
+ none: false
37
+ requirements:
38
+ - - ! '>='
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
50
41
  type: :runtime
51
- - !ruby/object:Gem::Dependency
52
- requirement: &id003 !ruby/object:Gem::Requirement
42
+ prerelease: false
43
+ version_requirements: !ruby/object:Gem::Requirement
53
44
  none: false
54
- requirements:
55
- - - ">="
56
- - !ruby/object:Gem::Version
57
- hash: 3
58
- segments:
59
- - 0
60
- version: "0"
61
- version_requirements: *id003
45
+ requirements:
46
+ - - ! '>='
47
+ - !ruby/object:Gem::Version
48
+ version: '0'
49
+ - !ruby/object:Gem::Dependency
62
50
  name: bb-ruby
63
- prerelease: false
51
+ requirement: !ruby/object:Gem::Requirement
52
+ none: false
53
+ requirements:
54
+ - - ! '>='
55
+ - !ruby/object:Gem::Version
56
+ version: '0'
64
57
  type: :runtime
65
- - !ruby/object:Gem::Dependency
66
- requirement: &id004 !ruby/object:Gem::Requirement
58
+ prerelease: false
59
+ version_requirements: !ruby/object:Gem::Requirement
67
60
  none: false
68
- requirements:
69
- - - ">="
70
- - !ruby/object:Gem::Version
71
- hash: 3
72
- segments:
73
- - 0
74
- version: "0"
75
- version_requirements: *id004
61
+ requirements:
62
+ - - ! '>='
63
+ - !ruby/object:Gem::Version
64
+ version: '0'
65
+ - !ruby/object:Gem::Dependency
76
66
  name: shoulda
77
- prerelease: false
67
+ requirement: !ruby/object:Gem::Requirement
68
+ none: false
69
+ requirements:
70
+ - - ! '>='
71
+ - !ruby/object:Gem::Version
72
+ version: '0'
78
73
  type: :development
79
- - !ruby/object:Gem::Dependency
80
- requirement: &id005 !ruby/object:Gem::Requirement
74
+ prerelease: false
75
+ version_requirements: !ruby/object:Gem::Requirement
81
76
  none: false
82
- requirements:
83
- - - ">="
84
- - !ruby/object:Gem::Version
85
- hash: 3
86
- segments:
87
- - 0
88
- version: "0"
89
- version_requirements: *id005
77
+ requirements:
78
+ - - ! '>='
79
+ - !ruby/object:Gem::Version
80
+ version: '0'
81
+ - !ruby/object:Gem::Dependency
90
82
  name: bundler
91
- prerelease: false
83
+ requirement: !ruby/object:Gem::Requirement
84
+ none: false
85
+ requirements:
86
+ - - ! '>='
87
+ - !ruby/object:Gem::Version
88
+ version: '0'
92
89
  type: :development
93
- - !ruby/object:Gem::Dependency
94
- requirement: &id006 !ruby/object:Gem::Requirement
90
+ prerelease: false
91
+ version_requirements: !ruby/object:Gem::Requirement
95
92
  none: false
96
- requirements:
93
+ requirements:
94
+ - - ! '>='
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: jeweler
99
+ requirement: !ruby/object:Gem::Requirement
100
+ none: false
101
+ requirements:
97
102
  - - ~>
98
- - !ruby/object:Gem::Version
99
- hash: 7
100
- segments:
101
- - 1
102
- - 6
103
- - 4
103
+ - !ruby/object:Gem::Version
104
104
  version: 1.6.4
105
- version_requirements: *id006
106
- name: jeweler
107
- prerelease: false
108
105
  type: :development
109
- - !ruby/object:Gem::Dependency
110
- requirement: &id007 !ruby/object:Gem::Requirement
106
+ prerelease: false
107
+ version_requirements: !ruby/object:Gem::Requirement
111
108
  none: false
112
- requirements:
113
- - - ">="
114
- - !ruby/object:Gem::Version
115
- hash: 3
116
- segments:
117
- - 0
118
- version: "0"
119
- version_requirements: *id007
109
+ requirements:
110
+ - - ~>
111
+ - !ruby/object:Gem::Version
112
+ version: 1.6.4
113
+ - !ruby/object:Gem::Dependency
120
114
  name: rcov
121
- prerelease: false
115
+ requirement: !ruby/object:Gem::Requirement
116
+ none: false
117
+ requirements:
118
+ - - ! '>='
119
+ - !ruby/object:Gem::Version
120
+ version: '0'
122
121
  type: :development
123
- description: Rails 3.1 engine that allows you to integrate the markItUp editor into the asset pipeline
122
+ prerelease: false
123
+ version_requirements: !ruby/object:Gem::Requirement
124
+ none: false
125
+ requirements:
126
+ - - ! '>='
127
+ - !ruby/object:Gem::Version
128
+ version: '0'
129
+ description: Rails 3.1 engine that allows you to integrate the markItUp editor into
130
+ the asset pipeline
124
131
  email: jeff@assignr.com
125
132
  executables: []
126
-
127
133
  extensions: []
128
-
129
- extra_rdoc_files:
134
+ extra_rdoc_files:
130
135
  - LICENSE.txt
131
136
  - README.rdoc
132
- files:
137
+ files:
133
138
  - .document
134
139
  - Gemfile
135
140
  - Gemfile.lock
@@ -213,37 +218,29 @@ files:
213
218
  - test/helper.rb
214
219
  - test/test_markitup_rails.rb
215
220
  homepage: http://github.com/jwigal/markitup_rails
216
- licenses:
221
+ licenses:
217
222
  - MIT
218
223
  post_install_message:
219
224
  rdoc_options: []
220
-
221
- require_paths:
225
+ require_paths:
222
226
  - lib
223
- required_ruby_version: !ruby/object:Gem::Requirement
227
+ required_ruby_version: !ruby/object:Gem::Requirement
224
228
  none: false
225
- requirements:
226
- - - ">="
227
- - !ruby/object:Gem::Version
228
- hash: 3
229
- segments:
230
- - 0
231
- version: "0"
232
- required_rubygems_version: !ruby/object:Gem::Requirement
229
+ requirements:
230
+ - - ! '>='
231
+ - !ruby/object:Gem::Version
232
+ version: '0'
233
+ required_rubygems_version: !ruby/object:Gem::Requirement
233
234
  none: false
234
- requirements:
235
- - - ">="
236
- - !ruby/object:Gem::Version
237
- hash: 3
238
- segments:
239
- - 0
240
- version: "0"
235
+ requirements:
236
+ - - ! '>='
237
+ - !ruby/object:Gem::Version
238
+ version: '0'
241
239
  requirements: []
242
-
243
240
  rubyforge_project:
244
241
  rubygems_version: 1.8.24
245
242
  signing_key:
246
243
  specification_version: 3
247
- summary: Rails 3.1 engine that allows you to integrate the markItUp editor into the asset pipeline
244
+ summary: Rails 3.1 engine that allows you to integrate the markItUp editor into the
245
+ asset pipeline
248
246
  test_files: []
249
-