fix(editor): mention handling on post editing (#1223)
This commit is contained in:
parent
7389226c38
commit
b049b40298
4 changed files with 20 additions and 1 deletions
|
@ -141,6 +141,12 @@ export function treeToText(input: Node): string {
|
|||
if (['p', 'pre'].includes(input.name))
|
||||
pre = '\n'
|
||||
|
||||
if (input.attributes?.['data-type'] === 'mention') {
|
||||
const acct = input.attributes['data-id']
|
||||
if (acct)
|
||||
return acct.startsWith('@') ? acct : `@${acct}`
|
||||
}
|
||||
|
||||
if (input.name === 'code') {
|
||||
if (input.parent?.name === 'pre') {
|
||||
const lang = input.attributes.class?.replace('language-', '')
|
||||
|
|
|
@ -73,7 +73,7 @@ function handleMention(el: Node) {
|
|||
const matchUser = href.match(UserLinkRE)
|
||||
if (matchUser) {
|
||||
const [, server, username] = matchUser
|
||||
const handle = `@${username}@${server.replace(/(.+\.)(.+\..+)/, '$2')}`
|
||||
const handle = `${username}@${server.replace(/(.+\.)(.+\..+)/, '$2')}`
|
||||
el.attributes.href = `/${server}/@${username}`
|
||||
return h(AccountHoverWrapper, { handle, class: 'inline-block' }, () => nodeToVNode(el))
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue