Code Monkey home page Code Monkey logo

tag-wrangler's Introduction

Obsidian Tag Wrangler Plugin

NEW in 0.6.0

  • Open or create a tag page by alt/opt clicking a tag in any note (or the tags view)
  • Use the Tag Wrangler context menu for tags in the body of a note (editor or preview mode)
  • Drag-and-drop tags to rename/reorganize them
  • Drag tags from the tags view or a note preview to an editor pane to insert them as text.

This plugin adds a context menu for tags in the Obsidian.md tags view, with the following actions available:

Image of tag wrangler's context menu

  • Open or create a Tag Page (NEW in 0.5.0)
  • Rename the tag (and all its subtags)
  • Start a new search for the tag (similar to a plain click)
  • Add the tag as a requirement (tag:#whatever) to the current search
  • Add an exclusion for the tag (-tag:#whatever) to the current search
  • Open a random note with that tag (if you have the Smart Random Note plugin installed and enabled)
  • Collapse all tags at the same level in the tags view
  • Expand all tags at the same level in the tags view

Depending on the current state of the search and tag views, some actions may not be available. (e.g. expand and collapse are only available when the tags view is showing tags in a hierarchy.)

Please note: renaming a tag is potentially an irreversible operation: you may wish to back up your data before beginning a rename. See the section on Renaming tags below for more information.

Installation

Search for "tag wrangler" in Obsidian's Community Plugins interface, or click here to open it in your most-recently-used vault. (Then select "Install" and "Enable".)

Also, make sure that you have enabled the "Tags View" plugin, in the "Core Plugins" section of your vault's configuration. This plugin adds a context menu to the pane provided by that plugin, and does not have any UI of its own.

Tag Pages

People often debate the merits of using tags vs. page links to organize your notes. With tag pages, you can combine the best of both worlds: the visibility and fluid entry of tags, plus the centralized content and outbound linking of a page.

To create a tag page, just right click any tag in the tags view, then select "Create Tag Page". A new note will be created with an alias of the selected tag. You can rename the note or move it anywhere you like in the vault, as long as it retains the alias linking it to the tag. (Renaming a tag associated with a tag page (see "Renaming Tags", below) will automatically update the alias.)

To open or create a tag page, you can Alt-click (Option-click on Mac) any tag in the tags view or any note, whether in editing or reading view. Ctrl/Cmd-click or middle click plus Alt/Option will open the tag page in a new pane. (Note: if no tag page exists, you'll be prompted for whether you want to create it. If you cancel, the normal click behavior of globally searching for the tag will apply.)

Or, you can enter the tag's name in the Obsidian "quick switcher" (default hotkey: Ctrl/Cmd-O) to open the page from the keyboard. You can also hover-preview any tag in the tags view or any markdown views to pop up a preview of the tag page.

(If you're not familiar with hover-previewing, the basic idea is that by holding the Ctrl/Cmd key while moving the mouse pointer over an item in Obsidian, a popup will often appear with a small version of the relevant page. You can also go into the settings for the built-in "Page Preview" plugin and selectively disable the need for using the Ctrl/Cmd key, if you prefer to just hover without it. Tag Wrangler respects your existing settings for hovering links in Editor and Preview views, and adds an extra setting for "Tags View" that controls whether it will require the Ctrl/Cmd key when hovering tags in the tags view.)

Tag Wrangler does not (yet) support automatic conversion of tag references to page links or vice versa, though it may in a future version. In the meantime, however, you can use Obsidian's backlinks to find and change such references from the tag page. Specifically, viewing a tag page's "unlinked mentions" will show you all the locations where the tag was used in the body of a note, and "link" buttons you can use to convert them to page links. (Converting page links to tags requires hand editing.)

(Note: to see "unlinked mentions", you have to click the part of the backlinks pane that says "unlinked mentions" to perform the search, as it's not done by default. Also, the Obsidian unlinked mentions feature does not support the tags property, only tags used in the note body.)

Manually Creating and Managing Tag Pages

You do not have to use the "Create Tag Page" menu command to create a tag page: any page (even Kanban boards or Excalidraw drawings!) can be a tag page as long as it has a tag as a valid Obsidian alias. You can validate whether a particular page has a valid alias in one of two ways:

  • Open the Obsidian Quick Switcher (Ctrl/Cmd-O by default) and type # followed by the tag name: the page should show up with the tag as an alias
  • Switch the note to preview, and see if the "Aliases" in the metadata box at the top of the note has a shape containing the tag (with an arrow and a # at the front)

If it does not show up in either of the above places, it's likely that your note's metadata is syntactically incorrect in some way. Obsidian recognizes the first field named Alias or Aliases (case-insensitive) and expects it to be either a YAML list of strings or a single string of aliases separated by commas. To be recognized as a tag alias, the string or strings must be quoted. Here are some valid examples of an alias or aliases field that contains a tag, each of which would cause the note to be considered the tag page for #some/tag:

---
Alias: "#some/tag"
---
Aliases: [ "#some/tag", "another alias" ]
---
alias:
  - some alias
  - "#some/tag"
  - another alias
---
aliases: "some alias, #some/tag, another alias"
---

Notice that either each item must be quoted and be in a valid YAML list ([ ] or lines with -), or else the entire alias collection should be quoted and comma-separated. A tag alias must also not contain any whitespace or other text.

When a tag is renamed, Tag Wrangler will automatically update the alias. You can also manually edit or remove the aliases to disconnect a tag page, add additional tags (in case you want more than one tag sharing the same page), or change what tag the page is for.

Finally, note that nothing prevents you from adding the same alias to more than one note, but in such a case Tag Wrangler will select the tag page at random from the available options. To fix this, use the quick switcher to search for notes with that alias (i.e., by typing # and the tag name), then remove the alias(es) from the note(s) you don't want to use as tag pages.

Renaming Tags

Just like renaming notes, renaming tags involves making substitutions in all the files that reference them. In order to ensure only actual tags are renamed, Tag Wrangler uses Obsidian's own parse data to identify the tag locations. That way, if you have a markdown link like [foo](#bar), it won't consider the #bar to be an instance of a #bar tag.

Because tags exist only in the files that contain them, certain renaming operations are not reversible. For example, if you rename #foo to #bar, and you already have a #bar tag, then afterwards there will be no way to tell which files originally had #foo and which had #bar any more, without consulting a backup or revision control of some kind.

For this reason, Tag Wrangler checks ahead of time if you are renaming tags in a way that will merge any tags with existing tags, and ask for an additional confirmation, warning about the lack of undo. (Not that any renames are really undoable, it's just that if no merging takes place, you can generally rename the tag back to its old name!)

If you are using some type of background sync (e.g. Dropbox, GDrive, Resilio, etc.), and it causes any files to be changed while Tag Wrangler is doing a rename, Tag Wrangler may skip the changed file(s), resulting in a partial rename. Generally, repeating the same rename option should work to finish the process, but in case of merges you may have to be more careful. (It's probably best you make sure any sync operations are completed before beginning any rename operations.)

If many files need to be changed, or if renaming proceeds slowly, a progress dialog will be displayed, giving you the option to abort the renaming process. This will not undo changes made prior to that point, only stop further changes from occurring.

Tags With Child Tags

Obsidian allows hierarchical tags of the form #x/y/z. When you rename a parent tag (like #x/y), all of its child tags will be renamed as well.

So for example, if you rename #x/y to #a/b, then a tag that was previously named #x/y/z will be renamed to #a/b/z. (There is no way to rename only the parent tag, except by individually renaming all its child tags to move them under another parent.)

If you want to refactor your tag hierarchy, note that you can rename a tag and its children to have either more or fewer path parts than it did before. That is, you can rename #x/y to just #x, and then your #x/y/z tag will become #x/z. Or conversely, you can rename #x/y to #letters/x/y, which will move #x/y/z to #letters/x/y/z.

Many possibilities are available for refactoring your tags. Just be sure to make a backup before you start, keep track of what you're changing, and check on the results before you sync or commit your changes.

Metadata / Front Matter

Obsidian allows tags to be specified as part of a note's metadata via YAML front matter. Tag Wrangler will attempt to rename these as well as those found in a note's body.

In most cases, this will not cause any issues. However, you are using advanced YAML features to specify your tags (YAML aliases or block scalars), there are two points you should be aware of.

First, if you are using YAML block scalars (< or |) to specify your tags, a renamed tag may affect the indentation, spacing, or wrapping of the tags field. Second, if you are using YAML aliases (*) in your tag list, renaming an aliased tag will expand the alias in place, rather than changing the anchor that defined it.

The indentation issue has been reported to the upstream library, and hopefully there will be some sort of solution in the future. For aliases, the current behavior is a deliberate choice to avoid changing non-tag values in your metadata. So if you are using either of these more-advanced YAML features, you should probably experiment with some fake tags in a scratch note before doing any vault-wide renames.

Case Insensitivity

Tag Wrangler uses the same case-insensitive comparison as Obsidian when matching tags to change, and checking for clashes. Please note, however, that because Obsidian uses the first occurrence of a tag to determine how it is displayed in the tags view, renaming tags without consistent upper/lowercase usage may result in apparent changes to the names of "other" tags in the tags view.

Let's say you have a tag named #foo/bar and you rename #foo to #Bar/baz. But in the meantime, you already had a tag called #bar/bell. This might cause you to now see that tag displayed in the tags view as #Bar/bell, even though Tag Wrangler did not actually replace any existing #bar/bell tags in your text! (As you will see if you search for them.)

Rather, this kind of thing will happen if the #Bar/baz tag is the first tag beginning with some variant of bar that Obsidian encounters when generating the tags view. Obsidian just uses the first-encountered string of a particular case as the "display name" for the tag, and then counts all subsequent occurrences as the same tag.

This is just how Obsidian tags work, and not something that Tag Wrangler can work around. But you can easily fix the problem by renaming anything that's in the "wrong" case to the "right" case. It just means that (as is already the case in Obsidian) you can't have more than one casing of the same tag name displayed in the tags view, and that now you can easily rename tags to a consistent casing, if desired.

Canvas Support

Please note that tag renaming is not supported for tags in Obsidian Canvas files yet, as Obsidian itself doesn't fully support such tags yet either. (That is, tags in canvas text do not appear in the tags view counts or in Obsidian's internal indexes, so from Tag Wrangler's perspective they aren't findable and don't exist.) If some future version of Obsidian addresses this, this limitation may be removable then, depending on how the issue is addressed.

Developer Notes

Tag Wrangler triggers the following events on the app.workspace that may be useful for integration with other plugins:

tag-wrangler:contextmenu

This event allows other plugins to add menu items to the Tag Wrangler context menus. You can register a callback like this:

type menuInfo = {
  query?: string           // the current global search query
  isHierarchy: boolean     // true if the tag is a child tag in the tags view (sorted by hierarchy)
  tagPage: TFile|undefined // the tag page for the note, if it exists
};

this.registerEvent(
  app.workspace.on("tag-wrangler:contextmenu", (menu: Menu, tagName: string, info: menuInfo) => {
    // add items to menu here
  })
);

tag-page:will-create

This event allows other plugins to take over creation of tag pages. You can register a callback like so:

type tagPageEvent = {
  tag: string
  file?: TFile | Promise<TFile>
}

this.registerEvent(app.workspace.on("tag-page:will-create", (evt: tagPageEvent) => {
  if (!evt.file) {
    // create the file here, then save it in the event
    evt.file = someAsynFunctionReturningaTFilePromise();
  }
}));

You can set the file to the result of calling an async function (as shown), but the event handler itself must not be async nor should it await anything. If it's async, you will most likely end up with multiple files created because Tag Wrangler and any other event handlers for the event will think no other plugin has created one.

Note that if evt.file is anything but undefined, your callback must not do anything, as the file has already been created or is in the process of being created. If you want to modify an already-created tag page file, use the tag-page:did-create event instead. (See below.)

For users of Quickadd and other plugins that allow user-defined Javascript, note that the this.registerEvent() call may need to be replaced with something like app.plugins.plugins['quickadd'].registerEvent(). You should also only run this code once, when the plugin is initialized, and not as part of a command or template.

tag-page:did-create

This event allows other plugins to modify or rename a newly-created tag page. It has the same callback signature as tag-page:will-create, except the file field will always contain a TFile. (The one created by Tag Wrangler or by a callback to tag-page:will-create.) You should use the app.vault.process() method to do any changes, to prevent accidental file overwrites and data loss. (It should also be safe to app.vault.rename() it to change its name or location.)

Unlike event handlers for will-create, the handler for did-create can be asynchronous.

tag-wrangler's People

Contributors

pjeby avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

tag-wrangler's Issues

Fail to get Tag Wrangler contextual menu to open

I'm burnin a lot of time trying to resolve this. Sorry for an operational question, but I'm stuck.

I've enabled the core plugin Tag Pane (and tags are visible in the sidebar), installed Tag Wrangler and enabled it, but I can not find a way to cause the Tag Wrangler contextual menu to pop up. I've tried every type of click modifier I can think of, long clicks, anything and everything, and I can't hit it.

The documentation says Tag Wrangler has no UI and adds a contextual menu to the Tag Pane. Can you describe how to trigger the contextual menu? Much appreciated.

(This relates to Obsidian on macOS, Big Sur.)

Issue editing YAML tags

First of all - thanks for this great plugin! It's pretty cool and works amazingly!

I am not sure whether this is a user error or an actual bug, so I decided to log it anyway - feel free to just close it if it doesn't make sense.

I wanted to use a note Metadata to add notes. Using metadata, the only way for a tag to be added to the tags list is to add it as:

---
tags: mytag
---

As you can see, it cannot have the # at least on my end. I like this though, as it is the only way to actually show the tag in the note which I find useful.

However, when built this way, the tag renaming doesn't work:

tag-wrangler 1

tag-wrangler 2

tag-wrangler 3

FR : is it possible to treat *aliases tags* like *real tags* ?

i'm just curious for the future development..

is it possible to treat aliases tags like real tags ?

Pasted image 20220217162326

  • ❓ for problem above ?

    • ✅ workaraound -> instead FROM #tag we can use FROM [[#tag-link-aliases]]
  • ❓ how about other plugin that leverage uses of tag ?

    • there are so many plugin that uses tag as their input
  • 💡 if it's possible -> this feature allows interopability with other plugin -> game changer

Tag page page links are not recognized as tags

This could be some misunderstanding or user error on my part, but I'm trying to figure out how to implement tag pages in my workflow.

This line from the documentation:

Specifically, viewing a tag page's "unlinked mentions" will show you all the locations where the tag was used and "link" buttons you can use to convert them to page links. (Converting page links to tags requires hand editing.)

Makes it seem to me that the intended workflow is to create a tag like "#tag", then right click it in the tag pane and convert it to a tag page. Then, I can go to unlinked backlinks on the tag page, and click the "link" button on every unlinked instance... this replaces the tag on those notes with "#[[tag]]".

I replaced a few like this before realizing that "#[[tag]]" tags no longer show up in the tag pane and you can't search for them like "tag:#tag" or even "tag:#[[tag]]".

I like the idea of using tag pages to get the best of both worlds from tags and pages, but I'm struggling on how to get them to function as tags and also proper backlinks.

Search optionf for list of tags

After migrating from Evernote to Obsidian, I have a really large collection of tags which is annoying slow to scroll through. Would you please add a search filter option similar to what the Backlinks plugin has? That would be a great help

Delete tag command

Surprisingly, clearing a name of a tag does not delete it. On the other hand, it is indeed an 'invalid name'.
Still, sometimes there is a need to delete a tag from every note without using an external tools.
It should ask confirmation and/or allow undo, I think.

Thanks for patching the boat! It works great and seamless so far.

[FEAT] ignore specific folders in the setting tab

Hi, pjeby.
Please consider adding a feature to ignore specific folders in the setting tab.
My vault has various folders like official documents "Typescript Deep dive" which I cloned from Github, many Readme files or blog markdown folder to generate static site by Hugo and so on. When trying to rename tags, it may trigger to unintentionally change file contents in those folders. These folders have markdown files which I don't know or I don't create by myself.

And also, there may be important documents we don't want to change at all. In order to protect those documents from unintentionally change, I think this feature is important.

Thanks.

Template for tag pages

Hi,

  1. If I understand correctly, a "tag page" created by the plugin does not include a list of notes and I'm responsible to create a dataview of it. Am I right?
  2. If so, is there a way to provide a default template when creating tag pages?
  3. Can I reference the current Aliases: ["#foobar"] in my dataview? This doesn't work:
---
Aliases: [ "#foobar" ]
---

```dataview
table from aliases[0]
```

Error:

Dataview: Error: 
-- PARSING FAILED --------------------------------------------------

> 1 | table from aliases[0]
    |            ^

Expected one of the following: 

'!', '(', '-', 'csv(', 'outgoing(', file link, string, tag ('#hello/stuff')

Plugin doesn't seem to work with all caps tags

I'm using all caps tags for certain abbreviations but it seem to break the plugin's capability of handling nested tags.
I've tested the following setups:

  1. Fresh vault with only a single file in it. The file content is this:
#ABC/DEF/GHI
#ABC/DEF/JKL
#ABC/DEF/MNO

Now if I try to rename ABC or DEF (to ABC2 or DEF2), nothing happens - there are zero replacements made.

  1. Same setup but the file content is now this:
#abc/DEF/GHI
#abc/DEF/JKL
#abc/DEF/MNO

Now I can rename 'abc' to 'abc2', but still can't rename DEF to DEF2

Same setup, this file content

#ABC/def/GHI
#ABC/def/JKL
#ABC/def/MNO

Now again, I can't rename ABC or 'def'.

  1. Even more interestingly I can rename lowercase tags to uppercase ones, but that seems to be an irreversible operation. So if I start with this:
#abc/def/GHI
#abc/def/JKL
#abc/def/MNO

I can rename 'abc' to ABC, but after that, I can't rename it back to 'abc'

So long story short, higher level renaming only work if all the tags are lowercase. Is this intentional? Could this be fixed?

Bug: not compatible with dataview-plugin

  • Whenever tags are renamed in tag-wrangler plugin, the tags mentioned in dataview block is not appended
  • Eg
    • If i change Tag name #Tag1 with #Tag2, change will reflect everywhere in vault except in dataview block
      ```dataview
      list
      from #tag1(not changed to #tag2)
      ```

Purpose of Alias Page?

What is the Purpose of the Alias Page?

What I was hoping for is that if I searched for "tag:dog", I would get everything with the tag:cannie, tag:pooch

Title:dog

Aliases: [ "#cannie, #pooch ]

Renaming produces TypeError: t.toLowerCase is not a function

I am frequently encountering the following error when renaming tags:

error: TypeError: t.toLowerCase is not a function

Obsidian--Tag Wranglr--TypeError--Issue-2022-10-05

For example, this error occurred when trying to rename "amex" to "30-org/amex".

My environment:
Obsidian: v0.15.9
Tag Wrangler: 0.5.3
OS: macOS Monterey v12.6

Feature Request: Recognize tags inside code blocks

Use case

  • Query
    • Whenever query a line/block using #tag as parameter/input - making dynamic notes with common database
  • Dataview
  • To list out all notes using #tag as parameter/input

Why only tag-wangler

  • giving a tag to a block/note is dynamic and spontaneous but later one needs to cleanup tags and tag-wrangler provide exactly this functionaly
  • but if it's not able to provide tag recognition in code-blocks, it creates inconsistency in notemaking

A Humble request

  • Though your plugin is great with little room to imporvement, atleast i think so, but if possible, please add the following functionality

Related issue

#20

Renaming tags when braces used in front matter causes unexpected behaviour

I have the following front matter:

---
title: Awaken the Giant Within
tags: ln/1☀️ book
author: [[Tony Robbins]]
---

Renaming tag "ln" to "l" using the tag pane results in the following- note spaces on author line.

---
title: Awaken the Giant Within
tags: l/1☀️ book
author: [ [ Tony Robbins ] ]
---

[Feature] Search tags in tag pane

Would be good to have feature to search in your tag pane.
As for person who started using tags a lot I miss feature in obsidian that allow me to search in my already created tag list

Filter tags list in tag pane when selecting multiple tags

I wonder if this would be possible for you to create such a functionality, that...

tags list gets filtered when choosing (clicking on) tags, so only tags that occur in documents together with selected tag(s) are shown in the list. Every click (another selected tag) narrows list down, deselecting previously selected tag widens list back.

(text copied from a feature request on forum: https://forum.obsidian.md/t/filter-tags-list-in-tag-pane-when-choosing-tags/12352)

Tag deletion?

Given that tag-wrangler can find each tag location, line by line, it would be so handy if I could right click and select to delete a tag. I often find that my tag choices are suboptimal. Sometimes, I want to rename. However, sometimes I just want to nuke the tag entirely.

Great plugin!

Doesn't seem to work with Metadata?

Tags that are edited don't seem to edit the tags in the meta-data. I am extremely dependent on your brilliant plugin for all my workflow management and updating and so I am quite cautious now to put tags in the metadata rather than the body. I'm not sure if there is a trivial fix to this?

Dark Mode obscures input text field

I have Obsidian set to Dark Mode. When I right click on a tag and choose Rename the popup for the new name is showing black text in a dark gray box
Screen Shot 2021-04-24 at 1 22 51 pm

Adding support for mobile devices?

Hello, and thank you for this very helpful plugin.

I see that this plugin is currently marked as "isDesktopOnly": true.

Is there any possibility of it being changed to support mobiles, please?

Is it known what needs to be done, in case someone else (maybe me) might be able to contribute with a PR?

Sourcemap

Please, don't include SOURCEMAP code to production version!

It is more than 900 kb

Plugin is inacessible

Hello,

It looks like the Tag Wrangler plugin is inaccessible in my Obsidian.
I cannot use it as it's not present anywhere, despite being enabled.

image

image


  • Obsidian v0.12.13
  • macOS 11.5
  • active plugins:

image

Appending new tags to certain tagged pages

Thank you for your dedication towards this plugin! It works perfect with the current work flow.

It would be awesome if we could append new tags after the tag of certain tagged pages or searching results.

Feature request: Custom Tag arrangements

I like to arrange the tags, by frequency of use, but I have many other tags which I need to arrange in a certain order.

Is it possible to add that feature?
Thanks

Delete a label in all notes in bulk

I would like to be able to delete one of my notes with one click .
While I'm working, I need to connect a series of notes with tags, but after I'm done, I want to be able to bulk remove expired labels. We look forward to your consideration.

Feature Request: Default Tags

Feature Request

Default Tags

I'd love a feature that let you specify a number of default tags for a given folder, and when you created a new note in that folder, it would auto-create the yml frontmatter with the default tags already applied.

Please add an option to collapse top-level tags without children

Use case: I have a few curated tag hierarchies (c/ for context, l/ for location, p/ for person) and a lot of ad hoc tags with no structure or hierarchy.

It would be great if it was possible to collect all top-level leaf tags into one expandable bucket, at the same level as all of the other top-level non-leaf tags.

"Collapse tags at this level" only works for tags in the current view of the tag pane

When using the command "Collapse tags at this level" to fold tags in the tag pane, only tags in the current view are folded, instead of all tags.

For example, if the full tag list is:

Note
    NotStarted
    InProgress
Book
    Read
    NotRead
Movie
    Watched
    NotWatched

But the current view only shows:

Note
    NotStarted
    InProgress
Book
    Read
    NotRead

Then using the command "Collapse tags at this level" on the Book tag will only collapse the Note and Book tags, not the Movie tag:

Note >
Book >
Movie
    Watched
    NotWatched

Use Obsidian's Modal class

I've finally started using tags in my workflow and the plugin works great! 😄

It would be awesome if the rename tag modal used Obsidian's Modal class + class names though so that it would match the current theme. Currently the modal is illegible in many of the Community themes.

image

tag-wrangler hijacks button style

When I have tag wrangler activated, it injects the following css into obsidian:

button {
    font-family: Ubuntu, Arial, sans-serif;
}

This makes some of Obsidians buttons use the Ubuntu font family, which is undesirable

Autocomplete no longer works

I can no longer see suggestions (for existing tags) when renaming a tag as I start typing. Is this a bug or a change in behavior?

delete a tag ?

would you consider adding a function which allows us to delete a specific tag from the file~

it'd be better if we could choose the behavior since someone add tags independently at the start / end of the text and others, add into the content.

for previous ones, we could delete the tags from the file and for the latter ones , we could choose to delete the symbol of the tags in the content only. ~~

search tags in tag-pane not from tag-pane

is:open label:enhancement it's hard to find tags in tag-pane. I would love to search first in tag-pane for mother of child-tags THEN OPERATE SEARCHING for nested tags.

Add Tags to Select Notes

Awesome plug in. An additional feature that would be nice is the ability to add a tag to all notes or select group of notes. For example I'd like to add the #Map tag to all my notes, than remove the tag from the notes that act as big link blobs in graph view. This can make graph view more interesting with a very large note set.

respect existing yaml format

Hi there,

I've noticed that number of my vault files have had their yaml format changed and after testing, it looks like the culprit is your plugin.

before tag rename:
image

after tag rename:
image

could you please modify the functionality so that preexisting whitespace is preserved and null is not added to yaml keys without vaules?

Screenshots of functionaility

Screenshot/Gifs of functionality would make use on-boarding easier.

Users seem to think it a separate menu rather than a extension to the existing tag menu.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.