tiptapify 0.0.4 → 0.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -1
- package/dist/tiptapify.css +1 -1
- package/dist/tiptapify.es.js +20861 -19932
- package/dist/tiptapify.umd.js +39 -32
- package/package.json +23 -10
- package/src/components/MenuBubble.vue +25 -20
- package/src/components/MenuFloating.vue +35 -31
- package/src/components/Tiptapify.vue +51 -14
- package/src/components/Toolbar/Group.vue +78 -0
- package/src/components/Toolbar/Index.vue +44 -71
- package/src/components/Toolbar/Toggle.vue +33 -0
- package/src/components/Toolbar/fonts.ts +118 -0
- package/src/components/Toolbar/items/actions.ts +32 -0
- package/src/components/Toolbar/items/alignment.ts +60 -0
- package/src/components/Toolbar/items/format.ts +73 -0
- package/src/components/Toolbar/items/formatExtra.ts +73 -0
- package/src/components/Toolbar/items/list.ts +70 -0
- package/src/components/Toolbar/items/media.ts +25 -0
- package/src/components/Toolbar/items/misc.ts +50 -0
- package/src/components/Toolbar/items/style.ts +146 -0
- package/src/components/Toolbar/items.ts +72 -635
- package/src/components/editorExtensions.ts +3 -1
- package/src/components/extensions/components/LinkDialog.vue +1 -1
- package/src/components/extensions/components/ShowSource.vue +124 -0
- package/src/components/extensions/view-source.ts +53 -0
- package/src/i18n/locales/de.json +67 -0
- package/src/i18n/locales/en.json +11 -2
- package/src/i18n/locales/es.json +67 -0
- package/src/i18n/locales/fr.json +67 -0
- package/src/i18n/locales/it.json +67 -0
- package/src/i18n/locales/pl.json +67 -0
- package/src/i18n/locales/ru.json +11 -2
- package/src/i18n/locales/ua.json +11 -2
- package/components.d.ts +0 -20
- package/tsconfig.json +0 -22
- package/vite.config.ts +0 -86
|
@@ -25,6 +25,7 @@ import { CodeBlockLowlight } from '@tiptap/extension-code-block-lowlight'
|
|
|
25
25
|
|
|
26
26
|
import { Link } from '@tiptap/extension-link'
|
|
27
27
|
import CodeBlockComponent from '@tiptapify/components/CodeBlockComponent.vue'
|
|
28
|
+
import { ViewSource } from '@tiptapify/components/extensions/view-source'
|
|
28
29
|
import SlashCommands from '@tiptapify/components/extensions/slash-commands'
|
|
29
30
|
import suggestion from '@tiptapify/components/extensions/components/slashCommands/suggestion'
|
|
30
31
|
|
|
@@ -92,7 +93,8 @@ export function editorExtensions (placeholder: string, slashCommands: boolean) {
|
|
|
92
93
|
types: ['heading', 'paragraph'],
|
|
93
94
|
}),
|
|
94
95
|
Placeholder.configure({ placeholder }),
|
|
95
|
-
CharacterCount
|
|
96
|
+
CharacterCount,
|
|
97
|
+
ViewSource
|
|
96
98
|
]
|
|
97
99
|
|
|
98
100
|
if (slashCommands) {
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
import { useEditor } from "@tiptapify/composable/useEditor";
|
|
3
|
+
import { ref, onMounted, onUnmounted, watch } from 'vue'
|
|
4
|
+
import { useI18n } from "vue-i18n";
|
|
5
|
+
|
|
6
|
+
const props = defineProps({
|
|
7
|
+
indent: { type: Number, default: 2 },
|
|
8
|
+
})
|
|
9
|
+
|
|
10
|
+
const { t } = useI18n();
|
|
11
|
+
|
|
12
|
+
const editor = useEditor().editor.getInstance()
|
|
13
|
+
|
|
14
|
+
const dialog = ref(false)
|
|
15
|
+
const formatted = ref(false)
|
|
16
|
+
const sourceCode = ref('')
|
|
17
|
+
|
|
18
|
+
const formatHtml = (html: string): string => {
|
|
19
|
+
let formatted = html.replace(/>/g, '>\n');
|
|
20
|
+
|
|
21
|
+
formatted = formatted.replace(/\n</g, '\n<');
|
|
22
|
+
formatted = formatted.replace(/([^>\n])</g, '$1\n<');
|
|
23
|
+
|
|
24
|
+
const lines = formatted.split('\n');
|
|
25
|
+
let indentLevel = 0;
|
|
26
|
+
|
|
27
|
+
return lines
|
|
28
|
+
.map(line => {
|
|
29
|
+
if (line.match(/<\//)) {
|
|
30
|
+
indentLevel = Math.max(0, indentLevel - 1);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
const indentedLine = ' '.repeat(indentLevel * props.indent) + line;
|
|
34
|
+
|
|
35
|
+
if (line.match(/<[^\/][^>]*>/) && !line.match(/<.*\/>/)) {
|
|
36
|
+
indentLevel++;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
return indentedLine;
|
|
40
|
+
})
|
|
41
|
+
.filter(line => line.trim())
|
|
42
|
+
.join('\n');
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
const unformatHtml = (html: string): string => {
|
|
46
|
+
return html
|
|
47
|
+
.replace(/\n/g, '')
|
|
48
|
+
.replace(/\s+/g, ' ')
|
|
49
|
+
.replace(/>\s+</g, '><')
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
const showDialog = (event: CustomEvent) => {
|
|
53
|
+
sourceCode.value = event.detail.html
|
|
54
|
+
dialog.value = true;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
const saveChanges = () => {
|
|
58
|
+
dialog.value = false
|
|
59
|
+
|
|
60
|
+
editor.value.commands.setContent(sourceCode.value, true)
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
onMounted(() => {
|
|
64
|
+
window.addEventListener('tiptapify-show-source', showDialog as EventListener)
|
|
65
|
+
})
|
|
66
|
+
|
|
67
|
+
onUnmounted(() => {
|
|
68
|
+
window.removeEventListener('tiptapify-show-source', showDialog as EventListener)
|
|
69
|
+
})
|
|
70
|
+
|
|
71
|
+
watch(() => formatted.value, () => {
|
|
72
|
+
sourceCode.value = formatted.value ? formatHtml(sourceCode.value) : unformatHtml(sourceCode.value)
|
|
73
|
+
})
|
|
74
|
+
</script>
|
|
75
|
+
|
|
76
|
+
<template>
|
|
77
|
+
<VDialog v-model="dialog" max-width="1500">
|
|
78
|
+
<VCard>
|
|
79
|
+
<VCardTitle>{{ t('dialog.source.title') }}</VCardTitle>
|
|
80
|
+
|
|
81
|
+
<VCardText>
|
|
82
|
+
<VContainer fluid class="pt-0 pl-0 pr-0">
|
|
83
|
+
<VRow>
|
|
84
|
+
<VCol>
|
|
85
|
+
<VBtn v-model="formatted" :color="`${formatted ? 'primary' : ''}`" @click="formatted = !formatted">
|
|
86
|
+
{{ t('dialog.source.prettify') }}
|
|
87
|
+
</VBtn>
|
|
88
|
+
</VCol>
|
|
89
|
+
</VRow>
|
|
90
|
+
</VContainer>
|
|
91
|
+
|
|
92
|
+
<VTextarea
|
|
93
|
+
v-model="sourceCode"
|
|
94
|
+
no-resize
|
|
95
|
+
rows="100"
|
|
96
|
+
variant="outlined"
|
|
97
|
+
class="source-code-area"
|
|
98
|
+
/>
|
|
99
|
+
</VCardText>
|
|
100
|
+
|
|
101
|
+
<VCardActions>
|
|
102
|
+
<VSpacer></VSpacer>
|
|
103
|
+
<VBtn color="primary" @click="dialog = false">
|
|
104
|
+
{{ t('dialog.close') }}
|
|
105
|
+
</VBtn>
|
|
106
|
+
<VBtn color="primary" @click="saveChanges">
|
|
107
|
+
{{ t('dialog.apply') }}
|
|
108
|
+
</VBtn>
|
|
109
|
+
</VCardActions>
|
|
110
|
+
</VCard>
|
|
111
|
+
</VDialog>
|
|
112
|
+
</template>
|
|
113
|
+
|
|
114
|
+
<style scoped lang="scss">
|
|
115
|
+
.source-code-area {
|
|
116
|
+
font-family: monospace;
|
|
117
|
+
white-space: pre-wrap;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
:deep(.source-code-area textarea) {
|
|
121
|
+
max-height: 900px;
|
|
122
|
+
overflow-y: auto;
|
|
123
|
+
}
|
|
124
|
+
</style>
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { Extension } from '@tiptap/core'
|
|
2
|
+
import { Plugin, PluginKey } from '@tiptap/pm/state'
|
|
3
|
+
|
|
4
|
+
export interface ViewSourceOptions {
|
|
5
|
+
HTMLAttributes: Record<string, any>
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
declare module '@tiptap/core' {
|
|
9
|
+
interface Commands<ReturnType> {
|
|
10
|
+
viewSource: {
|
|
11
|
+
/**
|
|
12
|
+
* Показать исходный HTML-код
|
|
13
|
+
*/
|
|
14
|
+
showSource: () => ReturnType
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export const ViewSource = Extension.create<ViewSourceOptions>({
|
|
20
|
+
name: 'viewSource',
|
|
21
|
+
|
|
22
|
+
addOptions() {
|
|
23
|
+
return {
|
|
24
|
+
HTMLAttributes: {},
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
|
|
28
|
+
addCommands() {
|
|
29
|
+
return {
|
|
30
|
+
showSource: () => ({ editor }) => {
|
|
31
|
+
const event = new CustomEvent('tiptapify-show-source', {
|
|
32
|
+
detail: {
|
|
33
|
+
// html: editor.getHTML()
|
|
34
|
+
html: editor.getHTML({ blockSeparator: '\n\n' })
|
|
35
|
+
// html: editor.getText({ blockSeparator: '\n\n' })
|
|
36
|
+
}
|
|
37
|
+
})
|
|
38
|
+
|
|
39
|
+
window.dispatchEvent(event)
|
|
40
|
+
|
|
41
|
+
return true
|
|
42
|
+
},
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
|
|
46
|
+
addProseMirrorPlugins() {
|
|
47
|
+
return [
|
|
48
|
+
new Plugin({
|
|
49
|
+
key: new PluginKey('viewSource'),
|
|
50
|
+
}),
|
|
51
|
+
]
|
|
52
|
+
},
|
|
53
|
+
})
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
{
|
|
2
|
+
"style": {
|
|
3
|
+
"paragraph": "Absatz",
|
|
4
|
+
"heading": "Überschrift",
|
|
5
|
+
"headings": {
|
|
6
|
+
"h1": "Überschrift Ebene 1",
|
|
7
|
+
"h2": "Überschrift Ebene 2",
|
|
8
|
+
"h3": "Überschrift Ebene 3",
|
|
9
|
+
"h4": "Überschrift Ebene 4",
|
|
10
|
+
"h5": "Überschrift Ebene 5",
|
|
11
|
+
"h6": "Überschrift Ebene 6"
|
|
12
|
+
},
|
|
13
|
+
"fontFamily": "Schriftart",
|
|
14
|
+
"fontSize": "Schriftgröße",
|
|
15
|
+
"lineHeight": "Zeilenhöhe"
|
|
16
|
+
},
|
|
17
|
+
"format": {
|
|
18
|
+
"bold": "Fett",
|
|
19
|
+
"italic": "Kursiv",
|
|
20
|
+
"strike": "Durchgestrichen",
|
|
21
|
+
"underline": "Unterstrichen",
|
|
22
|
+
"sup": "Hochgestellt",
|
|
23
|
+
"sub": "Tiefgestellt",
|
|
24
|
+
"break": "Zeilenumbruch",
|
|
25
|
+
"highlight": "Hervorheben",
|
|
26
|
+
"line": "Horizontale Linie",
|
|
27
|
+
"blockquote": "Zitat",
|
|
28
|
+
"code": "Code",
|
|
29
|
+
"codeblock": "Codeblock",
|
|
30
|
+
"link": "Externer Link",
|
|
31
|
+
"formatClear": "Formatierung löschen"
|
|
32
|
+
},
|
|
33
|
+
"action": {
|
|
34
|
+
"undo": "Rückgängig",
|
|
35
|
+
"redo": "Wiederherstellen"
|
|
36
|
+
},
|
|
37
|
+
"alignment": "Ausrichtung",
|
|
38
|
+
"alignments": {
|
|
39
|
+
"left": "Linksbündig",
|
|
40
|
+
"center": "Zentriert",
|
|
41
|
+
"right": "Rechtsbündig",
|
|
42
|
+
"justify": "Blocksatz"
|
|
43
|
+
},
|
|
44
|
+
"list": "Liste",
|
|
45
|
+
"lists": {
|
|
46
|
+
"bullet": "Aufzählungsliste",
|
|
47
|
+
"numbered": "Nummerierte Liste",
|
|
48
|
+
"task": "Aufgabenliste",
|
|
49
|
+
"indent": "Einzug vergrößern",
|
|
50
|
+
"outdent": "Einzug verkleinern"
|
|
51
|
+
},
|
|
52
|
+
"dialog": {
|
|
53
|
+
"close": "Schließen",
|
|
54
|
+
"apply": "Anwenden",
|
|
55
|
+
"link": {
|
|
56
|
+
"title": "Link hinzufügen/bearbeiten",
|
|
57
|
+
"placeholder": "Linkadresse"
|
|
58
|
+
},
|
|
59
|
+
"source": {
|
|
60
|
+
"title": "Quellcode anzeigen",
|
|
61
|
+
"prettify": "prettify"
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
"misc": {
|
|
65
|
+
"source": "Quellcode anzeigen"
|
|
66
|
+
}
|
|
67
|
+
}
|
package/src/i18n/locales/en.json
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"style": {
|
|
3
|
+
"paragraph": "paragraph",
|
|
3
4
|
"heading": "heading",
|
|
4
5
|
"headings": {
|
|
5
6
|
"h1": "heading level 1",
|
|
@@ -49,10 +50,18 @@
|
|
|
49
50
|
"outdent": "list item outdent"
|
|
50
51
|
},
|
|
51
52
|
"dialog": {
|
|
53
|
+
"close": "close",
|
|
54
|
+
"apply": "apply",
|
|
52
55
|
"link": {
|
|
53
56
|
"title": "add/edit link",
|
|
54
|
-
"placeholder": "link address"
|
|
55
|
-
|
|
57
|
+
"placeholder": "link address"
|
|
58
|
+
},
|
|
59
|
+
"source": {
|
|
60
|
+
"title": "view source code",
|
|
61
|
+
"prettify": "prettify"
|
|
56
62
|
}
|
|
63
|
+
},
|
|
64
|
+
"misc": {
|
|
65
|
+
"source": "view source code"
|
|
57
66
|
}
|
|
58
67
|
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
{
|
|
2
|
+
"style": {
|
|
3
|
+
"paragraph": "párrafo",
|
|
4
|
+
"heading": "encabezado",
|
|
5
|
+
"headings": {
|
|
6
|
+
"h1": "encabezado nivel 1",
|
|
7
|
+
"h2": "encabezado nivel 2",
|
|
8
|
+
"h3": "encabezado nivel 3",
|
|
9
|
+
"h4": "encabezado nivel 4",
|
|
10
|
+
"h5": "encabezado nivel 5",
|
|
11
|
+
"h6": "encabezado nivel 6"
|
|
12
|
+
},
|
|
13
|
+
"fontFamily": "familia de fuente",
|
|
14
|
+
"fontSize": "tamaño de fuente",
|
|
15
|
+
"lineHeight": "altura de línea"
|
|
16
|
+
},
|
|
17
|
+
"format": {
|
|
18
|
+
"bold": "negrita",
|
|
19
|
+
"italic": "cursiva",
|
|
20
|
+
"strike": "tachado",
|
|
21
|
+
"underline": "subrayado",
|
|
22
|
+
"sup": "superíndice",
|
|
23
|
+
"sub": "subíndice",
|
|
24
|
+
"break": "salto de línea",
|
|
25
|
+
"highlight": "resaltado",
|
|
26
|
+
"line": "línea horizontal",
|
|
27
|
+
"blockquote": "cita",
|
|
28
|
+
"code": "código",
|
|
29
|
+
"codeblock": "bloque de código",
|
|
30
|
+
"link": "enlace externo",
|
|
31
|
+
"formatClear": "limpiar formato"
|
|
32
|
+
},
|
|
33
|
+
"action": {
|
|
34
|
+
"undo": "deshacer",
|
|
35
|
+
"redo": "rehacer"
|
|
36
|
+
},
|
|
37
|
+
"alignment": "alineación",
|
|
38
|
+
"alignments": {
|
|
39
|
+
"left": "alinear a la izquierda",
|
|
40
|
+
"center": "centrar",
|
|
41
|
+
"right": "alinear a la derecha",
|
|
42
|
+
"justify": "justificar"
|
|
43
|
+
},
|
|
44
|
+
"list": "lista",
|
|
45
|
+
"lists": {
|
|
46
|
+
"bullet": "lista con viñetas",
|
|
47
|
+
"numbered": "lista numerada",
|
|
48
|
+
"task": "lista de tareas",
|
|
49
|
+
"indent": "aumentar sangría",
|
|
50
|
+
"outdent": "disminuir sangría"
|
|
51
|
+
},
|
|
52
|
+
"dialog": {
|
|
53
|
+
"close": "cerrar",
|
|
54
|
+
"apply": "aplicar",
|
|
55
|
+
"link": {
|
|
56
|
+
"title": "añadir/editar enlace",
|
|
57
|
+
"placeholder": "dirección del enlace"
|
|
58
|
+
},
|
|
59
|
+
"source": {
|
|
60
|
+
"title": "ver código fuente",
|
|
61
|
+
"prettify": "prettify"
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
"misc": {
|
|
65
|
+
"source": "ver código fuente"
|
|
66
|
+
}
|
|
67
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
{
|
|
2
|
+
"style": {
|
|
3
|
+
"paragraph": "paragraphe",
|
|
4
|
+
"heading": "titre",
|
|
5
|
+
"headings": {
|
|
6
|
+
"h1": "titre niveau 1",
|
|
7
|
+
"h2": "titre niveau 2",
|
|
8
|
+
"h3": "titre niveau 3",
|
|
9
|
+
"h4": "titre niveau 4",
|
|
10
|
+
"h5": "titre niveau 5",
|
|
11
|
+
"h6": "titre niveau 6"
|
|
12
|
+
},
|
|
13
|
+
"fontFamily": "famille de police",
|
|
14
|
+
"fontSize": "taille de police",
|
|
15
|
+
"lineHeight": "hauteur de ligne"
|
|
16
|
+
},
|
|
17
|
+
"format": {
|
|
18
|
+
"bold": "gras",
|
|
19
|
+
"italic": "italique",
|
|
20
|
+
"strike": "barré",
|
|
21
|
+
"underline": "souligné",
|
|
22
|
+
"sup": "exposant",
|
|
23
|
+
"sub": "indice",
|
|
24
|
+
"break": "saut de ligne",
|
|
25
|
+
"highlight": "surbrillance",
|
|
26
|
+
"line": "ligne horizontale",
|
|
27
|
+
"blockquote": "citation",
|
|
28
|
+
"code": "code",
|
|
29
|
+
"codeblock": "bloc de code",
|
|
30
|
+
"link": "lien externe",
|
|
31
|
+
"formatClear": "effacer le formatage"
|
|
32
|
+
},
|
|
33
|
+
"action": {
|
|
34
|
+
"undo": "annuler",
|
|
35
|
+
"redo": "rétablir"
|
|
36
|
+
},
|
|
37
|
+
"alignment": "alignement",
|
|
38
|
+
"alignments": {
|
|
39
|
+
"left": "aligner à gauche",
|
|
40
|
+
"center": "centrer",
|
|
41
|
+
"right": "aligner à droite",
|
|
42
|
+
"justify": "justifier"
|
|
43
|
+
},
|
|
44
|
+
"list": "liste",
|
|
45
|
+
"lists": {
|
|
46
|
+
"bullet": "liste à puces",
|
|
47
|
+
"numbered": "liste numérotée",
|
|
48
|
+
"task": "liste de tâches",
|
|
49
|
+
"indent": "augmenter l'indentation",
|
|
50
|
+
"outdent": "diminuer l'indentation"
|
|
51
|
+
},
|
|
52
|
+
"dialog": {
|
|
53
|
+
"close": "fermer",
|
|
54
|
+
"apply": "appliquer",
|
|
55
|
+
"link": {
|
|
56
|
+
"title": "ajouter/modifier un lien",
|
|
57
|
+
"placeholder": "adresse du lien"
|
|
58
|
+
},
|
|
59
|
+
"source": {
|
|
60
|
+
"title": "voir le code source",
|
|
61
|
+
"prettify": "prettify"
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
"misc": {
|
|
65
|
+
"source": "voir le code source"
|
|
66
|
+
}
|
|
67
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
{
|
|
2
|
+
"style": {
|
|
3
|
+
"paragraph": "paragrafo",
|
|
4
|
+
"heading": "intestazione",
|
|
5
|
+
"headings": {
|
|
6
|
+
"h1": "intestazione livello 1",
|
|
7
|
+
"h2": "intestazione livello 2",
|
|
8
|
+
"h3": "intestazione livello 3",
|
|
9
|
+
"h4": "intestazione livello 4",
|
|
10
|
+
"h5": "intestazione livello 5",
|
|
11
|
+
"h6": "intestazione livello 6"
|
|
12
|
+
},
|
|
13
|
+
"fontFamily": "famiglia del carattere",
|
|
14
|
+
"fontSize": "dimensione del carattere",
|
|
15
|
+
"lineHeight": "interlinea"
|
|
16
|
+
},
|
|
17
|
+
"format": {
|
|
18
|
+
"bold": "grassetto",
|
|
19
|
+
"italic": "corsivo",
|
|
20
|
+
"strike": "barrato",
|
|
21
|
+
"underline": "sottolineato",
|
|
22
|
+
"sup": "apice",
|
|
23
|
+
"sub": "pedice",
|
|
24
|
+
"break": "interruzione di riga",
|
|
25
|
+
"highlight": "evidenziato",
|
|
26
|
+
"line": "linea orizzontale",
|
|
27
|
+
"blockquote": "citazione",
|
|
28
|
+
"code": "codice",
|
|
29
|
+
"codeblock": "blocco di codice",
|
|
30
|
+
"link": "link esterno",
|
|
31
|
+
"formatClear": "cancella formattazione"
|
|
32
|
+
},
|
|
33
|
+
"action": {
|
|
34
|
+
"undo": "annulla",
|
|
35
|
+
"redo": "ripeti"
|
|
36
|
+
},
|
|
37
|
+
"alignment": "allineamento",
|
|
38
|
+
"alignments": {
|
|
39
|
+
"left": "allinea a sinistra",
|
|
40
|
+
"center": "allinea al centro",
|
|
41
|
+
"right": "allinea a destra",
|
|
42
|
+
"justify": "giustifica"
|
|
43
|
+
},
|
|
44
|
+
"list": "lista",
|
|
45
|
+
"lists": {
|
|
46
|
+
"bullet": "lista puntata",
|
|
47
|
+
"numbered": "lista numerata",
|
|
48
|
+
"task": "lista di attività",
|
|
49
|
+
"indent": "aumenta rientro",
|
|
50
|
+
"outdent": "riduci rientro"
|
|
51
|
+
},
|
|
52
|
+
"dialog": {
|
|
53
|
+
"close": "chiudi",
|
|
54
|
+
"apply": "applica",
|
|
55
|
+
"link": {
|
|
56
|
+
"title": "aggiungi/modifica link",
|
|
57
|
+
"placeholder": "indirizzo del link"
|
|
58
|
+
},
|
|
59
|
+
"source": {
|
|
60
|
+
"title": "visualizza codice sorgente",
|
|
61
|
+
"prettify": "prettify"
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
"misc": {
|
|
65
|
+
"source": "visualizza codice sorgente"
|
|
66
|
+
}
|
|
67
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
{
|
|
2
|
+
"style": {
|
|
3
|
+
"paragraph": "akapit",
|
|
4
|
+
"heading": "nagłówek",
|
|
5
|
+
"headings": {
|
|
6
|
+
"h1": "nagłówek poziomu 1",
|
|
7
|
+
"h2": "nagłówek poziomu 2",
|
|
8
|
+
"h3": "nagłówek poziomu 3",
|
|
9
|
+
"h4": "nagłówek poziomu 4",
|
|
10
|
+
"h5": "nagłówek poziomu 5",
|
|
11
|
+
"h6": "nagłówek poziomu 6"
|
|
12
|
+
},
|
|
13
|
+
"fontFamily": "rodzina czcionek",
|
|
14
|
+
"fontSize": "rozmiar czcionki",
|
|
15
|
+
"lineHeight": "wysokość linii"
|
|
16
|
+
},
|
|
17
|
+
"format": {
|
|
18
|
+
"bold": "pogrubienie",
|
|
19
|
+
"italic": "kursywa",
|
|
20
|
+
"strike": "przekreślenie",
|
|
21
|
+
"underline": "podkreślenie",
|
|
22
|
+
"sup": "indeks górny",
|
|
23
|
+
"sub": "indeks dolny",
|
|
24
|
+
"break": "twarda spacja",
|
|
25
|
+
"highlight": "wyróżnienie",
|
|
26
|
+
"line": "linia pozioma",
|
|
27
|
+
"blockquote": "cytat",
|
|
28
|
+
"code": "kod",
|
|
29
|
+
"codeblock": "blok kodu",
|
|
30
|
+
"link": "link zewnętrzny",
|
|
31
|
+
"formatClear": "wyczyść formatowanie"
|
|
32
|
+
},
|
|
33
|
+
"action": {
|
|
34
|
+
"undo": "cofnij",
|
|
35
|
+
"redo": "przywróć"
|
|
36
|
+
},
|
|
37
|
+
"alignment": "wyrównanie",
|
|
38
|
+
"alignments": {
|
|
39
|
+
"left": "wyrównaj do lewej",
|
|
40
|
+
"center": "wyśrodkuj",
|
|
41
|
+
"right": "wyrównaj do prawej",
|
|
42
|
+
"justify": "wyjustuj"
|
|
43
|
+
},
|
|
44
|
+
"list": "lista",
|
|
45
|
+
"lists": {
|
|
46
|
+
"bullet": "lista wypunktowana",
|
|
47
|
+
"numbered": "lista numerowana",
|
|
48
|
+
"task": "lista zadań",
|
|
49
|
+
"indent": "zwiększ wcięcie",
|
|
50
|
+
"outdent": "zmniejsz wcięcie"
|
|
51
|
+
},
|
|
52
|
+
"dialog": {
|
|
53
|
+
"close": "zamknij",
|
|
54
|
+
"apply": "zastosuj",
|
|
55
|
+
"link": {
|
|
56
|
+
"title": "dodaj/edytuj link",
|
|
57
|
+
"placeholder": "adres linku"
|
|
58
|
+
},
|
|
59
|
+
"source": {
|
|
60
|
+
"title": "pokaż kod źródłowy",
|
|
61
|
+
"prettify": "prettify"
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
"misc": {
|
|
65
|
+
"source": "pokaż kod źródłowy"
|
|
66
|
+
}
|
|
67
|
+
}
|
package/src/i18n/locales/ru.json
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"style": {
|
|
3
|
+
"paragraph": "абзац",
|
|
3
4
|
"heading": "заголовок",
|
|
4
5
|
"headings": {
|
|
5
6
|
"h1": "заголовок 1-го уровня",
|
|
@@ -49,10 +50,18 @@
|
|
|
49
50
|
"outdent": "уменьшить отступ элемента списка"
|
|
50
51
|
},
|
|
51
52
|
"dialog": {
|
|
53
|
+
"apply": "применить",
|
|
54
|
+
"close": "закрыть",
|
|
52
55
|
"link": {
|
|
53
56
|
"title": "добавление/изменение ссылки",
|
|
54
|
-
"placeholder": "адрес ссылки"
|
|
55
|
-
|
|
57
|
+
"placeholder": "адрес ссылки"
|
|
58
|
+
},
|
|
59
|
+
"source": {
|
|
60
|
+
"title": "просмотр исходного кода",
|
|
61
|
+
"prettify": "prettify"
|
|
56
62
|
}
|
|
63
|
+
},
|
|
64
|
+
"misc": {
|
|
65
|
+
"source": "просмотр исходного кода"
|
|
57
66
|
}
|
|
58
67
|
}
|
package/src/i18n/locales/ua.json
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"style": {
|
|
3
|
+
"paragraph": "абзац",
|
|
3
4
|
"heading": "заголовок",
|
|
4
5
|
"headings": {
|
|
5
6
|
"h1": "заголовок 1-го рівня",
|
|
@@ -49,10 +50,18 @@
|
|
|
49
50
|
"outdent": "зменшити відступ елемента списку"
|
|
50
51
|
},
|
|
51
52
|
"dialog": {
|
|
53
|
+
"apply": "застосувати",
|
|
54
|
+
"close": "закрити",
|
|
52
55
|
"link": {
|
|
53
56
|
"title": "додавання/зміна посилання",
|
|
54
|
-
"placeholder": "адреса посилання"
|
|
55
|
-
|
|
57
|
+
"placeholder": "адреса посилання"
|
|
58
|
+
},
|
|
59
|
+
"source": {
|
|
60
|
+
"title": "перегляд вихідного коду",
|
|
61
|
+
"prettify": "prettify"
|
|
56
62
|
}
|
|
63
|
+
},
|
|
64
|
+
"misc": {
|
|
65
|
+
"source": "перегляд вихідного коду"
|
|
57
66
|
}
|
|
58
67
|
}
|
package/components.d.ts
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
/* eslint-disable */
|
|
2
|
-
// @ts-nocheck
|
|
3
|
-
// Generated by unplugin-vue-components
|
|
4
|
-
// Read more: https://github.com/vuejs/core/pull/3399
|
|
5
|
-
// biome-ignore lint: disable
|
|
6
|
-
export {}
|
|
7
|
-
|
|
8
|
-
/* prettier-ignore */
|
|
9
|
-
declare module 'vue' {
|
|
10
|
-
export interface GlobalComponents {
|
|
11
|
-
CodeBlockComponent: typeof import('./src/components/CodeBlockComponent.vue')['default']
|
|
12
|
-
CommandsList: typeof import('./src/components/extensions/components/slashCommands/CommandsList.vue')['default']
|
|
13
|
-
Footer: typeof import('./src/components/Footer.vue')['default']
|
|
14
|
-
Index: typeof import('./src/components/Toolbar/Index.vue')['default']
|
|
15
|
-
LinkDialog: typeof import('./src/components/extensions/components/LinkDialog.vue')['default']
|
|
16
|
-
MenuBubble: typeof import('./src/components/MenuBubble.vue')['default']
|
|
17
|
-
MenuFloating: typeof import('./src/components/MenuFloating.vue')['default']
|
|
18
|
-
Tiptapify: typeof import('./src/components/Tiptapify.vue')['default']
|
|
19
|
-
}
|
|
20
|
-
}
|
package/tsconfig.json
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"compilerOptions": {
|
|
3
|
-
"target": "ESNext",
|
|
4
|
-
"module": "ESNext",
|
|
5
|
-
"moduleResolution": "Node",
|
|
6
|
-
"strict": true,
|
|
7
|
-
"jsx": "preserve",
|
|
8
|
-
"esModuleInterop": true,
|
|
9
|
-
"sourceMap": true,
|
|
10
|
-
"resolveJsonModule": true,
|
|
11
|
-
"isolatedModules": true,
|
|
12
|
-
"lib": ["ESNext", "DOM"],
|
|
13
|
-
"types": ["vite/client", "node"],
|
|
14
|
-
"declaration": true,
|
|
15
|
-
"declarationDir": "lib",
|
|
16
|
-
"baseUrl": ".",
|
|
17
|
-
"paths": {
|
|
18
|
-
"@tiptapify/*": ["src/*"]
|
|
19
|
-
}
|
|
20
|
-
},
|
|
21
|
-
"include": ["src/**/*"]
|
|
22
|
-
}
|