jodit-pro 4.9.4 → 4.9.15
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/CHANGELOG.md +44 -2
- package/config.js +1 -0
- package/es2015/jodit.css +1 -1
- package/es2015/jodit.fat.min.css +1 -1
- package/es2015/jodit.fat.min.js +26 -26
- package/es2015/jodit.js +5 -3
- package/es2015/jodit.min.js +2 -2
- package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
- package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.js +10 -4
- package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.min.js +6 -6
- package/es2015/plugins/autocomplete/autocomplete.js +1 -1
- package/es2015/plugins/autocomplete/autocomplete.min.js +1 -1
- package/es2015/plugins/backup/backup.css +1 -1
- package/es2015/plugins/backup/backup.js +1 -1
- package/es2015/plugins/backup/backup.min.js +1 -1
- package/es2015/plugins/button-generator/button-generator.css +1 -1
- package/es2015/plugins/button-generator/button-generator.js +1 -1
- package/es2015/plugins/button-generator/button-generator.min.js +1 -1
- package/es2015/plugins/change-case/change-case.js +1 -1
- package/es2015/plugins/change-case/change-case.min.js +1 -1
- package/es2015/plugins/color-picker/color-picker.css +1 -1
- package/es2015/plugins/color-picker/color-picker.js +1 -1
- package/es2015/plugins/color-picker/color-picker.min.js +1 -1
- package/es2015/plugins/emoji/emoji.css +1 -1
- package/es2015/plugins/emoji/emoji.js +1 -1
- package/es2015/plugins/emoji/emoji.min.js +1 -1
- package/es2015/plugins/export-docs/export-docs.js +1 -1
- package/es2015/plugins/export-docs/export-docs.min.js +1 -1
- package/es2015/plugins/finder/finder.css +1 -1
- package/es2015/plugins/finder/finder.js +1 -1
- package/es2015/plugins/finder/finder.min.js +1 -1
- package/es2015/plugins/google-maps/google-maps.css +1 -1
- package/es2015/plugins/google-maps/google-maps.js +1 -1
- package/es2015/plugins/google-maps/google-maps.min.js +1 -1
- package/es2015/plugins/google-search/google-search.js +1 -1
- package/es2015/plugins/google-search/google-search.min.js +1 -1
- package/es2015/plugins/highlight-signature/highlight-signature.js +1 -1
- package/es2015/plugins/highlight-signature/highlight-signature.min.js +1 -1
- package/es2015/plugins/iframe-editor/iframe-editor.css +1 -1
- package/es2015/plugins/iframe-editor/iframe-editor.js +1 -1
- package/es2015/plugins/iframe-editor/iframe-editor.min.js +1 -1
- package/es2015/plugins/keyboard/keyboard.css +1 -1
- package/es2015/plugins/keyboard/keyboard.js +1 -1
- package/es2015/plugins/keyboard/keyboard.min.js +1 -1
- package/es2015/plugins/mobile-view/mobile-view.js +1 -1
- package/es2015/plugins/mobile-view/mobile-view.min.js +1 -1
- package/es2015/plugins/page-break/page-break.js +1 -1
- package/es2015/plugins/page-break/page-break.min.js +1 -1
- package/es2015/plugins/paste-code/paste-code.css +1 -1
- package/es2015/plugins/paste-code/paste-code.js +1 -1
- package/es2015/plugins/paste-code/paste-code.min.js +1 -1
- package/es2015/plugins/paste-from-word/paste-from-word.js +1 -1
- package/es2015/plugins/paste-from-word/paste-from-word.min.js +1 -1
- package/es2015/plugins/show-blocks/show-blocks.js +1 -1
- package/es2015/plugins/show-blocks/show-blocks.min.js +1 -1
- package/es2015/plugins/style/style.css +79 -0
- package/es2015/plugins/style/style.js +395 -0
- package/es2015/plugins/style/style.min.css +1 -0
- package/es2015/plugins/style/style.min.js +8 -0
- package/es2015/plugins/todo-list/todo-list.css +1 -1
- package/es2015/plugins/todo-list/todo-list.js +1 -1
- package/es2015/plugins/todo-list/todo-list.min.js +1 -1
- package/es2015/plugins/translate/translate.css +1 -1
- package/es2015/plugins/translate/translate.js +1 -1
- package/es2015/plugins/translate/translate.min.js +1 -1
- package/es2015/plugins/tune-block/tune-block.css +1 -1
- package/es2015/plugins/tune-block/tune-block.js +1 -1
- package/es2015/plugins/tune-block/tune-block.min.js +1 -1
- package/es2018/jodit.fat.min.css +1 -1
- package/es2018/jodit.fat.min.js +15 -15
- package/es2018/jodit.min.js +2 -2
- package/es2018/plugins/ai-assistant-pro/ai-assistant-pro.min.js +7 -7
- package/es2018/plugins/autocomplete/autocomplete.min.js +1 -1
- package/es2018/plugins/backup/backup.min.js +1 -1
- package/es2018/plugins/button-generator/button-generator.min.js +1 -1
- package/es2018/plugins/change-case/change-case.min.js +1 -1
- package/es2018/plugins/color-picker/color-picker.min.js +1 -1
- package/es2018/plugins/emoji/emoji.min.js +1 -1
- package/es2018/plugins/export-docs/export-docs.min.js +1 -1
- package/es2018/plugins/finder/finder.min.js +1 -1
- package/es2018/plugins/google-maps/google-maps.min.js +1 -1
- package/es2018/plugins/google-search/google-search.min.js +1 -1
- package/es2018/plugins/highlight-signature/highlight-signature.min.js +1 -1
- package/es2018/plugins/iframe-editor/iframe-editor.min.js +1 -1
- package/es2018/plugins/keyboard/keyboard.min.js +1 -1
- package/es2018/plugins/mobile-view/mobile-view.min.js +1 -1
- package/es2018/plugins/page-break/page-break.min.js +1 -1
- package/es2018/plugins/paste-code/paste-code.min.js +1 -1
- package/es2018/plugins/paste-from-word/paste-from-word.min.js +1 -1
- package/es2018/plugins/show-blocks/show-blocks.min.js +1 -1
- package/es2018/plugins/style/style.min.css +1 -0
- package/es2018/plugins/style/style.min.js +8 -0
- package/es2018/plugins/todo-list/todo-list.min.js +1 -1
- package/es2018/plugins/translate/translate.min.js +1 -1
- package/es2018/plugins/tune-block/tune-block.min.js +1 -1
- package/es2021/jodit.css +1 -1
- package/es2021/jodit.fat.min.css +1 -1
- package/es2021/jodit.fat.min.js +16 -16
- package/es2021/jodit.js +5 -3
- package/es2021/jodit.min.js +2 -2
- package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
- package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.js +9 -4
- package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.min.js +28 -28
- package/es2021/plugins/autocomplete/autocomplete.js +1 -1
- package/es2021/plugins/autocomplete/autocomplete.min.js +1 -1
- package/es2021/plugins/backup/backup.css +1 -1
- package/es2021/plugins/backup/backup.js +1 -1
- package/es2021/plugins/backup/backup.min.js +1 -1
- package/es2021/plugins/button-generator/button-generator.css +1 -1
- package/es2021/plugins/button-generator/button-generator.js +1 -1
- package/es2021/plugins/button-generator/button-generator.min.js +1 -1
- package/es2021/plugins/change-case/change-case.js +1 -1
- package/es2021/plugins/change-case/change-case.min.js +1 -1
- package/es2021/plugins/color-picker/color-picker.css +1 -1
- package/es2021/plugins/color-picker/color-picker.js +1 -1
- package/es2021/plugins/color-picker/color-picker.min.js +1 -1
- package/es2021/plugins/emoji/emoji.css +1 -1
- package/es2021/plugins/emoji/emoji.js +1 -1
- package/es2021/plugins/emoji/emoji.min.js +1 -1
- package/es2021/plugins/export-docs/export-docs.js +1 -1
- package/es2021/plugins/export-docs/export-docs.min.js +1 -1
- package/es2021/plugins/finder/finder.css +1 -1
- package/es2021/plugins/finder/finder.js +1 -1
- package/es2021/plugins/finder/finder.min.js +1 -1
- package/es2021/plugins/google-maps/google-maps.css +1 -1
- package/es2021/plugins/google-maps/google-maps.js +1 -1
- package/es2021/plugins/google-maps/google-maps.min.js +1 -1
- package/es2021/plugins/google-search/google-search.js +1 -1
- package/es2021/plugins/google-search/google-search.min.js +1 -1
- package/es2021/plugins/highlight-signature/highlight-signature.js +1 -1
- package/es2021/plugins/highlight-signature/highlight-signature.min.js +1 -1
- package/es2021/plugins/iframe-editor/iframe-editor.css +1 -1
- package/es2021/plugins/iframe-editor/iframe-editor.js +1 -1
- package/es2021/plugins/iframe-editor/iframe-editor.min.js +1 -1
- package/es2021/plugins/keyboard/keyboard.css +1 -1
- package/es2021/plugins/keyboard/keyboard.js +1 -1
- package/es2021/plugins/keyboard/keyboard.min.js +1 -1
- package/es2021/plugins/mobile-view/mobile-view.js +1 -1
- package/es2021/plugins/mobile-view/mobile-view.min.js +1 -1
- package/es2021/plugins/page-break/page-break.js +1 -1
- package/es2021/plugins/page-break/page-break.min.js +1 -1
- package/es2021/plugins/paste-code/paste-code.css +1 -1
- package/es2021/plugins/paste-code/paste-code.js +1 -1
- package/es2021/plugins/paste-code/paste-code.min.js +1 -1
- package/es2021/plugins/paste-from-word/paste-from-word.js +1 -1
- package/es2021/plugins/paste-from-word/paste-from-word.min.js +1 -1
- package/es2021/plugins/show-blocks/show-blocks.js +1 -1
- package/es2021/plugins/show-blocks/show-blocks.min.js +1 -1
- package/es2021/plugins/style/style.css +79 -0
- package/es2021/plugins/style/style.js +395 -0
- package/es2021/plugins/style/style.min.css +1 -0
- package/es2021/plugins/style/style.min.js +8 -0
- package/es2021/plugins/todo-list/todo-list.css +1 -1
- package/es2021/plugins/todo-list/todo-list.js +1 -1
- package/es2021/plugins/todo-list/todo-list.min.js +1 -1
- package/es2021/plugins/translate/translate.css +1 -1
- package/es2021/plugins/translate/translate.js +1 -1
- package/es2021/plugins/translate/translate.min.js +1 -1
- package/es2021/plugins/tune-block/tune-block.css +1 -1
- package/es2021/plugins/tune-block/tune-block.js +1 -1
- package/es2021/plugins/tune-block/tune-block.min.js +1 -1
- package/es2021.en/jodit.css +1 -1
- package/es2021.en/jodit.fat.min.css +1 -1
- package/es2021.en/jodit.fat.min.js +14 -14
- package/es2021.en/jodit.js +5 -3
- package/es2021.en/jodit.min.js +2 -2
- package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
- package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.js +9 -4
- package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.min.js +7 -7
- package/es2021.en/plugins/autocomplete/autocomplete.js +1 -1
- package/es2021.en/plugins/autocomplete/autocomplete.min.js +1 -1
- package/es2021.en/plugins/backup/backup.css +1 -1
- package/es2021.en/plugins/backup/backup.js +1 -1
- package/es2021.en/plugins/backup/backup.min.js +1 -1
- package/es2021.en/plugins/button-generator/button-generator.css +1 -1
- package/es2021.en/plugins/button-generator/button-generator.js +1 -1
- package/es2021.en/plugins/button-generator/button-generator.min.js +1 -1
- package/es2021.en/plugins/change-case/change-case.js +1 -1
- package/es2021.en/plugins/change-case/change-case.min.js +1 -1
- package/es2021.en/plugins/color-picker/color-picker.css +1 -1
- package/es2021.en/plugins/color-picker/color-picker.js +1 -1
- package/es2021.en/plugins/color-picker/color-picker.min.js +1 -1
- package/es2021.en/plugins/emoji/emoji.css +1 -1
- package/es2021.en/plugins/emoji/emoji.js +1 -1
- package/es2021.en/plugins/emoji/emoji.min.js +1 -1
- package/es2021.en/plugins/export-docs/export-docs.js +1 -1
- package/es2021.en/plugins/export-docs/export-docs.min.js +1 -1
- package/es2021.en/plugins/finder/finder.css +1 -1
- package/es2021.en/plugins/finder/finder.js +1 -1
- package/es2021.en/plugins/finder/finder.min.js +1 -1
- package/es2021.en/plugins/google-maps/google-maps.css +1 -1
- package/es2021.en/plugins/google-maps/google-maps.js +1 -1
- package/es2021.en/plugins/google-maps/google-maps.min.js +1 -1
- package/es2021.en/plugins/google-search/google-search.js +1 -1
- package/es2021.en/plugins/google-search/google-search.min.js +1 -1
- package/es2021.en/plugins/highlight-signature/highlight-signature.js +1 -1
- package/es2021.en/plugins/highlight-signature/highlight-signature.min.js +1 -1
- package/es2021.en/plugins/iframe-editor/iframe-editor.css +1 -1
- package/es2021.en/plugins/iframe-editor/iframe-editor.js +1 -1
- package/es2021.en/plugins/iframe-editor/iframe-editor.min.js +1 -1
- package/es2021.en/plugins/keyboard/keyboard.css +1 -1
- package/es2021.en/plugins/keyboard/keyboard.js +1 -1
- package/es2021.en/plugins/keyboard/keyboard.min.js +1 -1
- package/es2021.en/plugins/mobile-view/mobile-view.js +1 -1
- package/es2021.en/plugins/mobile-view/mobile-view.min.js +1 -1
- package/es2021.en/plugins/page-break/page-break.js +1 -1
- package/es2021.en/plugins/page-break/page-break.min.js +1 -1
- package/es2021.en/plugins/paste-code/paste-code.css +1 -1
- package/es2021.en/plugins/paste-code/paste-code.js +1 -1
- package/es2021.en/plugins/paste-code/paste-code.min.js +1 -1
- package/es2021.en/plugins/paste-from-word/paste-from-word.js +1 -1
- package/es2021.en/plugins/paste-from-word/paste-from-word.min.js +1 -1
- package/es2021.en/plugins/show-blocks/show-blocks.js +1 -1
- package/es2021.en/plugins/show-blocks/show-blocks.min.js +1 -1
- package/es2021.en/plugins/style/style.css +79 -0
- package/es2021.en/plugins/style/style.js +395 -0
- package/es2021.en/plugins/style/style.min.css +1 -0
- package/es2021.en/plugins/style/style.min.js +8 -0
- package/es2021.en/plugins/todo-list/todo-list.css +1 -1
- package/es2021.en/plugins/todo-list/todo-list.js +1 -1
- package/es2021.en/plugins/todo-list/todo-list.min.js +1 -1
- package/es2021.en/plugins/translate/translate.css +1 -1
- package/es2021.en/plugins/translate/translate.js +1 -1
- package/es2021.en/plugins/translate/translate.min.js +1 -1
- package/es2021.en/plugins/tune-block/tune-block.css +1 -1
- package/es2021.en/plugins/tune-block/tune-block.js +1 -1
- package/es2021.en/plugins/tune-block/tune-block.min.js +1 -1
- package/es5/jodit.css +2 -2
- package/es5/jodit.fat.min.css +1 -1
- package/es5/jodit.fat.min.js +2 -2
- package/es5/jodit.js +5 -3
- package/es5/jodit.min.css +2 -2
- package/es5/jodit.min.js +2 -2
- package/es5/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
- package/es5/plugins/ai-assistant-pro/ai-assistant-pro.js +11 -5
- package/es5/plugins/ai-assistant-pro/ai-assistant-pro.min.js +2 -2
- package/es5/plugins/autocomplete/autocomplete.js +1 -1
- package/es5/plugins/autocomplete/autocomplete.min.js +1 -1
- package/es5/plugins/backup/backup.css +1 -1
- package/es5/plugins/backup/backup.js +1 -1
- package/es5/plugins/backup/backup.min.js +1 -1
- package/es5/plugins/button-generator/button-generator.css +1 -1
- package/es5/plugins/button-generator/button-generator.js +1 -1
- package/es5/plugins/button-generator/button-generator.min.js +1 -1
- package/es5/plugins/change-case/change-case.js +1 -1
- package/es5/plugins/change-case/change-case.min.js +1 -1
- package/es5/plugins/color-picker/color-picker.css +1 -1
- package/es5/plugins/color-picker/color-picker.js +1 -1
- package/es5/plugins/color-picker/color-picker.min.js +1 -1
- package/es5/plugins/emoji/emoji.css +1 -1
- package/es5/plugins/emoji/emoji.js +1 -1
- package/es5/plugins/emoji/emoji.min.js +1 -1
- package/es5/plugins/export-docs/export-docs.js +1 -1
- package/es5/plugins/export-docs/export-docs.min.js +1 -1
- package/es5/plugins/finder/finder.css +1 -1
- package/es5/plugins/finder/finder.js +1 -1
- package/es5/plugins/finder/finder.min.js +1 -1
- package/es5/plugins/google-maps/google-maps.css +1 -1
- package/es5/plugins/google-maps/google-maps.js +1 -1
- package/es5/plugins/google-maps/google-maps.min.js +1 -1
- package/es5/plugins/google-search/google-search.js +1 -1
- package/es5/plugins/google-search/google-search.min.js +1 -1
- package/es5/plugins/highlight-signature/highlight-signature.js +1 -1
- package/es5/plugins/highlight-signature/highlight-signature.min.js +1 -1
- package/es5/plugins/iframe-editor/iframe-editor.css +1 -1
- package/es5/plugins/iframe-editor/iframe-editor.js +1 -1
- package/es5/plugins/iframe-editor/iframe-editor.min.js +1 -1
- package/es5/plugins/keyboard/keyboard.css +1 -1
- package/es5/plugins/keyboard/keyboard.js +1 -1
- package/es5/plugins/keyboard/keyboard.min.js +1 -1
- package/es5/plugins/mobile-view/mobile-view.js +1 -1
- package/es5/plugins/mobile-view/mobile-view.min.js +1 -1
- package/es5/plugins/page-break/page-break.js +1 -1
- package/es5/plugins/page-break/page-break.min.js +1 -1
- package/es5/plugins/paste-code/paste-code.css +1 -1
- package/es5/plugins/paste-code/paste-code.js +1 -1
- package/es5/plugins/paste-code/paste-code.min.js +1 -1
- package/es5/plugins/paste-from-word/paste-from-word.js +1 -1
- package/es5/plugins/paste-from-word/paste-from-word.min.js +1 -1
- package/es5/plugins/show-blocks/show-blocks.js +1 -1
- package/es5/plugins/show-blocks/show-blocks.min.js +1 -1
- package/es5/plugins/style/style.css +79 -0
- package/es5/plugins/style/style.js +524 -0
- package/es5/plugins/style/style.min.css +1 -0
- package/es5/plugins/style/style.min.js +8 -0
- package/es5/plugins/todo-list/todo-list.css +1 -1
- package/es5/plugins/todo-list/todo-list.js +1 -1
- package/es5/plugins/todo-list/todo-list.min.js +1 -1
- package/es5/plugins/translate/translate.css +1 -1
- package/es5/plugins/translate/translate.js +1 -1
- package/es5/plugins/translate/translate.min.js +1 -1
- package/es5/plugins/tune-block/tune-block.css +1 -1
- package/es5/plugins/tune-block/tune-block.js +1 -1
- package/es5/plugins/tune-block/tune-block.min.js +1 -1
- package/es5/polyfills.fat.min.js +1 -1
- package/es5/polyfills.js +1 -1
- package/es5/polyfills.min.js +1 -1
- package/esm/config.d.ts +6 -0
- package/esm/plugins/ai-assistant-pro/ai-assistant-pro.js +2 -2
- package/esm/plugins/ai-assistant-pro/core/ai-response-handler.js +1 -1
- package/esm/plugins/ai-assistant-pro/core/panel-resize.js +1 -1
- package/esm/plugins/ai-assistant-pro/helpers/api-client.js +1 -1
- package/esm/plugins/all.js +1 -1
- package/esm/plugins/style/config.d.ts +13 -0
- package/esm/plugins/style/config.js +1 -0
- package/esm/plugins/style/helpers/apply-style.d.ts +8 -0
- package/esm/plugins/style/helpers/apply-style.js +1 -0
- package/esm/plugins/style/helpers/classify-definitions.d.ts +7 -0
- package/esm/plugins/style/helpers/classify-definitions.js +1 -0
- package/esm/plugins/style/helpers/detect-active-style.d.ts +8 -0
- package/esm/plugins/style/helpers/detect-active-style.js +1 -0
- package/esm/plugins/style/icon.svg.js +1 -0
- package/esm/plugins/style/interface.d.ts +15 -0
- package/esm/plugins/style/interface.js +0 -0
- package/esm/plugins/style/style.d.ts +18 -0
- package/esm/plugins/style/style.js +1 -0
- package/esm/plugins/style/ui/style-popup.d.ts +8 -0
- package/esm/plugins/style/ui/style-popup.js +1 -0
- package/examples/assets/app.js +2 -1
- package/examples/style-plugin.html +508 -0
- package/package.json +1 -1
- package/types/config.d.ts +6 -0
- package/types/plugins/style/config.d.ts +13 -0
- package/types/plugins/style/helpers/apply-style.d.ts +8 -0
- package/types/plugins/style/helpers/classify-definitions.d.ts +7 -0
- package/types/plugins/style/helpers/detect-active-style.d.ts +8 -0
- package/types/plugins/style/interface.d.ts +15 -0
- package/types/plugins/style/style.d.ts +18 -0
- package/types/plugins/style/ui/style-popup.d.ts +8 -0
|
@@ -0,0 +1,508 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<!--
|
|
3
|
+
* Jodit Editor PRO (https://xdsoft.net/jodit/)
|
|
4
|
+
* See LICENSE.md in the project root for license information.
|
|
5
|
+
* Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
|
|
6
|
+
-->
|
|
7
|
+
<html>
|
|
8
|
+
<head>
|
|
9
|
+
<meta charset="UTF-8" />
|
|
10
|
+
<meta
|
|
11
|
+
name="viewport"
|
|
12
|
+
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"
|
|
13
|
+
/>
|
|
14
|
+
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
|
|
15
|
+
<title>Jodit Pro — Style Plugin</title>
|
|
16
|
+
<link rel="icon" type="image/png" href="assets/icon.png" />
|
|
17
|
+
<style>
|
|
18
|
+
/* ===== Custom style definitions CSS ===== */
|
|
19
|
+
|
|
20
|
+
/* --- Block styles --- */
|
|
21
|
+
|
|
22
|
+
.document-title {
|
|
23
|
+
font-family: 'Oswald', 'Impact', Arial Narrow, sans-serif;
|
|
24
|
+
font-size: 2.8em;
|
|
25
|
+
font-weight: 700;
|
|
26
|
+
line-height: 1.1;
|
|
27
|
+
text-transform: uppercase;
|
|
28
|
+
color: #1a1a2e;
|
|
29
|
+
margin: 0 0 0.2em;
|
|
30
|
+
padding: 0;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.document-subtitle {
|
|
34
|
+
font-family: 'Source Sans Pro', 'Helvetica Neue', sans-serif;
|
|
35
|
+
font-size: 1.35em;
|
|
36
|
+
font-weight: 300;
|
|
37
|
+
line-height: 1.4;
|
|
38
|
+
color: #6c757d;
|
|
39
|
+
margin: 0 0 0.8em;
|
|
40
|
+
padding: 0;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.category-header {
|
|
44
|
+
font-family: 'Oswald', 'Impact', Arial Narrow, sans-serif;
|
|
45
|
+
font-size: 0.75em;
|
|
46
|
+
font-weight: 400;
|
|
47
|
+
letter-spacing: 0.3em;
|
|
48
|
+
text-transform: uppercase;
|
|
49
|
+
color: #999;
|
|
50
|
+
margin: 0 0 0.4em;
|
|
51
|
+
padding: 0;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.info-box {
|
|
55
|
+
position: relative;
|
|
56
|
+
padding: 1.2em 1.5em;
|
|
57
|
+
border-left: 5px solid #e8436a;
|
|
58
|
+
border-radius: 0 8px 8px 0;
|
|
59
|
+
background: linear-gradient(135deg, #fef8f9 0%, #fff5f7 100%);
|
|
60
|
+
margin: 1.5em 0;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
.info-box::before {
|
|
64
|
+
content: '';
|
|
65
|
+
position: absolute;
|
|
66
|
+
top: -6px;
|
|
67
|
+
right: -6px;
|
|
68
|
+
width: 0;
|
|
69
|
+
height: 0;
|
|
70
|
+
border-style: solid;
|
|
71
|
+
border-width: 0 24px 24px 0;
|
|
72
|
+
border-color: transparent #e8436a transparent transparent;
|
|
73
|
+
border-radius: 0 8px 0 0;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
.side-quote {
|
|
77
|
+
position: relative;
|
|
78
|
+
padding: 1.5em 2em;
|
|
79
|
+
border: none;
|
|
80
|
+
background: none;
|
|
81
|
+
margin: 1.5em 0;
|
|
82
|
+
font-style: normal;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
.side-quote::before {
|
|
86
|
+
content: '\201C';
|
|
87
|
+
position: absolute;
|
|
88
|
+
top: -0.2em;
|
|
89
|
+
left: 0;
|
|
90
|
+
font-family: Georgia, serif;
|
|
91
|
+
font-size: 5em;
|
|
92
|
+
font-weight: 700;
|
|
93
|
+
line-height: 1;
|
|
94
|
+
color: #e8436a;
|
|
95
|
+
opacity: 0.3;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
.side-quote p:first-child {
|
|
99
|
+
font-family: 'Oswald', 'Impact', Arial Narrow, sans-serif;
|
|
100
|
+
font-size: 1.4em;
|
|
101
|
+
font-weight: 700;
|
|
102
|
+
line-height: 1.3;
|
|
103
|
+
text-transform: uppercase;
|
|
104
|
+
color: #1a1a2e;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
.side-quote p:last-child {
|
|
108
|
+
font-family: 'Oswald', 'Impact', Arial Narrow, sans-serif;
|
|
109
|
+
font-size: 0.75em;
|
|
110
|
+
font-weight: 400;
|
|
111
|
+
letter-spacing: 0.2em;
|
|
112
|
+
text-align: right;
|
|
113
|
+
text-transform: uppercase;
|
|
114
|
+
color: #999;
|
|
115
|
+
margin-top: 0.5em;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
.fancy-code {
|
|
119
|
+
position: relative;
|
|
120
|
+
padding: 2em 1.5em 1.5em;
|
|
121
|
+
border-radius: 12px;
|
|
122
|
+
margin: 1.5em 0;
|
|
123
|
+
font-family: 'SF Mono', 'Fira Code', 'Fira Mono', Menlo, Consolas, monospace;
|
|
124
|
+
font-size: 0.9em;
|
|
125
|
+
line-height: 1.6;
|
|
126
|
+
overflow-x: auto;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
.fancy-code::before {
|
|
130
|
+
content: '';
|
|
131
|
+
position: absolute;
|
|
132
|
+
top: 12px;
|
|
133
|
+
left: 16px;
|
|
134
|
+
width: 12px;
|
|
135
|
+
height: 12px;
|
|
136
|
+
border-radius: 50%;
|
|
137
|
+
background: #ff5f57;
|
|
138
|
+
box-shadow:
|
|
139
|
+
20px 0 0 #ffbd2e,
|
|
140
|
+
40px 0 0 #28c840;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
.fancy-code-bright {
|
|
144
|
+
background: #f5f5f5;
|
|
145
|
+
border: 1px solid #e0e0e0;
|
|
146
|
+
color: #333;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
.fancy-code-bright::after {
|
|
150
|
+
content: 'JavaScript';
|
|
151
|
+
position: absolute;
|
|
152
|
+
top: 8px;
|
|
153
|
+
right: 16px;
|
|
154
|
+
font-family: 'Source Sans Pro', sans-serif;
|
|
155
|
+
font-size: 0.75em;
|
|
156
|
+
color: #999;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
.fancy-code-dark {
|
|
160
|
+
background: #1e1e2e;
|
|
161
|
+
color: #cdd6f4;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
.fancy-code-dark::after {
|
|
165
|
+
content: 'JavaScript';
|
|
166
|
+
position: absolute;
|
|
167
|
+
top: 8px;
|
|
168
|
+
right: 16px;
|
|
169
|
+
font-family: 'Source Sans Pro', sans-serif;
|
|
170
|
+
font-size: 0.75em;
|
|
171
|
+
color: #585b70;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
/* --- Text / Inline styles --- */
|
|
175
|
+
|
|
176
|
+
.marker {
|
|
177
|
+
background-color: #fdfd77;
|
|
178
|
+
padding: 0.05em 0.2em;
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
.marker-green {
|
|
182
|
+
background-color: #62f962;
|
|
183
|
+
padding: 0.05em 0.2em;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
.marker-pink {
|
|
187
|
+
background-color: #fc7999;
|
|
188
|
+
padding: 0.05em 0.2em;
|
|
189
|
+
color: #fff;
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
.pen-red {
|
|
193
|
+
color: #e8436a;
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
.pen-green {
|
|
197
|
+
color: #118c4f;
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
.spoiler {
|
|
201
|
+
background-color: #1a1a2e;
|
|
202
|
+
color: #1a1a2e;
|
|
203
|
+
padding: 0.05em 0.2em;
|
|
204
|
+
border-radius: 3px;
|
|
205
|
+
transition: color 0.3s;
|
|
206
|
+
cursor: pointer;
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
.spoiler:hover {
|
|
210
|
+
color: #fff;
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
.typewriter {
|
|
214
|
+
font-family: 'SF Mono', 'Fira Code', Menlo, Consolas, monospace;
|
|
215
|
+
font-size: 0.92em;
|
|
216
|
+
background: #f0f0f0;
|
|
217
|
+
padding: 0.1em 0.4em;
|
|
218
|
+
border-radius: 4px;
|
|
219
|
+
border: 1px solid #ddd;
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
.uppercase-badge {
|
|
223
|
+
font-family: 'Oswald', 'Impact', Arial Narrow, sans-serif;
|
|
224
|
+
font-size: 0.7em;
|
|
225
|
+
font-weight: 600;
|
|
226
|
+
letter-spacing: 0.15em;
|
|
227
|
+
text-transform: uppercase;
|
|
228
|
+
background: #1a1a2e;
|
|
229
|
+
color: #fff;
|
|
230
|
+
padding: 0.2em 0.6em;
|
|
231
|
+
border-radius: 3px;
|
|
232
|
+
vertical-align: middle;
|
|
233
|
+
}
|
|
234
|
+
</style>
|
|
235
|
+
</head>
|
|
236
|
+
<body>
|
|
237
|
+
<header>
|
|
238
|
+
<nav>
|
|
239
|
+
<ul class="container">
|
|
240
|
+
<li>
|
|
241
|
+
<a href="https://xdsoft.net/jodit/">Jodit homepage</a>
|
|
242
|
+
</li>
|
|
243
|
+
<li>
|
|
244
|
+
<a href="https://xdsoft.net/jodit/play.html">Playground</a>
|
|
245
|
+
</li>
|
|
246
|
+
<li>
|
|
247
|
+
<a href="https://xdsoft.net/jodit/docs/">Documentation</a>
|
|
248
|
+
</li>
|
|
249
|
+
<li><a href="https://github.com/xdan/jodit/">Github</a></li>
|
|
250
|
+
<li>
|
|
251
|
+
<a href="https://github.com/xdan/jodit/blob/main/CHANGELOG.md">Changelog</a>
|
|
252
|
+
</li>
|
|
253
|
+
<li>
|
|
254
|
+
<a href="#examples">Examples</a>
|
|
255
|
+
<ul id="examples">
|
|
256
|
+
<!-- see app.js-->
|
|
257
|
+
</ul>
|
|
258
|
+
</li>
|
|
259
|
+
<li style="float: right">
|
|
260
|
+
<a href="https://github.com/xdan/jodit/releases/latest">Download</a>
|
|
261
|
+
</li>
|
|
262
|
+
</ul>
|
|
263
|
+
</nav>
|
|
264
|
+
</header>
|
|
265
|
+
<div id="main_container" class="container">
|
|
266
|
+
<h1>Style Plugin Demo</h1>
|
|
267
|
+
<p>
|
|
268
|
+
The <strong>Style</strong> plugin lets you apply predefined CSS
|
|
269
|
+
classes to block and inline elements. Click the
|
|
270
|
+
<strong>Styles</strong> button in the toolbar to see all
|
|
271
|
+
available styles grouped by type.
|
|
272
|
+
</p>
|
|
273
|
+
<div id="introduction">
|
|
274
|
+
<h3>JavaScript</h3>
|
|
275
|
+
<pre><code class="language-javascript">
|
|
276
|
+
Jodit.make('#editor', {
|
|
277
|
+
customStyles: {
|
|
278
|
+
definitions: [
|
|
279
|
+
// Block styles
|
|
280
|
+
{ name: 'Document title', element: 'h2', classes: ['document-title'] },
|
|
281
|
+
{ name: 'Subtitle', element: 'h3', classes: ['document-subtitle'] },
|
|
282
|
+
{ name: 'Category header', element: 'p', classes: ['category-header'] },
|
|
283
|
+
{ name: 'Info box', element: 'p', classes: ['info-box'] },
|
|
284
|
+
{ name: 'Side quote', element: 'blockquote', classes: ['side-quote'] },
|
|
285
|
+
{ name: 'Code (bright)', element: 'pre', classes: ['fancy-code', 'fancy-code-bright'] },
|
|
286
|
+
{ name: 'Code (dark)', element: 'pre', classes: ['fancy-code', 'fancy-code-dark'] },
|
|
287
|
+
// Text styles
|
|
288
|
+
{ name: 'Marker', element: 'span', classes: ['marker'] },
|
|
289
|
+
{ name: 'Marker (green)', element: 'span', classes: ['marker-green'] },
|
|
290
|
+
{ name: 'Marker (pink)', element: 'span', classes: ['marker-pink'] },
|
|
291
|
+
{ name: 'Pen (red)', element: 'span', classes: ['pen-red'] },
|
|
292
|
+
{ name: 'Pen (green)', element: 'span', classes: ['pen-green'] },
|
|
293
|
+
{ name: 'Spoiler', element: 'span', classes: ['spoiler'] },
|
|
294
|
+
{ name: 'Typewriter', element: 'span', classes: ['typewriter'] },
|
|
295
|
+
{ name: 'Badge', element: 'span', classes: ['uppercase-badge'] },
|
|
296
|
+
]
|
|
297
|
+
}
|
|
298
|
+
});
|
|
299
|
+
</code></pre>
|
|
300
|
+
</div>
|
|
301
|
+
<div class="result">
|
|
302
|
+
<textarea id="area_editor"></textarea>
|
|
303
|
+
</div>
|
|
304
|
+
</div>
|
|
305
|
+
<footer>
|
|
306
|
+
<nav>
|
|
307
|
+
<ul class="container">
|
|
308
|
+
<li>
|
|
309
|
+
<a href="https://xdsoft.net/jodit/">Jodit homepage</a>
|
|
310
|
+
</li>
|
|
311
|
+
<li>
|
|
312
|
+
<a href="https://xdsoft.net/jodit/play.html">Playground</a>
|
|
313
|
+
</li>
|
|
314
|
+
<li>
|
|
315
|
+
<a href="https://xdsoft.net/jodit/docs/">Documentation</a>
|
|
316
|
+
</li>
|
|
317
|
+
<li><a href="https://github.com/xdan/jodit/">Github</a></li>
|
|
318
|
+
<li>
|
|
319
|
+
<a href="https://github.com/xdan/jodit/blob/main/CHANGELOG.md">Changelog</a>
|
|
320
|
+
</li>
|
|
321
|
+
<li style="float: right">
|
|
322
|
+
<a href="https://github.com/xdan/jodit/releases/latest">Download</a>
|
|
323
|
+
</li>
|
|
324
|
+
</ul>
|
|
325
|
+
</nav>
|
|
326
|
+
</footer>
|
|
327
|
+
</body>
|
|
328
|
+
<link rel="stylesheet" href="./es2021/jodit.fat.min.css" />
|
|
329
|
+
<link rel="stylesheet" href="assets/app.css" />
|
|
330
|
+
<link
|
|
331
|
+
href="https://fonts.googleapis.com/css2?family=Oswald:wght@400;700&family=Source+Sans+Pro:wght@300;400;700&display=swap"
|
|
332
|
+
rel="stylesheet"
|
|
333
|
+
/>
|
|
334
|
+
|
|
335
|
+
<script src="./es2021/jodit.fat.min.js"></script>
|
|
336
|
+
<script src="assets/prism.js"></script>
|
|
337
|
+
<script src="assets/app.js"></script>
|
|
338
|
+
<script>
|
|
339
|
+
const editor = Jodit.make('#area_editor', {
|
|
340
|
+
height: 600,
|
|
341
|
+
buttons: [
|
|
342
|
+
'source',
|
|
343
|
+
'|',
|
|
344
|
+
'bold',
|
|
345
|
+
'italic',
|
|
346
|
+
'underline',
|
|
347
|
+
'strikethrough',
|
|
348
|
+
'|',
|
|
349
|
+
'style',
|
|
350
|
+
'|',
|
|
351
|
+
'ul',
|
|
352
|
+
'ol',
|
|
353
|
+
'|',
|
|
354
|
+
'font',
|
|
355
|
+
'fontsize',
|
|
356
|
+
'brush',
|
|
357
|
+
'paragraph',
|
|
358
|
+
'|',
|
|
359
|
+
'image',
|
|
360
|
+
'table',
|
|
361
|
+
'link',
|
|
362
|
+
'|',
|
|
363
|
+
'align',
|
|
364
|
+
'|',
|
|
365
|
+
'undo',
|
|
366
|
+
'redo',
|
|
367
|
+
'|',
|
|
368
|
+
'hr',
|
|
369
|
+
'eraser',
|
|
370
|
+
'fullsize'
|
|
371
|
+
],
|
|
372
|
+
customStyles: {
|
|
373
|
+
definitions: [
|
|
374
|
+
// Block styles
|
|
375
|
+
{
|
|
376
|
+
name: 'Document title',
|
|
377
|
+
element: 'h2',
|
|
378
|
+
classes: ['document-title']
|
|
379
|
+
},
|
|
380
|
+
{
|
|
381
|
+
name: 'Subtitle',
|
|
382
|
+
element: 'h3',
|
|
383
|
+
classes: ['document-subtitle']
|
|
384
|
+
},
|
|
385
|
+
{
|
|
386
|
+
name: 'Category header',
|
|
387
|
+
element: 'p',
|
|
388
|
+
classes: ['category-header']
|
|
389
|
+
},
|
|
390
|
+
{
|
|
391
|
+
name: 'Info box',
|
|
392
|
+
element: 'p',
|
|
393
|
+
classes: ['info-box']
|
|
394
|
+
},
|
|
395
|
+
{
|
|
396
|
+
name: 'Side quote',
|
|
397
|
+
element: 'blockquote',
|
|
398
|
+
classes: ['side-quote']
|
|
399
|
+
},
|
|
400
|
+
{
|
|
401
|
+
name: 'Code (bright)',
|
|
402
|
+
element: 'pre',
|
|
403
|
+
classes: ['fancy-code', 'fancy-code-bright']
|
|
404
|
+
},
|
|
405
|
+
{
|
|
406
|
+
name: 'Code (dark)',
|
|
407
|
+
element: 'pre',
|
|
408
|
+
classes: ['fancy-code', 'fancy-code-dark']
|
|
409
|
+
},
|
|
410
|
+
// Text styles
|
|
411
|
+
{
|
|
412
|
+
name: 'Marker',
|
|
413
|
+
element: 'span',
|
|
414
|
+
classes: ['marker']
|
|
415
|
+
},
|
|
416
|
+
{
|
|
417
|
+
name: 'Marker (green)',
|
|
418
|
+
element: 'span',
|
|
419
|
+
classes: ['marker-green']
|
|
420
|
+
},
|
|
421
|
+
{
|
|
422
|
+
name: 'Marker (pink)',
|
|
423
|
+
element: 'span',
|
|
424
|
+
classes: ['marker-pink']
|
|
425
|
+
},
|
|
426
|
+
{
|
|
427
|
+
name: 'Pen (red)',
|
|
428
|
+
element: 'span',
|
|
429
|
+
classes: ['pen-red']
|
|
430
|
+
},
|
|
431
|
+
{
|
|
432
|
+
name: 'Pen (green)',
|
|
433
|
+
element: 'span',
|
|
434
|
+
classes: ['pen-green']
|
|
435
|
+
},
|
|
436
|
+
{
|
|
437
|
+
name: 'Spoiler',
|
|
438
|
+
element: 'span',
|
|
439
|
+
classes: ['spoiler']
|
|
440
|
+
},
|
|
441
|
+
{
|
|
442
|
+
name: 'Typewriter',
|
|
443
|
+
element: 'span',
|
|
444
|
+
classes: ['typewriter']
|
|
445
|
+
},
|
|
446
|
+
{
|
|
447
|
+
name: 'Badge',
|
|
448
|
+
element: 'span',
|
|
449
|
+
classes: ['uppercase-badge']
|
|
450
|
+
}
|
|
451
|
+
]
|
|
452
|
+
}
|
|
453
|
+
});
|
|
454
|
+
|
|
455
|
+
editor.value = `
|
|
456
|
+
<p class="category-header">Deep Dive</p>
|
|
457
|
+
<h2 class="document-title">The lost art of slow reading</h2>
|
|
458
|
+
<h3 class="document-subtitle">Why the way we consume text has fundamentally changed — and what we can do about it</h3>
|
|
459
|
+
<hr>
|
|
460
|
+
<blockquote class="side-quote">
|
|
461
|
+
<p>We are drowning in information but starving for knowledge.</p>
|
|
462
|
+
<p>Rutherford D. Rogers</p>
|
|
463
|
+
</blockquote>
|
|
464
|
+
<p>There was a time when reading a book meant <span class="marker">sitting with it for hours</span>, letting sentences settle into the mind like tea steeping in hot water. Today, most of us read the way we drive on a highway — scanning signs, changing lanes, barely noticing the scenery.</p>
|
|
465
|
+
<p>The average person now spends roughly <span class="pen-red">eight hours a day</span> looking at screens. That's more time than most of us sleep. And the vast majority of that time is spent skimming: headlines, notifications, feeds, threads. We scroll past ten thousand words before lunch and remember <span class="spoiler">almost none of them</span>.</p>
|
|
466
|
+
<p class="info-box">A 2023 study at the University of Valencia found that people who read long-form text on screens comprehend 29% less than those who read the same text on paper. The effect was strongest for <strong>informational</strong> texts and nearly disappeared for narrative fiction.</p>
|
|
467
|
+
<hr>
|
|
468
|
+
<h4>The F-shaped pattern</h4>
|
|
469
|
+
<p>Eye-tracking research by the Nielsen Norman Group revealed something called the <span class="typewriter">F-shaped reading pattern</span>. Users read the first few lines almost fully, then scan progressively less and less as they move down the page, creating a shape that looks like the letter F.</p>
|
|
470
|
+
<p>This isn't laziness — it's <span class="pen-green">adaptation</span>. When you encounter hundreds of articles per day, your brain develops shortcuts. The problem is that these shortcuts are <span class="marker-pink">terrible</span> for deep comprehension.</p>
|
|
471
|
+
<pre class="fancy-code fancy-code-bright"><code>// How your brain reads the web:
|
|
472
|
+
read(firstLine); // 100% attention
|
|
473
|
+
read(secondLine); // 80% attention
|
|
474
|
+
scan(thirdLine); // 40% attention
|
|
475
|
+
skip(everythingElse); // 5% attention
|
|
476
|
+
scrollToComments(); // 200% attention</code></pre>
|
|
477
|
+
<h4>Three techniques for deeper reading</h4>
|
|
478
|
+
<p><span class="uppercase-badge">First</span> Try the <strong>Pomodoro method</strong> for reading: 25 minutes of focused reading, then a 5-minute break. No phone, no tabs, no multitasking. Just you and the text.</p>
|
|
479
|
+
<p><span class="uppercase-badge">Second</span> Annotate as you go. <span class="marker-green">Highlighting passages</span> forces your brain to evaluate what's important, creating a secondary layer of engagement with the material.</p>
|
|
480
|
+
<p><span class="uppercase-badge">Third</span> After finishing a chapter or article, close your eyes and try to summarize what you just read in three sentences. If you can't, go back. This is called <span class="typewriter">retrieval practice</span> and it's one of the most effective learning strategies known to cognitive science.</p>
|
|
481
|
+
<pre class="fancy-code fancy-code-dark"><code>// A simple reading tracker
|
|
482
|
+
const session = {
|
|
483
|
+
started: new Date(),
|
|
484
|
+
pages: 0,
|
|
485
|
+
notes: [],
|
|
486
|
+
addNote(text) {
|
|
487
|
+
this.notes.push({
|
|
488
|
+
text,
|
|
489
|
+
time: new Date(),
|
|
490
|
+
page: this.pages
|
|
491
|
+
});
|
|
492
|
+
},
|
|
493
|
+
summary() {
|
|
494
|
+
const mins = (Date.now() - this.started) / 60000;
|
|
495
|
+
return \`Read \${this.pages} pages in \${mins.toFixed(0)} min\`;
|
|
496
|
+
}
|
|
497
|
+
};</code></pre>
|
|
498
|
+
<h4>The paradox of choice</h4>
|
|
499
|
+
<p>We have access to more written material than any generation in history. The Library of Alexandria held roughly <span class="pen-red">400,000 scrolls</span>. Today, the internet adds an estimated 2.5 million new blog posts <em>every single day</em>.</p>
|
|
500
|
+
<p>Yet for all this abundance, most people read <span class="marker">fewer books per year</span> than their grandparents did. The sheer volume of available content creates a kind of paralysis — there's always something <span class="spoiler">newer, shorter, more urgent</span> competing for attention.</p>
|
|
501
|
+
<blockquote class="side-quote">
|
|
502
|
+
<p>A reader lives a thousand lives before he dies. The man who never reads lives only one.</p>
|
|
503
|
+
<p>George R.R. Martin</p>
|
|
504
|
+
</blockquote>
|
|
505
|
+
<p>The solution isn't to read <em>more</em> — it's to read <span class="pen-green">better</span>. Choose fewer things, read them more carefully, and give yourself permission to <span class="marker-pink">sit with an idea</span> before rushing to the next one.</p>
|
|
506
|
+
`;
|
|
507
|
+
</script>
|
|
508
|
+
</html>
|
package/package.json
CHANGED
package/types/config.d.ts
CHANGED
|
@@ -19,6 +19,7 @@ import type { ButtonGroup } from "jodit/esm/types/index";
|
|
|
19
19
|
import type { ILayoutKeys } from "./plugins/keyboard/interface";
|
|
20
20
|
import type { CanPromise } from "jodit/esm/types/index";
|
|
21
21
|
import type { IUIOption } from "jodit/esm/types/index";
|
|
22
|
+
import type { IStyleDefinition } from "./plugins/style/interface";
|
|
22
23
|
import type { ITranslateProviderFactory } from "./plugins/translate/interface";
|
|
23
24
|
import type { IGoogleTranslateProviderOptions } from "./plugins/translate/interface";
|
|
24
25
|
import type { IControlType } from "jodit/esm/types/index";
|
|
@@ -192,6 +193,11 @@ interface Config {
|
|
|
192
193
|
tagList: string[];
|
|
193
194
|
};
|
|
194
195
|
}
|
|
196
|
+
interface Config {
|
|
197
|
+
customStyles: {
|
|
198
|
+
definitions: IStyleDefinition[];
|
|
199
|
+
};
|
|
200
|
+
}
|
|
195
201
|
interface Config {
|
|
196
202
|
todoList: {
|
|
197
203
|
className: string;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Jodit Editor PRO (https://xdsoft.net/jodit/)
|
|
3
|
+
* See LICENSE.md in the project root for license information.
|
|
4
|
+
* Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
|
|
5
|
+
*/
|
|
6
|
+
import type { IStyleDefinition } from "./interface";
|
|
7
|
+
declare module 'jodit/esm/config' {
|
|
8
|
+
interface Config {
|
|
9
|
+
customStyles: {
|
|
10
|
+
definitions: IStyleDefinition[];
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Jodit Editor PRO (https://xdsoft.net/jodit/)
|
|
3
|
+
* See LICENSE.md in the project root for license information.
|
|
4
|
+
* Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
|
|
5
|
+
*/
|
|
6
|
+
import type { IJodit } from "jodit/esm/types/index";
|
|
7
|
+
import type { IStyleDefinition } from "../interface";
|
|
8
|
+
export declare function applyStyle(editor: IJodit, def: IStyleDefinition, definitions: IStyleDefinition[]): void;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Jodit Editor PRO (https://xdsoft.net/jodit/)
|
|
3
|
+
* See LICENSE.md in the project root for license information.
|
|
4
|
+
* Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
|
|
5
|
+
*/
|
|
6
|
+
import type { IStyleDefinition, IStyleGroup } from "../interface";
|
|
7
|
+
export declare function classifyDefinitions(definitions: IStyleDefinition[]): IStyleGroup[];
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Jodit Editor PRO (https://xdsoft.net/jodit/)
|
|
3
|
+
* See LICENSE.md in the project root for license information.
|
|
4
|
+
* Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
|
|
5
|
+
*/
|
|
6
|
+
import type { IJodit } from "jodit/esm/types/index";
|
|
7
|
+
import type { IStyleDefinition } from "../interface";
|
|
8
|
+
export declare function detectActiveStyle(editor: IJodit, definitions: IStyleDefinition[]): IStyleDefinition | null;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Jodit Editor PRO (https://xdsoft.net/jodit/)
|
|
3
|
+
* See LICENSE.md in the project root for license information.
|
|
4
|
+
* Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
|
|
5
|
+
*/
|
|
6
|
+
import type { HTMLTagNames } from "jodit/esm/types/index";
|
|
7
|
+
export interface IStyleDefinition {
|
|
8
|
+
name: string;
|
|
9
|
+
element: HTMLTagNames;
|
|
10
|
+
classes: string[];
|
|
11
|
+
}
|
|
12
|
+
export interface IStyleGroup {
|
|
13
|
+
title: string;
|
|
14
|
+
definitions: IStyleDefinition[];
|
|
15
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Jodit Editor PRO (https://xdsoft.net/jodit/)
|
|
3
|
+
* See LICENSE.md in the project root for license information.
|
|
4
|
+
* Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
|
|
5
|
+
*/
|
|
6
|
+
import type { IJodit } from "jodit/esm/types/index";
|
|
7
|
+
import "./config";
|
|
8
|
+
import { Plugin } from "jodit/esm/core/plugin/index";
|
|
9
|
+
export declare class style extends Plugin {
|
|
10
|
+
/** @override */
|
|
11
|
+
static requires: string[];
|
|
12
|
+
/** @override */
|
|
13
|
+
buttons: Plugin['buttons'];
|
|
14
|
+
/** @override */
|
|
15
|
+
protected afterInit(_jodit: IJodit): void;
|
|
16
|
+
/** @override */
|
|
17
|
+
protected beforeDestruct(_jodit: IJodit): void;
|
|
18
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Jodit Editor PRO (https://xdsoft.net/jodit/)
|
|
3
|
+
* See LICENSE.md in the project root for license information.
|
|
4
|
+
* Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
|
|
5
|
+
*/
|
|
6
|
+
import type { IJodit } from "jodit/esm/types/index";
|
|
7
|
+
import type { IStyleDefinition } from "../interface";
|
|
8
|
+
export declare function buildStylePopup(editor: IJodit, definitions: IStyleDefinition[], close: () => void): HTMLElement;
|