bookbindery 2.0.1 → 2.1.0
Sign up to get free protection for your applications and to get access to all the features.
- 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: []
|