Sha256: 3c8ba67b7fafd88486f3a5f851e712cc17bffc801b19a942b7b54478e93e34fc

Contents?: true

Size: 1.48 KB

Versions: 8

Compression:

Stored size: 1.48 KB

Contents

# encoding: utf-8
module Middleman
  module Presentation
    module Cli
      # This class provides an 'build presentation' command for the middleman CLI.
      class ServePresentation < BaseGroup
        include Thor::Actions

        class_option :network_port, type: :numeric, default: Middleman::Presentation.config.network_port, desc: Middleman::Presentation.t('views.presentation.serve.options.network_port')
        class_option :network_interface, default: Middleman::Presentation.config.network_interface, desc: Middleman::Presentation.t('views.presentation.serve.options.network_interface')
        class_option :open_in_browser, type: :boolean, default: Middleman::Presentation.config.open_in_browser, desc: Middleman::Presentation.t('views.presentation.serve.options.open_in_browser')

        def initialize_generator
          enable_debug_mode
        end

        def build_presentation
          Middleman::Presentation.logger.info Middleman::Presentation.t(
            'views.presentation.serve.headline',
            title: Middleman::Presentation.config.title
          )

          Launchy.open(Addressable::URI.parse("http://#{options[:network_interface]}:#{options[:network_port]}")) if options[:open_in_browser]

          cmd = []
          cmd << 'middleman server'
          cmd << "-p #{options[:network_port]}"
          cmd << "-h #{options[:network_interface]}"
          cmd << '--verbose' if options[:debug_mode]

          run(cmd.join(' '))
        end
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
middleman-presentation-core-0.17.2 lib/middleman-presentation-core/cli/serve_presentation.rb
middleman-presentation-core-0.17.1 lib/middleman-presentation-core/cli/serve_presentation.rb
middleman-presentation-core-0.17.0 lib/middleman-presentation-core/cli/serve_presentation.rb
middleman-presentation-core-0.16.3 lib/middleman-presentation-core/cli/serve_presentation.rb
middleman-presentation-core-0.16.2 lib/middleman-presentation-core/cli/serve_presentation.rb
middleman-presentation-core-0.16.0 lib/middleman-presentation-core/cli/serve_presentation.rb
middleman-presentation-core-0.16.0.rc2 lib/middleman-presentation-core/cli/serve_presentation.rb
middleman-presentation-core-0.16.0.rc1 lib/middleman-presentation-core/cli/serve_presentation.rb