Spaces:
Sleeping
Sleeping
Keldos
commited on
Commit
·
6d13763
1
Parent(s):
445b831
fix: preserve line breaks when copy in md message
Browse filesref: https://developer.mozilla.org/zh-CN/docs/Web/API/HTMLElement/innerText
modules/utils.py
CHANGED
@@ -265,7 +265,7 @@ def clip_rawtext(chat_message, need_escape=True):
|
|
265 |
return final_message
|
266 |
|
267 |
|
268 |
-
def convert_bot_before_marked(chat_message):
|
269 |
"""
|
270 |
注意不能给输出加缩进, 否则会被marked解析成代码块
|
271 |
"""
|
@@ -303,6 +303,7 @@ def escape_markdown(text):
|
|
303 |
"""
|
304 |
escape_chars = {
|
305 |
# ' ': ' ',
|
|
|
306 |
"_": "_",
|
307 |
"*": "*",
|
308 |
"[": "[",
|
|
|
265 |
return final_message
|
266 |
|
267 |
|
268 |
+
def convert_bot_before_marked(chat_message):
|
269 |
"""
|
270 |
注意不能给输出加缩进, 否则会被marked解析成代码块
|
271 |
"""
|
|
|
303 |
"""
|
304 |
escape_chars = {
|
305 |
# ' ': ' ',
|
306 |
+
'"': """,
|
307 |
"_": "_",
|
308 |
"*": "*",
|
309 |
"[": "[",
|
web_assets/javascript/message-button.js
CHANGED
@@ -57,6 +57,7 @@ function addChuanhuButton(botElement) {
|
|
57 |
var isLatestMessage = botElement.classList.contains('latest');
|
58 |
|
59 |
var gradioButtonMsg = botElement.querySelector('button[data-testid="bot"]');
|
|
|
60 |
var rawMessage = botElement.querySelector('.raw-message');
|
61 |
var mdMessage = botElement.querySelector('.md-message');
|
62 |
|
@@ -98,10 +99,17 @@ function addChuanhuButton(botElement) {
|
|
98 |
copyButton.innerHTML = copyIcon;
|
99 |
|
100 |
copyButton.addEventListener('click', async () => {
|
101 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
102 |
try {
|
103 |
if ("clipboard" in navigator) {
|
104 |
await navigator.clipboard.writeText(textToCopy);
|
|
|
105 |
copyButton.innerHTML = copiedIcon;
|
106 |
setTimeout(() => {
|
107 |
copyButton.innerHTML = copyIcon;
|
|
|
57 |
var isLatestMessage = botElement.classList.contains('latest');
|
58 |
|
59 |
var gradioButtonMsg = botElement.querySelector('button[data-testid="bot"]');
|
60 |
+
|
61 |
var rawMessage = botElement.querySelector('.raw-message');
|
62 |
var mdMessage = botElement.querySelector('.md-message');
|
63 |
|
|
|
99 |
copyButton.innerHTML = copyIcon;
|
100 |
|
101 |
copyButton.addEventListener('click', async () => {
|
102 |
+
|
103 |
+
let textToCopyHTML = rawMessage.innerHTML;
|
104 |
+
let textToCopyTMP = textToCopyHTML.replace(/<br\s*\/?>/gi, '\n');
|
105 |
+
let textToCopyDOM = document.createElement('div');
|
106 |
+
textToCopyDOM.innerHTML = textToCopyTMP;
|
107 |
+
let textToCopy = textToCopyDOM.textContent;
|
108 |
+
|
109 |
try {
|
110 |
if ("clipboard" in navigator) {
|
111 |
await navigator.clipboard.writeText(textToCopy);
|
112 |
+
// console.log("Copied to clipboard: \n", textToCopy);
|
113 |
copyButton.innerHTML = copiedIcon;
|
114 |
setTimeout(() => {
|
115 |
copyButton.innerHTML = copyIcon;
|