我正在尝试为我的项目生成文档。
我已将{:ex_doc, "~> 0.16", only: :dev, runtime: false}
添加到我的deps
,将source_url
设置到我的存储库并运行mix docs
。
我正在使用Github Enterprise,所以我的设置是这样的:source_url: "https://my.private.repo/adam/projname"
但是,在生成的文档中,源的所有链接都直接指向https://my.private.repo/adam/projname
而不是relvant文件和行号。
我想做的一个例子:
https://hexdocs.pm/ex_doc/Mix.Tasks.Docs.html
此文件右上角的链接链接到https://github.com/elixir-lang/ex_doc/blob/v0.18.3/lib/mix/tasks/docs.ex#L1
在我生成的文档中,每个链接都链接到https://my.private.repo/adam/projname
。
我已经尝试将source_ref
设置为master
,但这没有任何区别。
如何让ExDoc
生成到源代码的正确特定链接?
这是我的mix.exs
文件的简化版本:
defmodule ProjectName.MixProject do
use Mix.Project
def project do
[
app: :project_name,
version: "0.1.0",
elixir: "~> 1.6",
deps: deps(),
# Docs
name: "ProjectName",
source_url: "https://my.private.repo/adam/projname"
]
end
end
当您使用以下域名之一ex_doc
时,source_url
将自动找出在何处找到该文件。 ex_docs source
github.com
bitbucket.com
gitlab.com
在域不同的情况下,您必须在source_url_pattern
文件的docs
部分提供mix.exs
def project do
[
app: :test_exdoc,
version: "0.1.0",
elixir: "~> 1.7-dev",
start_permanent: Mix.env() == :prod,
source_url: "https://yourprivate-repo.com/adam/projname",
deps: deps(),
docs: [
source_url_pattern: "https://yourprivate-repo.com/adam/projname/blob/master/%{path}#L%{line}"
]
]
end