From 7af472312e8df65c501ce674ef1b73175f96951f Mon Sep 17 00:00:00 2001 From: poanse <50020771+poanse@users.noreply.github.com> Date: Wed, 4 Mar 2026 02:03:53 +0300 Subject: [PATCH] updated description and removed view reference --- README.md | 16 ++++++++-------- manifest.json | 11 ++++++++++- src/Context.svelte.ts | 15 +++++---------- src/TaskmapView.ts | 5 ++--- 4 files changed, 25 insertions(+), 22 deletions(-) diff --git a/README.md b/README.md index 0b5b215..5ae06d2 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,10 @@ # Obsidian Taskmap Plugin - -Visualize your project as a tree of automatically positioned tasks. +Plan projects via interactive GUI task trees. +No need to move tasks around manually — the automatic layout keeps your structure visually clear and easy to edit. ## How to install -*Installation from obsidian is unavailable while Taskmap is in beta.* +*Taskmap is in beta. Installation from Obsidian community plugins is currently unavailable.* Install [BRAT](https://github.com/TfTHacker/obsidian42-brat) community plugin from obsidian app. Go to settings, press `Add beta plugin` and paste link to this repo https://github.com/poanse/obsidian-taskmap @@ -22,11 +22,11 @@ Canvas-style visualization, zero manual positioning. ## Key Features -- Automatic parent status from children -- Color-coded status visualization -- Tree restructuring via reparenting -- Blockers/dependencies -- Hide irrelevant branches +- Automatic layout +- Tree navigation via temporarily hiding irrelevant branches - Link tasks to obsidian notes for rich description +- Color-coded status visualization +- Automatic parent status from children +- Link tasks outside of tree structure using blocker system ![screenshot.png](screenshot.png) diff --git a/manifest.json b/manifest.json index 2b0a499..3effe3e 100644 --- a/manifest.json +++ b/manifest.json @@ -1 +1,10 @@ -{"id":"obsidian-taskmap","name":"Obsidian Taskmap Plugin","version":"0.0.4","minAppVersion":"0.15.0","description":"tbd","author":"poanse","authorUrl":"tbd","fundingUrl":"tbd","isDesktopOnly":false} \ No newline at end of file +{ + "id": "obsidian-taskmap", + "name": "Obsidian Taskmap Plugin", + "version": "0.0.4", + "minAppVersion": "1.12.4", + "description": "Plan projects via interactive GUI task trees. No need to move tasks around manually — the automatic layout keeps your structure visually clear and easy to edit.", + "author": "poanse", + "authorUrl": "https://github.com/poanse", + "isDesktopOnly": false +} diff --git a/src/Context.svelte.ts b/src/Context.svelte.ts index 6e853d8..b0aa45c 100644 --- a/src/Context.svelte.ts +++ b/src/Context.svelte.ts @@ -14,7 +14,7 @@ import { TFile, type WorkspaceLeaf, } from "obsidian"; -import type { TaskmapView } from "./TaskmapView"; +import { TaskmapView } from "./TaskmapView"; import { type NodePositionsCalculator, NoTaskId, @@ -28,7 +28,6 @@ import { VersionedData } from "./data/VersionedData"; export class Context { app: App; plugin: TaskmapPlugin; - view: TaskmapView; nodePositionsCalculator: NodePositionsCalculator; linkManager: LinkManager; pressedButtonCode = $state(-1); @@ -56,14 +55,12 @@ export class Context { private springOptions = { stiffness: 0.07, damping: 0.7 }; constructor( - plugin: TaskmapPlugin, - view: TaskmapView, - projectData: VersionedData, app: App, + plugin: TaskmapPlugin, + projectData: VersionedData, nodePositionsCalculator: NodePositionsCalculator, ) { this.plugin = plugin; - this.view = view; this.nodePositionsCalculator = nodePositionsCalculator; this.app = app; this.versionedData = projectData; @@ -341,9 +338,7 @@ export class Context { } public save() { - const x = this.view; - x.debouncedSave(); - console.debug("saved"); + this.app.workspace.getActiveViewOfType(TaskmapView)?.debouncedSave(); } public addTask(parentId: TaskId): void { @@ -373,7 +368,7 @@ export class Context { ); this.versionedData.setStatus(this.selectedTaskId, status); this.toolbarStatus = status; - this.view.debouncedSave(); + this.save(); } public hideTaskBranch(id: number) { diff --git a/src/TaskmapView.ts b/src/TaskmapView.ts index fe4fa3e..e283f3d 100644 --- a/src/TaskmapView.ts +++ b/src/TaskmapView.ts @@ -41,10 +41,9 @@ export class TaskmapView extends TextFileView { this.setViewData(data); this.projectData = deserializeProjectData(this.app, this.data); this.context = new Context( - this.plugin, - this, - new VersionedData(this.projectData, new HistoryManager()), this.app, + this.plugin, + new VersionedData(this.projectData, new HistoryManager()), new NodePositionsCalculator(), ); this.contentEl.addClass("taskmap-view-container");