Plugin: Inline Tag Navigator [v1.2.2, 2024-08-23]

Not my personal viewing preference, but I can see why this is useful, and I'll consider adding it. Thanks for the idea.

BTW, there is a plugin that already does something similar called Extract Paragraphs.

Thanks for the mention. I need to take a look at this - I've been so busy lately but got some free time this week.

Thank you for the response. The Extract Paragraphs plugin is interesting, but not quite what I'm looking for... I'm hoping for something that functions as a live search, and scans all notebooks in real time. It's like a cross between your plugin and inline todo. Think of Apple Notes or Apple Music's "Smart Folders" but instead of presenting the whole pages with the tags (like other apps do), I'd like the text block to be all on one page. It's really more of a beefed up inline todo plugin but with your smart search for any tag. Maybe because Joplin is not as tag orientated as some other notebook apps (which is good), it's a bit of a stretch... But it would be amazing. Think of having a smart note that is updating with specific tagged paragraphs or list items. WOW!

The extract paragraphs does mostly what you want - can scan through one or all notebooks and only pull out/extract the text blocks that have the the tag all on one page (it's block oriented like Logseq linked references - not the whole page). It's not fully dynamic - but can do what you're saying manually on demand.

Extract Paragraph is a great plugin. Could you save a search and have the search refresh in a defined interval or when the output note is selected? The in-line todo plugin kinda does this but only looks for β€œ@todo”. I don’t think Caleb is actively working on his plugin.

Not sure - but, I'll add it to the backlog to investigate

Thank you!

Indeed, this is what the navigator aims for (in a split view style), but the same information can be displayed in a note. I'm thinking of adding a field to the saved query, e.g. display_in_note, that once its value is true the plugin will update the note with the search results periodically.

What you will lose this way, however, are the editing capabilities of toggling checkboxes and tag editing that the panel provides. The rest will behave the same.

I’m curious to see what you come up with!

v0.6.0-v0.6.3

available here for download, or in the Joplin app.

  • new: search results can be displayed in auto-generated notes
    • EDIT: v0.6.1 adds a command to toggle the note view of search results
  • improve: saved query in JSON format
  • improve: scroll to exact line

Can't wait to try it out!

1 Like

@shikuz - really enjoying your inline tag navigator! Thanks for the awesome tool!

1 Like

v0.7.0

  • new: mobile app support
    • this includes many changes and improvements under the hood, that may also improve the desktop experience.
    • all features should be supported. scroll to line works when the editor is open.
  • new: [x]it! style TODOs (see screenshot)
    • it's not a complete implementation, but adds support for the 5 types of checkboxes.
    • I first learned about this text format on the Inline TODOs plugin repo, thanks!
  • new: settings
    • Search: Colorize todos in results: toggle custom checkboxes (and [x]it! support) on / off.
    • Search: Update inline tags DB after sync
    • Search: Periodic update of results display in notes: you may disable this on a Joplin client to avoid conflicts with another client. the same time interval as above applies.
    • Search: Show note mentions section and Search: Show results filter section: hide elements on the panel, for a better mobile / small screen experience.
  • misc improvements
    • skip conflict notes
    • remove saved query from note when saving an empty query
    • respect user sort choice after panel hide
  • misc fixes
    • remove tag command supports tags with special chars
    • checkbox toggle next to links and inline code
    • avoid updating note when nothing changed
    • word-wrapping in search results

Tips on setting tag highlighting in the mobile editor appear here.

Screenshot: [x]it! TODOs
image

4 Likes

v0.7.1

  • fix: load search filter more robustly and preserve its value when toggling the panel
  • improve: checkbox style for easier customization
    • you may increase the size of checkboxes by entering in the Search: Panel style setting: .itags-search-checkbox { width: 15px; height: 15px; font-size: 15px } (requires restart)

v0.7.2

  • fix: regression in tag exclusion regex
  • fix: regression in updating CSS on panel toggle
  • fix: update tags / notes lists on db update
  • improve: checkbox + tag spacing style

v0.7.3

  • new: tag context menu commands Search tag and Extend query (see screenshot)

v0.7.4

  • various fixes to improve plugin stability and reduce its footprint considerably
  • new: blocked-task style checkbox - [!] (not officially part of the [x]it! specs)
  • improve: set a constant level for headings (h3) rendered on the panel
  • fix: AND logic for empty tags
1 Like

v0.8.0

  • enhanced tag search
    • new: tag range queries (see screenshot)
      • check the Enter, Esc, ArrowUp key presses while editing ranges in the panel
    • new: #today date tag, with support for date arithmetic (e.g., #today+1)
      • this special tag can be used both to tag and to search (see screenshot)
    • new: Enter key press can add multi-tags to query
    • new: optional regex support in filters
  • enhanced tag editing (see screenshot)
    • new: context menu command Replace all to edit all instances of a tag
    • new: context menu command Remove all to remove all instances of a tag
  • other
    • new: follow links to notes from the panel
  • new settings
    • new: Search: Use regex for tag / note / content filtering
    • new: Search: Show tag range section
    • new: Date tags: Today
      • customise the #today tag
    • new: Date tags: Date format
  • misc fixes & improvements
    • fix: skip note when tag conversion fails
    • improve: default tag regex (stop at quotation marks)
    • fix: update database and tag list while editing notes
    • improve: results highlighting
    • fix: toggle checklist items with markdown formatting
    • fix: load results filter on load query command
    • improve: more compact panel UX

image 1: tag ranges
image

image 2: date tags & date ranges
note how #today is used to tag a paragraph, and to search for dates
image

image 3: new tag editing commands
image

1 Like

v1.0.0 :tada:

  • enhanced tag search
    • nested tags / tag hierarchy: this feature request has been floating around for some time. when using nested tags like #parent/child, searching for #parent will bring up all its child tags as well (including #parent/child, #parent/child2, etc.). this format / style is common in many note apps such as Bear, Obsidian, Notable, Foam, Amplenote, and allows one to group tags by projects and contexts. you may use the Replace All command to rename your existing tags and turn them into nested tags.
      • example: when date tagging using the following format #2024/07/13, searching for #2024 will return all dates from 2024, and searching for #2024/07 will return all dates from July 2024.
  • new commands
    • show / hide panel sections (tag ranges, note mentions, results filters) by right-clicking anywhere on the panel.
    • edit tags also by right-clicking on the tag list or the search query.
  • new settings
    • Search: When multiple tags are matched, select: "First" / "All" (behaviour in v0.8.0) / "None" (behaviour before v0.8.0).
      • example: when selecting "All" here, and selecting Search: Use regex for tag / note / content filtering, you could come up with filter patterns to add multiple tags at once to the query and search for all of them.
    • Search: Tag sort by: "Name" / "Count".
      • example: when selecting "Count" here and "First" in the setting above, the most popular tag will be selected by default when pressing Enter in the query builder.
  • misc fixes
    • toggle checklist items with markdown formatting.
    • case insensitive tag ranges.
    • case insensitive tag replace / remove all.
    • checkbox style.
4 Likes

v1.1.0

  • commands
    • new: toggle task checkboxes between 6 different states via a context menu. (see screenshot)
      • open, in question, ongoing, blocked, obsolete, done
    • new: note toolbar button to load query from a note, which is available on mobile in the 3-dot note menu.
    • new: editor toolbar button to toggle note view, which is available on mobile on the editor toolbar.
  • note mentions
    • new: wikilinks can open notes from the panel.
    • fix: regression in wikilink search.
    • fix: add notes to query by title and ID to handle notes with duplicate titles.
    • improve: search only by note ID when available to handle notes with duplicate titles.
  • misc fixes & improvements
    • fix: remove empty notes from note view.
    • fix: avoid multiple context menus.
    • improve: content margins style.

image

1 Like

Hello, how do I search for all the to-dos? I don't know anything about it.:face_with_raised_eyebrow:Thank you.

Hi! I was about to say that since this plugin is based on tags it's a little different from a task-centered plugin, and checkboxes that aren't tagged won't appear in the panel. Nevertheless, it's actually possible to define every checkbox / inline TODO as a tagged line (in addition to standard inline tags). Here's the recommended setup to turn the Tag Navigator into an all-task manager:

  • In the plugin settings
    • Set "Tag regex" (Advanced Settings) to (?<=^|\s)([#]|\-\s\[[x\s@\?!~]\])([^\s'\"]*\w)?
    • Set "Search: Highlight results" to off
  • In the plugin's search panel
    • Search for - [ ] OR - [x] to list all TODOs
    • You may also search for combinations of a checkbox and a tag such as #today, #next-action, #important, etc.

EDIT: Improved regex to support extended checkbox states.