mirror of
https://github.com/zadam/trilium.git
synced 2025-11-01 10:55:55 +01:00
Compare commits
12 Commits
v0.41.2-be
...
v0.41.5
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a86177bb59 | ||
|
|
9f1b3cc892 | ||
|
|
8473f72ec8 | ||
|
|
666d202a3a | ||
|
|
988fae50cb | ||
|
|
98bbd17920 | ||
|
|
dadcc93ae3 | ||
|
|
48e19d0149 | ||
|
|
f97c9e3619 | ||
|
|
61167f6646 | ||
|
|
29cec8112e | ||
|
|
48aadc8309 |
2
.gitignore
vendored
2
.gitignore
vendored
@@ -1,7 +1,7 @@
|
|||||||
.DS_Store
|
.DS_Store
|
||||||
node_modules/
|
node_modules/
|
||||||
dist/
|
dist/
|
||||||
src/public/dist/
|
src/public/app-dist/
|
||||||
npm-debug.log
|
npm-debug.log
|
||||||
yarn-error.log
|
yarn-error.log
|
||||||
*.db
|
*.db
|
||||||
|
|||||||
2
.idea/dataSources.xml
generated
2
.idea/dataSources.xml
generated
@@ -5,7 +5,7 @@
|
|||||||
<driver-ref>sqlite.xerial</driver-ref>
|
<driver-ref>sqlite.xerial</driver-ref>
|
||||||
<synchronize>true</synchronize>
|
<synchronize>true</synchronize>
|
||||||
<jdbc-driver>org.sqlite.JDBC</jdbc-driver>
|
<jdbc-driver>org.sqlite.JDBC</jdbc-driver>
|
||||||
<jdbc-url>jdbc:sqlite:$PROJECT_DIR$/../trilium-data/document.db</jdbc-url>
|
<jdbc-url>jdbc:sqlite:$USER_HOME$/trilium-data/document.db</jdbc-url>
|
||||||
</data-source>
|
</data-source>
|
||||||
</component>
|
</component>
|
||||||
</project>
|
</project>
|
||||||
@@ -8,7 +8,7 @@ Trilium Notes is a hierarchical note taking application with focus on building l
|
|||||||
## Features
|
## Features
|
||||||
|
|
||||||
* Notes can be arranged into arbitrarily deep tree. Single note can be placed into multiple places in the tree (see [cloning](https://github.com/zadam/trilium/wiki/Cloning-notes))
|
* Notes can be arranged into arbitrarily deep tree. Single note can be placed into multiple places in the tree (see [cloning](https://github.com/zadam/trilium/wiki/Cloning-notes))
|
||||||
* Rich WYSIWYG note editing including e.g. tables and images with markdown [autoformat](https://github.com/zadam/trilium/wiki/Text-editor#autoformat)
|
* Rich WYSIWYG note editing including e.g. tables and images with markdown [autoformat](https://github.com/zadam/trilium/wiki/Text-notes#autoformat)
|
||||||
* Support for editing [notes with source code](https://github.com/zadam/trilium/wiki/Code-notes), including syntax highlighting
|
* Support for editing [notes with source code](https://github.com/zadam/trilium/wiki/Code-notes), including syntax highlighting
|
||||||
* Fast and easy [navigation between notes](https://github.com/zadam/trilium/wiki/Note-navigation), full text search and [note hoisting](https://github.com/zadam/trilium/wiki/Note-hoisting)
|
* Fast and easy [navigation between notes](https://github.com/zadam/trilium/wiki/Note-navigation), full text search and [note hoisting](https://github.com/zadam/trilium/wiki/Note-hoisting)
|
||||||
* Seamless [note versioning](https://github.com/zadam/trilium/wiki/Note-revisions)
|
* Seamless [note versioning](https://github.com/zadam/trilium/wiki/Note-revisions)
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ echo "Copying required linux-x64 binaries"
|
|||||||
rm -r $SRC_DIR/node_modules/sqlite3/lib/binding/*
|
rm -r $SRC_DIR/node_modules/sqlite3/lib/binding/*
|
||||||
rm -r $SRC_DIR/node_modules/pngquant-bin/vendor/*
|
rm -r $SRC_DIR/node_modules/pngquant-bin/vendor/*
|
||||||
|
|
||||||
rm -r $SRC_DIR/src/public/dist/*.mobile.*
|
rm -r $SRC_DIR/src/public/app-dist/*.mobile.*
|
||||||
|
|
||||||
cp -r bin/deps/linux-x64/sqlite/* $SRC_DIR/node_modules/sqlite3/lib/binding/
|
cp -r bin/deps/linux-x64/sqlite/* $SRC_DIR/node_modules/sqlite3/lib/binding/
|
||||||
cp bin/deps/linux-x64/image/pngquant $SRC_DIR/node_modules/pngquant-bin/vendor/
|
cp bin/deps/linux-x64/image/pngquant $SRC_DIR/node_modules/pngquant-bin/vendor/
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ cp bin/deps/mac-x64/image/cjpeg $SRC_DIR/node_modules/mozjpeg/vendor/
|
|||||||
cp bin/deps/mac-x64/image/pngquant $SRC_DIR/node_modules/pngquant-bin/vendor/
|
cp bin/deps/mac-x64/image/pngquant $SRC_DIR/node_modules/pngquant-bin/vendor/
|
||||||
cp bin/deps/mac-x64/image/gifsicle $SRC_DIR/node_modules/giflossy/vendor/
|
cp bin/deps/mac-x64/image/gifsicle $SRC_DIR/node_modules/giflossy/vendor/
|
||||||
|
|
||||||
rm -r $SRC_DIR/src/public/dist/*.mobile.*
|
rm -r $SRC_DIR/src/public/app-dist/*.mobile.*
|
||||||
|
|
||||||
./node_modules/.bin/electron-packager $SRC_DIR --asar --out=dist --executable-name=trilium --platform=darwin --arch=x64 --overwrite --icon=images/app-icons/mac/icon.icns
|
./node_modules/.bin/electron-packager $SRC_DIR --asar --out=dist --executable-name=trilium --platform=darwin --arch=x64 --overwrite --icon=images/app-icons/mac/icon.icns
|
||||||
|
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ cp bin/deps/win-x64/image/cjpeg.exe $SRC_DIR/node_modules/mozjpeg/vendor/
|
|||||||
cp bin/deps/win-x64/image/pngquant.exe $SRC_DIR/node_modules/pngquant-bin/vendor/
|
cp bin/deps/win-x64/image/pngquant.exe $SRC_DIR/node_modules/pngquant-bin/vendor/
|
||||||
cp bin/deps/win-x64/image/gifsicle.exe $SRC_DIR/node_modules/giflossy/vendor/
|
cp bin/deps/win-x64/image/gifsicle.exe $SRC_DIR/node_modules/giflossy/vendor/
|
||||||
|
|
||||||
rm -r $SRC_DIR/src/public/dist/*.mobile.*
|
rm -r $SRC_DIR/src/public/app-dist/*.mobile.*
|
||||||
|
|
||||||
./node_modules/.bin/electron-packager $SRC_DIR --asar --out=dist --executable-name=trilium --platform=win32 --arch=x64 --overwrite --icon=images/app-icons/win/icon.ico
|
./node_modules/.bin/electron-packager $SRC_DIR --asar --out=dist --executable-name=trilium --platform=win32 --arch=x64 --overwrite --icon=images/app-icons/win/icon.ico
|
||||||
|
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ cp webpack-* $DIR/
|
|||||||
|
|
||||||
find $DIR/libraries -name "*.map" -type f -delete
|
find $DIR/libraries -name "*.map" -type f -delete
|
||||||
|
|
||||||
rm -r $DIR/src/public/javascripts
|
rm -r $DIR/src/public/app
|
||||||
|
|
||||||
sed -i -e 's/javascripts\/desktop.js/dist\/desktop.js/g' $DIR/src/views/desktop.ejs
|
sed -i -e 's/app\/desktop.js/app-dist\/desktop.js/g' $DIR/src/views/desktop.ejs
|
||||||
sed -i -e 's/javascripts\/mobile.js/dist\/mobile.js/g' $DIR/src/views/mobile.ejs
|
sed -i -e 's/app\/mobile.js/app-dist\/mobile.js/g' $DIR/src/views/mobile.ejs
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
For bug reports, please mention **version of the application** and include **log files** from following location:
|
For bug reports, **PLEASE mention version of Trilium you're using** and also include **log files** from following location:
|
||||||
|
|
||||||
* `/home/[user]/.local/share/trilium-data/log` for Linux
|
* `/home/[user]/.local/share/trilium-data/log` for Linux
|
||||||
* `C:\Users\[user]\AppData\Roaming\trilium-data\log` for Windows Vista and up
|
* `C:\Users\[user]\AppData\Roaming\trilium-data\log` for Windows Vista and up
|
||||||
|
|||||||
667
package-lock.json
generated
667
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
20
package.json
20
package.json
@@ -2,7 +2,7 @@
|
|||||||
"name": "trilium",
|
"name": "trilium",
|
||||||
"productName": "Trilium Notes",
|
"productName": "Trilium Notes",
|
||||||
"description": "Trilium Notes",
|
"description": "Trilium Notes",
|
||||||
"version": "0.41.2-beta",
|
"version": "0.41.5",
|
||||||
"license": "AGPL-3.0-only",
|
"license": "AGPL-3.0-only",
|
||||||
"main": "electron.js",
|
"main": "electron.js",
|
||||||
"bin": {
|
"bin": {
|
||||||
@@ -16,12 +16,12 @@
|
|||||||
"start-server": "TRILIUM_ENV=dev node ./src/www",
|
"start-server": "TRILIUM_ENV=dev node ./src/www",
|
||||||
"start-electron": "TRILIUM_ENV=dev electron .",
|
"start-electron": "TRILIUM_ENV=dev electron .",
|
||||||
"build-backend-docs": "./node_modules/.bin/jsdoc -c jsdoc-conf.json -d ./docs/backend_api src/entities/*.js src/services/backend_script_api.js",
|
"build-backend-docs": "./node_modules/.bin/jsdoc -c jsdoc-conf.json -d ./docs/backend_api src/entities/*.js src/services/backend_script_api.js",
|
||||||
"build-frontend-docs": "./node_modules/.bin/jsdoc -c jsdoc-conf.json -d ./docs/frontend_api src/public/javascripts/entities/*.js src/public/javascripts/services/frontend_script_api.js",
|
"build-frontend-docs": "./node_modules/.bin/jsdoc -c jsdoc-conf.json -d ./docs/frontend_api src/public/app/entities/*.js src/public/app/services/frontend_script_api.js",
|
||||||
"build-docs": "npm run build-backend-docs && npm run build-frontend-docs",
|
"build-docs": "npm run build-backend-docs && npm run build-frontend-docs",
|
||||||
"webpack": "npx webpack -c webpack-desktop.config.js && npx webpack -c webpack-mobile.config.js"
|
"webpack": "npx webpack -c webpack-desktop.config.js && npx webpack -c webpack-mobile.config.js && npx webpack -c webpack-setup.config.js"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"async-mutex": "0.2.1",
|
"async-mutex": "0.2.2",
|
||||||
"axios": "0.19.2",
|
"axios": "0.19.2",
|
||||||
"body-parser": "1.19.0",
|
"body-parser": "1.19.0",
|
||||||
"cls-hooked": "4.2.2",
|
"cls-hooked": "4.2.2",
|
||||||
@@ -36,7 +36,7 @@
|
|||||||
"electron-find": "1.0.6",
|
"electron-find": "1.0.6",
|
||||||
"electron-window-state": "5.0.3",
|
"electron-window-state": "5.0.3",
|
||||||
"express": "4.17.1",
|
"express": "4.17.1",
|
||||||
"express-session": "1.17.0",
|
"express-session": "1.17.1",
|
||||||
"file-type": "14.1.4",
|
"file-type": "14.1.4",
|
||||||
"fs-extra": "9.0.0",
|
"fs-extra": "9.0.0",
|
||||||
"helmet": "3.22.0",
|
"helmet": "3.22.0",
|
||||||
@@ -51,7 +51,7 @@
|
|||||||
"imagemin-pngquant": "8.0.0",
|
"imagemin-pngquant": "8.0.0",
|
||||||
"ini": "1.3.5",
|
"ini": "1.3.5",
|
||||||
"is-svg": "4.2.1",
|
"is-svg": "4.2.1",
|
||||||
"jimp": "0.10.1",
|
"jimp": "0.10.2",
|
||||||
"mime-types": "2.1.26",
|
"mime-types": "2.1.26",
|
||||||
"multer": "1.4.2",
|
"multer": "1.4.2",
|
||||||
"node-abi": "2.15.0",
|
"node-abi": "2.15.0",
|
||||||
@@ -62,11 +62,11 @@
|
|||||||
"rimraf": "3.0.2",
|
"rimraf": "3.0.2",
|
||||||
"sanitize-filename": "1.6.3",
|
"sanitize-filename": "1.6.3",
|
||||||
"sax": "1.2.4",
|
"sax": "1.2.4",
|
||||||
"semver": "7.2.2",
|
"semver": "7.3.2",
|
||||||
"serve-favicon": "2.5.0",
|
"serve-favicon": "2.5.0",
|
||||||
"session-file-store": "1.4.0",
|
"session-file-store": "1.4.0",
|
||||||
"simple-node-logger": "18.12.24",
|
"simple-node-logger": "18.12.24",
|
||||||
"sqlite": "4.0.6",
|
"sqlite": "4.0.7",
|
||||||
"sqlite3": "4.1.1",
|
"sqlite3": "4.1.1",
|
||||||
"string-similarity": "4.0.1",
|
"string-similarity": "4.0.1",
|
||||||
"tar-stream": "2.1.2",
|
"tar-stream": "2.1.2",
|
||||||
@@ -78,8 +78,8 @@
|
|||||||
"yazl": "^2.5.1"
|
"yazl": "^2.5.1"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"electron": "9.0.0-beta.15",
|
"electron": "9.0.0-beta.18",
|
||||||
"electron-builder": "22.4.1",
|
"electron-builder": "22.5.1",
|
||||||
"electron-packager": "14.2.1",
|
"electron-packager": "14.2.1",
|
||||||
"electron-rebuild": "1.10.1",
|
"electron-rebuild": "1.10.1",
|
||||||
"jsdoc": "3.6.4",
|
"jsdoc": "3.6.4",
|
||||||
|
|||||||
@@ -45,7 +45,6 @@ app.use(cookieParser());
|
|||||||
app.use(express.static(path.join(__dirname, 'public')));
|
app.use(express.static(path.join(__dirname, 'public')));
|
||||||
app.use('/libraries', express.static(path.join(__dirname, '..', 'libraries')));
|
app.use('/libraries', express.static(path.join(__dirname, '..', 'libraries')));
|
||||||
app.use('/images', express.static(path.join(__dirname, '..', 'images')));
|
app.use('/images', express.static(path.join(__dirname, '..', 'images')));
|
||||||
app.use('/dist', express.static(path.join(__dirname, '..', 'dist')));
|
|
||||||
const sessionParser = session({
|
const sessionParser = session({
|
||||||
secret: sessionSecret,
|
secret: sessionSecret,
|
||||||
resave: false, // true forces the session to be saved back to the session store, even if the session was never modified during the request.
|
resave: false, // true forces the session to be saved back to the session store, even if the session was never modified during the request.
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import optionsService from "../../services/options.js";
|
import utils from "../../services/utils.js";
|
||||||
import server from "../../services/server.js";
|
import server from "../../services/server.js";
|
||||||
import toastService from "../../services/toast.js";
|
import toastService from "../../services/toast.js";
|
||||||
|
|
||||||
@@ -20,7 +20,9 @@ const TPL = `
|
|||||||
<input type="text" class="form-control" id="spell-check-language-code" placeholder="for example "en-US", "de-AT"">
|
<input type="text" class="form-control" id="spell-check-language-code" placeholder="for example "en-US", "de-AT"">
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<p>Multiple languages can be separated by comman. Changes to the spell check options will take effect after application restart.</p>
|
<p>Multiple languages can be separated by comma, e.g. <code>en-US, de-DE, cs</code>. Changes to the spell check options will take effect after application restart.</p>
|
||||||
|
|
||||||
|
<p><strong>Available language codes: </strong> <span id="available-language-codes"></span></p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
@@ -95,6 +97,14 @@ export default class ProtectedSessionOptions {
|
|||||||
return false;
|
return false;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
this.$availableLanguageCodes = $("#available-language-codes");
|
||||||
|
|
||||||
|
if (utils.isElectron()) {
|
||||||
|
const {webContents} = utils.dynamicRequire('electron').remote.getCurrentWindow();
|
||||||
|
|
||||||
|
this.$availableLanguageCodes.text(webContents.session.availableSpellCheckerLanguages.join(', '));
|
||||||
|
}
|
||||||
|
|
||||||
this.$eraseNotesAfterTimeInSeconds = $("#erase-notes-after-time-in-seconds");
|
this.$eraseNotesAfterTimeInSeconds = $("#erase-notes-after-time-in-seconds");
|
||||||
|
|
||||||
this.$eraseNotesAfterTimeInSeconds.on('change', () => {
|
this.$eraseNotesAfterTimeInSeconds.on('change', () => {
|
||||||
@@ -162,6 +162,7 @@ $(document).on('contextmenu', 'a.ck-link-actions__preview', newTabContextMenu);
|
|||||||
$(document).on('contextmenu', '.note-detail-text a', newTabContextMenu);
|
$(document).on('contextmenu', '.note-detail-text a', newTabContextMenu);
|
||||||
$(document).on('contextmenu', "a[data-action='note']", newTabContextMenu);
|
$(document).on('contextmenu', "a[data-action='note']", newTabContextMenu);
|
||||||
$(document).on('contextmenu', ".note-detail-render a", newTabContextMenu);
|
$(document).on('contextmenu', ".note-detail-render a", newTabContextMenu);
|
||||||
|
$(document).on('contextmenu', ".note-paths-widget a", newTabContextMenu);
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
getNotePathFromUrl,
|
getNotePathFromUrl,
|
||||||
@@ -42,6 +42,8 @@ export default class MainTreeExecutors extends Component {
|
|||||||
await ws.waitForMaxKnownSyncId();
|
await ws.waitForMaxKnownSyncId();
|
||||||
|
|
||||||
appContext.tabManager.getActiveTabContext().setNote(note.noteId);
|
appContext.tabManager.getActiveTabContext().setNote(note.noteId);
|
||||||
|
|
||||||
|
appContext.triggerCommand('focusAndSelectTitle');
|
||||||
}
|
}
|
||||||
|
|
||||||
async createNoteAfterCommand() {
|
async createNoteAfterCommand() {
|
||||||
@@ -63,5 +65,7 @@ export default class MainTreeExecutors extends Component {
|
|||||||
await ws.waitForMaxKnownSyncId();
|
await ws.waitForMaxKnownSyncId();
|
||||||
|
|
||||||
appContext.tabManager.getActiveTabContext().setNote(note.noteId);
|
appContext.tabManager.getActiveTabContext().setNote(note.noteId);
|
||||||
|
|
||||||
|
appContext.triggerCommand('focusAndSelectTitle');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -239,7 +239,7 @@ function focusSavedElement() {
|
|||||||
$lastFocusedElement = null;
|
$lastFocusedElement = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
function openDialog($dialog) {
|
async function openDialog($dialog) {
|
||||||
closeActiveDialog();
|
closeActiveDialog();
|
||||||
|
|
||||||
glob.activeDialog = $dialog;
|
glob.activeDialog = $dialog;
|
||||||
@@ -253,6 +253,9 @@ function openDialog($dialog) {
|
|||||||
focusSavedElement();
|
focusSavedElement();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const keyboardActionsService = (await import("./keyboard_actions.js")).default;
|
||||||
|
keyboardActionsService.updateDisplayedShortcuts($dialog);
|
||||||
}
|
}
|
||||||
|
|
||||||
function isHtmlEmpty(html) {
|
function isHtmlEmpty(html) {
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user