Skip to content

Commit 45553f3

Browse files
author
Al Manning
committed
escape link contents
1 parent 9d0f4b5 commit 45553f3

File tree

3 files changed

+15
-2
lines changed

3 files changed

+15
-2
lines changed

src/publish/confluence/constants.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
export const DELETE_DISABLED = false;
22

3-
export const EXIT_ON_ERROR = true;
3+
export const EXIT_ON_ERROR = false;
44

55
export const DESCENDANT_LIMIT = 500; // Render time would be the big worry here, we can consider paging in the future
66

src/resources/extensions/quarto/confluence/overrides.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ function LinkConfluence(source, target, title, attr)
115115
end
116116

117117
return "<a href='" .. escape(target,true) .. "' title='" ..
118-
escape(title,true) .. "'>" .. source .. "</a>"
118+
escape(title,true) .. "'>" .. escape(source, false) .. "</a>"
119119
end
120120

121121
function CodeBlockConfluence(codeValue, languageValue)

src/resources/extensions/quarto/confluence/test-suite.lua

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,19 @@ function TestLinkConfluence:testQMDAnchor()
128128

129129
lu.assertEquals(actual, expected)
130130
end
131+
function TestLinkConfluence:testEscape()
132+
local expected = "<a href='fake-target.qmd' title='fake-title'>A &amp; B</a>"
133+
local source = 'A & B'
134+
local target = 'fake-target.qmd'
135+
local title = 'fake-title'
136+
local attributes = {
137+
class = 'fake-class'
138+
}
139+
expected = confluence.interpolate{expected, doubleBracket = ']]'}
140+
local actual = confluence.LinkConfluence(source, target, title, attributes)
141+
142+
lu.assertEquals(actual, expected)
143+
end
131144
function TestLinkConfluence:testAttachment()
132145
local expected = [[<ac:link><ri:attachment ri:filename="fake-source"/><ac:plain-text-link-body><![CDATA[fake-target{doubleBracket}></ac:plain-text-link-body></ac:link>]]
133146
expected = confluence.interpolate{expected, doubleBracket = ']]'}

0 commit comments

Comments
 (0)