asciidoctor-external-callout 1.1.4 → 1.2.0

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: 92129f0b6fe96367004f4aa8e3f44b8bdf1182e56b07f296bb1d341a9568c7a1
4
- data.tar.gz: c342a82f9630d128c38d1b87a802aa8a59791dc4666576cea6ced8ccea99aaae
3
+ metadata.gz: 9071bcc8bd5b3d881297e12f8a9f27cb9220dd4633584f35aa537a33b2a1ffcc
4
+ data.tar.gz: 6e1e73370eb5ee7df1c5128f0178975ba30852c69b450fb0cb02e5ca105db3a6
5
5
  SHA512:
6
- metadata.gz: 6c292169bea665e64331fbd2a9e473860d26845c953c8fa64666b10a262c205cd978dc786ec31584df864c04fa59c0301ad2d00e8db218dff033ecd9320baad1
7
- data.tar.gz: 2d571d81ea89b61250050c64ecdf6f7b94b18ca60ce9653c294d1c95fdd8fe824807791d0e98e82fa9026571569dba93daaa5a26ce439be96517ea02e6ef1888
6
+ metadata.gz: a62d43ad6fee410aa7d71862f71bb28ad67e12a44d102fce91ea5130c19b9ac14b5fbe905278eb9aaf6a2d39e347f99f8caadf68ae3c737119086ab17902455a
7
+ data.tar.gz: 2a0671db148dd4c7e855fbd5e00a87c885167a31716fa387810e1cacc0368c9b4d0af3131b5b26fbf23834c40c74a4dd5fe579f13638524e37755f598a4dc668
data/.gitignore CHANGED
@@ -7,10 +7,8 @@
7
7
  /spec/reports/
8
8
  /tmp/
9
9
  /.idea
10
- **/sample.html
11
- **/sample_global_search.html
12
- **/callout-list-block-sample.html
13
- **/sample.pdf
10
+ /test/*.html
11
+ /test/*.pdf
14
12
  *.gem
15
13
  /Gemfile.lock
16
14
  /.asciidoctor
data/CHANGELOG.md CHANGED
@@ -2,10 +2,14 @@
2
2
 
3
3
  Record of bug fixes, enhancements, and changes.
4
4
 
5
+ ## [1.2.0] – 2022-07-30
6
+
7
+ ### Added
8
+ - If you add the role `[calloutlist]` to an ordered list then it will be styled to look like a callout list. This allows you to add callouts to annotated images etc.
9
+
5
10
  ## [1.1.3] – 2022-07-07-16
6
11
 
7
12
  ### Fixed
8
-
9
13
  - The global and case-insensitive flags (ig) are now parsing correctly: using ii or gg will cause prevent the callout block from being processed. Thanks to Hakim Cassimally for finding the bug.
10
14
  - Escaped slash characters were not being processed in the search. Thanks to Hakim Cassimally for finding the bug.
11
15
 
data/README.md CHANGED
@@ -70,6 +70,14 @@ Using the text search method means that the location of the callout will move wi
70
70
  **@/_text_/gi**
71
71
  : And of course, you can combine the two, though I'm not sure why you'd want to.
72
72
 
73
+ ## Standalone callout lists
74
+ You can create a standalone callout list by adding the `calloutlist` role to an ordered list. This simply styles the list to make it look like a list of callouts so you can use it as a reference to annoted images etc.
75
+ ```asciidoc
76
+ [calloutlist]
77
+ . This list can be used to add references to annotated images
78
+ . The list will look like a standard callout list.
79
+ ```
80
+
73
81
  ## Installation
74
82
 
75
83
  Add this line to your application's Gemfile:
@@ -18,6 +18,8 @@ Asciidoctor::Extensions::register do
18
18
  CALLOUT_SOURCE_BLOCK_ROLE ||= 'external-callout-block'
19
19
  CALLOUT_ORDERED_LIST_ROLE ||= 'external-callout-list'
20
20
 
21
+ STANDALONE_CALLOUT_LIST_STYLE ||= 'calloutlist'
22
+
21
23
  LOCATION_TOKEN_RX ||= /@(\d+)|(@\/(?:\\\/|[^\/])+?\/[ig]{0,2})/
22
24
  LOCATION_TOKEN_ARRAY_RX ||= /^(@\d+|@\/(?:\\\/|[^\/]|)+?\/[ig]{0,2})((\s+@\d+)|(\s+@\/(?:\\\/|[^\/]|)+?\/[ig]{0,2}))*$/
23
25
 
@@ -33,18 +35,30 @@ Asciidoctor::Extensions::register do
33
35
  # The makes sure it's the right kind of list.
34
36
  document.find_by context: :olist do |list|
35
37
 
36
- if external_callout_list? list
38
+ # if there is as calloutlist style attached to the block
39
+ # then simply style the block as a colist. This will allow folk
40
+ # to create callout blocks that can be attached to annotated images etc.
37
41
 
38
- owner_block = owning_block list
42
+ if list.style.include? STANDALONE_CALLOUT_LIST_STYLE
39
43
 
40
- owner_block.subs.replace(owner_block.subs + [:callouts]).uniq
44
+ list.context = :colist
41
45
 
42
- process_callouts(list, owner_block)
46
+ else
43
47
 
44
- list.context = :colist
48
+ if external_callout_list? list
49
+
50
+ owner_block = owning_block list
45
51
 
46
- owner_block.add_role(CALLOUT_SOURCE_BLOCK_ROLE) unless owner_block.has_role?(CALLOUT_SOURCE_BLOCK_ROLE)
47
- list.add_role(CALLOUT_ORDERED_LIST_ROLE) unless list.has_role?(CALLOUT_ORDERED_LIST_ROLE)
52
+ owner_block.subs.replace(owner_block.subs + [:callouts]).uniq
53
+
54
+ process_callouts(list, owner_block)
55
+
56
+ list.context = :colist
57
+
58
+ owner_block.add_role(CALLOUT_SOURCE_BLOCK_ROLE) unless owner_block.has_role?(CALLOUT_SOURCE_BLOCK_ROLE)
59
+ list.add_role(CALLOUT_ORDERED_LIST_ROLE) unless list.has_role?(CALLOUT_ORDERED_LIST_ROLE)
60
+
61
+ end
48
62
 
49
63
  end
50
64
 
data/lib/version.rb CHANGED
@@ -3,7 +3,7 @@
3
3
  module Asciidoctor
4
4
  module External
5
5
  module Callout
6
- VERSION = "1.1.4"
6
+ VERSION = "1.2.0"
7
7
  end
8
8
  end
9
9
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: asciidoctor-external-callout
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.4
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ray Offiah
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-07-17 00:00:00.000000000 Z
11
+ date: 2022-07-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: asciidoctor