jekyll-attendease 0.6.26c → 0.6.26d

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2bfbbef619b2af7fdb902279cda93fff38a0fb48
4
- data.tar.gz: 08ad5ab294e3c9dec9ea68a449f4418634056724
3
+ metadata.gz: 6ebb4b439693d912cd035a3f10d35eba99fb3f7a
4
+ data.tar.gz: 78bfc9b241f534fd33d79945bcca288568947a34
5
5
  SHA512:
6
- metadata.gz: 853ea57545323172b35feb61cdad2a848f223879b59d969b5257dcc060a9e666d9a48b140b74fb4ab45ca8e079ca550516aa9eb8759734e81cc3785be873daca
7
- data.tar.gz: 2950c22214bfb22b39966c188ab6ee49468aad11f3b65597ea4c6ca2cdd4c5910938bfe8692be84ad28874f4a5a240d38d093d00d0d31a8351b5471e09aad1cc
6
+ metadata.gz: 18ce2aa1b17a3bc4c9adb6ed8067d2ec638d977ec1ad3075d9497b6c1213a3e20dd650297a226886518d78e829cf31e792574e4fb840164a3201b98020c84c98
7
+ data.tar.gz: 78d7151f7312771cc50e20974bbb4f69308e04750f8b283d33ab3853722f761f4e03c26687e65f73f62249584400465ee178986db4cbc85a41992d50c89c6b18
@@ -0,0 +1,42 @@
1
+ module Jekyll
2
+ module AttendeasePlugin
3
+ class SitePageBlocksJson < StaticFile
4
+ def initialize(site, base, page)
5
+ @site = site
6
+ @base = base
7
+ @dir = page['slug']
8
+ @name = 'index.json'
9
+
10
+ self.process(@name)
11
+
12
+ #require 'pry'
13
+ #binding.pry
14
+ #self.read_yaml(File.join(base, '_attendease', 'templates', 'pages'), 'default.html')
15
+ self.read_yaml(File.join(base, '_layouts'), "#{page['layout']}.html")
16
+
17
+ self.data['title'] = page['title']
18
+ self.data['layout'] = page['layout']
19
+
20
+ zones = {}
21
+
22
+ # create zone buckets
23
+ page['block_instances'].each do |i|
24
+ zones[i['zone']] = [] if zones[i['zone']].nil?
25
+ zones[i['zone']] << i
26
+ end
27
+
28
+ # sort each bucket by widget weight
29
+ zones.each do |k, zone|
30
+ zone.sort! { |x, y| x['weight'] <=> y['weight'] }
31
+ self.data[k] = ''
32
+ zone.each do |i|
33
+ self.data[k] << i['rendered_html']
34
+ end
35
+ end
36
+
37
+ self.data['site_page'] = page
38
+ end
39
+ end
40
+ end
41
+ end
42
+
@@ -94,23 +94,16 @@ module Jekyll
94
94
  end
95
95
 
96
96
  def render(context)
97
- portal_pages = context.registers[:site].data['porta_pages']
98
-
99
- config = context.registers[:site].config['attendease']
97
+ portal_pages = context.registers[:site].data['portal_pages']
100
98
 
101
99
  nav = []
102
100
  if portal_pages.is_a?(Array)
103
101
  portal_pages.sort! { |a, b| a['weight'] <=> b['weight'] }
104
- key_mapping = { 'schedule' => 'sessions' }
105
102
  portal_pages.select { |p| p['top_level'] }.each do |page|
106
103
  if page['active'] && !page['hidden']
107
- # only activate nav links if there is content
108
- config_key = "has_#{key_mapping[page['page_key']] || page['page_key']}"
109
- if config[config_key].nil? || (!config[config_key].nil? && config[config_key] == true)
110
- template = Liquid::Template.parse(super)
111
- template.assigns['page'] = page
112
- nav << template.render
113
- end
104
+ template = Liquid::Template.parse(super)
105
+ template.assigns['page'] = page
106
+ nav << template.render
114
107
  end
115
108
  end
116
109
  nav.join("\n")
@@ -133,21 +126,14 @@ module Jekyll
133
126
  def render(context)
134
127
  pages = context.registers[:site].data['pages']
135
128
 
136
- config = context.registers[:site].config['attendease']
137
-
138
129
  nav = []
139
130
  if pages.is_a?(Array)
140
131
  pages.sort! { |a, b| a['weight'] <=> b['weight'] }
141
- key_mapping = { 'schedule' => 'sessions' }
142
132
  pages.select { |p| p['top_level'] }.each do |page|
143
133
  if page['active'] && !page['hidden']
144
- # only activate nav links if there is content
145
- config_key = "has_#{key_mapping[page['page_key']] || page['page_key']}"
146
- if config[config_key].nil? || (!config[config_key].nil? && config[config_key] == true)
147
- template = Liquid::Template.parse(super)
148
- template.assigns['page'] = page
149
- nav << template.render
150
- end
134
+ template = Liquid::Template.parse(super)
135
+ template.assigns['page'] = page
136
+ nav << template.render
151
137
  end
152
138
  end
153
139
  nav.join("\n")
@@ -1,5 +1,5 @@
1
1
  module Jekyll
2
2
  module AttendeasePlugin
3
- VERSION = '0.6.26c'
3
+ VERSION = '0.6.26d'
4
4
  end
5
5
  end
@@ -41,12 +41,7 @@ RSpec.describe Jekyll::AttendeasePlugin::EventDataGenerator do
41
41
 
42
42
  it 'populates a site wide pages array' do
43
43
  expect(site.data['pages'].class).to eq(Array)
44
- expect(site.data['pages'].length).to eq(10)
45
- end
46
-
47
- it 'populates a site wide portal pages array' do
48
- expect(site.data['portal_pages'].class).to eq(Array)
49
- expect(site.data['portal_pages'].length).to eq(6)
44
+ expect(site.data['pages'].length).to eq(5)
50
45
  end
51
46
 
52
47
  it 'populates a site wide event object' do
@@ -64,7 +59,7 @@ RSpec.describe Jekyll::AttendeasePlugin::EventDataGenerator do
64
59
 
65
60
  it 'populates a site wide pages array' do
66
61
  expect(site.data['pages'].class).to eq(Array)
67
- expect(site.data['pages'].length).to eq(10)
62
+ expect(site.data['pages'].length).to eq(5)
68
63
  end
69
64
 
70
65
  it 'populates a site wide event object' do
@@ -80,6 +75,11 @@ RSpec.describe Jekyll::AttendeasePlugin::EventDataGenerator do
80
75
  expect(site.data['sponsors']).to be_nil
81
76
  end
82
77
 
78
+ it 'populates a site wide portal pages array' do
79
+ expect(site.data['portal_pages'].class).to eq(Array)
80
+ expect(site.data['portal_pages'].length).to eq(2)
81
+ end
82
+
83
83
  end
84
84
 
85
85
  end
@@ -6,7 +6,7 @@ RSpec.describe Jekyll::AttendeasePlugin::OrganizationDataGenerator do
6
6
 
7
7
  it 'populates a site wide pages array' do
8
8
  expect(site.data['pages'].class).to eq(Array)
9
- expect(site.data['pages'].length).to eq(10)
9
+ expect(site.data['pages'].length).to eq(5)
10
10
  end
11
11
 
12
12
  it 'populates a site wide settings object' do
@@ -2,12 +2,18 @@ require 'spec_helper'
2
2
 
3
3
  RSpec.describe "Jekyll Attendease tags" do
4
4
  let(:site) { build_site }
5
+ let(:cms_site) { build_site({ 'attendease' => { 'jekyll33' => true } }) }
5
6
  let(:context) { { :registers => { :site => site, :page => {} } } }
7
+ let(:cms_context) { { :registers => { :site => cms_site, :page => {} } } }
6
8
 
7
9
  def render(content)
8
10
  ::Liquid::Template.parse(content).render({}, context)
9
11
  end
10
12
 
13
+ def cms_render(content)
14
+ ::Liquid::Template.parse(content).render({}, cms_context)
15
+ end
16
+
11
17
  context "{% attendease_auth_script %}" do
12
18
  subject { render("{% attendease_auth_script %}") }
13
19
  it { is_expected.to include "assets/attendease_event/auth.js" }
@@ -54,12 +60,20 @@ RSpec.describe "Jekyll Attendease tags" do
54
60
  end
55
61
 
56
62
  context "{% attendease_nav %}" do
57
- subject { render("{% attendease_nav %}{% raw %}<li><a href=\"/{{ page.slug }}/\">{{ page.name }}</a></li>{% endraw %}{% endattendease_nav %}") }
63
+ subject { render("{% attendease_nav %}{% raw %}<li><a href=\"{{ page.href }}\">{{ page.name }}</a></li>{% endraw %}{% endattendease_nav %}") }
58
64
  it { is_expected.to match(/<li><a href="\/schedule\/"/) }
59
65
 
60
66
  # hidden page
61
67
  it { is_expected.to_not match(/<li><a href="\/test\/"/) }
62
68
  end
69
+
70
+ context "{% attendease_portal_nav %}" do
71
+ subject { cms_render("{% attendease_portal_nav %}{% raw %}<li><a href=\"{{ page.href }}\">{{ page.name }}</a></li>{% endraw %}{% endattendease_portal_nav %}") }
72
+ it { is_expected.to match(/<li><a href="\/"/) }
73
+
74
+ # hidden page
75
+ it { is_expected.to_not match(/<li><a href="\/test\/"/) }
76
+ end
63
77
  end
64
78
 
65
79
  def schedule_widget_data
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.6.26c
4
+ version: 0.6.26d
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Wood
@@ -183,6 +183,7 @@ files:
183
183
  - lib/jekyll/attendease_plugin/schedule_session_page.rb
184
184
  - lib/jekyll/attendease_plugin/schedule_sessions_page.rb
185
185
  - lib/jekyll/attendease_plugin/site_page.rb
186
+ - lib/jekyll/attendease_plugin/site_page_blocks_json.rb
186
187
  - lib/jekyll/attendease_plugin/site_pages_generator.rb
187
188
  - lib/jekyll/attendease_plugin/sponsor_generator.rb
188
189
  - lib/jekyll/attendease_plugin/sponsors_index_page.rb
@@ -238,7 +239,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
238
239
  version: 1.3.1
239
240
  requirements: []
240
241
  rubyforge_project:
241
- rubygems_version: 2.6.11
242
+ rubygems_version: 2.4.5.2
242
243
  signing_key:
243
244
  specification_version: 4
244
245
  summary: Attendease event helper for Jekyll