From: Simon Kågedal Reimer Date: Wed, 11 Mar 2015 21:03:43 +0000 (+0100) Subject: Merge branch 'no_jekyll' of https://github.com/skagedal/manual into no_jekyll X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f188aabf74da7925e36bc8fb8e22221b197f4bf6;p=ardour-manual-diverged Merge branch 'no_jekyll' of https://github.com/skagedal/manual into no_jekyll Conflicts: build.rb --- f188aabf74da7925e36bc8fb8e22221b197f4bf6 diff --cc build.rb index 4edb695,8246d8e..77bca10 --- a/build.rb +++ b/build.rb @@@ -218,50 -222,12 +218,51 @@@ class Tag_prevnext < Liquid::Ta end end -Liquid::Template.register_tag('tree', Tag_tree) -Liquid::Template.register_tag('children', Tag_children) -Liquid::Template.register_tag('prevnext', Tag_prevnext) +class Server + def start_watcher() + require 'listen' + + listener = Listen.to(CONFIG[:pages_dir], wait_for_delay: 1.0, only: /.html$/) do |modified, added, removed| + Site.new.build + end + listener.start + listener + end + ++<<<<<<< HEAD + def run(options) + require 'webrick' + listener = options[:watch] && start_watcher + + puts "Serving at http://localhost:8000/ ..." + server = WEBrick::HTTPServer.new :Port => 8000, :DocumentRoot => CONFIG[:output_dir] + trap 'INT' do + server.shutdown + end + server.start + listener.stop if listener + end +end + +def main + Liquid::Template.register_tag('tree', Tag_tree) + Liquid::Template.register_tag('children', Tag_children) + Liquid::Template.register_tag('prevnext', Tag_prevnext) -if defined? Liquid::Template.error_mode - Liquid::Template.error_mode = :strict + if defined? Liquid::Template.error_mode + Liquid::Template.error_mode = :strict + end + + options = {} + OptionParser.new do |opts| + opts.on("--watch", "Watch for changes") { options[:watch] = true } + end.parse! + + Site.new.build + + if ARGV == ['serve'] + Server.new.run(options) + end end -Site.new.run +main