-
Notifications
You must be signed in to change notification settings - Fork 17
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
Improvements to task extraction #82
Comments
@rufuspollock
|
Don't think this is needed IMO / IME. The useful stuff was the emoji conventions i think. |
I've started working on this and have a basic prototype working. I need the inline fields as well as tags in order to manage a variety of tracking elements. It is not that difficult to add a "taskmetadata" and "tasktags" within the overall metadata field, but this kind of nesting will make sql queries get pretty awkward. I'm planning on having some kind of template or macro expansion syntax for common things but it should also be possible to use sql directly with json_extract functions. I'd like to propose having a tasks table and bringing everything up a level so that "description", "checked", "due", "completion", "created", "start", "scheduled" are columns and "metadata" contains tags and key-value pairs. I'd also like to consider outlinks as a field as well. Dataview has an extensive set of implicit fields but these are the ones I need to get started and which would also be pretty broadly useful. |
@dstengle this sounds pretty good and we're really open to contributions. My recommendation is that we start with whatever JS typescript object we want and then keep the export to sql cleanly separated. (That's the general approach we are going for). does that make sense? |
It does make sense although File vs FileInfo interfaces are confusing, for instance. I followed the pattern and there is working code in the fork here: https://github.com/dstengle/markdowndb/tree/parse-task-inline-fields. Take a look and let me know what should be there before I make a PR. In making this update I had to spend a lot of time updating unit tests with all of the repetition of document data being tested. Edit: I should note that the description extracted seems to be removing wikilinks and I'd like to have task level links as a property of Task. I'm also conflicted about the description vs some kind of display description that doesn't have tags and fields embedded for easier display without duplicate output. |
@dstengle hey, sorry for slow reply. This looks great. @mohamedsalem401 can you do a quick extra review to see if you have any suggestions and then we can create a PR.
Are there things you think we could de-duplicate to make this better?
I agree. I guess we may want "raw" description and cleaned description as per your suggestion. Or maybe just nor remove formatting or wikilinks from the extracted description. |
@dstengle And it would also be amazing if you updated the tests other than say.
|
Follow on to #60
Stuff like parsing out (like dataview):
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.Also maybe pulling all list items and being like dataview ...
The text was updated successfully, but these errors were encountered: