Plugin: Inline Tag Navigator [v2.3.2, 2025-03-24]

Hello,
how do you set up additional checkbox styles (or which plugin does provide them)?
Thanks!

Hi @artis, checkbox styling is supported in the plugin panel. In the note editor you write (and see) just plain text. Copy the text below and paste it in any note. Then, search for the tags #checkbox AND #test. You should see all the checkbox styles displayed and colored in the panel. Click on any of them to change their state to "done", or right-click on them to select a task status.

(You may use the Rich Markdown plugin to style checkboxes in the note editor.)

- #checkbox #test
    - [ ] this is open
    - [?] this is in question
    - [@] this is ongoing
    - [!] this is blocked / paused
    - [~] this is obsolete
    - [x] this is done

Thank you for your answer.
I understand that styling is supported in the plugin panel.
I was interested in the part on how to style it in the note editor. As I now understand it's done through the Rich Markdown plugin.
Can you please share your styling code for the checkbox styles in the example?

I linked to the relevant post in the Rich Markdown forum thread. For the mobile, I use this forked release of the plugin with predefined styles. Hopefully this will help.

1 Like

v1.2.0

  • navigation panel
    • new: navigation panel view of all tags, with nested tags support (see video)
  • misc fixes & improvements
    • improve: display tooltip for note title in query
    • fix: tag name sort to be locale aware
    • fix: open range queries
    • fix: save over badly formatted queries
2 Likes

Finally nested tags support :+1:

For a new plugin user starting from scratch what I have to do to bring my many many tags to your panel (nested)?

  • Rename the tags I have now which should be nested from e.g. € clothing, € shoe,... to invoices/€ clothing, invoices/€ shoe,...

  • Then rearrange the tag navigation panel to the bottom left (under the default tag section from jopling)

  • Can I make your tag navigation panel look more like the default one (dark background etc.)?

Another thing I've noticed is when using your plugin the Slash Commands plugin doesn't work anymore, does it :thinking:

Is there a way to change the hotkeys?
image

1 Like

Yes, there is an advanced setting for Tag Navigator, Navigation: Panel style. Enter the following setting to style it like Joplin's default tag panel (assuming that you're using the light theme).

html * {color: white; background-color: #313640;} .itags-nav-noteTag, .itags-nav-globalTag {color: white;}

Go to Joplin's settings -> Keyboard Shortcuts -> Search for "itags".

AFAIK, Slash Commands does not work in the new note editor (the default editor since Joplin v3.1). Perhaps this is what you're experiencing?

1 Like

v1.2.1

  • new: insert tags into the note editor (Markdown / Rich Text) with auto-completion
    • in the settings, set Search: When multiple tags are matched: to Insert first in editor, and follow these steps:
    1. press Ctrl+Shift+I to change focus to the tag search panel.
    2. type part of a tag.
    3. press Enter to insert the first tag at the current cursor position, and return to the editor.
    4. or, press Esc to return to the note editor.
    • this also works on mobile, if the note editor is open.

tag-navigator-insert

2 Likes

@shikuz Can I somehow avoid that your plugin finds/recognizes such source code / html code as an inline tag?

So in words: Don't recognize the #words which are in between <>

image

Wrote this in a different thread, but I also added the following tip to the plugin docs. If you're worried about hexadecimal tags like the ones in the example, utilising the Exclude regex setting can help here (see the link above). If you'd like to be more strict and ignore anything within brackets, you could try to modify the Tag regex setting to something like (?<!<[^>]*)(?<=^|\s)#([^\s#'"]*\w)(?![^<]*>). BTW, notes that are defined as html notes are ignored altogether by default (and so do code blocks).

1 Like

Can you please explain in detail what those two convert variants (from joplin tag to inline tag and vice versa) do exactly?

E.g. I have now >100 native Joplin tags - what happens exactly when I would do Convert all notes' Joplin tags to inline tags? Is your plugin writing the assigned Joplin tag as text #<native_joplin_tag_name> into the note itself at the bottom/top :thinking: ?

  1. So from Joplin tag | to inline tag is this correct:
    Invoice ➜ #invoice
    Tag with space ➜ ? (#tag_with_space or #tagwithspace or...?)

  2. After converting will all (old) Joplin tags still be there and still assinged to the note as before the conversion?

Thanks

image

  1. I recommend (as for any other plugin), before converting all notes to anything:
    • Test a few individual notes (one command above the all-note conversion).
    • Backup your note database.
  2. Converted inline tags will appear at the top / bottom depending on the Location advanced setting.
  3. Converted inline tags will have the prefix # depending on the Tag prefix advanced setting.
  4. The list of converted inline tags will begin with the text 'tags: ' depending on the List prefix advanced setting.
  5. EDIT: (v1.2.2) Spaces in Joplin tags will be converted to inline tags depending on the Space replacement advanced setting. When converting inline tags back to Joplin spaces will be introduced back to tags. For example: [Joplin: tag with space] --> [inline: #tag_with_space] --> [Joplin: tag with space]
  6. After the conversion all Joplin tags remain assigned to their notes. They are not deleted, and only a single line of text is added to each note.

Hope this makes things clearer.

2 Likes

v1.2.2

  • new: setting Space replacement: Character to replace spaces in converted Joplin tags. Default: "_". (for @Isaac)
  • improve: insert tag without a leading space.
  • improve: sections appear instead of disappear on panel init.
3 Likes

v1.3.0

  • added: table view

I did not set out to create a Dataview plugin, but with this last incremental update inline tags come closer to a data view / database than I initially expected (no fancy function support, though). the newly added table view in v1.3.0 treats inline tags as note properties, and nested tags as column/value pairs. the screenshot and video below demonstrate a use case similar to the one posted by @franzperdido in this post, where one builds a music database out of Joplin notes.

tag-navigator-table-demo

2 Likes

v1.4.0

  • added: front matter support

For example, the following YAML front matter, when inserted at the top of the note:

---
nested: tag with spaces
arrayed: [v1, v2, v3]
tags:
  - tag1
  - tag2
---

will be converted to the following inline tags:

#nested/tag_with_spaces
#arrayed/v1
#arrayed/v2
#arrayed/v3
#tag1
#tag2
#frontmatter

These tags will be accessible in the search panel / notes / tables like standard inline tags.
EDIT (v1.4.1): The last tag is #frontmatter and is used to indicate that the tags were extracted from the front matter section of the note.

v1.4.2

  • new: inline tags inherit from headings

example:

# trip to USA #recipe

clam chowder #soup

the last line will be tagged by #soup and #recipe.

  • new: inline tags inherit from first 2 lines of note

example:

tags: #recipe

chop suey #chinese

the last line will be tagged by #chinese and #recipe.

  • new: inline tags inherit front matter tags

example:

---
tags:
  - song
---

chop suey! #greatest

the last line will be tagged by #greatest and #song.

  • fixed: respect the tagPrefix setting for #frontmatter tag

v1.5.0

happy new year!

  • new: toolbar / context menu command New table entry note
    • creates a new note with a template of properties based on the current table view

image

  • new: options JSON field in saved queries
    • includeCols
      • a comma-separated list of columns (tags / properties) to display in the table view
      • can be used to slice the table columns, sort them, or add "modified" / "created" timestamps
    • excludeCols
      • a comma-separated list of columns to remove from the table view (even though these properties exist in the listed notes)
    • sortBy
      • a comma-separated list of columns to sort the table by
    • sortOrder
      • a comma-separated list of the words "ascending" / "descending" (or "desc", "descend", etc.) corresponding to the columns in the sortBy field
    • example:
{
  "query": [
    [
      {
        "tag": "#artist",
        "negated": false
      }
    ]
  ],
  "filter": "",
  "displayInNote": "table",
  "options": {
    "includeCols": "title, artist, country, year, modified",
    "excludeCols": "notebook, line",
    "sortBy": "year",
    "sortOrder": "asc"
  }
}
  • new: display result count in panel and note view
  • new: setting: Note view: Show notebook path in table view
    • including parent notebooks
  • new: setting: Note view: Tag case in table view
    • Title Case / lowercase
  • new: setting: Note view: Update view when opening note
    • disabling this may help slower mobile clients
  • new: toolbar command Refresh tag search view in note
    • update the displayed results without initiating a complete tag database update
  • misc fixes and improvements
2 Likes

Hi !
Many thanks for this great plugin.
I would suggest a small modification of the regex you propose in the first post of this topic, which aims to highlight the inline tags in the editor with rich markdown.
In French, accentuated characters are not taken into account. It would therefore be preferable to extend the range of characters to be taken into account. So replace this :

(?<=^|\\s)#([^\\s#]*\\w)

with :

(?<=^|\\s)#([\\wÀ-ÿ]+)

But in the plugin, only non accentuated char are taken into account. ie. « productivité » devient seulement « productivit » in the tag list. I don't know how modify that...

Happy new year :slight_smile:

1 Like

v2.0.0

Hello, I'm trying the filter for TODO's (- [ ]), but not having any success.
Should this option work when using the RTE? I set the "Tag regex" as described on July 2024 and turned OFF "Search: Highlight results". I search for ("- [ ]") in "Filter notes..." but nothing is returned. I tried with and without parens, quotes, RTE, MD, but no success. The regex should still work w/o any tags on the latest version, right?