summaryrefslogtreecommitdiff
path: root/src/models
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2021-04-02 10:36:11 +0900
committerGitHub <noreply@github.com>2021-04-02 10:36:11 +0900
commit1f4ae2f63a609d51942daa23772439379496064e (patch)
tree55e67e216bd30b8a5c95f769e8696c4b885d1e61 /src/models
parenttweak avatar generation (diff)
downloadmisskey-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.ts13
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) {