class Jekyll::Joule::Site

Attributes

data[RW]
html[RW]
site[RW]

Public Class Methods

new(site) click to toggle source
# File lib/jekyll/joule/site.rb, line 10
def initialize(site)
  @site = site
  @data = false
  @html = ""
  @fixture_id = "joule-fixture"
  @test_page_name = "test_joule.md"

  return self
end

Public Instance Methods

css(selectors) click to toggle source
# File lib/jekyll/joule/site.rb, line 45
def css(selectors)
  find_all(selectors)
end
find(selector) click to toggle source
# File lib/jekyll/joule/site.rb, line 53
def find(selector)
  find_all(selector).first
end
find_all(selectors) click to toggle source
# File lib/jekyll/joule/site.rb, line 49
def find_all(selectors)
  @html.css(selectors)
end
generate(page) click to toggle source
# File lib/jekyll/joule/site.rb, line 28
def generate(page)
  reset_page
  @site.pages.push(page)
  @site.render

  return get_page
end
get_page() click to toggle source
# File lib/jekyll/joule/site.rb, line 20
def get_page
  @site.pages.find {|p| p.name === @test_page_name}
end
render(content) click to toggle source
# File lib/jekyll/joule/site.rb, line 36
def render(content)
  page = Jekyll::Joule::Page.new(@site, @site.source, "/", @test_page_name)
  page.reparse(content)
  @data = generate(page)
  @html = Nokogiri::HTML(@data.content)

  return self
end
reset_page() click to toggle source
# File lib/jekyll/joule/site.rb, line 24
def reset_page
  @site.pages.delete_if {|p| p.name === @test_page_name}
end