ruby
This commit is contained in:
parent
0900fcead4
commit
bffe140ab0
|
@ -14,6 +14,7 @@ import MkA from '@/components/global/MkA.vue';
|
||||||
import { host } from '@/config';
|
import { host } from '@/config';
|
||||||
import { defaultStore } from '@/store';
|
import { defaultStore } from '@/store';
|
||||||
import { mixEmoji } from '@/scripts/emojiKitchen/emojiMixer';
|
import { mixEmoji } from '@/scripts/emojiKitchen/emojiMixer';
|
||||||
|
import MkRuby from "@/components/global/MkRuby.vue";
|
||||||
|
|
||||||
const QUOTE_STYLE = `
|
const QUOTE_STYLE = `
|
||||||
display: block;
|
display: block;
|
||||||
|
@ -327,6 +328,31 @@ export default function(props: {
|
||||||
style = useAnim ? `--move-fromX: ${fromX}em; --move-fromY: ${fromY}em; --move-toX: ${toX}em; --move-toY: ${toY}em; animation: ${speed} ${ease} ${delay} infinite ${direction} mfm-move;` : '';
|
style = useAnim ? `--move-fromX: ${fromX}em; --move-fromY: ${fromY}em; --move-toX: ${toX}em; --move-toY: ${toY}em; animation: ${speed} ${ease} ${delay} infinite ${direction} mfm-move;` : '';
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case 'ruby': {
|
||||||
|
if (token.children.length === 1 ){
|
||||||
|
const base = token.children[0].props.text.split(/[ ]+/);
|
||||||
|
if (base.length !== 2 ){
|
||||||
|
style = null;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return h(MkRuby,{
|
||||||
|
base:base[0],
|
||||||
|
text:base[1]
|
||||||
|
});
|
||||||
|
}else if(token.children.length === 2){
|
||||||
|
console.log(token.children)
|
||||||
|
const base = token.children[0].type !== 'unicodeEmoji' ? token.children[0].props.text : token.children[0].props.emoji;
|
||||||
|
const txt = token.children[1].type !== 'unicodeEmoji' ? token.children[1].props.text : token.children[1].props.emoji;
|
||||||
|
return h(MkRuby,{
|
||||||
|
base:base,
|
||||||
|
basetype:token.children[0].type,
|
||||||
|
text:txt,
|
||||||
|
});
|
||||||
|
}else{
|
||||||
|
style = null;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
case 'mix': {
|
case 'mix': {
|
||||||
const ch = token.children;
|
const ch = token.children;
|
||||||
if (ch.length != 2 || ch.some(c => c.type !== 'unicodeEmoji')) {
|
if (ch.length != 2 || ch.some(c => c.type !== 'unicodeEmoji')) {
|
||||||
|
@ -395,7 +421,6 @@ export default function(props: {
|
||||||
username: token.props.username,
|
username: token.props.username,
|
||||||
})];
|
})];
|
||||||
}
|
}
|
||||||
|
|
||||||
case 'hashtag': {
|
case 'hashtag': {
|
||||||
return [h(MkA, {
|
return [h(MkA, {
|
||||||
key: Math.random(),
|
key: Math.random(),
|
||||||
|
|
|
@ -0,0 +1,18 @@
|
||||||
|
<script setup lang="ts">
|
||||||
|
import { computed } from 'vue';
|
||||||
|
import MkEmoji from './MkEmoji.vue';
|
||||||
|
const props = defineProps<{
|
||||||
|
base: string;
|
||||||
|
text: string;
|
||||||
|
basetype: string;
|
||||||
|
}>();
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<ruby>
|
||||||
|
|
||||||
|
<MkEmoji v-if="basetype === 'unicodeEmoji' " class="emoji" :emoji="base" :normal="true"/>
|
||||||
|
<p v-else >{{base}}</p>
|
||||||
|
<rt>{{text}}</rt>
|
||||||
|
</ruby>
|
||||||
|
</template>
|
|
@ -1 +1 @@
|
||||||
export const MFM_TAGS = ['tada', 'jelly', 'twitch', 'shake', 'spin', 'jump', 'bounce', 'flip', 'x2', 'x3', 'x4', 'scale', 'skew', 'position', 'fg', 'bg', 'font', 'blur', 'rainbow', 'sparkle', 'rotate', 'fgg', 'bgg', 'clip', 'move', 'mix'];
|
export const MFM_TAGS = ['tada', 'jelly', 'twitch', 'shake', 'spin', 'jump', 'bounce', 'flip', 'x2', 'x3', 'x4', 'scale', 'skew', 'position', 'fg', 'bg', 'font', 'blur', 'rainbow', 'sparkle', 'rotate', 'fgg', 'bgg', 'clip', 'move', 'mix','ruby'];
|
||||||
|
|
Loading…
Reference in New Issue