Module: Jenner

Defined in:
lib/jenner.rb,
lib/jenner/tag.rb,
lib/jenner/item.rb,
lib/jenner/site.rb,
lib/jenner/asset.rb,
lib/jenner/version.rb,
lib/jenner/template.rb,
lib/jenner/liquid_filters.rb,
lib/jenner/template_file_system.rb

Defined Under Namespace

Modules: LiquidFilters Classes: Asset, Item, Site, Tag, Template, TemplateFileSystem

Constant Summary collapse

VERSION =
"0.2.6"

Class Method Summary collapse

Class Method Details

.build(args, options = {}) ⇒ Object



19
20
21
22
23
# File 'lib/jenner.rb', line 19

def self.build(args, options={})
  @site = Site.new(File.expand_path('.'))
  puts "Building a site at #{@site.root}"
  @site.generate!
end

.deep_struct(obj) ⇒ Object



38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# File 'lib/jenner.rb', line 38

def self.deep_struct(obj)
  case obj
  when Hash
    obj = obj.clone
    obj.each do |key,value|
      obj[key] = Jenner.deep_struct(value)
    end
    OpenStruct.new(obj)
  when Array
    obj = obj.clone
    obj.map! {|i| Jenner.deep_struct(i) }
  else
    obj
  end
end

.serve(args, options = {}) ⇒ Object



25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/jenner.rb', line 25

def self.serve(args, options={})
  root = File.expand_path("./public")
  if Dir.exists?(root)
    puts "Starting server on port 9191"
    server = WEBrick::HTTPServer.new :Port => 9191, :DocumentRoot => root
    trap 'INT' do server.shutdown end

    server.start
  else
    puts "Site does not appear to be built. Run 'jenner build' first"
  end
end