FixedLink

Плагин Payload для генерации коротких ссылок на собственном домене. Ссылки не ломаются при изменении slug документа.

Сообщество 1 5/нед MIT v0.1.0

Установка

pnpm add @fixedlink/payload

Описание

Плагин подключает сервис FixedLink к Payload и публикует короткую ссылку для каждого документа на домене, который вы контролируете. Если спустя месяцы slug документа изменится, короткая ссылка останется прежней, потому что плагин обновляет адрес назначения, а не создает новую ссылку. Ссылки управляются сервисом FixedLink, поэтому для работы плагина нужен платный API ключ с fixed.link. Для каждой синхронизированной коллекции в сайдбаре появляется group поле, хранящее id ссылки, slug, короткий URL, адрес назначения и домен. Кастомная React панель показывает короткую ссылку с кнопкой копирования, статистику кликов за неделю, месяц, квартал и год, QR код, выбор домена и чекбокс для отключения документа. Идентификаторы хранятся прямо в документе, а не запрашиваются на лету, поэтому панель отрисовывается до завершения запросов, а синхронизация идемпотентна. Интеграция построена на хуках. Хук beforeChange вызывает API FixedLink для создания или обновления ссылки и записывает результат в ту же операцию записи, которую инициировал редактор, чтобы черновики не получали лишнюю версию при каждой публикации. Хук afterDelete останавливает ссылку с настраиваемым параметром onDelete: pause, delete или keep (по умолчанию pause, так как короткая ссылка может остаться на плакате или в отправленном письме). API ключ хранится только на сервере. Четыре admin эндпоинта монтируются под префиксом /fixedlink (настраивается) и проксируют данные в панель, отклоняя запросы без авторизации в Payload. В конфигурации указывается обязательный apiKey, массив collections с функцией url, возвращающей публичный адрес документа или null для пропуска, а также параметры tags, monitor и domainId для каждой коллекции. Сохранение документа никогда не блокируется: если FixedLink недоступен, ошибка логируется, а в сайдбаре появляется кнопка повторной попытки. Домен фиксируется при создании ссылки, потому что API FixedLink не умеет переносить ссылки между доменами, поэтому после первого сохранения выбор домена становится только для чтения. Установка enabled в false оставляет поля на месте, чтобы идентификаторы ссылок не потерялись.

О пакете

Имя пакета
@fixedlink/payload
Последняя версия
0.1.0
Размер
106 кБ
Лицензия
MIT
Загрузок в неделю
5
Последняя публикация
21 авг. 2026 г.