-
-
Notifications
You must be signed in to change notification settings - Fork 150
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
Tag zettels #379
Comments
This might also take some inspiration from the hierarchical index of @b0o's https://github.com/b0o/neuron-extras |
Switch to |
|
If tags are treated as just another link, we can still identify which links are tags by using an edge label on the graph. Currently we have two edge labels -- cf & folgezettel -- now, we simply add a third label to denote tags.
just as:
or:
And hierarchical tags can delineate into multiple links, one for each level of hierarchy:
|
I really like the ideas that you've outlined so far! I have a question regarding your comment on dealing with hierarchical tags:
This could be due to me being newer to the whole concept of zettelkasten, but could we not view tags (and their zettels) as having a folgezettel relationship with the zettels that use those tags? It seems like you're kind of suggesting that in this comment around free index zettels for each level of tag in a hierarchy, but I guess I'm slightly confused around what makes a tagging relationship distinct from that of a folgezettel relationship. |
Right, that was my thinking - for the default generated tag zettels. I suppose the following folgezettel relationships can be implicitly created, in the generated zettels:
Basically a tag(node) zettel "branches off" to both child-tag(node) zettels and zettels that are tagged with it. I think this is exactly what https://github.com/b0o/neuron-extras does. However, if the user creates This is why (that backlinks are still valid when user creates the tag zettel, unlike folgezettel "foward" links which vanish) I'm increasingly moving towards relegating folgezettel relationships as cherry-on-top, and focus more on non-folgezettel (i.e, normal) relationships. In that sense, tagging == linking. And "zettels tagged foo" == "backlinks of foo". So, in theory, tagging can be eliminated entirely, and re-added simply as a syntatic alias to the existing zettel/linking functionality. In my personal zettelkasten, I'm increasingly moving towards simple linking (i.e., Not sure if that answers your question. In any case, I have not made any 100% concrete proposal here; just throwing some general ideas. This issue is still open for alternative suggestions, or new ideas. One thing is sure: tags should be unified with linking, as that is what they are in essence. How we implement that is what needs to be speced out. |
What you've written makes a lot of sense, thanks for the explanation and the additional context! |
While making progress on #497, I realized that this tag zettels proposal can be vastly simplified to mean just one thing: tagging, ( (We ignore hierarchical tags with a slash, as those are not relevant - based on the design decisions made on #497, which the tag zettel plugin would likely be based on) |
Actually, we may be able to use them. By having the dirtree plugin automatically tag child zettels with their parent folder; then, the the tag-zettel plugin can do the rest of the job, of forming links and rendering them. For example, the dirtree plugin can automatically tag |
In my University time I used to have the following files tree:
What I'd expect tagging system which takes into account the folder tree hierarchy is to tag each file by each folder name in its tree. So if I search for I'd be happy if you give it a thought. Thank You. |
Splitting this "mega" proposal into individual units:
Closing this one, in favour of the above. |
Proposal
Treat tags as zettels.
Every tag
#foo
(see inline tags in #189) is, conceptually speaking, also a zettel, with IDfoo
, and as such gets the associatedfoo.html
generated page (with an implicit[[z:zettels?tag=foo]]
query in it, for listing tagged zettels).Now here comes the interesting part: if the user already has a zettel file
foo.md
, then that zettel is used as the "tag zettel" - and all instances of inline tags will link to it. This is useful if you want to take custom notes on the tag itself.Brainstorming / open questions
At this point, one might ask - why not unify the tagging and linking syntax? For example, why not link to some zettel "ef324s3" as
#ef324s3
(i.e. no different to "tagging")? Because, now, both tagging and linking creates an edge in the zettel graph. Consequently, the tag queryz:zettels?tag=foo
becomes equivalent to the (yet to implement) backlinks queryz:zettels?to=foo
.How do we deal with hierarchical tags? What does
foo/bar/baz
map to? What about its intermediaries (eg:foo/bar
)?The text was updated successfully, but these errors were encountered: