midas 0.1.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/.bundle/config +2 -0
- data/.document +5 -0
- data/.gitignore +32 -0
- data/Gemfile +12 -0
- data/LICENSE +20 -0
- data/README.textile +21 -0
- data/Rakefile +84 -0
- data/VERSION +1 -0
- data/features/step_definitions/editor_steps.rb +16 -0
- data/features/step_definitions/web_steps.rb +205 -0
- data/features/support/env.rb +39 -0
- data/features/support/paths.rb +29 -0
- data/features/view_editor.feature +8 -0
- data/generators/midas/midas_generator.rb +1 -0
- data/lib/midas.rb +1 -0
- data/midas.gemspec +131 -0
- data/public/images/midas/toolbars/actions/_background.png +0 -0
- data/public/images/midas/toolbars/actions/_background_radio.png +0 -0
- data/public/images/midas/toolbars/actions/_separator.png +0 -0
- data/public/images/midas/toolbars/actions/extra/prefspane.png +0 -0
- data/public/images/midas/toolbars/actions/extra/todospane.png +0 -0
- data/public/images/midas/toolbars/actions/historypanel.png +0 -0
- data/public/images/midas/toolbars/actions/insertcharacter.png +0 -0
- data/public/images/midas/toolbars/actions/insertlink.png +0 -0
- data/public/images/midas/toolbars/actions/insertmedia.png +0 -0
- data/public/images/midas/toolbars/actions/insertobject.png +0 -0
- data/public/images/midas/toolbars/actions/inserttable.png +0 -0
- data/public/images/midas/toolbars/actions/inspectorpanel.png +0 -0
- data/public/images/midas/toolbars/actions/notespanel.png +0 -0
- data/public/images/midas/toolbars/actions/preview.png +0 -0
- data/public/images/midas/toolbars/actions/redo.png +0 -0
- data/public/images/midas/toolbars/actions/save.png +0 -0
- data/public/images/midas/toolbars/actions/undo.png +0 -0
- data/public/images/midas/toolbars/htmleditor/_background.png +0 -0
- data/public/images/midas/toolbars/htmleditor/_line_separator.png +0 -0
- data/public/images/midas/toolbars/htmleditor/_separator.png +0 -0
- data/public/images/midas/toolbars/htmleditor/buttons.png +0 -0
- data/public/javascripts/midas/config.js +181 -0
- data/public/javascripts/midas/dialog.js +9 -0
- data/public/javascripts/midas/midas.js +307 -0
- data/public/javascripts/midas/native_extensions.js +43 -0
- data/public/javascripts/midas/palette.js +108 -0
- data/public/javascripts/midas/region.js +194 -0
- data/public/javascripts/midas/statusbar.js +84 -0
- data/public/javascripts/midas/toolbar.js +255 -0
- data/public/javascripts/prototype.js +6001 -0
- data/public/midas/backcolor.html +97 -0
- data/public/midas/examples/bundled.html +60 -0
- data/public/midas/examples/iframe.html +73 -0
- data/public/midas/examples/index.html +73 -0
- data/public/midas/examples/javascript_archive.js +111 -0
- data/public/midas/forecolor.html +97 -0
- data/public/stylesheets/midas/dialog.css +2 -0
- data/public/stylesheets/midas/midas.css +9 -0
- data/public/stylesheets/midas/palette.css +50 -0
- data/public/stylesheets/midas/region.css +16 -0
- data/public/stylesheets/midas/statusbar.css +17 -0
- data/public/stylesheets/midas/toolbar.css +262 -0
- data/rails/init.rb +1 -0
- data/spec/javascripts/dialog_spec.js +7 -0
- data/spec/javascripts/fixtures/midas_fixture.html +27 -0
- data/spec/javascripts/fixtures/midas_styles.css +14 -0
- data/spec/javascripts/fixtures/native_extensions_fixture.html +5 -0
- data/spec/javascripts/helpers/browser_detection.js +15 -0
- data/spec/javascripts/helpers/event_simulation.js +505 -0
- data/spec/javascripts/helpers/spec_helper.js +125 -0
- data/spec/javascripts/midas_spec.js +284 -0
- data/spec/javascripts/native_extensions_spec.js +39 -0
- data/spec/javascripts/palette_spec.js +59 -0
- data/spec/javascripts/region_spec.js +441 -0
- data/spec/javascripts/statusbar_spec.js +61 -0
- data/spec/javascripts/support/jasmine.yml +82 -0
- data/spec/javascripts/support/jasmine_config.rb +39 -0
- data/spec/javascripts/support/jasmine_runner.rb +19 -0
- data/spec/javascripts/toolbar_spec.js +149 -0
- data/spec/ruby/helpers/spec_helper.rb +9 -0
- data/spec/ruby/midas_spec.rb +9 -0
- data/spec/spec.opts +1 -0
- data/tasks/midas_tasks.rake +105 -0
- metadata +166 -0
@@ -0,0 +1,82 @@
|
|
1
|
+
# src_files
|
2
|
+
#
|
3
|
+
# Return an array of filepaths relative to src_dir to include before jasmine specs.
|
4
|
+
# Default: []
|
5
|
+
#
|
6
|
+
# EXAMPLE:
|
7
|
+
#
|
8
|
+
# src_files:
|
9
|
+
# - lib/source1.js
|
10
|
+
# - lib/source2.js
|
11
|
+
# - dist/**/*.js
|
12
|
+
#
|
13
|
+
src_files:
|
14
|
+
- javascripts/prototype.js
|
15
|
+
# - javascripts/midas.min.js
|
16
|
+
- javascripts/midas/native_extensions.js
|
17
|
+
- javascripts/midas/midas.js
|
18
|
+
- javascripts/midas/region.js
|
19
|
+
- javascripts/midas/toolbar.js
|
20
|
+
- javascripts/midas/statusbar.js
|
21
|
+
- javascripts/midas/dialog.js
|
22
|
+
- javascripts/midas/palette.js
|
23
|
+
- javascripts/midas/config.js
|
24
|
+
|
25
|
+
# stylesheets
|
26
|
+
#
|
27
|
+
# Return an array of stylesheet filepaths relative to src_dir to include before jasmine specs.
|
28
|
+
# Default: []
|
29
|
+
#
|
30
|
+
# EXAMPLE:
|
31
|
+
#
|
32
|
+
# stylesheets:
|
33
|
+
# - css/style.css
|
34
|
+
# - stylesheets/*.css
|
35
|
+
#
|
36
|
+
stylesheets:
|
37
|
+
|
38
|
+
# helpers
|
39
|
+
#
|
40
|
+
# Return an array of filepaths relative to spec_dir to include before jasmine specs.
|
41
|
+
# Default: ["helpers/**/*.js"]
|
42
|
+
#
|
43
|
+
# EXAMPLE:
|
44
|
+
#
|
45
|
+
# helpers:
|
46
|
+
# - helpers/**/*.js
|
47
|
+
#
|
48
|
+
helpers:
|
49
|
+
|
50
|
+
# spec_files
|
51
|
+
#
|
52
|
+
# Return an array of filepaths relative to spec_dir to include.
|
53
|
+
# Default: ["**/*[sS]pec.js"]
|
54
|
+
#
|
55
|
+
# EXAMPLE:
|
56
|
+
#
|
57
|
+
# spec_files:
|
58
|
+
# - **/*[sS]pec.js
|
59
|
+
#
|
60
|
+
spec_files:
|
61
|
+
|
62
|
+
# src_dir
|
63
|
+
#
|
64
|
+
# Source directory path. Your src_files must be returned relative to this path. Will use root if left blank.
|
65
|
+
# Default: project root
|
66
|
+
#
|
67
|
+
# EXAMPLE:
|
68
|
+
#
|
69
|
+
# src_dir: public
|
70
|
+
#
|
71
|
+
src_dir: public
|
72
|
+
|
73
|
+
# spec_dir
|
74
|
+
#
|
75
|
+
# Spec directory path. Your spec_files must be returned relative to this path.
|
76
|
+
# Default: spec/javascripts
|
77
|
+
#
|
78
|
+
# EXAMPLE:
|
79
|
+
#
|
80
|
+
# spec_dir: spec/javascripts
|
81
|
+
#
|
82
|
+
spec_dir:
|
@@ -0,0 +1,39 @@
|
|
1
|
+
module Jasmine
|
2
|
+
class Config
|
3
|
+
|
4
|
+
alias :original_js_files :js_files
|
5
|
+
def js_files(spec_filter)
|
6
|
+
generate_fixtures
|
7
|
+
original_js_files spec_filter
|
8
|
+
end
|
9
|
+
|
10
|
+
def generate_fixtures
|
11
|
+
FileUtils.cd File.join(spec_dir, 'fixtures') do
|
12
|
+
File.open 'fixtures.js', 'w' do |js_file|
|
13
|
+
|
14
|
+
# import html files
|
15
|
+
js_file.write %Q{jasmine.fixtures = {};\n}
|
16
|
+
Dir['*.html'].each do |filename|
|
17
|
+
js_file.write %Q{jasmine.fixtures['#{filename.sub(/\.html$/, '')}'] = "}
|
18
|
+
File.foreach filename do |line|
|
19
|
+
js_file.write line.chomp.gsub('"', '\\"')
|
20
|
+
end
|
21
|
+
js_file.write %Q{";\n\n}
|
22
|
+
end
|
23
|
+
|
24
|
+
# import css files
|
25
|
+
js_file.write %Q{\njasmine.css = {};\n}
|
26
|
+
Dir['*.css'].each do |filename|
|
27
|
+
js_file.write %Q{jasmine.css['#{filename.sub(/\.css$/, '')}'] = "}
|
28
|
+
File.foreach filename do |line|
|
29
|
+
js_file.write line.chomp.gsub('"', '\\"')
|
30
|
+
end
|
31
|
+
js_file.write %Q{";\n\n}
|
32
|
+
end
|
33
|
+
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'jasmine'
|
3
|
+
jasmine_config_overrides = File.expand_path(File.join(File.dirname(__FILE__), 'jasmine_config.rb'))
|
4
|
+
require jasmine_config_overrides if File.exists?(jasmine_config_overrides)
|
5
|
+
|
6
|
+
jasmine_config = Jasmine::Config.new
|
7
|
+
spec_builder = Jasmine::SpecBuilder.new(jasmine_config)
|
8
|
+
|
9
|
+
should_stop = false
|
10
|
+
|
11
|
+
Spec::Runner.configure do |config|
|
12
|
+
config.after(:suite) do
|
13
|
+
spec_builder.stop if should_stop
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
spec_builder.start
|
18
|
+
should_stop = true
|
19
|
+
spec_builder.declare_suites
|
@@ -0,0 +1,149 @@
|
|
1
|
+
describe('Midas.Toolbar', function() {
|
2
|
+
|
3
|
+
beforeEach(function() {
|
4
|
+
jasmine.loadFixture('midas_fixture');
|
5
|
+
jasmine.loadCSS('midas_styles');
|
6
|
+
});
|
7
|
+
|
8
|
+
afterEach(function () {
|
9
|
+
try {
|
10
|
+
this.toolbar.destroy();
|
11
|
+
this.toolbar = null;
|
12
|
+
} catch(e) {
|
13
|
+
this.toolbar = null;
|
14
|
+
}
|
15
|
+
jasmine.unloadCSS('midas_styles');
|
16
|
+
});
|
17
|
+
|
18
|
+
it('should accept options in the constructor', function() {
|
19
|
+
this.toolbar = new Midas.Toolbar({lettuce: 'banana'});
|
20
|
+
|
21
|
+
expect(this.toolbar.options['lettuce']).toEqual('banana');
|
22
|
+
});
|
23
|
+
|
24
|
+
it('should make a toolbar', function() {
|
25
|
+
this.toolbar = new Midas.Toolbar();
|
26
|
+
|
27
|
+
expect(this.toolbar.element).not.toBeFalsy();
|
28
|
+
expect($(this.toolbar.element.getAttribute('id'))).not.toBeFalsy(1);
|
29
|
+
expect($$('body .midas-toolbar').length).toEqual(1);
|
30
|
+
});
|
31
|
+
|
32
|
+
it('should generate an id for the toolbar it creates', function() {
|
33
|
+
this.toolbar = new Midas.Toolbar();
|
34
|
+
|
35
|
+
var id = this.toolbar.generateId();
|
36
|
+
expect($(id)).not.toBeNull();
|
37
|
+
expect(this.toolbar.generateId()).toEqual(id);
|
38
|
+
});
|
39
|
+
|
40
|
+
it('should be able to put the toolbar inside an existing element', function() {
|
41
|
+
this.toolbar = new Midas.Toolbar({appendTo: 'toolbar'});
|
42
|
+
|
43
|
+
expect($('toolbar').innerHTML).not.toEqual('toolbar');
|
44
|
+
});
|
45
|
+
|
46
|
+
it('should fill the toolbar with buttons (based on configuration)', function() {
|
47
|
+
this.toolbar = new Midas.Toolbar({appendTo: 'toolbar'});
|
48
|
+
|
49
|
+
expect($('toolbar').innerHTML).toContain('Save this page');
|
50
|
+
expect($('toolbar').innerHTML).toContain('class="midas-flex-separator"');
|
51
|
+
});
|
52
|
+
|
53
|
+
it('should make buttons and button groups', function() {
|
54
|
+
this.toolbar = new Midas.Toolbar({appendTo: 'toolbar'});
|
55
|
+
|
56
|
+
expect($('toolbar').select('.midas-group').length).toBeGreaterThan(2);
|
57
|
+
expect($('toolbar').innerHTML).toContain('class="midas-group"');
|
58
|
+
expect(this.toolbar.buttons['preview']['spec']).
|
59
|
+
toEqual(Midas.Config.toolbars['actions']['preview']);
|
60
|
+
});
|
61
|
+
|
62
|
+
it('should make separators', function() {
|
63
|
+
this.toolbar = new Midas.Toolbar();
|
64
|
+
|
65
|
+
expect(this.toolbar.makeSeparator('-').getAttribute('class')).toEqual('midas-line-separator');
|
66
|
+
expect(this.toolbar.makeSeparator('*').getAttribute('class')).toEqual('midas-flex-separator');
|
67
|
+
expect(this.toolbar.makeSeparator(' ').getAttribute('class')).toEqual('midas-separator');
|
68
|
+
});
|
69
|
+
|
70
|
+
it('should keep track of palettes that is has', function() {
|
71
|
+
this.toolbar = new Midas.Toolbar();
|
72
|
+
|
73
|
+
expect(this.toolbar.palettes.length).toEqual(1);
|
74
|
+
});
|
75
|
+
|
76
|
+
stub('should hide all palettes when anything besides a palette is clicked', function() {
|
77
|
+
|
78
|
+
});
|
79
|
+
|
80
|
+
stub('should inactivate any active buttons', function() {
|
81
|
+
|
82
|
+
});
|
83
|
+
|
84
|
+
it('should destroy', function() {
|
85
|
+
this.toolbar = new Midas.Toolbar();
|
86
|
+
this.toolbar.destroy();
|
87
|
+
|
88
|
+
expect(this.toolbar.palettes.length).toEqual(0);
|
89
|
+
expect(this.toolbar.element).toBeFalsy();
|
90
|
+
expect($$('.midas-toolbar').length).toEqual(0);
|
91
|
+
});
|
92
|
+
|
93
|
+
describe('button types and their behaviors', function() {
|
94
|
+
|
95
|
+
beforeEach(function() {
|
96
|
+
this.spy = spyOn(Event, 'fire').andCallFake(function() {
|
97
|
+
jasmine.log('>> Mock Event.fire called with ' + arguments.length + ' arguments...');
|
98
|
+
});
|
99
|
+
});
|
100
|
+
|
101
|
+
it('should handle regular buttons', function() {
|
102
|
+
this.toolbar = new Midas.Toolbar({appendTo: 'toolbar'});
|
103
|
+
|
104
|
+
jasmine.simulate.click(this.toolbar.buttons['bold'].element);
|
105
|
+
expect(this.spy.callCount).toEqual(1);
|
106
|
+
});
|
107
|
+
|
108
|
+
it('should handle toggle buttons', function() {
|
109
|
+
this.toolbar = new Midas.Toolbar({appendTo: 'toolbar'});
|
110
|
+
|
111
|
+
jasmine.simulate.click(this.toolbar.buttons['preview'].element);
|
112
|
+
expect(this.toolbar.buttons['preview'].element.getAttribute('class')).
|
113
|
+
toEqual('midas-button midas-button-preview pressed');
|
114
|
+
expect(this.spy.callCount).toEqual(2);
|
115
|
+
});
|
116
|
+
|
117
|
+
it('should handle context buttons', function() {
|
118
|
+
this.toolbar = new Midas.Toolbar({appendTo: 'toolbar'});
|
119
|
+
|
120
|
+
expect(this.toolbar.contexts.length).toBeGreaterThan(2);
|
121
|
+
});
|
122
|
+
|
123
|
+
it('should handle mode buttons, and buttons with more than one type', function() {
|
124
|
+
this.toolbar = new Midas.Toolbar({appendTo: 'toolbar'});
|
125
|
+
|
126
|
+
jasmine.simulate.click(this.toolbar.buttons['preview'].element);
|
127
|
+
expect(this.spy.callCount).toEqual(2);
|
128
|
+
});
|
129
|
+
|
130
|
+
});
|
131
|
+
|
132
|
+
describe('events that fire', function() {
|
133
|
+
|
134
|
+
beforeEach(function() {
|
135
|
+
this.spy = spyOn(Event, 'fire').andCallFake(function() {
|
136
|
+
jasmine.log('>> Mock Event.fire called with ' + arguments.length + ' arguments...');
|
137
|
+
});
|
138
|
+
});
|
139
|
+
|
140
|
+
it('should fire at least one event when a button is clicked', function() {
|
141
|
+
this.toolbar = new Midas.Toolbar({appendTo: 'toolbar'});
|
142
|
+
|
143
|
+
jasmine.simulate.click($$('.midas-button-insertorderedlist')[0]);
|
144
|
+
expect(this.spy.callCount).toBeGreaterThan(0);
|
145
|
+
});
|
146
|
+
|
147
|
+
});
|
148
|
+
|
149
|
+
});
|
data/spec/spec.opts
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
--color
|
@@ -0,0 +1,105 @@
|
|
1
|
+
require 'packr'
|
2
|
+
require 'base64'
|
3
|
+
|
4
|
+
def copy(filename, from_dir, to_dir)
|
5
|
+
from = File.expand_path(File.join(from_dir, filename))
|
6
|
+
to = File.expand_path(File.join(to_dir, filename))
|
7
|
+
|
8
|
+
if File.exist?(File.expand_path(to_dir))
|
9
|
+
puts " exists: #{to_dir}"
|
10
|
+
else
|
11
|
+
puts " creating: #{to_dir}"
|
12
|
+
FileUtils.mkdir(to_dir)
|
13
|
+
end
|
14
|
+
|
15
|
+
if File.exist?(to)
|
16
|
+
puts " exists: #{to}"
|
17
|
+
else
|
18
|
+
puts " creating: #{to}"
|
19
|
+
FileUtils.cp(from, to)
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
namespace :midas do
|
24
|
+
desc "Install midas into your project"
|
25
|
+
task :install => [:minify_js, :bundle_css, :copy_assets] do
|
26
|
+
|
27
|
+
end
|
28
|
+
|
29
|
+
desc "Build install files, but don't install"
|
30
|
+
task :build => [:minify_js, :bundle_css] do
|
31
|
+
|
32
|
+
end
|
33
|
+
|
34
|
+
desc "Combine, minify, and pack development js files into midas.js and midas.min.js"
|
35
|
+
task :minify_js do
|
36
|
+
thisfile = File.dirname(__FILE__)
|
37
|
+
output_path = "#{thisfile}/../public/javascripts"
|
38
|
+
input_path = "#{thisfile}/../public/javascripts/midas"
|
39
|
+
|
40
|
+
code = ''
|
41
|
+
config_code = File.read("#{input_path}/config.js")
|
42
|
+
%w[native_extensions midas region toolbar statusbar dialog palette].each do |file|
|
43
|
+
code << File.read("#{input_path}/#{file}.js")
|
44
|
+
end
|
45
|
+
|
46
|
+
File.open("#{output_path}/midas.js", 'wb') { |file| file.write(code + config_code) }
|
47
|
+
File.open("#{output_path}/midas.min.js", 'wb') do |file|
|
48
|
+
file.write(Packr.pack(code, :base62 => true) + ";\n" + config_code)
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
desc "Combine stylesheets into midas.css and midas.min.css (bundling image assets where possible)"
|
53
|
+
task :bundle_css do
|
54
|
+
thisfile = File.dirname(__FILE__)
|
55
|
+
output_path = "#{thisfile}/../public/stylesheets"
|
56
|
+
input_path = "#{thisfile}/../public/stylesheets/midas"
|
57
|
+
|
58
|
+
code = ''
|
59
|
+
%w[midas region toolbar statusbar dialog palette].each do |file|
|
60
|
+
code << File.read("#{input_path}/#{file}.css")
|
61
|
+
end
|
62
|
+
|
63
|
+
File.open("#{output_path}/midas.css", 'wb') { |file| file.write(code) }
|
64
|
+
File.open("#{output_path}/midas.bundle.css", 'wb') do |file|
|
65
|
+
# import image files using: url(data:image/gif;base64,XEQA7)
|
66
|
+
code.gsub!(/url\(\.\.\/\.\.(.*)\)/ix) do |m|
|
67
|
+
encoded = Base64.encode64(File.read("#{thisfile}/../public#{$1}")).gsub("\n", '')
|
68
|
+
encoded.size > 32 * 1024 ? "url(..#{$1})" : "url(data:image/png;base64,#{encoded})"
|
69
|
+
end
|
70
|
+
# remove comments (only /* */ style, we don't support the other kind)
|
71
|
+
code.gsub!(/\/?\*.*/, '')
|
72
|
+
# remove whitespace
|
73
|
+
code.gsub!(/\s+/, ' ')
|
74
|
+
# put a few line breaks back in
|
75
|
+
code.gsub!(/\}/, "}\n")
|
76
|
+
# remove more whitespace
|
77
|
+
code.gsub!(/^\s+/, '')
|
78
|
+
file.write(code)
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
82
|
+
task :copy_assets do
|
83
|
+
raise 'This task expects a RAILS_ROOT variable.' unless RAILS_ROOT
|
84
|
+
|
85
|
+
%w[stylesheets/*.css javascripts/*.js].each do |path|
|
86
|
+
Dir[File.join(File.dirname(__FILE__), "/../public/#{path}")].sort.each do |filename|
|
87
|
+
to = File.join(RAILS_ROOT, 'public', File.dirname(path))
|
88
|
+
copy(File.basename(filename), File.dirname(filename), to)
|
89
|
+
end
|
90
|
+
end
|
91
|
+
end
|
92
|
+
|
93
|
+
task :copy_images do
|
94
|
+
raise 'This task expects a RAILS_ROOT variable.' unless RAILS_ROOT
|
95
|
+
|
96
|
+
%w[images/*].each do |path|
|
97
|
+
Dir[File.join(File.dirname(__FILE__), "/../public/#{path}")].sort.each do |filename|
|
98
|
+
to = File.join(RAILS_ROOT, 'public', File.dirname(path))
|
99
|
+
copy(File.basename(filename), File.dirname(filename), to)
|
100
|
+
end
|
101
|
+
end
|
102
|
+
end
|
103
|
+
|
104
|
+
end
|
105
|
+
|
metadata
ADDED
@@ -0,0 +1,166 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: midas
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Jeremy Jackson
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
|
12
|
+
date: 2010-06-06 00:00:00 -06:00
|
13
|
+
default_executable:
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
|
+
name: packr
|
17
|
+
type: :runtime
|
18
|
+
version_requirement:
|
19
|
+
version_requirements: !ruby/object:Gem::Requirement
|
20
|
+
requirements:
|
21
|
+
- - ">="
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: 3.1.0
|
24
|
+
version:
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: rspec
|
27
|
+
type: :development
|
28
|
+
version_requirement:
|
29
|
+
version_requirements: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 1.3.0
|
34
|
+
version:
|
35
|
+
- !ruby/object:Gem::Dependency
|
36
|
+
name: jasmine
|
37
|
+
type: :development
|
38
|
+
version_requirement:
|
39
|
+
version_requirements: !ruby/object:Gem::Requirement
|
40
|
+
requirements:
|
41
|
+
- - ">="
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: 0.10.3.5
|
44
|
+
version:
|
45
|
+
description: Provides a front end for editing content in a contextual way with WYSIWYG editing
|
46
|
+
email: jejacks0n@gmail.com
|
47
|
+
executables: []
|
48
|
+
|
49
|
+
extensions: []
|
50
|
+
|
51
|
+
extra_rdoc_files:
|
52
|
+
- LICENSE
|
53
|
+
- README.textile
|
54
|
+
files:
|
55
|
+
- .bundle/config
|
56
|
+
- .document
|
57
|
+
- .gitignore
|
58
|
+
- Gemfile
|
59
|
+
- LICENSE
|
60
|
+
- README.textile
|
61
|
+
- Rakefile
|
62
|
+
- VERSION
|
63
|
+
- features/step_definitions/editor_steps.rb
|
64
|
+
- features/step_definitions/web_steps.rb
|
65
|
+
- features/support/env.rb
|
66
|
+
- features/support/paths.rb
|
67
|
+
- features/view_editor.feature
|
68
|
+
- generators/midas/midas_generator.rb
|
69
|
+
- lib/midas.rb
|
70
|
+
- midas.gemspec
|
71
|
+
- public/images/midas/toolbars/actions/_background.png
|
72
|
+
- public/images/midas/toolbars/actions/_background_radio.png
|
73
|
+
- public/images/midas/toolbars/actions/_separator.png
|
74
|
+
- public/images/midas/toolbars/actions/extra/prefspane.png
|
75
|
+
- public/images/midas/toolbars/actions/extra/todospane.png
|
76
|
+
- public/images/midas/toolbars/actions/historypanel.png
|
77
|
+
- public/images/midas/toolbars/actions/insertcharacter.png
|
78
|
+
- public/images/midas/toolbars/actions/insertlink.png
|
79
|
+
- public/images/midas/toolbars/actions/insertmedia.png
|
80
|
+
- public/images/midas/toolbars/actions/insertobject.png
|
81
|
+
- public/images/midas/toolbars/actions/inserttable.png
|
82
|
+
- public/images/midas/toolbars/actions/inspectorpanel.png
|
83
|
+
- public/images/midas/toolbars/actions/notespanel.png
|
84
|
+
- public/images/midas/toolbars/actions/preview.png
|
85
|
+
- public/images/midas/toolbars/actions/redo.png
|
86
|
+
- public/images/midas/toolbars/actions/save.png
|
87
|
+
- public/images/midas/toolbars/actions/undo.png
|
88
|
+
- public/images/midas/toolbars/htmleditor/_background.png
|
89
|
+
- public/images/midas/toolbars/htmleditor/_line_separator.png
|
90
|
+
- public/images/midas/toolbars/htmleditor/_separator.png
|
91
|
+
- public/images/midas/toolbars/htmleditor/buttons.png
|
92
|
+
- public/javascripts/midas/config.js
|
93
|
+
- public/javascripts/midas/dialog.js
|
94
|
+
- public/javascripts/midas/midas.js
|
95
|
+
- public/javascripts/midas/native_extensions.js
|
96
|
+
- public/javascripts/midas/palette.js
|
97
|
+
- public/javascripts/midas/region.js
|
98
|
+
- public/javascripts/midas/statusbar.js
|
99
|
+
- public/javascripts/midas/toolbar.js
|
100
|
+
- public/javascripts/prototype.js
|
101
|
+
- public/midas/backcolor.html
|
102
|
+
- public/midas/examples/bundled.html
|
103
|
+
- public/midas/examples/iframe.html
|
104
|
+
- public/midas/examples/index.html
|
105
|
+
- public/midas/examples/javascript_archive.js
|
106
|
+
- public/midas/forecolor.html
|
107
|
+
- public/stylesheets/midas/dialog.css
|
108
|
+
- public/stylesheets/midas/midas.css
|
109
|
+
- public/stylesheets/midas/palette.css
|
110
|
+
- public/stylesheets/midas/region.css
|
111
|
+
- public/stylesheets/midas/statusbar.css
|
112
|
+
- public/stylesheets/midas/toolbar.css
|
113
|
+
- rails/init.rb
|
114
|
+
- spec/javascripts/dialog_spec.js
|
115
|
+
- spec/javascripts/fixtures/midas_fixture.html
|
116
|
+
- spec/javascripts/fixtures/midas_styles.css
|
117
|
+
- spec/javascripts/fixtures/native_extensions_fixture.html
|
118
|
+
- spec/javascripts/helpers/browser_detection.js
|
119
|
+
- spec/javascripts/helpers/event_simulation.js
|
120
|
+
- spec/javascripts/helpers/spec_helper.js
|
121
|
+
- spec/javascripts/midas_spec.js
|
122
|
+
- spec/javascripts/native_extensions_spec.js
|
123
|
+
- spec/javascripts/palette_spec.js
|
124
|
+
- spec/javascripts/region_spec.js
|
125
|
+
- spec/javascripts/statusbar_spec.js
|
126
|
+
- spec/javascripts/support/jasmine.yml
|
127
|
+
- spec/javascripts/support/jasmine_config.rb
|
128
|
+
- spec/javascripts/support/jasmine_runner.rb
|
129
|
+
- spec/javascripts/toolbar_spec.js
|
130
|
+
- spec/ruby/helpers/spec_helper.rb
|
131
|
+
- spec/ruby/midas_spec.rb
|
132
|
+
- spec/spec.opts
|
133
|
+
- tasks/midas_tasks.rake
|
134
|
+
has_rdoc: true
|
135
|
+
homepage: http://github.com/jejacks0n/midas
|
136
|
+
licenses: []
|
137
|
+
|
138
|
+
post_install_message:
|
139
|
+
rdoc_options:
|
140
|
+
- --charset=UTF-8
|
141
|
+
require_paths:
|
142
|
+
- lib
|
143
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
144
|
+
requirements:
|
145
|
+
- - ">="
|
146
|
+
- !ruby/object:Gem::Version
|
147
|
+
version: "0"
|
148
|
+
version:
|
149
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
150
|
+
requirements:
|
151
|
+
- - ">="
|
152
|
+
- !ruby/object:Gem::Version
|
153
|
+
version: "0"
|
154
|
+
version:
|
155
|
+
requirements: []
|
156
|
+
|
157
|
+
rubyforge_project:
|
158
|
+
rubygems_version: 1.3.5
|
159
|
+
signing_key:
|
160
|
+
specification_version: 3
|
161
|
+
summary: A rich text editor gem for Rails
|
162
|
+
test_files:
|
163
|
+
- spec/javascripts/support/jasmine_config.rb
|
164
|
+
- spec/javascripts/support/jasmine_runner.rb
|
165
|
+
- spec/ruby/helpers/spec_helper.rb
|
166
|
+
- spec/ruby/midas_spec.rb
|