jekyll-attendease 0.6.43.3 → 0.6.44b
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/helpers.rb +21 -1
 - data/lib/jekyll/attendease_plugin/tags.rb +2 -36
 - data/lib/jekyll/attendease_plugin/version.rb +1 -1
 - data/spec/lib/jekyll/attendease_plugin/helpers_spec.rb +44 -1
 - data/spec/lib/jekyll/attendease_plugin/tags_spec.rb +16 -10
 - metadata +4 -4
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA1:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: e03d31c7ddea1090c096541f92f9a3689449431a
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 3016f4e2680178023dbcc678ea14e5b583c750f2
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 9ca2980db60b358afb8e18fef67b2983e64e86b0827401584a2a261a3bee3549beece2cf06eb470dc2ad3b527f2d5e64477a68f6876e5a6c679c49460a6eb8da
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 4aa473baa8f564fec7085feaa28e467f1a3cc8f0914c5121ff0454d5f30d6c5e9ff4d628323f2f65d8d246ae3385253c9161ad63617cc0aa24373e9f9b00bc2d
         
     | 
| 
         @@ -35,7 +35,27 @@ module Jekyll 
     | 
|
| 
       35 
35 
     | 
    
         
             
                                'ø' => 'o', 'ù' => 'u', 'ú' => 'u', 'û' => 'u', 'ü' => 'u',
         
     | 
| 
       36 
36 
     | 
    
         
             
                                'ý' => 'y', 'ÿ' => 'y' }
         
     | 
| 
       37 
37 
     | 
    
         
             
                    s.encode('ASCII',
         
     | 
| 
       38 
     | 
    
         
            -
             
     | 
| 
      
 38 
     | 
    
         
            +
                             fallback: lambda { |c| fallback.key?(c) ? fallback[c] : undefined })
         
     | 
| 
      
 39 
     | 
    
         
            +
                  end
         
     | 
| 
      
 40 
     | 
    
         
            +
             
     | 
| 
      
 41 
     | 
    
         
            +
                  PAGE_KEYS = %w[id name href weight root children parent].freeze
         
     | 
| 
      
 42 
     | 
    
         
            +
             
     | 
| 
      
 43 
     | 
    
         
            +
                  # filter the raw pages for what's safe to make public
         
     | 
| 
      
 44 
     | 
    
         
            +
                  def self.public_pages(pages)
         
     | 
| 
      
 45 
     | 
    
         
            +
                    pages
         
     | 
| 
      
 46 
     | 
    
         
            +
                      .select { |p| p['root'] }
         
     | 
| 
      
 47 
     | 
    
         
            +
                      .reject { |p| p['hidden'] && (p['slug'] != '' || p['external'] == true) }
         
     | 
| 
      
 48 
     | 
    
         
            +
                      .map do |page|
         
     | 
| 
      
 49 
     | 
    
         
            +
                        page = page.select { |key| PAGE_KEYS.include?(key) }
         
     | 
| 
      
 50 
     | 
    
         
            +
             
     | 
| 
      
 51 
     | 
    
         
            +
                        page['children'] = page['children']
         
     | 
| 
      
 52 
     | 
    
         
            +
                                           .reject { |p| p['hidden'] }
         
     | 
| 
      
 53 
     | 
    
         
            +
                                           .map { |child| child.select { |key| PAGE_KEYS.include?(key) } }
         
     | 
| 
      
 54 
     | 
    
         
            +
                                           .sort_by { |p| p['weight'] }
         
     | 
| 
      
 55 
     | 
    
         
            +
             
     | 
| 
      
 56 
     | 
    
         
            +
                        page
         
     | 
| 
      
 57 
     | 
    
         
            +
                      end
         
     | 
| 
      
 58 
     | 
    
         
            +
                      .sort_by { |p| p['weight'] }
         
     | 
| 
       39 
59 
     | 
    
         
             
                  end
         
     | 
| 
       40 
60 
     | 
    
         
             
                end
         
     | 
| 
       41 
61 
     | 
    
         
             
              end
         
     | 
| 
         @@ -163,43 +163,9 @@ module Jekyll 
     | 
|
| 
       163 
163 
     | 
    
         | 
| 
       164 
164 
     | 
    
         
             
                    parent_pages_are_clickable = config['parent_pages_are_clickable']
         
     | 
| 
       165 
165 
     | 
    
         | 
| 
       166 
     | 
    
         
            -
                     
     | 
| 
       167 
     | 
    
         
            -
             
     | 
| 
       168 
     | 
    
         
            -
                    pages = {}
         
     | 
| 
       169 
     | 
    
         
            -
                    pages = context.registers[:site].data['pages']
         
     | 
| 
       170 
     | 
    
         
            -
                      .select { |p| p['root'] }
         
     | 
| 
       171 
     | 
    
         
            -
                      .reject { |p| p['hidden'] }
         
     | 
| 
       172 
     | 
    
         
            -
                      .map do |page|
         
     | 
| 
       173 
     | 
    
         
            -
                        page = page.select { |key| page_keys.include?(key) }
         
     | 
| 
       174 
     | 
    
         
            -
             
     | 
| 
       175 
     | 
    
         
            -
                        page['children'] = page['children']
         
     | 
| 
       176 
     | 
    
         
            -
                          .reject { |p| p['hidden'] }
         
     | 
| 
       177 
     | 
    
         
            -
                          .map { |child| child.select { |key| page_keys.include?(key) } }
         
     | 
| 
       178 
     | 
    
         
            -
                          .sort_by { |p| p['weight'] }
         
     | 
| 
       179 
     | 
    
         
            -
             
     | 
| 
       180 
     | 
    
         
            -
                        page
         
     | 
| 
       181 
     | 
    
         
            -
                      end
         
     | 
| 
       182 
     | 
    
         
            -
                      .sort_by { |p| p['weight'] }
         
     | 
| 
       183 
     | 
    
         
            -
             
     | 
| 
       184 
     | 
    
         
            -
                    portal_pages = {}
         
     | 
| 
       185 
     | 
    
         
            -
                    if (context.registers[:site].data['portal_pages'])
         
     | 
| 
       186 
     | 
    
         
            -
                      portal_pages = context.registers[:site].data['portal_pages']
         
     | 
| 
       187 
     | 
    
         
            -
                        .select { |p| p['root'] }
         
     | 
| 
       188 
     | 
    
         
            -
                        .reject { |p| p['hidden'] }
         
     | 
| 
       189 
     | 
    
         
            -
                        .map do |page|
         
     | 
| 
       190 
     | 
    
         
            -
                          page = page.select { |key| page_keys.include?(key) }
         
     | 
| 
       191 
     | 
    
         
            -
             
     | 
| 
       192 
     | 
    
         
            -
                          page['children'] = page['children']
         
     | 
| 
       193 
     | 
    
         
            -
                            .reject { |p| p['hidden'] }
         
     | 
| 
       194 
     | 
    
         
            -
                            .map { |child| child.select { |key| page_keys.include?(key) } }
         
     | 
| 
       195 
     | 
    
         
            -
                            .sort_by { |p| p['weight'] }
         
     | 
| 
       196 
     | 
    
         
            -
             
     | 
| 
       197 
     | 
    
         
            -
                          page
         
     | 
| 
       198 
     | 
    
         
            -
                        end
         
     | 
| 
       199 
     | 
    
         
            -
                        .sort_by { |p| p['weight'] }
         
     | 
| 
       200 
     | 
    
         
            -
                    end
         
     | 
| 
       201 
     | 
    
         
            -
             
     | 
| 
      
 166 
     | 
    
         
            +
                    pages = Helpers.public_pages(context.registers[:site].data['pages'])
         
     | 
| 
       202 
167 
     | 
    
         | 
| 
      
 168 
     | 
    
         
            +
                    portal_pages = Helpers.public_pages(context.registers[:site].data['portal_pages']) || []
         
     | 
| 
       203 
169 
     | 
    
         
             
                    env = config['environment']
         
     | 
| 
       204 
170 
     | 
    
         | 
| 
       205 
171 
     | 
    
         
             
                    # IMPORTANT NOTE: The script variables below must NOT be changed without making sure that blockrenderer.js and other
         
     | 
| 
         @@ -2,7 +2,7 @@ 
     | 
|
| 
       2 
2 
     | 
    
         
             
            require 'spec_helper'
         
     | 
| 
       3 
3 
     | 
    
         | 
| 
       4 
4 
     | 
    
         
             
            RSpec.describe Jekyll::AttendeasePlugin::Helpers do
         
     | 
| 
       5 
     | 
    
         
            -
               
     | 
| 
      
 5 
     | 
    
         
            +
              describe '#parameterize' do
         
     | 
| 
       6 
6 
     | 
    
         
             
                it 'converts a typical filter item into a predictable CSS-friendly class name' do
         
     | 
| 
       7 
7 
     | 
    
         
             
                  expect(Jekyll::AttendeasePlugin::Helpers.parameterize('Super Hyper Advanced', '-')).to eq('super-hyper-advanced')
         
     | 
| 
       8 
8 
     | 
    
         
             
                end
         
     | 
| 
         @@ -23,4 +23,47 @@ RSpec.describe Jekyll::AttendeasePlugin::Helpers do 
     | 
|
| 
       23 
23 
     | 
    
         
             
                  expect(Jekyll::AttendeasePlugin::Helpers.parameterize('-, What--the--hell? ::')).to eq('what_the_hell')
         
     | 
| 
       24 
24 
     | 
    
         
             
                end
         
     | 
| 
       25 
25 
     | 
    
         
             
              end
         
     | 
| 
      
 26 
     | 
    
         
            +
             
     | 
| 
      
 27 
     | 
    
         
            +
              describe '#convert_to_ascii' do
         
     | 
| 
      
 28 
     | 
    
         
            +
                it 'converts accented characters to plain letters' do
         
     | 
| 
      
 29 
     | 
    
         
            +
                  expect(Jekyll::AttendeasePlugin::Helpers.convert_to_ascii('café')).to eq('cafe')
         
     | 
| 
      
 30 
     | 
    
         
            +
                end
         
     | 
| 
      
 31 
     | 
    
         
            +
              end
         
     | 
| 
      
 32 
     | 
    
         
            +
             
     | 
| 
      
 33 
     | 
    
         
            +
              describe '#public_pages' do
         
     | 
| 
      
 34 
     | 
    
         
            +
                let(:pages) { JSON.parse(File.read(fixtures_path.join('_attendease', 'data', 'pages.json'))) }
         
     | 
| 
      
 35 
     | 
    
         
            +
                let(:public_pages) { Jekyll::AttendeasePlugin::Helpers.public_pages(pages) }
         
     | 
| 
      
 36 
     | 
    
         
            +
                let(:all_pages_hidden) do
         
     | 
| 
      
 37 
     | 
    
         
            +
                  hidden_pages = pages.map { |p| p['hidden'] = true; p }
         
     | 
| 
      
 38 
     | 
    
         
            +
                  Jekyll::AttendeasePlugin::Helpers.public_pages(hidden_pages)
         
     | 
| 
      
 39 
     | 
    
         
            +
                end
         
     | 
| 
      
 40 
     | 
    
         
            +
             
     | 
| 
      
 41 
     | 
    
         
            +
                it 'sorts pages by weight' do
         
     | 
| 
      
 42 
     | 
    
         
            +
                  expect(public_pages[0]['weight']).to eq(0)
         
     | 
| 
      
 43 
     | 
    
         
            +
                  expect(public_pages[0]['href']).to eq('/')
         
     | 
| 
      
 44 
     | 
    
         
            +
             
     | 
| 
      
 45 
     | 
    
         
            +
                  expect(public_pages[1]['weight']).to eq(1)
         
     | 
| 
      
 46 
     | 
    
         
            +
                  expect(public_pages[1]['href']).to eq('/product/')
         
     | 
| 
      
 47 
     | 
    
         
            +
             
     | 
| 
      
 48 
     | 
    
         
            +
                  expect(public_pages[2]['weight']).to eq(2)
         
     | 
| 
      
 49 
     | 
    
         
            +
                  expect(public_pages[2]['href']).to eq('/agenda/')
         
     | 
| 
      
 50 
     | 
    
         
            +
             
     | 
| 
      
 51 
     | 
    
         
            +
                  expect(public_pages[3]['weight']).to eq(3)
         
     | 
| 
      
 52 
     | 
    
         
            +
                  expect(public_pages[3]['href']).to eq('/sponsors/')
         
     | 
| 
      
 53 
     | 
    
         
            +
                end
         
     | 
| 
      
 54 
     | 
    
         
            +
             
     | 
| 
      
 55 
     | 
    
         
            +
                it 'sorts children by weight' do
         
     | 
| 
      
 56 
     | 
    
         
            +
                  expect(public_pages[1]['children'][0]['name']).to eq('Product Child 2')
         
     | 
| 
      
 57 
     | 
    
         
            +
                  expect(public_pages[1]['children'][1]['name']).to eq('Product Child 1')
         
     | 
| 
      
 58 
     | 
    
         
            +
                end
         
     | 
| 
      
 59 
     | 
    
         
            +
             
     | 
| 
      
 60 
     | 
    
         
            +
                it 'publishes the home page regardless of hidden status' do
         
     | 
| 
      
 61 
     | 
    
         
            +
                  expect(all_pages_hidden.length).to eq(1)
         
     | 
| 
      
 62 
     | 
    
         
            +
                  expect(all_pages_hidden[0]['href']).to eq('/')
         
     | 
| 
      
 63 
     | 
    
         
            +
                end
         
     | 
| 
      
 64 
     | 
    
         
            +
             
     | 
| 
      
 65 
     | 
    
         
            +
                it 'only has the declared keys in each page object' do
         
     | 
| 
      
 66 
     | 
    
         
            +
                  expect(public_pages[0].keys.length).to eq(7)
         
     | 
| 
      
 67 
     | 
    
         
            +
                end
         
     | 
| 
      
 68 
     | 
    
         
            +
              end
         
     | 
| 
       26 
69 
     | 
    
         
             
            end
         
     | 
| 
         @@ -83,16 +83,22 @@ RSpec.describe "Jekyll Attendease tags" do 
     | 
|
| 
       83 
83 
     | 
    
         | 
| 
       84 
84 
     | 
    
         
             
              context "{% attendease_block_renderer %} for event" do
         
     | 
| 
       85 
85 
     | 
    
         
             
                subject { render("{% attendease_block_renderer %}") }
         
     | 
| 
       86 
     | 
    
         
            -
             
     | 
| 
       87 
     | 
    
         
            -
             
     | 
| 
       88 
     | 
    
         
            -
                 
     | 
| 
       89 
     | 
    
         
            -
             
     | 
| 
       90 
     | 
    
         
            -
             
     | 
| 
       91 
     | 
    
         
            -
             
     | 
| 
       92 
     | 
    
         
            -
             
     | 
| 
       93 
     | 
    
         
            -
             
     | 
| 
       94 
     | 
    
         
            -
             
     | 
| 
       95 
     | 
    
         
            -
             
     | 
| 
      
 86 
     | 
    
         
            +
                let(:foo) { render("{% attendease_block_renderer %}") }
         
     | 
| 
      
 87 
     | 
    
         
            +
             
     | 
| 
      
 88 
     | 
    
         
            +
                describe 'expected output' do
         
     | 
| 
      
 89 
     | 
    
         
            +
                  require 'pry'
         
     | 
| 
      
 90 
     | 
    
         
            +
                  
         
     | 
| 
      
 91 
     | 
    
         
            +
             
     | 
| 
      
 92 
     | 
    
         
            +
                  it { binding.pry; is_expected.to match(/locale: "en"/) }
         
     | 
| 
      
 93 
     | 
    
         
            +
                  it { is_expected.to match(/siteName: "My Attendease Test Event"/) }
         
     | 
| 
      
 94 
     | 
    
         
            +
                  it { is_expected.to match(/eventApiEndpoint: "https:\/\/foobar\/api"/) }
         
     | 
| 
      
 95 
     | 
    
         
            +
                  it { is_expected.to match(/eventId: "foobar"/) }
         
     | 
| 
      
 96 
     | 
    
         
            +
                  it { is_expected.to match(/orgURL: "https:\/\/foobar.org\/"/) }
         
     | 
| 
      
 97 
     | 
    
         
            +
                  it { is_expected.to match(/orgId: "batbaz"/) }
         
     | 
| 
      
 98 
     | 
    
         
            +
                  it { is_expected.to match(/authApiEndpoint: "https:\/\/foobar.auth\/api"/) }
         
     | 
| 
      
 99 
     | 
    
         
            +
                  it { is_expected.to match(/dashboard.attendease.com\/webpack_assets\/blockrenderer.bundle.js/) }
         
     | 
| 
      
 100 
     | 
    
         
            +
                  it { is_expected.to_not match(/orgLocales/) }
         
     | 
| 
      
 101 
     | 
    
         
            +
                end
         
     | 
| 
       96 
102 
     | 
    
         
             
              end
         
     | 
| 
       97 
103 
     | 
    
         | 
| 
       98 
104 
     | 
    
         
             
              context "{% attendease_block_renderer %} with custom bundle URL" do
         
     | 
    
        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. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.6.44b
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Michael Wood
         
     | 
| 
         @@ -234,12 +234,12 @@ 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 
     | 
    
         
            -
            rubygems_version: 2.2 
     | 
| 
      
 242 
     | 
    
         
            +
            rubygems_version: 2.5.2
         
     | 
| 
       243 
243 
     | 
    
         
             
            signing_key: 
         
     | 
| 
       244 
244 
     | 
    
         
             
            specification_version: 4
         
     | 
| 
       245 
245 
     | 
    
         
             
            summary: Attendease event helper for Jekyll
         
     |