breadcrumbs icon indicating copy to clipboard operation
breadcrumbs copied to clipboard

FR: Integration with tag-alliases

Open safrilth opened this issue 2 years ago • 2 comments

My Intention

First of all, i'm not using english day to day basis, so forgive me if there are some mistakes..

Many people, including i'm, fall in ❤ with obsidian and many plugin.. Feel free if you agree/not, or you have another idea that more effective & efficient about :

  • general idea (integration this 2 plugins)
  • the syntax describe below
  • the logic describe below

i'm (and maybe some people in this thread are) not programmer/developer, so in the end all decisions we leave to the developer. what option is more :

  • make sense
  • more approachable
  • etc

Here's my idea

Recently, tag-wrangler-plugin add feature called tag note, more on that in here. it is using aliases to assign multiple tag to a note.

I think, tag-wrangler-note + breadcrumbs are awesome combination

Pasted image 20220216210058

is equivalent to (implementation with current breadcrumb plugin) :

Pasted image 20220217071708

Logic behind ? (for non technical people like me)

Pasted image 20220217093440

there some challanges (i think)

  1. what if the road file is not exist yet ? 1.1 ✅ the work around is the user must ensure the road file is exist 1.2 ❓ for the future, need more colaboration with tag wrangler author to make smooter experience
  2. why road file as parrent / up structure by default ? 2.1 ✅ from experience with other apps in the past, i think user mostly think sub tag as #parrent/child than #child/parrent 2.2 ❓ is same parrent siblings ? - ✅ is already solved in the setting, user can toggle choise that make sense for themself 2.3 ❓ what if there are more than 1 hierarchies ? how to spesify to spesific field ? - ✅ it solved in breadcrumbs-settings -> alternatives hierarchies -> tag notes -> default note field

Why it is important ?

  • tag is intuitive (at least, user already have some encounter with tag feature from many apps in the past, so user already have same experience)

  • the emergence of tag based workflow

    • core tag plugin :
      • provide list of nested tag
      • some time feel cluttered when you scroll so many tag
    • cross reference nav :
      • the project still in beta status
      • feels like core tag plugin on steroid
      • it's searchable (not like core tag plugin) and interactive UI (not like core search plugin)
    • tag wrangler
      • provide tag operation (rename, delete, add new tag)
      • provide tag page
        • it's assign multiple tag to a note (no more tag vs link debate)
        • All Roads Lead to Rome -> more insight
    • bread-crumb :
      • provide navigation of current page
  • Why navigation is so important ?

    • it's very easy to lost in your vault :
      • limited human memory to remember and make keyword to search something
      • by having many roads lead to your note, it's make a new insight
      • that mean you need many type of navigation like :
        • list navigation
        • cross reference navigation
        • navigation from current page
    • challenge :
      • it's must easy to setup
      • so we don't waste time for setup
      • but more time for insight

Why need Tag Aliases Integration ?

To be honest, here was my inital idea

Pasted image 20220217082732

I just wanted to make a Feature Request for multiple tag assign to BC-tag-note field as picture shown above. But it's seems a bad idea because you need spesified more lines to setup. So, why not leverage tag aliases feature from wrangler plugin usage ?

It is possible ?

Honestly, i quite happy with current workflow.. but if this Feature Request is approved, it will leverage many obsidian user to next level..

Thankyou for make awesome plugin ⭐⭐⭐⭐⭐ And sorry for the long post..

safrilth avatar Feb 17 '22 03:02 safrilth

Just want to cross reference this issue here: https://github.com/pjeby/tag-wrangler/issues/40, in case it's relevant to evaluating or designing this feature. Tag Wrangler's tag pages are merely providing a way to have an overview page for a tag, so that you can document the tag itself, have a home for dataviews related to the tag, and so forth. If you're using tags as topics, then it might well be reasonable to consider the hierarchy of two tag pages to be relevant to generating breadcrumbs or navigation links between them.

Feel free to let me know if you'd like an official API exposed from Tag Wrangler to get the note that corresponds to a tag. (The current method on the plugin object is tagPage(tag: string): TFile|undefined, if you want to try it out.)

But also, it's important to note this feature doesn't really have anything to do with Tag Wrangler per se: TW is just using aliases that are syntactically valid tags in order to find the note "for" a specific tag. So you could in principle support the feature without TW even being installed, but you'd then have to maintain the same sort of index mapping that Tag Wrangler does. (See the tagPages property and the various calls to updatePage() in src/plugin.js.)

pjeby avatar Feb 17 '22 17:02 pjeby

Just want to cross reference this issue here: pjeby/tag-wrangler#40, in case it's relevant to evaluating or designing this feature. Tag Wrangler's tag pages are merely providing a way to have an overview page for a tag, so that you can document the tag itself, have a home for dataviews related to the tag, and so forth. If you're using tags as topics, then it might well be reasonable to consider the hierarchy of two tag pages to be relevant to generating breadcrumbs or navigation links between them.

Feel free to let me know if you'd like an official API exposed from Tag Wrangler to get the note that corresponds to a tag. (The current method on the plugin object is tagPage(tag: string): TFile|undefined, if you want to try it out.)

But also, it's important to note this feature doesn't really have anything to do with Tag Wrangler per se: TW is just using aliases that are syntactically valid tags in order to find the note "for" a specific tag. So you could in principle support the feature without TW even being installed, but you'd then have to maintain the same sort of index mapping that Tag Wrangler does. (See the tagPages property and the various calls to updatePage() in src/plugin.js.)

thank you for the respond.. you right, this can be implemented without tag wrangler installed.. pjeby/tag-wrangler#40 i create, because i want to integrate tag-wrangler with this cross navigation plugin -> ✅ its already solved using your proposed solution..

what i meant by integration in this issues, is a little integration at point 1.2.. (the work arround at point 1.1, but if necessary to make smoother experience 1.2 is needed in the long future)

here's my question related to 1.2 :

is it possible ? [[new file that dont exist yet|#newtag]] when this clicked it will create :

filename : new file that dont exist yet aliases : "#newtag"

but, after more search, i think core obsidian is working on something like this..

  1. here feature request related point 1.2 in core obsidian
  2. here's quote from obsidian v.0.13.23 -> help note -> Add aliases to note

In the future, we'll consider more user-friendly ways to manage aliases than manually writing them in front matter.

conclusion ?

  1. this feature can be achieved without tag wrangler instaled -> i will change this issue title
  2. its looks like core obsidian is working on point 1.2

safrilth avatar Feb 17 '22 21:02 safrilth