リモートユーザーのHTMLで表現されたプロフィールをMFMに変換するように

This commit is contained in:
syuilo
2018-06-21 01:21:57 +09:00
parent 3633d7ada1
commit 79d1bf30a4
29 changed files with 90 additions and 92 deletions

View File

@ -1,5 +1,4 @@
import * as mongo from 'mongodb';
import { JSDOM } from 'jsdom';
import { toUnicode } from 'punycode';
import * as debug from 'debug';
@ -11,6 +10,7 @@ import { resolveImage } from './image';
import { isCollectionOrOrderedCollection, IObject, IPerson } from '../type';
import { IDriveFile } from '../../../models/drive-file';
import Meta from '../../../models/meta';
import htmlToMFM from '../../../mfm/html-to-mfm';
const log = debug('misskey:activitypub');
@ -80,7 +80,6 @@ export async function createPerson(value: any, resolver?: Resolver): Promise<IUs
]);
const host = toUnicode(finger.subject.replace(/^.*?@/, '')).toLowerCase();
const summaryDOM = JSDOM.fragment(person.summary);
// Create user
let user: IRemoteUser;
@ -89,7 +88,7 @@ export async function createPerson(value: any, resolver?: Resolver): Promise<IUs
avatarId: null,
bannerId: null,
createdAt: Date.parse(person.published) || null,
description: summaryDOM.textContent,
description: htmlToMFM(person.summary),
followersCount,
followingCount,
notesCount,
@ -211,8 +210,6 @@ export async function updatePerson(value: string | IObject, resolver?: Resolver)
)
]);
const summaryDOM = JSDOM.fragment(person.summary);
// アイコンとヘッダー画像をフェッチ
const [avatar, banner] = (await Promise.all<IDriveFile>([
person.icon,
@ -231,7 +228,7 @@ export async function updatePerson(value: string | IObject, resolver?: Resolver)
bannerId: banner ? banner._id : null,
avatarUrl: avatar && avatar.metadata.isMetaOnly ? avatar.metadata.url : null,
bannerUrl: banner && banner.metadata.isMetaOnly ? banner.metadata.url : null,
description: summaryDOM.textContent,
description: htmlToMFM(person.summary),
followersCount,
followingCount,
notesCount,