asciidoctor-multipage 0.0.4 → 0.0.5

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 (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/asciidoctor-multipage.rb +20 -15
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d073da07d5707fe438e99dc7b836e44921837b9f961184e9dd2084d890a8f3c3
4
- data.tar.gz: 23a0c68821990b1e4fb6b0309049902c9c24ff506eef9c7fbb94292a400ddaa6
3
+ metadata.gz: 557c3f908096a0d6e1bfdb3b82422183e9708af6097b2c39f489ad2136fe8b68
4
+ data.tar.gz: 5974c191d6ef90f4508d6c7820146cc29572b4f8cbb639577266742c66f7affb
5
5
  SHA512:
6
- metadata.gz: 9430f25299c02ce84b7b9f8911cd1affe670e451d2ef0a199d7977781fc7b1f9e473e3f256000b081d52a73a0f2e4690dc9216c446a8659e87d29f6e6ac9eecb
7
- data.tar.gz: 80e1aeb5de2107e1b1bfb1db662e82d05156f1599a9d62c9d0b1a5a8383729b8bf051ff2319bdfaee31413099bdeeb6c910ef8b148899f304350df0d5daaaf8e
6
+ metadata.gz: ab80168a4b679c5ec5eeda2ece115e06231d70aaa915c774054a9ada32b74a7eaa9b8607afde449c235562592a60cdcb894418c03d1f8ed3de3392aefaea498f
7
+ data.tar.gz: 4921cf700bd8f640a13b882d92d3f645d001b8cf7bfd441d5741bd7115cbb935c8924e98c30d9a97d15bc7399e410da32d9e3cd53b02c6803f67b34ee4698d7c
@@ -17,6 +17,7 @@ class Asciidoctor::AbstractNode
17
17
  node_tree << current
18
18
  current = current.parent
19
19
  end
20
+ node_tree << current
20
21
  if node_tree.include?(self) ||
21
22
  node_tree.include?(self.parent)
22
23
  return true
@@ -120,7 +121,8 @@ class MultipageHtml5Converter < Asciidoctor::Converter::Html5Converter
120
121
  # Process Document (either the original full document or a processed page)
121
122
  def convert_document(node)
122
123
  if node.processed
123
- # This node can now be handled by Html5Converter.
124
+ # This node (an individual page) can now be handled by
125
+ # Html5Converter.
124
126
  super
125
127
  else
126
128
  # This node is the original full document which has not yet been
@@ -146,6 +148,7 @@ class MultipageHtml5Converter < Asciidoctor::Converter::Html5Converter
146
148
  # Set multipage chunk types
147
149
  set_multipage_attrs(node)
148
150
 
151
+ # FIXME: This can result in a duplicate ID without a warning.
149
152
  # Set the "id" attribute for the Document, using the "docname", which is
150
153
  # based on the file name. Then register the document ID using the
151
154
  # document title. This allows cross-references to refer to (1) the
@@ -195,12 +198,13 @@ class MultipageHtml5Converter < Asciidoctor::Converter::Html5Converter
195
198
  # processed page)
196
199
  def convert_embedded(node)
197
200
  if node.processed
198
- # This node can now be handled by Html5Converter.
201
+ # This node (an individual page) can now be handled by
202
+ # Html5Converter.
199
203
  super
200
204
  else
201
205
  # This node is the original full document which has not yet been
202
- # processed; it can be handled by document().
203
- document(node)
206
+ # processed; it can be handled by convert_document().
207
+ convert_document(node)
204
208
  end
205
209
  end
206
210
 
@@ -216,7 +220,8 @@ class MultipageHtml5Converter < Asciidoctor::Converter::Html5Converter
216
220
  previous_page = pages[page_index-1]
217
221
  parent_page = page.parent
218
222
  home_page = doc
219
- # NOTE, there are some non-breaking spaces (U+00A0) below.
223
+ # NOTE: There are some non-breaking spaces (U+00A0) below, in
224
+ # the "links <<" lines and "links.join" line.
220
225
  if previous_page != parent_page
221
226
  links << %(← Previous: <<#{previous_page.id}>>)
222
227
  end
@@ -237,12 +242,11 @@ class MultipageHtml5Converter < Asciidoctor::Converter::Html5Converter
237
242
  end
238
243
 
239
244
  # Generate the actual HTML outline for the TOC. This method is analogous to
240
- # Html5Converter outline().
245
+ # Html5Converter convert_outline().
241
246
  def generate_outline(node, opts = {})
242
- # This is the same as Html5Converter outline()
243
247
  return unless node.sections?
244
- sectnumlevels = opts[:sectnumlevels] || (node.document.attr 'sectnumlevels', 3).to_i
245
- toclevels = opts[:toclevels] || (node.document.attr 'toclevels', 2).to_i
248
+ sectnumlevels = opts[:sectnumlevels] || (node.document.attributes['sectnumlevels'] || 3).to_i
249
+ toclevels = opts[:toclevels] || (node.document.attributes['toclevels'] || 2).to_i
246
250
  sections = node.sections
247
251
  result = [%(<ul class="sectlevel#{sections[0].level}">)]
248
252
  sections.each do |section|
@@ -277,12 +281,12 @@ class MultipageHtml5Converter < Asciidoctor::Converter::Html5Converter
277
281
  end
278
282
  result << %(<li><a href="#{link}">#{stitle}</a>)
279
283
 
280
- # Finish in a manner similar to Html5Converter outline()
284
+ # Finish in a manner similar to Html5Converter convert_outline()
281
285
  if slevel < toclevels &&
282
286
  (child_toc_level = generate_outline section,
283
- :toclevels => toclevels,
284
- :secnumlevels => sectnumlevels,
285
- :page_id => opts[:page_id])
287
+ toclevels: toclevels,
288
+ secnumlevels: sectnumlevels,
289
+ page_id: opts[:page_id])
286
290
  result << child_toc_level
287
291
  end
288
292
  result << '</li>'
@@ -374,7 +378,8 @@ class MultipageHtml5Converter < Asciidoctor::Converter::Html5Converter
374
378
  return new_document
375
379
  end
376
380
 
377
- # Override Html5Converter outline() to return a custom TOC outline
381
+ # Override Html5Converter convert_outline() to return a custom TOC
382
+ # outline.
378
383
  def convert_outline(node, opts = {})
379
384
  doc = node.document
380
385
  # Find this node in the @@full_outline skeleton document
@@ -495,7 +500,7 @@ class MultipageHtml5Converter < Asciidoctor::Converter::Html5Converter
495
500
  %(section cannot be less than the parent section value)
496
501
  section.set_attr('multipage-level', nil)
497
502
  end
498
- # Propogate custom multipage-level value to child node
503
+ # Propagate custom multipage-level value to child node
499
504
  if !section.attr?('multipage-level', nil, false) &&
500
505
  node.attr('multipage-level') != doc.attr('multipage-level')
501
506
  section.set_attr('multipage-level', node.attr('multipage-level'))
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: asciidoctor-multipage
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Owen T. Heisler
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-02-04 00:00:00.000000000 Z
11
+ date: 2021-02-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: appraisal