ascii_binder 0.1.15.1 → 0.1.15.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ca5e0da9158b6d81f979df1bac238a94d555a3e8bbd24d058cadfed498451f64
4
- data.tar.gz: 8c25ec95bbe2137dc18e5829b081293180e96c4c11bf47cdc8014c4c8cf3eb1f
3
+ metadata.gz: b4ac203ed7b94c0bb9d43493fda6eb22519bdada13bf2fa0ce55b3d8b5fb0766
4
+ data.tar.gz: aa1e116ec3dddc817f60f33d5877ec49877ae792f601b7ec4d886f926b46cd6f
5
5
  SHA512:
6
- metadata.gz: a28c8777c3295bca96949e9e7b6d25231981daacca49b2ba13de1458dc6d8cba40baddf0094f02741dde1a6953621e726c6a0f108e31d4f5f9fb100117f6573a
7
- data.tar.gz: 6e904dfab6183664f12625606a66d709dcc798ac79ce70f8924438ab42da31f0ee62b0ff865d9da6b23b0d96e419085d832b51e4cf672fdfc10fdb9f6411e201
6
+ metadata.gz: 88367857d4d8fa53510222743248e8290ca0327777ad1dadf06b85a6bfd945ddd63f8746a0900b27f431dde371e983c570116387c082d9f602408b0e4a192bf7
7
+ data.tar.gz: 9e9b30b36d938e8d3116fa71f09112c0c651a9c8a59bc27b9f86758b0fbe240de802b88dae490b83ff49ef0db4f045bce4df787f85dc1625be0e7d119ccfa18c
@@ -4,17 +4,17 @@ image:https://badge.fury.io/rb/ascii_binder.svg["Gem Version", link="https://bad
4
4
 
5
5
  AsciiBinder is an AsciiDoc-based system for authoring and publishing closely related documentation sets from a single source.
6
6
 
7
+ This product is no longer actively maintained.
8
+
7
9
  == Learn More
8
10
 
9
- * See the http://www.asciibinder.org[homepage].
10
- * Have a gander at the http://www.asciibinder.org/latest/welcome/[AsciiBinder documentation].
11
- * Or just take the https://rubygems.org/gems/ascii_binder[ascii_binder Ruby Gem] for a spin.
11
+ * Take the https://rubygems.org/gems/ascii_binder[ascii_binder Ruby Gem] for a spin.
12
12
 
13
13
  The AsciiBinder system was initially developed for https://github.com/openshift/openshift-docs[OpenShift documentation], but has been revised to work for documenting a wide variety of complex, multi-versioned software projects.
14
14
 
15
15
  == Contributing
16
16
 
17
- We are using the https://github.com/redhataccess/ascii_binder/issues[Issues] page to track bugs and feature ideas on the code, so have a look and feel free to ask questions there. You can also chat with us on IRC at FreeNode, http://webchat.freenode.net/?randomnick=1&channels=asciibinder&uio=d4[#asciibinder] channel, or on Twitter - https://twitter.com/AsciiBinder[@AsciiBinder].
17
+ We are using the https://github.com/redhataccess/ascii_binder/issues[Issues] page to track bugs and feature ideas on the code, so have a look and feel free to ask questions there.
18
18
 
19
19
  == License
20
20
 
@@ -133,6 +133,7 @@ EOF
133
133
  opt :distro, "Instead of building all distros, build branches only for the specified distro.", :default => ''
134
134
  opt :page, "Build only the specified page for all distros and only the current working branch.", :default => ''
135
135
  opt :log_level, "Set the logging output level for this operation.", :default => 'warn'
136
+ opt :toc_depth, "Maximum depth of topics allowed. Use 0 for infinite depth.", :default => 3
136
137
  conflicts :distro, :page
137
138
  end
138
139
  when "create"
@@ -207,6 +208,7 @@ Options:
207
208
  EOF
208
209
  opt :site, "Instead of packaging every docs site, package the specified site only.", :default => ''
209
210
  opt :log_level, "Set the logging output level for this operation.", :default => 'warn'
211
+ opt :toc_depth, "Maximum depth of topics allowed. Use 0 for infinite depth.", :default => 3
210
212
  end
211
213
  when "help"
212
214
  Trollop::educate
@@ -274,6 +276,13 @@ unless cmd_opts.nil? or cmd_opts[:log_level].nil?
274
276
  end
275
277
  set_log_level(user_log_level)
276
278
 
279
+ # Set the depth level
280
+ user_depth = 3
281
+ unless cmd_opts.nil? or cmd_opts[:toc_depth].nil?
282
+ user_depth = cmd_opts[:toc_depth].to_i
283
+ end
284
+ set_depth(user_depth)
285
+
277
286
 
278
287
  # Cloning? Time to try it.
279
288
  if cmd == 'clone'
@@ -188,12 +188,13 @@ module AsciiBinder
188
188
  args[:breadcrumb_root], args[:breadcrumb_group], args[:breadcrumb_subgroup], args[:breadcrumb_topic] = extract_breadcrumbs(args)
189
189
 
190
190
  args[:breadcrumb_subgroup_block] = ''
191
- args[:subtopic_shim] = ''
192
191
  if args[:breadcrumb_subgroup]
193
192
  args[:breadcrumb_subgroup_block] = "<li class=\"hidden-xs active\">#{args[:breadcrumb_subgroup]}</li>"
194
- args[:subtopic_shim] = '../'
195
193
  end
196
194
 
195
+ args[:subtopic_shim] = '../' * (args[:topic_id].split('::').length - 2)
196
+ args[:subtopic_shim] = '' if args[:subtopic_shim].nil?
197
+
197
198
  template_path = File.expand_path("#{docs_root_dir}/_templates/page.html.erb")
198
199
  template_renderer.render(template_path, args)
199
200
  end
@@ -466,10 +467,6 @@ module AsciiBinder
466
467
  article_title = doc.doctitle || topic.name
467
468
 
468
469
  topic_html = doc.render
469
- dir_depth = ''
470
- if branch_config.dir.split('/').length > 1
471
- dir_depth = '../' * (branch_config.dir.split('/').length - 1)
472
- end
473
470
 
474
471
  # This is logic bridges newer arbitrary-depth-tolerant code to
475
472
  # older depth-limited code. Truly removing depth limitations will
@@ -484,8 +481,9 @@ module AsciiBinder
484
481
  if breadcrumb.length == 3
485
482
  subgroup_title = breadcrumb[1][:name]
486
483
  subgroup_id = breadcrumb[1][:id]
487
- dir_depth = '../' + dir_depth
488
484
  end
485
+ dir_depth = '../' * topic.breadcrumb[-1][:id].split('::').length
486
+ dir_depth = '' if dir_depth.nil?
489
487
 
490
488
  preview_path = topic.preview_path(distro.id,branch_config.dir)
491
489
  topic_publish_url = topic.topic_publish_url(distro.site.url,branch_config.dir)
@@ -508,10 +506,10 @@ module AsciiBinder
508
506
  :group_id => group_id,
509
507
  :subgroup_id => subgroup_id,
510
508
  :topic_id => topic_id,
511
- :css_path => "../../#{dir_depth}#{branch_config.dir}/#{STYLESHEET_DIRNAME}/",
512
- :javascripts_path => "../../#{dir_depth}#{branch_config.dir}/#{JAVASCRIPT_DIRNAME}/",
513
- :images_path => "../../#{dir_depth}#{branch_config.dir}/#{IMAGE_DIRNAME}/",
514
- :site_home_path => "../../#{dir_depth}index.html",
509
+ :css_path => "#{dir_depth}#{branch_config.dir}/#{STYLESHEET_DIRNAME}/",
510
+ :javascripts_path => "#{dir_depth}#{branch_config.dir}/#{JAVASCRIPT_DIRNAME}/",
511
+ :images_path => "#{dir_depth}#{branch_config.dir}/#{IMAGE_DIRNAME}/",
512
+ :site_home_path => "#{dir_depth}index.html",
515
513
  :template_path => template_dir,
516
514
  :repo_path => topic.repo_path,
517
515
  }
@@ -54,6 +54,10 @@ module AsciiBinder
54
54
  AsciiBinder::DOCS_ROOT_DIR
55
55
  end
56
56
 
57
+ def set_depth(user_depth)
58
+ AsciiBinder.const_set("DEPTH", user_depth)
59
+ end
60
+
57
61
  def set_log_level(user_log_level)
58
62
  AsciiBinder.const_set("LOG_LEVEL", log_levels[user_log_level])
59
63
  end
@@ -239,12 +239,8 @@ module AsciiBinder
239
239
  end
240
240
  end
241
241
 
242
- # Check the depth. For now, max depth is '2':
243
- #
244
- # [<group>,<subgroup>,<topic>]
245
- #
246
- # But this limit will be lifted in the next major version
247
- if depth > 2
242
+ # Check the depth.
243
+ if (depth > AsciiBinder::DEPTH) and (AsciiBinder::DEPTH != 0)
248
244
  if verbose
249
245
  errors << "#{entity_id} exceeds the maximum nested depth."
250
246
  else
@@ -1,3 +1,3 @@
1
1
  module AsciiBinder
2
- VERSION = "0.1.15.1"
2
+ VERSION = "0.1.15.2"
3
3
  end
@@ -0,0 +1,14 @@
1
+ <%- navigation.each do |topic_group| -%>
2
+ <%- if topic_id.start_with?(topic_group[:id]) %>
3
+ <li class="hidden-xs active">
4
+ <%- if topic_group.has_key?(:topics) -%>
5
+ <a href="<%= subtopic_shim %><%= topic_group[:path] %>"><%= topic_group[:name] %></a>
6
+ <%- else -%>
7
+ <%= topic_group[:name] %>
8
+ <%- end -%>
9
+ </li>
10
+ <%- end -%>
11
+ <%- if topic_group.has_key?(:topics) -%>
12
+ <%= render("_templates/_breadcrumb.html.erb", :navigation => topic_group[:topics], :topic_id => topic_id, :subtopic_shim => subtopic_shim) %>
13
+ <%- end -%>
14
+ <%- end -%>
@@ -1,31 +1,14 @@
1
- <ul class="nav nav-sidebar">
2
- <%- navigation.each.with_index do |topic_group, groupidx| -%>
3
- <%- current_group = topic_group[:id] == group_id -%>
1
+ <%- navigation.each do |topic_group| -%>
2
+ <%- if not topic_group.has_key?(:topics) -%>
3
+ <li><a class="<%= topic_id.start_with?(topic_group[:id]) ? ' active' : '' %>" href="<%= subtopic_shim %><%= topic_group[:path] %>"><%= topic_group[:name] %></a></li>
4
+ <%- else -%>
4
5
  <li class="nav-header">
5
- <a class="" href="#" data-toggle="collapse" data-target="#topicGroup<%= groupidx %>">
6
- <span id="tgSpan<%= groupidx %>" class="fa <%= current_group ? 'fa-angle-down' : 'fa-angle-right' %>"></span><%= topic_group[:name] %>
6
+ <a class="" href="#" data-toggle="collapse" data-target="#topicGroup-<%= topic_group[:id].hash %>">
7
+ <span id="sgSpan-<%= topic_group[:id].hash %>" class="fa <%= topic_id.start_with?(topic_group[:id]) ? 'fa-caret-down' : 'fa-caret-right' %>"></span>&nbsp;<%= topic_group[:name] %>
7
8
  </a>
8
- <ul id="topicGroup<%= groupidx %>" class="collapse <%= current_group ? 'in' : '' %> list-unstyled">
9
- <%- topic_group[:topics].each.with_index do |topic, topicidx| -%>
10
- <%- if not topic.has_key?(:topics) -%>
11
- <%- current_topic = current_group && (topic[:id] == topic_id) -%>
12
- <li><a class="<%= current_topic ? ' active' : '' %>" href="<%= subtopic_shim %><%= topic[:path] %>"><%= topic[:name] %></a></li>
13
- <%- else -%>
14
- <%- current_subgroup = topic[:id] == subgroup_id -%>
15
- <li class="nav-header">
16
- <a class="" href="#" data-toggle="collapse" data-target="#topicSubGroup-<%= groupidx %>-<%= topicidx %>">
17
- <span id="sgSpan-<%= groupidx %>-<%= topicidx %>" class="fa <%= current_subgroup ? 'fa-caret-down' : 'fa-caret-right' %>"></span>&nbsp;<%= topic[:name] %>
18
- </a>
19
- <ul id="topicSubGroup-<%= groupidx %>-<%= topicidx %>" class="nav-tertiary list-unstyled collapse<%= current_subgroup ? ' in' : '' %>">
20
- <%- topic[:topics].each do |subtopic| -%>
21
- <%- current_subtopic = current_group && current_subgroup && (subtopic[:id] == topic_id) %>
22
- <li><a class="<%= current_subtopic ? ' active' : '' %>" href="<%= subtopic_shim %><%= subtopic[:path] %>"><%= subtopic[:name] %></a></li>
23
- <%- end -%>
24
- </ul>
25
- </li>
26
- <%- end -%>
27
- <%- end -%>
28
- </ul>
9
+ <ul id="topicGroup-<%= topic_group[:id].hash %>" class="collapse <%= topic_id.start_with?(topic_group[:id]) ? 'in' : '' %> list-unstyled">
10
+ <%= render("_templates/_nav.html.erb", :navigation => topic_group[:topics], :topic_id => topic_id, :subtopic_shim => subtopic_shim) %>
11
+ </ul>
29
12
  </li>
30
13
  <%- end -%>
31
- </ul>
14
+ <%- end -%>
@@ -0,0 +1,8 @@
1
+ <%- navigation.each do |topic_group| -%>
2
+ <%- if topic_id.start_with?(topic_group[:id]) %>
3
+ | <%= topic_group[:name] %>
4
+ <%- end -%>
5
+ <%- if topic_group.has_key?(:topics) -%>
6
+ <%= render("_templates/_title.html.erb", :navigation => topic_group[:topics], :topic_id => topic_id) %>
7
+ <%- end -%>
8
+ <%- end -%>
@@ -4,7 +4,9 @@
4
4
  <meta charset="utf-8">
5
5
  <meta content="IE=edge" http-equiv="X-UA-Compatible">
6
6
  <meta content="width=device-width, initial-scale=1.0" name="viewport">
7
- <title><%= distro %> <%= version %> | <%= [group_title, subgroup_title, topic_title].compact.join(' | ') %></title>
7
+ <title><%= distro %> <%= version %>
8
+ <%= render("_templates/_title.html.erb", :navigation => navigation, :topic_id => topic_id) %>
9
+ </title>
8
10
 
9
11
  <!-- Bootstrap -->
10
12
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
@@ -39,20 +41,13 @@
39
41
  <li class="sitename">
40
42
  <a href="<%= site_home_path %>"><%= site_name %></a>
41
43
  </li>
42
- <li class="hidden-xs active">
43
- <%= breadcrumb_root %>
44
- </li>
45
- <li class="hidden-xs active">
46
- <%= breadcrumb_group %>
47
- </li>
48
- <%= breadcrumb_subgroup_block %>
49
- <li class="hidden-xs active">
50
- <%= breadcrumb_topic %>
51
- </li>
44
+ <%= render("_templates/_breadcrumb.html.erb", :navigation => navigation, :topic_id => topic_id, :subtopic_shim => subtopic_shim) %>
52
45
  </ol>
53
46
  <div class="row row-offcanvas row-offcanvas-left">
54
47
  <div class="col-xs-8 col-sm-3 col-md-3 sidebar sidebar-offcanvas">
55
- <%= render("_templates/_nav.html.erb", :navigation => navigation, :group_id => group_id, :topic_id => topic_id, :subgroup_id => subgroup_id, :subtopic_shim => subtopic_shim) %>
48
+ <ul class="nav nav-sidebar">
49
+ <%= render("_templates/_nav.html.erb", :navigation => navigation, :topic_id => topic_id, :subtopic_shim => subtopic_shim) %>
50
+ </ul>
56
51
  </div>
57
52
  <div class="col-xs-12 col-sm-9 col-md-9 main">
58
53
  <div class="page-header">
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ascii_binder
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.15.1
4
+ version: 0.1.15.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - N. Harrison Ripps
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2018-02-08 00:00:00.000000000 Z
14
+ date: 2019-09-12 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: bundler
@@ -323,8 +323,10 @@ files:
323
323
  - templates/_javascripts/.gitkeep
324
324
  - templates/_javascripts/bootstrap-offcanvas.js
325
325
  - templates/_stylesheets/asciibinder.css
326
+ - templates/_templates/_breadcrumb.html.erb
326
327
  - templates/_templates/_css.html.erb
327
328
  - templates/_templates/_nav.html.erb
329
+ - templates/_templates/_title.html.erb
328
330
  - templates/_templates/page.html.erb
329
331
  - templates/_topic_map.yml
330
332
  - templates/index-main.html
@@ -348,8 +350,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
348
350
  - !ruby/object:Gem::Version
349
351
  version: '0'
350
352
  requirements: []
351
- rubyforge_project:
352
- rubygems_version: 2.7.4
353
+ rubygems_version: 3.0.3
353
354
  signing_key:
354
355
  specification_version: 4
355
356
  summary: AsciiBinder is an AsciiDoc-based system for authoring and publishing closely