refactor documentation

This commit is contained in:
Callum Alpass 2025-06-29 13:35:47 +10:00
parent 78cb270f89
commit eca08599d3
20 changed files with 140 additions and 147 deletions

View file

@ -7,53 +7,53 @@ A task and note management plugin with calendar views and daily notes.
## Documentation
**[Complete Documentation](https://callumalpass.github.io/tasknotes/)** - Comprehensive guide covering all features, configuration options, and usage examples.
**[Documentation](https://callumalpass.github.io/tasknotes/)**
## Rationale
TaskNotes uses YAML frontmatter to store task data, providing several benefits. YAML is a standard format compatible with many tools, ensuring long-term data stability in line with Obsidian's file-over-app philosophy. The frontmatter approach makes it trivial to add custom fields like "assigned-to" or "attachments" that integrate seamlessly with other tools like Obsidian Bases. This extensibility has made it easy to add features like time-tracking, which would be difficult to implement cleanly in other task formats. The one-note-per-task approach enables you to add unstructured content in the note body for descriptions and progress notes. Each task becomes a full participant in your knowledge graph, leveraging native Obsidian features like backlinking and graph visualization. This creates a complete history and context for every task in one place.
TaskNotes uses YAML frontmatter to store task data. YAML is a standard format that is compatible with many tools, which aligns with Obsidian's file-over-app philosophy. The frontmatter approach allows for the addition of custom fields, such as "assigned-to" or "attachments," which can be integrated with other tools like Obsidian Bases. This extensibility has been used to add features like time-tracking. The one-note-per-task approach allows for the inclusion of unstructured content in the note body for descriptions and progress notes. Each task can be linked to other notes in the vault, which allows for the use of Obsidian's backlinking and graph visualization features.
## Core Features
### Task Management
- Individual Markdown files with YAML frontmatter
- Properties: title, status, priority, due date, scheduled date, contexts, tags, time estimates
- Recurring tasks with per-date completion tracking
- Time tracking with multiple sessions per task
- Archive functionality using tags
- Advanced filtering and grouping options
- Tasks are stored as individual Markdown files with YAML frontmatter.
- Properties include: title, status, priority, due date, scheduled date, contexts, tags, and time estimates.
- Recurring tasks are supported, with per-date completion tracking.
- Time tracking is available, with multiple sessions per task.
- An archive function is provided, which uses tags.
- Filtering and grouping options are available.
### Calendar Integration
- Month view with task and note display
- Mini calendar for compact layouts
- ICS/iCal subscription support
- Direct navigation to daily notes
- A month view is provided, which displays tasks and notes.
- A mini calendar is available for compact layouts.
- Subscriptions to ICS/iCal feeds are supported.
- Direct navigation to daily notes is available.
### Time Management
- Built-in time tracking with start/stop functionality
- Pomodoro timer with task integration
- Session history and statistics
- A time tracking feature is included, with start/stop functionality.
- A Pomodoro timer is available, with task integration.
- Session history and statistics are provided.
### Editor Integration
- Interactive task previews on wikilinks
- One-click checkbox-to-task conversion
- Template support with parent note context
- Interactive task previews are available for wikilinks.
- A one-click checkbox-to-task conversion feature is included.
- Template support is provided, with parent note context.
### Views
- **Calendar**: Month view with agenda
- **Task List**: Filtering and grouping
- **Kanban**: Drag-and-drop task management
- **Agenda**: Daily task and note overview
- **Notes**: Date-based note browser
- **Pomodoro**: Timer with statistics
- **Calendar**: A month view with an agenda.
- **Task List**: A view with filtering and grouping options.
- **Kanban**: A view with drag-and-drop task management.
- **Agenda**: A daily task and note overview.
- **Notes**: A date-based note browser.
- **Pomodoro**: A timer with statistics.
## Configuration
### Customization
- **Field Mapping**: Customize YAML property names to match existing workflows
- **Custom Statuses**: Define task statuses with colors and completion behavior
- **Custom Priorities**: Create priority levels with weight-based sorting
- **Templates**: Configure daily note templates with Obsidian variables
- **Field Mapping**: YAML property names can be customized to match existing workflows.
- **Custom Statuses**: Task statuses can be defined, with colors and completion behavior.
- **Custom Priorities**: Priority levels can be created, with weight-based sorting.
- **Templates**: Daily note templates can be configured with Obsidian variables.
## YAML Structure
@ -73,9 +73,7 @@ timeEntries:
### Recurring Task
```yaml
title: "Weekly meeting"
recurrence:
frequency: "weekly"
days_of_week: ["mon"]
recurrence: "FREQ=WEEKLY;BYDAY=MO"
complete_instances: ["2024-01-08"]
```
@ -85,5 +83,4 @@ This plugin uses [FullCalendar.io](https://fullcalendar.io/) for its calendar co
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

View file

@ -1,36 +1,34 @@
# Core Concepts
TaskNotes is a powerful task and note management plugin for Obsidian, designed around the central principle of "one note per task." This approach treats each task as a complete Markdown note, storing all task-related information directly within the note's YAML frontmatter. This design philosophy ensures that your data remains portable, extensible, and seamlessly integrated with the Obsidian ecosystem.
TaskNotes is a task and note management plugin for Obsidian that is built on the principle of "one note per task." This means that each task is a Markdown note, and all task-related information is stored in the note's YAML frontmatter.
## The Note-Per-Task Approach
At the heart of TaskNotes is the decision to use individual Markdown notes for each task, rather than relying on a centralized database or proprietary format. This approach offers several key advantages:
TaskNotes uses individual Markdown notes for each task, rather than a centralized database or a proprietary format. This approach has several implications:
**Data Ownership and Portability**: Each task exists as a standard Markdown file that you own and control. You can read, edit, back up, and process these files with any text editor or automation tool, ensuring that your data remains accessible and future-proof, independent of TaskNotes or Obsidian itself.
**Data Ownership and Portability**: Each task is a standard Markdown file that you can read, edit, and back up with any text editor or automation tool.
**Rich Context and Flexibility**: Unlike traditional task management systems that limit you to a few predefined fields, TaskNotes allows you to include unlimited additional content within the body of each task note. You can add research findings, meeting notes, links to related documents, embedded images, code snippets, or any other relevant information, creating a rich, contextualized record of your work.
**Rich Context and Flexibility**: You can include additional content in the body of each task note, such as research findings, meeting notes, or links to related documents.
**Seamless Obsidian Integration**: By treating tasks as notes, TaskNotes leverages Obsidian's core features, such as backlinking, graph visualization, full-text search, and tag management. This allows you to create intricate networks of interconnected tasks, projects, and ideas, enhancing your ability to navigate and understand your work.
**Obsidian Integration**: By treating tasks as notes, TaskNotes can use Obsidian's core features, such as backlinking, graph visualization, and tag management.
While this approach offers significant benefits, it's important to be aware of the trade-offs. Storing each task as a separate file can lead to a large number of small files, which may not suit everyone's organizational preferences. Additionally, a large volume of task files can impact vault performance, although TaskNotes includes optimizations to mitigate this.
Storing each task as a separate file can lead to a large number of small files, which may not be ideal for all organizational preferences.
## YAML Frontmatter for Structured Data
TaskNotes uses YAML frontmatter to store structured task metadata, such as due dates, priority levels, and status. This human-readable format provides a powerful combination of structure and flexibility, offering several advantages:
TaskNotes uses YAML frontmatter to store structured task metadata, such as due dates, priority levels, and status. This human-readable format has several implications:
**Standardization and Extensibility**: YAML is a widely adopted standard with broad tool support, making it easy to integrate your task data with external systems. You can also extend the data model by adding custom fields to the frontmatter, allowing you to tailor TaskNotes to your specific needs without waiting for plugin updates.
**Standardization and Extensibility**: YAML is a widely adopted standard with broad tool support, which allows you to integrate your task data with external systems. You can also extend the data model by adding custom fields to the frontmatter.
**Performance and Compatibility**: By leveraging Obsidian's native metadata cache, TaskNotes achieves excellent performance, even with thousands of tasks. The use of YAML frontmatter also ensures compatibility with other Obsidian plugins, such as Bases, which can be used for database-style operations like bulk updates and complex filtering.
**Performance and Compatibility**: By using Obsidian's native metadata cache, TaskNotes can maintain good performance, even with a large number of tasks. The use of YAML frontmatter also allows for compatibility with other Obsidian plugins, such as Bases.
**Version Control and Collaboration**: Since tasks are stored as plain text files, they work seamlessly with version control systems like Git. This allows you to track changes to your task data over time, collaborate with others, and maintain a complete history of your work.
**Version Control and Collaboration**: Since tasks are stored as plain text files, they can be used with version control systems like Git.
## A Methodology-Agnostic Approach
TaskNotes is designed to be methodology-agnostic, providing a flexible set of tools that can be adapted to a wide range of productivity systems, including:
TaskNotes does not enforce a specific task management methodology. It provides a set of tools that can be adapted to a variety of productivity systems, including:
- **Getting Things Done (GTD)**: Contexts, status workflows, and calendar integration support GTD principles, while allowing for customization.
- **Timeboxing and Time-blocking**: Calendar integration and time tracking features facilitate time-based planning without imposing rigid scheduling structures.
- **Project-based Organization**: Tags, contexts, and linking capabilities enable project-centric workflows while maintaining task-level granularity.
- **Kanban and Agile**: The Kanban view and customizable status systems support agile development processes and other visual workflows.
By integrating task management directly into your note-taking workflow, TaskNotes helps you maintain context, reduce friction, and create a unified, interconnected system for managing your work and ideas.
- **Getting Things Done (GTD)**: Contexts, status workflows, and calendar integration can be used to support GTD principles.
- **Timeboxing and Time-blocking**: Calendar integration and time tracking features can be used for time-based planning.
- **Project-based Organization**: Tags, contexts, and linking capabilities can be used for project-centric workflows.
- **Kanban and Agile**: The Kanban view and customizable status systems can be used to support agile development processes and other visual workflows.

View file

@ -1,45 +1,45 @@
# Features
TaskNotes is a comprehensive task and note management plugin for Obsidian, offering a rich set of features designed to enhance your productivity and streamline your workflow. From robust task management and seamless inline integration to powerful time tracking and calendar synchronization, TaskNotes provides the tools you need to take control of your tasks and ideas.
TaskNotes is a task and note management plugin for Obsidian. It includes features for task management, inline task integration, time management, and calendar integration.
## Task Management
At its core, TaskNotes provides a powerful and flexible system for managing your tasks. You can create, edit, and organize tasks with a wide range of properties, including:
TaskNotes provides a system for managing tasks. You can create, edit, and organize tasks with a variety of properties, including:
- **Status and Priority**: Customize your workflow with configurable status and priority levels.
- **Scheduling**: Set due dates and scheduled dates to keep your work on track.
- **Organization**: Use contexts and tags to categorize and group your tasks.
- **Planning**: Estimate the time required for tasks and set up recurring patterns for repeating tasks.
- **Tracking**: Keep a record of your work with automatic creation and modification dates.
- **Status and Priority**: Configurable status and priority levels.
- **Scheduling**: Due dates and scheduled dates.
- **Organization**: Contexts and tags.
- **Planning**: Time estimates and recurring patterns.
- **Tracking**: Automatic creation and modification dates.
For more detailed information, see the [Task Management](features/task-management.md) documentation.
## Inline Task Integration
TaskNotes seamlessly integrates with the Obsidian editor, allowing you to manage your tasks without leaving your notes. Key features include:
TaskNotes integrates with the Obsidian editor, which allows you to manage your tasks from within your notes. Key features include:
- **Task Link Overlays**: Interactive widgets that provide at-a-glance task information and allow for quick edits.
- **Instant Task Conversion**: Convert checkbox tasks into full-fledged TaskNotes with a single click.
- **Natural Language Processing**: Create tasks using conversational language, with automatic parsing of dates, priorities, and other details.
- **Task Link Overlays**: Interactive widgets that display task information and allow for quick edits.
- **Instant Task Conversion**: A feature to convert checkbox tasks into TaskNotes.
- **Natural Language Processing**: A feature to create tasks from conversational language, with automatic parsing of dates, priorities, and other details.
For more detailed information, see the [Inline Task Integration](features/inline-tasks.md) documentation.
## Time Management
TaskNotes includes a suite of time management tools to help you stay focused and productive. These features include:
TaskNotes includes time management tools, such as:
- **Time Tracking**: A built-in time tracker that allows you to record the time you spend on each task.
- **Pomodoro Timer**: A fully-featured pomodoro timer to help you work in focused intervals.
- **Productivity Analytics**: Detailed statistics and visualizations to help you understand your work habits and improve your productivity.
- **Time Tracking**: A time tracker to record the time you spend on each task.
- **Pomodoro Timer**: A Pomodoro timer to work in focused intervals.
- **Productivity Analytics**: Statistics and visualizations to show your work habits.
For more detailed information, see the [Time Management](features/time-tracking.md) documentation.
## Calendar Integration
TaskNotes offers robust calendar integration, allowing you to visualize your tasks and schedule your work effectively. Key features include:
TaskNotes includes calendar integration features, such as:
- **ICS Calendar Subscriptions**: Subscribe to external calendar feeds from Google Calendar, Outlook, and other services.
- **Advanced Calendar View**: A full-featured calendar with multiple view modes, drag-and-drop scheduling, and time-blocking capabilities.
- **Time-blocking**: Create focused work periods and link them to your tasks for integrated planning.
- **ICS Calendar Subscriptions**: A feature to subscribe to external calendar feeds from Google Calendar, Outlook, and other services.
- **Advanced Calendar View**: A calendar with multiple view modes, drag-and-drop scheduling, and time-blocking capabilities.
- **Time-blocking**: A feature to create focused work periods and link them to your tasks.
For more detailed information, see the [Calendar Integration](features/calendar-integration.md) documentation.
For more detailed information, see the [Calendar Integration](features/calendar-integration.md) documentation.

View file

@ -1,14 +1,14 @@
# Calendar Integration
TaskNotes provides calendar integration features, allowing you to visualize your tasks and schedule your work. This is done through two calendar views and the ability to subscribe to external calendar feeds.
TaskNotes provides calendar integration features, which allow you to visualize your tasks and schedule your work. This is done through two calendar views and the ability to subscribe to external calendar feeds.
## Calendar Views
TaskNotes has two calendar views for visualizing and managing tasks: the **Mini Calendar** and the **Advanced Calendar**.
The **Mini Calendar** is a compact, month-based view that provides a quick overview of which days have tasks. It's designed for navigation and at-a-glance understanding of task distribution.
The **Mini Calendar** is a compact, month-based view that provides an overview of which days have tasks. It is designed for navigation and for understanding task distribution.
The **Advanced Calendar** is a full-featured calendar with multiple view modes (month, week, and day), drag-and-drop scheduling, and time-blocking capabilities. You can create new tasks by clicking on dates or time slots, and you can reschedule tasks by dragging them to a new date or time.
The **Advanced Calendar** is a calendar with multiple view modes (month, week, and day), drag-and-drop scheduling, and time-blocking capabilities. You can create new tasks by clicking on dates or time slots, and you can reschedule tasks by dragging them to a new date or time.
## ICS Calendar Subscriptions
@ -16,4 +16,4 @@ TaskNotes can subscribe to external calendar feeds using the iCalendar (ICS) for
## Time-blocking
The Advanced Calendar supports time-blocking, which is a time management method that involves scheduling out every part of your day. You can create time blocks directly in the calendar, and you can link them to specific tasks. Time blocks are stored in the frontmatter of your daily notes.
The Advanced Calendar supports time-blocking, which is a time management method that involves scheduling out parts of your day. You can create time blocks directly in the calendar, and you can link them to specific tasks. Time blocks are stored in the frontmatter of your daily notes.

View file

@ -4,11 +4,11 @@ TaskNotes integrates with the Obsidian editor to allow task management directly
## Task Link Overlays
When a wikilink to a task note is created, TaskNotes can replace it with an interactive **Task Link Overlay**. This widget displays information about the task, such as its status, priority, and due date. It also allows for actions like changing the status or priority, or opening the task for editing, directly from the note. This provides a way to manage tasks within the context of the note they are linked from.
When a wikilink to a task note is created, TaskNotes can replace it with an interactive **Task Link Overlay**. This widget displays information about the task, such as its status, priority, and due date. It also allows for actions like changing the status or priority, or opening the task for editing, directly from the note.
## Instant Task Conversion
The **Instant Task Conversion** feature transforms standard Obsidian checkbox tasks into TaskNotes files. In edit mode, a "convert" button appears next to a checkbox task. Clicking this button creates a new task note using the checkbox's text as the title and replaces the checkbox with a link to the new task file. This is for capturing tasks during writing and converting them to structured tasks later.
The **Instant Task Conversion** feature transforms standard Obsidian checkbox tasks into TaskNotes files. In edit mode, a "convert" button appears next to a checkbox task. Clicking this button creates a new task note using the checkbox's text as the title and replaces the checkbox with a link to the new task file.
## Natural Language Processing
@ -23,4 +23,4 @@ The NLP engine supports syntax for:
- **Time Estimates**: Formats like "2h," "30min," and "1h30m".
- **Recurrence Patterns**: Phrases like "daily," "weekly," and "every Monday".
The NLP engine is integrated with the task creation modal. Typing a natural language description there will populate the corresponding fields.
The NLP engine is integrated with the task creation modal. Typing a natural language description there will populate the corresponding fields.

View file

@ -1,25 +1,25 @@
# Task Management
TaskNotes provides a comprehensive and flexible system for managing your tasks, built on the principle of "one note per task." This approach allows you to create, edit, and organize your tasks with a rich set of properties, while maintaining the portability and extensibility of plain text files.
TaskNotes provides a system for managing tasks, which is built on the principle of "one note per task." This approach allows you to create, edit, and organize your tasks with a set of properties, while maintaining the portability and extensibility of plain text files.
## Creating and Editing Tasks
You can create and edit tasks in a variety of ways, depending on your workflow and preferences. The primary method is through the **Task Creation Modal**, which can be accessed via the "Create new task" command or by clicking on dates or time slots in the calendar views. This modal provides a comprehensive interface for setting all available task properties, including title, status, priority, due dates, and more.
You can create and edit tasks in a variety of ways. The primary method is through the **Task Creation Modal**, which can be accessed via the "Create new task" command or by clicking on dates or time slots in the calendar views. This modal provides an interface for setting all available task properties, including title, status, priority, and due dates.
For more experienced users, TaskNotes also supports **Natural Language Creation**, allowing you to create tasks by typing descriptions in plain English. The built-in parser can extract structured data from phrases like "Buy groceries tomorrow at 3pm @home #errands high priority," making task creation fast and intuitive.
TaskNotes also supports **Natural Language Creation**, which allows you to create tasks by typing descriptions in plain English. The built-in parser can extract structured data from phrases like "Buy groceries tomorrow at 3pm @home #errands high priority."
Additionally, you can convert existing checkbox tasks in your notes to full-fledged TaskNotes using the **Instant Conversion** feature. This allows you to seamlessly integrate your task management with your note-taking workflow.
Additionally, you can convert existing checkbox tasks in your notes to TaskNotes using the **Instant Conversion** feature.
## Task Properties
Each task in TaskNotes is a Markdown file with a YAML frontmatter block that stores its properties. This allows for a high degree of customization and extensibility. The core properties include:
Each task in TaskNotes is a Markdown file with a YAML frontmatter block that stores its properties. The core properties include:
- **Title**: The main description of the task.
- **Status**: The current state of the task (e.g., "Open," "In Progress," "Done").
- **Priority**: The importance of the task (e.g., "Low," "Normal," "High").
- **Due Date**: The date by which the task must be completed.
- **Scheduled Date**: The date on which you plan to work on the task.
- **Contexts**: Location or tool-based groupings (eg., "@home", "@work").
- **Contexts**: Location or tool-based groupings (e.g., "@home", "@work").
- **Tags**: Standard Obsidian tags for categorization.
- **Time Estimate**: The estimated time required to complete the task, in minutes.
- **Recurrence**: The pattern for repeating tasks, using the RRule standard.
@ -29,6 +29,6 @@ You can also add your own custom fields to the YAML frontmatter, and use the **F
## File Management and Templates
TaskNotes provides a flexible system for managing your task files. You can specify a **Default Tasks Folder** where all new tasks will be created, and you can choose from a variety of **Filename Generation** patterns, including title-based, timestamp-based, and Zettelkasten-style.
TaskNotes provides a system for managing your task files. You can specify a **Default Tasks Folder** where all new tasks will be created, and you can choose from a variety of **Filename Generation** patterns, including title-based, timestamp-based, and Zettelkasten-style.
To streamline your workflow, TaskNotes also supports **Templates** for both the YAML frontmatter and the body of your task notes. You can use templates to pre-fill common values, add boilerplate text, and create a consistent structure for your tasks. Templates can also include variables, such as `{{title}}`, `{{date}}`, and `{{parentNote}}`, which will be automatically replaced with the appropriate values when a new task is created.
TaskNotes also supports **Templates** for both the YAML frontmatter and the body of your task notes. You can use templates to pre-fill common values, add boilerplate text, and create a consistent structure for your tasks. Templates can also include variables, such as `{{title}}`, `{{date}}`, and `{{parentNote}}`, which will be automatically replaced with the appropriate values when a new task is created.

View file

@ -4,16 +4,16 @@ TaskNotes includes features for time tracking and productivity, such as a time t
## Time Tracking
TaskNotes has a built-in time tracker to record the time spent on each task. Time tracking information is stored in the `timeEntries` array within each task's YAML frontmatter. Each time entry includes a start time and an end time.
TaskNotes has a time tracker to record the time spent on each task. Time tracking information is stored in the `timeEntries` array within each task's YAML frontmatter. Each time entry includes a start time and an end time.
The time tracking interface includes controls to start and stop tracking, which appear in task views and on task cards. Only one task can be actively tracked at a time; starting a new timer will automatically stop the previous one. The total time spent on a task is calculated from all completed sessions.
## Pomodoro Timer
TaskNotes also includes a Pomodoro timer, which is a tool for time management that uses a timer to break down work into intervals, traditionally 25 minutes in length, separated by short breaks. The Pomodoro timer in TaskNotes has a dedicated view with controls to start, stop, and reset the timer.
TaskNotes also includes a Pomodoro timer, which is a tool for time management that uses a timer to break down work into intervals, separated by short breaks. The Pomodoro timer in TaskNotes has a dedicated view with controls to start, stop, and reset the timer.
When a task is associated with a Pomodoro session, the time is automatically recorded in the task's time tracking data upon completion of the session.
## Productivity Analytics
The **Pomodoro Stats View** provides analytics and historical data about your Pomodoro sessions. This includes a history of completed sessions, as well as metrics like completion rates and total time spent on tasks. The data can be visualized to show productivity patterns over time.
The **Pomodoro Stats View** provides analytics and historical data about your Pomodoro sessions. This includes a history of completed sessions, as well as metrics like completion rates and total time spent on tasks. The data can be visualized to show productivity patterns over time.

View file

@ -1,69 +1,67 @@
# TaskNotes Documentation
TaskNotes is a task and note management plugin for Obsidian built on the principle of "one note per task." It stores task information directly in your notes using YAML frontmatter, treating each task as a complete Markdown note that can contain detailed descriptions, links, and any other content you need.
TaskNotes is a task and note management plugin for Obsidian. It is built on the principle of "one note per task," and it stores task information in YAML frontmatter.
## Approach and Design
TaskNotes takes a different approach to task management compared to other plugins. Instead of maintaining separate databases or proprietary formats, it stores all task information directly in your notes using YAML frontmatter. This means your task data remains in plain text files that you can read and edit with any text editor.
TaskNotes stores all task information in YAML frontmatter within each note. This means that your task data is stored in plain text files that can be read and edited with any text editor.
The plugin follows Obsidian's "files over applications" philosophy by treating each task as a complete Markdown note. Every task can contain structured metadata in the frontmatter for filtering and organization, while the note content remains completely free-form for detailed descriptions, research, or any other relevant information.
The plugin follows Obsidian's "files over applications" philosophy. Each task has structured metadata in its frontmatter for filtering and organization, while the note content is free-form.
## Core Design Principles
The plugin is built around several key principles:
**Native Integration**: TaskNotes uses Obsidian's native metadata cache as its primary data source. This ensures compatibility with other plugins and takes advantage of Obsidian's existing performance optimizations.
**Native Integration**: TaskNotes uses Obsidian's native metadata cache as its primary data source. This allows for compatibility with other plugins and takes advantage of Obsidian's existing performance optimizations.
**Extensible Data Model**: Task data is stored in YAML frontmatter, which means you can add custom fields as needed. The plugin's field mapping system allows you to customize property names to match your existing vault structure.
**Extensible Data Model**: Task data is stored in YAML frontmatter, which allows you to add custom fields as needed. The plugin's field mapping system allows you to customize property names to match your existing vault structure.
**Multiple Views**: Different workflows require different ways of viewing the same data. TaskNotes provides eight different view types - task lists, calendar views, Kanban boards, agenda views, and others - while maintaining a single source of truth for your task data.
**Multiple Views**: TaskNotes provides eight different view types, including task lists, calendar views, Kanban boards, and agenda views.
**Workflow Agnostic**: The plugin doesn't enforce a specific task management methodology. It provides flexible tools that can support various approaches like Getting Things Done (GTD), timeboxing, project-based organization, or hybrid approaches.
**Workflow Agnostic**: The plugin does not enforce a specific task management methodology. It provides a set of tools that can be used to support a variety of approaches, such as Getting Things Done (GTD), timeboxing, and project-based organization.
## Features
TaskNotes includes the following capabilities:
**Task Properties**: Each task can include title, status, priority, due dates, scheduled dates, contexts, tags, time estimates, and recurrence patterns. You can also add custom fields as needed.
**Task Properties**: Each task can include a title, status, priority, due date, scheduled date, contexts, tags, time estimate, and recurrence pattern. You can also add custom fields.
**Time Tracking**: Built-in time tracking allows you to record how long tasks actually take. This data is stored directly in the task's frontmatter as time entries with start and stop times.
**Time Tracking**: A time tracking feature allows you to record the amount of time that you spend on tasks. This data is stored in the task's frontmatter as time entries with start and stop times.
**View Types**: Eight different views provide different perspectives on your tasks: Task List, Notes, Agenda, Kanban, Mini Calendar, Advanced Calendar, Pomodoro, and Pomodoro Stats views.
**View Types**: Eight different views are provided: Task List, Notes, Agenda, Kanban, Mini Calendar, Advanced Calendar, Pomodoro, and Pomodoro Stats.
**Editor Integration**: Inline task widgets display task information directly within your notes. An instant conversion feature transforms simple checkbox tasks into full TaskNotes. A natural language parser can interpret phrases like "Buy groceries tomorrow at 3pm @home #errands high priority" to create structured tasks.
**Editor Integration**: Inline task widgets display task information within your notes. An instant conversion feature transforms checkbox tasks into TaskNotes. A natural language parser can interpret phrases to create structured tasks.
**Calendar Integration**: The plugin can subscribe to external ICS calendars from Google Calendar, Outlook, or other calendar systems, displaying external events alongside your tasks. Time-blocking features help you schedule focused work sessions.
**Calendar Integration**: The plugin can subscribe to external ICS calendars from Google Calendar, Outlook, and other calendar systems. Time-blocking features are also included.
**External Tool Compatibility**: The YAML frontmatter format works with other Obsidian plugins for database-style operations and can be processed by external tools for reporting or automation.
**External Tool Compatibility**: The YAML frontmatter format is compatible with other Obsidian plugins and can be processed by external tools.
## The One-Note-Per-Task Approach
Using individual notes for each task provides several advantages:
Using individual notes for each task has several implications:
**Rich Context**: Each task note can contain unlimited additional content beyond the basic task properties. You can add research findings, meeting notes, links to related documents, embedded images, or any other relevant information directly in the task note.
**Rich Context**: Each task note can contain additional content beyond the basic task properties.
**Obsidian Integration**: Each task benefits from Obsidian's features like backlinking, graph visualization, full-text search, and compatibility with other plugins. You can link tasks to people, projects, or concepts in your vault.
**Obsidian Integration**: Each task can be linked to other notes in the vault, which allows for the use of Obsidian's backlinking and graph visualization features.
**Structured and Flexible**: The frontmatter provides structured metadata for filtering and organization, while the note content remains free-form. This allows for both precise data management and detailed context within the same file.
**Structured and Flexible**: The frontmatter provides structured metadata for filtering and organization, while the note content is free-form.
**Portable Data**: Your task data is stored in standard Markdown files that can be read, edited, and processed by any text editor or automation tool. This eliminates vendor lock-in concerns.
**Portable Data**: Your task data is stored in standard Markdown files that can be read, edited, and processed by any text editor or automation tool.
## YAML Frontmatter Benefits
Using YAML frontmatter as the primary data storage provides several advantages:
Using YAML frontmatter as the primary data storage has several implications:
**Standardized Format**: YAML is an established, human-readable data format with broad tool support. Task data can be easily parsed, transformed, and integrated with external systems using standard programming languages and tools.
**Standardized Format**: YAML is a human-readable data format with broad tool support.
**Extensibility**: Adding new fields to your task structure requires only including them in the frontmatter. You can add project codes, client information, or any other custom metadata without waiting for plugin updates.
**Extensibility**: You can add new fields to your task structure by including them in the frontmatter.
**Tool Compatibility**: The YAML format works with Obsidian's Bases plugin for database-style operations like bulk updates and complex filtering. It also enables integration with external tools for reporting and automation.
**Tool Compatibility**: The YAML format is compatible with other Obsidian plugins and can be processed by external tools.
**Version Control**: Since tasks are plain text files, they work with version control systems like Git. You can track changes to your task data over time and collaborate with others.
**Version Control**: Since tasks are plain text files, they can be used with version control systems like Git.
**Performance**: By using Obsidian's native metadata cache, the plugin maintains good performance even with large numbers of tasks while providing real-time updates across all views.
**Performance**: By using Obsidian's native metadata cache, the plugin can maintain good performance with a large number of tasks.
## Getting Started
You can start with basic task creation and gradually explore more advanced features like calendar integration, time tracking, and custom workflows. The plugin includes default settings that work for most users, but most aspects can be customized to match your specific requirements.
This documentation covers every aspect of TaskNotes, from basic setup and task creation to advanced features like natural language processing and external calendar integration.
You can start with basic task creation and then explore more advanced features like calendar integration, time tracking, and custom workflows. The plugin includes default settings that can be customized.

View file

@ -1,6 +1,6 @@
# Settings
TaskNotes provides a wide range of settings to customize its behavior and appearance. The settings are organized into several categories, each controlling a different aspect of the plugin.
TaskNotes provides a variety of settings to customize its behavior and appearance. The settings are organized into several categories, each controlling a different aspect of the plugin.
## Task Defaults
@ -24,4 +24,4 @@ For more detailed information, see the [Calendar Settings](settings/calendar-set
These settings provide more advanced customization options, such as field mapping, custom status and priority workflows, and performance tuning. You can also configure the Pomodoro timer from this section.
For more detailed information, see the [Advanced Settings](settings/advanced-settings.md) documentation.
For more detailed information, see the [Advanced Settings](settings/advanced-settings.md) documentation.

View file

@ -1,10 +1,10 @@
# Advanced Settings
These settings provide more advanced customization options, such as field mapping, custom status and priority workflows, and performance tuning.
These settings provide customization options, such as field mapping, custom status and priority workflows, and performance tuning.
## Field Mapping
**Field Mapping** allows you to customize the YAML property names that TaskNotes uses for its internal properties. This is useful for integrating with other plugins or for matching your existing vault structure. You can map all of the core task properties, including title, status, priority, and due date, as well as more advanced properties like time estimates and recurrence patterns.
**Field Mapping** allows you to customize the YAML property names that TaskNotes uses for its internal properties. This can be used for integrating with other plugins or for matching your existing vault structure. You can map all of the core task properties, including title, status, priority, and due date, as well as other properties like time estimates and recurrence patterns.
## Custom Status System
@ -16,8 +16,8 @@ You can also create a **Custom Priority System**. You can define as many priorit
## Performance Settings
TaskNotes includes several **Performance Settings** to help you optimize the plugin for large vaults. You can disable the indexing of non-task notes, which can improve performance in vaults with a large number of notes.
TaskNotes includes **Performance Settings** to optimize the plugin for large vaults. You can disable the indexing of non-task notes, which can improve performance in vaults with a large number of notes.
## Pomodoro Timer Settings
You can configure the **Pomodoro Timer** from this section, including the duration of work and break sessions, as well as the notification settings. You can also choose where to store the Pomodoro session data.
You can configure the **Pomodoro Timer** from this section, including the duration of work and break sessions, as well as the notification settings. You can also choose where to store the Pomodoro session data.

View file

@ -20,4 +20,4 @@ You can enable or disable the **Timeblocking** feature, which allows you to crea
## External Calendar Integration
You can manage your **ICS Calendar Subscriptions** from this section, including adding, editing, and removing subscriptions. You can also set the refresh interval for remote calendars.
You can manage your **ICS Calendar Subscriptions** from this section, including adding, editing, and removing subscriptions. You can also set the refresh interval for remote calendars.

View file

@ -8,8 +8,8 @@ You can enable or disable the **Task Link Overlay** feature, which replaces wiki
## Instant Task Conversion
You can enable or disable the **Instant Task Conversion** feature, which allows you to convert checkbox tasks to full-fledged TaskNotes with a single click. You can also choose whether to apply your default task settings to converted tasks.
You can enable or disable the **Instant Task Conversion** feature, which allows you to convert checkbox tasks to TaskNotes with a single click. You can also choose whether to apply your default task settings to converted tasks.
## Natural Language Processing
You can enable or disable the **Natural Language Processor (NLP)**, which allows you to create tasks using conversational language. You can also set the default date type for ambiguous date references.
You can enable or disable the **Natural Language Processor (NLP)**, which allows you to create tasks using conversational language. You can also set the default date type for ambiguous date references.

View file

@ -4,9 +4,9 @@ These settings control the default properties for new tasks, as well as the file
## Folder and File Management
You can specify a **Default Tasks Folder** where all new tasks will be created. You can also configure the **Task Tag** that identifies notes as TaskNotes, and you can specify a list of **Excluded Folders** that will be ignored by the plugin.
You can specify a **Default Tasks Folder** where new tasks will be created. You can also configure the **Task Tag** that identifies notes as TaskNotes, and you can specify a list of **Excluded Folders** that will be ignored by the plugin.
TaskNotes also provides a flexible system for **Filename Generation**. You can choose from a variety of patterns, including title-based, timestamp-based, and Zettelkasten-style, or you can create your own custom filename template.
TaskNotes also provides a system for **Filename Generation**. You can choose from a variety of patterns, including title-based, timestamp-based, and Zettelkasten-style, or you can create your own custom filename template.
## Default Task Properties
@ -14,4 +14,4 @@ You can set the **Default Status** and **Default Priority** for new tasks, as we
## Template System
TaskNotes supports **Templates** for both the YAML frontmatter and the body of your task notes. You can use templates to pre-fill common values, add boilerplate text, and create a consistent structure for your tasks. Templates can also include variables, such as `{{title}}`, `{{date}}`, and `{{parentNote}}`, which will be automatically replaced with the appropriate values when a new task is created.
TaskNotes supports **Templates** for both the YAML frontmatter and the body of your task notes. You can use templates to pre-fill common values, add boilerplate text, and create a consistent structure for your tasks. Templates can also include variables, such as `{{title}}`, `{{date}}`, and `{{parentNote}}`, which will be automatically replaced with the appropriate values when a new task is created.

View file

@ -1,25 +1,25 @@
# Views
TaskNotes offers a variety of views, each designed to provide a different perspective on your tasks and notes. These views allow you to visualize your work in a way that best suits your current needs, whether you're planning your day, managing a project, or reviewing your progress.
TaskNotes offers a variety of views, each providing a different perspective on your tasks and notes.
## Task-Focused Views
These views are designed to help you manage your tasks and track your progress.
These views are for managing your tasks and tracking your progress.
- **[Task List View](task-list.md)**: A comprehensive, list-based view of all your tasks, with powerful filtering, sorting, and grouping capabilities.
- **[Agenda View](agenda.md)**: A chronological view of your upcoming tasks and notes, designed for daily and weekly planning.
- **[Kanban View](kanban.md)**: A visual, card-based view of your tasks, organized by status.
- **[Task List View](task-list.md)**: A list-based view of all your tasks, with filtering, sorting, and grouping capabilities.
- **[Agenda View](agenda.md)**: A chronological view of your upcoming tasks and notes, for daily and weekly planning.
- **[Kanban View](kanban.md)**: A card-based view of your tasks, organized by status.
- **[Calendar Views](calendar.md)**: A set of calendar-based views for visualizing your tasks and scheduling your work.
## Note-Focused Views
This view is designed to help you browse and review your notes.
This view is for browsing and reviewing your notes.
- **[Notes View](notes.md)**: A date-based view of your notes, allowing you to see what you've worked on each day.
- **[Notes View](notes.md)**: A date-based view of your notes.
## Productivity-Focused Views
These views are designed to help you stay focused and track your productivity.
These views are for focus and productivity.
- **[Pomodoro View](pomodoro.md)**: A fully-featured Pomodoro timer to help you work in focused intervals.
- **[Pomodoro Stats View](pomodoro-stats.md)**: Detailed analytics and visualizations to help you understand your work habits and improve your productivity.
- **[Pomodoro View](pomodoro.md)**: A Pomodoro timer.
- **[Pomodoro Stats View](pomodoro-stats.md)**: Analytics and visualizations of your work habits.

View file

@ -8,4 +8,4 @@ The Agenda View groups tasks and notes by time. The default groups are "Overdue,
## Focus Features
The view provides controls for the date range and for the display of completed tasks. It also uses visual styling to distinguish overdue and high-priority items.
The view provides controls for the date range and for the display of completed tasks. It also uses visual styling to distinguish overdue and high-priority items.

View file

@ -4,8 +4,8 @@ TaskNotes provides two calendar-based views for visualizing and managing your ta
## Mini Calendar View
The Mini Calendar is a compact, month-based view that shows which days have tasks. It's designed for quick navigation and for providing an at-a-glance overview of your task distribution.
The Mini Calendar is a month-based view that shows which days have tasks. It is designed for navigation and for providing an overview of your task distribution.
## Advanced Calendar View
The Advanced Calendar is a full-featured calendar with multiple view modes (month, week, and day), drag-and-drop scheduling, and time-blocking capabilities. You can create new tasks by clicking on dates or time slots, and you can reschedule tasks by dragging them to a new date or time.
The Advanced Calendar is a calendar with multiple view modes (month, week, and day), drag-and-drop scheduling, and time-blocking capabilities. You can create new tasks by clicking on dates or time slots, and you can reschedule tasks by dragging them to a new date or time.

View file

@ -1,6 +1,6 @@
# Kanban View
The Kanban View displays tasks as cards in columns, where each column represents a different status. This provides a visual way to manage your workflow, similar to tools like Trello or Jira.
The Kanban View displays tasks as cards in columns, where each column represents a different status. This provides a visual way to manage your workflow.
## Interface Layout
@ -8,4 +8,4 @@ The Kanban View consists of a set of columns, each corresponding to a status in
## Task Cards
Each task card displays key information about the task, such as its title, priority, and due date. You can click on a card to open the task for editing, or you can use the context menu to perform a variety of actions.
Each task card displays key information about the task, such as its title, priority, and due date. You can click on a card to open the task for editing, or you can use the context menu to perform a variety of actions.

View file

@ -4,8 +4,8 @@ The Notes View displays your vault notes organized by date, allowing you to brow
## Interface Layout
The Notes View consists of a date navigation header and a list of note cards. Each note card displays key information about the note, such as its title, path, and creation date.
The Notes View consists of a date navigation header and a list of note cards. Each note card displays information about the note, such as its title, path, and creation date.
## Note Actions
You can click on a note card to open the note in the current pane, or you can use the context menu to perform a variety of actions, such as opening the note in a new tab or showing it in the file explorer.
You can click on a note card to open the note in the current pane, or you can use the context menu to perform a variety of actions, such as opening the note in a new tab or showing it in the file explorer.

View file

@ -8,4 +8,4 @@ The Pomodoro View includes a timer with controls to start, stop, and reset the t
## Pomodoro Stats View
The Pomodoro Stats View provides analytics and historical data about your Pomodoro sessions. This includes a history of completed sessions, as well as metrics like completion rates and total time spent on tasks.
The Pomodoro Stats View provides analytics and historical data about your Pomodoro sessions. This includes a history of completed sessions, as well as metrics like completion rates and total time spent on tasks.

View file

@ -1,6 +1,6 @@
# Task List View
The Task List View provides a comprehensive, list-based interface for viewing and managing your tasks. It displays all of your tasks in a scrollable list, with powerful filtering, sorting, and grouping capabilities.
The Task List View provides a list-based interface for viewing and managing your tasks. It displays your tasks in a scrollable list, with filtering, sorting, and grouping capabilities.
## Filtering, Sorting, and Grouping
@ -15,4 +15,4 @@ You can also sort your tasks by any of their properties, and you can group them
## Task Actions
The Task List View provides a variety of ways to interact with your tasks. You can click on a task to open it for editing, or you can use the context menu to perform a variety of actions, such as marking the task as complete, changing its priority, or deleting it.
The Task List View provides a variety of ways to interact with your tasks. You can click on a task to open it for editing, or you can use the context menu to perform a variety of actions, such as marking the task as complete, changing its priority, or deleting it.