Merge pull request #14 from sanderboom/autotagging

Add auto-tagging option to journal-entry script.
This commit is contained in:
Patrizio Bekerle 2017-11-28 10:16:42 +01:00 committed by GitHub
commit dd17fd729e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 27 additions and 4 deletions

View File

@ -2,8 +2,8 @@
"name": "Journal entry",
"identifier": "journal-entry",
"script": "journal-entry.qml",
"version": "0.0.2",
"version": "1.0.0",
"minAppVersion": "17.05.6",
"authors": ["@pbek"],
"authors": ["@pbek", "@sanderboom"],
"description" : "This script creates a menu item and a button to create or jump to the current date's journal entry."
}

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
*/
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
*/
@ -15,7 +27,7 @@ QtObject {
/**
* This function is invoked when a custom action is triggered
* in the menu or via button
*
*
* @param identifier string the identifier defined in registerCustomAction
*/
function customActionInvoked(identifier) {
@ -29,7 +41,7 @@ QtObject {
var fileName = headline + ".md";
var note = script.fetchNoteByFileName(fileName);
// check if note was found
if (note.id > 0) {
// 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
script.log("creating new journal entry: " + headline);
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);
});
}
}
}
}