diff --git a/CHANGELOG.md b/CHANGELOG.md
index 8b3be620..b8277496 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -7,6 +7,20 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## Unreleased
+### Added
+
+- Check for conflict of published page with pages parent (#142)
+
+### Changed
+
+- dependency updates:
+ - plantuml to 1.2024.3
+ - other deps (kotlin, ktor, logback, asciidoctor)
+
+### Fixed
+
+- Handling of quotes in image titles and alt text (#166)
+
## 0.16.0 - 2024-01-07
### Added
diff --git a/convert/src/main/resources/com/github/zeldigas/text2confl/asciidoc/block_image.html.slim b/convert/src/main/resources/com/github/zeldigas/text2confl/asciidoc/block_image.html.slim
index 11e0dbe4..ebee3fa2 100644
--- a/convert/src/main/resources/com/github/zeldigas/text2confl/asciidoc/block_image.html.slim
+++ b/convert/src/main/resources/com/github/zeldigas/text2confl/asciidoc/block_image.html.slim
@@ -1,6 +1,6 @@
p
= html_a_tag_if (attr? :link)
- ac:image ac:height=(attr :height) ac:width=(attr :width) ac:title=(title if title?) ac:alt=(attr :alt if attr :alt) ac:thumbnail=(attr :thumbnail) ac:align=(attr :align) ac:border=(attr :border) ac:class=(attr :class) ac:style=(attr :imgstyle) ac:vspace=(attr :vspace) ac:hspace=(attr :hspace) ac:queryparams=(attr :queryparams)
+ ac:image ac:height=(attr :height) ac:width=(attr :width) ac:title=(escape_quotes(title) if title?) ac:alt=(escape_quotes(attr :alt) if attr :alt) ac:thumbnail=(attr :thumbnail) ac:align=(attr :align) ac:border=(attr :border) ac:class=(attr :class) ac:style=(attr :imgstyle) ac:vspace=(attr :vspace) ac:hspace=(attr :hspace) ac:queryparams=(escape_quotes(attr :queryparams) if attr :queryparams)
- if uriish? attr :target
ri:url ri:value=(attr :target) /
- else
diff --git a/convert/src/main/resources/com/github/zeldigas/text2confl/asciidoc/helpers.rb b/convert/src/main/resources/com/github/zeldigas/text2confl/asciidoc/helpers.rb
index 480f6ceb..83d6836e 100644
--- a/convert/src/main/resources/com/github/zeldigas/text2confl/asciidoc/helpers.rb
+++ b/convert/src/main/resources/com/github/zeldigas/text2confl/asciidoc/helpers.rb
@@ -287,5 +287,9 @@ def adjusted_paragraph_content
content.gsub(Asciidoctor::LF, ' ')
end
+ def escape_quotes val
+ val.gsub(/"/, '"'.freeze)
+ end
+
end
diff --git a/convert/src/main/resources/com/github/zeldigas/text2confl/asciidoc/inline_image.html.slim b/convert/src/main/resources/com/github/zeldigas/text2confl/asciidoc/inline_image.html.slim
index 8136a349..5d886a70 100644
--- a/convert/src/main/resources/com/github/zeldigas/text2confl/asciidoc/inline_image.html.slim
+++ b/convert/src/main/resources/com/github/zeldigas/text2confl/asciidoc/inline_image.html.slim
@@ -1,5 +1,5 @@
= html_a_tag_if (attr? :link)
- ac:image ac:height=(attr :height) ac:width=(attr :width) ac:title=(attr :title if attr? :title) ac:alt=(attr :alt if attr :alt) ac:thumbnail=(attr :thumbnail) ac:align=(attr :align) ac:border=(attr :border) ac:class=(attr :class) ac:style=(attr :imgstyle) ac:vspace=(attr :vspace) ac:hspace=(attr :hspace) ac:queryparams=(attr :queryparams)
+ ac:image ac:height=(attr :height) ac:width=(attr :width) ac:title=(escape_quotes(attr :title) if attr? :title) ac:alt=(escape_quotes(attr :alt) if attr :alt) ac:thumbnail=(attr :thumbnail) ac:align=(attr :align) ac:border=(attr :border) ac:class=(attr :class) ac:style=(attr :imgstyle) ac:vspace=(attr :vspace) ac:hspace=(attr :hspace) ac:queryparams=(escape_quotes(attr :queryparams) if attr :queryparams)
- if uriish? target
ri:url ri:value=(target) /
- else
diff --git a/convert/src/test/kotlin/com/github/zeldigas/text2confl/convert/asciidoc/RenderingOfImagesTest.kt b/convert/src/test/kotlin/com/github/zeldigas/text2confl/convert/asciidoc/RenderingOfImagesTest.kt
index 69d89583..66ce723e 100644
--- a/convert/src/test/kotlin/com/github/zeldigas/text2confl/convert/asciidoc/RenderingOfImagesTest.kt
+++ b/convert/src/test/kotlin/com/github/zeldigas/text2confl/convert/asciidoc/RenderingOfImagesTest.kt
@@ -18,7 +18,8 @@ internal class RenderingOfImagesTest : RenderingTestBase() {
image::assets/image.jpg[]
- .Asset
+ [#img_custom_id]
+ ."Quoted text" regular text