joplin-plugin-tag-navigator 2.11.0 → 2.11.2

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
@@ -54,7 +54,7 @@ This plugin adds inline tag support (such as #inline-tag) to [Joplin](https://jo
54
54
  - Click a global tag to search for it, Cmd/Ctrl+click to add it to the current query, or Shift+click to insert it into the editor.
55
55
  4. It can convert your existing inline tags to native Joplin tags, so that they are accessible using Joplin's built-in tag search.
56
56
  5. It can convert your existing native Joplin tags to inline tags, so that they are accessible using inline tag search (this plugin). ([tips](#converting-joplin-tags))
57
- 6. It renders inline tags and front matter in the Markdown preview, and front matter in the Markdown editor. ([tips](#styling-inline-tags))
57
+ 6. It renders inline tags and front matter in both the Markdown preview and the Markdown editor. ([tips](#styling-inline-tags-and-checkboxes))
58
58
 
59
59
  After installing the plugin, check the commands listed under `Tag Navigator` in the `Tools` menu, as well as the corresponding settings section.
60
60
 
@@ -106,7 +106,7 @@ After installing the plugin, check the commands listed under `Tag Navigator` in
106
106
  - [Filtering results](#filtering-results)
107
107
  - [Context expansion](#context-expansion)
108
108
  - [Colour tags](#colour-tags)
109
- - [Styling inline tags](#styling-inline-tags)
109
+ - [Styling inline tags and checkboxes](#styling-inline-tags-and-checkboxes)
110
110
 
111
111
  ### Advanced
112
112
  - [Inline TODOs](#inline-todos)
@@ -484,21 +484,24 @@ Context expansion lets you reveal surrounding lines around search results to see
484
484
 
485
485
  ![colour tags](img/tag-navigator-colours.png)
486
486
 
487
- ### Styling inline tags
487
+ ### Styling inline tags and checkboxes
488
488
 
489
- Tags are displayed on three surfaces: the search panel, the Markdown preview and the Markdown editor. Every rendered tag carries a shared class and a surface-specific one, each in a plain and a per-prefix form:
489
+ Tags are displayed on three surfaces: the search panel, the Markdown preview and the Markdown editor. Every rendered tag, and every task marker, carries a shared class and a surface-specific one, each in a plain form and one per prefix or state:
490
490
 
491
491
  | Class | Matches |
492
492
  | ----- | ------- |
493
493
  | `itags-tag`, `itags-tag--hash` / `--at` / `--plus` / `--slash` | every surface |
494
494
  | `itags-search-renderedTag` (panel, preview), `itags-editor-tag` (editor), each with the same prefix suffixes | one surface |
495
+ | `itags-checkbox`, `itags-checkbox--open` / `--ongoing` / `--in-question` / `--blocked` / `--done` / `--obsolete` | task markers, panel and editor |
495
496
 
496
- The `Inline tags: Style` setting takes custom CSS and applies it to all three. **This is the only way to restyle tags on mobile**, where `userstyle.css` cannot be edited. Your rules override the bundled default without needing `!important`.
497
+ The `Inline tags and checkboxes: Style` setting takes custom CSS and applies it to all three. **This is the only way to restyle tags on mobile**, where `userstyle.css` cannot be edited. Your rules override the bundled default without needing `!important`.
498
+
499
+ `Inline checkboxes: Highlight in editor` colours the six task states in the editor. Joplin draws `[ ]` and `[x]` as checkboxes of its own, so those two keep their usual look and the other four, which Joplin does not recognise, get the state colour.
497
500
 
498
501
  `Search: Panel style` and `Navigation: Panel style` style those panels as a whole rather than tags.
499
502
 
500
503
  <details>
501
- <summary>CSS examples for tag styling</summary>
504
+ <summary>CSS examples for tag and checkbox styling</summary>
502
505
 
503
506
  Style every tag on every surface:
504
507
 
@@ -540,6 +543,77 @@ Style one surface differently from the others. Avoid `display: inline-block` in
540
543
  }
541
544
  ```
542
545
 
546
+ Fonts in the editor need one extra step. Joplin resets `font-family` on every span there, which outranks a bare class, so lead with `span`:
547
+
548
+ ```css
549
+ span.itags-checkbox {
550
+ font-family: sans-serif;
551
+ }
552
+ ```
553
+
554
+ Recolour a task state in the panel and the editor at once:
555
+
556
+ ```css
557
+ .itags-checkbox--blocked {
558
+ color: #e22d2d;
559
+ }
560
+ ```
561
+
562
+ In the panel the marker is a coloured square, so set `background-color` there:
563
+
564
+ ```css
565
+ .itags-search-checkbox--blocked {
566
+ background-color: #e22d2d;
567
+ }
568
+ ```
569
+
570
+ Draw the checkboxes Joplin renders for `[ ]` and `[x]` as text markers too, so that all six states match. This one reaches into Joplin's own editor markup, so it may need adjusting after a Joplin update, and it is left to you rather than bundled for that reason. The checkboxes stay clickable:
571
+
572
+ ```css
573
+ .cm-editor .cm-ext-checkbox-toggle > input[type="checkbox"] {
574
+ appearance: none;
575
+ -webkit-appearance: none;
576
+ width: auto;
577
+ height: auto;
578
+ margin: 0;
579
+ font-family: monospace;
580
+ font-weight: bold;
581
+ color: #4178be;
582
+ }
583
+
584
+ .cm-editor .cm-ext-checkbox-toggle > input[type="checkbox"]::after {
585
+ content: "[ ]";
586
+ }
587
+
588
+ .cm-editor .cm-ext-checkbox-toggle > input[type="checkbox"]:checked {
589
+ color: #64a073;
590
+ }
591
+
592
+ .cm-editor .cm-ext-checkbox-toggle > input[type="checkbox"]:checked::after {
593
+ content: "[x]";
594
+ }
595
+
596
+ /* Joplin's checkbox stands in for the list bullet as well, so hide the bullet
597
+ on the lines it does not replace. */
598
+ .cm-editor .cm-line:has(.itags-editor-checkbox) .cm-bullet-list-marker {
599
+ display: none;
600
+ }
601
+
602
+ /* The other states keep the space that follows their bullet in the text, so
603
+ the checkbox needs one too. It goes on the container, not in the monospace
604
+ marker, so that both spaces are the same width. */
605
+ .cm-editor .cm-ext-checkbox-toggle::before {
606
+ content: " ";
607
+ }
608
+
609
+ /* Joplin reads [@] and its siblings as links, and underlines them. */
610
+ .cm-editor .itags-editor-checkbox * {
611
+ text-decoration: none;
612
+ }
613
+ ```
614
+
615
+ The bullet rule needs `:has()`, which desktop Joplin and iOS 15.4 or later have. Without it the markers still get their colour, they just do not line up.
616
+
543
617
  </details>
544
618
 
545
619
  ### Keyboard shortcuts
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "joplin-plugin-tag-navigator",
3
- "version": "2.11.0",
3
+ "version": "2.11.2",
4
4
  "scripts": {
5
5
  "test": "jest",
6
6
  "dist": "webpack --env joplin-plugin-config=buildMain && webpack --env joplin-plugin-config=buildExtraScripts && webpack --env joplin-plugin-config=createArchive",
@@ -6,7 +6,7 @@
6
6
  "desktop",
7
7
  "mobile"
8
8
  ],
9
- "version": "2.11.0",
9
+ "version": "2.11.2",
10
10
  "name": "Inline Tag Navigator",
11
11
  "description": "Type inline tags or frontmatter in the note editor. View your tagged paragraphs and tasks / TODOs in a search panel, or in a generated note / kanban. Build a table view / database from notes and tags. Convert between Obsidian tags and Joplin tags.",
12
12
  "author": "Alon Diament",
@@ -24,6 +24,6 @@
24
24
  ],
25
25
  "screenshots": [],
26
26
  "icons": {},
27
- "_publish_hash": "sha256:d91e686d0c4c180e6604b6c84ebd3584ff5b5ac4ecc660e4f4cb2075cf5f51e1",
28
- "_publish_commit": "main:d741a25c27887c7c2091fd1c5076001f878406fb"
27
+ "_publish_hash": "sha256:aa96e0f81845ba90132e496950bd2b674aa5cd72567c8c5aa9d693e617f562b0",
28
+ "_publish_commit": "main:018404cd5cf9fbfb514089bbe593f89c56ee4b80"
29
29
  }