class JekyllPagesApiSearch::Site

This is a stand-in for a normal Jekyll::Site used only by the standalone.rb module in this directory, since the full Jekyll::Site would be too complex for this purpose.

Attributes

baseurl[R]
config[R]
dest[R]
pages[RW]
source[R]

Public Class Methods

new(basedir, config) click to toggle source
# File lib/jekyll_pages_api_search/site.rb, line 12
def initialize(basedir, config)
  @source = basedir
  @dest = basedir
  @config = SafeYAML.load_file(config, :safe => true)
  @baseurl = @config['baseurl'] || '/'
  @pages = []
end

Public Instance Methods

in_source_dir(*paths) click to toggle source

Needed by Jekyll::Page.initialize().

# File lib/jekyll_pages_api_search/site.rb, line 21
def in_source_dir(*paths)
  paths
end
in_theme_dir(*paths) click to toggle source

Needed by Jekyll::Page.initialize().

# File lib/jekyll_pages_api_search/site.rb, line 26
def in_theme_dir(*paths)
  nil
end
load_pages_json(pages_json_path) click to toggle source

Adds an existing pages.json file (generated by jekyll_pages_api) to this site's `pages` collection.

# File lib/jekyll_pages_api_search/site.rb, line 32
def load_pages_json(pages_json_path)
  basename = File.basename pages_json_path
  rel_dir = File.dirname pages_json_path
  rel_dir = rel_dir[self.source.size..rel_dir.size]
  page = ::JekyllPagesApi::PageWithoutAFile.new(
    self, self.source, rel_dir, basename)
  page.output = File.read(pages_json_path)
  self.pages << page
end