mirror of
https://github.com/Ocelot-Social-Community/Ocelot-Social.git
synced 2025-12-13 07:46:06 +00:00
56 lines
1.8 KiB
JavaScript
56 lines
1.8 KiB
JavaScript
import Embed from '~/components/Editor/nodes/Embed.js'
|
|
import LegacyEmbed from '~/components/Editor/nodes/LegacyEmbed.js'
|
|
import Link from '~/components/Editor/nodes/Link.js'
|
|
import Strike from '~/components/Editor/marks/Strike'
|
|
import Italic from '~/components/Editor/marks/Italic'
|
|
import Bold from '~/components/Editor/marks/Bold'
|
|
import EmbedQuery from '~/graphql/EmbedQuery.js'
|
|
import { Heading } from '@tiptap/extension-heading'
|
|
import { HardBreak } from '@tiptap/extension-hard-break'
|
|
import { Blockquote } from '@tiptap/extension-blockquote'
|
|
import { ListItem } from '@tiptap/extension-list-item'
|
|
import { BulletList } from '@tiptap/extension-bullet-list'
|
|
import { OrderedList } from '@tiptap/extension-ordered-list'
|
|
import { HorizontalRule } from '@tiptap/extension-horizontal-rule'
|
|
import { Placeholder } from '@tiptap/extension-placeholder'
|
|
import { Underline } from '@tiptap/extension-underline'
|
|
|
|
export default function defaultExtensions(component) {
|
|
const { placeholder, $t, $apollo } = component
|
|
return [
|
|
new Heading(),
|
|
new HardBreak(),
|
|
new Blockquote(),
|
|
new BulletList(),
|
|
new OrderedList(),
|
|
new HorizontalRule(),
|
|
new Bold(),
|
|
new Italic(),
|
|
new Strike(),
|
|
new Underline(),
|
|
new Link(),
|
|
new Heading({ levels: [3, 4] }),
|
|
new ListItem(),
|
|
new Placeholder({
|
|
emptyNodeClass: 'is-empty',
|
|
emptyNodeText: placeholder || $t('editor.placeholder'),
|
|
}),
|
|
new Embed({
|
|
onEmbed: async ({ url }) => {
|
|
const {
|
|
data: { embed },
|
|
} = await $apollo.query({ query: EmbedQuery(), variables: { url } })
|
|
return embed
|
|
},
|
|
}),
|
|
new LegacyEmbed({
|
|
onEmbed: async ({ url }) => {
|
|
const {
|
|
data: { embed },
|
|
} = await $apollo.query({ query: EmbedQuery(), variables: { url } })
|
|
return embed
|
|
},
|
|
}),
|
|
]
|
|
}
|