RSS книжкових новин і старих часописів, які були оцифровані і оформлені нещодавно. Переходячи за посиланням, Ви попадете на сторінку іншого ресурсу.
Cайт бібліотеки зараз доступний.
2024.10.3009:54 AM
2024.10.3008:28 AM
Пост імені Ярослава Галана. Книга 15 (Збірник).
2024.10.2910:20 PM
Інтернаціональна солідарність трудящих західноукраїнських земель з Республікою Іспанією (Збірник).
2024.10.2910:17 PM
Пост імені Ярослава Галана. Книга 13 (Збірник).
Бібліотека хороша, але генерація RSS-каналів не піддається стилізації на нашому сайті завдяки тому, що CSS прописані в тілі скрипта, а це не є добре.
Ми написали парсер на РНР, який виправляє вивід сторінки і позбавляє деяких вад при публікації, а саме:
<p style="clear:both"></p>
наприкінці генерації.
<div style="margin:20px 5px; color:#312d2d;">
в оригіналі. Це тепер не заважає показати шрифт будь-якого коліру і на будь-якому фоні.
Код в процесі тестування і з цієї причини, можливі зміни. Не причесаний. Працює з усіма чотирма каналами джерела, однак, виявилася ще одна проблема - на сайті інколи дають посилання на локальне розташування зображень, тому вони не відображаються. Це помилка генерації фіду.
<!-- RSS читалка для новин сайта "Chtyvo" -->
[PHP]
<?php
// URL фіду (джерело)
$feeds = array(
"https://chtyvo.org.ua/feed/bookshq.rss"
);
// Резервуємо змінні для скрипта
$entries = array();
$search = '<div style="margin:20px 5px; color:#312d2d;">';
$replace = '<div>';
foreach ($feeds as $feed)
{
$xml = simplexml_load_file($feed);
$entries = array_merge($entries, $xml->xpath("//item"));
}
// Сортуємо фіди по даті (на всяк випадок)
usort($entries, function ($feed1, $feed2)
{
return strtotime($feed2->pubDate) - strtotime($feed1->pubDate);
});
?>
<div class="bg-transparent pad40-tb">
<!-- Класи від нашого зовнішнього фреймворка (але, можуть бути які завгодно) -->
<ul class="list-unstyled">
<?php
$NUMITEMS = 5; // Вказуємо кількість новин для показу
$count = 0;
// Виводимо на сторінку в кількості, яка вказана в $NUMITEMS
foreach ($entries as $entry)
{
?>
<li>
<p class="t100 t-orange250 pad20-t">
<?= strftime('%m/%d/%Y %I:%M %p', strtotime($entry->pubDate)) ?>
</p>
<p>
<?=$entry = str_ireplace($search, $replace, (str_ireplace('<div style="float:left; padding: 10px;">', '<div style="float:left; padding-right: 40px; padding-top: 7px;">', (str_ireplace('Додано твір ', '', (str_ireplace('border="0" />', 'border="0" width="200">', $entry->description)))))));
?>
</p>
<p style="clear:both"></p>
</li>
<?php
if (++$count >= $NUMITEMS) break;
}
?>
</ul>
</div>
Автори бібліотечного сайту відгукнулися листом і обіцяли переглянути формування новин своїх каналів, так що, вищенаписане може й не знадобиться, хоча, як окрема вправа з парсингу, вона була для нас дуже і дуже корисною.
Бібліотека використовує rss більше як засіб трансляції новин до свого твітеру, отже, якщо наші пропозиції їй в цьому не заважатимуть, то скрипт втратить свою актуальність.
Інколи сервер сайту буває зайнятий і тоді не може бистро віддати новини, тому варто перевірити, чи взагалі він не закритий на технічне обслуговування. Для цього ми дописали кілька рядків:
<!-- Перевірка доступності сайта -->
[PHP]
<?php
$URL = 'http://chtyvo.org.ua/';
if (isSiteAvailible($URL))
{
echo '<p>Cайт бібліотеки зараз доступний.</p>';
// Тут ми додаємо скрипт для виводу
// ....
}
else
{
echo '<p>Сайт бібліотеки поки недоступний. Завітайте пізніше, будь ласка.</p>';
}
?>