bookbindery 1.0.3 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/{bin → install_bin}/bookbinder +0 -0
- data/lib/bookbinder.rb +2 -9
- data/lib/bookbinder/archive.rb +1 -1
- data/lib/bookbinder/archive_menu_configuration.rb +34 -0
- data/lib/bookbinder/book.rb +17 -17
- data/lib/bookbinder/cli.rb +25 -36
- data/lib/bookbinder/code_example.rb +5 -38
- data/lib/bookbinder/code_example_reader.rb +40 -0
- data/lib/bookbinder/colorizer.rb +14 -0
- data/lib/bookbinder/command_runner.rb +9 -16
- data/lib/bookbinder/command_validator.rb +14 -7
- data/lib/bookbinder/commands/bind.rb +321 -0
- data/lib/bookbinder/commands/build_and_push_tarball.rb +7 -6
- data/lib/bookbinder/commands/chain.rb +11 -0
- data/lib/bookbinder/commands/generate_pdf.rb +4 -3
- data/lib/bookbinder/commands/help.rb +49 -10
- data/lib/bookbinder/commands/naming.rb +9 -1
- data/lib/bookbinder/commands/push_local_to_staging.rb +4 -3
- data/lib/bookbinder/commands/push_to_prod.rb +36 -4
- data/lib/bookbinder/commands/run_publish_ci.rb +21 -24
- data/lib/bookbinder/commands/tag.rb +3 -3
- data/lib/bookbinder/commands/update_local_doc_repos.rb +5 -4
- data/lib/bookbinder/commands/version.rb +11 -8
- data/lib/bookbinder/configuration.rb +8 -3
- data/lib/bookbinder/configuration_fetcher.rb +7 -25
- data/lib/bookbinder/configuration_validator.rb +21 -0
- data/lib/bookbinder/distributor.rb +1 -1
- data/lib/bookbinder/dita_html_to_middleman_formatter.rb +37 -0
- data/lib/bookbinder/dita_section.rb +7 -0
- data/lib/bookbinder/dita_section_gatherer.rb +28 -0
- data/lib/bookbinder/git_accessor.rb +17 -0
- data/lib/bookbinder/git_client.rb +10 -7
- data/lib/bookbinder/git_hub_repository.rb +46 -41
- data/lib/bookbinder/local_dita_preprocessor.rb +27 -0
- data/lib/bookbinder/local_dita_to_html_converter.rb +49 -0
- data/lib/bookbinder/local_file_system_accessor.rb +68 -0
- data/lib/bookbinder/middleman_runner.rb +30 -17
- data/lib/bookbinder/publisher.rb +16 -80
- data/lib/bookbinder/remote_yaml_credential_provider.rb +2 -3
- data/lib/bookbinder/repositories/command_repository.rb +156 -0
- data/lib/bookbinder/repositories/section_repository.rb +31 -0
- data/lib/bookbinder/section.rb +5 -67
- data/lib/bookbinder/shell_out.rb +1 -0
- data/lib/bookbinder/sheller.rb +19 -0
- data/lib/bookbinder/sieve.rb +6 -1
- data/lib/bookbinder/terminal.rb +10 -0
- data/lib/bookbinder/user_message.rb +6 -0
- data/lib/bookbinder/user_message_presenter.rb +21 -0
- data/lib/bookbinder/yaml_loader.rb +18 -7
- data/master_middleman/archive_drop_down_menu.rb +46 -0
- data/master_middleman/bookbinder_helpers.rb +47 -40
- metadata +33 -87
- data/lib/bookbinder/commands/publish.rb +0 -138
- data/lib/bookbinder/usage_messenger.rb +0 -33
data/lib/bookbinder/shell_out.rb
CHANGED
@@ -0,0 +1,19 @@
|
|
1
|
+
module Bookbinder
|
2
|
+
class Sheller
|
3
|
+
ShelloutFailure = Class.new(RuntimeError)
|
4
|
+
|
5
|
+
def initialize(view_updater)
|
6
|
+
@view_updater = view_updater
|
7
|
+
end
|
8
|
+
|
9
|
+
def run_command(command)
|
10
|
+
IO.popen(command) do |stdout|
|
11
|
+
stdout.each { |line| view_updater.log line }
|
12
|
+
end
|
13
|
+
|
14
|
+
raise ShelloutFailure.new "Shelling out failed." unless $?.success?
|
15
|
+
end
|
16
|
+
|
17
|
+
attr_reader :view_updater
|
18
|
+
end
|
19
|
+
end
|
data/lib/bookbinder/sieve.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
require_relative 'spider'
|
2
|
+
|
1
3
|
module Bookbinder
|
2
4
|
class Sieve
|
3
5
|
def initialize(domain: ->(){ raise 'You must supply a domain parameter.' }.call)
|
@@ -6,9 +8,12 @@ module Bookbinder
|
|
6
8
|
end
|
7
9
|
|
8
10
|
def links_from(page, is_first_pass)
|
9
|
-
if page.not_found?
|
11
|
+
if page.not_found? && page.referer
|
10
12
|
working = []
|
11
13
|
broken = [Spider.prepend_location(page.referer, page.url)]
|
14
|
+
elsif page.not_found?
|
15
|
+
working = []
|
16
|
+
broken = []
|
12
17
|
else
|
13
18
|
working = [page.url.to_s]
|
14
19
|
broken = broken_fragments_targeting(page, is_first_pass)
|
@@ -0,0 +1,21 @@
|
|
1
|
+
require_relative 'colorizer'
|
2
|
+
|
3
|
+
module Bookbinder
|
4
|
+
class UserMessagePresenter
|
5
|
+
def initialize(colorizer)
|
6
|
+
@colorizer = colorizer
|
7
|
+
end
|
8
|
+
|
9
|
+
def get_error(user_message)
|
10
|
+
colorizer.colorize(user_message.message, Colorizer::Colors.red)
|
11
|
+
end
|
12
|
+
|
13
|
+
def get_warning(user_message)
|
14
|
+
colorizer.colorize(user_message.message, Colorizer::Colors.yellow)
|
15
|
+
end
|
16
|
+
|
17
|
+
private
|
18
|
+
|
19
|
+
attr_reader :colorizer
|
20
|
+
end
|
21
|
+
end
|
@@ -1,22 +1,33 @@
|
|
1
|
-
|
1
|
+
require 'yaml'
|
2
2
|
|
3
|
+
module Bookbinder
|
3
4
|
FileNotFoundError = Class.new(RuntimeError)
|
4
5
|
InvalidSyntaxError = Class.new(RuntimeError)
|
5
6
|
|
6
7
|
class YAMLLoader
|
7
8
|
def load(path)
|
8
|
-
|
9
|
+
if File.exist?(path)
|
10
|
+
config(path)
|
11
|
+
else
|
9
12
|
raise FileNotFoundError.new, "YAML"
|
10
13
|
end
|
14
|
+
rescue Psych::SyntaxError => e
|
15
|
+
raise InvalidSyntaxError.new e
|
16
|
+
end
|
11
17
|
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
raise InvalidSyntaxError.new e
|
18
|
+
def load_key(path, key)
|
19
|
+
if File.exist?(path)
|
20
|
+
config(path)[key]
|
16
21
|
end
|
22
|
+
rescue Psych::SyntaxError => e
|
23
|
+
raise InvalidSyntaxError.new e
|
24
|
+
end
|
25
|
+
|
26
|
+
private
|
17
27
|
|
28
|
+
def config(path)
|
29
|
+
YAML.load_file(path) || {}
|
18
30
|
end
|
19
31
|
end
|
20
|
-
|
21
32
|
end
|
22
33
|
|
@@ -0,0 +1,46 @@
|
|
1
|
+
module Bookbinder
|
2
|
+
class ArchiveDropDownMenu
|
3
|
+
def initialize(config, current_path: nil)
|
4
|
+
@config = config || default_config
|
5
|
+
@current_path = current_path
|
6
|
+
end
|
7
|
+
|
8
|
+
def title
|
9
|
+
directory_config.first
|
10
|
+
end
|
11
|
+
|
12
|
+
def dropdown_links
|
13
|
+
versions_to_paths.map { |version_path|
|
14
|
+
{version_path.keys.first => "/#{version_path.values.first}"}
|
15
|
+
}
|
16
|
+
end
|
17
|
+
|
18
|
+
private
|
19
|
+
|
20
|
+
attr_reader :config, :current_path
|
21
|
+
|
22
|
+
def versions_to_paths
|
23
|
+
directory_config[1..-1]
|
24
|
+
end
|
25
|
+
|
26
|
+
def directory_config
|
27
|
+
config.fetch(directory, config.fetch(root_menu_reference)) || empty_menu
|
28
|
+
end
|
29
|
+
|
30
|
+
def directory
|
31
|
+
File.dirname(current_path)
|
32
|
+
end
|
33
|
+
|
34
|
+
def default_config
|
35
|
+
{ root_menu_reference => empty_menu }
|
36
|
+
end
|
37
|
+
|
38
|
+
def empty_menu
|
39
|
+
[nil]
|
40
|
+
end
|
41
|
+
|
42
|
+
def root_menu_reference
|
43
|
+
'.'
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
@@ -1,15 +1,9 @@
|
|
1
1
|
require 'date'
|
2
|
-
|
2
|
+
require_relative 'archive_drop_down_menu'
|
3
3
|
require_relative 'quicklinks_renderer'
|
4
4
|
|
5
5
|
I18n.enforce_available_locales = false
|
6
6
|
|
7
|
-
class ArchiveMenuTemplateNotFound < StandardError;
|
8
|
-
end
|
9
|
-
|
10
|
-
class ArchiveConfigFormatError < StandardError;
|
11
|
-
end
|
12
|
-
|
13
7
|
module Bookbinder
|
14
8
|
module Navigation
|
15
9
|
class << self
|
@@ -23,8 +17,44 @@ module Bookbinder
|
|
23
17
|
module HelperMethods
|
24
18
|
|
25
19
|
def yield_for_code_snippet(from: nil, at: nil)
|
26
|
-
|
27
|
-
|
20
|
+
git_accessor = config[:git_accessor]
|
21
|
+
local_repo_dir = config[:local_repo_dir]
|
22
|
+
attributes = {'repository' => {'name' => from}}
|
23
|
+
workspace = config[:workspace]
|
24
|
+
code_example_reader = CodeExampleReader.new(bookbinder_logger)
|
25
|
+
|
26
|
+
vcs_repo =
|
27
|
+
if local_repo_dir
|
28
|
+
GitHubRepository.
|
29
|
+
build_from_local(bookbinder_logger,
|
30
|
+
attributes,
|
31
|
+
local_repo_dir,
|
32
|
+
git_accessor).
|
33
|
+
tap { |repo| repo.copy_from_local(workspace) }
|
34
|
+
else
|
35
|
+
GitHubRepository.
|
36
|
+
build_from_remote(bookbinder_logger, attributes, nil, git_accessor).
|
37
|
+
tap { |repo| repo.copy_from_remote(workspace) }
|
38
|
+
end
|
39
|
+
example = code_example_repo.get_instance(attributes,
|
40
|
+
vcs_repo: vcs_repo,
|
41
|
+
build: ->(path_to_repository,
|
42
|
+
full_name,
|
43
|
+
copied,
|
44
|
+
_,
|
45
|
+
destination_dir,
|
46
|
+
directory_name) {
|
47
|
+
CodeExample.new(path_to_repository,
|
48
|
+
full_name,
|
49
|
+
copied,
|
50
|
+
destination_dir,
|
51
|
+
directory_name)
|
52
|
+
})
|
53
|
+
snippet, language = code_example_reader.get_snippet_and_language_at(at,
|
54
|
+
example.path_to_repository,
|
55
|
+
example.copied,
|
56
|
+
example.full_name)
|
57
|
+
|
28
58
|
delimiter = '```'
|
29
59
|
|
30
60
|
snippet.prepend("#{delimiter}#{language}\n").concat("\n#{delimiter}")
|
@@ -43,20 +73,13 @@ module Bookbinder
|
|
43
73
|
end
|
44
74
|
|
45
75
|
def yield_for_archive_drop_down_menu
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
new_links_based_from_root = links.map do |link|
|
51
|
-
link_from_root = link.dup
|
52
|
-
link_from_root.map do |k, v|
|
53
|
-
link_from_root[k] = "/#{v}"
|
54
|
-
end
|
55
|
-
link_from_root
|
56
|
-
end
|
76
|
+
menu = ArchiveDropDownMenu.new(
|
77
|
+
config[:archive_menu],
|
78
|
+
current_path: current_page.path
|
79
|
+
)
|
57
80
|
|
58
|
-
|
59
|
-
|
81
|
+
partial 'archive_menus/default', locals: { menu_title: menu.title,
|
82
|
+
dropdown_links: menu.dropdown_links }
|
60
83
|
end
|
61
84
|
|
62
85
|
def breadcrumbs
|
@@ -72,13 +95,6 @@ module Bookbinder
|
|
72
95
|
OpenStruct.new config[:template_variables]
|
73
96
|
end
|
74
97
|
|
75
|
-
def modified_date(format=nil)
|
76
|
-
current_file_in_repo = current_path.dup.gsub(File.basename(current_path), File.basename(current_page.source_file))
|
77
|
-
current_section = get_section_or_book_for(current_file_in_repo)
|
78
|
-
modified_time = current_section.get_modification_date_for(file: current_file_in_repo, full_path: current_page.source_file)
|
79
|
-
(format.nil? ? modified_time : modified_time.strftime(format))
|
80
|
-
end
|
81
|
-
|
82
98
|
def quick_links
|
83
99
|
page_src = File.read(current_page.source_file)
|
84
100
|
quicklinks_renderer = QuicklinksRenderer.new(vars)
|
@@ -87,17 +103,8 @@ module Bookbinder
|
|
87
103
|
|
88
104
|
private
|
89
105
|
|
90
|
-
def
|
91
|
-
|
92
|
-
book = config[:book]
|
93
|
-
|
94
|
-
raise "Book or Selections are incorrectly specified for Middleman." if book.nil? || sections.nil?
|
95
|
-
|
96
|
-
current_section = nil
|
97
|
-
sections.each { |section| current_section = section if File.dirname(current_path).match(/^#{section.directory}/) }
|
98
|
-
|
99
|
-
return book if current_section.nil?
|
100
|
-
return current_section
|
106
|
+
def code_example_repo
|
107
|
+
@code_example_repo ||= Repositories::SectionRepository.new(bookbinder_logger)
|
101
108
|
end
|
102
109
|
|
103
110
|
def index_subnav
|
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:
|
4
|
+
version: 2.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mike Grafton
|
@@ -13,24 +13,24 @@ authors:
|
|
13
13
|
- Matthew Boedicker
|
14
14
|
- Frank Kotsianas
|
15
15
|
autorequire:
|
16
|
-
bindir:
|
16
|
+
bindir: install_bin
|
17
17
|
cert_chain: []
|
18
|
-
date: 2015-02-
|
18
|
+
date: 2015-02-17 00:00:00.000000000 Z
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
|
-
name: fog
|
21
|
+
name: fog-aws
|
22
22
|
requirement: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
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
|
-
version:
|
33
|
+
version: 0.0.6
|
34
34
|
- !ruby/object:Gem::Dependency
|
35
35
|
name: octokit
|
36
36
|
requirement: !ruby/object:Gem::Requirement
|
@@ -73,20 +73,6 @@ dependencies:
|
|
73
73
|
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
75
|
version: '0.1'
|
76
|
-
- !ruby/object:Gem::Dependency
|
77
|
-
name: padrino-contrib
|
78
|
-
requirement: !ruby/object:Gem::Requirement
|
79
|
-
requirements:
|
80
|
-
- - ">="
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version: '0'
|
83
|
-
type: :runtime
|
84
|
-
prerelease: false
|
85
|
-
version_requirements: !ruby/object:Gem::Requirement
|
86
|
-
requirements:
|
87
|
-
- - ">="
|
88
|
-
- !ruby/object:Gem::Version
|
89
|
-
version: '0'
|
90
76
|
- !ruby/object:Gem::Dependency
|
91
77
|
name: middleman
|
92
78
|
requirement: !ruby/object:Gem::Requirement
|
@@ -157,34 +143,6 @@ dependencies:
|
|
157
143
|
- - '='
|
158
144
|
- !ruby/object:Gem::Version
|
159
145
|
version: 0.12.3
|
160
|
-
- !ruby/object:Gem::Dependency
|
161
|
-
name: faraday
|
162
|
-
requirement: !ruby/object:Gem::Requirement
|
163
|
-
requirements:
|
164
|
-
- - "~>"
|
165
|
-
- !ruby/object:Gem::Version
|
166
|
-
version: 0.8.8
|
167
|
-
type: :runtime
|
168
|
-
prerelease: false
|
169
|
-
version_requirements: !ruby/object:Gem::Requirement
|
170
|
-
requirements:
|
171
|
-
- - "~>"
|
172
|
-
- !ruby/object:Gem::Version
|
173
|
-
version: 0.8.8
|
174
|
-
- !ruby/object:Gem::Dependency
|
175
|
-
name: faraday_middleware
|
176
|
-
requirement: !ruby/object:Gem::Requirement
|
177
|
-
requirements:
|
178
|
-
- - "~>"
|
179
|
-
- !ruby/object:Gem::Version
|
180
|
-
version: 0.9.0
|
181
|
-
type: :runtime
|
182
|
-
prerelease: false
|
183
|
-
version_requirements: !ruby/object:Gem::Requirement
|
184
|
-
requirements:
|
185
|
-
- - "~>"
|
186
|
-
- !ruby/object:Gem::Version
|
187
|
-
version: 0.9.0
|
188
146
|
- !ruby/object:Gem::Dependency
|
189
147
|
name: anemone
|
190
148
|
requirement: !ruby/object:Gem::Requirement
|
@@ -255,20 +213,6 @@ dependencies:
|
|
255
213
|
- - ">="
|
256
214
|
- !ruby/object:Gem::Version
|
257
215
|
version: '0'
|
258
|
-
- !ruby/object:Gem::Dependency
|
259
|
-
name: ruby-progressbar
|
260
|
-
requirement: !ruby/object:Gem::Requirement
|
261
|
-
requirements:
|
262
|
-
- - ">="
|
263
|
-
- !ruby/object:Gem::Version
|
264
|
-
version: '0'
|
265
|
-
type: :runtime
|
266
|
-
prerelease: false
|
267
|
-
version_requirements: !ruby/object:Gem::Requirement
|
268
|
-
requirements:
|
269
|
-
- - ">="
|
270
|
-
- !ruby/object:Gem::Version
|
271
|
-
version: '0'
|
272
216
|
- !ruby/object:Gem::Dependency
|
273
217
|
name: therubyracer
|
274
218
|
requirement: !ruby/object:Gem::Requirement
|
@@ -353,20 +297,6 @@ dependencies:
|
|
353
297
|
- - ">="
|
354
298
|
- !ruby/object:Gem::Version
|
355
299
|
version: '0'
|
356
|
-
- !ruby/object:Gem::Dependency
|
357
|
-
name: webmock
|
358
|
-
requirement: !ruby/object:Gem::Requirement
|
359
|
-
requirements:
|
360
|
-
- - ">="
|
361
|
-
- !ruby/object:Gem::Version
|
362
|
-
version: '0'
|
363
|
-
type: :development
|
364
|
-
prerelease: false
|
365
|
-
version_requirements: !ruby/object:Gem::Requirement
|
366
|
-
requirements:
|
367
|
-
- - ">="
|
368
|
-
- !ruby/object:Gem::Version
|
369
|
-
version: '0'
|
370
300
|
description: A command line utility to be run in Book repositories to stitch together
|
371
301
|
their constituent Markdown repos into a static-HTML-serving application
|
372
302
|
email: gmorgan@gopivotal.com
|
@@ -375,10 +305,9 @@ executables:
|
|
375
305
|
extensions: []
|
376
306
|
extra_rdoc_files: []
|
377
307
|
files:
|
378
|
-
- bin/bookbinder
|
379
|
-
- lib/bookbinder.rb
|
380
308
|
- lib/bookbinder/app_fetcher.rb
|
381
309
|
- lib/bookbinder/archive.rb
|
310
|
+
- lib/bookbinder/archive_menu_configuration.rb
|
382
311
|
- lib/bookbinder/artifact_namer.rb
|
383
312
|
- lib/bookbinder/blue_green_app.rb
|
384
313
|
- lib/bookbinder/book.rb
|
@@ -388,14 +317,17 @@ files:
|
|
388
317
|
- lib/bookbinder/cli.rb
|
389
318
|
- lib/bookbinder/cli_error.rb
|
390
319
|
- lib/bookbinder/code_example.rb
|
320
|
+
- lib/bookbinder/code_example_reader.rb
|
321
|
+
- lib/bookbinder/colorizer.rb
|
391
322
|
- lib/bookbinder/command_runner.rb
|
392
323
|
- lib/bookbinder/command_validator.rb
|
324
|
+
- lib/bookbinder/commands/bind.rb
|
393
325
|
- lib/bookbinder/commands/bookbinder_command.rb
|
394
326
|
- lib/bookbinder/commands/build_and_push_tarball.rb
|
327
|
+
- lib/bookbinder/commands/chain.rb
|
395
328
|
- lib/bookbinder/commands/generate_pdf.rb
|
396
329
|
- lib/bookbinder/commands/help.rb
|
397
330
|
- lib/bookbinder/commands/naming.rb
|
398
|
-
- lib/bookbinder/commands/publish.rb
|
399
331
|
- lib/bookbinder/commands/push_local_to_staging.rb
|
400
332
|
- lib/bookbinder/commands/push_to_prod.rb
|
401
333
|
- lib/bookbinder/commands/run_publish_ci.rb
|
@@ -408,33 +340,47 @@ files:
|
|
408
340
|
- lib/bookbinder/css_link_checker.rb
|
409
341
|
- lib/bookbinder/directory_helpers.rb
|
410
342
|
- lib/bookbinder/distributor.rb
|
343
|
+
- lib/bookbinder/dita_html_to_middleman_formatter.rb
|
344
|
+
- lib/bookbinder/dita_section.rb
|
345
|
+
- lib/bookbinder/dita_section_gatherer.rb
|
346
|
+
- lib/bookbinder/git_accessor.rb
|
411
347
|
- lib/bookbinder/git_client.rb
|
412
348
|
- lib/bookbinder/git_hub_repository.rb
|
349
|
+
- lib/bookbinder/local_dita_preprocessor.rb
|
350
|
+
- lib/bookbinder/local_dita_to_html_converter.rb
|
413
351
|
- lib/bookbinder/local_file_system_accessor.rb
|
414
352
|
- lib/bookbinder/middleman_runner.rb
|
415
353
|
- lib/bookbinder/pdf_generator.rb
|
416
354
|
- lib/bookbinder/publisher.rb
|
417
355
|
- lib/bookbinder/pusher.rb
|
418
356
|
- lib/bookbinder/remote_yaml_credential_provider.rb
|
357
|
+
- lib/bookbinder/repositories/command_repository.rb
|
358
|
+
- lib/bookbinder/repositories/section_repository.rb
|
419
359
|
- lib/bookbinder/section.rb
|
420
360
|
- lib/bookbinder/server_director.rb
|
421
361
|
- lib/bookbinder/shell_out.rb
|
362
|
+
- lib/bookbinder/sheller.rb
|
422
363
|
- lib/bookbinder/sieve.rb
|
423
364
|
- lib/bookbinder/sitemap_generator.rb
|
424
365
|
- lib/bookbinder/spider.rb
|
425
366
|
- lib/bookbinder/stabilimentum.rb
|
426
|
-
- lib/bookbinder/
|
367
|
+
- lib/bookbinder/terminal.rb
|
368
|
+
- lib/bookbinder/user_message.rb
|
369
|
+
- lib/bookbinder/user_message_presenter.rb
|
427
370
|
- lib/bookbinder/yaml_loader.rb
|
428
|
-
-
|
429
|
-
- master_middleman/config.rb
|
430
|
-
- master_middleman/quicklinks_renderer.rb
|
431
|
-
- master_middleman/submodule_aware_assets.rb
|
432
|
-
- template_app/Gemfile
|
433
|
-
- template_app/Gemfile.lock
|
371
|
+
- lib/bookbinder.rb
|
434
372
|
- template_app/app.rb
|
435
373
|
- template_app/config.ru
|
374
|
+
- template_app/Gemfile
|
375
|
+
- template_app/Gemfile.lock
|
436
376
|
- template_app/lib/rack_static.rb
|
437
377
|
- template_app/lib/vienna_application.rb
|
378
|
+
- master_middleman/archive_drop_down_menu.rb
|
379
|
+
- master_middleman/bookbinder_helpers.rb
|
380
|
+
- master_middleman/config.rb
|
381
|
+
- master_middleman/quicklinks_renderer.rb
|
382
|
+
- master_middleman/submodule_aware_assets.rb
|
383
|
+
- install_bin/bookbinder
|
438
384
|
homepage: https://github.com/cloudfoundry-incubator/bookbinder
|
439
385
|
licenses:
|
440
386
|
- MIT
|
@@ -455,7 +401,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
455
401
|
version: '0'
|
456
402
|
requirements: []
|
457
403
|
rubyforge_project:
|
458
|
-
rubygems_version: 2.
|
404
|
+
rubygems_version: 2.0.14
|
459
405
|
signing_key:
|
460
406
|
specification_version: 4
|
461
407
|
summary: Markdown to Rackup application documentation generator
|