summaryrefslogtreecommitdiff
path: root/src/mfm/parse/elements
diff options
context:
space:
mode:
authorMeiMei <30769358+mei23@users.noreply.github.com>2018-10-14 16:56:19 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2018-10-14 16:56:19 +0900
commit5dce81c0dbbd6531ecf927fd3c9a381f6ddbf181 (patch)
treeda0cc748df2b7c7fafa9a062db64f13e98459b45 /src/mfm/parse/elements
parentexpose user recommendation config in /api/meta (#2902) (diff)
downloadsharkey-5dce81c0dbbd6531ecf927fd3c9a381f6ddbf181.tar.gz
sharkey-5dce81c0dbbd6531ecf927fd3c9a381f6ddbf181.tar.bz2
sharkey-5dce81c0dbbd6531ecf927fd3c9a381f6ddbf181.zip
非ASCIIなドメインへのメンションの修正 (#2903)
* punycodeでされたmentionのラベルをunicodeとして表示する * post-form mentionはpunycodeにする * mentionの表示はURLもAPI向けもunicodeにする
Diffstat (limited to 'src/mfm/parse/elements')
-rw-r--r--src/mfm/parse/elements/mention.ts4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/mfm/parse/elements/mention.ts b/src/mfm/parse/elements/mention.ts
index a95ec00384..ade5954423 100644
--- a/src/mfm/parse/elements/mention.ts
+++ b/src/mfm/parse/elements/mention.ts
@@ -2,10 +2,12 @@
* Mention
*/
import parseAcct from '../../../misc/acct/parse';
+import { toUnicode } from 'punycode';
export type TextElementMention = {
type: 'mention'
content: string
+ canonical: string
username: string
host: string
};
@@ -15,9 +17,11 @@ export default function(text: string) {
if (!match) return null;
const mention = match[0];
const { username, host } = parseAcct(mention.substr(1));
+ const canonical = host != null ? `@${username}@${toUnicode(host)}` : mention;
return {
type: 'mention',
content: mention,
+ canonical,
username,
host
} as TextElementMention;