mirror of
https://github.com/TriliumNext/Notes.git
synced 2025-07-27 18:12:29 +08:00
feat(ckeditor): add emoji functionality
This commit is contained in:
parent
1d577bffd3
commit
aabd3da8bf
7
apps/client/src/types-assets.d.ts
vendored
7
apps/client/src/types-assets.d.ts
vendored
@ -3,4 +3,9 @@ declare module "*.png" {
|
|||||||
export default path;
|
export default path;
|
||||||
}
|
}
|
||||||
|
|
||||||
declare module "script-loader!mark.js/dist/jquery.mark.min.js";
|
declare module "*.json?external" {
|
||||||
|
var path: string;
|
||||||
|
export default path;
|
||||||
|
}
|
||||||
|
|
||||||
|
declare module "script-loader!mark.js/dist/jquery.mark.min.js";
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
import { ALLOWED_PROTOCOLS } from "../../../services/link.js";
|
import { ALLOWED_PROTOCOLS } from "../../../services/link.js";
|
||||||
import options from "../../../services/options.js";
|
import options from "../../../services/options.js";
|
||||||
import utils from "../../../services/utils.js";
|
import utils from "../../../services/utils.js";
|
||||||
|
import emojiDefinitionsUrl from "@triliumnext/ckeditor5/emoji_definitions/en.json?external";
|
||||||
|
|
||||||
const TEXT_FORMATTING_GROUP = {
|
const TEXT_FORMATTING_GROUP = {
|
||||||
label: "Text formatting",
|
label: "Text formatting",
|
||||||
@ -96,6 +97,9 @@ export function buildConfig() {
|
|||||||
defaultProtocol: "https://",
|
defaultProtocol: "https://",
|
||||||
allowedProtocols: ALLOWED_PROTOCOLS
|
allowedProtocols: ALLOWED_PROTOCOLS
|
||||||
},
|
},
|
||||||
|
emoji: {
|
||||||
|
definitionsUrl: emojiDefinitionsUrl
|
||||||
|
},
|
||||||
// This value must be kept in sync with the language defined in webpack.config.js.
|
// This value must be kept in sync with the language defined in webpack.config.js.
|
||||||
language: "en"
|
language: "en"
|
||||||
};
|
};
|
||||||
@ -169,7 +173,7 @@ export function buildClassicToolbar(multilineToolbar: boolean) {
|
|||||||
{
|
{
|
||||||
label: "Insert",
|
label: "Insert",
|
||||||
icon: "plus",
|
icon: "plus",
|
||||||
items: ["imageUpload", "|", "link", "bookmark", "internallink", "includeNote", "|", "specialCharacters", "math", "mermaid", "horizontalLine", "pageBreak"]
|
items: ["imageUpload", "|", "link", "bookmark", "internallink", "includeNote", "|", "specialCharacters", "emoji", "math", "mermaid", "horizontalLine", "pageBreak"]
|
||||||
},
|
},
|
||||||
"|",
|
"|",
|
||||||
"outdent",
|
"outdent",
|
||||||
@ -233,6 +237,7 @@ export function buildFloatingToolbar() {
|
|||||||
"imageUpload",
|
"imageUpload",
|
||||||
"markdownImport",
|
"markdownImport",
|
||||||
"specialCharacters",
|
"specialCharacters",
|
||||||
|
"emoji",
|
||||||
"findAndReplace"
|
"findAndReplace"
|
||||||
]
|
]
|
||||||
};
|
};
|
||||||
|
@ -81,6 +81,7 @@ module.exports = composePlugins(
|
|||||||
}));
|
}));
|
||||||
|
|
||||||
inlineSvg(config);
|
inlineSvg(config);
|
||||||
|
externalJson(config);
|
||||||
|
|
||||||
return config;
|
return config;
|
||||||
}
|
}
|
||||||
@ -100,4 +101,16 @@ function inlineSvg(config) {
|
|||||||
resourceQuery: /raw/,
|
resourceQuery: /raw/,
|
||||||
type: 'asset/source',
|
type: 'asset/source',
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function externalJson(config) {
|
||||||
|
if (!config.module?.rules) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Add a rule for prepending ?external.
|
||||||
|
config.module.rules.push({
|
||||||
|
resourceQuery: /external/,
|
||||||
|
type: 'asset/resource',
|
||||||
|
});
|
||||||
}
|
}
|
@ -20,7 +20,9 @@
|
|||||||
|
|
||||||
* Improved the text editor style, to match the TriliumNext.
|
* Improved the text editor style, to match the TriliumNext.
|
||||||
* Footnotes work in image captions by @werererer
|
* Footnotes work in image captions by @werererer
|
||||||
* Text notes now have support for bookmarks, similar to HTML anchors (see the in-app help for more details).
|
* Improvements to text notes, thanks updates to the editor (see the in-app help for more details):
|
||||||
|
* Bookmarks, similar to HTML anchors.
|
||||||
|
* Emojis.
|
||||||
|
|
||||||
## 📖 Documentation
|
## 📖 Documentation
|
||||||
|
|
||||||
|
@ -9,6 +9,7 @@
|
|||||||
"types": "./dist/index.d.ts",
|
"types": "./dist/index.d.ts",
|
||||||
"exports": {
|
"exports": {
|
||||||
"./package.json": "./package.json",
|
"./package.json": "./package.json",
|
||||||
|
"./emoji_definitions/": "./src/emoji_definitions/",
|
||||||
".": {
|
".": {
|
||||||
"development": "./src/index.ts",
|
"development": "./src/index.ts",
|
||||||
"types": "./dist/index.d.ts",
|
"types": "./dist/index.d.ts",
|
||||||
|
1
packages/ckeditor5/src/emoji_definitions/en.json
Normal file
1
packages/ckeditor5/src/emoji_definitions/en.json
Normal file
File diff suppressed because one or more lines are too long
@ -1,4 +1,4 @@
|
|||||||
import { Autoformat, AutoLink, BlockQuote, BlockToolbar, Bold, CKFinderUploadAdapter, Clipboard, Code, CodeBlock, Enter, FindAndReplace, Font, FontBackgroundColor, FontColor, GeneralHtmlSupport, Heading, HeadingButtonsUI, HorizontalLine, Image, ImageCaption, ImageInline, ImageResize, ImageStyle, ImageToolbar, ImageUpload, Indent, IndentBlock, Italic, Link, List, ListProperties, Mention, PageBreak, Paragraph, ParagraphButtonUI, PasteFromOffice, PictureEditing, RemoveFormat, SelectAll, ShiftEnter, SpecialCharacters, SpecialCharactersEssentials, Strikethrough, Style, Subscript, Superscript, Table, TableCaption, TableCellProperties, TableColumnResize, TableProperties, TableSelection, TableToolbar, TextPartLanguage, TextTransformation, TodoList, Typing, Underline, Undo, Bookmark } from "ckeditor5";
|
import { Autoformat, AutoLink, BlockQuote, BlockToolbar, Bold, CKFinderUploadAdapter, Clipboard, Code, CodeBlock, Enter, FindAndReplace, Font, FontBackgroundColor, FontColor, GeneralHtmlSupport, Heading, HeadingButtonsUI, HorizontalLine, Image, ImageCaption, ImageInline, ImageResize, ImageStyle, ImageToolbar, ImageUpload, Indent, IndentBlock, Italic, Link, List, ListProperties, Mention, PageBreak, Paragraph, ParagraphButtonUI, PasteFromOffice, PictureEditing, RemoveFormat, SelectAll, ShiftEnter, SpecialCharacters, SpecialCharactersEssentials, Strikethrough, Style, Subscript, Superscript, Table, TableCaption, TableCellProperties, TableColumnResize, TableProperties, TableSelection, TableToolbar, TextPartLanguage, TextTransformation, TodoList, Typing, Underline, Undo, Bookmark, Emoji } from "ckeditor5";
|
||||||
import type { Plugin } from "ckeditor5";
|
import type { Plugin } from "ckeditor5";
|
||||||
import CutToNotePlugin from "./plugins/cuttonote.js";
|
import CutToNotePlugin from "./plugins/cuttonote.js";
|
||||||
import UploadimagePlugin from "./plugins/uploadimage.js";
|
import UploadimagePlugin from "./plugins/uploadimage.js";
|
||||||
@ -112,7 +112,8 @@ export const COMMON_PLUGINS: typeof Plugin[] = [
|
|||||||
GeneralHtmlSupport,
|
GeneralHtmlSupport,
|
||||||
TextPartLanguage,
|
TextPartLanguage,
|
||||||
Style,
|
Style,
|
||||||
Bookmark
|
Bookmark,
|
||||||
|
Emoji
|
||||||
];
|
];
|
||||||
|
|
||||||
export const POPUP_EDITOR_PLUGINS: typeof Plugin[] = [
|
export const POPUP_EDITOR_PLUGINS: typeof Plugin[] = [
|
||||||
|
Loading…
x
Reference in New Issue
Block a user