summaryrefslogtreecommitdiff
path: root/src/mfm
diff options
context:
space:
mode:
authorsyuilo <syuilotan@yahoo.co.jp>2020-11-02 15:37:42 +0900
committersyuilo <syuilotan@yahoo.co.jp>2020-11-02 15:37:42 +0900
commitd44cb7f2566dc16d75c0b32aa3fcea0d03d2f835 (patch)
tree958b27740b8968e7bdb1d0545af1b61c3f4b214d /src/mfm
parent:art: (diff)
downloadmisskey-d44cb7f2566dc16d75c0b32aa3fcea0d03d2f835.tar.gz
misskey-d44cb7f2566dc16d75c0b32aa3fcea0d03d2f835.tar.bz2
misskey-d44cb7f2566dc16d75c0b32aa3fcea0d03d2f835.zip
Add new MFM animation syntax
Diffstat (limited to 'src/mfm')
-rw-r--r--src/mfm/language.ts2
-rw-r--r--src/mfm/to-html.ts6
-rw-r--r--src/mfm/to-string.ts4
3 files changed, 12 insertions, 0 deletions
diff --git a/src/mfm/language.ts b/src/mfm/language.ts
index f334301d12..61d6422558 100644
--- a/src/mfm/language.ts
+++ b/src/mfm/language.ts
@@ -77,6 +77,7 @@ export const mfmLanguage = P.createLanguage({
r.jump,
r.flip,
r.twitch,
+ r.shake,
r.inlineCode,
r.mathInline,
r.mention,
@@ -124,6 +125,7 @@ export const mfmLanguage = P.createLanguage({
jump: r => P.regexp(/<jump>(.+?)<\/jump>/, 1).map(x => createTree('jump', r.inline.atLeast(1).tryParse(x), {})),
flip: r => P.regexp(/<flip>(.+?)<\/flip>/, 1).map(x => createTree('flip', r.inline.atLeast(1).tryParse(x), {})),
twitch: r => P.regexp(/<twitch>(.+?)<\/twitch>/, 1).map(x => createTree('twitch', r.inline.atLeast(1).tryParse(x), {})),
+ shake: r => P.regexp(/<shake>(.+?)<\/shake>/, 1).map(x => createTree('shake', r.inline.atLeast(1).tryParse(x), {})),
center: r => r.startOfLine.then(P.regexp(/<center>([\s\S]+?)<\/center>/, 1).map(x => createTree('center', r.inline.atLeast(1).tryParse(x), {}))),
inlineCode: () => P.regexp(/`([^ยด\n]+?)`/, 1).map(x => createLeaf('inlineCode', { code: x })),
mathBlock: r => r.startOfLine.then(P.regexp(/\\\[([\s\S]+?)\\\]/, 1).map(x => createLeaf('mathBlock', { formula: x.trim() }))),
diff --git a/src/mfm/to-html.ts b/src/mfm/to-html.ts
index d58bf386e8..36680e374e 100644
--- a/src/mfm/to-html.ts
+++ b/src/mfm/to-html.ts
@@ -73,6 +73,12 @@ export function toHtml(tokens: MfmForest | null, mentionedRemoteUsers: IMentione
return el;
},
+ shake(token) {
+ const el = doc.createElement('i');
+ appendChildren(token.children, el);
+ return el;
+ },
+
flip(token) {
const el = doc.createElement('span');
appendChildren(token.children, el);
diff --git a/src/mfm/to-string.ts b/src/mfm/to-string.ts
index a6e2a9916c..6b8dcf2c39 100644
--- a/src/mfm/to-string.ts
+++ b/src/mfm/to-string.ts
@@ -52,6 +52,10 @@ export function toString(tokens: MfmForest | null, opts?: RestoreOptions): strin
return `<twitch>${appendChildren(token.children, opts)}</twitch>`;
},
+ shake(token, opts) {
+ return `<shake>${appendChildren(token.children, opts)}</shake>`;
+ },
+
flip(token, opts) {
return `<flip>${appendChildren(token.children, opts)}</flip>`;
},