如何链接到Scribble中的第三方Racket文档?
我正试图链接到第三方(而不是核心)库提供的Scribble文档(特别是),但我很难让它正常工作 通过这些进口:如何链接到Scribble中的第三方Racket文档?,racket,code-documentation,scribble,Racket,Code Documentation,Scribble,我正试图链接到第三方(而不是核心)库提供的Scribble文档(特别是),但我很难让它正常工作 通过这些进口: @require[scribble/manual scribble-abbrevs/manual scribble/example racket/sandbox @for-label[(only-in racket (foldl f:foldl)
@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内置文档:
@racketlink[f:foldl "foldl"]
但对于数据/采集
版本:
@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)
我尝试了几种不同的方法,但都没有成功——比如,我在扫描文档时没有发现
lib
链接是如何工作的——路径到底指的是什么?显然,“scribblings”不是指本地scribblings文件夹,而是指某种全局文档路径。但是如何知道特定库的文档使用哪条路径呢?这可能比上面主要的问题更像是次要问题,但是您可以在这里提供的任何信息都会有所帮助。问题在于您只安装了集合库。这不包括其文档,该文档位于collections doc
因此,要么安装包collections doc
,要么安装(meta-)包collections
,其中将包括collections lib
和collections doc
。然后,运行raco设置关系
,重新呈现文档。这对于您自己的构建就足够了
您可能还应该修改info.rkt
,以便安装您的软件包的其他人下载所需的依赖项。有两种方法可以设置它
- 一种简单的方法是将
collections
放入deps
,这将要求用户安装元包collections
,从而安装collections lib
和collections doc
李>
- 更困难的方法是将
集合库
放入deps
(您已经这样做了)并将集合文档
放入构建deps
。这种方法的一个优点是,如果用户将您的软件包安装为,则无需下载构建文档所需的所有工具(这将预先呈现文档)
我无法重现该问题@racketlink[d:foldl“foldl”]
对我来说工作正常。您是否安装了集合
或集合库
。。“集合库”包含在myinfo.rkt的(deps…
中。还尝试将其添加到(build deps…
。仍然是相同的错误。是否还有其他地方需要添加它才能作为文档阶段的依赖项找到?我的库代码能够在数据/收集
中找到函数。好的,我删除了包,然后使用raco
重新安装了包,这似乎消除了错误消息。是这样吗当在info.rkt
中添加新的Dep时,需要这样做吗?目前,构建文档不再抱怨,但生成的html输出仍然显示出一个死链接。我认为这是因为数据/收集
文档在我的机器上不在本地可用。你知道如何在本地构建这些文档吗?如果你不知道的话I’我想发布其中任何一个作为答案,我很乐意接受。也希望您能对上面的lib
arg进行任何澄清。FTR看起来问题并没有消失。如果有人有兴趣深入了解这一点,我正在构建的包是,pegged。运行make
显示构建选项。Thank you,这就是诀窍,很高兴了解关于二进制软件包的考虑。我想raco setup
和raco setup--pkg
之间有一些区别,因为当我在添加正确的依赖项后最初执行后者时,错误消息仍然存在,但运行前者是有效的。感谢救命啊!
@tech[#:doc '(lib "scribblings/data/collection/collections.scrbl")]{"foldl"}