diff --git a/.obsidian/plugins/quickadd/data.json b/.obsidian/plugins/quickadd/data.json index 0b031b5..427a668 100644 --- a/.obsidian/plugins/quickadd/data.json +++ b/.obsidian/plugins/quickadd/data.json @@ -153,7 +153,7 @@ "direction": "vertical", "focus": true }, - "openFile": false, + "openFile": true, "openFileInMode": "default", "fileExistsMode": "Increment the file name", "setFileExistsBehavior": false, @@ -397,6 +397,179 @@ } ] } + }, + { + "id": "19f12b20-f9a7-4a64-98f4-e50accfd083c", + "name": "Add simple Project", + "type": "Macro", + "command": true, + "runOnStartup": false, + "macro": { + "id": "36b37bd3-b793-411c-a1cd-8d3292ba1784", + "name": "Add Project", + "commands": [ + { + "name": "Create Project note", + "type": "NestedChoice", + "id": "cdab4aff-b29e-41d1-ba11-0d10149f2265", + "choice": { + "id": "4acf0e97-f9c7-44e0-b73e-97764a5e5466", + "name": "Create Project note", + "type": "Template", + "command": false, + "templatePath": "Resources/Templates/process-project-simple.md", + "fileNameFormat": { + "enabled": true, + "format": "{{VALUE:Add Project}}" + }, + "folder": { + "enabled": true, + "folders": [ + "Areas/Arbeitszimmer/Projekte", + "Areas/cimt AG/Projekte", + "Areas/Wohnung/Projekte", + "Areas/cimt AG/Weiterbildung", + "" + ], + "chooseWhenCreatingNote": false, + "createInSameFolderAsActiveFile": false, + "chooseFromSubfolders": false + }, + "appendLink": false, + "openFileInNewTab": { + "enabled": false, + "direction": "vertical", + "focus": true + }, + "openFile": true, + "openFileInMode": "default", + "fileExistsMode": "Increment the file name", + "setFileExistsBehavior": false, + "fileOpening": { + "location": "tab", + "direction": "vertical", + "focus": true, + "mode": "default" + } + } + } + ] + } + }, + { + "id": "3ed4ab95-dd6b-48a8-bf72-6257f92e7704", + "name": "Add Kanban Project", + "type": "Macro", + "command": true, + "runOnStartup": false, + "macro": { + "id": "45ed1e71-3350-48f6-8051-e4638775dc5b", + "name": "Add Project", + "commands": [ + { + "name": "Create Project note", + "type": "NestedChoice", + "id": "795f2f33-43d7-4c97-b8ac-30cb87838e7b", + "choice": { + "id": "4acf0e97-f9c7-44e0-b73e-97764a5e5466", + "name": "Create Project note", + "type": "Template", + "command": false, + "templatePath": "Resources/Templates/process-project-kanban.md", + "fileNameFormat": { + "enabled": true, + "format": "{{VALUE:Add Project}}" + }, + "folder": { + "enabled": true, + "folders": [ + "Areas/Arbeitszimmer/Projekte", + "Areas/cimt AG/Projekte", + "Areas/Wohnung/Projekte", + "Areas/cimt AG/Weiterbildung", + "" + ], + "chooseWhenCreatingNote": false, + "createInSameFolderAsActiveFile": false, + "chooseFromSubfolders": false + }, + "appendLink": false, + "openFileInNewTab": { + "enabled": false, + "direction": "vertical", + "focus": true + }, + "openFile": true, + "openFileInMode": "default", + "fileExistsMode": "Increment the file name", + "setFileExistsBehavior": false, + "fileOpening": { + "location": "tab", + "direction": "vertical", + "focus": true, + "mode": "default" + } + } + }, + { + "name": "Wait", + "type": "Wait", + "id": "938291b9-5b8f-414b-b279-0c27545b9692", + "time": 200 + }, + { + "name": "Send to Project board", + "type": "NestedChoice", + "id": "811def71-3cd0-4d62-856f-6d79c9838467", + "choice": { + "id": "10ff114b-a1d2-42cf-ba30-736b340e7c75", + "name": "Send to Project board", + "type": "Capture", + "command": false, + "appendLink": false, + "captureTo": "Übersicht/Kanban/Project Board.md", + "captureToActiveFile": false, + "createFileIfItDoesntExist": { + "enabled": false, + "createWithTemplate": false, + "template": "" + }, + "format": { + "enabled": true, + "format": "[[{{VALUE:Add Project}}]]" + }, + "insertAfter": { + "enabled": true, + "after": "## Backlog", + "insertAtEnd": false, + "considerSubsections": false, + "createIfNotFound": false, + "createIfNotFoundLocation": "top", + "inline": false, + "replaceExisting": false, + "blankLineAfterMatchMode": "auto" + }, + "prepend": false, + "task": true, + "openFileInNewTab": { + "enabled": false, + "direction": "vertical", + "focus": true + }, + "openFile": false, + "openFileInMode": "default", + "activeFileWritePosition": "cursor", + "fileOpening": { + "location": "tab", + "direction": "vertical", + "focus": true, + "mode": "default" + }, + "captureToCanvasNodeId": "" + } + } + ] + } } ], "inputPrompt": "single-line", diff --git a/Resources/Templates/process-project-kanban.md b/Resources/Templates/process-project-kanban.md new file mode 100644 index 0000000..85aee53 --- /dev/null +++ b/Resources/Templates/process-project-kanban.md @@ -0,0 +1,57 @@ +--- +status: Backlog +tags: + - process/project +subtitle: <% tp.file.title %> +--- +> [!abstract]- Project +> Goal:: +> Progress:: `$= dv.view('project-progress', {file: '<% tp.file.title %>'})` +> Target:: `$= dv.view('project-target', {file: '<% tp.file.title %>'})` +> Bar:: `$= dv.view('project-progress-bar', {file: '<% tp.file.title %>'})` +> Tasks:: `$= const aufgaben = dv.page('<% tp.file.title %>').file.inlinks.where(t => { const mt = dv.page(t.path); return mt.tags?.includes('process/task') && mt.status === 'In Arbeit'}); if (aufgaben.length > 0) { dv.header(4, aufgaben.length > 1 ? "Aufgaben" : "Aufgabe"); dv.list(aufgaben) }` + +## Project Info + +## Thoughts + +## Resources + + +## Review questions + + +## Aufgaben + + +## Offene Aufgaben +```dataviewjs +const pages = dv.current().file.inlinks.where(p => dv.page(p.path).tags?.includes('process/task')).where(p => dv.page(p.path).file.tasks.length != dv.page(p.path).file.tasks.where(t => t.fullyCompleted === true).length); + +dv.table(["Project", "Status", "Completed", "Tasks"], pages.map(p => { + const page = dv.page(p.path); + const tasks = page.file.tasks; + return [ + page.file.link, + page.status, + tasks.where(t => t.fullyCompleted === true).length, + tasks.length + ] +})); +``` + +## Aufgaben +```dataviewjs +const pages = dv.current().file.inlinks.where(p => dv.page(p.path).tags?.includes('process/task')); + +dv.table(["Project", "Status", "Completed", "Tasks"], pages.map(p => { + const page = dv.page(p.path); + const tasks = page.file.tasks; + return [ + page.file.link, + page.status, + tasks.where(t => t.fullyCompleted === true).length, + tasks.length + ] +})); +``` diff --git a/Resources/Templates/process-project-simple.md b/Resources/Templates/process-project-simple.md new file mode 100644 index 0000000..85aee53 --- /dev/null +++ b/Resources/Templates/process-project-simple.md @@ -0,0 +1,57 @@ +--- +status: Backlog +tags: + - process/project +subtitle: <% tp.file.title %> +--- +> [!abstract]- Project +> Goal:: +> Progress:: `$= dv.view('project-progress', {file: '<% tp.file.title %>'})` +> Target:: `$= dv.view('project-target', {file: '<% tp.file.title %>'})` +> Bar:: `$= dv.view('project-progress-bar', {file: '<% tp.file.title %>'})` +> Tasks:: `$= const aufgaben = dv.page('<% tp.file.title %>').file.inlinks.where(t => { const mt = dv.page(t.path); return mt.tags?.includes('process/task') && mt.status === 'In Arbeit'}); if (aufgaben.length > 0) { dv.header(4, aufgaben.length > 1 ? "Aufgaben" : "Aufgabe"); dv.list(aufgaben) }` + +## Project Info + +## Thoughts + +## Resources + + +## Review questions + + +## Aufgaben + + +## Offene Aufgaben +```dataviewjs +const pages = dv.current().file.inlinks.where(p => dv.page(p.path).tags?.includes('process/task')).where(p => dv.page(p.path).file.tasks.length != dv.page(p.path).file.tasks.where(t => t.fullyCompleted === true).length); + +dv.table(["Project", "Status", "Completed", "Tasks"], pages.map(p => { + const page = dv.page(p.path); + const tasks = page.file.tasks; + return [ + page.file.link, + page.status, + tasks.where(t => t.fullyCompleted === true).length, + tasks.length + ] +})); +``` + +## Aufgaben +```dataviewjs +const pages = dv.current().file.inlinks.where(p => dv.page(p.path).tags?.includes('process/task')); + +dv.table(["Project", "Status", "Completed", "Tasks"], pages.map(p => { + const page = dv.page(p.path); + const tasks = page.file.tasks; + return [ + page.file.link, + page.status, + tasks.where(t => t.fullyCompleted === true).length, + tasks.length + ] +})); +```