Class: Middleman::Presentation::Cli::ExportPresentation

Inherits:
BaseGroup
  • Object
show all
Includes:
Thor::Actions
Defined in:
lib/middleman-presentation-core/cli/export_presentation.rb

Overview

This class provides an ‘export 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

#build_presentationObject



39
40
41
# File 'lib/middleman-presentation-core/cli/export_presentation.rb', line 39

def build_presentation
  invoke 'middleman:presentation:cli:build:presentation'
end

#create_archiveObject



43
44
45
46
47
48
49
50
51
# File 'lib/middleman-presentation-core/cli/export_presentation.rb', line 43

def create_archive
  Middleman::Presentation.logger.info Middleman::Presentation.t(
    'views.presentation.export.headline',
    title: @title,
    file: @output_file
  )

  Middleman::Presentation::Utils.zip(@source_directory, @output_file, prefix: @prefix)
end

#extract_dataObject



22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/middleman-presentation-core/cli/export_presentation.rb', line 22

def extract_data
  @title = Middleman::Presentation.config.title
  @date  = Middleman::Presentation.config.date.to_s
  @source_directory = @environment.build_path
  @output_file = File.expand_path(
    options.fetch('output_file', (@date.to_s + '-' + @title).characterize + '.zip')
  )

  fail Middleman::Presentation.t('errors.zip_filename_error', name: File.basename(@output_file)) unless @output_file.end_with? '.zip'

  @prefix                = options.fetch('prefix', (@date.to_s + '-' + @title.to_s).characterize + '/')
  @images_directory      = @environment.images_directory
  @stylesheets_directory = @environment.stylesheets_directory
  @javascripts_directory = @environment.scripts_directory
  @fonts_directory       = @environment.fonts_directory
end

#initialize_generatorObject



14
15
16
# File 'lib/middleman-presentation-core/cli/export_presentation.rb', line 14

def initialize_generator
  enable_debug_mode
end

#make_middleman_environment_availableObject



18
19
20
# File 'lib/middleman-presentation-core/cli/export_presentation.rb', line 18

def make_middleman_environment_available
  @environment        = MiddlemanEnvironment.new
end