fix: complete html escape and use code arg in auto-submit callback
This commit is contained in:
@@ -60,7 +60,7 @@ function send() {
|
|||||||
const renderer = new Renderer()
|
const renderer = new Renderer()
|
||||||
renderer.code = function ({ text, lang }: { text: string; lang?: string }) {
|
renderer.code = function ({ text, lang }: { text: string; lang?: string }) {
|
||||||
const escape = (s: string) =>
|
const escape = (s: string) =>
|
||||||
s.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">")
|
s.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """)
|
||||||
const label = lang ? `查看代码(${escape(lang)})` : "查看代码"
|
const label = lang ? `查看代码(${escape(lang)})` : "查看代码"
|
||||||
return `<details class="code-block"><summary>${label}</summary><pre><code class="hljs${lang ? ` language-${escape(lang)}` : ""}">${escape(text)}</code></pre></details>`
|
return `<details class="code-block"><summary>${label}</summary><pre><code class="hljs${lang ? ` language-${escape(lang)}` : ""}">${escape(text)}</code></pre></details>`
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -84,13 +84,13 @@ async function loadChallenge() {
|
|||||||
challengeTitle.value = `#${data.display} ${data.title}`
|
challengeTitle.value = `#${data.display} ${data.title}`
|
||||||
challengeContent.value = await marked.parse(data.content, { async: true })
|
challengeContent.value = await marked.parse(data.content, { async: true })
|
||||||
connectPrompt(data.task_ptr)
|
connectPrompt(data.task_ptr)
|
||||||
onCodeComplete = async () => {
|
onCodeComplete = async (code) => {
|
||||||
if (!conversationId.value) return
|
if (!conversationId.value) return
|
||||||
try {
|
try {
|
||||||
await Submission.create(taskId.value, {
|
await Submission.create(taskId.value, {
|
||||||
html: html.value,
|
html: code.html ?? "",
|
||||||
css: css.value,
|
css: code.css ?? "",
|
||||||
js: js.value,
|
js: code.js ?? "",
|
||||||
conversationId: conversationId.value,
|
conversationId: conversationId.value,
|
||||||
})
|
})
|
||||||
} catch {
|
} catch {
|
||||||
|
|||||||
Reference in New Issue
Block a user