jekyll-attendease 0.6.10 → 0.6.11.pre
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/lib/jekyll/attendease_plugin.rb +4 -0
- data/lib/jekyll/attendease_plugin/event_data_generator.rb +5 -2
- data/lib/jekyll/attendease_plugin/home_page.rb +35 -0
- data/lib/jekyll/attendease_plugin/home_page_generator.rb +12 -0
- data/lib/jekyll/attendease_plugin/version.rb +1 -1
- data/spec/lib/jekyll/attendease_plugin/event_data_generator_spec.rb +3 -2
- data/spec/lib/jekyll/attendease_plugin/home_page_generator_spec.rb +53 -0
- data/templates/attendease/index.html +265 -0
- data/templates/{_includes/attendease → attendease}/presenters/index.html +0 -0
- data/templates/{_includes/attendease → attendease}/presenters/presenter.html +0 -0
- data/templates/{_includes/attendease → attendease}/redirect.html +0 -0
- data/templates/{_includes/attendease → attendease}/schedule/day.html +0 -0
- data/templates/{_includes/attendease → attendease}/schedule/index.html +0 -0
- data/templates/{_includes/attendease → attendease}/schedule/session.html +0 -0
- data/templates/{_includes/attendease → attendease}/schedule/sessions.html +0 -0
- data/templates/{_includes/attendease → attendease}/schedule/widget.html +0 -0
- data/templates/{_includes/attendease → attendease}/sponsors/index.html +0 -0
- data/templates/{_includes/attendease → attendease}/venues/index.html +0 -0
- data/templates/{_includes/attendease → attendease}/venues/venue.html +0 -0
- metadata +40 -53
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 5c29fa1f96f397b4c423f4bbb7eea5b1aab3fadf
|
4
|
+
data.tar.gz: c501afde0e0347dedbf076f84ccc297c391d4d66
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 45832ac3c8ad82a7dd59ef71c788c7ce334e0b92edc98015081535eca026be31a4b2ad43430066d88a177fb5806dde6758b3eea8673d469fd3538620c16f08ee
|
7
|
+
data.tar.gz: 36d04b855eb0cb3b00e1bda2dd8f67de89a194c97cf3098cddd1bf9736441b099fe923214f158774861d031c6e47e6b50c43c30d85f1c8d038f7e5325f8f07cb
|
@@ -4,6 +4,7 @@ require 'jekyll/attendease_plugin/schedule_data_parser'
|
|
4
4
|
# Generators:
|
5
5
|
require 'jekyll/attendease_plugin/event_data_generator'
|
6
6
|
require 'jekyll/attendease_plugin/event_layout_generator'
|
7
|
+
require 'jekyll/attendease_plugin/home_page_generator'
|
7
8
|
require 'jekyll/attendease_plugin/schedule_generator'
|
8
9
|
require 'jekyll/attendease_plugin/sponsor_generator'
|
9
10
|
require 'jekyll/attendease_plugin/pre_zero_point_six_link_redirect_generator'
|
@@ -18,6 +19,7 @@ require 'jekyll/attendease_plugin/helpers'
|
|
18
19
|
|
19
20
|
# Pages
|
20
21
|
require 'jekyll/attendease_plugin/event_layout_page'
|
22
|
+
require 'jekyll/attendease_plugin/home_page'
|
21
23
|
require 'jekyll/attendease_plugin/presenters_index_page'
|
22
24
|
require 'jekyll/attendease_plugin/presenter_page'
|
23
25
|
require 'jekyll/attendease_plugin/schedule_day_page'
|
@@ -27,4 +29,6 @@ require 'jekyll/attendease_plugin/schedule_session_page'
|
|
27
29
|
require 'jekyll/attendease_plugin/sponsors_index_page'
|
28
30
|
require 'jekyll/attendease_plugin/venues_index_page'
|
29
31
|
require 'jekyll/attendease_plugin/venue_page'
|
32
|
+
|
33
|
+
# Ve.rs.ion
|
30
34
|
require 'jekyll/attendease_plugin/version'
|
@@ -34,7 +34,7 @@ module Jekyll
|
|
34
34
|
|
35
35
|
FileUtils.mkdir_p(@attendease_data_path)
|
36
36
|
|
37
|
-
data_files = %w{ site event sessions presenters rooms filters venues sponsors }.map { |m| "#{m}.json"} << 'lingo.yml'
|
37
|
+
data_files = %w{ site templates event sessions presenters rooms filters venues sponsors }.map { |m| "#{m}.json"} << 'lingo.yml'
|
38
38
|
|
39
39
|
data_files.each do |file_name|
|
40
40
|
update_data = true
|
@@ -121,7 +121,7 @@ module Jekyll
|
|
121
121
|
raise "Could not create #{path}." unless File.exists?(path)
|
122
122
|
end
|
123
123
|
|
124
|
-
template_path = File.expand_path(File.join(File.dirname(__FILE__), '..', '..', '..', 'templates', '
|
124
|
+
template_path = File.expand_path(File.join(File.dirname(__FILE__), '..', '..', '..', 'templates', 'attendease'))
|
125
125
|
files_to_create_if_they_dont_exist = Dir.chdir(template_path) { Dir.glob('*/**.html') + Dir.glob('*.html') }
|
126
126
|
|
127
127
|
files_to_create_if_they_dont_exist.each do |file|
|
@@ -129,6 +129,9 @@ module Jekyll
|
|
129
129
|
FileUtils.cp(File.join(template_path, file), destination_file) unless File.exists?(destination_file)
|
130
130
|
end
|
131
131
|
|
132
|
+
# Override the template files with template data from the Attendease event
|
133
|
+
site.config['attendease']['templates'] = JSON.parse(File.read(File.join(site.config['source'], '_attendease', 'data', 'templates.json')))
|
134
|
+
|
132
135
|
# make the event available to anyone
|
133
136
|
event = JSON.parse(File.read("#{@attendease_data_path}/event.json"))
|
134
137
|
site.config['attendease']['event'] = event
|
@@ -0,0 +1,35 @@
|
|
1
|
+
module Jekyll
|
2
|
+
module AttendeasePlugin
|
3
|
+
class HomePage < Page
|
4
|
+
def initialize(site, base, dir)
|
5
|
+
@site = site
|
6
|
+
@base = base
|
7
|
+
@dir = dir
|
8
|
+
@name = 'index.html'
|
9
|
+
|
10
|
+
self.process(@name)
|
11
|
+
|
12
|
+
base_layout = site.config['attendease']['base_layout'] || 'layout'
|
13
|
+
|
14
|
+
self.read_yaml(File.join(site.source, '_layouts'), "#{base_layout}.html")
|
15
|
+
|
16
|
+
self.data['title'] = site.config['homepage_title'] || 'Welcome'
|
17
|
+
|
18
|
+
if site.config['attendease'] && templates = site.config['attendease']['templates']
|
19
|
+
if t = templates.detect{|t| t['page'] == 'index'}
|
20
|
+
template = t['data']
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
if template.nil?
|
25
|
+
# use the included template in the gem
|
26
|
+
self.content = File.read(File.join(base, '_attendease', 'templates', 'index.html'))
|
27
|
+
else
|
28
|
+
# use the template file from the attendease api
|
29
|
+
self.content = template
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
@@ -3,12 +3,13 @@ require 'spec_helper'
|
|
3
3
|
RSpec.describe Jekyll::AttendeasePlugin::EventDataGenerator do
|
4
4
|
|
5
5
|
it 'creates the Attendease stub pages' do
|
6
|
-
template_files = Dir.chdir(@template_root) { Dir.glob('
|
6
|
+
template_files = Dir.chdir(File.join(@template_root, 'attendease')) { Dir.glob('**/**.html') }
|
7
7
|
|
8
8
|
template_files.each do |template_file|
|
9
9
|
path = File.join(@site.config['source'], '_attendease', 'templates', template_file)
|
10
|
+
|
10
11
|
expect(File.exists?(path)).to eq(true)
|
11
|
-
expect(File.size(path)).to > 0
|
12
|
+
expect(File.size(path)).to be > 0
|
12
13
|
end
|
13
14
|
end
|
14
15
|
|
@@ -0,0 +1,53 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
RSpec.describe Jekyll::AttendeasePlugin::HomePageGenerator do
|
4
|
+
|
5
|
+
context 'Using the default homepage template in the gem' do
|
6
|
+
before do
|
7
|
+
# Ensure no custom templates are being used.
|
8
|
+
templates_json = File.join(@site.config['source'], '_attendease', 'data', 'templates.json')
|
9
|
+
File.open(templates_json, 'w') { |file| file.write([].to_json) }
|
10
|
+
@site = build_site
|
11
|
+
end
|
12
|
+
|
13
|
+
|
14
|
+
it 'creates the home page' do
|
15
|
+
template_files = Dir.chdir(@template_root) { Dir.glob('*/**.html') }
|
16
|
+
|
17
|
+
expect(File.exists?(File.join(@site.config['destination'], 'index.html'))).to eq(true)
|
18
|
+
expect(File.read(File.join(@site.config['destination'], 'index.html'))).to include "<h2>WHO</h2>"
|
19
|
+
expect(File.read(File.join(@site.config['destination'], 'index.html'))).to include "<div class=\"info\">#{@site.config['attendease']['data']['event_host']}</div>"
|
20
|
+
expect(File.read(File.join(@site.config['destination'], 'index.html'))).to include "<h2>WHEN</h2>"
|
21
|
+
expect(File.read(File.join(@site.config['destination'], 'index.html'))).to include "<div class=\"info\">#{@site.config['attendease']['data']['event_dates']}</div>"
|
22
|
+
expect(File.read(File.join(@site.config['destination'], 'index.html'))).to include "<h2>WHERE</h2>"
|
23
|
+
expect(File.read(File.join(@site.config['destination'], 'index.html'))).to include "<div class=\"info\">#{@site.config['attendease']['data']['event_location']}</div>"
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
context 'Using a custom homepage template from the Attendease API' do
|
28
|
+
before do
|
29
|
+
templates_json = File.join(@site.config['source'], '_attendease', 'data', 'templates.json')
|
30
|
+
|
31
|
+
templates = [
|
32
|
+
{
|
33
|
+
:data => "<h1>This is a custom homepage for Attendease</h1>",
|
34
|
+
:id => "544e905b0bdb82e3ac000002",
|
35
|
+
:page => 'index',
|
36
|
+
:section => 'website'
|
37
|
+
}
|
38
|
+
]
|
39
|
+
|
40
|
+
File.open(templates_json, 'w') { |file| file.write(templates.to_json) }
|
41
|
+
|
42
|
+
@site = build_site
|
43
|
+
end
|
44
|
+
|
45
|
+
it 'creates the home page' do
|
46
|
+
template_files = Dir.chdir(@template_root) { Dir.glob('*/**.html') }
|
47
|
+
|
48
|
+
expect(File.exists?(File.join(@site.config['destination'], 'index.html'))).to eq(true)
|
49
|
+
expect(File.read(File.join(@site.config['destination'], 'index.html'))).to include "<h1>This is a custom homepage for #{@site.config['attendease']['data']['event_host']}</h1>"
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
end
|
@@ -0,0 +1,265 @@
|
|
1
|
+
<div class="jumbotron">
|
2
|
+
{% if site.attendease.data.event_marquee_landing_page_foreground_image_url %}
|
3
|
+
<div class="event-marquee-foreground-image">
|
4
|
+
<img class="img-responsive center-block" src="{{ site.attendease.data.event_marquee_landing_page_foreground_image_url }}" />
|
5
|
+
</div>
|
6
|
+
{% else %}
|
7
|
+
<div class="container">
|
8
|
+
<h1>{{ site.attendease.data.event_marquee_title }}</h1>
|
9
|
+
|
10
|
+
{% if site.attendease.data.event_marquee_tagline %}
|
11
|
+
<h2>{{ site.attendease.data.event_marquee_tagline }}</h2>
|
12
|
+
{% endif %}
|
13
|
+
</div>
|
14
|
+
{% endif %}
|
15
|
+
</div>
|
16
|
+
|
17
|
+
{% if site.attendease.data.event_host %}
|
18
|
+
<div class="event-details">
|
19
|
+
<div class="container">
|
20
|
+
<div class="row">
|
21
|
+
<div class="col-md-2">
|
22
|
+
<h2>WHO</h2>
|
23
|
+
</div>
|
24
|
+
<div class="col-md-10">
|
25
|
+
<div class="info">{{ site.attendease.data.event_host }}</div>
|
26
|
+
</div>
|
27
|
+
</div>
|
28
|
+
</div>
|
29
|
+
</div>
|
30
|
+
{% endif %}
|
31
|
+
|
32
|
+
{% if site.attendease.data.event_dates %}
|
33
|
+
<div class="event-details">
|
34
|
+
<div class="container">
|
35
|
+
<div class="row">
|
36
|
+
<div class="col-md-2">
|
37
|
+
<h2>WHEN</h2>
|
38
|
+
</div>
|
39
|
+
<div class="col-md-10">
|
40
|
+
<div class="info">{{ site.attendease.data.event_dates }}</div>
|
41
|
+
</div>
|
42
|
+
</div>
|
43
|
+
</div>
|
44
|
+
</div>
|
45
|
+
{% endif %}
|
46
|
+
|
47
|
+
{% if site.attendease.data.event_location %}
|
48
|
+
<div class="event-details">
|
49
|
+
<div class="container">
|
50
|
+
<div class="row">
|
51
|
+
<div class="col-md-2">
|
52
|
+
<h2>WHERE</h2>
|
53
|
+
</div>
|
54
|
+
|
55
|
+
<div class="col-md-10">
|
56
|
+
<div class="info">{{ site.attendease.data.event_location }}</div>
|
57
|
+
</div>
|
58
|
+
</div>
|
59
|
+
</div>
|
60
|
+
</div>
|
61
|
+
{% endif %}
|
62
|
+
|
63
|
+
<div class="event-details event-details-cta-section">
|
64
|
+
<div class="container">
|
65
|
+
{% if site.attendease.data.event_description %}
|
66
|
+
<div class="row">
|
67
|
+
<div class="col-md-12">
|
68
|
+
<div class="description">{{ site.attendease.data.event_description }}</div>
|
69
|
+
</div>
|
70
|
+
</div>
|
71
|
+
{% endif %}
|
72
|
+
|
73
|
+
{% if site.attendease.data.attendease_has_registration_button %}
|
74
|
+
<div id="register-cta-blurb">
|
75
|
+
<a href="/register" class="btn btn-primary btn-cta">{% t event.register.actions.register %}</a>
|
76
|
+
</div>
|
77
|
+
{% endif %}
|
78
|
+
|
79
|
+
</div>
|
80
|
+
</div>
|
81
|
+
|
82
|
+
{% if site.attendease.data.attendease_event_has_address and site.attendease.data.event_map %}
|
83
|
+
<div class="event-details">
|
84
|
+
<div id="map" class="attendease-map"></div>
|
85
|
+
</div>
|
86
|
+
|
87
|
+
<script type="text/javascript" src="//maps.googleapis.com/maps/api/js?key={{ site.attendease.data.event_map }}&sensor=false&callback=initializeMap"></script>
|
88
|
+
|
89
|
+
<script type="text/javascript">
|
90
|
+
// map include...
|
91
|
+
var marker;
|
92
|
+
var map;
|
93
|
+
|
94
|
+
var initializeMap = function()
|
95
|
+
{
|
96
|
+
var eventName = "{{ site.attendease.data.attendease_event_name }}";
|
97
|
+
var eventLocation = "{{ site.attendease.data.attendease_event_location }}";
|
98
|
+
if (!eventName) eventName = "Set your event name with Attendease!";
|
99
|
+
if (!eventLocation) eventLocation = "Set your event's venue name in the Attendease console.";
|
100
|
+
|
101
|
+
var latitude = "{{ site.attendease.data.attendease_event_address.latitude }}";
|
102
|
+
var longitude = "{{ site.attendease.data.attendease_event_address.longitude }}";
|
103
|
+
|
104
|
+
var venues = [];
|
105
|
+
{% for venue in site.attendease.data.attendease_event_venues %}
|
106
|
+
venues.push( { 'primary': '{{ venue.primary }}', 'name': '{{ venue.name }}', 'address1': '{{ venue.address1 }}', 'address2': '{{ venue.address2 }}', 'city': '{{ venue.city }}', 'state': '{{ venue.state }}', 'zip': '{{ venue.zip }}', 'country': '{{ venue.country }}', 'latitude': '{{ venue.latitude }}', 'longitude': '{{ venue.longitude }}' } );
|
107
|
+
{% endfor %}
|
108
|
+
|
109
|
+
// center the map to the primary venue
|
110
|
+
var myLatlng = new google.maps.LatLng(latitude, longitude);
|
111
|
+
|
112
|
+
var mapOptions = {
|
113
|
+
zoom: 14,
|
114
|
+
disableDefaultUI: false,
|
115
|
+
scrollwheel: false,
|
116
|
+
draggable: false,
|
117
|
+
zoomControl: true,
|
118
|
+
center: myLatlng,
|
119
|
+
mapTypeId: google.maps.MapTypeId.ROADMAP
|
120
|
+
};
|
121
|
+
|
122
|
+
var map = new google.maps.Map(document.getElementById("map"), mapOptions);
|
123
|
+
var primaryMarker = null;
|
124
|
+
var markers = [];
|
125
|
+
|
126
|
+
for (var i = 0; i < venues.length; i++)
|
127
|
+
{
|
128
|
+
var venue = venues[i];
|
129
|
+
|
130
|
+
var venue_primary = venue.primary;
|
131
|
+
var venue_name = venue.name;
|
132
|
+
var venue_address1 = venue.address1;
|
133
|
+
var venue_address2 = venue.address2;
|
134
|
+
var venue_city = venue.city;
|
135
|
+
var venue_state = venue.state;
|
136
|
+
var venue_zip = venue.zip;
|
137
|
+
var venue_country = venue.country;
|
138
|
+
var venue_latitude = venue.latitude;
|
139
|
+
var venue_longitude = venue.longitude;
|
140
|
+
|
141
|
+
var venue_coords = new google.maps.LatLng(venue_latitude, venue_longitude);
|
142
|
+
|
143
|
+
var contentString = '<div class="map-content">' +
|
144
|
+
'<h4>' + venue_name + '</h4>' + '<p>';
|
145
|
+
|
146
|
+
if (venue_address1 && venue_city)
|
147
|
+
{
|
148
|
+
contentString += venue_address1 + '<br />';
|
149
|
+
|
150
|
+
if (venue_address2)
|
151
|
+
{
|
152
|
+
contentString += venue_address2 + '<br />';
|
153
|
+
}
|
154
|
+
|
155
|
+
contentString += venue_city
|
156
|
+
|
157
|
+
if (venue_state)
|
158
|
+
{
|
159
|
+
contentString += ', ' + venue_state;
|
160
|
+
}
|
161
|
+
|
162
|
+
if (venue_country)
|
163
|
+
{
|
164
|
+
contentString += ', ' + venue_country;
|
165
|
+
}
|
166
|
+
|
167
|
+
if (venue_zip)
|
168
|
+
{
|
169
|
+
contentString += ' ' + '<br />';
|
170
|
+
contentString += ' ' + venue_zip;
|
171
|
+
}
|
172
|
+
|
173
|
+
contentString += '<br><a target="_blank" href="http://maps.google.com/?q=@' + venue_latitude + ',' + venue_longitude + '">Open in Google Maps</a>'
|
174
|
+
}
|
175
|
+
|
176
|
+
contentString += '</p></div>';
|
177
|
+
|
178
|
+
if(venue_primary == 'true')
|
179
|
+
{
|
180
|
+
map_icon = '//maps.google.com/mapfiles/ms/icons/blue-dot.png';
|
181
|
+
}
|
182
|
+
else
|
183
|
+
{
|
184
|
+
map_icon = '//maps.google.com/mapfiles/ms/icons/red-dot.png';
|
185
|
+
}
|
186
|
+
|
187
|
+
markers.push(new google.maps.Marker({
|
188
|
+
position: venue_coords,
|
189
|
+
map: map,
|
190
|
+
title: venue_name,
|
191
|
+
animation: google.maps.Animation.DROP,
|
192
|
+
html: contentString,
|
193
|
+
primary: venue_primary,
|
194
|
+
icon: map_icon
|
195
|
+
}));
|
196
|
+
}
|
197
|
+
|
198
|
+
var infoWindow = new google.maps.InfoWindow({
|
199
|
+
content: ""
|
200
|
+
});
|
201
|
+
|
202
|
+
for (var j = 0; j < markers.length; j++)
|
203
|
+
{
|
204
|
+
var marker = markers[j];
|
205
|
+
|
206
|
+
if (marker.primary == 'true')
|
207
|
+
{
|
208
|
+
primaryMarker = marker;
|
209
|
+
}
|
210
|
+
|
211
|
+
google.maps.event.addListener(marker, 'click', function () {
|
212
|
+
infoWindow.setContent(this.html);
|
213
|
+
infoWindow.open(map, this);
|
214
|
+
});
|
215
|
+
}
|
216
|
+
|
217
|
+
// open the primary marker's info window
|
218
|
+
if (primaryMarker)
|
219
|
+
{
|
220
|
+
setTimeout(function() {
|
221
|
+
infoWindow.setContent(primaryMarker.html);
|
222
|
+
infoWindow.open(map, primaryMarker)
|
223
|
+
}, 2000);
|
224
|
+
}
|
225
|
+
|
226
|
+
if (markers.length > 1)
|
227
|
+
{
|
228
|
+
// Center the map on all the points
|
229
|
+
var bounds = new google.maps.LatLngBounds();
|
230
|
+
for (var k = 0; k < markers.length; k++)
|
231
|
+
{
|
232
|
+
bounds.extend(markers[k].position);
|
233
|
+
}
|
234
|
+
map.fitBounds(bounds);
|
235
|
+
}
|
236
|
+
};
|
237
|
+
|
238
|
+
</script>
|
239
|
+
{% endif %}
|
240
|
+
|
241
|
+
{% if site.attendease.data.event_social_widgets or site.attendease.data.event_ical %}
|
242
|
+
<div class="event-details">
|
243
|
+
<div class="container">
|
244
|
+
<div id="social">
|
245
|
+
{% if site.attendease.data.event_ical %}
|
246
|
+
<div class="ical">
|
247
|
+
<a href="{{ site.attendease.api_host }}attendease/calendar.ics">
|
248
|
+
<img src='/images/icons/ical.png' width="21" height="21" /> ADD
|
249
|
+
</a>
|
250
|
+
</div>
|
251
|
+
{% endif %}
|
252
|
+
|
253
|
+
{% if site.attendease.data.event_social_widgets %}
|
254
|
+
<div class="twitter-tweet">
|
255
|
+
<a href="https://twitter.com/share" class="twitter-share-button" data-lang="en" target="_blank"><img src='/images/icons/twitter.png' width="22" height="21" /> TWEET</a>
|
256
|
+
</div>
|
257
|
+
|
258
|
+
<div class="facebook-like">
|
259
|
+
<a id="facebook-share" href="https://www.facebook.com/sharer/sharer.php?u={{ site.attendease.api_host }}" target="_blank"><img src='/images/icons/facebook.png' width="21" height="21" /> SHARE</a>
|
260
|
+
</div>
|
261
|
+
{% endif %}
|
262
|
+
</div>
|
263
|
+
</div>
|
264
|
+
</div>
|
265
|
+
{% endif %}
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
metadata
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jekyll-attendease
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
5
|
-
prerelease:
|
4
|
+
version: 0.6.11.pre
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Michael Wood
|
@@ -16,119 +15,104 @@ dependencies:
|
|
16
15
|
- !ruby/object:Gem::Dependency
|
17
16
|
name: httparty
|
18
17
|
requirement: !ruby/object:Gem::Requirement
|
19
|
-
none: false
|
20
18
|
requirements:
|
21
|
-
- - ~>
|
19
|
+
- - "~>"
|
22
20
|
- !ruby/object:Gem::Version
|
23
21
|
version: 0.13.1
|
24
22
|
type: :runtime
|
25
23
|
prerelease: false
|
26
24
|
version_requirements: !ruby/object:Gem::Requirement
|
27
|
-
none: false
|
28
25
|
requirements:
|
29
|
-
- - ~>
|
26
|
+
- - "~>"
|
30
27
|
- !ruby/object:Gem::Version
|
31
28
|
version: 0.13.1
|
32
29
|
- !ruby/object:Gem::Dependency
|
33
30
|
name: json
|
34
31
|
requirement: !ruby/object:Gem::Requirement
|
35
|
-
none: false
|
36
32
|
requirements:
|
37
|
-
- - ~>
|
33
|
+
- - "~>"
|
38
34
|
- !ruby/object:Gem::Version
|
39
35
|
version: 1.8.1
|
40
36
|
type: :runtime
|
41
37
|
prerelease: false
|
42
38
|
version_requirements: !ruby/object:Gem::Requirement
|
43
|
-
none: false
|
44
39
|
requirements:
|
45
|
-
- - ~>
|
40
|
+
- - "~>"
|
46
41
|
- !ruby/object:Gem::Version
|
47
42
|
version: 1.8.1
|
48
43
|
- !ruby/object:Gem::Dependency
|
49
44
|
name: i18n
|
50
45
|
requirement: !ruby/object:Gem::Requirement
|
51
|
-
none: false
|
52
46
|
requirements:
|
53
|
-
- - ~>
|
47
|
+
- - "~>"
|
54
48
|
- !ruby/object:Gem::Version
|
55
49
|
version: 0.6.9
|
56
50
|
type: :runtime
|
57
51
|
prerelease: false
|
58
52
|
version_requirements: !ruby/object:Gem::Requirement
|
59
|
-
none: false
|
60
53
|
requirements:
|
61
|
-
- - ~>
|
54
|
+
- - "~>"
|
62
55
|
- !ruby/object:Gem::Version
|
63
56
|
version: 0.6.9
|
64
57
|
- !ruby/object:Gem::Dependency
|
65
58
|
name: redcarpet
|
66
59
|
requirement: !ruby/object:Gem::Requirement
|
67
|
-
none: false
|
68
60
|
requirements:
|
69
|
-
- - ~>
|
61
|
+
- - "~>"
|
70
62
|
- !ruby/object:Gem::Version
|
71
63
|
version: 2.3.0
|
72
64
|
type: :runtime
|
73
65
|
prerelease: false
|
74
66
|
version_requirements: !ruby/object:Gem::Requirement
|
75
|
-
none: false
|
76
67
|
requirements:
|
77
|
-
- - ~>
|
68
|
+
- - "~>"
|
78
69
|
- !ruby/object:Gem::Version
|
79
70
|
version: 2.3.0
|
80
71
|
- !ruby/object:Gem::Dependency
|
81
72
|
name: bundler
|
82
73
|
requirement: !ruby/object:Gem::Requirement
|
83
|
-
none: false
|
84
74
|
requirements:
|
85
|
-
- - ~>
|
75
|
+
- - "~>"
|
86
76
|
- !ruby/object:Gem::Version
|
87
77
|
version: '1.3'
|
88
78
|
type: :development
|
89
79
|
prerelease: false
|
90
80
|
version_requirements: !ruby/object:Gem::Requirement
|
91
|
-
none: false
|
92
81
|
requirements:
|
93
|
-
- - ~>
|
82
|
+
- - "~>"
|
94
83
|
- !ruby/object:Gem::Version
|
95
84
|
version: '1.3'
|
96
85
|
- !ruby/object:Gem::Dependency
|
97
86
|
name: rake
|
98
87
|
requirement: !ruby/object:Gem::Requirement
|
99
|
-
none: false
|
100
88
|
requirements:
|
101
|
-
- -
|
89
|
+
- - ">="
|
102
90
|
- !ruby/object:Gem::Version
|
103
91
|
version: '0'
|
104
92
|
type: :development
|
105
93
|
prerelease: false
|
106
94
|
version_requirements: !ruby/object:Gem::Requirement
|
107
|
-
none: false
|
108
95
|
requirements:
|
109
|
-
- -
|
96
|
+
- - ">="
|
110
97
|
- !ruby/object:Gem::Version
|
111
98
|
version: '0'
|
112
99
|
- !ruby/object:Gem::Dependency
|
113
100
|
name: rspec
|
114
101
|
requirement: !ruby/object:Gem::Requirement
|
115
|
-
none: false
|
116
102
|
requirements:
|
117
|
-
- -
|
103
|
+
- - ">="
|
118
104
|
- !ruby/object:Gem::Version
|
119
105
|
version: '0'
|
120
106
|
type: :development
|
121
107
|
prerelease: false
|
122
108
|
version_requirements: !ruby/object:Gem::Requirement
|
123
|
-
none: false
|
124
109
|
requirements:
|
125
|
-
- -
|
110
|
+
- - ">="
|
126
111
|
- !ruby/object:Gem::Version
|
127
112
|
version: '0'
|
128
113
|
- !ruby/object:Gem::Dependency
|
129
114
|
name: jekyll
|
130
115
|
requirement: !ruby/object:Gem::Requirement
|
131
|
-
none: false
|
132
116
|
requirements:
|
133
117
|
- - '='
|
134
118
|
- !ruby/object:Gem::Version
|
@@ -136,7 +120,6 @@ dependencies:
|
|
136
120
|
type: :development
|
137
121
|
prerelease: false
|
138
122
|
version_requirements: !ruby/object:Gem::Requirement
|
139
|
-
none: false
|
140
123
|
requirements:
|
141
124
|
- - '='
|
142
125
|
- !ruby/object:Gem::Version
|
@@ -147,11 +130,15 @@ executables: []
|
|
147
130
|
extensions: []
|
148
131
|
extra_rdoc_files: []
|
149
132
|
files:
|
133
|
+
- lib/jekyll-attendease.rb
|
134
|
+
- lib/jekyll/attendease_plugin.rb
|
150
135
|
- lib/jekyll/attendease_plugin/event_data_generator.rb
|
151
136
|
- lib/jekyll/attendease_plugin/event_layout_generator.rb
|
152
137
|
- lib/jekyll/attendease_plugin/event_layout_page.rb
|
153
138
|
- lib/jekyll/attendease_plugin/filters.rb
|
154
139
|
- lib/jekyll/attendease_plugin/helpers.rb
|
140
|
+
- lib/jekyll/attendease_plugin/home_page.rb
|
141
|
+
- lib/jekyll/attendease_plugin/home_page_generator.rb
|
155
142
|
- lib/jekyll/attendease_plugin/pre_zero_point_six_link_redirect_generator.rb
|
156
143
|
- lib/jekyll/attendease_plugin/presenter_page.rb
|
157
144
|
- lib/jekyll/attendease_plugin/presenters_index_page.rb
|
@@ -168,60 +155,60 @@ files:
|
|
168
155
|
- lib/jekyll/attendease_plugin/venue_page.rb
|
169
156
|
- lib/jekyll/attendease_plugin/venues_index_page.rb
|
170
157
|
- lib/jekyll/attendease_plugin/version.rb
|
171
|
-
- lib/jekyll/attendease_plugin.rb
|
172
|
-
- lib/jekyll-attendease.rb
|
173
|
-
- templates/_includes/attendease/presenters/index.html
|
174
|
-
- templates/_includes/attendease/presenters/presenter.html
|
175
|
-
- templates/_includes/attendease/redirect.html
|
176
|
-
- templates/_includes/attendease/schedule/day.html
|
177
|
-
- templates/_includes/attendease/schedule/index.html
|
178
|
-
- templates/_includes/attendease/schedule/session.html
|
179
|
-
- templates/_includes/attendease/schedule/sessions.html
|
180
|
-
- templates/_includes/attendease/schedule/widget.html
|
181
|
-
- templates/_includes/attendease/sponsors/index.html
|
182
|
-
- templates/_includes/attendease/venues/index.html
|
183
|
-
- templates/_includes/attendease/venues/venue.html
|
184
|
-
- templates/layout.html
|
185
158
|
- spec/lib/jekyll/attendease_plugin/event_data_generator_spec.rb
|
186
159
|
- spec/lib/jekyll/attendease_plugin/event_layout_generator_spec.rb
|
187
160
|
- spec/lib/jekyll/attendease_plugin/filters_spec.rb
|
188
161
|
- spec/lib/jekyll/attendease_plugin/helpers_spec.rb
|
162
|
+
- spec/lib/jekyll/attendease_plugin/home_page_generator_spec.rb
|
189
163
|
- spec/lib/jekyll/attendease_plugin/pre_zero_point_six_link_redirect_generator_spec.rb
|
190
164
|
- spec/lib/jekyll/attendease_plugin/schedule_generator_spec.rb
|
191
165
|
- spec/lib/jekyll/attendease_plugin/sponsor_generator_spec.rb
|
192
166
|
- spec/lib/jekyll/attendease_plugin/tags_spec.rb
|
193
167
|
- spec/spec_helper.rb
|
194
168
|
- spec/support/fixtures_helpers.rb
|
169
|
+
- templates/attendease/index.html
|
170
|
+
- templates/attendease/presenters/index.html
|
171
|
+
- templates/attendease/presenters/presenter.html
|
172
|
+
- templates/attendease/redirect.html
|
173
|
+
- templates/attendease/schedule/day.html
|
174
|
+
- templates/attendease/schedule/index.html
|
175
|
+
- templates/attendease/schedule/session.html
|
176
|
+
- templates/attendease/schedule/sessions.html
|
177
|
+
- templates/attendease/schedule/widget.html
|
178
|
+
- templates/attendease/sponsors/index.html
|
179
|
+
- templates/attendease/venues/index.html
|
180
|
+
- templates/attendease/venues/venue.html
|
181
|
+
- templates/layout.html
|
195
182
|
homepage: https://attendease.com/
|
196
183
|
licenses:
|
197
184
|
- MIT
|
185
|
+
metadata: {}
|
198
186
|
post_install_message:
|
199
187
|
rdoc_options: []
|
200
188
|
require_paths:
|
201
189
|
- lib
|
202
190
|
required_ruby_version: !ruby/object:Gem::Requirement
|
203
|
-
none: false
|
204
191
|
requirements:
|
205
|
-
- -
|
192
|
+
- - ">="
|
206
193
|
- !ruby/object:Gem::Version
|
207
194
|
version: '0'
|
208
195
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
209
|
-
none: false
|
210
196
|
requirements:
|
211
|
-
- -
|
197
|
+
- - ">"
|
212
198
|
- !ruby/object:Gem::Version
|
213
|
-
version:
|
199
|
+
version: 1.3.1
|
214
200
|
requirements: []
|
215
201
|
rubyforge_project:
|
216
|
-
rubygems_version:
|
202
|
+
rubygems_version: 2.2.2
|
217
203
|
signing_key:
|
218
|
-
specification_version:
|
204
|
+
specification_version: 4
|
219
205
|
summary: Attendease event helper for Jekyll
|
220
206
|
test_files:
|
221
207
|
- spec/lib/jekyll/attendease_plugin/event_data_generator_spec.rb
|
222
208
|
- spec/lib/jekyll/attendease_plugin/event_layout_generator_spec.rb
|
223
209
|
- spec/lib/jekyll/attendease_plugin/filters_spec.rb
|
224
210
|
- spec/lib/jekyll/attendease_plugin/helpers_spec.rb
|
211
|
+
- spec/lib/jekyll/attendease_plugin/home_page_generator_spec.rb
|
225
212
|
- spec/lib/jekyll/attendease_plugin/pre_zero_point_six_link_redirect_generator_spec.rb
|
226
213
|
- spec/lib/jekyll/attendease_plugin/schedule_generator_spec.rb
|
227
214
|
- spec/lib/jekyll/attendease_plugin/sponsor_generator_spec.rb
|