我如何 link 到 Scribble 中的第三方 Racket 文档?
How do I link to third party Racket docs in Scribble?
我正在尝试 link 涂写由第三方(而不是核心)库(具体来说,data/collection)提供的文档,但我无法让它工作.
使用这些导入:
@require[scribble/manual
scribble-abbrevs/manual
scribble/example
racket/sandbox
@for-label[(only-in racket
(foldl f:foldl)
(foldr f:foldr))
(only-in data/collection
(foldl d:foldl)]]
Racket 内置文档的以下 link 有效:
@racketlink[f:foldl "foldl"]
但是这个,到 data/collection
版本:
@racketlink[d:foldl "foldl"]
...导致以下错误:
raco setup: WARNING: undefined tag in <pkgs>/relation/scribblings/relation.scrbl:
raco setup: (undef "--UNDEFINED:d:foldl--")
raco setup: ((lib "data/collection.rkt") foldl)
我还尝试使用 @tech
标签,例如:
@tech[#:doc '(lib "scribblings/data/collection/collections.scrbl")]{"foldl"}
我尝试了它的几种变体,但无法让它工作——有一件事我在扫描文档时无法发现,例如 here,就是 lib
link 有效——路径究竟指的是什么?显然,"scribblings" 不是指本地涂鸦文件夹,而是某种全局文档路径。但是如何知道特定图书馆的文档使用什么路径呢?对于上面提出的主要问题,这可能更像是一个次要问题,但是您可以在这里阐明的任何问题都会有所帮助。
问题是您只安装了 collections-lib
。这不包括位于 collections-doc
的文档。
因此,要么安装软件包 collections-doc
,要么安装(元)软件包 collections
,后者将包括 collections-lib
和 collections-doc
。然后,运行 raco setup relation
重新呈现您的文档。这足以满足您自己的构建。
您可能还应该修改 info.rkt
,以便安装您的包的其他人下载所需的依赖项。有几种方法可以进行设置。
- 一个简单的方法是将
collections
放在 deps
中,这将要求用户安装元包 collections
,因此同时安装 collections-lib
和 collections-doc
。
- 一个更难的方法是把
collections-lib
放在deps
中(你已经这样做了)然后把collections-doc
放在build-deps
中。这种方法的一个优点是,如果用户将您的软件包安装为 binary package(已经预呈现文档),则用户无需下载构建文档所需的所有工具。
我正在尝试 link 涂写由第三方(而不是核心)库(具体来说,data/collection)提供的文档,但我无法让它工作.
使用这些导入:
@require[scribble/manual
scribble-abbrevs/manual
scribble/example
racket/sandbox
@for-label[(only-in racket
(foldl f:foldl)
(foldr f:foldr))
(only-in data/collection
(foldl d:foldl)]]
Racket 内置文档的以下 link 有效:
@racketlink[f:foldl "foldl"]
但是这个,到 data/collection
版本:
@racketlink[d:foldl "foldl"]
...导致以下错误:
raco setup: WARNING: undefined tag in <pkgs>/relation/scribblings/relation.scrbl:
raco setup: (undef "--UNDEFINED:d:foldl--")
raco setup: ((lib "data/collection.rkt") foldl)
我还尝试使用 @tech
标签,例如:
@tech[#:doc '(lib "scribblings/data/collection/collections.scrbl")]{"foldl"}
我尝试了它的几种变体,但无法让它工作——有一件事我在扫描文档时无法发现,例如 here,就是 lib
link 有效——路径究竟指的是什么?显然,"scribblings" 不是指本地涂鸦文件夹,而是某种全局文档路径。但是如何知道特定图书馆的文档使用什么路径呢?对于上面提出的主要问题,这可能更像是一个次要问题,但是您可以在这里阐明的任何问题都会有所帮助。
问题是您只安装了 collections-lib
。这不包括位于 collections-doc
的文档。
因此,要么安装软件包 collections-doc
,要么安装(元)软件包 collections
,后者将包括 collections-lib
和 collections-doc
。然后,运行 raco setup relation
重新呈现您的文档。这足以满足您自己的构建。
您可能还应该修改 info.rkt
,以便安装您的包的其他人下载所需的依赖项。有几种方法可以进行设置。
- 一个简单的方法是将
collections
放在deps
中,这将要求用户安装元包collections
,因此同时安装collections-lib
和collections-doc
。 - 一个更难的方法是把
collections-lib
放在deps
中(你已经这样做了)然后把collections-doc
放在build-deps
中。这种方法的一个优点是,如果用户将您的软件包安装为 binary package(已经预呈现文档),则用户无需下载构建文档所需的所有工具。