vsevolod-ryzhov / yandex-turbo-rss
Sync data with Yandex Turbo Pages rss feed
v0.1
2020-08-11 12:32 UTC
Requires
- php: >=7.2
- ext-xmlwriter: *
Requires (Dev)
- kubawerlos/html-validator: ^1.0
- phpunit/phpunit: >=5.6
This package is auto-updated.
Last update: 2025-03-17 22:44:02 UTC
README
Sync data with Yandex Turbo Pages rss feed
Installation
Via Composer
composer require vsevolod-ryzhov/yandex-turbo-rss
Usage
See more information in an official documentation: https://yandex.ru/dev/turbo/doc/rss/markup-docpage/#example
- Create new rss feed
$feed = new Feed( 'Feed name', 'https://<feed url address>', 'Feed description', 'Feed language' );
- Add analytics
$feed->setAnalytics(new Analytics('Yandex', '12345')); $feed->setAnalytics(new Analytics('Google', '54321'));
- Add content prefix and / or prefix
$feed->setContentPrefix('<div>This content will display before main content</div>'); $feed->setContentSuffix('<footer>This content will display after main content</footer>');
- Create pages objects and add them to feed object
$page1 = new PageItem('First test Page', 'https://eot.company/en', '<p>Test content</p>'); $feed->setPage($page1); $page2 = new PageItem('Senond test Page', 'https://eot.company/ru', '<header><h1>Title</h1></header><p>Content</p><div><img class="lazyload" src="" data-src="https://eot.company/themes/classic/images/logo-en-black.svg" alt="test" /></div>'); $feed->setPage($page2); $page2->setContentModifiers(static function ($content) { return str_replace(array('src=""', 'data-src="'), array('', 'src="'), $content); });
- Make feed and output (or write to file)
$xml = $feed->make(); // this will return XMLWriter object // to make web Response: $feed->make()->outputMemory()