timeliner_rails 0.0.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.
checksums.yaml ADDED
@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ YjljMzYwOGZlMWNkNmFiMTliMGRmMzI2OGE3MjkzMDQ1YmY0OWFiNQ==
5
+ data.tar.gz: !binary |-
6
+ MGM0YTNmMTc2ODQ2MWI2MzNlMTQ1ZWU3NjRiODg0NDljMjdhMWM3Yg==
7
+ SHA512:
8
+ metadata.gz: !binary |-
9
+ YmUyNTg1NWUzNWRlODZjNWYxOTljOGIzMjNmMjdjNzMyMmZlMjBlZGYzM2Nk
10
+ ZmJmMTdhMTVlMmMxNzVjNWQ4ZDA5Yjc1ZmRmNGUxMzVmOTQ5Mzg4MTI1ZjY4
11
+ YmFlNzMwNjAyNjM2ZDY3YjlhMDVlNWNmZGJkZWViZWIyMDFlOTA=
12
+ data.tar.gz: !binary |-
13
+ M2VmOTk0M2Q3YTMyMzVkZjI4NjlmZTk0NDViOWIwNDg1MzkwY2RhNmM3NzI0
14
+ YmI5ZjdhM2FjYWQyMWVmNTQzZDhhMmM1ZTU0NDliM2IxZTkzOTM0OTgxOGIw
15
+ MzAyYWQ2OGU4ZmI3M2ZhMWMyNmUzNTk3OGQ5MzE4NjkwZDdkZjQ=
data/.gitignore ADDED
@@ -0,0 +1,17 @@
1
+ *.gem
2
+ *.rbc
3
+ .bundle
4
+ .config
5
+ .yardoc
6
+ Gemfile.lock
7
+ InstalledFiles
8
+ _yardoc
9
+ coverage
10
+ doc/
11
+ lib/bundler/man
12
+ pkg
13
+ rdoc
14
+ spec/reports
15
+ test/tmp
16
+ test/version_tmp
17
+ tmp
data/.gitmodules ADDED
@@ -0,0 +1,3 @@
1
+ [submodule "timeliner"]
2
+ path = timeliner
3
+ url = git@github.com:technotarek/timeliner.git
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in timeliner_rails.gemspec
4
+ gemspec
data/LICENSE.txt ADDED
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2013 Luisa Lima
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,33 @@
1
+ # TimelinerRails
2
+
3
+ timeliner_rails packages the []() jquery plugin (javascripts, stylesheets and images) for use with the rails 3.1+ asset pipeline.
4
+
5
+ ## Installation
6
+
7
+ Add this line to your application's Gemfile:
8
+
9
+ gem 'timeliner_rails'
10
+
11
+
12
+ ## Usage
13
+
14
+ Add this line to your `application.js`:
15
+
16
+ ```javascript
17
+ //= require timeliner.timeliner
18
+ ```
19
+
20
+ Add these lines to your `application.scss` || `application.css`:
21
+
22
+ ```css
23
+ *= require timeliner/screen
24
+ *= require timeliner/responsive
25
+ ```
26
+
27
+ ## Contributing
28
+
29
+ 1. Fork it
30
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
31
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
32
+ 4. Push to the branch (`git push origin my-new-feature`)
33
+ 5. Create new Pull Request
data/Rakefile ADDED
@@ -0,0 +1,48 @@
1
+ Encoding.default_external = "UTF-8" if defined?(Encoding)
2
+
3
+ require "bundler/gem_tasks"
4
+
5
+ def build_image_dependencies(source_code)
6
+ image_dependencies = Set.new source_code.scan(/url\(.*"?images\/([-_.a-zA-Z0-9]+)"?\)/).map(&:first)
7
+ code = image_dependencies.inject("") do |acc, img|
8
+ acc += "//= depend_on_asset \"timeliner/#{img}\"\n"
9
+ end
10
+ end
11
+
12
+ desc "Clean assets"
13
+ task :clean do
14
+ rm_rf 'app'
15
+ end
16
+
17
+ namespace :generate do
18
+ desc "Generate assets"
19
+ task :assets do
20
+
21
+ Rake.rake_output_message "Copying javascripts"
22
+ target_dir = "app/assets/javascripts/timeliner"
23
+ mkdir_p target_dir
24
+ puts FileUtils.cp(Dir.glob("timeliner/js/timeliner.js"), target_dir)
25
+
26
+ Rake.rake_output_message "Copying images"
27
+ target_dir = "app/assets/images/timeliner"
28
+ mkdir_p target_dir
29
+ puts FileUtils.cp(Dir.glob("timeliner/images/*"), target_dir)
30
+
31
+ Rake.rake_output_message "Generating css files"
32
+ target_dir = "app/assets/stylesheets/timeliner"
33
+ mkdir_p target_dir
34
+
35
+ Dir.glob("timeliner/css/*").each do |path|
36
+ basename = File.basename(path)
37
+ source_code = File.read(path)
38
+
39
+ source_code = build_image_dependencies(source_code) + "\n" + source_code unless build_image_dependencies(source_code).empty?
40
+ source_code.gsub!(/url\(.*"?images\/([-_.a-zA-Z0-9]+)"?\)/, "url(<%= image_path(\"timeliner/\\1\") %>)")
41
+
42
+ puts "#{target_dir}/#{basename}.erb"
43
+ File.open("#{target_dir}/#{basename}.erb", "w") do |out|
44
+ out.write(source_code)
45
+ end
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,118 @@
1
+ /*
2
+ * Timeliner.js
3
+ * @version 1.5.1
4
+ * @copyright Tarek Anandan (http://www.technotarek.com)
5
+ */
6
+ ;(function($) {
7
+
8
+ var settings;
9
+ $.timeliner = function(options){
10
+ // default plugin settings
11
+ settings = jQuery.extend({
12
+ timelineContainer: '#timelineContainer', // value: selector of the main element holding the timeline's content, default to #timelineContainer
13
+ startState: 'closed', // value: closed | open, default to closed; sets whether the timeline is initially collapsed or fully expanded
14
+ startOpen: [], // value: array of IDs of single timelineEvents, default to empty; sets the minor events that you want to display open by default on page load
15
+ baseSpeed: 200, // value: numeric, default to 200; sets the base speed for animation of the event marker
16
+ speed: 4, // value: numeric, defalut to 4; a multiplier applied to the base speed that sets the speed at which an event's conents are displayed and hidden
17
+ fontOpen: '1.2em', // value: any valid CSS font-size value, defaults to 1em; sets the font size of an event after it is opened
18
+ fontClosed: '1em', // value: any valid CSS font-size value, defaults to 1em; sets the font size of an event after it is closed
19
+ expandAllText: '+ expand all', // value: string, sets the text of the expandAll selector after the timeline is fully collapsed
20
+ collapseAllText: '- collapse all' // // value: string, sets the text of the expandAll selector after the timeline is fully expanded
21
+ }, options);
22
+
23
+ $(document).ready(function() {
24
+
25
+ function openEvent(eventHeading,eventBody) {
26
+ $(eventHeading)
27
+ .removeClass('closed')
28
+ .addClass('open')
29
+ .animate({ fontSize: settings.fontOpen }, settings.baseSpeed);
30
+ $(eventBody).show(settings.speed*settings.baseSpeed);
31
+ }
32
+
33
+ function closeEvent(eventHeading,eventBody) {
34
+ $(eventHeading)
35
+ .animate({ fontSize: settings.fontClosed }, 0)
36
+ .removeClass('open')
37
+ .addClass('closed');
38
+ $(eventBody).hide(settings.speed*settings.baseSpeed);
39
+ }
40
+
41
+ // If startState option is set to closed, hide all the events; else, show fully expanded upon load
42
+ if(settings.startState==='closed')
43
+ {
44
+ // Close all items
45
+ $(".timelineEvent").hide();
46
+
47
+ // show startOpen events
48
+ $.each($(settings.startOpen), function(index, value) {
49
+ openEvent($(value).parent(".timelineMinor").find("dt a"),$(value));
50
+ });
51
+
52
+ }else{
53
+
54
+ // Open all items
55
+ openEvent($(".timelineMinor dt a"),$(".timelineEvent"));
56
+
57
+ }
58
+
59
+ // Minor Event Click
60
+ $(settings.timelineContainer).on("click",".timelineMinor dt",function(){
61
+
62
+ var currentId = $(this).attr('id');
63
+
64
+ // if the event is currently open
65
+ if($(this).find('a').is('.open'))
66
+ {
67
+
68
+ closeEvent($("a",this),$("#"+currentId+"EX"))
69
+
70
+ } else{ // if the event is currently closed
71
+
72
+ openEvent($("a", this),$("#"+currentId+"EX"));
73
+
74
+ }
75
+
76
+ });
77
+
78
+ // Major Marker Click
79
+ $(settings.timelineContainer).on("click",".timelineMajorMarker",function()
80
+ {
81
+
82
+ // number of minor events under this major event
83
+ var numEvents = $(this).parents(".timelineMajor").find(".timelineMinor").length;
84
+
85
+ // number of minor events already open
86
+ var numOpen = $(this).parents(".timelineMajor").find('.open').length;
87
+
88
+ if(numEvents > numOpen )
89
+ {
90
+
91
+ openEvent($(this).parents(".timelineMajor").find("dt a","dl.timelineMinor"),$(this).parents(".timelineMajor").find(".timelineEvent"));
92
+
93
+ } else{
94
+
95
+ closeEvent($(this).parents(".timelineMajor").find("dl.timelineMinor a"),$(this).parents(".timelineMajor").find(".timelineEvent"));
96
+
97
+ }
98
+ });
99
+
100
+ // All Markers/Events
101
+ $(".expandAll").click(function()
102
+ {
103
+ if($(this).hasClass('expanded'))
104
+ {
105
+
106
+ closeEvent($(this).parents(settings.timelineContainer).find("dt a","dl.timelineMinor"),$(this).parents(settings.timelineContainer).find(".timelineEvent"));
107
+ $(this).removeClass('expanded').html(settings.expandAllText);
108
+
109
+ } else{
110
+
111
+ openEvent($(this).parents(settings.timelineContainer).find("dt a","dl.timelineMinor"),$(this).parents(settings.timelineContainer).find(".timelineEvent"));
112
+ $(this).addClass('expanded').html(settings.collapseAllText);
113
+
114
+ }
115
+ });
116
+ });
117
+ };
118
+ })(jQuery);
@@ -0,0 +1,71 @@
1
+ /* Smartphones (landscape and portrait) ----------- */
2
+ @media screen and (max-width: 768px) {
3
+
4
+ * {
5
+ max-width: 460px;
6
+ }
7
+
8
+ body {
9
+ font-size: large;
10
+ }
11
+
12
+ .container {
13
+ padding:10px;
14
+ }
15
+
16
+ div.timelineToggle {
17
+ float:none;
18
+ }
19
+
20
+ .timelineEvent div.media {
21
+ display:none;
22
+ float:none;
23
+ }
24
+
25
+ .timelineMinor dt {
26
+ font-size:1.2em;
27
+ white-space: normal;
28
+ }
29
+
30
+ .timelineMinor dd h3 {
31
+ font-size:1em;
32
+ white-space: normal;
33
+ }
34
+
35
+ div#timelineContainer {
36
+ }
37
+
38
+ .timelineMinor dd {
39
+ margin-left:20px;
40
+ padding-left:0;
41
+ width:100%;
42
+ }
43
+
44
+ .timelineEvent .media p {
45
+ font-size:1em;
46
+ }
47
+
48
+ dl.timelineMinor {
49
+ float:none;
50
+ max-width:80%;
51
+ }
52
+
53
+ .timelineEvent p {
54
+ float:none;
55
+ width:100%;
56
+ }
57
+
58
+ .timelineEvent blockquote {
59
+ float:none;
60
+ width:200px;
61
+ font-size:1em;
62
+ }
63
+ }
64
+ /* Smartphones (portrait) ----------- */
65
+ @media only screen and (max-width : 320px) {
66
+
67
+ * {
68
+ max-width: 300px;
69
+ }
70
+
71
+ }
@@ -0,0 +1,237 @@
1
+ //= depend_on_asset "timeliner/timeline_century_tick.gif"
2
+ //= depend_on_asset "timeliner/timeline_decade_tick.gif"
3
+
4
+ /* ======= DEMO LAYOUT ======= */
5
+
6
+ body {
7
+ background-color:#2f2f2f;
8
+ color:#eeefef;
9
+ font-size:62.5%;
10
+ font-family:Arial, Helvetica, sans-serif;
11
+ margin:0;
12
+ padding:0;
13
+ }
14
+
15
+ .container {
16
+ width:940px;
17
+ margin-left:auto;
18
+ margin-right:auto;
19
+ padding:10px;
20
+ *zoom:1;
21
+ }
22
+
23
+ h1, h2 { }
24
+
25
+ h1 {
26
+ color:#7DBADF;
27
+ font-size:36px;
28
+ font-weight:400;
29
+ margin:0;
30
+ }
31
+
32
+ h2 {
33
+ font-size:22px;
34
+ font-weight:400;
35
+ margin:5px 0;
36
+ letter-spacing:.1em;
37
+ }
38
+
39
+ h3 {
40
+ font-size:1.6em;
41
+ margin:10px 0 10px 10px;
42
+ }
43
+
44
+ a:link,a:visited {
45
+ color:#7097af;
46
+ text-decoration:none;
47
+ }
48
+
49
+ a:hover {
50
+ color:#7DBADF;
51
+ }
52
+
53
+ a img {
54
+ border:none;
55
+ }
56
+
57
+ p {
58
+ margin:0 0 10px 8px;
59
+ font-size:1.3em;
60
+ font-weight:400;
61
+ line-height:1.6em;
62
+ }
63
+
64
+ .clear {
65
+ clear:both;
66
+ line-height:0;
67
+ font-size:0;
68
+ }
69
+
70
+ /* ============ TIMELINE ============= */
71
+
72
+ div#timelineContainer {
73
+ border-left:2px solid #ccc;
74
+ margin:20px auto;
75
+ width:900px;
76
+ }
77
+
78
+ div.timelineToggle {
79
+ float:right;
80
+ margin-right:0;
81
+ white-space:nowrap;
82
+ }
83
+
84
+ a.expandAll {
85
+ color:#ccc;
86
+ cursor:pointer;
87
+ background:#000;
88
+ -webkit-border-radius:4px;
89
+ -moz-border-radius:4px;
90
+ border-radius:4px;
91
+ font-size:12px;
92
+ padding:3px 5px;
93
+ }
94
+
95
+ a.expandAll:hover {
96
+ color:#7DBADF;
97
+ cursor:pointer;
98
+ }
99
+
100
+ div.timelineMajor {
101
+ clear:left;
102
+ float:left;
103
+ margin:0 0 12px;
104
+ width:900px;
105
+ }
106
+
107
+ .timelineMajor h2 {
108
+ background:url(<%= image_path("timeliner/timeline_century_tick.gif") %>) left center no-repeat;
109
+ font-family:Palatino,"Times New Roman", Times, serif;
110
+ cursor: pointer;
111
+ font-size:3em;
112
+ font-weight:400;
113
+ margin:0 0 10px;
114
+ padding:4px 4px 4px 20px;
115
+ }
116
+
117
+ .timelineMajor h2 span {
118
+ background:#ccc;
119
+ -webkit-border-radius:4px;
120
+ -moz-border-radius:4px;
121
+ border-radius:4px;
122
+ color:#131313;
123
+ letter-spacing:.1em;
124
+ line-height:1.7em;
125
+ padding:3px 5px 1px;
126
+ }
127
+
128
+ dl.timelineMinor {
129
+ clear:left;
130
+ float:left;
131
+ margin:0 12px 0 0;
132
+ padding:4px 4px 4px 0;
133
+ position:relative;
134
+ width:880px;
135
+ }
136
+
137
+ .timelineMinor dt {
138
+ background:url(<%= image_path("timeliner/timeline_decade_tick.gif") %>) left center no-repeat;
139
+ clear:left;
140
+ font-size:1.6em;
141
+ list-style-type:none;
142
+ line-height:1.2em;
143
+ margin:0 0 12px;
144
+ padding:0 0 0 24px;
145
+ white-space:nowrap;
146
+ }
147
+
148
+ .timelineMinor dt a {
149
+ color:#999;
150
+ cursor:pointer;
151
+ }
152
+
153
+ .timelineMinor dt a.closed {
154
+ color:#999;
155
+ font-size:1em;
156
+ margin-left:0;
157
+ }
158
+
159
+ .timelineMinor dt a.open {
160
+ color:#7DBADF;
161
+ }
162
+
163
+ .timelineMinor dt a:hover {
164
+ color:#7DBADF;
165
+ }
166
+
167
+ .timelineMinor dd {
168
+ padding-left:24px;
169
+ width:100%;
170
+ }
171
+
172
+ .timelineMinor dd h3 {
173
+ color:#FFF;
174
+ clear:both;
175
+ float:left;
176
+ font-size:1.5em;
177
+ margin:0;
178
+ white-space:nowrap;
179
+ }
180
+
181
+ .timelineEvent p {
182
+ clear:left;
183
+ float:left;
184
+ line-height:1.5em;
185
+ margin:6px 0 10px;
186
+ width:500px;
187
+ }
188
+
189
+ .timelineEvent h4 {
190
+ clear:left;
191
+ float:left;
192
+ font-size:1.4em;
193
+ font-weight:400;
194
+ margin:10px 0 0;
195
+ padding:0 0 0 20px;
196
+ }
197
+
198
+ .timelineEvent blockquote {
199
+ border-left:2px solid #ccc;
200
+ clear:left;
201
+ float:left;
202
+ font-size:1.8em;
203
+ margin-left:0;
204
+ padding:0 30px;
205
+ width:400px;
206
+ }
207
+
208
+ .timelineEvent blockquote .attribution{
209
+ font-size:0.7em;
210
+ text-align: right;
211
+ }
212
+
213
+
214
+ .timelineEvent div.media {
215
+ float:right;
216
+ padding:0 0 12px;
217
+ width:300px;
218
+ }
219
+
220
+ .timelineEvent .media img {
221
+ border:2px solid #000;
222
+ margin:0;
223
+ }
224
+
225
+ .timelineEvent .media p {
226
+ font-size:1.2em;
227
+ margin:0;
228
+ padding:0;
229
+ }
230
+
231
+ .timelineEvent .media a:link,.timelineEvent .media a:visited {
232
+ color:#ab221b;
233
+ }
234
+
235
+ .timelineEvent .media a:hover {
236
+ color:#7DBADF;
237
+ }
@@ -0,0 +1,6 @@
1
+ require "timeliner_rails/version"
2
+
3
+ module TimelinerRails
4
+ class Engine < Rails::Engine
5
+ end
6
+ end
@@ -0,0 +1,3 @@
1
+ module TimelinerRails
2
+ VERSION = "0.0.2"
3
+ end
@@ -0,0 +1,25 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'timeliner_rails/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "timeliner_rails"
8
+ spec.version = TimelinerRails::VERSION
9
+ spec.authors = ["Luisa Lima"]
10
+ spec.email = ["luisalima@dcc.fc.up.pt"]
11
+ spec.description = %q{This gem packages the Timeliner.js assets (javascripts, stylesheets, and images) for the Rails 3.1+ asset pipeline.}
12
+ spec.summary = %q{This gem packages the Timeliner.js assets (javascripts, stylesheets, and images) for the Rails 3.1+ asset pipeline.}
13
+ spec.homepage = "http://github.com/luisalima/timeliner_rails"
14
+ spec.license = "MIT"
15
+
16
+ spec.files = `git ls-files`.split($/)
17
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
+ spec.require_paths = ["lib"]
20
+
21
+ spec.add_dependency "railties", "~> 3.1"
22
+
23
+ spec.add_development_dependency "bundler", "~> 1.3"
24
+ spec.add_development_dependency "rake"
25
+ end
metadata ADDED
@@ -0,0 +1,103 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: timeliner_rails
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.2
5
+ platform: ruby
6
+ authors:
7
+ - Luisa Lima
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2013-12-30 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: railties
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ~>
18
+ - !ruby/object:Gem::Version
19
+ version: '3.1'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ~>
25
+ - !ruby/object:Gem::Version
26
+ version: '3.1'
27
+ - !ruby/object:Gem::Dependency
28
+ name: bundler
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ~>
32
+ - !ruby/object:Gem::Version
33
+ version: '1.3'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ~>
39
+ - !ruby/object:Gem::Version
40
+ version: '1.3'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rake
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ! '>='
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ description: This gem packages the Timeliner.js assets (javascripts, stylesheets,
56
+ and images) for the Rails 3.1+ asset pipeline.
57
+ email:
58
+ - luisalima@dcc.fc.up.pt
59
+ executables: []
60
+ extensions: []
61
+ extra_rdoc_files: []
62
+ files:
63
+ - .gitignore
64
+ - .gitmodules
65
+ - Gemfile
66
+ - LICENSE.txt
67
+ - README.md
68
+ - Rakefile
69
+ - app/assets/images/timeliner/timeline_century_tick.gif
70
+ - app/assets/images/timeliner/timeline_decade_tick.gif
71
+ - app/assets/javascripts/timeliner/timeliner.js
72
+ - app/assets/stylesheets/timeliner/responsive.css.erb
73
+ - app/assets/stylesheets/timeliner/screen.css.erb
74
+ - lib/timeliner_rails.rb
75
+ - lib/timeliner_rails/version.rb
76
+ - timeliner_rails.gemspec
77
+ homepage: http://github.com/luisalima/timeliner_rails
78
+ licenses:
79
+ - MIT
80
+ metadata: {}
81
+ post_install_message:
82
+ rdoc_options: []
83
+ require_paths:
84
+ - lib
85
+ required_ruby_version: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ! '>='
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ required_rubygems_version: !ruby/object:Gem::Requirement
91
+ requirements:
92
+ - - ! '>='
93
+ - !ruby/object:Gem::Version
94
+ version: '0'
95
+ requirements: []
96
+ rubyforge_project:
97
+ rubygems_version: 2.2.0
98
+ signing_key:
99
+ specification_version: 4
100
+ summary: This gem packages the Timeliner.js assets (javascripts, stylesheets, and
101
+ images) for the Rails 3.1+ asset pipeline.
102
+ test_files: []
103
+ has_rdoc: