У каждого расширения должна быть документация, в которой объясняется, что оно делает и как им пользоваться.
Минимальный набор документации состоит из трех файлов Markdown:
PREINSTALL.mdPOSTINSTALL.mdCHANGELOG.md
Кроме того, вы можете создавать:
- Файл
READMEдля общедоступного хранилища расширения. - Подробные руководства, инструкции и справочные материалы, опубликованные на вашем сайте и связанные с файлом
PREINSTALL.md.
Чтобы узнать о рекомендациях, а также о распространенных фразах и структурах, ознакомьтесь с файлами, доступными в официальных расширениях Firebase.
Создание файла README
Каталог расширения может содержать файл README. Обратите внимание, что команда firebase ext:dev:init не генерирует его автоматически.
Однако CLI Firebase поддерживает следующую удобную команду для автоматического создания файла README, содержащего контент, извлеченный из файлов extension.yaml и PREINSTALL.md:
firebase ext:info ./path/to/extension --markdown > README.md
Все файлы README для официальных расширений Firebase генерируются с помощью этой команды.
Добавьте информацию об установке
После того как вы напишете или сгенерируете файл README, добавьте в него информацию об установке. В качестве шаблона можно использовать следующий фрагмент кода:
--- ## 🧩 Install this extension ### Console [][install-link] [install-link]: https://console.firebase.google.com/project/_/extensions/install?ref=publisher_id/extension_name ### Firebase CLI ```bash firebase ext:install publisher_id/extension_name --project=[your-project-id] ``` > Learn more about installing extensions in the Firebase Extensions documentation: > [console](https://firebase.google.com/docs/extensions/install-extensions?platform=console), > [CLI](https://firebase.google.com/docs/extensions/install-extensions?platform=cli) ---
Запись файла PREINSTALL
Файл PREINSTALL – это обзор расширения, своего рода маркетинговая страница.
Что содержится в этом файле?
- Подробное описание функций расширения.
- Список предварительных требований, таких как настройка базы данных или доступ к стороннему сервису (пример).
- Краткое описание задач, которые нужно выполнить перед установкой, и инструкции по их выполнению.
- Краткое описание действий, которые нужно выполнить после установки (пример). Подробные инструкции должны быть приведены в файле
POSTINSTALL. - Краткое описание последствий для оплаты (начните со стандартного текста)
Где пользователи видят этот контент?
Firebase console">
Консоль Firebase">
- На странице расширения на сайте extensions.dev.
- Хранилище исходного кода расширения (в каталоге расширения).
- В файле README расширения (если вы используете флаг
интерфейса командной строки Firebase).--markdown > README.md
Файлы PREINSTALL не могут получить доступ к значениям параметров расширения, поэтому не стоит ожидать, что ссылки на параметры будут отображаться с фактическими значениями.
Какие рекомендации вы можете дать?
- По возможности ограничьте содержимое файла
PREINSTALLодной страницей. - Предоставьте информацию, которую конечный пользователь обязательно должен знать перед установкой расширения.
- Добавьте подробные инструкции в файл
POSTINSTALLили другие дополнительные файлы. - Кратко упомяните, предоставляете ли вы другие инструменты или скрипты для поддержки расширения.
Запись файла POSTINSTALL
Файл POSTINSTALL – это страница с подробными инструкциями по установке расширения.
Что содержится в этом файле?
- Подробные инструкции по выполнению обязательных задач после установки, например по настройке правил безопасности Firebase или добавлению клиентского кода (пример).
- Общие инструкции о том, как сразу же попробовать установленное расширение (например, "перейдите в консоль и сделайте следующее").
- Базовая информация о том, как активировать расширение, особенно для расширений, активируемых HTTP-запросом.
- Краткие инструкции по отслеживанию установленного расширения (начните со стандартного текста).
Где пользователи видят этот контент?
Консоль Firebase">
Консоль Firebase">
в консоли Firebase после того, как пользователь установит расширение (на карточке сведений об установленном расширении);
- Проверьте, как отображается контент
POSTINSTALL, установив расширение в реальный проект.
- Проверьте, как отображается контент
Хранилище исходного кода расширения (в каталоге расширения).
Файлы POSTINSTALL могут получать доступ к значениям параметров и нескольким переменным, связанным с функциями расширения. Когда контент POSTINSTALL отображается в консоли Firebase, вместо ссылок на параметры или переменные показываются фактические значения. Ниже рассказывается, как указывать параметры и переменные в файле POSTINSTALL.
Какие рекомендации вы можете дать?
- Полное содержимое файла
POSTINSTALLдолжно быть кратким, но информативным. - Разделите контент на разделы с помощью заголовков, чтобы разбить отдельные задачи или концепции.
- Рекомендуем опубликовать подробные инструкции по определенному рабочему процессу или задаче на своем сайте (пример) или в дополнительных файлах Markdown в хранилище расширения (пример).
- Укажите параметры и переменные, связанные с функциями, чтобы пользователь видел их настроенные значения в контексте инструкций.
Как ссылаться на параметры и переменные
После установки в консоли Firebase появится содержимое файла POSTINSTALL расширения. Если в файле POSTINSTALL вы ссылаетесь на параметры и переменные, связанные с функциями (см. таблицу ниже), то консоль заполняет эти ссылки фактическими значениями для установленного экземпляра.
Получите доступ к настроенным значениям параметров в файле POSTINSTALL, используя следующий синтаксис: ${param:PARAMETER_NAME}
Вы также можете ссылаться на следующие переменные, связанные с функциями, только в файле POSTINSTALL. Firebase поддерживает эти переменные, чтобы вы могли легко предоставлять пользователям инструкции после установки. Их можно использовать только в файле POSTINSTALL, поскольку значения этих переменных доступны только после установки.
В этой таблице function-name – это значение поля name в объекте ресурса функции в extension.yaml.
| Справка по переменным, связанным с функциями | Описание | Значение переменной (автоматически заполняется Firebase после установки расширения) |
|---|---|---|
${function:function-name.location}
|
||
| Местоположение, где развернута функция. |
Пример значения:us-central1
|
|
${function:function-name.name}
|
||
| Название конечной развернутой функции, которое включает идентификатор экземпляра расширения. |
Общий формат:
Пример значения: |
|
${function:function-name.url}
(только для HTTP-функций)
|
||
| URL конечной развернутой функции, к которой клиентский код может отправлять HTTP-запросы. |
Общий формат:
Пример значения: |
|
Документирование способов запуска расширения
В пользовательской документации к расширению необходимо объяснить, как его запустить. Инструкции могут быть настолько подробными, насколько вы считаете нужным, но не забывайте о рекомендациях по созданию файла POSTINSTALL.
Чтобы узнать, как предоставить эти инструкции, разверните раздел ниже, который относится к вашему расширению.
Как написать файл CHANGELOG
Что содержится в этом файле?
У каждого расширения должен быть файл CHANGELOG.md, в котором задокументированы изменения, включенные в каждую новую версию расширения. Каждую версию нужно поместить под заголовком второго уровня (##). В остальном вы можете использовать любое форматирование Markdown.
Ниже приведен пример фрагмента кода из одного из официальных расширений.
## Version 0.1.3 feature - Support deletion of directories (issue #148). ## Version 0.1.2 feature - Add a new param for recursively deleting subcollections in Cloud Firestore (issue #14). fixed - Fixed "cold start" errors experienced when the extension runs after a period of inactivity (issue #48). ## Version 0.1.1 Initial release of the _Delete User Data_ extension.
Где пользователи видят этот контент?
- В консоли Firebase и CLI, когда пользователи обновляют ваше расширение до новой версии. В консоли Firebase и CLI отображаются только изменения, которые вступят в силу, если пользователь завершит обновление.
- Хранилище исходного кода расширения (в каталоге расширения).