class Kentico::Kontent::Models::KenticoPage

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

Public Class Methods

new(site, page_info) click to toggle source
# File lib/kontent-jekyll/models/kentico_page.rb, line 9
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