27 lines
885 B
TypeScript
27 lines
885 B
TypeScript
import { Mark, mergeAttributes } from '@tiptap/core'
|
|
|
|
/** نام مارک متن انگلیسی — ویرایشگر و رندر استاتیک مقاله از همین نام استفاده میکنند */
|
|
export const ENGLISH_TEXT_MARK = 'englishText'
|
|
|
|
/**
|
|
* مارک «متن انگلیسی» — متن انتخابشده را داخل
|
|
* <span dir="ltr" class="english-text"> میپیچد تا ۱۲ پیکسل و چپبهراست
|
|
* نمایش داده شود، بدون اینکه جهت متن فارسی اطرافش بههم بخورد.
|
|
*/
|
|
export const EnglishText = Mark.create({
|
|
name: ENGLISH_TEXT_MARK,
|
|
inclusive: false,
|
|
|
|
parseHTML() {
|
|
return [{ tag: 'span.english-text' }]
|
|
},
|
|
|
|
renderHTML({ HTMLAttributes }) {
|
|
return [
|
|
'span',
|
|
mergeAttributes(HTMLAttributes, { dir: 'ltr', class: 'english-text' }),
|
|
0,
|
|
]
|
|
},
|
|
})
|