asciidoctor-multipage 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
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