view-topic locator &key book interface displayer =>
nil
или объект-окно верхнего уровня, через которое пользователь запросил о помощи.nil
или элемент интерфейса, для которого запрашивается помощь.Нет.
Локатор
— объект типа ystok.uri:uri
или строка одного из следующих видов:
"anchor" | "#anchor"| "//book_id#anchor" |
"//book_id/" | "/path" | "//book_id/path" |
"/path#anchor" | "//book_id/path#anchor".
Эта строка аналогична гибкой ссылке,
используемой в исходных HTML-файлах
разрабатываемой книги помощи, с той лишь
разницей, что при отсутствии каких-либо разделителей строка трактуется как
anchor, а не как path
(как это принято в спецификации URI).
Функция открывает книгу помощи на странице, содержащей указанный якорь anchor и/или находящейся в пути path. Когда в локаторе задан и якорь, и путь, путь обычно задаёт только физическую папку (без указания файла), где ищется страница с определением якоря.
Если аргумент book не задан, по умолчанию якорь ищется в книге *default-book*. Если существуют несколько страниц, содержащих данный якорь, то высвечивает запрос, на какой именно следует перейти. Если ни одной страницы не найдено, то выдается предупреждение в виде диалога.
В качестве аргумента book может передаваться экземпляр как класса book, так book-system. Последняя возможность удобна для отладки функций помощи на этапе разработки.
Не все браузеры позволяют прокручивать открываемую страницу, так чтобы показать указанный фрагмент. Тогда страница будет показана с начала.
Переход на фрагмент внутри страницы статьи верхнего уровня по умолчанию не реализован. Обычно такой статьёй служит обзор "O книге помощи". Маловероятно, что из прикладной программы потребуются переходы внутрь него — его достаточно показать с самого начала.
Когда локатор представлен строкой URI, функция разбирает её.
Чтобы корректно преобразовать фрагмент, необходимо передать
аргумент :fragment-char-p
функции uri:parse-uri
,
а значит, знать язык. Обычно само приложение
подразумевается скомпилированным под определённый язык.
Поэтому функция ещё при компиляции проверяет системные возможности
(features), вроде :Russian, вместо того, чтобы пытаться извлечь язык
из какой-нибудь книги во время исполнения.