Plugin: Inline Tag Navigator [v2.4.0, 2025-05-15]

I assume that you are referring to this message.

For the sake of completion, and someone who might find this message by chance, there are a few ways to search for inline TODOs (checklists):

  1. The default setting (the one I personally use) allows one to tag lines that contain checkboxes. Then, I search for the relevant tag (e.g., #next), and get the TODOs displayed in the panel. If you wish to filter the results that are displayed in the panel (the "cards") to include only cards that contain open checkboxes (in any of the lines on the card), filter with "- [ ]" (in "Filter results..." rather than "Filter notes..." or "Filter tags..."). For this there is no need to change the tag regex or disable highlighting.

  2. In the aforementioned post I suggested a non-standard workaround to find every checkbox in your notes by defining checkboxes as tags. In this case there is no need to tag lines that contain checkboxes. This indeed requires modifying the tag regex and disabling highlighting. After that, restart Joplin, and search for the tag: - [ ]. Indeed, the various types of checkboxes in your notes will appear on the tag list as separate tags.

As far as I know both methods should work in the RTE, and I tested them on the latest version.

Ah, I did miss a key piece of information. I did not notice that I was actually creating a tag for "- " and needed to restart. After the restart, I did see the new tag and now it works as desired. Thank you for the support!

1 Like

shikuz, would it be possible to make the top part of the search panel collapsible so that only the results are visible?

Currently you may customise and hide 3 sections from the panel, by right-clicking on any part of the panel and toggling Tag range, Note mentions, or Result filter. I could add another toggle that hides the remaining elements (the tag list, filter, and the search query).

1 Like

v2.1.0

  • added: color tag (see screenshot)
    • Example: #color=MediumSeaGreen, #color=#008080 or #color=rgb(0, 128, 128).
    • Set the colour of an entire note by tagging one of its first 2 lines with the colour tag.
    • Different sections of the same note may be tagged with different colours. They will be displayed separately in the panel (see an example below).
    • added: setting: Color tag
    • added: setting: Search: Use color to set result: border / background
  • added: context menu command: show / hide search query section (for @sinewave-2097)
  • added: context menu command: expand tag list
  • improved: most settings do not require restart
  • improved: support tag negation in edit query
  • fixed: conversion to and from tag range in edit query command
  • fixed: regression: add note mentions from dropdown
  • fixed: distinguish between duplicate tags in edit query

3 Likes

Thank you!!

@shikuz Thank you very much for all the good work done for this useful plugin that helps me a lot :+1:
I'll try to give my feedback on some issues but bear with me as I'm just a simple and humble user of the system that tries to figure things out :blush:

Observations

  • I like to add inline Todo's in some notes in order to follow-up with the editing. There for I use the plugin "Inline TODO v1.7.1" and a custom optimized regex that also detects "- " as a tag : (?<=^|\s)([#@+]|\/\/|-\s\[[x\s@?!~]\])([^\s#@'"]*\w)?

  • Because of this custom Regex, frontmatter tags are not detected although I've checked "Search: Use regex for tag / note / content filtering" option in settings

---
tags:
  - customtag1
  - customtag2
---

doesn't give #customtag1 and #customtag2
I still need to prefix the names with #
    • This is a Todo @Category +todotag1
      gives a tag named "+todotag1" and not "#todotag1"
  • copy inline tags to Joplin's tags doesn't copy neither frontmatter tags neither inline Todo's tags

Request

  • In order to prevent accidental triggering of the function "Convert all note's Joplin tags to inline tags" would it be possible to add an extra protective step like for example a confirmation step such as "are you sure ?"

Question

How do you insert any inline tag from the Search Panel. I see it is possible to acheive this with the first matched searched tag and in settings, I've chosen "Insert in Note Editor first" to the option "Search: When multiple tags are matched: ".

1 Like

Welcome @foleor! Thanks for the feedback.

  • The +todotag1 tag is recognised by the tag regex as a tag, and that is all there is to it, I'm afraid. Once captured by the regex, tags are not reformatted.

  • Frontmatter tags: They're a little different from standard inline tags. But again, if the tag is recognised by the regex, it will not be reformatted and used as is. However, if you tag in the frontmatter and the tag does not match the regex, "#" (or another prefix) will be added to it. Please ensure that Tag prefix in the advanced settings is set to "#".

  • Indeed it does not convert frontmatter tags. I'll try to fix that. On the other hand, I was not able to reproduce the issue with inline TODOs, these seem to work. Do you have an example?
  • I agree, it's a good idea that was waiting in my backlog. I'll add it to the next release.

EDIT: added to v2.1.3 (released now).

  • Indeed, when you select the setting mentioned, the first tag on the filtered list is inserted on Enter. EDIT: in v2.1.3 this can also be done by using Shift+Enter to insert the tag while keeping the default setting for Enter (that is, add the tag to the search query).
  • I haven't implemented this, but I guess I could add an Insert to note command when you right-click a tag on the list. EDIT: added to v2.1.3 (released now).

Thank you for your positive response and for the proposed improvements. I better understand how it functions and what I can expect from Frontmatter and inline ToDo's. I can live with those behavior and limitations.
Yet here is some more feedback :


tags:

  • frontmattertag1
  • frontmattertag2

  • This is an inline ToDo @Category1 +todotag1

For this example

  • only 2x tags are detected namely @Category1 and +todotag1
  • Frontmatter tags are not detected (need to prefix them with #)
  • copy note's inline tags to Joplin tags doesn't copy anything

I'm trying to reproduce this (unsuccessfully). Here is the exact content of my note:

---
tags:
  - frontmattertag1
  - frontmattertag2
---
- [ ] This is an inline ToDo @Category1 +todotag1

Note that I'm using the Markdown editor. I suspect that the Rich Text Editor sometimes messes up the formatting of frontmatter sections, but I don't have much experience with the RTE.

If you copy this text to a new note, I expect the following behaviour (as it is on my client):

  1. The tags #frontmattertag1, #frontmattertag2 are associated with the note, assuming your Tag prefix setting is set to "#". These tags can be accessed via the the inline tags search panel, or All Tags tab in the navigation panel.
  2. The 2 frontmatter tags above do not appear in the Note Tags tab in the navigation panel.
  3. The tags @Category1 and +todotag1 are associated with the inline TODO, assuming your Tag regex is set to capture these tags.
  4. Convert note's inline tags to Joplin tags attaches the Joplin tags @Category1 and +todotag1 to the note. They should appear at the bottom of the note editor, like this:

image

You replied,

  1. The tags #frontmattertag1, #frontmattertag2 are associated with the note, assuming your Tag prefix setting is set to "#". These tags can be accessed via the the inline tags search panel, or All Tags tab in the navigation panel.

Sorry you're right, I was only looking at the "Inline tag naviguation panel" and didn't even check for their presence in the "Inline tags search panel". This is also what you're pointing at in point 2.

Point 3. is okay then

Point 4. is again a mystery (to me) because I can't make it work. In the given example,the function doesn't copy any tags to the Joplin's note !(?) neither frontmatter tags nor Inline Todo tags

Interesting, I'm not using this panel as often, so paid less attention to it. Front matter tags always appear at the top of the note, so it seemed obvious how to find them (scroll to the top). However, it is definitely helpful to see a list of all tags in the note, regardless of their position, and this is the only place where (inline) note tags are displayed. In any case, I intend to add front matter tags (a recently added feature) to the nav panel in the future.

(4) is a mystery! Perhaps try to enable debugging and check for errors mentioning the tag-navigator, that appear immediately after trying to convert the tags.

(4) is a mystery! Perhaps try to enable debugging and check for errors mentioning the tag-navigator, that appear immediately after trying to convert the tags.

After enabling debugging, I made a note with following content


tags:

  • frontmattertag1
  • frontmattertag2

  • This is an inline ToDo @Category1 +todotag1

and tried to copy the inline tags to Joplin's note. Here is what I found in the console.

Uncaught (in promise) Error: L'étiquette "- " existe déjà. Veuillez choisir un autre nom.
at Tag.save (C:\Users\sarah\AppData\Local\Temp\2s3Bv3Vqmle0h34XzEtDRo89wZF\resources\app.asar\node_modules@joplin\lib\models\Tag.js:195:27)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async Api.route (C:\Users\sarah\AppData\Local\Temp\2s3Bv3Vqmle0h34XzEtDRo89wZF\resources\app.asar\node_modules@joplin\lib\services\rest\Api.js:151:20)
at async IpcRenderer. (C:\Users\sarah\AppData\Local\Temp\2s3Bv3Vqmle0h34XzEtDRo89wZF\resources\app.asar\services\plugins\PluginRunner.js:155:30)

It says that tag - already exist :thinking:

Thanks for the error log. Please try the latest release, v2.1.4. Hopefully it will solve your isssue. :crossed_fingers:

v2.2.0

  • new: convert front matter tags to Joplin tags (for @foleor)
  • new: display front matter tags in note tags navigation panel (for @foleor)
  • new: filter results by notebook name / path
  • new: setting: Note view: Location of results
    • default: before query
  • improved: notebook path setting description and placement
  • improved: remove result count from note view
  • fixed: find saved query on first line of note

Thank you for the improvements in v.2.2.0 :+1:
Unfortunately the copy of inline tags to the Joplin'note functionality seems broken at my side. It's as if nothing happens, not a single line in the debugger and no tags of any kind are copied.
I join a copy of the log file.
log - Copie.txt (2.4 MB)

Bummer. I thought we had it fixed in v2.1.4.

Could you please try the following Tag regex? (?<=^|\s)([#@+]|\/\/)([^\s@'\"]*\w) Does tag conversion work?

Could you try the default Tag regex (empty setting)? Does tag conversion work?

Can you attach a txt file with your note content?
Can you share the Tag regex you're using (or any other non-default settings)?

  • with the regex given by you :

    (?<=^|\s)([#@+]|//)([^\s@'"]*\w)

    no inline tags are converted to Joplin tags, nothing in the debugger's console

  • with a empty regex neither

  • here is my test note converted to Markdown Test.md (104 Bytes)

  • I used following regex :

    (?<=^|\s)([#@+]|//|-\s[[x\s@?!~]])([^\s#@'"]*\w)?

NB:

  • I reverted back to the old Joplin markdown editor

  • here is a copy of log.txt
    log.txt (4.7 MB)

  • ideally I'd like to use following regex

    (?<=^|\s)(#(?!#\s)|@|+|//|-\s[[x\s@?!~]])([^\s#@'"]*[^\s#@'"])?

    It would not detect standalone prefix # ou markdown headers (repeated prefix) and allow for accented characters in last position (#santé used to give a tag named #sant)

Thank you for your support. I hope I'm not wasting your time :thinking: and draining your battery :low_battery: with my quest for perfection :innocent:

Do you support Chinese? Thanks.

Yes, you can change the definition of a tag in the settings to support Chinese (and any other language).

Go to: Joplin --> Settings --> Tag Navigator --> Advanced Settings -> Tag regex
And try setting it to: (?<=^|\s)#([^\s#'",.()\[\]:;\?\\]+)

I plan to change the default settings to support multilingual tags in the next release.

1 Like