如何在Julia的Documenter.jl文档中引入其他包函数的docstring
解决方案
前置校验
首先确认你在包代码中已经正确完成了第三方函数的引入和导出,示例写法如下:
# 你的包的顶层代码(比如src/YourPackage.jl) import ThirdPartyPackage: target_func export target_func
这种写法下Documenter会默认继承第三方函数的原有文档字符串,不需要你额外重写。
两种@ref使用场景的对应写法
场景1:链接到自己包文档内嵌入的第三方函数文档
你直接用常规的@ref语法即可,不需要添加第三方包前缀:
- 行内链接写法:
[`target_func`](@ref) - 如果要在文档页面中嵌入该函数的完整说明,在
@docs代码块中直接写你包下的函数绑定即可:```@docs YourPackage.target_func
场景2:直接跳转到第三方包官方文档的对应函数页面
你需要额外配置跨包文档映射:
- 先在
docs/make.jl中引入并配置Intersphinx插件:using Documenter.Intersphinx # 在HTML构造参数中添加插件配置 makedocs( # 其他原有配置保持不变 format = Documenter.HTML( plugins = [ Intersphinx( # 键为第三方包名,值为对应包官方文档的objects.inv地址 "ThirdPartyPackage" => "第三方包文档的objects.inv地址", ) ] ) ) - 写链接时指定第三方包的函数绑定即可:
[`target_func`](@ref ThirdPartyPackage.target_func)
内容的提问来源于stack exchange,提问作者logankilpatrick
相关产品推荐
相关产品推荐

