diff options
| author | syuilo <syuilotan@yahoo.co.jp> | 2020-11-02 15:37:42 +0900 |
|---|---|---|
| committer | syuilo <syuilotan@yahoo.co.jp> | 2020-11-02 15:37:42 +0900 |
| commit | d44cb7f2566dc16d75c0b32aa3fcea0d03d2f835 (patch) | |
| tree | 958b27740b8968e7bdb1d0545af1b61c3f4b214d /src/mfm | |
| parent | :art: (diff) | |
| download | misskey-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.ts | 2 | ||||
| -rw-r--r-- | src/mfm/to-html.ts | 6 | ||||
| -rw-r--r-- | src/mfm/to-string.ts | 4 |
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>`; }, |