npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

joplin-plugin-tag-navigator

v0.7.3

Published

Type inline #tags in the note editor. View your tagged paragraphs and list items in an advanced search panel, or in a generated note. Convert inline and Obsidian tags into Joplin tags, and vice versa.

Downloads

509

Readme

Inline Tag Navigator

Type inline #tags in the note editor. View your tagged paragraphs and list items in an advanced search panel, or in a generated note. Convert inline and Obsidian tags into Joplin tags, and vice versa.

Features

This plugin adds inline tag support (such as #inline-tag) to Joplin in five ways:

  1. It adds a panel for searching and viewing tagged paragraphs across all your notes (video).
    • Save favourite search queries in notes and sync them across devices (video).
    • Tag-by-notes: Search for links or [[wikilinks]] to notes (including backlinks to the current note).
    • Add, replace and remove inline tags via the panel context menu (right-click on a tag).
    • Toggle checkboxes / TODOs from the panel, including [x]it! style checkboxes.
  2. It can generate a note with all tagged paragaraphs that match a saved query (dynamically updated).
    • Save a query in a note, and switch note view on: Tools --> Tag Navigator --> Toggle search results display in note
  3. It adds a panel for quickly navigating between inline tags that appear in the current note.
  4. It can convert your existing inline tags to native Joplin tags, so that they are accessible using Joplin's built-in tag search.
  5. It can convert your existing native Joplin tags to inline tags, so that they are accessible using inline tag search (this plugin).

After installing the plugin, check the commands listed under Tag Navigator in the Tools menu, as well as the corresponding settings section.

Demos

  • Watch the tag search demo on YouTube:

  • Watch the navigation panel demo:

Tips

  • If any of the actions on note results does not work (toggling checkboxes, editing tags), this is usually resolved by a database update (Ctrl+Shift+D).
  • The definition of a "tag" can be adjusted with user-defined regular expressions.
    • For example, every word in the text may be defined as a tag using a custom regex such as [A-Za-z0-9]+[\w]*.
  • Inline TODOs:
    • Filter results by pending tasks ("- [ ]") or ones done ("- [x]").
    • Add support for additional tags for @mentions, +projects and //due-dates using a custom tag regex such as (?<=^|\s)([#@+]|\/\/)([^\s#@+]*\w).
  • Tag / note filter keyboard shortcuts:

| Key | Action | | --- | ------ | | Enter | Add tag / note to query | | 2nd Enter | Search notes based on current query | | Delete | Remove last added tag / note from query | | Esc | Clear the filter (display all tags / notes) | | Arrow-Down | Toggle negation of last tag / note in query | | Arrow-Up | Toggle last operator AND <--> OR |

Companion plugins

  • The excellent Inline Tags plugin can autocomplete tags while typing.
  • You can highlight tags in the Markdown editor using Rich Markdown (version ≥ 0.14).
    • In Joplin settings --> Rich Markdown --> Advanced Settings --> Custom classes JSON enter:
    [{"name": "rm-tag", "regex": "(?<=^|\\s)#([^\\s#]*\\w)"}]
    • In Joplin settings --> Appearance --> Custom stylesheet for Joplin-wide app styles add the following to the style sheet:
    div.CodeMirror .cm-rm-tag {
        background-color: #7698b3;
        color: white !important;
        padding: 0em 2px;
        border-radius: 5px;
        display: inline;
    }
    • On the mobile app, since it is impossible to edit the stylesheet, one could instead define the name of the tag class to be "name": "searchMatch". This will use the same highlighting style as Joplin search results.

Motivation

  • Notes are arguably the atomic blocks of information in Joplin. They can be linked to, tagged, and come up in search results. Joplin is optimised for this, and these features are pretty efficient.
  • However, among 100s-1000s of long-form notes (that are hardly "atomic"), it remains challenging to find a small piece of information, idea, or memory.
  • Tags can be especially helpful in distinguishing between the content of a text (what it's about) and its form or function (what type of text it is or what purpose it serves). The first is more easily captured by traditional or semantic search. The latter can be conveniently captured by tags, such as #concept, #plan, #memory, #realization, #idea, #review, #bug, #feature, and others.
  • I'd like to experiment here with information retrieval from single paragraphs, or outline items, as atomic blocks of information, using inline tags.

Objectives

  1. Be able to tag and efficiently search single paragraphs among all notes, using tags and free text.
  2. Browse the entire content of these paragraphs without having to open each note.
  3. Make this accessible and user-friendly.

DOI