SCALEX 是一款開放源代碼的 Scala 相關項目文檔生成工具,支持 Scaladoc 以及 Javadoc,支持多種主題風格選擇。它可以將源碼中的注釋自動生成文檔,並可以與開發者的代碼編輯器集成,進行代碼分析,查看文檔。
一、從 Scala 官網下載 SCALEX
SCALEX 的安裝非常簡單,只需要從 Scala 官網上下載相應的安裝包即可,下面是下載地址和安裝命令。
curl https://oss.sonatype.org/service/local/artifact/maven/content?r=releases&g=org.scala-sbt&a=scripted-sbt&v=LATEST -L -o sbt-launcher.jar
java -Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -jar sbt-launcher.jar
二、SCALEX與西門子系統
SCALEX 可以與西門子系統集成,通過在指定的編譯目錄中生成文檔,方便西門子系統開發者使用。
val site = SbtSite.site taskKey[Unit]("Build the site.")
Settings.seq(scalaVersion := "2.12.6", SbtSite.settings: _*)
三、SCALEX與喜劇
SCALEX 也可以與喜劇集成,自動生成喜劇風格的文檔,讓文檔看起來更加輕鬆有趣。
buildInfoPackage := "example.scaladoc",
buildInfoKeys += "version" -> version.value,
buildInfoKeys += "name" -> name.value,
buildInfoKeys += "buildTime" -> java.util.Calendar.getInstance.getTimeInMillis.toString,
buildInfoKeys += "commitSha" -> gitHeadSha.value
四、SCALEX虛擬機搭建
SCALEX 的搭建非常簡單,只需要按照下面的命令即可開始文檔生成。
docker run -it --rm -v $PWD:/data/ hseeberger/scala-sbt:11.0.6_1.3.10_2.13.1 bash
cd /data/
sbt doc
五、SCALEX旋鈕的功能發音
SCALEX 還擁有旋鈕功能,可以按照按鍵的順序以及旋鈕的方向進行提示發音。
import scala.language.dynamics
class Speak extends Dynamic {
def applyDynamicNamed(methodName: String)(args: (String, Any)*) = ???//Speak方法實現內容
}
六、SCALEX與西門子PLC 1200
SCALEX 與西門子 PLC 1200 選型搭配使用,給 PLC 1200 開發者提供一個良好的編程文檔生成系統。
libraryDependencies += "org.scalaz" %% "scalaz-core" % "7.2.16",
libraryDependencies += "org.scalaz" %% "scalaz-concurrent" % "7.2.16",
libraryDependencies += "org.typelevel" %% "cats-core" % "2.0.0",
libraryDependencies += "org.typelevel" %% "cats-effect" % "2.0.0"
七、SCALEX相關圖片
SCALEX 也支持在文檔中插入圖片,方便開發者描述功能或者項目內容。
import $ivy.`com.lihaoyi::bs4-scalatags:0.6.2`, scalatags.Text.all._
val imgSrc = "https://www.scala-lang.org/resources/img/frontpage/scala-spiral.png"
figure(
img(src:=imgSrc, width:=300),
figcaption("This is a Scala logo")
)
八、總結
SCALEX 是一個非常強大的 Scala 文檔生成工具,支持多種主題風格,可以與多種不同的技術產品集成使用。在使用 SCALEX 的過程中,需要注意數據的類型轉換以及數據傳遞問題。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/312831.html
微信掃一掃
支付寶掃一掃