Add auto-tagging option to journal-entry script.

Refs pbek/QOwnNotes#792
This commit is contained in:
Sander Boom 2017-11-27 23:03:57 +01:00
parent 018a813e05
commit 4b48edd550
1 changed files with 25 additions and 2 deletions

View File

@ -5,6 +5,18 @@ import com.qownnotes.noteapi 1.0
* This script creates a menu item and a button to create or jump to the current date's journal entry * This script creates a menu item and a button to create or jump to the current date's journal entry
*/ */
QtObject { QtObject {
property string defaultTags;
property variant settingsVariables: [
{
"identifier": "defaultTags",
"name": "Auto-tagging",
"description": "One or more default tags (separated by commas) to assign to a newly created journal note. Leave blank to disable auto-tagging.",
"type": "string",
"default": "journal",
},
];
/** /**
* Initializes the custom action * Initializes the custom action
*/ */
@ -15,7 +27,7 @@ QtObject {
/** /**
* This function is invoked when a custom action is triggered * This function is invoked when a custom action is triggered
* in the menu or via button * in the menu or via button
* *
* @param identifier string the identifier defined in registerCustomAction * @param identifier string the identifier defined in registerCustomAction
*/ */
function customActionInvoked(identifier) { function customActionInvoked(identifier) {
@ -29,7 +41,7 @@ QtObject {
var fileName = headline + ".md"; var fileName = headline + ".md";
var note = script.fetchNoteByFileName(fileName); var note = script.fetchNoteByFileName(fileName);
// check if note was found // check if note was found
if (note.id > 0) { if (note.id > 0) {
// jump to the note if it was found // jump to the note if it was found
@ -40,6 +52,17 @@ QtObject {
// keep in mind that the note will not be created instantly on the disk // keep in mind that the note will not be created instantly on the disk
script.log("creating new journal entry: " + headline); script.log("creating new journal entry: " + headline);
script.createNote(headline + "\n================\n\n"); script.createNote(headline + "\n================\n\n");
// Auto-tagging.
if (defaultTags && defaultTags !== '') {
defaultTags
// Split on 0..* ws, 1..* commas, 0..* ws.
.split(/\s*,+\s*/)
.forEach(function(i) {
script.log('Auto-tag new journal entry with: ' + i);
script.tagCurrentNote(i);
});
}
} }
} }
} }