# Notebook-specific tags

**URL:** <https://discourse.joplinapp.org/t/notebook-specific-tags/18954>\
**Category:** Support\
**Created:** [22 July 2021 19:56 UTC](https://discourse.joplinapp.org/t/notebook-specific-tags/18954 "2021-07-22T19:56:26Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![delphis](https://avatars.discourse-cdn.com/v4/letter/d/aeb1de/32.png) [@delphis](https://discourse.joplinapp.org/u/delphis)\
**Post date:** [22 July 2021 19:56 UTC](https://discourse.joplinapp.org/t/notebook-specific-tags/18954/1 "2021-07-22T19:56:26Z")

</div>

Is there any way to assign tags to notebooks? Or some sort of hierarchical tag system?  
It might be a dealbraker for me ☹

---

<div class="post-metadata">

**Author:** ![uxamanda](https://yyz2.discourse-cdn.com/flex028/user_avatar/discourse.joplinapp.org/uxamanda/32/6786_2.png) [@uxamanda](https://discourse.joplinapp.org/u/uxamanda)\
**Post date:** [22 July 2021 20:09 UTC](https://discourse.joplinapp.org/t/notebook-specific-tags/18954/2 "2021-07-22T20:09:53Z")

</div>

Hi, hierarchical tags have been discussed a few times but I don't think they are in the works for complexity reasons at the moment. Also, no, I don't think there is a way to assign a tag to a notebook.

I have personally taken to creating "fake" nested tags (like `client: <name>`) which works ok because I can use a wildcard while searching `tag:client*` to see the (fake) top-level "notebook". It's not perfect I realize, but might give you something to consider.

---

<div class="post-metadata">

**Author:** ![delphis](https://avatars.discourse-cdn.com/v4/letter/d/aeb1de/32.png) [@delphis](https://discourse.joplinapp.org/u/delphis)\
**Post date:** [22 July 2021 20:14 UTC](https://discourse.joplinapp.org/t/notebook-specific-tags/18954/3 "2021-07-22T20:14:38Z")

</div>

Thanks i'll try it 👍

---

<div class="post-metadata">

**Author:** ![kimcosmos](https://yyz2.discourse-cdn.com/flex028/user_avatar/discourse.joplinapp.org/kimcosmos/32/9730_2.png) [@kimcosmos](https://discourse.joplinapp.org/u/kimcosmos)\
**Post date:** [25 July 2021 13:38 UTC](https://discourse.joplinapp.org/t/notebook-specific-tags/18954/4 "2021-07-25T13:38:03Z")

</div>

Instead of hierarchical tags I use hierarchical notebooks and manually add secondary tags. That lets me search by parent or child. With (notebook:) and (any:1) without (tag:) hierarchy.

_ **But... there is no batch tagging** _  
To make this work well I need the ability to batch tag notes from a search result (select all/none checkboxes). That lets me search a child notebook: -tag:ToBeAdded then batch tag. Having the search show the notebook of each result would make untagging easy too. Its not drag and drop tagging but it has more fine control. It might be an alternative to the tag.all performance bottleneck. To make this hierarchical, search notebook: would need to also search subnotebooks

Tags, favorites and notebooks would each be more accessible with collapse/expand button for when a user has them sharing a column. All 3 are fast find options, so only one is needed at a time. Until then I place favorites under notebooks so when I toggle notebooks favorites is expanded.

---

<div class="post-metadata">

**Author:** ![uxamanda](https://yyz2.discourse-cdn.com/flex028/user_avatar/discourse.joplinapp.org/uxamanda/32/6786_2.png) [@uxamanda](https://discourse.joplinapp.org/u/uxamanda)\
**Post date:** [25 July 2021 19:54 UTC](https://discourse.joplinapp.org/t/notebook-specific-tags/18954/5 "2021-07-25T19:54:06Z")

</div>

I like that approach. Sounds like this plugin might help your workflow? [Tagging plugin / (Copy Tags plugin)](https://discourse.joplinapp.org/t/tagging-plugin-copy-tags-plugin/13170)

---

<div class="post-metadata">

**Author:** ![kimcosmos](https://yyz2.discourse-cdn.com/flex028/user_avatar/discourse.joplinapp.org/kimcosmos/32/9730_2.png) [@kimcosmos](https://discourse.joplinapp.org/u/kimcosmos)\
**Post date:** [29 July 2021 13:13 UTC](https://discourse.joplinapp.org/t/notebook-specific-tags/18954/6 "2021-07-29T13:13:02Z")

</div>

A 'top note' in each notebook that backlinks to the parent notebook 'top note' will add a default hierarchy layer to the **graph view plugin**.  
The **tagging plugin** using the tag on that 'top note' will allow changing hierarchical tagging structure (for simpler searches).  
I will manually add ancestors tags and the parent backlink to a top note when a new notebook is created. Every new note then only needs a link (with **automatic backlink plugin** ) to the top note. As a habit it might not stop a rush of ideas.  
I don't know how to write a plugin to replace the topnote and to template new notes with a parent backlink and tag.  
Ancestor tags are easiest to enter with the tagging plugin. select notebook \> F11 \> click a note \> ctrl+a \> Tags \> add or create top/notebook tag for all  
For orphan notes I use the **untagged plugin** to repair them later

---

<div class="post-metadata">

**Author:** ![kimcosmos](https://yyz2.discourse-cdn.com/flex028/user_avatar/discourse.joplinapp.org/kimcosmos/32/9730_2.png) [@kimcosmos](https://discourse.joplinapp.org/u/kimcosmos)\
**Post date:** [31 July 2021 09:54 UTC](https://discourse.joplinapp.org/t/notebook-specific-tags/18954/7 "2021-07-31T09:54:40Z")

</div>

### Duplicate categories across platforms

Most to least actionable

1. Project goal tasks (task lists linked to notes & gantt charts)
2. Responsibilities/maintenance (tags?)
3. Interests/resources (Notebooks in Joplin)
4. Archives (inactive from other 3)

### Notebook cover notes and name tags (auto zettle w hierarchy)

Each new notebook gets a cover note with

1. description of demarcation &/or svg logo/emoticon
2. its 'notebook name' tag
3. its parent cover note link (R Click Copy, Ctrl+v on top)
4. a backlink from each of its notes when they are put there

#### Plugins

- **backlinks** (set to auto) extends the **link graph UI** into the tree.
- The **tagging** plugin allows moving ancestor tags by selecting notebook \> F11 \> click a note \> ctrl+a \> Tags \> change name tags for all.
- **Embed Search** batch copy & pastes results for batch backlinking
  - [search](https://joplinapp.org/help/#searching) is multiterm, -exclusive, wildc\*rded\* and notebook: is recursive

- **Favorites** includes searches like templates (but is not collapsible)
- Orphan notes get the **untagged** plugin for later checking in a favorited search
- **note overview** searches by API fields and sorts by any 1 of them. This is an auto updating note like a macro. Making the cover note auto updating for backlinks might be enough because I have to visit it every time I link to it.
  - Triggering an update on note/book updated\_time (folder\_title or parent\_id) or note item\_change (parent\_id if moved or title) would mean storing these fields and times in the note.

#### Issues

- A plugin could enable automatically giving all [notebooks/folders](https://joplinapp.org/api/references/rest_api/#properties), cover note templates with [all notes linked](https://joplinapp.org/api/references/rest_api/#get-folders-id-notes) there. An update button for its backlinks and tags per branch and overall. Is _onEdit_ a JS event??? This _ **might** _ not be too resource intensive, although it seems to be stopping heirarchical tags.
- Custom ordering notebooks (unlike notes & favorites) is only possible by numbering them.
- Browsing the command pallet is too slow and obscure when you just want to toggle an extension. Intellisense is not enough. For example ctrl+shift+p favst to toggle favorites is not a real shortcut. All command pallet items should be shortcut enabled.
- I need to write a gantt template with reminders (to remind me of the commands).

---

<div class="post-metadata">

**Author:** ![system](https://canada1.discourse-cdn.com/flex028/uploads/cozic/original/3X/1/c/1c948e33314e232a0927789508474d8624f4270b.png) [@system](https://discourse.joplinapp.org/u/system)\
**Post date:** [30 August 2021 09:55 UTC](https://discourse.joplinapp.org/t/notebook-specific-tags/18954/8 "2021-08-30T09:55:11Z")

</div>

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
