Module: Jekyll::Livereload::Build

Includes:
Configuration
Defined in:
lib/jekyll-livereload/build.rb

Instance Method Summary collapse

Instance Method Details

#process(opts) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/jekyll-livereload/build.rb', line 10

def process(opts)
  opts = load_config_options(opts)
  if opts['livereload']

    Jekyll::Hooks.register(:site, :post_render) do |site|
      regenerator = Jekyll::Regenerator.new(site)
      Livereload.pages = site.pages.select do |p|
        regenerator.regenerate?(p)
      end
    end

    Jekyll::Hooks.register([:pages, :documents], :post_render) do |doc|
      doc.output.sub!(/<head>(.*)<\/head>/m, "<head>\\1#{reload_script(opts)}</head>")
    end

    Jekyll::Hooks.register :site, :post_write do
      Livereload.reactor.reload() unless Livereload.reactor.nil?
    end
  end

  super opts
end