parent
							
								
									d906d90010
								
							
						
					
					
						commit
						e5d9381503
					
				
					 6 changed files with 47 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -26,3 +26,8 @@
 | 
			
		|||
		transform: translateY(0);
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@keyframes spin {
 | 
			
		||||
	0% { transform: rotate(0deg); }
 | 
			
		||||
	100% { transform: rotate(360deg); }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -124,6 +124,17 @@ export default Vue.component('misskey-flavored-markdown', {
 | 
			
		|||
					}, genEl(token.children));
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				case 'spin': {
 | 
			
		||||
					motionCount++;
 | 
			
		||||
					const isLong = sumTextsLength(token.children) > 5 || countNodesF(token.children) > 3;
 | 
			
		||||
					const isMany = motionCount > 3;
 | 
			
		||||
					return (createElement as any)('span', {
 | 
			
		||||
						attrs: {
 | 
			
		||||
							style: (this.$store.state.settings.disableAnimatedMfm || isLong || isMany) ? 'display: inline-block;' : 'display: inline-block; animation: spin 1.5s linear infinite;'
 | 
			
		||||
						},
 | 
			
		||||
					}, genEl(token.children));
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				case 'url': {
 | 
			
		||||
					return [createElement(MkUrl, {
 | 
			
		||||
						key: Math.random(),
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -55,6 +55,12 @@ export default (tokens: MfmForest, mentionedRemoteUsers: INote['mentionedRemoteU
 | 
			
		|||
			return el;
 | 
			
		||||
		},
 | 
			
		||||
 | 
			
		||||
		spin(token) {
 | 
			
		||||
			const el = doc.createElement('i');
 | 
			
		||||
			appendChildren(token.children, el);
 | 
			
		||||
			return el;
 | 
			
		||||
		},
 | 
			
		||||
 | 
			
		||||
		blockCode(token) {
 | 
			
		||||
			const pre = doc.createElement('pre');
 | 
			
		||||
			const inner = doc.createElement('code');
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -91,6 +91,7 @@ const mfm = P.createLanguage({
 | 
			
		|||
	root: r => P.alt(
 | 
			
		||||
		r.big,
 | 
			
		||||
		r.small,
 | 
			
		||||
		r.spin,
 | 
			
		||||
		r.bold,
 | 
			
		||||
		r.strike,
 | 
			
		||||
		r.italic,
 | 
			
		||||
| 
						 | 
				
			
			@ -122,6 +123,7 @@ const mfm = P.createLanguage({
 | 
			
		|||
			r.hashtag,
 | 
			
		||||
			r.emoji,
 | 
			
		||||
			r.math,
 | 
			
		||||
			r.spin,
 | 
			
		||||
			r.text
 | 
			
		||||
		).atLeast(1).tryParse(x), {})),
 | 
			
		||||
	//#endregion
 | 
			
		||||
| 
						 | 
				
			
			@ -140,6 +142,15 @@ const mfm = P.createLanguage({
 | 
			
		|||
		).atLeast(1).tryParse(x), {})),
 | 
			
		||||
	//#endregion
 | 
			
		||||
 | 
			
		||||
	//#region Spin
 | 
			
		||||
	spin: r =>
 | 
			
		||||
		P.regexp(/<spin>(.+?)<\/spin>/, 1)
 | 
			
		||||
		.map(x => createTree('spin', P.alt(
 | 
			
		||||
			r.emoji,
 | 
			
		||||
			r.text
 | 
			
		||||
		).atLeast(1).tryParse(x), {})),
 | 
			
		||||
	//#endregion
 | 
			
		||||
 | 
			
		||||
	//#region Block code
 | 
			
		||||
	blockCode: r =>
 | 
			
		||||
		newline.then(
 | 
			
		||||
| 
						 | 
				
			
			@ -173,6 +184,7 @@ const mfm = P.createLanguage({
 | 
			
		|||
		.map(x => createTree('center', P.alt(
 | 
			
		||||
			r.big,
 | 
			
		||||
			r.small,
 | 
			
		||||
			r.spin,
 | 
			
		||||
			r.bold,
 | 
			
		||||
			r.strike,
 | 
			
		||||
			r.italic,
 | 
			
		||||
| 
						 | 
				
			
			@ -261,6 +273,7 @@ const mfm = P.createLanguage({
 | 
			
		|||
			return createTree('link', P.alt(
 | 
			
		||||
				r.big,
 | 
			
		||||
				r.small,
 | 
			
		||||
				r.spin,
 | 
			
		||||
				r.bold,
 | 
			
		||||
				r.strike,
 | 
			
		||||
				r.italic,
 | 
			
		||||
| 
						 | 
				
			
			@ -304,6 +317,7 @@ const mfm = P.createLanguage({
 | 
			
		|||
		.map(x => createTree('motion', P.alt(
 | 
			
		||||
			r.bold,
 | 
			
		||||
			r.small,
 | 
			
		||||
			r.spin,
 | 
			
		||||
			r.strike,
 | 
			
		||||
			r.italic,
 | 
			
		||||
			r.mention,
 | 
			
		||||
| 
						 | 
				
			
			@ -364,6 +378,7 @@ const mfm = P.createLanguage({
 | 
			
		|||
			const contents = P.alt(
 | 
			
		||||
				r.big,
 | 
			
		||||
				r.small,
 | 
			
		||||
				r.spin,
 | 
			
		||||
				r.bold,
 | 
			
		||||
				r.strike,
 | 
			
		||||
				r.italic,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue