aircana 5.2.2 → 5.2.4

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: d6be46d9d9581db102d7cd0e331b4544f53275d9d7b1c3a42ead2834722eb0d8
4
- data.tar.gz: 58217821bc0cd90b8d6b1c5eb900ffdcf2a80cd5f3acb25deb058defb3c68694
3
+ metadata.gz: 73a735eddc9f1fcd6d749bfb8899256c43bd9cb800c009f6e30b811c57c8602c
4
+ data.tar.gz: 3346a4b44f5b327c533e4e13d1635daedcbabee24fce6002bdee8156b7a1036e
5
5
  SHA512:
6
- metadata.gz: d090944ceb60e3737d9a804bee8f5e15cf5d9529df4b42b0e5d4a6a8bdd9f2a3b36308994a6019d96cfb07d3e97eedb681ab4896bb0d48716c0f6c41372161d8
7
- data.tar.gz: 2fdf844d356c526fa5766b89e0bf396720875909b1c31f9617df5d227d51f1ee39db5fbfcbb1e7edf53e0d9c3e8190f40cc34366cb904b476c98ce18751ec7ac
6
+ metadata.gz: 7a86ae36cbc69918f0dd74d16d8e367c2040631d857c17c68ab9492021b5f39e831853918691e34e7d548eb625d59e3d2338628b5dd7085ddf707c724e3acddb
7
+ data.tar.gz: 648e239ba3cc9cab99e45055cf1cfd668f5807a1c4c7035558cee7a9c4e69a2e5d20cff75f86520fed60f3b270128d8db03f93715512d2eda7ae6b139629d806
data/.rspec_status CHANGED
@@ -55,20 +55,27 @@ example_id | status | run_t
55
55
  ./spec/aircana/configuration_spec.rb[1:8:2:1] | passed | 0.0002 seconds |
56
56
  ./spec/aircana/configuration_spec.rb[1:8:3:1] | passed | 0.0002 seconds |
57
57
  ./spec/aircana/configuration_spec.rb[1:8:4:1] | passed | 0.0001 seconds |
58
- ./spec/aircana/contexts/confluence_spec.rb[1:1:1:1] | passed | 0.00286 seconds |
59
- ./spec/aircana/contexts/confluence_spec.rb[1:1:1:2] | passed | 0.00064 seconds |
60
- ./spec/aircana/contexts/confluence_spec.rb[1:1:1:3] | passed | 0.00141 seconds |
61
- ./spec/aircana/contexts/confluence_spec.rb[1:1:2:1] | passed | 0.00027 seconds |
62
- ./spec/aircana/contexts/confluence_spec.rb[1:1:2:2] | passed | 0.0002 seconds |
63
- ./spec/aircana/contexts/confluence_spec.rb[1:1:2:3] | passed | 0.0002 seconds |
64
- ./spec/aircana/contexts/confluence_spec.rb[1:1:3:1] | passed | 0.00041 seconds |
65
- ./spec/aircana/contexts/confluence_spec.rb[1:1:3:2] | passed | 0.00048 seconds |
66
- ./spec/aircana/contexts/confluence_spec.rb[1:2:1:1] | passed | 0.0033 seconds |
67
- ./spec/aircana/contexts/confluence_spec.rb[1:2:1:2] | passed | 0.00036 seconds |
68
- ./spec/aircana/contexts/confluence_spec.rb[1:2:1:3] | passed | 0.0003 seconds |
69
- ./spec/aircana/contexts/confluence_spec.rb[1:2:1:4] | passed | 0.00058 seconds |
70
- ./spec/aircana/contexts/confluence_spec.rb[1:2:2:1] | passed | 0.00029 seconds |
71
- ./spec/aircana/contexts/confluence_spec.rb[1:2:2:2] | passed | 0.00055 seconds |
58
+ ./spec/aircana/contexts/confluence_spec.rb[1:1:1:1] | passed | 0.01148 seconds |
59
+ ./spec/aircana/contexts/confluence_spec.rb[1:1:1:2] | passed | 0.00055 seconds |
60
+ ./spec/aircana/contexts/confluence_spec.rb[1:1:1:3] | passed | 0.00114 seconds |
61
+ ./spec/aircana/contexts/confluence_spec.rb[1:1:2:1] | passed | 0.00097 seconds |
62
+ ./spec/aircana/contexts/confluence_spec.rb[1:1:2:2] | passed | 0.00023 seconds |
63
+ ./spec/aircana/contexts/confluence_spec.rb[1:1:2:3] | passed | 0.00021 seconds |
64
+ ./spec/aircana/contexts/confluence_spec.rb[1:1:3:1] | passed | 0.00035 seconds |
65
+ ./spec/aircana/contexts/confluence_spec.rb[1:1:3:2] | passed | 0.00226 seconds |
66
+ ./spec/aircana/contexts/confluence_spec.rb[1:2:1] | passed | 0.00167 seconds |
67
+ ./spec/aircana/contexts/confluence_spec.rb[1:2:2] | passed | 0.00022 seconds |
68
+ ./spec/aircana/contexts/confluence_spec.rb[1:2:3] | passed | 0.0002 seconds |
69
+ ./spec/aircana/contexts/confluence_spec.rb[1:2:4] | passed | 0.00038 seconds |
70
+ ./spec/aircana/contexts/confluence_spec.rb[1:2:5] | passed | 0.00018 seconds |
71
+ ./spec/aircana/contexts/confluence_spec.rb[1:2:6] | passed | 0.00018 seconds |
72
+ ./spec/aircana/contexts/confluence_spec.rb[1:2:7] | passed | 0.00018 seconds |
73
+ ./spec/aircana/contexts/confluence_spec.rb[1:3:1:1] | passed | 0.00084 seconds |
74
+ ./spec/aircana/contexts/confluence_spec.rb[1:3:1:2] | passed | 0.00031 seconds |
75
+ ./spec/aircana/contexts/confluence_spec.rb[1:3:1:3] | passed | 0.00031 seconds |
76
+ ./spec/aircana/contexts/confluence_spec.rb[1:3:1:4] | passed | 0.0003 seconds |
77
+ ./spec/aircana/contexts/confluence_spec.rb[1:3:2:1] | passed | 0.00031 seconds |
78
+ ./spec/aircana/contexts/confluence_spec.rb[1:3:2:2] | passed | 0.00026 seconds |
72
79
  ./spec/aircana/contexts/local_spec.rb[1:1:1] | passed | 0.00065 seconds |
73
80
  ./spec/aircana/contexts/local_spec.rb[1:1:2] | passed | 0.00038 seconds |
74
81
  ./spec/aircana/contexts/local_spec.rb[1:1:3] | passed | 0.00041 seconds |
data/CHANGELOG.md CHANGED
@@ -5,6 +5,23 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [5.2.4]
9
+
10
+ ### Fixed
11
+ - Fixed Confluence code blocks with whitespace around CDATA not being parsed
12
+ - Confluence API often returns newlines/spaces between `<ac:plain-text-body>` and `<![CDATA[`
13
+ - Added `\s*` to regex to allow optional whitespace around CDATA sections
14
+ - Previously, unmatched code blocks were stripped by generic `ac:` tag removal, truncating content
15
+
16
+ ## [5.2.2]
17
+
18
+ ### Fixed
19
+ - Fixed Confluence code blocks not being converted to markdown
20
+ - Code blocks using `<ac:structured-macro ac:name="code">` with CDATA content were being stripped
21
+ - Added preprocessing to convert Confluence code macros to `<pre><code>` tags before markdown conversion
22
+ - Supports optional language parameter for syntax highlighting
23
+ - Handles multiline code content and extra Confluence parameters (breakoutMode, breakoutWidth)
24
+
8
25
  ## [5.2.0]
9
26
 
10
27
  ### Added
@@ -24,6 +24,15 @@ module Aircana
24
24
  # Process Confluence structured macros to make them compatible with Markdown conversion
25
25
  cleaned = html.dup
26
26
 
27
+ # Convert code blocks with CDATA content to <pre><code> tags
28
+ cleaned.gsub!(
29
+ %r{<ac:structured-macro[^>]*ac:name="code"[^>]*>(?:.*?<ac:parameter[^>]*ac:name="language"[^>]*>([^<]*)</ac:parameter>)?.*?<ac:plain-text-body>\s*<!\[CDATA\[(.*?)\]\]>\s*</ac:plain-text-body>.*?</ac:structured-macro>}m
30
+ ) do
31
+ language = Regexp.last_match(1)&.strip || ""
32
+ code = Regexp.last_match(2) || ""
33
+ "<pre><code class=\"language-#{language}\">#{code}</code></pre>"
34
+ end
35
+
27
36
  # Remove empty code blocks (common issue with Confluence API)
28
37
  cleaned.gsub!(
29
38
  %r{<ac:structured-macro[^>]*ac:name="code"[^>]*>.*?<ac:plain-text-body>\s*</ac:plain-text-body>.*?</ac:structured-macro>}m, ""
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Aircana
4
- VERSION = "5.2.2"
4
+ VERSION = "5.2.4"
5
5
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aircana
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.2.2
4
+ version: 5.2.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Weston Dransfield
8
8
  bindir: exe
9
9
  cert_chain: []
10
- date: 2026-01-29 00:00:00.000000000 Z
10
+ date: 2026-01-30 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: aws-sdk-bedrockruntime