To set up the repository:
git clone https://github.com/TriliumNext/trilium-ckeditor5.git
+cd trilium-ckeditor5.git
+yarn installTo trigger the build run:
yarn build
+ diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index bb84992f0..4ba5be90b 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -8,6 +8,7 @@ on: paths-ignore: - "docs/**" - "bin/**" + workflow_dispatch: concurrency: group: ${{ github.workflow }}-${{ github.ref }} diff --git a/.gitignore b/.gitignore index 526624336..c87703b2b 100644 --- a/.gitignore +++ b/.gitignore @@ -16,4 +16,10 @@ data-test/ tmp/ .eslintcache -out/ \ No newline at end of file +out/ + +images/app-icons/png/16x16.png +images/app-icons/png/32x32.png +images/app-icons/png/512x512.png +images/app-icons/png/1024x1024.png +images/app-icons/mac/*.png \ No newline at end of file diff --git a/README.md b/README.md index c3d80c4f9..75e8d0b93 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ See [screenshots](https://triliumnext.github.io/Docs/Wiki/screenshot-tour) for q [The original Trilium project is in maintenance mode](https://github.com/zadam/trilium/issues/4620) -## 🗭 Discuss with us +## 💬 Discuss with us Feel free to join our official discussions and community. We are focused on the development on Trilium, and would love to hear what features, suggestions, or issues you may have! diff --git a/bin/create-icons.sh b/bin/create-icons.sh new file mode 100755 index 000000000..90015d9d0 --- /dev/null +++ b/bin/create-icons.sh @@ -0,0 +1,45 @@ +#!/usr/bin/env bash + +if ! command -v magick &> /dev/null; then + echo "This tool requires ImageMagick to be installed in order to create the icons." + exit 1 +fi + +if ! command -v inkscape &> /dev/null; then + echo "This tool requires Inkscape to be render sharper SVGs than ImageMagick." + exit 1 +fi + +if ! command -v icnsutil &> /dev/null; then + echo "This tool requires icnsutil to be installed in order to generate macOS icons." + exit 1 +fi + +script_dir=$(realpath $(dirname $0)) +cd "${script_dir}/../images/app-icons" +inkscape -w 180 -h 180 "../icon-color.svg" -o "./ios/apple-touch-icon.png" + +# Build PNGs +inkscape -w 128 -h 128 "../icon-color.svg" -o "./png/128x128.png" +inkscape -w 256 -h 256 "../icon-color.svg" -o "./png/256x256.png" +inkscape -w 256 -h 256 "../icon-purple.svg" -o "./png/256x256-dev.png" + +# Build Mac .icns +declare -a sizes=("16" "32" "512" "1024") +for size in "${sizes[@]}"; do + inkscape -w $size -h $size "../icon-color.svg" -o "./png/${size}x${size}.png" +done + +mkdir -p fakeapp.app +npx iconsur set fakeapp.app -l -i "png/1024x1024.png" -o "mac/1024x1024.png" -s 0.8 +declare -a sizes=("16x16" "32x32" "128x128" "512x512") +for size in "${sizes[@]}"; do + magick "mac/1024x1024.png" -resize "${size}" "mac/${size}.png" +done +icnsutil compose -f "mac/icon.icns" ./mac/*.png + +# Build Windows icon +magick -background none "../icon-color.svg" -define icon:auto-resize=16,32,48,64,128,256 "./win/icon.ico" + +# Build Squirrel splash image +magick "./png/256x256.png" -background "#ffffff" -gravity center -extent 640x480 "./win/setup-banner.gif" \ No newline at end of file diff --git a/db/demo.zip b/db/demo.zip index 696ac619f..f3be60cef 100644 Binary files a/db/demo.zip and b/db/demo.zip differ diff --git a/docs/1l1f6WZbaBEZ.html b/docs/1l1f6WZbaBEZ.html index c4eff1b6b..d2e8c3924 100644 --- a/docs/1l1f6WZbaBEZ.html +++ b/docs/1l1f6WZbaBEZ.html @@ -277,6 +277,66 @@ + + +
+ + + + CKEditor + +
+ + ++ + + + Environment setup + +
+ + + ++ + + + Building & updating + +
+ + + ++ + + + Differences from upstream + +
+ + + +parentWidget() can
+
+
+
+ + + + CKEditor + +
+ + ++ + + + Environment setup + +
+ + + ++ + + + Building & updating + +
+ + + ++ + + + Differences from upstream + +
+ + + ++ + + + CKEditor + +
+ + ++ + + + Environment setup + +
+ + + ++ + + + Building & updating + +
+ + + ++ + + + Differences from upstream + +
+ + + ++ + + + CKEditor + +
+ + ++ + + + Environment setup + +
+ + + ++ + + + Building & updating + +
+ + + ++ + + + Differences from upstream + +
+ + + ++ + + + CKEditor + +
+ + ++ + + + Environment setup + +
+ + + ++ + + + Building & updating + +
+ + + ++ + + + Differences from upstream + +
+ + + ++ + + + CKEditor + +
+ + ++ + + + Environment setup + +
+ + + ++ + + + Building & updating + +
+ + + ++ + + + Differences from upstream + +
+ + + ++ + + + CKEditor + +
+ + ++ + + + Environment setup + +
+ + + ++ + + + Building & updating + +
+ + + ++ + + + Differences from upstream + +
+ + + +The implementation is in < + + +
+ + + + CKEditor + +
+ + ++ + + + Environment setup + +
+ + + ++ + + + Building & updating + +
+ + + ++ + + + Differences from upstream + +
+ + + ++ + + + CKEditor + +
+ + ++ + + + Environment setup + +
+ + + ++ + + + Building & updating + +
+ + + ++ + + + Differences from upstream + +
+ + + ++ + + + CKEditor + +
+ + ++ + + + Environment setup + +
+ + + ++ + + + Building & updating + +
+ + + ++ + + + Differences from upstream + +
+ + + ++ + + + CKEditor + +
+ + ++ + + + Environment setup + +
+ + + ++ + + + Building & updating + +
+ + + ++ + + + Differences from upstream + +
+ + + ++ + + + CKEditor + +
+ + ++ + + + Environment setup + +
+ + + ++ + + + Building & updating + +
+ + + ++ + + + Differences from upstream + +
+ + + ++ + + + CKEditor + +
+ + ++ + + + Environment setup + +
+ + + ++ + + + Building & updating + +
+ + + ++ + + + Differences from upstream + +
+ + + ++ + + + CKEditor + +
+ + ++ + + + Environment setup + +
+ + + ++ + + + Building & updating + +
+ + + ++ + + + Differences from upstream + +
+ + + ++ + + + CKEditor + +
+ + ++ + + + Environment setup + +
+ + + ++ + + + Building & updating + +
+ + + ++ + + + Differences from upstream + +
+ + + ++ + + + CKEditor + +
+ + ++ + + + Environment setup + +
+ + + ++ + + + Building & updating + +
+ + + ++ + + + Differences from upstream + +
+ + + ++ + + + CKEditor + +
+ + ++ + + + Environment setup + +
+ + + ++ + + + Building & updating + +
+ + + ++ + + + Differences from upstream + +
+ + + +To set up the repository:
git clone https://github.com/TriliumNext/trilium-ckeditor5.git
+cd trilium-ckeditor5.git
+yarn installTo trigger the build run:
yarn build
+ + + + + CKEditor + +
+ + ++ + + + Environment setup + +
+ + + ++ + + + Building & updating + +
+ + + ++ + + + Differences from upstream + +
+ + + ++ + + + CKEditor + +
+ + ++ + + + Environment setup + +
+ + + ++ + + + Building & updating + +
+ + + ++ + + + Differences from upstream + +
+ + + +Make + + +
+ + + + CKEditor + +
+ + ++ + + + Environment setup + +
+ + + ++ + + + Building & updating + +
+ + + ++ + + + Differences from upstream + +
+ + + ++ + + + CKEditor + +
+ + ++ + + + Environment setup + +
+ + + ++ + + + Building & updating + +
+ + + ++ + + + Differences from upstream + +
+ + + ++ + + + CKEditor + +
+ + ++ + + + Environment setup + +
+ + + ++ + + + Building & updating + +
+ + + ++ + + + Differences from upstream + +
+ + + ++ + + + CKEditor + +
+ + ++ + + + Environment setup + +
+ + + ++ + + + Building & updating + +
+ + + ++ + + + Differences from upstream + +
+ + + ++ + + + CKEditor + +
+ + ++ + + + Environment setup + +
+ + + ++ + + + Building & updating + +
+ + + ++ + + + Differences from upstream + +
+ + + ++ + + + CKEditor + +
+ + ++ + + + Environment setup + +
+ + + ++ + + + Building & updating + +
+ + + ++ + + + Differences from upstream + +
+ + + ++ + + + CKEditor + +
+ + ++ + + + Environment setup + +
+ + + ++ + + + Building & updating + +
+ + + ++ + + + Differences from upstream + +
+ + + ++ + + + CKEditor + +
+ + ++ + + + Environment setup + +
+ + + ++ + + + Building & updating + +
+ + + ++ + + + Differences from upstream + +
+ + + ++ + + + CKEditor + +
+ + ++ + + + Environment setup + +
+ + + ++ + + + Building & updating + +
+ + + ++ + + + Differences from upstream + +
+ + + ++ + + + CKEditor + +
+ + ++ + + + Environment setup + +
+ + + ++ + + + Building & updating + +
+ + + ++ + + + Differences from upstream + +
+ + + ++ + + + CKEditor + +
+ + ++ + + + Environment setup + +
+ + + ++ + + + Building & updating + +
+ + + ++ + + + Differences from upstream + +
+ + + ++ + + + CKEditor + +
+ + ++ + + + Environment setup + +
+ + + ++ + + + Building & updating + +
+ + + ++ + + + Differences from upstream + +
+ + + ++ + + + CKEditor + +
+ + ++ + + + Environment setup + +
+ + + ++ + + + Building & updating + +
+ + + ++ + + + Differences from upstream + +
+ + + ++ + + + CKEditor + +
+ + ++ + + + Environment setup + +
+ + + ++ + + + Building & updating + +
+ + + ++ + + + Differences from upstream + +
+ + + ++ + + + CKEditor + +
+ + ++ + + + Environment setup + +
+ + + ++ + + + Building & updating + +
+ + + ++ + + + Differences from upstream + +
+ + + ++ + + + CKEditor + +
+ + ++ + + + Environment setup + +
+ + + ++ + + + Building & updating + +
+ + + ++ + + + Differences from upstream + +
+ + + ++ + + + CKEditor + +
+ + ++ + + + Environment setup + +
+ + + ++ + + + Building & updating + +
+ + + ++ + + + Differences from upstream + +
+ + + ++ + + + CKEditor + +
+ + ++ + + + Environment setup + +
+ + + ++ + + + Building & updating + +
+ + + ++ + + + Differences from upstream + +
+ + + +cd packages/ckeditor5-build-balloon-block
+yarn buildThis will trigger a change in the build directory.
Then go to packages/ckeditor5-build-balloon-block/build and copy ckeditor.js and ckeditor.js.map to libraries/ckeditor in the Notes repository.
Commit the change on both sides.
Then run the server and check type CKEDITOR_VERSION in the browser/Electron console to ensure that the correct version is used. Do a basic sanity check as well.
+ + + + CKEditor + +
+ + ++ + + + Environment setup + +
+ + + ++ + + + Building & updating + +
+ + + ++ + + + Differences from upstream + +
+ + + ++ + + + CKEditor + +
+ + ++ + + + Environment setup + +
+ + + ++ + + + Building & updating + +
+ + + ++ + + + Differences from upstream + +
+ + + +| Column Name | Data Type | Nullity | Default value | Description |
|---|---|---|---|---|
noteId | Text | Non-null | The unique ID of the note (e.g. 2LJrKqIhr0Pe). | |
title | Text | Non-null | "note" | The title of the note, as defined by the user. |
isProtected | Integer | Non-null | 0 | 1 if the entity is protected, 0 otherwise. |
type | Text | Non-null | "text" | The type of note (i.e. text, file, code, relationMap, mermaid, canvas). |
mime | Text | Non-null | "text/html" | The MIME type of the note (e.g. text/html). |
isDeleted | Integer | Nullable | 0 | 1 if the entity is deleted, 0 otherwise. |
deleteId | Text | Non-null | null | |
dateCreated | Text | Non-null | Localized creation date (e.g. 2023-11-08 18:43:44.204+0200) | |
dateModified | Text | Non-null | Localized modification date (e.g. 2023-11-08 18:43:44.204+0200) | |
utcDateCreated | Text | Non-null | Creation date in UTC format (e.g. 2023-11-08 16:43:44.204Z) | |
utcDateModified | Text | Non-null | Modification date in UTC format (e.g. 2023-11-08 16:43:44.204Z) | |
blobId | Text | Nullable | null | The corresponding ID from blobs. Although it can theoretically be NULL, haven't found any such note yet. |
| Column Name | Data Type | Nullity | Default value | Description |
|---|---|---|---|---|
noteId | Text | Non-null | The unique ID of the note (e.g. 2LJrKqIhr0Pe). | |
title | Text | Non-null | "note" | The title of the note, as defined by the user. |
isProtected | Integer | Non-null | 0 | 1 if the entity is protected, 0 otherwise. |
type | Text | Non-null | "text" | The type of note (i.e. text, file, code, relationMap, mermaid, canvas). |
mime | Text | Non-null | "text/html" | The MIME type of the note (e.g. text/html).. Note that it can be an empty string in some circumstances, but not null. |
isDeleted | Integer | Nullable | 0 | 1 if the entity is deleted, 0 otherwise. |
deleteId | Text | Non-null | null | |
dateCreated | Text | Non-null | Localized creation date (e.g. 2023-11-08 18:43:44.204+0200) | |
dateModified | Text | Non-null | Localized modification date (e.g. 2023-11-08 18:43:44.204+0200) | |
utcDateCreated | Text | Non-null | Creation date in UTC format (e.g. 2023-11-08 16:43:44.204Z) | |
utcDateModified | Text | Non-null | Modification date in UTC format (e.g. 2023-11-08 16:43:44.204Z) | |
blobId | Text | Nullable | null | The corresponding ID from blobs. Although it can theoretically be NULL, haven't found any such note yet. |
+ + + + CKEditor + +
+ + ++ + + + Environment setup + +
+ + + ++ + + + Building & updating + +
+ + + ++ + + + Differences from upstream + +
+ + + ++ + + + CKEditor + +
+ + ++ + + + Environment setup + +
+ + + ++ + + + Building & updating + +
+ + + ++ + + + Differences from upstream + +
+ + + ++ + + + CKEditor + +
+ + ++ + + + Environment setup + +
+ + + ++ + + + Building & updating + +
+ + + ++ + + + Differences from upstream + +
+ + + ++ + + + CKEditor + +
+ + ++ + + + Environment setup + +
+ + + ++ + + + Building & updating + +
+ + + ++ + + + Differences from upstream + +
+ + + ++ + + + CKEditor + +
+ + ++ + + + Environment setup + +
+ + + ++ + + + Building & updating + +
+ + + ++ + + + Differences from upstream + +
+ + + ++ + + + CKEditor + +
+ + ++ + + + Environment setup + +
+ + + ++ + + + Building & updating + +
+ + + ++ + + + Differences from upstream + +
+ + + ++ + + + CKEditor + +
+ + ++ + + + Environment setup + +
+ + + ++ + + + Building & updating + +
+ + + ++ + + + Differences from upstream + +
+ + + ++ + + + CKEditor + +
+ + ++ + + + Environment setup + +
+ + + ++ + + + Building & updating + +
+ + + ++ + + + Differences from upstream + +
+ + + ++ + + + CKEditor + +
+ + ++ + + + Environment setup + +
+ + + ++ + + + Building & updating + +
+ + + ++ + + + Differences from upstream + +
+ + + +isaul32/ckeditor5-math, which is a third-party plugin for adding math support. CKEditor itself also has a math plugin with MathType and ChemType but it's premium-only.findandreplaceUI: // FIXME: keyboard shortcut doesn't work: https://github.com/ckeditor/ckeditor5/issues/10645