Phpdocumentor在供应商目录中查找自定义模板

时间:2016-01-21 10:18:55

标签: php twig phpdoc phpdocumentor2

我需要为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>

尽管枝条模板位于xml所指的路径中,但我收到文件不存在的错误。

编辑:

我还尝试在phpdoc.xml中设置所有配置详细信息,希望路径将被视为相对于配置文件,但没有运气。

2 个答案:

答案 0 :(得分:1)

如果您使用--template="..."指定自定义模板,则会(由于某些奇怪的原因)整个模板与原始模板一起复制到供应商文件夹中,因此将路径结构template.xml需要保持不变。你只需要改变例如。 templates/clean/templates/yourtemplatename/

我有一个缓存问题。我不能每次都重读我的模板。它已经将它缓存到某个地方,我不能为我的生活找出原因。文档非常糟糕,来源更糟。

<强>更新 最后发现它将我的模板缓存在我的计算机的临时文件夹中。对于Windows,例如:c:\Users\<username>\AppData\Local\Temp\phpdoc-twig-cache\。所以我只删除整个文件夹。

答案 1 :(得分:0)

如果我错了,请纠正我,但似乎你可以在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"

您可能需要退出vendor目录,其中包含..个{/ p}

--template="../../data/templates/my_template"

或传递绝对路径

--template="/var/scratch/foo/data/templates/my_template"