Sha256: 14521574404645e78807e17c96ff6d441d7733ac9fcfb7973d5f521bc9d5d938

Contents?: true

Size: 1013 Bytes

Versions: 2

Compression:

Stored size: 1013 Bytes

Contents

module Kentico
  module Kontent
    module Models
      ##
      # Custom page that mimics the behavior of a regular Jekyll::Page
      # without trying to locate the file on the filesystem.

      class KenticoPage < Jekyll::Page
        def initialize(site, page_info)
          @site = site
          @base = site.source
          @dir = page_info.collection && "_#{page_info.collection}" || ''
          @name = page_info.filename
          @path = if site.in_theme_dir(@base) == @base
                    site.in_theme_dir(@base, @dir, @name)
                  else
                    site.in_source_dir(@base, @dir, @name)
                  end

          self.process(@name)

          self.data = page_info.front_matter
          self.content = page_info.content

          data.default_proc = proc do |_, key|
            site.frontmatter_defaults.find(File.join(@dir, @name), type, key)
          end

          ::Jekyll::Hooks.trigger :pages, :post_init, self
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
kontent-jekyll-1.0.0 lib/kontent-jekyll/models/kentico_page.rb
kontent-jekyll-0.12.0 lib/kontent-jekyll/models/kentico_page.rb