在哪里放置scaladoc可以使用的资源,例如图像?

 若涵她娘_124 发布于 2023-01-09 12:03

我目前正在编写用Scala编写的API文档.我想包括几个图表,以使代码更容易理解.

我想知道在哪里放置资源(如图表),以便可以通过调用scaladoc自动导入它们,以及如何在代码文档中引用这些资源.

例如,让我们假设我使用sbt.我的代码位于src/main/scala目录中.以下是包的scala包对象的示例foo:

/**
 * Provides main classes of the bar API.
 *
 * ==Overview==
 * Main classes are depicted on the following diagram:
 * 
 *
 */
package object foo {
}

'diagram-foo.svg'应该放在我的项目中以便scaladoc可见?随后,什么是正确的值path/to/img标签?

1 个回答
  • 警告这可能是一个黑客,因为我对scaladoc知之甚少.

    由于<img src="../path/to/diagram-foo.svg" />只是一个普通的HTML,您只需要将必要的资产复制到doc目标路径,以便img解决.

    您可以使用以下copyDocAssetsTask自定义任务,(doc in Compile)src/main/doc-resources目录可以为您提供所需的任务.关键是将图像复制到生成文档的目录,即(target in (Compile, doc)).value.

    build.sbt:

    lazy val copyDocAssetsTask = taskKey[Unit]("Copy doc assets")
    
    copyDocAssetsTask := {
      println("Copying doc assets")
      val sourceDir = file("src/main/doc-resources")
      val targetDir = (target in (Compile, doc)).value
      IO.copyDirectory(sourceDir, targetDir)
    }
    
    copyDocAssetsTask <<= copyDocAssetsTask triggeredBy (doc in Compile)
    

    显然,放置图像的目录是任意的,当您另外决定时,只需相应地更新自定义任务.

    2023-01-09 12:04 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有