Keldos commited on
Commit
83c8410
·
1 Parent(s): e91da60

fix: 修复用户消息特殊符号被重复escape的问题

Browse files
Files changed (3) hide show
  1. assets/custom.css +4 -0
  2. modules/overwrites.py +2 -2
  3. modules/utils.py +7 -1
assets/custom.css CHANGED
@@ -294,6 +294,10 @@ ol:not(.options), ul:not(.options) {
294
  .message.user p {
295
  white-space: pre-wrap;
296
  }
 
 
 
 
297
 
298
  .message .md-message p {
299
  margin-top: 0.6em !important;
 
294
  .message.user p {
295
  white-space: pre-wrap;
296
  }
297
+ .message .user-message {
298
+ display: block;
299
+ padding: 0 !important;
300
+ }
301
 
302
  .message .md-message p {
303
  margin-top: 0.6em !important;
modules/overwrites.py CHANGED
@@ -65,9 +65,9 @@ def postprocess_chat_messages(
65
  # escape html spaces
66
  # chat_message = chat_message.replace(" ", " ")
67
  if role == "bot":
68
- chat_message = convert_before_marked(chat_message)
69
  elif role == "user":
70
- chat_message = escape_markdown(chat_message)
71
  return chat_message
72
  else:
73
  raise ValueError(f"Invalid message for Chatbot component: {chat_message}")
 
65
  # escape html spaces
66
  # chat_message = chat_message.replace(" ", " ")
67
  if role == "bot":
68
+ chat_message = convert_bot_before_marked(chat_message)
69
  elif role == "user":
70
+ chat_message = convert_user_before_marked(chat_message)
71
  return chat_message
72
  else:
73
  raise ValueError(f"Invalid message for Chatbot component: {chat_message}")
modules/utils.py CHANGED
@@ -203,7 +203,7 @@ def convert_mdtext(md_text): # deprecated
203
  output += ALREADY_CONVERTED_MARK
204
  return output
205
 
206
- def convert_before_marked(chat_message):
207
  """
208
  注意不能给输出加缩进, 否则会被marked解析成代码块
209
  """
@@ -226,6 +226,12 @@ def convert_before_marked(chat_message):
226
  md = f'<div class="md-message">{result}\n</div>'
227
  return raw + md
228
 
 
 
 
 
 
 
229
  def escape_markdown(text):
230
  """
231
  Escape Markdown special characters to HTML-safe equivalents.
 
203
  output += ALREADY_CONVERTED_MARK
204
  return output
205
 
206
+ def convert_bot_before_marked(chat_message):
207
  """
208
  注意不能给输出加缩进, 否则会被marked解析成代码块
209
  """
 
226
  md = f'<div class="md-message">{result}\n</div>'
227
  return raw + md
228
 
229
+ def convert_user_before_marked(chat_message):
230
+ if '<div class="user-message">' in chat_message:
231
+ return chat_message
232
+ else:
233
+ return f'<div class="user-message">{escape_markdown(chat_message)}</div>'
234
+
235
  def escape_markdown(text):
236
  """
237
  Escape Markdown special characters to HTML-safe equivalents.