jekyll-attendease 0.5.2 → 0.5.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/README.md +15 -2
- data/lib/jekyll-attendease.rb +113 -27
- data/templates/_includes/attendease/presenters/index.html +3 -3
- data/templates/_includes/attendease/sponsors/index.html +31 -0
- data/templates/_includes/attendease/venues/index.html +2 -2
- data/templates/_includes/attendease/venues/venue.html +2 -2
- metadata +16 -25
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: d3b468baafb88fed46601ab84aff636d6d5be7e8
|
4
|
+
data.tar.gz: c23dacc537863e5a5d351518109b6db6b67da060
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 40199f3e471e27b8d302ba1d29b10c9d896b329c2fa0ad6b3b4bd03109a2e8a9fb8b9e0cbd0ce240e18e4e3c6ce8a631b1851d8425e565047b43f3562df39e8e
|
7
|
+
data.tar.gz: da5dfd500c28510dec34d1af024cb5864ab3d053b59b1a000609ac0e3c4c45aa7126653d800b3f9e81de21072c10fef62b37b57f23924558a54b58d3a27b5a36
|
data/README.md
CHANGED
@@ -40,6 +40,19 @@ attendease:
|
|
40
40
|
cache_expiry: 3600 # The number of seconds until we regerenate the data from the api. Otherwise data will be cached for speed.
|
41
41
|
generate_schedule_pages: false # Set to true if you want to generate static schedule pages.
|
42
42
|
schedule_path_name: 'schedule' # Set to the path your want your schedule pages to live at.
|
43
|
+
show_day_index: false # Set to true if you want an index of days
|
44
|
+
presenters_path_name: 'presenters' # folder off of the root to put the presenters page
|
45
|
+
venues_path_name: 'venues' # folder off of the root to put the venues page
|
46
|
+
sponsors_path_name: 'sponsors' # folder off of the root to put the sponsors page
|
47
|
+
|
48
|
+
schedule_sessions_title: 'Schedule: Sessions' # Override to set the page.title of the sessions listing page
|
49
|
+
schedule_session_page_title: 'Schedule: %s' # %s will be substituted with the session's name
|
50
|
+
|
51
|
+
presenters_index_title: 'Presenters' # Override to set the page.title of the presenters listing page
|
52
|
+
presenter_page_title: 'Presenter: %s' # %s will be substituted with the session's name
|
53
|
+
|
54
|
+
venues_index_title: 'Venues' # Override to set the page.title property of the Venues index page
|
55
|
+
venue_page_title: 'Venue: %s' # %s will be substituted with venue's name. Override to set the page.title property of the individual Venue page
|
43
56
|
```
|
44
57
|
|
45
58
|
Remember to replace `https://your-event-subdomain.attendease.com/` with your actual event url, or crazy things will happen!
|
@@ -62,7 +75,7 @@ We can also use logical expressions like so:
|
|
62
75
|
|
63
76
|
Simply add the auth script tag and the auth action and account tags and our system will know if you logged in or out and will be able to link to your account!
|
64
77
|
|
65
|
-
The script tag sets up an
|
78
|
+
The script tag sets up an AJAX callback to the server to determine if we are online or offline.
|
66
79
|
`{% attendease_auth_script %}`
|
67
80
|
|
68
81
|
This is simple a div with the id `attendease-auth-account`, maybe more in the future. When used with the `attendease_auth_script` tag it will populate with the link to the account of the attendee.
|
@@ -73,7 +86,7 @@ This is simple a div with the id `attendease-auth-action`, maybe more in the fut
|
|
73
86
|
|
74
87
|
`{% attendease_auth_action %}`
|
75
88
|
|
76
|
-
This script tag sets up
|
89
|
+
This script tag sets up AJAX actions for scheduling sessions.
|
77
90
|
|
78
91
|
`{% attendease_scheduler_script %}`
|
79
92
|
|
data/lib/jekyll-attendease.rb
CHANGED
@@ -21,8 +21,9 @@ module Jekyll
|
|
21
21
|
end
|
22
22
|
end
|
23
23
|
|
24
|
-
def self.parameterize(
|
25
|
-
|
24
|
+
def self.parameterize(source, sep = '-')
|
25
|
+
return '' if source.nil?
|
26
|
+
string = source.downcase
|
26
27
|
# Turn unwanted chars into the separator
|
27
28
|
string.gsub!(/[^a-z0-9\-_]+/, sep)
|
28
29
|
unless sep.nil? || sep.empty?
|
@@ -37,7 +38,6 @@ module Jekyll
|
|
37
38
|
|
38
39
|
def generate(site)
|
39
40
|
if @attendease_config = site.config['attendease']
|
40
|
-
|
41
41
|
if @attendease_config['api_host'] && !@attendease_config['api_host'].match(/^http/)
|
42
42
|
raise "Is your Attendease api_host site properly in _config.yml? Needs to be something like https://myevent.attendease.com/"
|
43
43
|
else
|
@@ -50,7 +50,7 @@ module Jekyll
|
|
50
50
|
|
51
51
|
FileUtils.mkdir_p(@attendease_data_path)
|
52
52
|
|
53
|
-
data_files = ['site.json', 'event.json', 'sessions.json', 'presenters.json', 'rooms.json', 'filters.json', 'venues.json', 'lingo.yml']
|
53
|
+
data_files = ['site.json', 'event.json', 'sessions.json', 'presenters.json', 'rooms.json', 'filters.json', 'venues.json', 'sponsors.json', 'lingo.yml']
|
54
54
|
|
55
55
|
data_files.each do |file_name|
|
56
56
|
update_data = true
|
@@ -69,6 +69,14 @@ module Jekyll
|
|
69
69
|
end
|
70
70
|
end
|
71
71
|
|
72
|
+
key = "has_#{file_name.split('.')[0]}"
|
73
|
+
|
74
|
+
# don't bother making a request for resources that don't exist in the event
|
75
|
+
if !@attendease_config[key].nil? && !@attendease_config[key]
|
76
|
+
update_data = false
|
77
|
+
data = []
|
78
|
+
end
|
79
|
+
|
72
80
|
if update_data
|
73
81
|
options = {}
|
74
82
|
options.merge!(:headers => {'X-Event-Token' => @attendease_config['access_token']}) if @attendease_config['access_token']
|
@@ -79,7 +87,7 @@ module Jekyll
|
|
79
87
|
#if (file_name.match(/yaml$/) || data.is_a?(Hash) && !data['error']) || data.is_a?(Array)
|
80
88
|
if (data.response.is_a?(Net::HTTPOK))
|
81
89
|
puts "" if file_name == 'site.json' # leading space, that's all.
|
82
|
-
puts "
|
90
|
+
puts "[Attendease] Saving #{file_name} data..."
|
83
91
|
|
84
92
|
|
85
93
|
if file_name.match(/json$/)
|
@@ -98,6 +106,14 @@ module Jekyll
|
|
98
106
|
|
99
107
|
data.keys.each do |tag|
|
100
108
|
site.config['attendease']['data'][tag] = data[tag]
|
109
|
+
# memorandum from the department of redundancy department:
|
110
|
+
# --------------------------------------------------------
|
111
|
+
# support accessing the attendease_* variables without the
|
112
|
+
# attendease_ prefix because they're already namespaced in
|
113
|
+
# site.attendease.data
|
114
|
+
if tag.match(/^attendease_/)
|
115
|
+
site.config['attendease']['data'][tag.gsub(/^attendease_/, '')] = data[tag]
|
116
|
+
end
|
101
117
|
end
|
102
118
|
elsif file_name == 'event.json'
|
103
119
|
site.config['attendease']['event'] = {}
|
@@ -107,6 +123,28 @@ module Jekyll
|
|
107
123
|
end
|
108
124
|
end
|
109
125
|
end
|
126
|
+
|
127
|
+
event = JSON.parse(File.read("#{@attendease_data_path}/event.json"))
|
128
|
+
|
129
|
+
#sessions = JSON.parse(File.read("#{@attendease_data_path}/sessions.json")).sort{|s1, s2| s1['name'] <=> s2['name']}
|
130
|
+
#presenters = JSON.parse(File.read("#{@attendease_data_path}/presenters.json")).sort{|p1, p2| p1['last_name'] <=> p2['last_name']}
|
131
|
+
#rooms = JSON.parse(File.read("#{@attendease_data_path}/rooms.json")).sort{|r1, r2| r1['name'] <=> r2['name']}
|
132
|
+
#filters = JSON.parse(File.read("#{@attendease_data_path}/filters.json")).sort{|f1, f2| f1['name'] <=> f2['name']}
|
133
|
+
#venues = JSON.parse(File.read("#{@attendease_data_path}/venues.json")).sort{|v1, v2| v1['name'] <=> v2['name']}
|
134
|
+
if @attendease_config['has_sponsors']
|
135
|
+
sponsors = JSON.parse(File.read("#{@attendease_data_path}/sponsors.json"))
|
136
|
+
|
137
|
+
sponsor_levels = event['sponsor_levels']
|
138
|
+
sponsor_levels.each do |level|
|
139
|
+
level['sponsors'] = []
|
140
|
+
end
|
141
|
+
|
142
|
+
sponsors.each do |sponsor|
|
143
|
+
level = sponsor_levels.select { |m| m['_id'] == sponsor['level_id'] }.first
|
144
|
+
level['sponsors'] << sponsor
|
145
|
+
end
|
146
|
+
site.config['attendease']['sponsor_levels'] = sponsor_levels
|
147
|
+
end
|
110
148
|
end
|
111
149
|
|
112
150
|
else
|
@@ -121,7 +159,7 @@ module Jekyll
|
|
121
159
|
priority :high
|
122
160
|
|
123
161
|
def generate(site)
|
124
|
-
puts "
|
162
|
+
puts "[Attendease] Generating theme layouts..."
|
125
163
|
|
126
164
|
attendease_precompiled_theme_layouts_path = "#{site.source}/attendease_layouts"
|
127
165
|
|
@@ -129,7 +167,7 @@ module Jekyll
|
|
129
167
|
|
130
168
|
base_layout = (site.config['attendease'] && site.config['attendease']['base_layout']) ? site.config['attendease']['base_layout'] : 'layout'
|
131
169
|
|
132
|
-
layouts_to_precompile = ['layout', 'register', 'schedule', 'presenters']
|
170
|
+
layouts_to_precompile = ['layout', 'register', 'schedule', 'presenters', 'venues', 'sponsors']
|
133
171
|
|
134
172
|
# Precompiled layout for website sections.
|
135
173
|
layouts_to_precompile.each do |layout|
|
@@ -140,6 +178,8 @@ module Jekyll
|
|
140
178
|
# look the compiled file defines.
|
141
179
|
# ensure {{ content }} is in the file so we can render content in there!
|
142
180
|
if !File.exists?("#{attendease_precompiled_theme_layouts_path}/#{layout}.html")
|
181
|
+
theme_layout_content = File.read("#{site.source}/_layouts/#{base_layout}.html")
|
182
|
+
File.open("#{site.source}/attendease_layouts/#{layout}.html", 'w+') { |file| file.write(theme_layout_content) }
|
143
183
|
site.pages << AttendeaseLayoutPage.new(site, site.source, 'attendease_layouts', "#{layout}.html", base_layout)
|
144
184
|
end
|
145
185
|
end
|
@@ -156,7 +196,7 @@ module Jekyll
|
|
156
196
|
|
157
197
|
self.process(name)
|
158
198
|
|
159
|
-
self.read_yaml(File.dirname(__FILE__) + "/../templates", 'layout') # a template for the layout.
|
199
|
+
self.read_yaml(File.expand_path(File.dirname(__FILE__) + "/../templates"), 'layout.html') # a template for the layout.
|
160
200
|
|
161
201
|
self.data['layout'] = base_layout
|
162
202
|
end
|
@@ -197,7 +237,7 @@ module Jekyll
|
|
197
237
|
I18n.enforce_available_locales = false
|
198
238
|
i18n_path = File.join(context.registers[:site].config['source'], '_attendease_data', 'lingo.yml')
|
199
239
|
I18n.load_path << i18n_path unless I18n.load_path.include?(i18n_path)
|
200
|
-
I18n.locale = context.registers[:page]['lang'] || context.registers[:site].config['attendease']['lang'] || :en
|
240
|
+
I18n.locale = context.registers[:page]['lang'] || context.registers[:site].config['attendease']['locale'] || context.registers[:site].config['attendease']['lang'] || :en
|
201
241
|
I18n.t(@args[0], :count => context['t_size'].nil? ? 0 : context['t_size'].to_i)
|
202
242
|
end
|
203
243
|
end
|
@@ -220,6 +260,11 @@ module Jekyll
|
|
220
260
|
end
|
221
261
|
end
|
222
262
|
|
263
|
+
module Filters
|
264
|
+
def slugify(string)
|
265
|
+
EventData.parameterize(string, '_')
|
266
|
+
end
|
267
|
+
end
|
223
268
|
|
224
269
|
class ScheduleIndexPage < Page
|
225
270
|
def initialize(site, base, dir, dates)
|
@@ -294,7 +339,7 @@ module Jekyll
|
|
294
339
|
|
295
340
|
self.read_yaml(File.join(base, 'attendease_layouts'), 'schedule.html')
|
296
341
|
|
297
|
-
self.data['title'] = site.config['
|
342
|
+
self.data['title'] = site.config['schedule_sessions_title'] || 'Schedule: Sessions'
|
298
343
|
|
299
344
|
sessionsData = []
|
300
345
|
|
@@ -320,8 +365,8 @@ module Jekyll
|
|
320
365
|
|
321
366
|
self.read_yaml(File.join(base, 'attendease_layouts'), 'schedule.html')
|
322
367
|
|
323
|
-
|
324
|
-
self.data['title'] =
|
368
|
+
schedule_session_page_title = site.config['schedule_session_page_title'] || 'Schedule: %s'
|
369
|
+
self.data['title'] = sprintf(schedule_session_page_title, session['name'])
|
325
370
|
|
326
371
|
self.data['session'] = session
|
327
372
|
|
@@ -344,7 +389,7 @@ module Jekyll
|
|
344
389
|
|
345
390
|
self.read_yaml(File.join(base, 'attendease_layouts'), 'presenters.html')
|
346
391
|
|
347
|
-
self.data['title'] = site.config['
|
392
|
+
self.data['title'] = site.config['presenters_index_title'] || 'Presenters'
|
348
393
|
|
349
394
|
self.data['presenters'] = presenters
|
350
395
|
|
@@ -367,7 +412,8 @@ module Jekyll
|
|
367
412
|
|
368
413
|
self.read_yaml(File.join(base, 'attendease_layouts'), 'presenters.html')
|
369
414
|
|
370
|
-
|
415
|
+
presenter_page_title = site.config['presenter_page_title'] ? site.config['presenter_page_title'] : 'Presenter: %s'
|
416
|
+
self.data['title'] = sprintf(presenter_page_title, presenter['first_name'] + ' ' + presenter['last_name'])
|
371
417
|
|
372
418
|
presenter['sessions'] = []
|
373
419
|
|
@@ -387,7 +433,6 @@ module Jekyll
|
|
387
433
|
end
|
388
434
|
end
|
389
435
|
|
390
|
-
|
391
436
|
class VenuesIndexPage < Page
|
392
437
|
def initialize(site, base, dir, venues)
|
393
438
|
@site = site
|
@@ -397,9 +442,9 @@ module Jekyll
|
|
397
442
|
|
398
443
|
self.process(@name)
|
399
444
|
|
400
|
-
self.read_yaml(File.join(base, 'attendease_layouts'), '
|
445
|
+
self.read_yaml(File.join(base, 'attendease_layouts'), 'venues.html')
|
401
446
|
|
402
|
-
self.data['title'] = site.config['
|
447
|
+
self.data['title'] = site.config['venues_index_title'] || 'Venues'
|
403
448
|
|
404
449
|
self.data['venues'] = venues
|
405
450
|
|
@@ -420,9 +465,10 @@ module Jekyll
|
|
420
465
|
|
421
466
|
self.process(@name)
|
422
467
|
|
423
|
-
self.read_yaml(File.join(base, 'attendease_layouts'), '
|
468
|
+
self.read_yaml(File.join(base, 'attendease_layouts'), 'venues.html')
|
424
469
|
|
425
|
-
|
470
|
+
venue_page_title = site.config['venue_page_title'] ? site.config['venue_page_title'] : 'Venue: %s'
|
471
|
+
self.data['title'] = sprintf(venue_page_title, venue['name'])
|
426
472
|
|
427
473
|
self.data['venue'] = venue
|
428
474
|
|
@@ -434,6 +480,29 @@ module Jekyll
|
|
434
480
|
end
|
435
481
|
end
|
436
482
|
|
483
|
+
class SponsorsIndexPage < Page
|
484
|
+
def initialize(site, base, dir, sponsor_levels)
|
485
|
+
@site = site
|
486
|
+
@base = base
|
487
|
+
@dir = dir
|
488
|
+
@name = 'index.html'
|
489
|
+
|
490
|
+
self.process(@name)
|
491
|
+
|
492
|
+
self.read_yaml(File.join(base, 'attendease_layouts'), 'sponsors.html')
|
493
|
+
|
494
|
+
self.data['title'] = site.config['sponsors_index_title'] || 'Sponsors'
|
495
|
+
|
496
|
+
self.data['sponsor_levels'] = sponsor_levels
|
497
|
+
|
498
|
+
if File.exists?(File.join(base, '_includes', 'attendease', 'sponsors', 'index.html'))
|
499
|
+
self.content = File.read(File.join(base, '_includes', 'attendease', 'sponsors', 'index.html')) # Use theme specific layout
|
500
|
+
else
|
501
|
+
self.content = File.read(File.join(File.dirname(__FILE__), '..', '/templates/_includes/attendease/', 'sponsors/index.html')) # Use template
|
502
|
+
end
|
503
|
+
end
|
504
|
+
end
|
505
|
+
|
437
506
|
class AttendeaseScheduleGenerator < Generator
|
438
507
|
safe true
|
439
508
|
|
@@ -457,13 +526,14 @@ module Jekyll
|
|
457
526
|
files_to_create_if_they_dont_exist = [
|
458
527
|
'schedule/index.html', 'schedule/day.html', 'schedule/sessions.html', 'schedule/session.html',
|
459
528
|
'presenters/index.html', 'presenters/presenter.html',
|
460
|
-
'venues/index.html', 'venues/venue.html',
|
529
|
+
'venues/index.html', 'venues/venue.html', 'sponsors/index.html'
|
461
530
|
]
|
462
531
|
|
463
532
|
files_to_create_if_they_dont_exist.each do |file|
|
464
533
|
FileUtils.mkdir_p("#{site.source}/_includes/attendease/schedule")
|
465
534
|
FileUtils.mkdir_p("#{site.source}/_includes/attendease/presenters")
|
466
535
|
FileUtils.mkdir_p("#{site.source}/_includes/attendease/venues")
|
536
|
+
FileUtils.mkdir_p("#{site.source}/_includes/attendease/sponsors")
|
467
537
|
|
468
538
|
if !File.exists?(File.join(site.source, '_includes/attendease/', file))
|
469
539
|
include_file = File.read(File.join(File.dirname(__FILE__), '..', '/templates/_includes/attendease/', file))
|
@@ -474,7 +544,7 @@ module Jekyll
|
|
474
544
|
sessions = Jekyll::Attendease::sessions_with_all_data(event, sessions, presenters, rooms, venues, filters)
|
475
545
|
|
476
546
|
# /schedule pages.
|
477
|
-
dir =
|
547
|
+
dir = site.config['attendease']['schedule_path_name']
|
478
548
|
|
479
549
|
if (site.config['attendease'] && site.config['attendease']['show_day_index'])
|
480
550
|
site.pages << ScheduleIndexPage.new(site, site.source, File.join(dir), event['dates'])
|
@@ -493,22 +563,37 @@ module Jekyll
|
|
493
563
|
end
|
494
564
|
|
495
565
|
# /presenters pages.
|
496
|
-
dir =
|
497
|
-
|
498
|
-
site.pages << PresentersIndexPage.new(site, site.source, File.join(dir), presenters)
|
566
|
+
dir = site.config['attendease']['presenters_path_name']
|
499
567
|
|
500
568
|
presenters.each do |presenter|
|
501
|
-
|
569
|
+
presenter['slug'] = EventData.parameterize("#{presenter['first_name']} #{presenter['last_name']}", '_') + '.html'
|
570
|
+
site.pages << PresenterPage.new(site, site.source, File.join(dir, presenter['slug']), presenter, sessions)
|
502
571
|
end
|
503
572
|
|
573
|
+
site.pages << PresentersIndexPage.new(site, site.source, File.join(dir), presenters)
|
574
|
+
|
504
575
|
# /venue pages.
|
505
576
|
dir = (site.config['attendease'] && site.config['attendease']['venues_path_name']) ? site.config['attendease']['venues_path_name'] : 'venues'
|
506
577
|
|
578
|
+
venues.each do |venue|
|
579
|
+
venue['slug'] = EventData.parameterize(venue['name'], '_') + '.html'
|
580
|
+
site.pages << VenuePage.new(site, site.source, File.join(dir, venue['slug']), venue)
|
581
|
+
end
|
582
|
+
|
507
583
|
site.pages << VenuesIndexPage.new(site, site.source, File.join(dir), venues)
|
508
584
|
|
509
|
-
|
510
|
-
|
585
|
+
# /sponsors pages.
|
586
|
+
dir = site.config['attendease']['sponsors_path_name']
|
587
|
+
|
588
|
+
if site.config['attendease']['has_sponsors']
|
589
|
+
site.pages << SponsorsIndexPage.new(site, site.source, File.join(dir), site.config['attendease']['sponsor_levels'])
|
511
590
|
end
|
591
|
+
|
592
|
+
#sponsors.each do |sponsor|
|
593
|
+
# site.pages << SponsorPage.new(site, site.source, File.join(dir, EventData.parameterize(sponsor['name']) + '.html', '_'), sponsor)
|
594
|
+
#end
|
595
|
+
|
596
|
+
|
512
597
|
end
|
513
598
|
end
|
514
599
|
|
@@ -623,3 +708,4 @@ Liquid::Template.register_tag('attendease_locales_script', Jekyll::Attendease::A
|
|
623
708
|
Liquid::Template.register_tag('attendease_auth_account', Jekyll::Attendease::AttendeaseAuthAccountTag)
|
624
709
|
Liquid::Template.register_tag('attendease_auth_action', Jekyll::Attendease::AttendeaseAuthActionTag)
|
625
710
|
Liquid::Template.register_tag('t', Jekyll::Attendease::AttendeaseTranslateTag)
|
711
|
+
Liquid::Template.register_filter(Jekyll::Attendease::Filters)
|
@@ -6,13 +6,13 @@
|
|
6
6
|
{% for presenter in page.presenters %}
|
7
7
|
<div class="attendease-presenter" data-presenter-id="{{ presenter.id }}">
|
8
8
|
<div class="attendease-presenter-profile-image">
|
9
|
-
<a href="/presenters/{{ presenter.
|
9
|
+
<a href="/presenters/{{ presenter.slug }}">
|
10
10
|
<img height="100" src="{{ presenter.profile_url }}">
|
11
11
|
</a>
|
12
12
|
</div>
|
13
13
|
|
14
14
|
<div class="attendease-presenter-name">
|
15
|
-
<a href="/presenters/{{ presenter.
|
15
|
+
<a href="/presenters/{{ presenter.slug }}.html">{{ presenter.first_name }} {{ presenter.last_name }}</a>
|
16
16
|
</div>
|
17
17
|
|
18
18
|
<div class="attendease-presenter-title">
|
@@ -24,4 +24,4 @@
|
|
24
24
|
</div>
|
25
25
|
</div>
|
26
26
|
{% endfor %}
|
27
|
-
</div>
|
27
|
+
</div>
|
@@ -0,0 +1,31 @@
|
|
1
|
+
<div class="attendease-sponsors">
|
2
|
+
<div class="attendease-header">
|
3
|
+
<h1>{% t event.lingo.sponsors %}</h1>
|
4
|
+
</div>
|
5
|
+
|
6
|
+
{% for level in page.sponsor_levels %}
|
7
|
+
{% unless level.sponsors.empty? %}
|
8
|
+
<div class="attendease-sponsor-level">
|
9
|
+
{{ level.name }}
|
10
|
+
</div>
|
11
|
+
|
12
|
+
{% for sponsor in level.sponsors %}
|
13
|
+
<div class="attendease-sponsor" data-sponsor-id="{{ sponsor.id }}">
|
14
|
+
<div class="attendease-sponsor-image">
|
15
|
+
<a href="{{ sponsor.url }}" target="_blank">
|
16
|
+
<img class="attendease-sponsor-logo" height="100" src="{{ sponsor.logo_url }}" />
|
17
|
+
</a>
|
18
|
+
</div>
|
19
|
+
|
20
|
+
<div class="attendease-sponsor-name">
|
21
|
+
<a href="{{ sponsor.url }}" target="_blank">{{ sponsor.name }}</a>
|
22
|
+
</div>
|
23
|
+
|
24
|
+
<div class="attendease-sponsor-description">
|
25
|
+
{{ sponsor.description | markdownify }}
|
26
|
+
</div>
|
27
|
+
</div>
|
28
|
+
{% endfor %}
|
29
|
+
{% endunless %}
|
30
|
+
{% endfor %}
|
31
|
+
</div>
|
@@ -17,13 +17,13 @@
|
|
17
17
|
|
18
18
|
<div class="attendease-venue-map">
|
19
19
|
<div class="attendease-venue-map-image">
|
20
|
-
<a href="/venues/{{ venue.
|
20
|
+
<a href="/venues/{{ venue.slug }}"><img src="https://maps.google.com/maps/api/staticmap?center={{ venue.address.latitude }},{{ venue.address.longitude }}&zoom=13&size=100x100&sensor=false&markers=color:{{ marker_colour }}%7C{{ venue.address.latitude }},{{ venue.address.longitude }}" width="100" height="100" /></a>
|
21
21
|
</div>
|
22
22
|
</div>
|
23
23
|
{% endif %}
|
24
24
|
|
25
25
|
<div class="attendease-venue-name">
|
26
|
-
<a href="/venues/{{ venue.
|
26
|
+
<a href="/venues/{{ venue.slug }}">{{ venue.name }}</a>
|
27
27
|
</div>
|
28
28
|
|
29
29
|
{% if venue.address.address1 && venue.address.city %}
|
@@ -10,7 +10,7 @@
|
|
10
10
|
|
11
11
|
<div class="attendease-venue-map">
|
12
12
|
<div class="attendease-venue-map-image">
|
13
|
-
<img src="https://maps.google.com/maps/api/staticmap?center={{ page.venue.address.latitude }},{{ page.venue.address.longitude }}&zoom=13&size=200x200&sensor=false&markers=color:{{ marker_colour }}%7C{{ page.venue.address.latitude }},{{ page.venue.address.longitude }}" width="200" height="200"
|
13
|
+
<img src="https://maps.google.com/maps/api/staticmap?center={{ page.venue.address.latitude }},{{ page.venue.address.longitude }}&zoom=13&size=200x200&sensor=false&markers=color:{{ marker_colour }}%7C{{ page.venue.address.latitude }},{{ page.venue.address.longitude }}" width="200" height="200" />
|
14
14
|
</div>
|
15
15
|
|
16
16
|
<div class="attendease-venue-map-link">
|
@@ -48,4 +48,4 @@
|
|
48
48
|
{% endif %}
|
49
49
|
|
50
50
|
</div>
|
51
|
-
</div>
|
51
|
+
</div>
|
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.5.
|
5
|
-
prerelease:
|
4
|
+
version: 0.5.5
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Michael Wood
|
@@ -11,70 +10,62 @@ authors:
|
|
11
10
|
autorequire:
|
12
11
|
bindir: bin
|
13
12
|
cert_chain: []
|
14
|
-
date: 2014-
|
13
|
+
date: 2014-07-03 00:00:00.000000000 Z
|
15
14
|
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'
|
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'
|
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: '0'
|
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: '0'
|
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'
|
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'
|
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: '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: '0'
|
80
71
|
description: Bring your event data into Jekyll for amazing event websites.
|
@@ -94,29 +85,29 @@ files:
|
|
94
85
|
- templates/_includes/attendease/presenters/presenter.html
|
95
86
|
- templates/_includes/attendease/venues/index.html
|
96
87
|
- templates/_includes/attendease/venues/venue.html
|
88
|
+
- templates/_includes/attendease/sponsors/index.html
|
97
89
|
homepage: https://attendease.com/
|
98
90
|
licenses:
|
99
91
|
- MIT
|
92
|
+
metadata: {}
|
100
93
|
post_install_message:
|
101
94
|
rdoc_options: []
|
102
95
|
require_paths:
|
103
96
|
- lib
|
104
97
|
required_ruby_version: !ruby/object:Gem::Requirement
|
105
|
-
none: false
|
106
98
|
requirements:
|
107
|
-
- -
|
99
|
+
- - '>='
|
108
100
|
- !ruby/object:Gem::Version
|
109
101
|
version: '0'
|
110
102
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
111
|
-
none: false
|
112
103
|
requirements:
|
113
|
-
- -
|
104
|
+
- - '>='
|
114
105
|
- !ruby/object:Gem::Version
|
115
106
|
version: '0'
|
116
107
|
requirements: []
|
117
108
|
rubyforge_project:
|
118
|
-
rubygems_version:
|
109
|
+
rubygems_version: 2.0.3
|
119
110
|
signing_key:
|
120
|
-
specification_version:
|
111
|
+
specification_version: 4
|
121
112
|
summary: Attendease event helper for Jekyll
|
122
113
|
test_files: []
|