-
Notifications
You must be signed in to change notification settings - Fork 16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Tasks: extract tasks like this - [ ] this is a task
(See obsidian data view)
#60
Comments
Just to be on the same page:
Those are not needed for now, but I will leave them here anyway:
|
@mohamedsalem401 good analysis and i think i would start by defining the JS/TS object that a task gets converted to e.g.
And then give an example e.g. - [ ] publish hello world turn into ... |
Is this now done? |
The code is ready, and tests were added/updated. However, one question remains: where should the tasks be added?
|
@mohamedsalem401 add to file metadata and don't worry about sqlite for now. Just have an attribute on File called tasks. |
This is the old analysis interface Task {
/** The text in between the brackets of the '[ ]' task indicator ('[X]' would yield 'X', for example.) */
status: string;
/** Whether or not this task has been checked in any way (its status is not empty/space). */
checked: boolean;
/** Whether or not this task was completed; derived from 'status' by checking if the field 'X' or 'x'. */
completed: boolean;
/** Whether or not this task and all of its subtasks are completed. */
fullyCompleted: boolean;
}; Key Features:
Distinguishing Tasks from List Items: In DataView, tasks and list items are distinct entities. Tasks are characterized by the presence of checkboxes and associated status indicators, while list items are managed independently. This clear differentiation ensures the precise handling of tasks within DataView. Unique Features: Task Completion Analysis:
|
@mohamedsalem401 can you put the summary of dataview in the body of the description (and then just put a note in the comment that you've added material). @mohamedsalem401 in terms of the summary i thought the dataview approach were that tasks were just a subtype of ListItem - if so i would definitely included the interface definition of ListItem or whatever it is called. |
@rufuspollock |
@mohamedsalem401 how much work is it to extract the extra fields e.g.
Can we find the code for this in dataview and reuse? |
FIXED. Follow up in #82 |
extract tasks like this
- [ ] this is a task
(See obsidian data view)Acceptance
tasks
property with list of tasks ✅2023-11-27 in PR [ #60 , extract tasks ] #71Design
This is the
ListItem
interface forDataView
What might be beneficial for us:
Symbol: It could be '*', '-', '1.', or another character.
Link:
Text:
Tags:
Parent and Children Information:
parent?: number;
Represents the line number of the parent list item, if present. If undefined, this is a root item.
children: number[];
Represents the line numbers of children of this list item.
Scenario in which we might need it: When organizing tasks in a hierarchical manner, the parent and children information becomes crucial. For instance, in a project management tool, a parent task could represent a project, and its children could be individual tasks or subtasks. This hierarchy helps in visualizing and managing the project structure.
created
: This field could be used to show when a task was initially created.due
: It provides the due date for a task.start
: Represents the start date of a task.scheduled
: Indicates the scheduled date for a task.Distinguishing Tasks from List Items:
In DataView, tasks and list items are distinct entities. Tasks are characterized by the presence of checkboxes and associated status indicators.
Notes
And then give an example e.g.
turn into ...
Unique Features That
DataView
has and we don't:Comprehensive Task Completion Status:
DataView surpasses basic completion tracking by assessing not only the task's completion status but also examining whether all subtasks associated with it are fully completed.
Selective Property Extraction:
In addition to task completion analysis, DataView offers the functionality to selectively extract specific properties related to time management. The properties considered for extraction are:
created
: If available, the 'created' property is extracted and incorporated into the DataView result.due
: If present, the 'due' property is extracted and included in the DataView result.start
: If the 'start' property exists, DataView extracts and integrates it into the result.scheduled
: DataView also considers the 'scheduled' property, extracting and including it if available.List of Children:
This might be needed to check for subtasks.
The text was updated successfully, but these errors were encountered: