diff options
| author | syuilo <Syuilotan@yahoo.co.jp> | 2021-04-02 10:36:11 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-04-02 10:36:11 +0900 |
| commit | 1f4ae2f63a609d51942daa23772439379496064e (patch) | |
| tree | 55e67e216bd30b8a5c95f769e8696c4b885d1e61 /src/models | |
| parent | tweak avatar generation (diff) | |
| download | misskey-1f4ae2f63a609d51942daa23772439379496064e.tar.gz misskey-1f4ae2f63a609d51942daa23772439379496064e.tar.bz2 misskey-1f4ae2f63a609d51942daa23772439379496064e.zip | |
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
Diffstat (limited to 'src/models')
| -rw-r--r-- | src/models/repositories/note.ts | 13 |
1 files changed, 9 insertions, 4 deletions
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<Note> { }); 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) { |