jekyll-attendease 0.4.3 → 0.4.4
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 +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: []
|