Sha256: c06ffb158f7d0d0a6e7cfd3d27c4751f53c103a1f7a35be778f234225675ac55

Contents?: true

Size: 1.22 KB

Versions: 24

Compression:

Stored size: 1.22 KB

Contents

# frozen_string_literal: true

usage 'compile [options]'
summary 'compile items of this site'
description <<~EOS
  Compile all items of the current site.
EOS
no_params

flag nil, :diff, 'generate diff'
if Nanoc::Feature.enabled?(Nanoc::Feature::LIVE_CMD)
  flag :w, :watch, 'watch for changes and recompile when needed'
end

module Nanoc::CLI::Commands
  class Compile < ::Nanoc::CLI::CommandRunner
    attr_accessor :listener_classes

    def run
      self.class.enter_site_dir

      if options[:watch]
        run_repeat
      else
        run_once
      end
    end

    def run_repeat
      require 'nanoc/live'
      Nanoc::Live::LiveRecompiler.new(command_runner: self).run
    end

    def run_once
      time_before = Time.now

      @site = load_site

      puts 'Compiling siteā€¦'
      compiler = Nanoc::Int::Compiler.new_for(@site)
      listener = Nanoc::CLI::Commands::CompileListeners::Aggregate.new(
        command_runner: self,
        site: @site,
        compiler: compiler,
      )
      listener.run_while do
        compiler.run_until_end
      end

      time_after = Time.now
      puts
      puts "Site compiled in #{format('%.2f', time_after - time_before)}s."
    end
  end
end

runner Nanoc::CLI::Commands::Compile

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
nanoc-4.11.12 lib/nanoc/cli/commands/compile.rb
nanoc-4.11.11 lib/nanoc/cli/commands/compile.rb
nanoc-4.11.10 lib/nanoc/cli/commands/compile.rb
nanoc-4.11.9 lib/nanoc/cli/commands/compile.rb
nanoc-4.11.8 lib/nanoc/cli/commands/compile.rb
nanoc-4.11.7 lib/nanoc/cli/commands/compile.rb
nanoc-4.11.6 lib/nanoc/cli/commands/compile.rb
nanoc-4.11.5 lib/nanoc/cli/commands/compile.rb
nanoc-4.11.4 lib/nanoc/cli/commands/compile.rb
nanoc-4.11.3 lib/nanoc/cli/commands/compile.rb
nanoc-4.11.2 lib/nanoc/cli/commands/compile.rb
nanoc-4.11.1 lib/nanoc/cli/commands/compile.rb
nanoc-4.11.0 lib/nanoc/cli/commands/compile.rb
nanoc-4.10.4 lib/nanoc/cli/commands/compile.rb
nanoc-4.10.3 lib/nanoc/cli/commands/compile.rb
nanoc-4.10.2 lib/nanoc/cli/commands/compile.rb
nanoc-4.10.1 lib/nanoc/cli/commands/compile.rb
nanoc-4.10.0 lib/nanoc/cli/commands/compile.rb
nanoc-4.9.9 lib/nanoc/cli/commands/compile.rb
nanoc-4.9.8 lib/nanoc/cli/commands/compile.rb