Class: Avm::EacAsciidoctorBase0::Instances::Build

Inherits:
Object
  • Object
show all
Includes:
DocumentsOwner
Defined in:
lib/avm/eac_asciidoctor_base0/instances/build.rb,
lib/avm/eac_asciidoctor_base0/instances/build/theme.rb,
lib/avm/eac_asciidoctor_base0/instances/build/document.rb,
lib/avm/eac_asciidoctor_base0/instances/build/document/media.rb,
lib/avm/eac_asciidoctor_base0/instances/build/document/body_target.rb,
lib/avm/eac_asciidoctor_base0/instances/build/document/header_lines.rb,
lib/avm/eac_asciidoctor_base0/instances/build/document/pre_process_line.rb

Defined Under Namespace

Classes: Document, Theme

Constant Summary collapse

SOURCE_EXTNAMES =
%w[.adoc .asc].freeze

Instance Method Summary collapse

Methods included from DocumentsOwner

#document, #documents

Instance Method Details

#default_target_directoryObject



30
31
32
# File 'lib/avm/eac_asciidoctor_base0/instances/build.rb', line 30

def default_target_directory
  source.path.join('build')
end

#performObject



23
24
25
26
27
28
# File 'lib/avm/eac_asciidoctor_base0/instances/build.rb', line 23

def perform
  infov 'Documents to build', root_document.tree_documents_count
  target_directory.clear
  theme.perform
  root_document.perform
end

#root_documentObject



34
35
36
37
# File 'lib/avm/eac_asciidoctor_base0/instances/build.rb', line 34

def root_document
  ::Avm::EacAsciidoctorBase0::Instances::Build::Document
    .new(self, nil, source.root_document)
end

#sourceAvm::EacAsciidoctorBase0::Sources::Base



40
41
42
# File 'lib/avm/eac_asciidoctor_base0/instances/build.rb', line 40

def source
  instance.application.local_source
end

#target_directoryObject



44
45
46
47
48
# File 'lib/avm/eac_asciidoctor_base0/instances/build.rb', line 44

def target_directory
  ::EacRubyUtils::Fs::ClearableDirectory.new(
    options[OPTION_TARGET_DIRECTORY] || default_target_directory
  )
end