Class: Middleman::Presentation::Cli::BuildPresentation
- Inherits:
-
BaseGroup
- Object
- Thor::Group
- BaseGroup
- Middleman::Presentation::Cli::BuildPresentation
show all
- Includes:
- Thor::Actions
- Defined in:
- lib/middleman-presentation-core/cli/build_presentation.rb
Overview
This class provides an ‘build presentation’ command for the middleman CLI.
Instance Method Summary
collapse
Methods included from Shared
#assets_loader, #bower_path, #enable_debug_mode, included, #open_in_editor
Instance Method Details
#add_license ⇒ Object
79
80
81
82
83
|
# File 'lib/middleman-presentation-core/cli/build_presentation.rb', line 79
def add_license
return if @license_file.blank?
copy_file @license_file, File.join(@environment.build_directory, File.basename(@license_file))
end
|
#add_rackup_file ⇒ Object
63
64
65
|
# File 'lib/middleman-presentation-core/cli/build_presentation.rb', line 63
def add_rackup_file
template 'rackup.config.erb', @rackup_config_file
end
|
#add_readme ⇒ Object
74
75
76
77
|
# File 'lib/middleman-presentation-core/cli/build_presentation.rb', line 74
def add_readme
template_file = BuildReadmeTemplate.new
template template_file.file, File.join(@environment.build_directory, "README#{template_file.proposed_extname}"), force: options[:force]
end
|
#add_server_executables ⇒ Object
67
68
69
70
71
72
|
# File 'lib/middleman-presentation-core/cli/build_presentation.rb', line 67
def add_server_executables
return unless @add_static_servers
pattern = File.expand_path('../../../../utils/server/*', __FILE__)
Dir.glob(pattern).each { |f| FileUtils.cp f, @environment.build_path }
end
|
#add_to_source_path ⇒ Object
17
18
19
|
# File 'lib/middleman-presentation-core/cli/build_presentation.rb', line 17
def add_to_source_path
source_paths << File.expand_path('../../../../templates', __FILE__)
end
|
#build_presentation ⇒ Object
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
# File 'lib/middleman-presentation-core/cli/build_presentation.rb', line 48
def build_presentation
Middleman::Presentation.logger.info Middleman::Presentation.t(
'views.presentation.build.headline',
title: Middleman::Presentation.config.title
)
cmd = []
cmd << 'middleman build'
cmd << '--verbose' if options[:debug_mode]
system cmd.join(' ')
fail Thor::Error, Middleman::Presentation.t('errors.middleman_build_error', result: '') unless $CHILD_STATUS.exitstatus == 0
end
|
#cleanup ⇒ Object
21
22
23
24
|
# File 'lib/middleman-presentation-core/cli/build_presentation.rb', line 21
def cleanup
remove_dir 'build'
end
|
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
# File 'lib/middleman-presentation-core/cli/build_presentation.rb', line 30
def
@images_directory = @environment.images_directory
@stylesheets_directory = @environment.stylesheets_directory
@javascripts_directory = @environment.scripts_directory
@fonts_directory = @environment.fonts_directory
@rackup_config_file = File.join @environment.build_directory, 'config.ru'
@readme_file = File.join @environment.build_directory, 'README.md'
@title = Middleman::Presentation.config.title
@subtitle = Middleman::Presentation.config.subtitle
@author = Middleman::Presentation.config.author
@speaker = Middleman::Presentation.config.speaker
@date = Middleman::Presentation.config.date
@license_file = Dir.glob(File.join(@environment.root_path, 'LICENSE.*')).first
@add_static_servers = options[:add_static_servers]
end
|
#initialize_generator ⇒ Object
13
14
15
|
# File 'lib/middleman-presentation-core/cli/build_presentation.rb', line 13
def initialize_generator
enable_debug_mode
end
|
#make_middleman_environment_available ⇒ Object
26
27
28
|
# File 'lib/middleman-presentation-core/cli/build_presentation.rb', line 26
def make_middleman_environment_available
@environment = MiddlemanEnvironment.new
end
|