Tags

Tags are lightweight labels for grouping notes across folders. Add #tag anywhere in a note, or list tags in its properties, and Fable gathers them into a searchable, browsable index.

Inline tags

A tag is a # immediately followed by a keyword, with no space between them. Tags can appear anywhere in the body of a note.

Met with the team about #project-alpha today. #meeting #followup
Tag or heading?

A # with a space after it at the start of a line is a heading; a # with no space is a tag. So # Meeting is a heading, while #meeting is a tag. To be read as a tag, the # must be at the start of a line or come right after a space.

What a tag can contain

Tags may contain letters, numbers, underscores, hyphens, forward slashes for nesting, and Unicode characters including emoji. A few rules keep them unambiguous:

  • At least one non-number. #1984 is not a tag, but #y1984 is. This keeps # plus a number from being read as a tag.
  • No spaces. For multi-word tags use #camelCase, #PascalCase, #snake_case or #kebab-case.
  • A tag ends at the first character that is not allowed.

Case behavior

Tags are case-insensitive for matching, so #Project and #project are the same tag in search and in the Tags view. For display, a tag keeps the casing it was first written with.

Nested tags

Use forward slashes to build a hierarchy. Each slash is one level.

#inbox/to-read
#inbox/processing
#project/alpha/design

Nested tags group under their parent in the Tags view as a collapsible tree, and searching a parent matches all of its children. So tag:inbox finds #inbox, #inbox/to-read and #inbox/processing alike.

Tags in properties

You can also declare tags in a note's frontmatter using the tags property. Here the leading # is omitted. The documented form is a YAML list:

---
tags:
  - recipe
  - cooking
  - project/alpha
---

Fable also accepts and normalizes a few equivalent shorthands:

tags: recipe cooking        # space-separated
tags: [recipe, cooking]     # inline list
tags: recipe                # a single tag
One namespace

A note's tags are the union of its inline #tags and its tags property. Both are equal members of the same namespace: both show in the Tags view and both match tag: search. Neither is subordinate to the other.

The Tags view

The Tags view, a tab in the sidebar, lists every tag in your vault with a count of how many times it is used. Nested tags appear as a collapsible tree, you can sort by name or by frequency, and clicking a tag opens Search filtered to it.

In search, use the tag: operator. The # is optional.

tag:#meeting
tag:project/alpha
tag:inbox -tag:inbox/processing

Because parent tags include their children, tag search is a natural way to browse a whole branch of your hierarchy at once.