2017-10-15 11:31:44 +08:00
|
|
|
<!DOCTYPE html>
|
2018-06-09 11:18:53 +08:00
|
|
|
<html lang="en" class="theme-<%= theme %>">
|
2017-10-15 11:31:44 +08:00
|
|
|
<head>
|
2017-10-16 07:10:36 +08:00
|
|
|
<meta charset="utf-8">
|
2017-12-27 01:55:40 +08:00
|
|
|
<title>Trilium Notes</title>
|
2017-10-15 11:31:44 +08:00
|
|
|
</head>
|
|
|
|
<body>
|
2018-09-06 17:54:04 +08:00
|
|
|
<div id="container" style="display:none; grid-template-columns: minmax(<%= leftPaneMinWidth %>px, <%= leftPaneWidthPercent %>fr) <%= rightPaneWidthPercent %>fr">
|
2017-10-16 07:10:36 +08:00
|
|
|
<div id="header" class="hide-toggle">
|
2018-05-27 10:54:06 +08:00
|
|
|
<div id="history-navigation" style="display: none;">
|
2018-11-10 03:45:28 +08:00
|
|
|
<a id="history-back-button" title="Go to previous note." class="icon-action jam jam-arrow-square-left"></a>
|
2018-05-27 10:54:06 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
2018-11-10 03:45:28 +08:00
|
|
|
<a id="history-forward-button" title="Go to next note." class="icon-action jam jam-arrow-square-right"></a>
|
2018-05-27 10:54:06 +08:00
|
|
|
</div>
|
|
|
|
|
2018-06-01 08:00:39 +08:00
|
|
|
<div style="flex-grow: 100; display: flex;">
|
2018-11-25 21:05:54 +08:00
|
|
|
<button class="btn btn-sm" id="jump-to-note-dialog-button" title="CTRL+J">
|
|
|
|
<span class="jam jam-direction"></span>
|
|
|
|
Jump to note
|
|
|
|
</button>
|
|
|
|
|
|
|
|
<button class="btn btn-sm" id="recent-changes-button">
|
|
|
|
<span class="jam jam-history"></span>
|
|
|
|
|
|
|
|
Recent changes
|
|
|
|
</button>
|
|
|
|
|
2018-06-01 08:00:39 +08:00
|
|
|
<div>
|
|
|
|
<span style="font-size: smaller">Protected session:</span>
|
|
|
|
|
|
|
|
<div class="btn-group btn-group-xs">
|
|
|
|
<button type="button" class="btn" id="protected-session-on">On</button>
|
|
|
|
<button type="button" class="btn active" id="protected-session-off">Off</button>
|
|
|
|
</div>
|
|
|
|
</div>
|
2017-10-16 07:10:36 +08:00
|
|
|
</div>
|
|
|
|
|
2018-02-03 23:37:57 +08:00
|
|
|
<div id="plugin-buttons">
|
|
|
|
</div>
|
|
|
|
|
2017-10-16 07:10:36 +08:00
|
|
|
<div>
|
2018-11-25 21:05:54 +08:00
|
|
|
<button class="btn btn-sm" id="sync-now-button" title="Trigger sync">
|
2018-11-09 18:57:52 +08:00
|
|
|
<span class="jam jam-refresh"></span>
|
2018-11-25 21:05:54 +08:00
|
|
|
Sync (<span id="outstanding-syncs-count">0</span>)
|
2017-12-22 20:00:17 +08:00
|
|
|
</button>
|
2017-10-29 23:22:41 +08:00
|
|
|
|
2018-11-06 04:12:03 +08:00
|
|
|
<button class="btn btn-sm" id="options-button">
|
2018-11-09 18:57:52 +08:00
|
|
|
<span class="jam jam-settings-alt"></span> Options</button>
|
2017-10-16 07:10:36 +08:00
|
|
|
|
2017-12-27 11:19:42 +08:00
|
|
|
<form action="logout" id="logout-button" method="POST" style="display: inline;">
|
2018-11-25 21:05:54 +08:00
|
|
|
<button type="submit" class="btn btn-sm">
|
|
|
|
<span class="jam jam-log-out"></span>
|
|
|
|
Logout
|
|
|
|
</button>
|
2017-10-16 07:10:36 +08:00
|
|
|
</form>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
2018-09-06 15:33:38 +08:00
|
|
|
<div id="left-pane" class="hide-toggle">
|
|
|
|
<div id="global-buttons">
|
2018-11-09 18:57:52 +08:00
|
|
|
<a id="create-top-level-note-button" title="Create new top level note" class="icon-action jam jam-plus-circle"></a>
|
2017-10-16 07:10:36 +08:00
|
|
|
|
2018-11-09 18:57:52 +08:00
|
|
|
<a id="collapse-tree-button" title="Collapse note tree. Shortcut ALT+C" class="icon-action jam jam-align-justify"></a>
|
2017-10-16 07:10:36 +08:00
|
|
|
|
2018-11-25 17:26:45 +08:00
|
|
|
<a id="scroll-to-current-note-button" title="Scroll to current note. Shortcut CTRL+." class="icon-action jam jam-download"></a>
|
2017-10-16 07:10:36 +08:00
|
|
|
|
2018-11-09 18:57:52 +08:00
|
|
|
<a id="toggle-search-button" title="Search in notes. Shortcut CTRL+S" class="icon-action jam jam-search"></a>
|
2017-12-05 07:21:57 +08:00
|
|
|
</div>
|
2018-02-26 13:07:43 +08:00
|
|
|
|
|
|
|
<input type="file" id="import-upload" style="display: none" />
|
2017-10-16 07:10:36 +08:00
|
|
|
|
2018-09-06 15:33:38 +08:00
|
|
|
<div id="search-box">
|
2018-04-14 07:58:33 +08:00
|
|
|
<div style="display: flex; align-items: center;">
|
|
|
|
<input name="search-text" placeholder="Search text, labels" style="flex-grow: 100; margin-left: 5px; margin-right: 5px;" autocomplete="off">
|
2018-11-09 18:57:52 +08:00
|
|
|
<button id="do-search-button" class="btn btn-sm icon-button jam jam-search" title="Search (enter)"></button>
|
2018-06-05 11:21:45 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
2018-11-09 18:57:52 +08:00
|
|
|
<button id="save-search-button" class="btn btn-sm icon-button jam jam-save" title="Save search"></button>
|
2018-06-08 07:50:16 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
2018-11-09 18:57:52 +08:00
|
|
|
<button id="close-search-button" class="btn btn-sm icon-button jam jam-close" title="Close search"></button>
|
2018-04-14 07:58:33 +08:00
|
|
|
</div>
|
2018-06-04 08:42:25 +08:00
|
|
|
</div>
|
2018-03-14 08:02:00 +08:00
|
|
|
|
2018-06-05 08:22:41 +08:00
|
|
|
<div id="search-results">
|
2018-06-04 08:42:25 +08:00
|
|
|
<strong>Search results:</strong>
|
2018-03-14 08:02:00 +08:00
|
|
|
|
2018-11-09 06:59:25 +08:00
|
|
|
<ul id="search-results-inner"></ul>
|
2017-10-16 07:10:36 +08:00
|
|
|
</div>
|
|
|
|
|
2018-06-05 08:22:41 +08:00
|
|
|
<div id="tree"></div>
|
2018-11-08 17:11:00 +08:00
|
|
|
|
2018-11-10 00:11:45 +08:00
|
|
|
<div class="dropdown-menu dropdown-menu-sm" id="context-menu-container"></div>
|
2017-11-22 09:04:06 +08:00
|
|
|
</div>
|
|
|
|
|
2018-09-06 15:33:38 +08:00
|
|
|
<div id="title-container">
|
2018-06-10 22:53:39 +08:00
|
|
|
<div style="display: flex; align-items: center;">
|
|
|
|
<div class="dropdown hide-toggle">
|
2018-06-01 11:21:47 +08:00
|
|
|
<button id="note-path-list-button" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" class="btn btn-sm dropdown-toggle">
|
|
|
|
<span id="note-path-count">1 path</span>
|
|
|
|
|
|
|
|
<span class="caret"></span>
|
|
|
|
</button>
|
|
|
|
<ul id="note-path-list" class="dropdown-menu" aria-labelledby="note-path-list-button">
|
|
|
|
</ul>
|
|
|
|
</div>
|
|
|
|
|
2018-08-17 05:16:17 +08:00
|
|
|
<input autocomplete="off" value="" id="note-title" style="margin-left: 15px; font-size: x-large; border: 0; width: 5em; flex-grow: 100;" tabindex="1">
|
2018-06-01 11:21:47 +08:00
|
|
|
|
2018-06-10 22:53:39 +08:00
|
|
|
<div class="hide-toggle" style="display: flex; align-items: center;">
|
|
|
|
<span id="note-id-display" title="Note ID"></span>
|
|
|
|
|
2018-11-09 18:57:52 +08:00
|
|
|
<button class="btn btn-sm icon-button jam jam-play"
|
|
|
|
style="display: none; margin-right: 10px;"
|
2018-08-29 02:55:21 +08:00
|
|
|
title="Render"
|
2018-06-10 22:53:39 +08:00
|
|
|
id="render-button"></button>
|
|
|
|
|
2018-11-09 18:57:52 +08:00
|
|
|
<button class="btn btn-sm icon-button jam jam-play"
|
|
|
|
style="display: none; margin-right: 10px;"
|
2018-06-10 22:53:39 +08:00
|
|
|
title="Execute (Ctrl+Enter)"
|
|
|
|
id="execute-script-button"></button>
|
|
|
|
|
2018-11-09 18:57:52 +08:00
|
|
|
<div class="btn-group btn-group-xs">
|
2018-06-10 22:53:39 +08:00
|
|
|
<button type="button"
|
2018-11-09 18:57:52 +08:00
|
|
|
class="btn btn-sm icon-button jam jam-shield-check"
|
2018-06-10 22:53:39 +08:00
|
|
|
id="protect-button"
|
2018-11-09 18:57:52 +08:00
|
|
|
title="Protected note can be viewed and edited only after entering password">
|
|
|
|
</button>
|
|
|
|
|
|
|
|
<button type="button"
|
|
|
|
class="btn btn-sm icon-button jam jam-shield-close"
|
2018-06-10 22:53:39 +08:00
|
|
|
id="unprotect-button"
|
2018-11-09 18:57:52 +08:00
|
|
|
title="Not protected note can be viewed without entering password">
|
2018-06-10 22:53:39 +08:00
|
|
|
</button>
|
|
|
|
</div>
|
2017-12-25 22:46:11 +08:00
|
|
|
|
2018-06-10 22:53:39 +08:00
|
|
|
|
|
|
|
|
2018-11-09 06:59:25 +08:00
|
|
|
<div id="note-type-wrapper" style="display: flex;">
|
|
|
|
<div class="dropdown" id="note-type">
|
|
|
|
<button data-bind="disable: isDisabled()" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" class="btn btn-sm dropdown-toggle">
|
|
|
|
Type: <span data-bind="text: typeString()"></span>
|
|
|
|
<span class="caret"></span>
|
|
|
|
</button>
|
|
|
|
<div id="note-type-dropdown" class="dropdown-menu dropdown-menu-right">
|
|
|
|
<a class="dropdown-item" data-bind="click: selectText, css: { selected: type() == 'text' }"><span class="check">✓</span> <strong>Text</strong></a>
|
|
|
|
<div class="dropdown-divider"></div>
|
|
|
|
<a class="dropdown-item" data-bind="click: selectRelationMap, css: { selected: type() == 'relation-map' && mime() == '' }"><span class="check">✓</span> <strong>Relation Map</strong></a>
|
|
|
|
<div class="dropdown-divider"></div>
|
|
|
|
<a class="dropdown-item" data-bind="click: selectRender, css: { selected: type() == 'render' && mime() == '' }"><span class="check">✓</span> <strong>Render HTML note</strong></a>
|
|
|
|
<div class="dropdown-divider"></div>
|
|
|
|
<a class="dropdown-item" data-bind="click: selectCode, css: { selected: type() == 'code' && mime() == '' }"><span class="check">✓</span> <strong>Code</strong></a>
|
|
|
|
<!-- ko foreach: codeMimeTypes -->
|
|
|
|
<a class="dropdown-item" data-bind="click: $parent.selectCodeMime, css: { selected: $parent.type() == 'code' && $parent.mime() == mime }"><span class="check">✓</span> <span data-bind="text: title"></span></a>
|
|
|
|
<!-- /ko -->
|
|
|
|
</div>
|
2018-11-06 04:12:03 +08:00
|
|
|
</div>
|
2018-01-22 12:06:25 +08:00
|
|
|
|
2018-11-09 06:59:25 +08:00
|
|
|
<div class="dropdown" id="note-actions">
|
|
|
|
<button type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" class="btn btn-sm dropdown-toggle">
|
|
|
|
Note actions
|
|
|
|
<span class="caret"></span>
|
|
|
|
</button>
|
|
|
|
<div class="dropdown-menu dropdown-menu-right">
|
|
|
|
<a class="dropdown-item" id="show-note-revisions-button" data-bind="css: { disabled: type() == 'file' || type() == 'image' }">Revisions</a>
|
|
|
|
<a class="dropdown-item show-attributes-button"><kbd>Alt+A</kbd> Attributes</a>
|
2018-11-24 21:44:56 +08:00
|
|
|
<a class="dropdown-item" id="show-source-button" data-bind="css: { disabled: type() != 'text' && type() != 'code' && type() != 'relation-map' && type() != 'search' }">Note source</a>
|
2018-11-09 06:59:25 +08:00
|
|
|
<a class="dropdown-item" id="upload-file-button">Upload file</a>
|
2018-11-24 21:44:56 +08:00
|
|
|
<a class="dropdown-item" id="export-note-button" data-bind="css: { disabled: type() != 'text' }">Export note</a>
|
2018-11-09 06:59:25 +08:00
|
|
|
</div>
|
2018-11-06 04:12:03 +08:00
|
|
|
</div>
|
2018-06-10 22:53:39 +08:00
|
|
|
</div>
|
2018-01-20 08:36:41 +08:00
|
|
|
</div>
|
2017-10-16 07:10:36 +08:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
2018-11-08 17:11:00 +08:00
|
|
|
<% include details/detail.ejs %>
|
2018-11-06 19:46:29 +08:00
|
|
|
|
2018-11-06 21:16:38 +08:00
|
|
|
<% include dialogs/add_link.ejs %>
|
|
|
|
<% include dialogs/attributes.ejs %>
|
2018-11-07 00:47:40 +08:00
|
|
|
<% include dialogs/branch_prefix.ejs %>
|
2018-11-06 21:16:38 +08:00
|
|
|
<% include dialogs/event_log.ejs %>
|
2018-11-24 21:44:56 +08:00
|
|
|
<% include dialogs/export.ejs %>
|
2018-11-06 21:16:38 +08:00
|
|
|
<% include dialogs/jump_to_note.ejs %>
|
|
|
|
<% include dialogs/markdown_import.ejs %>
|
|
|
|
<% include dialogs/note_revisions.ejs %>
|
|
|
|
<% include dialogs/note_source.ejs %>
|
|
|
|
<% include dialogs/options.ejs %>
|
|
|
|
<% include dialogs/protected_session_password.ejs %>
|
|
|
|
<% include dialogs/recent_changes.ejs %>
|
|
|
|
<% include dialogs/sql_console.ejs %>
|
2018-11-13 03:17:48 +08:00
|
|
|
<% include dialogs/info.ejs %>
|
|
|
|
<% include dialogs/prompt.ejs %>
|
2018-11-15 02:03:55 +08:00
|
|
|
<% include dialogs/confirm.ejs %>
|
2018-09-06 15:33:38 +08:00
|
|
|
</div>
|
2017-10-16 07:10:36 +08:00
|
|
|
|
2018-11-22 06:39:19 +08:00
|
|
|
<webview class="electron-in-page-search-window" nodeintegration disablewebsecurity src="/libraries/electron-in-page-search/search-window.html"></webview>
|
|
|
|
|
2017-10-16 07:10:36 +08:00
|
|
|
<script type="text/javascript">
|
2018-03-26 08:18:08 +08:00
|
|
|
window.baseApiUrl = 'api/';
|
|
|
|
window.glob = {
|
2017-12-17 09:48:34 +08:00
|
|
|
activeDialog: null,
|
2017-12-20 12:22:21 +08:00
|
|
|
sourceId: '<%= sourceId %>',
|
2018-04-03 09:34:28 +08:00
|
|
|
maxSyncIdAtLoad: <%= maxSyncIdAtLoad %>,
|
|
|
|
instanceName: '<%= instanceName %>'
|
2017-12-17 09:48:34 +08:00
|
|
|
};
|
2017-10-16 07:10:36 +08:00
|
|
|
</script>
|
|
|
|
|
2017-10-21 11:43:20 +08:00
|
|
|
<!-- Required for correct loading of scripts in Electron -->
|
|
|
|
<script>if (typeof module === 'object') {window.module = module; module = undefined;}</script>
|
|
|
|
|
2018-03-25 00:52:58 +08:00
|
|
|
<script src="/libraries/jquery.min.js"></script>
|
2017-10-16 07:10:36 +08:00
|
|
|
|
2018-11-06 04:12:03 +08:00
|
|
|
<link href="/libraries/bootstrap/css/bootstrap.min.css" rel="stylesheet">
|
|
|
|
<script src="/libraries/bootstrap/js/bootstrap.bundle.min.js"></script>
|
2017-10-16 07:10:36 +08:00
|
|
|
|
2018-03-25 00:52:58 +08:00
|
|
|
<script src="/libraries/bootstrap-notify.min.js"></script>
|
2017-11-27 01:56:07 +08:00
|
|
|
|
2017-10-16 07:10:36 +08:00
|
|
|
<!-- Include Fancytree skin and library -->
|
2018-03-25 00:52:58 +08:00
|
|
|
<link href="/libraries/fancytree/skin-win8/ui.fancytree.css" rel="stylesheet">
|
2018-11-07 02:35:42 +08:00
|
|
|
<script src="/libraries/fancytree/jquery.fancytree-all-deps.min.js"></script>
|
2017-10-16 07:10:36 +08:00
|
|
|
|
2018-03-25 00:52:58 +08:00
|
|
|
<script src="/libraries/jquery.hotkeys.js"></script>
|
|
|
|
<script src="/libraries/jquery.fancytree.hotkeys.js"></script>
|
2017-10-16 07:10:36 +08:00
|
|
|
|
2018-03-25 00:52:58 +08:00
|
|
|
<script src="/libraries/knockout.min.js"></script>
|
2018-01-11 13:01:16 +08:00
|
|
|
|
2018-11-07 07:23:50 +08:00
|
|
|
<script src="/libraries/autocomplete.jquery.min.js"></script>
|
|
|
|
|
2018-03-25 00:52:58 +08:00
|
|
|
<link href="/stylesheets/style.css" rel="stylesheet">
|
2017-10-16 07:10:36 +08:00
|
|
|
|
2018-03-26 01:02:39 +08:00
|
|
|
<script src="/javascripts/services/bootstrap.js" type="module"></script>
|
2018-03-24 23:18:46 +08:00
|
|
|
|
2018-11-09 18:57:52 +08:00
|
|
|
<link rel="stylesheet" type="text/css" href="/libraries/jam/css/jam.min.css">
|
|
|
|
|
2018-01-03 11:01:38 +08:00
|
|
|
<script type="text/javascript">
|
|
|
|
// we hide container initally because otherwise it is rendered first without CSS and then flickers into
|
|
|
|
// final form which is pretty ugly.
|
|
|
|
$("#container").show();
|
|
|
|
</script>
|
2018-03-08 12:24:23 +08:00
|
|
|
|
|
|
|
<style type="text/css">
|
|
|
|
<%= appCss %>
|
|
|
|
</style>
|
2017-10-15 11:31:44 +08:00
|
|
|
</body>
|
2017-10-16 07:10:36 +08:00
|
|
|
</html>
|