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.
- checksums.yaml +4 -4
- data/lib/bookbinder.rb +2 -2
- data/lib/bookbinder/app_fetcher.rb +2 -6
- data/lib/bookbinder/archive.rb +1 -1
- data/lib/bookbinder/book.rb +7 -2
- data/lib/bookbinder/cli.rb +4 -5
- data/lib/bookbinder/code_example_reader.rb +1 -1
- data/lib/bookbinder/command_validator.rb +30 -10
- data/lib/bookbinder/commands/bind.rb +58 -53
- data/lib/bookbinder/commands/help.rb +4 -4
- data/lib/bookbinder/commands/naming.rb +14 -4
- data/lib/bookbinder/commands/push_from_local.rb +51 -0
- data/lib/bookbinder/commands/push_to_prod.rb +1 -2
- data/lib/bookbinder/commands/run_publish_ci.rb +1 -1
- data/lib/bookbinder/commands/tag.rb +1 -1
- data/lib/bookbinder/commands/version.rb +5 -4
- data/lib/bookbinder/configuration.rb +49 -28
- data/lib/bookbinder/configuration_fetcher.rb +1 -1
- data/lib/bookbinder/configuration_validator.rb +40 -37
- data/lib/bookbinder/{bookbinder_logger.rb → deprecated_logger.rb} +1 -1
- data/lib/bookbinder/distributor.rb +16 -9
- data/lib/bookbinder/dita_html_to_middleman_formatter.rb +26 -8
- data/lib/bookbinder/dita_section.rb +8 -2
- data/lib/bookbinder/git_hub_repository.rb +7 -20
- data/lib/bookbinder/html_document_manipulator.rb +21 -0
- data/lib/bookbinder/ingest/cloner_factory.rb +25 -0
- data/lib/bookbinder/ingest/git_hub_repository_cloner_facade.rb +26 -0
- data/lib/bookbinder/ingest/local_filesystem_cloner_facade.rb +28 -0
- data/lib/bookbinder/local_dita_preprocessor.rb +33 -5
- data/lib/bookbinder/local_dita_to_html_converter.rb +26 -28
- data/lib/bookbinder/local_file_system_accessor.rb +0 -5
- data/lib/bookbinder/publisher.rb +1 -1
- data/lib/bookbinder/remote_yaml_credential_provider.rb +1 -1
- data/lib/bookbinder/repositories/command_repository.rb +21 -5
- data/lib/bookbinder/section.rb +12 -1
- data/lib/bookbinder/subnav.rb +4 -0
- data/lib/bookbinder/subnav_formatter.rb +37 -0
- data/lib/bookbinder/user_message.rb +10 -1
- data/master_middleman/bookbinder_helpers.rb +3 -3
- metadata +46 -40
- 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(
|
11
|
-
|
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.
|
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
|
-
|
42
|
+
html_from_dita_dir,
|
17
43
|
workspace_dir)
|
18
|
-
|
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
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
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
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
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
|
|
data/lib/bookbinder/publisher.rb
CHANGED
@@ -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 '../
|
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::
|
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
|
data/lib/bookbinder/section.rb
CHANGED
@@ -1,6 +1,11 @@
|
|
1
1
|
module Bookbinder
|
2
2
|
|
3
|
-
Section = Struct.new(:path_to_repository,
|
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,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,
|
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
|
-
|
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
|
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-
|
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/
|
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: []
|