- Source:
 
Members
$container
Properties:
| Name | Type | Description | 
|---|---|---|
container | 
            
            jQuery | of all the rendered script content | 
- Source:
 
BasicWidget
Properties:
| Type | Description | 
|---|---|
| BasicWidget | 
- Source:
 
CollapsibleWidget
Properties:
| Type | Description | 
|---|---|
| CollapsibleWidget | 
- Source:
 
NoteContextAwareWidget
Properties:
| Type | Description | 
|---|---|
| NoteContextAwareWidget | 
- Source:
 
currentNote
Properties:
| Name | Type | Description | 
|---|---|---|
note | 
            
            object | where script is currently executing | 
- Source:
 
originEntity
Properties:
| Name | Type | Description | 
|---|---|---|
entity | 
            
            object | null | whose event triggered this execution | 
- Source:
 
startNote
Properties:
| Name | Type | Description | 
|---|---|---|
note | 
            
            object | where script started executing | 
- Source:
 
Methods
activateNewNote(notePath) → {Promise.<void>}
    Activates newly created note. Compared to this.activateNote() also makes sure that frontend has been fully synced.
    Parameters:
| Name | Type | Description | 
|---|---|---|
notePath | 
            
            string | (or noteId) | 
- Source:
 
Returns:
- Type
 - Promise.<void>
 
activateNote(notePath) → {Promise.<void>}
    Activates note in the tree and in the note detail.
    Parameters:
| Name | Type | Description | 
|---|---|---|
notePath | 
            
            string | (or noteId) | 
- Source:
 
Returns:
- Type
 - Promise.<void>
 
addButtonToToolbar()
- Deprecated:
 - this API has no effect anymore. Use bookmarks or launchpad shortcuts instead.
 
- Source:
 
addTextToActiveContextEditor(text)
    Adds given text to the editor cursor
    Parameters:
| Name | Type | Description | 
|---|---|---|
text | 
            
            string | this must be clear text, HTML is not supported. | 
- Source:
 
addTextToActiveTabEditor(text)
    Adds given text to the editor cursor
    Parameters:
| Name | Type | Description | 
|---|---|---|
text | 
            
            string | this must be clear text, HTML is not supported. | 
- Deprecated:
 - use addTextToActiveContextEditor() instead
 
- Source:
 
bindGlobalShortcut(keyboardShortcut, handler)
Parameters:
| Name | Type | Description | 
|---|---|---|
keyboardShortcut | 
            
            string | e.g. "ctrl+shift+a" | 
handler | 
            
            function | 
- Source:
 
createNoteLink(notePath, paramsopt)
    Create note link (jQuery object) for given note.
    Parameters:
| Name | Type | Attributes | Description | |||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
notePath | 
            
            string | (or noteId) | ||||||||||||||||||||||||||
params | 
            
            object | 
                
                    <optional> | 
            
            
            
                Properties
  | 
        
- Source:
 
formatDateISO(date) → {string}
Parameters:
| Name | Type | Description | 
|---|---|---|
date | 
            
            Date | 
- Source:
 
Returns:
    date in YYYY-MM-DD format
- Type
 - string
 
getActiveContextCodeEditor() → {Promise.<CodeMirror>}
    See https://codemirror.net/doc/manual.html#api
- Source:
 
Returns:
    instance of CodeMirror
- Type
 - Promise.<CodeMirror>
 
getActiveContextNote() → {NoteShort}
- Source:
 
Returns:
    active note (loaded into right pane)
- Type
 - NoteShort
 
getActiveContextNotePath() → {Promise.<(string|null)>}
- Source:
 
Returns:
    returns note path of active note or null if there isn't active note
- Type
 - Promise.<(string|null)>
 
getActiveContextTextEditor() → {Promise.<CKEditor>}
    See https://ckeditor.com/docs/ckeditor5/latest/api/module_core_editor_editor-Editor.html for a documentation on the returned instance.
- Source:
 
Returns:
    instance of CKEditor
- Type
 - Promise.<CKEditor>
 
getActiveNoteDetailWidget() → {Promise.<NoteDetailWidget>}
    Get access to the widget handling note detail. Methods like `getWidgetType()` and `getTypeWidget()` to get to the
implementation of actual widget type.
- Source:
 
Returns:
- Type
 - Promise.<NoteDetailWidget>
 
getActiveTabNote() → {NoteShort}
- Deprecated:
 - use getActiveContextNote() instead
 
- Source:
 
Returns:
    active note (loaded into right pane)
- Type
 - NoteShort
 
getActiveTabNotePath() → {Promise.<(string|null)>}
- Deprecated:
 - use getActiveContextNotePath() instead
 
- Source:
 
Returns:
    returns note path of active note or null if there isn't active note
- Type
 - Promise.<(string|null)>
 
getActiveTabTextEditor(callbackopt)
    See https://ckeditor.com/docs/ckeditor5/latest/api/module_core_editor_editor-Editor.html for a documentation on the returned instance.
    Parameters:
| Name | Type | Attributes | Description | 
|---|---|---|---|
callback | 
            
            
                
                    <optional> | 
            
            
            callback receiving "textEditor" instance | 
- Deprecated:
 - use getActiveContextTextEditor()
 
- Source:
 
getComponentByEl(el) → {Component}
    Returns component which owns given DOM element (the nearest parent component in DOM tree)
    Parameters:
| Name | Type | Description | 
|---|---|---|
el | 
            
            Element | DOM element | 
- Source:
 
Returns:
- Type
 - Component
 
getDateNote(date) → {Promise.<NoteShort>}
    Returns day note for a given date. If it doesn't exist, it is automatically created.
    Parameters:
| Name | Type | Description | 
|---|---|---|
date | 
            
            string | e.g. "2019-04-29" | 
- Deprecated:
 - use getDayNote instead
 
- Source:
 
Returns:
- Type
 - Promise.<NoteShort>
 
getDayNote(date) → {Promise.<NoteShort>}
    Returns day note for a given date. If it doesn't exist, it is automatically created.
    Parameters:
| Name | Type | Description | 
|---|---|---|
date | 
            
            string | e.g. "2019-04-29" | 
- Source:
 
Returns:
- Type
 - Promise.<NoteShort>
 
getInstanceName() → {string}
    Instance name identifies particular Trilium instance. It can be useful for scripts
if some action needs to happen on only one specific instance.
- Source:
 
Returns:
- Type
 - string
 
getMonthNote(month) → {Promise.<NoteShort>}
    Returns month-note. If it doesn't exist, it is automatically created.
    Parameters:
| Name | Type | Description | 
|---|---|---|
month | 
            
            string | e.g. "2019-04" | 
- Source:
 
Returns:
- Type
 - Promise.<NoteShort>
 
getNote(noteId) → {Promise.<NoteShort>}
    Returns note by given noteId. If note is missing from cache, it's loaded.
*
    Parameters:
| Name | Type | Description | 
|---|---|---|
noteId | 
            
            string | 
- Source:
 
Returns:
- Type
 - Promise.<NoteShort>
 
getNotes(noteIds, silentNotFoundErroropt) → {Promise.<Array.<NoteShort>>}
    Returns list of notes. If note is missing from cache, it's loaded.
This is often used to bulk-fill the cache with notes which would have to be picked one by one
otherwise (by e.g. createNoteLink())
    Parameters:
| Name | Type | Attributes | Description | 
|---|---|---|---|
noteIds | 
            
            Array.<string> | ||
silentNotFoundError | 
            
            boolean | 
                
                    <optional> | 
            
            
            don't report error if the note is not found | 
- Source:
 
Returns:
- Type
 - Promise.<Array.<NoteShort>>
 
getTodayNote() → {Promise.<NoteShort>}
    Returns date-note for today. If it doesn't exist, it is automatically created.
- Source:
 
Returns:
- Type
 - Promise.<NoteShort>
 
getWeekNote(date) → {Promise.<NoteShort>}
    Returns day note for the first date of the week of the given date. If it doesn't exist, it is automatically created.
    Parameters:
| Name | Type | Description | 
|---|---|---|
date | 
            
            string | e.g. "2019-04-29" | 
- Source:
 
Returns:
- Type
 - Promise.<NoteShort>
 
getYearNote(year) → {Promise.<NoteShort>}
    Returns year-note. If it doesn't exist, it is automatically created.
    Parameters:
| Name | Type | Description | 
|---|---|---|
year | 
            
            string | e.g. "2019" | 
- Source:
 
Returns:
- Type
 - Promise.<NoteShort>
 
log(message)
    Log given message to the log pane in UI
    Parameters:
| Name | Type | Description | 
|---|---|---|
message | 
            
            
- Source:
 
openSplitWithNote(notePath, activate) → {Promise.<void>}
    Open a note in a new split.
    Parameters:
| Name | Type | Description | 
|---|---|---|
notePath | 
            
            string | (or noteId) | 
activate | 
            
            boolean | set to true to activate the new split, false to stay on the current split | 
- Source:
 
Returns:
- Type
 - Promise.<void>
 
openTabWithNote(notePath, activate) → {Promise.<void>}
    Open a note in a new tab.
    Parameters:
| Name | Type | Description | 
|---|---|---|
notePath | 
            
            string | (or noteId) | 
activate | 
            
            boolean | set to true to activate the new tab, false to stay on the current tab | 
- Source:
 
Returns:
- Type
 - Promise.<void>
 
parseDate(str) → {Date}
Parameters:
| Name | Type | Description | 
|---|---|---|
str | 
            
            string | 
- Source:
 
Returns:
    parsed object
- Type
 - Date
 
protectActiveNote()
- Deprecated:
 - use protectNote and protectSubtree instead
 
- Source:
 
protectNote(noteId, protect)
Parameters:
| Name | Type | Description | 
|---|---|---|
noteId | 
            
            string | |
protect | 
            
            boolean | true to protect note, false to unprotect | 
- Source:
 
protectSubTree(noteId, protect)
Parameters:
| Name | Type | Description | 
|---|---|---|
noteId | 
            
            string | |
protect | 
            
            boolean | true to protect subtree, false to unprotect | 
- Source:
 
randomString(length) → {string}
    Return randomly generated string of given length. This random string generation is NOT cryptographically secure.
    Parameters:
| Name | Type | Description | 
|---|---|---|
length | 
            
            number | of the string | 
- Source:
 
Returns:
    random string
- Type
 - string
 
refreshIncludedNote(includedNoteId)
    This will refresh all currently opened notes which have included note specified in the parameter
    Parameters:
| Name | Type | Description | 
|---|---|---|
includedNoteId | 
            
            noteId of the included note | 
- Source:
 
refreshTree()
- Deprecated:
 - - this is now no-op since all the changes should be gracefully handled per widget
 
- Source:
 
reloadNotes(noteIds)
    Update frontend tree (note) cache from the backend.
    Parameters:
| Name | Type | Description | 
|---|---|---|
noteIds | 
            
            Array.<string> | 
- Source:
 
runOnBackend(script, params) → {Promise.<*>}
    Executes given anonymous function on the backend.
Internally this serializes the anonymous function into string and sends it to backend via AJAX.
    Parameters:
| Name | Type | Description | 
|---|---|---|
script | 
            
            string | script to be executed on the backend | 
params | 
            
            Array.<?> | list of parameters to the anonymous function to be send to backend | 
- Source:
 
Returns:
    return value of the executed function on the backend
- Type
 - Promise.<*>
 
runOnServer()
- Deprecated:
 - new name of this API call is runOnBackend so use that
 
- Source:
 
searchForNote(searchString) → {Promise.<(NoteShort|null)>}
    This is a powerful search method - you can search by attributes and their values, e.g.:
"#dateModified =* MONTH AND #log". See full documentation for all options at: https://github.com/zadam/trilium/wiki/Search
    Parameters:
| Name | Type | Description | 
|---|---|---|
searchString | 
            
            string | 
- Source:
 
Returns:
- Type
 - Promise.<(NoteShort|null)>
 
searchForNotes(searchString) → {Promise.<Array.<NoteShort>>}
    This is a powerful search method - you can search by attributes and their values, e.g.:
"#dateModified =* MONTH AND #log". See full documentation for all options at: https://github.com/zadam/trilium/wiki/Search
    Parameters:
| Name | Type | Description | 
|---|---|---|
searchString | 
            
            string | 
- Source:
 
Returns:
- Type
 - Promise.<Array.<NoteShort>>
 
setHoistedNoteId(noteId) → {Promise}
    Hoist note in the current tab. See https://github.com/zadam/trilium/wiki/Note-hoisting
    Parameters:
| Name | Type | Description | 
|---|---|---|
noteId | 
            
            string | set hoisted note. 'root' will effectively unhoist | 
- Source:
 
Returns:
- Type
 - Promise
 
setupElementTooltip($el)
Parameters:
| Name | Type | Description | 
|---|---|---|
$el | 
            
            object | jquery object on which to setup the tooltip | 
- Source:
 
showError(message)
    Show error message to the user.
    Parameters:
| Name | Type | Description | 
|---|---|---|
message | 
            
            string | 
- Source:
 
showMessage(message)
    Show info message to the user.
    Parameters:
| Name | Type | Description | 
|---|---|---|
message | 
            
            string | 
- Source:
 
triggerCommand(name, data)
    Trigger command.
    Parameters:
| Name | Type | Description | 
|---|---|---|
name | 
            
            string | |
data | 
            
            object | 
- Source:
 
triggerEvent(name, data)
    Trigger event.
    Parameters:
| Name | Type | Description | 
|---|---|---|
name | 
            
            string | |
data | 
            
            object | 
- Source:
 
waitUntilSynced()
    Trilium runs in backend and frontend process, when something is changed on the backend from script,
frontend will get asynchronously synchronized.
This method returns a promise which resolves once all the backend -> frontend synchronization is finished.
Typical use case is when new note has been created, we should wait until it is synced into frontend and only then activate it.
- Source: