jekyll-attendease 0.9.3 → 0.9.4a
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_plugin.rb +4 -2
- data/lib/jekyll/attendease_plugin/config_mixin.rb +4 -0
- data/lib/jekyll/attendease_plugin/event_data_generator.rb +4 -3
- data/lib/jekyll/attendease_plugin/event_layout_generator.rb +20 -17
- data/lib/jekyll/attendease_plugin/event_template_generator.rb +1 -0
- data/lib/jekyll/attendease_plugin/schedule_data_parser.rb +1 -1
- data/lib/jekyll/attendease_plugin/tags.rb +2 -2
- data/lib/jekyll/attendease_plugin/version.rb +1 -1
- data/spec/lib/jekyll/attendease_plugin/event_template_generator_spec.rb +7 -13
- data/spec/lib/jekyll/attendease_plugin/site_pages_generator_spec.rb +1 -1
- data/spec/spec_helper.rb +5 -0
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d562d2bfff2850adba28a3405afb4e4195959e1f
|
4
|
+
data.tar.gz: a433801b7b9dfad45f8f337f7ebf57a93b79633c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ca8a2cf0d4708f64c1410a8a15cc2d34d8c6a2fb760f436a7b83a26ed44928d22b9f9c05cd0a7d7d042b0f7803e995a36260afaba9c56f7dd3f4e9e079210a71
|
7
|
+
data.tar.gz: 31ab70fb6ee0f06e53dab866c6ba00e01a5ee519d202f037b0281cca065ebfd0711bec25c9fa525fe8e00118e346394e40ea4add8462c11625719bb80cf6eb31
|
@@ -45,6 +45,8 @@ Jekyll::Hooks.register :site, :after_reset do |site|
|
|
45
45
|
|
46
46
|
site.config['attendease'] = site.config['attendease'].nil? ? default : Jekyll::Utils.deep_merge_hashes(default['attendease'], site.config['attendease'])
|
47
47
|
|
48
|
+
site.config['attendease_source'] ||= site.config['source']
|
49
|
+
|
48
50
|
site.config.extend(AttendeaseJekyllConfigMixin)
|
49
51
|
|
50
52
|
if site.config.attendease['api_host'].nil?
|
@@ -55,11 +57,11 @@ end
|
|
55
57
|
Jekyll::Hooks.register :site, :post_write do |site|
|
56
58
|
if pages = site.data['pages']
|
57
59
|
pages.each do |page|
|
58
|
-
if File.exists?(file = File.join(site.config['
|
60
|
+
if File.exists?(file = File.join(site.config['attendease_source'], page['slug'], 'index.html'))
|
59
61
|
File.unlink(file)
|
60
62
|
end
|
61
63
|
|
62
|
-
if File.exists?(file = File.join(site.config['
|
64
|
+
if File.exists?(file = File.join(site.config['attendease_source'], page['slug'], 'index.json'))
|
63
65
|
File.unlink(file)
|
64
66
|
end
|
65
67
|
end
|
@@ -29,14 +29,14 @@ module Jekyll
|
|
29
29
|
site.config.attendease['api_host'] += '/'
|
30
30
|
end
|
31
31
|
|
32
|
-
@attendease_data_path = File.join(site.
|
32
|
+
@attendease_data_path = File.join(site.config['attendease_source'], '_attendease', 'data')
|
33
33
|
|
34
34
|
FileUtils.mkdir_p(@attendease_data_path)
|
35
35
|
|
36
36
|
if site.config.cms_theme?
|
37
|
-
data_files = %w[
|
37
|
+
data_files = %w[site event pages portal_pages site_settings organization_site_settings mappable].map { |m| "#{m}.json"} << 'lingo.yml'
|
38
38
|
else
|
39
|
-
data_files = %w[
|
39
|
+
data_files = %w[site event sessions presenters rooms filters venues sponsors pages site_settings].map { |m| "#{m}.json"} << 'lingo.yml'
|
40
40
|
end
|
41
41
|
|
42
42
|
# no more site in nextgen themes
|
@@ -47,6 +47,7 @@ module Jekyll
|
|
47
47
|
data = nil
|
48
48
|
|
49
49
|
file = File.join(@attendease_data_path, filename)
|
50
|
+
|
50
51
|
if File.exists?(file) && use_cache?(site, file)
|
51
52
|
update_data = false
|
52
53
|
|
@@ -16,21 +16,8 @@ module Jekyll
|
|
16
16
|
def generate(site)
|
17
17
|
Jekyll.logger.debug "[Attendease] Generating theme layouts..."
|
18
18
|
|
19
|
-
attendease_precompiled_theme_layouts_path = File.join(site.source, 'attendease_layouts') # These are compiled to the html site.
|
20
|
-
attendease_precompiled_theme_email_layouts_path = File.join(site.source, 'attendease_layouts', 'emails') # These are compiled for email.
|
21
19
|
layouts_path = File.join(site.source, '_layouts')
|
22
20
|
|
23
|
-
FileUtils.mkdir_p(attendease_precompiled_theme_layouts_path)
|
24
|
-
|
25
|
-
# Precompiled layouts for attendease app and jekyll generated pages.
|
26
|
-
base_layout = site.config['attendease']['base_layout'] || 'layout'
|
27
|
-
|
28
|
-
base_layout_file = File.join(layouts_path, "#{base_layout}.html")
|
29
|
-
unless File.exists?(base_layout_file)
|
30
|
-
# Generate an extremely simple base layout if it does not exist.
|
31
|
-
File.open(base_layout_file, 'w+') { |f| f.write("{{ content }}") }
|
32
|
-
end
|
33
|
-
|
34
21
|
cms_layouts = []
|
35
22
|
begin
|
36
23
|
Dir.glob(File.join(layouts_path, '*.html')).each do |l|
|
@@ -45,6 +32,26 @@ module Jekyll
|
|
45
32
|
rescue
|
46
33
|
end
|
47
34
|
|
35
|
+
cms_layouts.each do |layout|
|
36
|
+
site.pages << EventLayoutPage.new(site, site.source, 'attendease_layouts', "cms-#{layout}.html", layout, layout.capitalize)
|
37
|
+
end
|
38
|
+
|
39
|
+
return unless site.config.live_mode?
|
40
|
+
|
41
|
+
attendease_precompiled_theme_layouts_path = File.join(site.source, 'attendease_layouts') # These are compiled to the html site.
|
42
|
+
attendease_precompiled_theme_email_layouts_path = File.join(site.source, 'attendease_layouts', 'emails') # These are compiled for email.
|
43
|
+
|
44
|
+
FileUtils.mkdir_p(attendease_precompiled_theme_layouts_path)
|
45
|
+
|
46
|
+
# Precompiled layouts for attendease app and jekyll generated pages.
|
47
|
+
base_layout = site.config['attendease']['base_layout'] || 'layout'
|
48
|
+
|
49
|
+
base_layout_file = File.join(layouts_path, "#{base_layout}.html")
|
50
|
+
unless File.exists?(base_layout_file)
|
51
|
+
# Generate an extremely simple base layout if it does not exist.
|
52
|
+
File.open(base_layout_file, 'w+') { |f| f.write("{{ content }}") }
|
53
|
+
end
|
54
|
+
|
48
55
|
layouts_to_precompile = %w{ layout register surveys } # These are compiled to the html site.
|
49
56
|
layouts_to_precompile.each do |layout|
|
50
57
|
# create a layout file if it already doesn't exist.
|
@@ -56,10 +63,6 @@ module Jekyll
|
|
56
63
|
end
|
57
64
|
end
|
58
65
|
|
59
|
-
cms_layouts.each do |layout|
|
60
|
-
site.pages << EventLayoutPage.new(site, site.source, 'attendease_layouts', "cms-#{layout}.html", layout, layout.capitalize)
|
61
|
-
end
|
62
|
-
|
63
66
|
# Precompiled layouts for attendease email
|
64
67
|
base_email_layout = site.config['attendease']['base_email_layout'] || 'email'
|
65
68
|
base_email_layout_file = File.join(layouts_path, "#{base_email_layout}.html")
|
@@ -3,7 +3,7 @@ module Jekyll
|
|
3
3
|
class ScheduleWidgetTag < Liquid::Tag
|
4
4
|
def render(context)
|
5
5
|
schedule_data = ScheduleDataParser.new(context.registers[:site])
|
6
|
-
base = File.join(context.registers[:site].config['
|
6
|
+
base = File.join(context.registers[:site].config['attendease_source'])
|
7
7
|
|
8
8
|
instances = schedule_data.sessions.inject([]) do |memo, s|
|
9
9
|
s['instances'].each do |instance|
|
@@ -63,7 +63,7 @@ module Jekyll
|
|
63
63
|
def render(context)
|
64
64
|
I18n::Backend::Simple.include(I18n::Backend::Pluralization)
|
65
65
|
I18n.enforce_available_locales = false
|
66
|
-
i18n_path = File.join(context.registers[:site].config['
|
66
|
+
i18n_path = File.join(context.registers[:site].config['attendease_source'], '_attendease', 'data', 'lingo.yml')
|
67
67
|
I18n.load_path << i18n_path unless I18n.load_path.include?(i18n_path)
|
68
68
|
I18n.locale = context.registers[:page]['lang'] || context.registers[:site].config['attendease']['locale'] || context.registers[:site].config['attendease']['lang'] || :en
|
69
69
|
I18n.t(@key, :count => @options['t_size'])
|
@@ -1,33 +1,27 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
RSpec.describe Jekyll::AttendeasePlugin::EventTemplateGenerator do
|
4
|
-
context 'event site' do
|
4
|
+
context 'legacy event site' do
|
5
5
|
let(:site) { build_site }
|
6
6
|
|
7
7
|
it 'creates the Attendease template files' do
|
8
8
|
template_files = Dir.chdir(File.join(@template_root, 'attendease')) { Dir.glob('**/**.html') }
|
9
9
|
|
10
10
|
template_files.each do |template_file|
|
11
|
-
path = File.join(site.config['
|
11
|
+
path = File.join(site.config['attendease_source'], '_attendease', 'templates', template_file)
|
12
12
|
|
13
|
+
puts path
|
13
14
|
expect(File.exists?(path)).to eq(true)
|
14
15
|
expect(File.size(path)).to be > 0
|
15
16
|
end
|
16
17
|
end
|
17
18
|
end
|
18
19
|
|
19
|
-
context '
|
20
|
-
let(:site) {
|
20
|
+
context 'CMS site' do
|
21
|
+
let(:site) { build_cms_site }
|
21
22
|
|
22
|
-
it '
|
23
|
-
|
24
|
-
|
25
|
-
template_files.each do |template_file|
|
26
|
-
path = File.join(site.config['source'], '_attendease', 'templates', template_file)
|
27
|
-
|
28
|
-
expect(File.exists?(path)).to eq(true)
|
29
|
-
expect(File.size(path)).to be > 0
|
30
|
-
end
|
23
|
+
it 'skips creating the Attendease template files' do
|
24
|
+
expect(Pathname.new(site.config['attendease_source']).join('templates').exist?).to eq(false)
|
31
25
|
end
|
32
26
|
end
|
33
27
|
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
RSpec.describe Jekyll::AttendeasePlugin::SitePagesGenerator do
|
4
|
-
let(:site) {
|
4
|
+
let(:site) { build_cms_site }
|
5
5
|
let(:site_pages_generator) { find_generator(site, described_class) }
|
6
6
|
let(:index_file) { 'index.html' }
|
7
7
|
let(:page) { site.data['pages'].detect { |p| p['slug'] == 'test' } }
|
data/spec/spec_helper.rb
CHANGED
@@ -85,6 +85,7 @@ RSpec.configure do |config|
|
|
85
85
|
'has_venues' => true,
|
86
86
|
'has_mappable' => true,
|
87
87
|
'environment' => 'test',
|
88
|
+
'live_mode' => true,
|
88
89
|
'locale' => 'en',
|
89
90
|
'source_id' => 'foobar',
|
90
91
|
'auth_host' => 'https://foobar.auth/',
|
@@ -106,6 +107,10 @@ RSpec.configure do |config|
|
|
106
107
|
@site
|
107
108
|
end
|
108
109
|
|
110
|
+
def build_cms_site
|
111
|
+
build_site({ 'attendease' => { 'jekyll33' => true } })
|
112
|
+
end
|
113
|
+
|
109
114
|
def build_org_site
|
110
115
|
build_site({ 'attendease' => { 'mode' => 'organization', 'jekyll33' => true } })
|
111
116
|
end
|
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.9.
|
4
|
+
version: 0.9.4a
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michael Wood
|
@@ -234,9 +234,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
234
234
|
version: '0'
|
235
235
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
236
236
|
requirements:
|
237
|
-
- - "
|
237
|
+
- - ">"
|
238
238
|
- !ruby/object:Gem::Version
|
239
|
-
version:
|
239
|
+
version: 1.3.1
|
240
240
|
requirements: []
|
241
241
|
rubyforge_project:
|
242
242
|
rubygems_version: 2.6.14.4
|