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"