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 function has been completely rewritten as of v8.6.0. 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 terxt 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.
From v8.7.1, notes created via this method now 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.
From v8.8.0, 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).
From v8.9.0, 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.
From v8.9.2, 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:
- there is only one choice in the match menu
- an item in the pop-up menu has been selected with the up-arrow and down-arrow keys.
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 ths 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:
[[/container/note]]
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.
From v8.7.0, when typing link input, Tinderbox now 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.
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.
From v8.6.1, 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
From v8.7.0, 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
From v8.9.0, 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 (from v8.6.0) 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, pre-v8.6.0
The previous 'Quick links' behaviour using a "[[" trigger is described separately.