我需要为 PhpDocumentor 创建自定义模板。问题是template.xml
中定义的路径,即使指定为绝对路径,也无法正确解析。PhpDocumentor 在供应商目录中查找它们。
<template>
<author>Code Mine</author>
<email>office@code-mine.com</email>
<description>Template for Confluence API</description>
<version>1.0.0</version>
<transformations>
<transformation writer="twig" source="./index.html.twig" artifact="index.html"/>
<transformation query="indexes.namespaces" writer="twig" source="./namespace.html.twig" />
<transformation query="indexes.classes" writer="twig" source="./class.html.twig" />
</transformations>
</template>
尽管 twig 模板位于 xml 引用的路径中,但我收到文件不存在的错误。
编辑:
我还尝试在phpdoc.xml
中设置所有配置细节,希望路径将相对于配置文件考虑,但没有运气。
如果您指定一个带有--template="..."
的自定义模板,它将(出于某种奇怪的原因)将该整个模板与原始模板一起复制到供应商文件夹中,因此template.xml
中的路径结构需要保持不变。您只需要更改例如。 templates/clean/
templates/yourtemplatename/
.
不过我有一个缓存问题。我无法让它每次都重读我的模板。它已将其缓存在某个地方,我一生都无法弄清楚在哪里。文档真的很糟糕,来源更糟糕。
更新:终于发现它将我的模板缓存在我计算机的临时文件夹中。对于视窗,例如:c:Users<username>AppDataLocalTempphpdoc-twig-cache
.所以我只是删除整个文件夹。
错了,请纠正我,但似乎您可以在 CLI 上传递文件路径
https://www.phpdoc.org/docs/latest/getting-started/changing-the-look-and-feel.html
使用自定义模板 当您拥有公司或项目品牌的模板时,您还可以通过提供模板文件夹的位置将其与 phpDocumentor 一起使用:
$ phpdoc -d "./src" -t "./docs/api" --template="data/templates/my_template"
您可能需要退出供应商目录,并像这样..
--template="../../data/templates/my_template"
或传递绝对路径
--template="/var/scratch/foo/data/templates/my_template"