bookbindery 2.0.1 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. checksums.yaml +4 -4
  2. data/lib/bookbinder.rb +2 -2
  3. data/lib/bookbinder/app_fetcher.rb +2 -6
  4. data/lib/bookbinder/archive.rb +1 -1
  5. data/lib/bookbinder/book.rb +7 -2
  6. data/lib/bookbinder/cli.rb +4 -5
  7. data/lib/bookbinder/code_example_reader.rb +1 -1
  8. data/lib/bookbinder/command_validator.rb +30 -10
  9. data/lib/bookbinder/commands/bind.rb +58 -53
  10. data/lib/bookbinder/commands/help.rb +4 -4
  11. data/lib/bookbinder/commands/naming.rb +14 -4
  12. data/lib/bookbinder/commands/push_from_local.rb +51 -0
  13. data/lib/bookbinder/commands/push_to_prod.rb +1 -2
  14. data/lib/bookbinder/commands/run_publish_ci.rb +1 -1
  15. data/lib/bookbinder/commands/tag.rb +1 -1
  16. data/lib/bookbinder/commands/version.rb +5 -4
  17. data/lib/bookbinder/configuration.rb +49 -28
  18. data/lib/bookbinder/configuration_fetcher.rb +1 -1
  19. data/lib/bookbinder/configuration_validator.rb +40 -37
  20. data/lib/bookbinder/{bookbinder_logger.rb → deprecated_logger.rb} +1 -1
  21. data/lib/bookbinder/distributor.rb +16 -9
  22. data/lib/bookbinder/dita_html_to_middleman_formatter.rb +26 -8
  23. data/lib/bookbinder/dita_section.rb +8 -2
  24. data/lib/bookbinder/git_hub_repository.rb +7 -20
  25. data/lib/bookbinder/html_document_manipulator.rb +21 -0
  26. data/lib/bookbinder/ingest/cloner_factory.rb +25 -0
  27. data/lib/bookbinder/ingest/git_hub_repository_cloner_facade.rb +26 -0
  28. data/lib/bookbinder/ingest/local_filesystem_cloner_facade.rb +28 -0
  29. data/lib/bookbinder/local_dita_preprocessor.rb +33 -5
  30. data/lib/bookbinder/local_dita_to_html_converter.rb +26 -28
  31. data/lib/bookbinder/local_file_system_accessor.rb +0 -5
  32. data/lib/bookbinder/publisher.rb +1 -1
  33. data/lib/bookbinder/remote_yaml_credential_provider.rb +1 -1
  34. data/lib/bookbinder/repositories/command_repository.rb +21 -5
  35. data/lib/bookbinder/section.rb +12 -1
  36. data/lib/bookbinder/subnav.rb +4 -0
  37. data/lib/bookbinder/subnav_formatter.rb +37 -0
  38. data/lib/bookbinder/user_message.rb +10 -1
  39. data/master_middleman/bookbinder_helpers.rb +3 -3
  40. metadata +46 -40
  41. data/lib/bookbinder/commands/push_local_to_staging.rb +0 -36
@@ -0,0 +1,21 @@
1
+ require 'nokogiri'
2
+
3
+ module Bookbinder
4
+ class HtmlDocumentManipulator
5
+ def set_attribute(document: nil,
6
+ selector: nil,
7
+ attribute: nil,
8
+ value: nil)
9
+ doc = Nokogiri::HTML.fragment(document)
10
+ node_set = doc.css(selector)
11
+ node_set.attr(attribute, value)
12
+ doc.to_html
13
+ end
14
+
15
+ def read_html_in_tag(document: nil, tag: nil)
16
+ doc = Nokogiri::HTML(document)
17
+ doc.css(tag).inner_html
18
+ end
19
+ end
20
+ end
21
+
@@ -0,0 +1,25 @@
1
+ require_relative 'git_hub_repository_cloner_facade'
2
+ require_relative 'local_filesystem_cloner_facade'
3
+
4
+ module Bookbinder
5
+ module Ingest
6
+ class ClonerFactory
7
+ def initialize(logger, version_control_system)
8
+ @logger = logger
9
+ @version_control_system = version_control_system
10
+ end
11
+
12
+ def produce(source, user_repo_dir)
13
+ if user_repo_dir
14
+ LocalFilesystemClonerFacade.new(logger, version_control_system, user_repo_dir)
15
+ else
16
+ GitHubRepositoryClonerFacade.new(logger, version_control_system)
17
+ end
18
+ end
19
+
20
+ private
21
+
22
+ attr_reader :logger, :version_control_system
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,26 @@
1
+ module Bookbinder
2
+ module Ingest
3
+ class GitHubRepositoryClonerFacade
4
+ def initialize(logger, version_control_system)
5
+ @logger = logger
6
+ @version_control_system = version_control_system
7
+ end
8
+
9
+ def call(from: nil,
10
+ ref: nil,
11
+ parent_dir: nil,
12
+ dir_name: nil)
13
+ GitHubRepository.
14
+ build_from_remote(logger,
15
+ {'repository' => {'name' => from},
16
+ 'directory' => dir_name},
17
+ version_control_system).
18
+ tap { |repo| repo.copy_from_remote(parent_dir, ref) }
19
+ end
20
+
21
+ private
22
+
23
+ attr_reader :logger, :version_control_system
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,28 @@
1
+ module Bookbinder
2
+ module Ingest
3
+ class LocalFilesystemClonerFacade
4
+ def initialize(logger, version_control_system, user_repo_dir)
5
+ @logger = logger
6
+ @version_control_system = version_control_system
7
+ @user_repo_dir = user_repo_dir
8
+ end
9
+
10
+ def call(from: nil,
11
+ ref: nil,
12
+ parent_dir: nil,
13
+ dir_name: nil)
14
+ GitHubRepository.
15
+ build_from_local(logger,
16
+ {'repository' => {'name' => from},
17
+ 'directory' => dir_name},
18
+ user_repo_dir,
19
+ version_control_system).
20
+ tap { |repo| repo.copy_from_local(parent_dir) }
21
+ end
22
+
23
+ private
24
+
25
+ attr_reader :logger, :version_control_system, :user_repo_dir
26
+ end
27
+ end
28
+ end
@@ -1,3 +1,5 @@
1
+ require_relative 'subnav'
2
+
1
3
  module Bookbinder
2
4
  class LocalDitaPreprocessor
3
5
 
@@ -7,15 +9,41 @@ module Bookbinder
7
9
  @local_file_system_accessor = local_file_system_accessor
8
10
  end
9
11
 
10
- def preprocess(dita_sections, converted_dita_dir, formatted_dita_dir, workspace_dir)
11
- dita_converter.convert dita_sections, to: converted_dita_dir
12
+ def preprocess(dita_section,
13
+ html_from_dita_dir,
14
+ formatted_dita_dir,
15
+ workspace_dir,
16
+ subnavs_dir,
17
+ dita_subnav_template_path)
18
+ dita_converter.convert_to_html dita_section, write_to: html_from_dita_dir
19
+
20
+ dita_formatter.format_html html_from_dita_dir, formatted_dita_dir
21
+
22
+ dita_subnav_template_text = local_file_system_accessor.read(dita_subnav_template_path)
23
+ tocjs_text = local_file_system_accessor.read(File.join html_from_dita_dir,
24
+ dita_section.directory,
25
+ 'index.html')
26
+
27
+ json_props_location = File.join(dita_section.directory + '-props.json')
28
+ props_file_location = File.join(subnavs_dir, json_props_location)
12
29
 
13
- dita_formatter.format converted_dita_dir, formatted_dita_dir
30
+ subnav = dita_formatter.format_subnav(dita_section,
31
+ dita_subnav_template_text,
32
+ json_props_location,
33
+ tocjs_text)
34
+
35
+ local_file_system_accessor.write text: subnav.json_links, to: props_file_location
36
+
37
+ local_file_system_accessor.write text: subnav.text,
38
+ to: File.join(subnavs_dir,
39
+ filename="#{dita_section.directory}_subnav.erb")
14
40
 
15
41
  local_file_system_accessor.copy_named_directory_with_path('images',
16
- converted_dita_dir,
42
+ html_from_dita_dir,
17
43
  workspace_dir)
18
- local_file_system_accessor.copy_contents(formatted_dita_dir, workspace_dir)
44
+
45
+ local_file_system_accessor.copy_contents(formatted_dita_dir,
46
+ workspace_dir)
19
47
  end
20
48
 
21
49
 
@@ -9,36 +9,34 @@ module Bookbinder
9
9
  @path_to_dita_ot_library = path_to_dita_ot_library
10
10
  end
11
11
 
12
- def convert(dita_sections, to: nil)
13
- dita_sections.map do |dita_section|
14
- absolute_path_to_ditamap = File.join dita_section.path_to_local_repo, dita_section.ditamap_location
15
- classpath = "#{path_to_dita_ot_library}/lib/xercesImpl.jar:" +
16
- "#{path_to_dita_ot_library}/lib/xml-apis.jar:" +
17
- "#{path_to_dita_ot_library}/lib/resolver.jar:" +
18
- "#{path_to_dita_ot_library}/lib/commons-codec-1.4.jar:" +
19
- "#{path_to_dita_ot_library}/lib/icu4j.jar:" +
20
- "#{path_to_dita_ot_library}/lib/saxon/saxon9-dom.jar:" +
21
- "#{path_to_dita_ot_library}/lib/saxon/saxon9.jar:target/classes:" +
22
- "#{path_to_dita_ot_library}:" +
23
- "#{path_to_dita_ot_library}/lib/:" +
24
- "#{path_to_dita_ot_library}/lib/dost.jar"
25
- out_dir = File.join to, dita_section.directory
26
- command = "export CLASSPATH=#{classpath}; " +
27
- "ant -f #{path_to_dita_ot_library} " +
28
- "-Dbasedir='/' " +
29
- "-Doutput.dir=#{out_dir} " +
30
- "-Dtranstype='tocjs' " +
31
- "-Dargs.input=#{absolute_path_to_ditamap} "
12
+ def convert_to_html(dita_section, write_to: nil)
13
+ absolute_path_to_ditamap = File.join dita_section.path_to_local_repo, dita_section.ditamap_location
14
+ classpath = "#{path_to_dita_ot_library}/lib/xercesImpl.jar:" +
15
+ "#{path_to_dita_ot_library}/lib/xml-apis.jar:" +
16
+ "#{path_to_dita_ot_library}/lib/resolver.jar:" +
17
+ "#{path_to_dita_ot_library}/lib/commons-codec-1.4.jar:" +
18
+ "#{path_to_dita_ot_library}/lib/icu4j.jar:" +
19
+ "#{path_to_dita_ot_library}/lib/saxon/saxon9-dom.jar:" +
20
+ "#{path_to_dita_ot_library}/lib/saxon/saxon9.jar:target/classes:" +
21
+ "#{path_to_dita_ot_library}:" +
22
+ "#{path_to_dita_ot_library}/lib/:" +
23
+ "#{path_to_dita_ot_library}/lib/dost.jar"
24
+ out_dir = File.join write_to, dita_section.directory
25
+ command = "export CLASSPATH=#{classpath}; " +
26
+ "ant -f #{path_to_dita_ot_library} " +
27
+ "-Dbasedir='/' " +
28
+ "-Doutput.dir=#{out_dir} " +
29
+ "-Dtranstype='tocjs' " +
30
+ "-Dargs.input=#{absolute_path_to_ditamap} "
32
31
 
33
- begin
34
- sheller.run_command(command)
35
- rescue Sheller::ShelloutFailure
36
- raise DitaToHtmlLibraryFailure.new 'The DITA-to-HTML conversion failed. ' +
37
- 'Please check that you have specified the path to your DITA-OT library in the ENV, ' +
38
- 'that your DITA-specific keys/values in config.yml are set, ' +
39
- 'and that your DITA toolkit is correctly configured.'
32
+ begin
33
+ sheller.run_command(command)
34
+ rescue Sheller::ShelloutFailure
35
+ raise DitaToHtmlLibraryFailure.new 'The DITA-to-HTML conversion failed. ' +
36
+ 'Please check that you have specified the path to your DITA-OT library in the ENV, ' +
37
+ 'that your DITA-specific keys/values in config.yml are set, ' +
38
+ 'and that your DITA toolkit is correctly configured.'
40
39
 
41
- end
42
40
  end
43
41
  end
44
42
 
@@ -23,11 +23,6 @@ module Bookbinder
23
23
  File.read(path)
24
24
  end
25
25
 
26
- def read_html_in_tag(path: nil, marker: nil)
27
- doc = Nokogiri::XML(File.open path)
28
- doc.css(marker).inner_html
29
- end
30
-
31
26
  def remove_directory(path)
32
27
  FileUtils.rm_rf(path)
33
28
  end
@@ -1,5 +1,5 @@
1
1
  require 'middleman-syntax'
2
- require_relative 'bookbinder_logger'
2
+ require_relative 'deprecated_logger'
3
3
  require_relative 'directory_helpers'
4
4
  require_relative 'repositories/section_repository'
5
5
  require_relative 'server_director'
@@ -11,7 +11,7 @@ module Bookbinder
11
11
  def credentials
12
12
  @logger.log "Processing #{@repository.full_name.cyan}"
13
13
  Dir.mktmpdir do |destination_dir|
14
- @repository.copy_from_remote(destination_dir)
14
+ @repository.copy_from_remote(destination_dir, 'master')
15
15
  cred_file_yaml = File.join(destination_dir, @repository.short_name, 'credentials.yml')
16
16
  YAML.load_file(cred_file_yaml)
17
17
  end
@@ -5,11 +5,14 @@ require_relative '../configuration_fetcher'
5
5
  require_relative '../configuration_validator'
6
6
  require_relative '../dita_html_to_middleman_formatter'
7
7
  require_relative '../git_accessor'
8
- require_relative '../local_dita_to_html_converter'
8
+ require_relative '../html_document_manipulator'
9
+ require_relative '../ingest/cloner_factory'
9
10
  require_relative '../local_dita_preprocessor'
11
+ require_relative '../local_dita_to_html_converter'
10
12
  require_relative '../local_file_system_accessor'
11
13
  require_relative '../middleman_runner'
12
14
  require_relative '../spider'
15
+ require_relative '../subnav_formatter'
13
16
  require_relative '../yaml_loader'
14
17
 
15
18
  module Bookbinder
@@ -49,6 +52,7 @@ module Bookbinder
49
52
  build_and_push_tarball,
50
53
  Commands::GeneratePDF.new(logger, configuration_fetcher),
51
54
  bind,
55
+ Commands::PushFromLocal.new(logger, configuration_fetcher, 'acceptance'),
52
56
  push_local_to_staging,
53
57
  Commands::PushToProd.new(logger, configuration_fetcher),
54
58
  Commands::RunPublishCI.new(bind, push_local_to_staging, build_and_push_tarball),
@@ -76,14 +80,16 @@ module Bookbinder
76
80
  final_app_directory,
77
81
  server_director,
78
82
  File.absolute_path('.'),
79
- dita_preprocessor
83
+ dita_preprocessor,
84
+ Ingest::ClonerFactory.new(logger, git_accessor)
80
85
  )
81
86
  end
82
87
 
83
88
  def push_local_to_staging
84
- @push_local_to_staging ||= Commands::PushLocalToStaging.new(
89
+ @push_local_to_staging ||= Commands::PushFromLocal.new(
85
90
  logger,
86
- configuration_fetcher
91
+ configuration_fetcher,
92
+ 'staging'
87
93
  )
88
94
  end
89
95
 
@@ -141,7 +147,17 @@ module Bookbinder
141
147
  end
142
148
 
143
149
  def dita_html_to_middleman_formatter
144
- @dita_html_to_middleman_formatter ||= DitaHtmlToMiddlemanFormatter.new(local_file_system_accessor)
150
+ @dita_html_to_middleman_formatter ||= DitaHtmlToMiddlemanFormatter.new(local_file_system_accessor,
151
+ subnav_formatter,
152
+ html_document_manipulator)
153
+ end
154
+
155
+ def subnav_formatter
156
+ @subnav_formatter ||= SubnavFormatter.new
157
+ end
158
+
159
+ def html_document_manipulator
160
+ @html_document_manipulator ||= HtmlDocumentManipulator.new
145
161
  end
146
162
 
147
163
  def git_accessor
@@ -1,6 +1,11 @@
1
1
  module Bookbinder
2
2
 
3
- Section = Struct.new(:path_to_repository, :full_name, :copied, :subnav_templ, :destination_dir, :directory_name) do
3
+ Section = Struct.new(:path_to_repository,
4
+ :full_name,
5
+ :copied,
6
+ :subnav_templ,
7
+ :destination_dir,
8
+ :directory_name) do
4
9
  def path_to_repository
5
10
  Pathname(self[:path_to_repository].to_s)
6
11
  end
@@ -12,5 +17,11 @@ module Bookbinder
12
17
  def directory
13
18
  directory_name
14
19
  end
20
+
21
+ def subnav
22
+ namespace = directory.gsub('/', '_')
23
+ template = subnav_template || 'default'
24
+ {namespace => template}
25
+ end
15
26
  end
16
27
  end
@@ -0,0 +1,4 @@
1
+ module Bookbinder
2
+ Subnav = Struct.new(:json_links,
3
+ :text)
4
+ end
@@ -0,0 +1,37 @@
1
+ require 'nokogiri'
2
+ require 'active_support/all'
3
+
4
+ module Bookbinder
5
+ class SubnavFormatter
6
+
7
+ def get_links_as_json(raw_subnav_text, base_dirname)
8
+ doc = Nokogiri::XML(raw_subnav_text)
9
+
10
+ all_anchors = doc.css('a')
11
+ all_anchors.each do |anchor|
12
+ anchor['href'] = "/#{base_dirname}/#{anchor['href']}"
13
+ end
14
+
15
+ {
16
+ links: gather_urls_and_texts(doc.css('body > ul'))
17
+ }.to_json
18
+ end
19
+
20
+ private
21
+
22
+ def gather_urls_and_texts(base_node)
23
+ top_level_li = base_node.css("> li")
24
+ top_level_li.map do |li|
25
+ anchor = li.css('a')[0]
26
+ href = anchor['href']
27
+ text = anchor.inner_text
28
+ ul = li.css('> ul')
29
+ if ul.size > 0
30
+ {url: href, text: text, nestedLinks: gather_urls_and_texts(ul)}
31
+ else
32
+ {url: href, text: text}
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
@@ -1,6 +1,15 @@
1
1
  module Bookbinder
2
2
 
3
- UserMessage = Struct.new(:message, :escalation_type)
3
+ UserMessage = Struct.new(:message, :escalation_type) do
4
+ def error?
5
+ escalation_type == EscalationType.error
6
+ end
7
+
8
+ def warn?
9
+ escalation_type == EscalationType.warn
10
+ end
11
+ end
12
+
4
13
  EscalationType = OpenStruct.new(success: 0, error: 1, warn: 2)
5
14
 
6
15
  end
@@ -33,8 +33,8 @@ module Bookbinder
33
33
  tap { |repo| repo.copy_from_local(workspace) }
34
34
  else
35
35
  GitHubRepository.
36
- build_from_remote(bookbinder_logger, attributes, nil, git_accessor).
37
- tap { |repo| repo.copy_from_remote(workspace) }
36
+ build_from_remote(bookbinder_logger, attributes, git_accessor).
37
+ tap { |repo| repo.copy_from_remote(workspace, 'master') }
38
38
  end
39
39
  example = code_example_repo.get_instance(attributes,
40
40
  vcs_repo: vcs_repo,
@@ -132,7 +132,7 @@ module Bookbinder
132
132
  end
133
133
 
134
134
  def bookbinder_logger
135
- BookbinderLogger.new
135
+ DeprecatedLogger.new
136
136
  end
137
137
  end
138
138
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bookbindery
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.1
4
+ version: 2.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mike Grafton
@@ -15,20 +15,20 @@ authors:
15
15
  autorequire:
16
16
  bindir: install_bin
17
17
  cert_chain: []
18
- date: 2015-02-18 00:00:00.000000000 Z
18
+ date: 2015-03-05 00:00:00.000000000 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: fog-aws
22
22
  requirement: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ~>
25
25
  - !ruby/object:Gem::Version
26
26
  version: 0.0.6
27
27
  type: :runtime
28
28
  prerelease: false
29
29
  version_requirements: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ~>
32
32
  - !ruby/object:Gem::Version
33
33
  version: 0.0.6
34
34
  - !ruby/object:Gem::Dependency
@@ -49,70 +49,70 @@ dependencies:
49
49
  name: ansi
50
50
  requirement: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - "~>"
52
+ - - ~>
53
53
  - !ruby/object:Gem::Version
54
54
  version: '1.4'
55
55
  type: :runtime
56
56
  prerelease: false
57
57
  version_requirements: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - "~>"
59
+ - - ~>
60
60
  - !ruby/object:Gem::Version
61
61
  version: '1.4'
62
62
  - !ruby/object:Gem::Dependency
63
63
  name: unf
64
64
  requirement: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - "~>"
66
+ - - ~>
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0.1'
69
69
  type: :runtime
70
70
  prerelease: false
71
71
  version_requirements: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - "~>"
73
+ - - ~>
74
74
  - !ruby/object:Gem::Version
75
75
  version: '0.1'
76
76
  - !ruby/object:Gem::Dependency
77
77
  name: middleman
78
78
  requirement: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - "~>"
80
+ - - ~>
81
81
  - !ruby/object:Gem::Version
82
82
  version: 3.3.5
83
83
  type: :runtime
84
84
  prerelease: false
85
85
  version_requirements: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - "~>"
87
+ - - ~>
88
88
  - !ruby/object:Gem::Version
89
89
  version: 3.3.5
90
90
  - !ruby/object:Gem::Dependency
91
91
  name: middleman-syntax
92
92
  requirement: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - "~>"
94
+ - - ~>
95
95
  - !ruby/object:Gem::Version
96
96
  version: '2.0'
97
97
  type: :runtime
98
98
  prerelease: false
99
99
  version_requirements: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - "~>"
101
+ - - ~>
102
102
  - !ruby/object:Gem::Version
103
103
  version: '2.0'
104
104
  - !ruby/object:Gem::Dependency
105
105
  name: redcarpet
106
106
  requirement: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - "~>"
108
+ - - ~>
109
109
  - !ruby/object:Gem::Version
110
110
  version: '3.0'
111
111
  type: :runtime
112
112
  prerelease: false
113
113
  version_requirements: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - "~>"
115
+ - - ~>
116
116
  - !ruby/object:Gem::Version
117
117
  version: '3.0'
118
118
  - !ruby/object:Gem::Dependency
@@ -147,154 +147,154 @@ dependencies:
147
147
  name: anemone
148
148
  requirement: !ruby/object:Gem::Requirement
149
149
  requirements:
150
- - - ">="
150
+ - - '>='
151
151
  - !ruby/object:Gem::Version
152
152
  version: '0'
153
153
  type: :runtime
154
154
  prerelease: false
155
155
  version_requirements: !ruby/object:Gem::Requirement
156
156
  requirements:
157
- - - ">="
157
+ - - '>='
158
158
  - !ruby/object:Gem::Version
159
159
  version: '0'
160
160
  - !ruby/object:Gem::Dependency
161
161
  name: css_parser
162
162
  requirement: !ruby/object:Gem::Requirement
163
163
  requirements:
164
- - - ">="
164
+ - - '>='
165
165
  - !ruby/object:Gem::Version
166
166
  version: '0'
167
167
  type: :runtime
168
168
  prerelease: false
169
169
  version_requirements: !ruby/object:Gem::Requirement
170
170
  requirements:
171
- - - ">="
171
+ - - '>='
172
172
  - !ruby/object:Gem::Version
173
173
  version: '0'
174
174
  - !ruby/object:Gem::Dependency
175
175
  name: puma
176
176
  requirement: !ruby/object:Gem::Requirement
177
177
  requirements:
178
- - - ">="
178
+ - - '>='
179
179
  - !ruby/object:Gem::Version
180
180
  version: '0'
181
181
  type: :runtime
182
182
  prerelease: false
183
183
  version_requirements: !ruby/object:Gem::Requirement
184
184
  requirements:
185
- - - ">="
185
+ - - '>='
186
186
  - !ruby/object:Gem::Version
187
187
  version: '0'
188
188
  - !ruby/object:Gem::Dependency
189
189
  name: popen4
190
190
  requirement: !ruby/object:Gem::Requirement
191
191
  requirements:
192
- - - ">="
192
+ - - '>='
193
193
  - !ruby/object:Gem::Version
194
194
  version: '0'
195
195
  type: :runtime
196
196
  prerelease: false
197
197
  version_requirements: !ruby/object:Gem::Requirement
198
198
  requirements:
199
- - - ">="
199
+ - - '>='
200
200
  - !ruby/object:Gem::Version
201
201
  version: '0'
202
202
  - !ruby/object:Gem::Dependency
203
203
  name: rack-rewrite
204
204
  requirement: !ruby/object:Gem::Requirement
205
205
  requirements:
206
- - - ">="
206
+ - - '>='
207
207
  - !ruby/object:Gem::Version
208
208
  version: '0'
209
209
  type: :runtime
210
210
  prerelease: false
211
211
  version_requirements: !ruby/object:Gem::Requirement
212
212
  requirements:
213
- - - ">="
213
+ - - '>='
214
214
  - !ruby/object:Gem::Version
215
215
  version: '0'
216
216
  - !ruby/object:Gem::Dependency
217
217
  name: therubyracer
218
218
  requirement: !ruby/object:Gem::Requirement
219
219
  requirements:
220
- - - ">="
220
+ - - '>='
221
221
  - !ruby/object:Gem::Version
222
222
  version: '0'
223
223
  type: :runtime
224
224
  prerelease: false
225
225
  version_requirements: !ruby/object:Gem::Requirement
226
226
  requirements:
227
- - - ">="
227
+ - - '>='
228
228
  - !ruby/object:Gem::Version
229
229
  version: '0'
230
230
  - !ruby/object:Gem::Dependency
231
231
  name: git
232
232
  requirement: !ruby/object:Gem::Requirement
233
233
  requirements:
234
- - - "~>"
234
+ - - ~>
235
235
  - !ruby/object:Gem::Version
236
236
  version: 1.2.8
237
237
  type: :runtime
238
238
  prerelease: false
239
239
  version_requirements: !ruby/object:Gem::Requirement
240
240
  requirements:
241
- - - "~>"
241
+ - - ~>
242
242
  - !ruby/object:Gem::Version
243
243
  version: 1.2.8
244
244
  - !ruby/object:Gem::Dependency
245
245
  name: license_finder
246
246
  requirement: !ruby/object:Gem::Requirement
247
247
  requirements:
248
- - - ">="
248
+ - - '>='
249
249
  - !ruby/object:Gem::Version
250
250
  version: '0'
251
251
  type: :development
252
252
  prerelease: false
253
253
  version_requirements: !ruby/object:Gem::Requirement
254
254
  requirements:
255
- - - ">="
255
+ - - '>='
256
256
  - !ruby/object:Gem::Version
257
257
  version: '0'
258
258
  - !ruby/object:Gem::Dependency
259
259
  name: pry-byebug
260
260
  requirement: !ruby/object:Gem::Requirement
261
261
  requirements:
262
- - - ">="
262
+ - - '>='
263
263
  - !ruby/object:Gem::Version
264
264
  version: '0'
265
265
  type: :development
266
266
  prerelease: false
267
267
  version_requirements: !ruby/object:Gem::Requirement
268
268
  requirements:
269
- - - ">="
269
+ - - '>='
270
270
  - !ruby/object:Gem::Version
271
271
  version: '0'
272
272
  - !ruby/object:Gem::Dependency
273
273
  name: rake
274
274
  requirement: !ruby/object:Gem::Requirement
275
275
  requirements:
276
- - - ">="
276
+ - - '>='
277
277
  - !ruby/object:Gem::Version
278
278
  version: '0'
279
279
  type: :development
280
280
  prerelease: false
281
281
  version_requirements: !ruby/object:Gem::Requirement
282
282
  requirements:
283
- - - ">="
283
+ - - '>='
284
284
  - !ruby/object:Gem::Version
285
285
  version: '0'
286
286
  - !ruby/object:Gem::Dependency
287
287
  name: rspec
288
288
  requirement: !ruby/object:Gem::Requirement
289
289
  requirements:
290
- - - ">="
290
+ - - '>='
291
291
  - !ruby/object:Gem::Version
292
292
  version: '0'
293
293
  type: :development
294
294
  prerelease: false
295
295
  version_requirements: !ruby/object:Gem::Requirement
296
296
  requirements:
297
- - - ">="
297
+ - - '>='
298
298
  - !ruby/object:Gem::Version
299
299
  version: '0'
300
300
  description: A command line utility to be run in Book repositories to stitch together
@@ -311,7 +311,6 @@ files:
311
311
  - lib/bookbinder/artifact_namer.rb
312
312
  - lib/bookbinder/blue_green_app.rb
313
313
  - lib/bookbinder/book.rb
314
- - lib/bookbinder/bookbinder_logger.rb
315
314
  - lib/bookbinder/cf_command_runner.rb
316
315
  - lib/bookbinder/cf_routes.rb
317
316
  - lib/bookbinder/cli.rb
@@ -328,7 +327,7 @@ files:
328
327
  - lib/bookbinder/commands/generate_pdf.rb
329
328
  - lib/bookbinder/commands/help.rb
330
329
  - lib/bookbinder/commands/naming.rb
331
- - lib/bookbinder/commands/push_local_to_staging.rb
330
+ - lib/bookbinder/commands/push_from_local.rb
332
331
  - lib/bookbinder/commands/push_to_prod.rb
333
332
  - lib/bookbinder/commands/run_publish_ci.rb
334
333
  - lib/bookbinder/commands/tag.rb
@@ -338,6 +337,7 @@ files:
338
337
  - lib/bookbinder/configuration_fetcher.rb
339
338
  - lib/bookbinder/configuration_validator.rb
340
339
  - lib/bookbinder/css_link_checker.rb
340
+ - lib/bookbinder/deprecated_logger.rb
341
341
  - lib/bookbinder/directory_helpers.rb
342
342
  - lib/bookbinder/distributor.rb
343
343
  - lib/bookbinder/dita_html_to_middleman_formatter.rb
@@ -346,6 +346,10 @@ files:
346
346
  - lib/bookbinder/git_accessor.rb
347
347
  - lib/bookbinder/git_client.rb
348
348
  - lib/bookbinder/git_hub_repository.rb
349
+ - lib/bookbinder/html_document_manipulator.rb
350
+ - lib/bookbinder/ingest/cloner_factory.rb
351
+ - lib/bookbinder/ingest/git_hub_repository_cloner_facade.rb
352
+ - lib/bookbinder/ingest/local_filesystem_cloner_facade.rb
349
353
  - lib/bookbinder/local_dita_preprocessor.rb
350
354
  - lib/bookbinder/local_dita_to_html_converter.rb
351
355
  - lib/bookbinder/local_file_system_accessor.rb
@@ -364,6 +368,8 @@ files:
364
368
  - lib/bookbinder/sitemap_generator.rb
365
369
  - lib/bookbinder/spider.rb
366
370
  - lib/bookbinder/stabilimentum.rb
371
+ - lib/bookbinder/subnav.rb
372
+ - lib/bookbinder/subnav_formatter.rb
367
373
  - lib/bookbinder/terminal.rb
368
374
  - lib/bookbinder/user_message.rb
369
375
  - lib/bookbinder/user_message_presenter.rb
@@ -391,12 +397,12 @@ require_paths:
391
397
  - lib
392
398
  required_ruby_version: !ruby/object:Gem::Requirement
393
399
  requirements:
394
- - - ">="
400
+ - - '>='
395
401
  - !ruby/object:Gem::Version
396
402
  version: '0'
397
403
  required_rubygems_version: !ruby/object:Gem::Requirement
398
404
  requirements:
399
- - - ">="
405
+ - - '>='
400
406
  - !ruby/object:Gem::Version
401
407
  version: '0'
402
408
  requirements: []