Tinderbox v9 Icon

Text link creation via the Ziplinks method

Note that the ziplinks method of creating normal text links, i.e. originating from anchor text in the note's $Text; the method is optimised for key-board-only use, but there is no specific type of link that is a 'ziplink'. Indeed, once the ziplinks method has been used, the link anchor is no different from any other text link anchor, i.e. the ziplinks method does not create a special type link. Thinking of 'ziplinks' is a path to confusion

The term 'Ziplinks' is the new name for the old Quick Links method of rapid link creation and whose means of use was completely rewritten. The method is useful for fast-touch typing as a text link can be created without use of the trackpad or mouse. This method is particularly useful for adding references to glossary terms, frequently-used sources, or oft-mentioned people and places; in fact anything where the destination note name makes logical anchor text for the link.

Creating a new link (and note) using the ziplinks method

To use this method to make a named note, precede the name of the note with two square brackets and follow its name with two square brackets like this [[like this]]. If there is no note with this name in the document, Tinderbox will create one as the sibling of the note being editing creating a text link with the new note's $Name as the anchor text. Otherwise, if that note exists, a text link is created to the matched note.

Notes created via this method observe document settings to expand vertically or horizontally if additional space is required for the name. In addition, such notes are positioned to avoid adornments as well as other notes.

The new note's $CreatedFrom attribute contains the path to the note that created the note (i.e. the source of the creating text link).

Option-clicking in the note name popup menu autocompletes the chosen target but leaves the creation process open for further editing. For example, after typing [[tar and then choosing "target" from the popup while pressing the option key, the text will read [[target and wait for you to complete the link.

The menu Format ▸ Text ▸ Ziplinks toggles whether the selected note(s) allow link creation via the ziplinks method ($Ziplinks).

Syntax for text link creation via the Ziplinks method

Once links creation is invoked the following logic applies:

[[ shows a list of all notes in the current document.

[[D shows a list of all notes with names that contain a "d" (case-insensitive match).

In documents with many notes it makes sense to type a few characters to avoid excessive numbers of possible matches being listed.

When typing link input, Tinderbox will show a list of related note names to the left of the text pane; the list displays all notes that contain the input string, not just those that begin with the string. Choose any of these listed notes to make the link (without further typing); or, press the up-arrow or down-arrow keys to select the preferred target note then press the Return key (↩) to complete the link. When typing link input, you can choose that option by pressing Tab key (⇥) if either:

Each item in the match popup menu shows a tool tip with the note's full path.

Locale-based sorting. When typing link input on an English locale system, diacritics are ignored when looking for matches. However, the match popup menu takes into account the user's locale, so 'étude' will sort appropriately for French users and 'Ångstrom' will sort correctly in Norway. Bear in mind the process works off the OS locale so if working under one locale and using accented characters from a different language/locale sorting is still locale based.

Link type. A link created via this method always has the link type "*untitled" (i.e. no link type). Use the Browse Links or Roadmap dialogs to set a different link type.

Linking to a note in a specified container

If wishing to use the method make a link to a note in a different container, type the container path in the link input:


Additional logical syntax applies when typing paths:

[[/ shows a list of all top-level containers.

[[/D shows a list of all top-level notes that begin with a "d" (case-insensitive match).

[[/Dog/ shows a list of all notes in /Dog.

[[/Dog/R shows a list of all notes in /Dog that begin with "r".

[[./ shows a list of all siblings of this note.

[[../ shows the parent of this note and all the parent's siblings.

When typing the start of link input, e.g. [[A, Tinderbox shows all notes in the document starting with A. Typing [[/container/A, Tinderbox shows only notes in the specified container. To see a list of just those notes that are siblings of this note, type [[./A (note the full stop before the slash character).

When typing link input, the popup menu displays names of containers in bold. Selecting a container from the match menu does not close the link input immediately. Instead, a new menu of items inside the container appears. Type closing brackets "]]" to link to the container, or select any note or container inside that container from the menu.

When typing link input, Tinderbox prefers to link to the original note rather than an alias. Pressing [tab] selects the option currently selected in the popup menu. If no item is selected but there is only one item in the menu, pressing [tab] selects it. If there are several items in the menu but none is selected, [tab] selects the first item.

When using the ziplinks method, Tinderbox displays a list of possible targets in a popup window. Pressing down-arrow (↓) selects the first target, and pressing down-arrow (↓) again selects the second target. Return ( ↩) completes the link to the selected target. Option-Return ( ⌥+↩) is now accepted as equivalent to option-clicking on the list; the target is copied to the current link but the link remains open, allowing you to add other options. For example, you might type |Anchor]] to add a custom anchor for the link as described in more detail below..

Adding anchor text for the new link

The method syntax allows for specifying link anchor text, using a pipe ('|') symbol delimiter. The following will replace the brackets with the anchor text and link it to the designated note.:

[[note name|anchor text]] 

If also needing to specify additional $Text for the note (see below), it goes after the optional anchor text:

[[note name|anchor::text]] 

Adding text to the target note

To aid rapid note-taking, it is possible to also set or add to the $Text of a the link's target note:

[[note::some new text]] 

If the note already exists, the new text is appended to the note's existing $Text. Otherwise, the supplied text forms the entire $Text of the new note; where no text is supplied, new notes generated by this method have no $Text.

There is no limit on the size of the link input string. Previously it was limited to 50 chars. If needing to add more target text than is currently supported, there is a simple alternative. Use the link method to create a link without adding any text. Then click the link. This navigates to the link target. Now add the desired $Text. Then use shortcut ⌘+' to navigate back to the original note. These navigation controls are also accessible from the Note menu.

Target note name and anchor text

WARNING: even if not using the ziplinks link-creation feature, changing a note name will affect link anchors pointing to that note, as described here.

Making a backlink from the link target

The method can create backlinks from the destination note. [[<that note>]] will create a link to "that note", and then will append the name of this note to the text of "that note" and link the name back to this note. The mark-up needed is used as a wrapper around the entire input string. Thus:

[[<New Idea>]] 

…will create a new note called 'New Idea' and link to it. If this method is mixed with other syntax variations, like so:

[[<New Idea|great idea::Recent innovation>]] 

…will create a new note called 'New Idea' and link to it via anchor text 'great idea' and add a backlink with the anchor text 'Recent innovation'.

IMPORTANT: note how the closing '>' comes at the end, immediately before the closing ']]' and not before the '|' as might be assumed if all the different parts of syntax were just chained.

Stamps and use of the Ziplinks method

If a stamp changes the text, Tinderbox will immediately expand any ziplinks-style mark-up found in the revised text; i.e. it will parse the syntax and use the ziplinks method to create new text link(s).

Suppressing the Ziplink feature

It can be useful to disable this feature in notes using code examples or square brackets, and the system attribute $Ziplinks supports this behaviour. Built-in prototypes, such as 'HTML' and 'Code' have $Ziplinks set to false for just such a reason.

Quick links behaviour, in older versions

The previous 'Quick links' behaviour using a "[[" trigger is described separately.

A Tinderbox Reference File : Objects & Concepts : Concepts : Links : Text Links : Text link creation via the Ziplinks method