ThinkForge documents support links as part of the document content. Links are stored in ordinary Markdown, remain visible in the source file, and work in both the rich-text editor and Project Navigator's focused document reader.
For step-by-step instructions, see Using Document Links. This document is the behavior reference.
Table of Contents
- Create a document link
- Link to a heading
- Use links in Project Navigator
- Supported link forms
- Document links and manual links
- Current limitations
Create a document link
Type [[ in a rich-text document. An autocomplete opens at the caret and searches project documents as you continue typing. Move through results with the Up and Down arrows, insert with Enter or Tab, and dismiss with Escape. Focus stays in the document throughout, so the popup never interrupts typing.
Searching begins at two characters. Results come from the same project document search that powers Project Navigator's folder search, so keyword, semantic, and tag matching all contribute and each row carries the match-type badge kw, SK, or tag. Each row shows the document title above its project-relative path. The document being edited is excluded.
Insert > Document Link on the Insert ribbon remains available and simply types [[ for you, so the menu and the keyboard path behave identically.
Inserting adds the target document's title as the link text, followed by a plain space that carries no link mark. That space is what lets typing continue outside the link. Selecting text before typing [[ does not turn the selection into the link label; edit the inserted words afterward if a different label is wanted.
The inserted Markdown uses the target's existing document ID, for example:
[Project Navigator](thinkforge://document/20260813-192846-850)
ThinkForge does not allocate or alter an ID while making a link. When the target file is renamed or moved, the ID-backed link resolves its current path. The visible label is ordinary document text and does not change automatically.
The adjacent Link command still accepts a URL or a manually entered Markdown-compatible target. Use it for web links, email links, relative file links, or a link you already know.
Link to a heading
Choose Insert > Contents to insert a linked list of the document's current headings. The result is ordinary Markdown rather than a separate navigation widget, so it is saved with the document and remains readable in other Markdown applications.
Headings receive predictable fragments. Text is lowercased, punctuation and spaces become separators, and repeated headings receive -2, -3, and later suffixes. For example:
[Create a document link](#create-a-document-link)
Clicking a heading link scrolls to that heading in the editor or in Project Navigator's focused reader. A document-ID or relative-file link can also include a fragment to open a heading in another document.
The inserted contents block is a snapshot. Adding, removing, renaming, or reordering headings does not automatically rebuild it; delete or edit the list, or insert a new one.
Use links in Project Navigator
Project Navigator is the main reading and navigation surface for document links. In Files, open a document's focused presentation. Links in the rendered content are clickable:
- A link to another indexed project document keeps the reader in Project Navigator and focuses the target document.
- A heading fragment scrolls within the current focused document.
- A relative file link resolves from the source document first and then from the project root.
- A web or email link opens through Windows.
The focused presentation also provides Copy document link. It copies the document's stable thinkforge://document/... target for use in another project document.
For the surrounding browsing behavior, see Files.
Supported link forms
ThinkForge recognizes these link targets:
thinkforge://document/<timestamp-id>for an indexed project document. An optional#fragmenttargets one of its headings.#fragmentfor a heading in the current document.- Relative Markdown paths such as
../Project Navigator/Content View.md#document-focus. - Project-root-relative paths beginning with
/. - Absolute local paths and
file:URLs when the target file exists. http:,https:, andmailto:links for external destinations.
ID-backed links are preferred for links created inside ThinkForge because renames and moves do not change document identity. Relative links remain useful when a set of documents must also work in other Markdown readers or in a source repository.
Document links and manual links
Document-content links and Project Navigator manual links are separate concepts.
A document-content link is Markdown you wrote. It provides direct reading navigation and can form a table of contents. Project Navigator manual links are explicit relationship metadata saved with the project, carrying an intent such as Supports or Contradicts. Insights and Clusters use that relationship graph.
Adding a Markdown link does not create a manual relationship, and adding a manual relationship does not insert text into either document.
Current limitations
- Contents insertion creates a flat bullet list from the headings present at insertion time. It is not a live or managed outline.
- The rich-text editor exposes headings 1 through 4, so those are the heading levels normally available to the contents command.
- Broken internal links currently fail quietly. There is no repair dialog or broken-link report.
- Markdown links are not yet extracted into backlinks or the Insights manual-link graph.
- Dragging a Project Navigator document directly into the editor does not yet create a document link. Use
[[or Copy document link. - The autocomplete searches with keyword, semantic, and tag matching all enabled. It has no mode toggles; the Project Navigator folder search is the surface that exposes those.
- Selected text is not reused as the link label, because the trigger replaces the typed
[[range rather than a selection. - The autocomplete is available in the rich-text editor only. The Smart Clipboard composer reports no results there.
- The
thinkforge:target is an application link. Markdown readers outside ThinkForge can display its label but generally cannot open the target.