jekyll-attendease 0.4.3 → 0.4.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/jekyll-attendease.rb +40 -7
- data/templates/_includes/attendease/presenters/presenter.html +5 -2
- data/templates/_includes/attendease/schedule/session.html +22 -4
- data/templates/_includes/attendease/schedule/sessions.html +3 -2
- data/templates/_includes/attendease/venues/index.html +3 -2
- metadata +18 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4f867f34c0e4cc4dabc62736cce3090ff8704f69
|
4
|
+
data.tar.gz: 3762e813ed104e03303573e54c66e811bc01b79c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ff901e6c108f5552659bdb976d175833ba5d3b064c74310705290188e2cb4b43be28b195ed5a29376b787fd25818b645af088093d0bff430b4e233ab2ad1fbcb
|
7
|
+
data.tar.gz: 58a84db46c4bff9098325473b0da0f9f47d16364209b97d5426d45005edac6bcf9250d1a9c060a62f0e88db6776f0e7c49011eedf8828ea110c661d825f90a67
|
data/lib/jekyll-attendease.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
require 'httparty'
|
2
2
|
require 'json'
|
3
|
+
require 'i18n'
|
3
4
|
|
4
5
|
module Jekyll
|
5
6
|
module Attendease
|
@@ -35,7 +36,7 @@ module Jekyll
|
|
35
36
|
|
36
37
|
FileUtils.mkdir_p(@attendease_data_path)
|
37
38
|
|
38
|
-
data_files = ['site.json', 'event.json', 'sessions.json', 'presenters.json', 'rooms.json', 'filters.json', 'venues.json']
|
39
|
+
data_files = ['site.json', 'event.json', 'sessions.json', 'presenters.json', 'rooms.json', 'filters.json', 'venues.json', 'lingo.json', 'lingo.yml']
|
39
40
|
|
40
41
|
data_files.each do |file_name|
|
41
42
|
update_data = true
|
@@ -44,9 +45,13 @@ module Jekyll
|
|
44
45
|
if (Time.now.to_i - File.mtime("#{@attendease_data_path}/#{file_name}").to_i) <= (@attendease_config['cache_expiry'].nil? ? 30 : @attendease_config['cache_expiry']) # file is less than 30 seconds old
|
45
46
|
update_data = false
|
46
47
|
|
47
|
-
|
48
|
+
if file_name.match(/json$/)
|
49
|
+
json = File.read("#{@attendease_data_path}/#{file_name}")
|
48
50
|
|
49
|
-
|
51
|
+
data = JSON.parse(json)
|
52
|
+
else
|
53
|
+
data = File.read("#{@attendease_data_path}/#{file_name}")
|
54
|
+
end
|
50
55
|
end
|
51
56
|
end
|
52
57
|
|
@@ -54,15 +59,22 @@ module Jekyll
|
|
54
59
|
options = {}
|
55
60
|
options.merge!(:headers => {'X-Event-Token' => @attendease_config['access_token']}) if @attendease_config['access_token']
|
56
61
|
|
57
|
-
|
62
|
+
request_filename = file_name.gsub(/yml$/, 'yaml')
|
63
|
+
data = get("#{@attendease_config['api_host']}api/#{request_filename}", options)
|
58
64
|
|
59
|
-
if (data.is_a?(Hash) && !data['error']) || data.is_a?(Array)
|
65
|
+
#if (file_name.match(/yaml$/) || data.is_a?(Hash) && !data['error']) || data.is_a?(Array)
|
66
|
+
if (data.response.is_a?(Net::HTTPOK))
|
60
67
|
puts "" if file_name == 'site.json' # leading space, that's all.
|
61
68
|
puts " [Attendease] Saving #{file_name} data..."
|
62
69
|
|
63
|
-
|
70
|
+
|
71
|
+
if file_name.match(/json$/)
|
72
|
+
File.open("#{@attendease_data_path}/#{file_name}", 'w+') { |file| file.write(data.parsed_response.to_json) }
|
73
|
+
else
|
74
|
+
File.open("#{@attendease_data_path}/#{file_name}", 'w+') { |file| file.write(data.body) }
|
75
|
+
end
|
64
76
|
else
|
65
|
-
raise "
|
77
|
+
raise "Request failed for #{@attendease_config['api_host']}api/#{request_filename}. Is your Attendease api_host site properly in _config.yml?"
|
66
78
|
end
|
67
79
|
end
|
68
80
|
|
@@ -150,6 +162,26 @@ module Jekyll
|
|
150
162
|
end
|
151
163
|
end
|
152
164
|
|
165
|
+
class AttendeaseTranslateTag < Liquid::Tag
|
166
|
+
def initialize(tag_name, params, tokens)
|
167
|
+
super
|
168
|
+
@args = split_params(params)
|
169
|
+
end
|
170
|
+
|
171
|
+
def split_params(params)
|
172
|
+
params.split(",").map(&:strip)
|
173
|
+
end
|
174
|
+
|
175
|
+
def render(context)
|
176
|
+
I18n::Backend::Simple.include(I18n::Backend::Pluralization)
|
177
|
+
I18n.enforce_available_locales = false
|
178
|
+
i18n_path = File.join(context.registers[:site].config['source'], '_attendease_data', 'lingo.yml')
|
179
|
+
I18n.load_path << i18n_path unless I18n.load_path.include?(i18n_path)
|
180
|
+
I18n.locale = context.registers[:page]['lang'] || context.registers[:site].config['attendease']['lang'] || :en
|
181
|
+
I18n.t(@args[0], :count => context['t_size'].nil? ? 0 : context['t_size'].to_i)
|
182
|
+
end
|
183
|
+
end
|
184
|
+
|
153
185
|
class AttendeaseAuthAccountTag < Liquid::Tag
|
154
186
|
def render(context)
|
155
187
|
'<div id="attendease-auth-account"></div>'
|
@@ -551,3 +583,4 @@ Liquid::Template.register_tag('attendease_scheduler_script', Jekyll::Attendease:
|
|
551
583
|
Liquid::Template.register_tag('attendease_locales_script', Jekyll::Attendease::AttendeaseLocalesScriptTag)
|
552
584
|
Liquid::Template.register_tag('attendease_auth_account', Jekyll::Attendease::AttendeaseAuthAccountTag)
|
553
585
|
Liquid::Template.register_tag('attendease_auth_action', Jekyll::Attendease::AttendeaseAuthActionTag)
|
586
|
+
Liquid::Template.register_tag('t', Jekyll::Attendease::AttendeaseTranslateTag)
|
@@ -23,7 +23,10 @@
|
|
23
23
|
</div>
|
24
24
|
|
25
25
|
<div class="attendease-sessions">
|
26
|
-
|
26
|
+
{% if site.attendease.data.event_session_times_heading == true %}
|
27
|
+
{% assign t_size = page.presenter.sessions.size %}
|
28
|
+
<h2 class="attendease-sessions-heading">{% t event.lingo.sessions %}</h2>
|
29
|
+
{% endif %}
|
27
30
|
|
28
31
|
{% for session in page.presenter.sessions %}
|
29
32
|
<div class="attendease-session-and-instances" data-session-id="{{ session.id }}">
|
@@ -68,4 +71,4 @@
|
|
68
71
|
{% endfor %}
|
69
72
|
|
70
73
|
</div>
|
71
|
-
</div>
|
74
|
+
</div>
|
@@ -4,12 +4,17 @@
|
|
4
4
|
<h1>{{ page.session.name }}</h1>
|
5
5
|
</div>
|
6
6
|
|
7
|
+
{% if site.attendease.data.event_session_description_first == true %}
|
7
8
|
<div class="attendease-description">
|
8
9
|
{{ page.session.description | markdownify }}
|
9
10
|
</div>
|
11
|
+
{% endif %}
|
10
12
|
|
11
13
|
<div class="attendease-instances attendease-meta-item">
|
12
|
-
|
14
|
+
{% if site.attendease.data.event_session_times_heading == true %}
|
15
|
+
{% assign t_size = page.session.instances.size %}
|
16
|
+
<h2 class="attendease-times-heading">{% t event.lingo.times %}</h2>
|
17
|
+
{% endif %}
|
13
18
|
|
14
19
|
{% for instance in page.session.instances %}
|
15
20
|
<div class="attendease-instance" data-instance-id="{{ instance.id }}">
|
@@ -43,11 +48,21 @@
|
|
43
48
|
{% endfor %}
|
44
49
|
|
45
50
|
</div>
|
51
|
+
|
52
|
+
{% if site.attendease.data.event_session_description_first != true %}
|
53
|
+
<div class="attendease-description">
|
54
|
+
{{ page.session.description | markdownify }}
|
55
|
+
</div>
|
56
|
+
{% endif %}
|
57
|
+
|
46
58
|
</div>
|
47
59
|
|
48
60
|
<div class="attendease-session-meta">
|
49
61
|
<div class="attendease-presenters attendease-meta-item">
|
50
|
-
|
62
|
+
{% if site.attendease.data.event_session_presenters_heading == true %}
|
63
|
+
{% assign t_size = page.session.presenters.size %}
|
64
|
+
<h2 class="attendease-presenter-heading">{% t event.lingo.presenters %}</h2>
|
65
|
+
{% endif %}
|
51
66
|
|
52
67
|
{% for presenter in page.session.presenters %}
|
53
68
|
<div class="attendease-presenter" data-presenter-id="{{ presenter.id }}">
|
@@ -72,7 +87,10 @@
|
|
72
87
|
</div>
|
73
88
|
|
74
89
|
<div class="attendease-filters attendease-meta-item">
|
75
|
-
|
90
|
+
{% if site.attendease.data.event_session_filters_heading == true %}
|
91
|
+
{% assign t_size = page.session.filters.size %}
|
92
|
+
<h2 class="attendease-filter-heading">{% t event.lingo.filters %}</h2>
|
93
|
+
{% endif %}
|
76
94
|
|
77
95
|
{% for filter in page.session.filters %}
|
78
96
|
<div class="attendease-filter">
|
@@ -90,4 +108,4 @@
|
|
90
108
|
{% endfor %}
|
91
109
|
</div>
|
92
110
|
</div>
|
93
|
-
</div>
|
111
|
+
</div>
|
@@ -1,6 +1,7 @@
|
|
1
1
|
<div class="attendease-schedule">
|
2
2
|
<div class="attendease-header">
|
3
|
-
|
3
|
+
{% assign t_size = page.session.size %}
|
4
|
+
<h1>{% t event.lingo.sessions %}</h2>
|
4
5
|
</div>
|
5
6
|
|
6
7
|
{% for session in page.sessions %}
|
@@ -20,4 +21,4 @@
|
|
20
21
|
</div>
|
21
22
|
{% endfor %}
|
22
23
|
|
23
|
-
</div>
|
24
|
+
</div>
|
@@ -1,6 +1,7 @@
|
|
1
1
|
<div class="attendease-venues">
|
2
2
|
<div class="attendease-header">
|
3
|
-
|
3
|
+
{% assign t_size = page.venues.size %}
|
4
|
+
<h1>{% t event.lingo.venues %}</h2>
|
4
5
|
</div>
|
5
6
|
|
6
7
|
{% for venue in page.venues %}
|
@@ -41,4 +42,4 @@
|
|
41
42
|
|
42
43
|
</div>
|
43
44
|
{% endfor %}
|
44
|
-
</div>
|
45
|
+
</div>
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jekyll-attendease
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michael Wood
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2014-
|
13
|
+
date: 2014-02-02 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: httparty
|
@@ -40,6 +40,20 @@ dependencies:
|
|
40
40
|
- - '>='
|
41
41
|
- !ruby/object:Gem::Version
|
42
42
|
version: '0'
|
43
|
+
- !ruby/object:Gem::Dependency
|
44
|
+
name: i18n
|
45
|
+
requirement: !ruby/object:Gem::Requirement
|
46
|
+
requirements:
|
47
|
+
- - '>='
|
48
|
+
- !ruby/object:Gem::Version
|
49
|
+
version: '0'
|
50
|
+
type: :runtime
|
51
|
+
prerelease: false
|
52
|
+
version_requirements: !ruby/object:Gem::Requirement
|
53
|
+
requirements:
|
54
|
+
- - '>='
|
55
|
+
- !ruby/object:Gem::Version
|
56
|
+
version: '0'
|
43
57
|
description: Bring your event data into Jekyll for amazing event websites.
|
44
58
|
email: support@attendease.com
|
45
59
|
executables: []
|
@@ -58,7 +72,8 @@ files:
|
|
58
72
|
- templates/_includes/attendease/venues/index.html
|
59
73
|
- templates/_includes/attendease/venues/venue.html
|
60
74
|
homepage: https://attendease.com/
|
61
|
-
licenses:
|
75
|
+
licenses:
|
76
|
+
- MIT
|
62
77
|
metadata: {}
|
63
78
|
post_install_message:
|
64
79
|
rdoc_options: []
|