From 1f4ae2f63a609d51942daa23772439379496064e Mon Sep 17 00:00:00 2001 From: syuilo Date: Fri, 2 Apr 2021 10:36:11 +0900 Subject: Use mfm-js for MFM parsing (#7415) * wip * Update mfm.ts * wip * update mfmjs * refactor * nanka * Update mfm.ts * Update to-html.ts * Update to-html.ts * wip * fix test * fix test --- src/models/repositories/note.ts | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'src/models') diff --git a/src/models/repositories/note.ts b/src/models/repositories/note.ts index 3642a03c2c..cdf4841918 100644 --- a/src/models/repositories/note.ts +++ b/src/models/repositories/note.ts @@ -1,12 +1,12 @@ import { EntityRepository, Repository, In } from 'typeorm'; +import * as mfm from 'mfm-js'; import { Note } from '../entities/note'; import { User } from '../entities/user'; import { Users, PollVotes, DriveFiles, NoteReactions, Followings, Polls, Channels } from '..'; import { SchemaType } from '@/misc/schema'; +import { nyaize } from '@/misc/nyaize'; import { awaitAll } from '../../prelude/await-all'; import { convertLegacyReaction, convertLegacyReactions, decodeReaction } from '@/misc/reaction-lib'; -import { toString } from '../../mfm/to-string'; -import { parse } from '../../mfm/parse'; import { NoteReaction } from '../entities/note-reaction'; import { aggregateNoteEmojis, populateEmojis, prefetchEmojis } from '@/misc/populate-emojis'; @@ -223,8 +223,13 @@ export class NoteRepository extends Repository { }); if (packed.user.isCat && packed.text) { - const tokens = packed.text ? parse(packed.text) : []; - packed.text = toString(tokens, { doNyaize: true }); + const tokens = packed.text ? mfm.parse(packed.text) : []; + mfm.inspect(tokens, node => { + if (node.type === 'text') { + node.props.text = nyaize(node.props.text); + } + }); + packed.text = mfm.toString(tokens); } if (!opts.skipHide) { -- cgit v1.2.3-freya