Tags as GTD tool?

Hi folks, enjoying the setup process for Obsidian. Many thanks in particular to @nickmilo for his beginner video course.

For my GTD process I’d like to be able to use tags as contexts that pull up a list of context-appropriate tasks. For example, if I have a bunch of things I need to do after upgrading my phone to iOS14, and those things are spread through multiple docs, I’d like to be able to search “#iOS14” to generate a clear list of contextual to-do’s.

Is this possible with Obsidian currently? I understand how to copy search results, but that gives me document titles, not the specific text lines that end with a tag.

1 Like

For sure. Embedded queries can work for this.

https://publish.obsidian.md/help/Plugins/Search

I built the Vantage plugin to provide a GUI and guidance on building complex searches with this kind of use case in mind.

1 Like

@ryanjamurphy Ahhh, thanks. I’d been searching for tag help vs search help. That mostly solved the issue. Downloaded Vantage, looks great, looking forward to exploring it.

In case a dev reads this - a further embedded search optimisation for this use case would be seeing the full tagged text line/paragraph in the embedded search, vs having to click through to each original doc to see the context.

You can use line:(#tag) for that, I believe.

@ryanjamurphy sorry, do you mean in the search string like:

line:(#iOS14)

Or ‘line’ is standing in for the source text, so eg:

App 1, App 2, App 3: (#iOS14)

The search string!

1 Like

Thanks! Hmm, though that’s not showing the full line (there’s text in the line before ‘so,’

Ah, you’re right. You need to use regex to get any characters before/after the tag.

line:(/.*(#sometag).*/)

I think that’ll work.

1 Like

YESSSSSS - thanks! Showing up perfectly. Now to write an auto expander for that string…

1 Like

Working through this myself. I’m leaning towards #context/errand, #context/home and then @context pages such as @errands, @home.

The fastest way to access these is Ctrl-O, @...

I have a embedded query on each which is (line:#context/home) -@home, with the page itself excluded otherwise it turns up in the query.

What I not yet managed is to have it exclude to do items already checked off.

I spoke too soon. It was all in the bracketing. Look for lines which are both the context and unchecked, then the page with the query itself need not be excluded as it doesn’t match anyway.

line:(#context/errand (/- \[ \].*.*/))

1 Like

@dcb thanks for sharing!

1 Like

@ryanjamurphy looping back – guessing there’s no way to exclude the regex itself from the search results? i.e. the #ios14 tag in the search string shows up in the search results, using the above method

Sure, the easiest way is to include -"line:(" in the search still string.

1 Like