joplin-plugin-tag-navigator 1.2.1 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -18,57 +18,104 @@ Type inline #tags in the note editor. View your tagged paragraphs and tasks / TO
18
18
  This plugin adds inline tag support (such as #inline-tag) to [Joplin](https://joplinapp.org) in five ways:
19
19
 
20
20
  1. It adds a panel for searching and viewing tagged paragraphs across all your notes ([video](https://www.youtube.com/watch?v=im0zjQFoXb0)).
21
- - **Save search queries** in notes and sync them across devices ([video](https://www.youtube.com/watch?v=xIBZl2Ala9A)).
21
+ - **Save search queries** in notes and sync them across devices ([video](https://www.youtube.com/watch?v=GuzCwYxyYZ0)).
22
+ - **Display results in a table** or a list ([video](https://www.youtube.com/watch?v=J7h8c6iW4rU)).
22
23
  - **Tag-by-notes:** Search for links or [[wikilinks]] to notes (including backlinks to the current note).
23
24
  - **Edit tags:** Add, replace and remove inline tags via the panel context menu (right-click on a tag).
24
- - **Toggle checkboxes** / TODOs from the panel, including [[x]it! style](https://xit.jotaen.net) checkboxes (click, or right-click for 6 task states).
25
- - **Nested tags** hierarchy: Search parent tags to find the locations of their children. Example: #parent/child.
25
+ - **Insert tags** from the panel into the note editor ([video](#tag-insertion)).
26
+ - **Toggle checkboxes** / TODOs from the panel, including [[x]it! style](https://xit.jotaen.net) checkboxes (click, or right-click for 6 task states). See also [tips](#inline-todos).
27
+ - **Nested tags** hierarchy: Search parent tags to find the locations of their children ([video](https://www.youtube.com/watch?v=h-HdX7npbIw)). Example: #parent/child.
26
28
  - Search for a **range of tags**, according to their lexicographic order. Example: #2024/07 -> #2024/08
27
29
  - Search tags by **today's date**. Examples: #today, #today+1 (tomorrow), #today-10 (ten days ago)
28
- 2. It can generate a note with all tagged paragaraphs that match a saved query (dynamically updated).
30
+ 2. It can generate a note with all tagged paragaraphs that match a saved query (dynamically updated) ([video](https://www.youtube.com/watch?v=GuzCwYxyYZ0)).
29
31
  - Save a query in a note, and switch note view on: `Tools --> Tag Navigator --> Toggle search results display in note`
30
32
  3. It adds a panel for quickly navigating between inline tags that appear in the current note, or in all notes ([video](https://www.youtube.com/watch?v=h-HdX7npbIw)).
31
33
  4. It can convert your existing inline tags to native Joplin tags, so that they are accessible using Joplin's built-in tag search.
32
- 5. It can convert your existing native Joplin tags to inline tags, so that they are accessible using inline tag search (this plugin).
34
+ 5. It can convert your existing native Joplin tags to inline tags, so that they are accessible using inline tag search (this plugin). See also [tips](#converting-joplin-tags).
33
35
 
34
36
  After installing the plugin, check the commands listed under `Tag Navigator` in the `Tools` menu, as well as the corresponding settings section.
35
37
 
36
38
  ## Demos
37
39
 
38
- - Watch the tag search demo on YouTube:
40
+ - [Inline tag search](#inline-tag-search)
41
+ - [Saved search queries](#saved-search-queries)
42
+ - [Table view / database](#table-view--database)
43
+ - [Navigation panel](#navigation-panel)
44
+ - [Tag insertion](#tag-insertion)
39
45
 
40
- <a href="https://www.youtube.com/watch?v=im0zjQFoXb0"><img src="https://img.youtube.com/vi/im0zjQFoXb0/hqdefault.jpg" width="80%" title="search panel demo"></a>
46
+ ### Inline tag search
41
47
 
42
- - Watch the navigation panel demo:
48
+ <img src="img/tag-navigator-search.gif" width="80%" title="search panel demo">
49
+
50
+ ### Saved search queries
51
+
52
+ <img src="img/tag-navigator-queries.gif" width="80%" title="saved search queries demo">
53
+
54
+ ### Table view / database
55
+
56
+ <img src="img/tag-navigator-table.gif" width="80%" title="table view demo">
57
+
58
+ ### Navigation panel
43
59
 
44
60
  <img src="img/tag-navigator-panel.gif" width="80%" title="navigation panel demo">
45
61
 
46
- - Watch the tag insertion demo:
62
+ ### Tag insertion
47
63
 
48
64
  <img src="img/tag-navigator-insert.gif" width="80%" title="insert tag demo">
49
65
 
50
66
  ## Tips
51
67
 
68
+ - [Troubleshooting](#troubleshooting)
69
+ - [Custom tag definitions](#custom-tag-definitions)
70
+ - [Inline TODOs](#inline-todos)
71
+ - [Keyboard shortcuts](#keyboard-shortcuts)
72
+ - [Converting Joplin tags](#converting-joplin-tags)
73
+
74
+ ### Troubleshooting
75
+
52
76
  - 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).
77
+
78
+ ### Custom tag definitions
79
+
53
80
  - The definition of a "tag" can be adjusted with user-defined regular expressions.
54
81
  - Example: Every word in the text may be defined as a tag using a custom regex such as `[A-Za-z0-9]+[\w]*`.
55
82
  - You may also define an exclusion rule to ignore certain tags.
56
83
  - Example: Numeric (`#123`) or hexanumeric (`#C0FF1E`) tags can be filtered using an exclusion regex such as `#(\d+|[a-fA-F0-9]{6})$`.
57
- - Inline TODOs:
58
- - Filter results by pending tasks (`"- [ ]"`) or ones done (`"- [x]"`).
59
- - Add support for [additional tags](https://github.com/CalebJohn/joplin-inline-todo?tab=readme-ov-file#confluence-style) for @mentions, +projects and //due-dates using a custom tag regex such as `(?<=^|\s)([#@+]|\/\/)([^\s#@'\"]*\w)`.
60
- - Furthermore, every checkbox in the text (even ones that are not tagged by any inline #tag) may be defined as a tag using a custom regex such as `(?<=^|\s)([#]|\-\s\[[x\s@\?!~]\])([^\s#'\"]*\w)?`.
61
- - You may then use queries to search for tag-tasks based on their state (`- [ ]`, `- [x]`, `- [@]`, ...).
62
- - Supported additional checkbox styles
84
+
85
+ ### Inline TODOs
86
+
87
+ - Filter results by pending tasks (`"- [ ]"`) or ones done (`"- [x]"`).
88
+ - Add support for [additional tags](https://github.com/CalebJohn/joplin-inline-todo?tab=readme-ov-file#confluence-style) for @mentions, +projects and //due-dates using a custom tag regex such as `(?<=^|\s)([#@+]|\/\/)([^\s#@'\"]*\w)`.
89
+ - Supported additional checkbox styles (inspired by `[x]it!`).
90
+ - Set any of them to done by clicking the checkbox in the search panel.
63
91
 
64
92
  ![custom checkboxes](img/checkboxes.png)
65
93
 
94
+ - Toggle between all states by right-clicking on a checkbox.
95
+
96
+ ![checkbox commands](img/checkboxes-commands.png)
97
+
66
98
  - You may increase the checkbox size on smaller screens by setting `Search: Panel style` with the CSS `.itags-search-checkbox { width: 18px; height: 18px; font-size: 18px }` (adjust as needed).
67
- - Tag / note filter keyboard shortcuts:
99
+ - Furthermore, every checkbox in the text (even ones that are not tagged by any inline #tag) may be defined as a tag using a custom regex such as `(?<=^|\s)([#]|\-\s\[[x\s@\?!~]\])([^\s#'\"]*\w)?`.
100
+ - You may then use queries to search for tag-tasks based on their state (`- [ ]`, `- [x]`, `- [@]`, ...).
101
+
102
+ ### Keyboard shortcuts
103
+
104
+ - Default command shortcuts
105
+ - These can be set up in Joplin's keyboard shortcut settings.
68
106
 
69
107
  | Key | Action |
70
108
  | --- | ------ |
71
- | Enter | Add tag(s) / note to query / note |
109
+ | Ctrl + Shift + T | Toggle search panel |
110
+ | Ctrl + Shift + I | Focus on search panel (search tag / insert tag) |
111
+ | Ctrl + Shift + D | Update tag database |
112
+ | Ctrl + Shift + L | Load search query from current note |
113
+
114
+ - Tag / note filter (search panel) shortcuts
115
+
116
+ | Key | Action |
117
+ | --- | ------ |
118
+ | Enter | Add tag(s) / note to query / note (see config) |
72
119
  | 2nd Enter | Search notes based on current query |
73
120
  | Delete | Remove last added tag / note from query |
74
121
  | Esc | Clear the filter (display all tags / notes) |
@@ -76,6 +123,21 @@ After installing the plugin, check the commands listed under `Tag Navigator` in
76
123
  | Arrow-Down | Toggle negation of last tag / note in query |
77
124
  | Arrow-Up | Toggle last operator AND <--> OR |
78
125
 
126
+ ### Converting Joplin tags
127
+
128
+ 1. It is recommended (as for any other plugin), before converting all notes:
129
+ - Test a few individual notes (one command above the all-note conversion).
130
+ - Backup your note database.
131
+ 2. If you would like organise your tags hierarchically (using nested tags) rename your Joplin tags first, before the conversion.
132
+ - Example: `#child` -> `#parent/child`
133
+ - You may also choose to rename your inline tags after the conversion, using the plugin's `Replace all` command. However, this will create a divergence between your inline and Joplin tags.
134
+ 3. Select your preferred conversion settings.
135
+ - Converted inline tags will appear at the top / bottom depending on the `Location` advanced setting.
136
+ - Converted inline tags will have the prefix # depending on the `Tag prefix` advanced setting.
137
+ - The list of converted inline tags will begin with the text 'tags: ' depending on the `List prefix` advanced setting.
138
+ - 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`]
139
+ 4. 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.
140
+
79
141
  ## Companion plugins
80
142
 
81
143
  - The excellent [Inline Tags](https://github.com/roman-r-m/joplin-inline-tags-plugin) plugin can autocomplete tags while typing.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "joplin-plugin-tag-navigator",
3
- "version": "1.2.1",
3
+ "version": "1.3.0",
4
4
  "scripts": {
5
5
  "dist": "webpack --env joplin-plugin-config=buildMain && webpack --env joplin-plugin-config=buildExtraScripts && webpack --env joplin-plugin-config=createArchive",
6
6
  "prepare": "npm run dist",
@@ -6,7 +6,7 @@
6
6
  "desktop",
7
7
  "mobile"
8
8
  ],
9
- "version": "1.2.1",
9
+ "version": "1.3.0",
10
10
  "name": "Inline Tag Navigator",
11
11
  "description": "Type inline #tags in the note editor. View your tagged paragraphs and tasks / TODOs in an advanced search panel, or in a generated note. Convert inline and Obsidian tags into Joplin tags, and vice versa.",
12
12
  "author": "Alon Diament",
@@ -24,6 +24,6 @@
24
24
  ],
25
25
  "screenshots": [],
26
26
  "icons": {},
27
- "_publish_hash": "sha256:7549157198d41ad2bb503981f35e3a4bbabe31a53e96dcbf0e02a9bfdc7195c4",
28
- "_publish_commit": "main:c21b2bccb7a29a5f7f0e7995ba146f41ea864076"
27
+ "_publish_hash": "sha256:0f9c856c963e137b628bfdac1d7b51caaa13970b3560ea777c3f3bc44d48aeba",
28
+ "_publish_commit": "main:97f994a0a8d96c057917faa40e612018d2e4eaf3"
29
29
  }