Встраивание журнала изменений
Эта инструкция подходит для проекта, у которого уже опубликована публичная страница обновлений. Её адрес имеет вид https://{slug}.flowtomate.ru/. Если такого адреса у проекта нет, встроить журнал сейчас нельзя. В параметрах доступны embed=1 для iframe, tags=a,b для фильтра по тегам и q=текст для поиска.
Добавьте контейнер и создайте iframe с адресом вашей страницы. В примере acme замените на slug своего журнала:
html
<div id="flowtomate-changelog-host"></div>
<script>
const slug = 'acme';
const expectedOrigin = 'https://' + slug + '.flowtomate.ru';
const frame = document.createElement('iframe');
frame.src = expectedOrigin + '/?embed=1';
frame.title = 'Журнал изменений';
frame.loading = 'lazy';
frame.referrerPolicy = 'strict-origin-when-cross-origin';
frame.style.cssText = 'width:100%;height:320px;border:0';
document.querySelector('#flowtomate-changelog-host').append(frame);
window.addEventListener('message', (event) => {
const data = event.data;
if (event.origin !== expectedOrigin
|| event.source !== frame.contentWindow
|| !data || typeof data !== 'object'
|| data.type !== 'flowtomate:changelog:resize'
|| data.slug !== slug
|| typeof data.height !== 'number'
|| !Number.isFinite(data.height)
|| data.height < 320 || data.height > 5000) return;
frame.style.height = Math.ceil(data.height) + 'px';
});
</script>В режиме embed=1 страница скрывает поиск и фильтр тегов и посылает родителю сообщение { type: 'flowtomate:changelog:resize', slug, height }. Обработчик меняет высоту только для сообщения от нужного origin и этого iframe. Не заменяйте проверку на *, совпадение конца домена или один лишь slug.
Проверьте загрузку ленты и изменение высоты при смене содержимого. Если высота не меняется, откройте диагностику. Для опубликованных обновлений и настроек страницы используйте статьи раздела «Журнал изменений».