Phpdocumentor ищет пользовательские шаблоны в каталоге поставщика

Мне нужно создать собственный шаблон для PhpDocumentor. Проблема в том, что пути, определенные в template.xml, даже если они указаны как абсолютные, не устранены правильно. PhpDocumentor ищет их в каталоге поставщика.

<template>
    <author>Code Mine</author>
    <email>[email protected]</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, я получаю ошибку, что файлы не существуют.

EDIT:

Я также попытался настроить все данные конфигурации в phpdoc.xml в надежде, что пути будут рассмотрены относительно файла конфигурации, но не повезло.

Ответы

Ответ 1

Если вы укажете настраиваемый шаблон с --template="...", он (по какой-то странной причине) скопирует весь шаблон в папку поставщика вместе с исходными шаблонами, и поэтому структура пути в template.xml должна оставаться неизменной. Вам нужно только изменить, например. templates/clean/ до templates/yourtemplatename/.

У меня проблема с кешированием. Я не могу заставить его перечитать мой шаблон каждый раз. Он его где-то кэшировал, и я не могу, чтобы жизнь меня определяла где. Документация действительно плохая, а источник хуже.

Update: Наконец выяснилось, что он кэшировал мой шаблон во временной папке моего компьютера. Например, для Windows: c:\Users\<username>\AppData\Local\Temp\phpdoc-twig-cache\. Поэтому я просто удаляю эту целую папку.

Ответ 2

Исправьте меня, если я ошибаюсь, но похоже, что вы можете просто передать путь к файлу в 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"