Skip to content

Commit

Permalink
Introduce ElementyNormalizer and add elementy feeds (#554)
Browse files Browse the repository at this point in the history
* Introduce ElementyNormalizer and add `elementy` feeds

* Rubocop
  • Loading branch information
dreikanter authored Aug 4, 2024
1 parent 3aac786 commit 12760c0
Show file tree
Hide file tree
Showing 6 changed files with 372 additions and 0 deletions.
32 changes: 32 additions & 0 deletions app/normalizers/elementy_normalizer.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
class ElementyNormalizer < FeedjiraNormalizer
include HttpClient

def comments
[summary]
end

def attachments
[cover_image]
end

private

def summary
Html.comment_excerpt(content.summary)
end

def cover_image
path = cover_image_path
Addressable::URI.join(base_url, cover_image_path).to_s if path
end

def cover_image_path
post_content = http.get(content.url).to_s
elements = Nokogiri::HTML(post_content).css(".ill_block img")
elements.first[:src] if elements.present?
end

def base_url
Addressable::URI.parse(feed.url).then { "#{_1.scheme}://#{_1.host}" }
end
end
16 changes: 16 additions & 0 deletions config/feeds.yml
Original file line number Diff line number Diff line change
Expand Up @@ -778,3 +778,19 @@
normalizer: "pluralistic"
refresh_interval: 7200
import_limit: 10

- name: elementy
url: "https://elementy.ru/rss/news"
loader: "http"
processor: "feedjira"
normalizer: "elementy"
refresh_interval: 3600
import_limit: 10

- name: elementy-kartinka-dnya
url: "https://elementy.ru/rss/kartinka_dnya"
loader: "http"
processor: "feedjira"
normalizer: "elementy"
refresh_interval: 3600
import_limit: 10
115 changes: 115 additions & 0 deletions spec/fixtures/files/feeds/elementy/feed.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@
<?xml version="1.0" encoding="utf-8" ?>
<rss version="2.0">
<channel>
<title>&quot;Элементы&quot;: новости науки</title>
<link>https://elementy.ru/</link>
<description></description>
<lastBuildDate>03 Aug 2024 13:32:01 +0300</lastBuildDate>
<image>
<title>&quot;Элементы&quot;: новости науки</title>
<url>http://elementy.ru/images/eltdesign/title.gif</url>
<link>https://elementy.ru/</link>
</image>
<item>
<category>Нейробиология</category>
<description>&lt;p&gt;Тау-белок в норме стабилизирует микротрубочки, но при болезни Альцгеймера отходит от них и образует разнообразные патологические скопления внутри нейронов. В недавней статье описан новый механизм, объясняющий ранние этапы патологии тау-белка. Он предполагает, что сначала за счет жидкостного разделения фаз формируются «капли» тау-белка, которые затем переходят в твердые и устойчивые формы.&lt;/p&gt;</description>
<image>
<url>https://elementy.ru/images/news/intracellular_tau_fragment_droplets_logo_100.jpg</url>
</image>
<link>https://elementy.ru/novosti_nauki/434245/Fibrilly_tau_belka_pri_bolezni_Altsgeymera_formiruyutsya_iz_belkovykh_kapel</link>
<pubDate>02 Aug 2024 07:04:00 +0300</pubDate>
<title>Фибриллы тау-белка при болезни Альцгеймера формируются из «белковых капель»</title>
</item>
<item>
<category>Палеонтология</category>
<description>&lt;p&gt;Японские исследователи описали новый вид динозавров из семейства троодонтид — &lt;i&gt;Hypnovenator matsubaraetoheorum&lt;/i&gt;. Наравне с гобивенатором, найденным в Монголии, гипновенатор — один из старейших представителей семейства и единственный, найденный на территории Японии. Судя по строению его ног, с первых этапов своего существования троодонтиды делали ставку на скорость передвижения и были одними из самых шустрых мелких хищных динозавров.&lt;/p&gt;</description>
<image>
<url>https://elementy.ru/images/news/hypnovenator_logo_100.jpg</url>
</image>
<link>https://elementy.ru/novosti_nauki/434244/Yaponskiy_rannemelovoy_gipnovenator_utonul_vo_sne</link>
<pubDate>29 Jul 2024 07:45:00 +0300</pubDate>
<title>Японский раннемеловой гипновенатор утонул во сне</title>
</item>
<item>
<category>Биофизика</category>
<description>&lt;p&gt;Американские ученые исследовали адаптации клеточных мембран к высокому давлению. На материале гребневиков с разных глубин они выявили компонент липидной мембраны, отвечающий за поддержание жидкокристаллической фазы даже в таких стрессовых условиях, и предложили молекулярный механизм, позволяющий клеткам сохранять свои мембраны в рабочем состоянии при увеличении давления.&lt;/p&gt;</description>
<image>
<url>https://elementy.ru/images/news/deepsea_comb_jellyfish_logo_100.jpg</url>
</image>
<link>https://elementy.ru/novosti_nauki/434243/Grebneviki_prisposobilis_k_zhizni_na_glubine_izmeniv_kletochnuyu_membranu</link>
<pubDate>25 Jul 2024 04:59:00 +0300</pubDate>
<title>Гребневики приспособились к жизни на глубине, изменив клеточную мембрану</title>
</item>
<item>
<category>Антропология</category>
<description>&lt;p&gt;Международный коллектив археологов доложил о результатах раскопок в пещере Байшья в Тибете, где ранее была обнаружена челюсть денисовского человека возрастом 160 тысяч лет. К челюсти добавился обломок ребра денисовца из слоя возрастом 48–32 тысяч лет. Как и в случае с челюстью, принадлежность ребра денисовскому человеку установлена по сохранившимся в кости фрагментам молекул коллагенов.&lt;/p&gt;</description>
<image>
<url>https://elementy.ru/images/news/denisovans_in_tibet_logo_100.jpg</url>
</image>
<link>https://elementy.ru/novosti_nauki/434242/Denisovtsy_prozhili_v_Tibete_bolee_sta_tysyach_let</link>
<pubDate>22 Jul 2024 10:08:43 +0300</pubDate>
<title>Денисовцы прожили в Тибете более ста тысяч лет</title>
</item>
<item>
<category>Палеонтология</category>
<description>&lt;p&gt;В Сибири ранее удалось обнаружить всего одну губку из семейства Protospongiidae. Теперь к ней присоединилась вторая: в недавней статье описана окаменелость рода &lt;i&gt;Protospongia&lt;/i&gt;, которую нашли в Якутии на берегу реки Мая в среднекембрийских морских отложениях, возраст которых около 504–502 млн лет. Губка заметно крупнее своих родственников и хорошо сохранила решетчатый скелет из ставрактин.&lt;/p&gt;</description>
<image>
<url>https://elementy.ru/images/news/elusive_middle_cambrian_protospongiid_logo_100.jpg</url>
</image>
<link>https://elementy.ru/novosti_nauki/434241/V_Sibiri_nayden_khorosho_sokhranivshiysya_otpechatok_gubki_vozrastom_bolee_polumilliarda_let</link>
<pubDate>16 Jul 2024 17:18:00 +0300</pubDate>
<title>В Сибири найден хорошо сохранившийся отпечаток губки возрастом более полумиллиарда лет</title>
</item>
<item>
<category>Нейробиология</category>
<description>&lt;p&gt;Считалось, что симпатическая нервная система является эволюционным приобретением челюстноротых, возникнув уже после разделения с бесчелюстными. В новой работе, проведенной на морской миноге (&lt;i&gt;Petromyzon marinus&lt;/i&gt;) ученые смогли доказать, что симпатоандреналовые клетки, функционирующие за счет дофамина, у бесчелюстных существуют и образуют тонкие продольные тяжи.&lt;/p&gt;</description>
<image>
<url>https://elementy.ru/images/news/neural_crest_origin_of_sympathetic_neurons_logo_100.jpg</url>
</image>
<link>https://elementy.ru/novosti_nauki/434240/U_beschelyustnykh_obnaruzheny_zachatki_simpaticheskoy_nervnoy_sistemy</link>
<pubDate>14 Jul 2024 12:12:00 +0300</pubDate>
<title>У бесчелюстных обнаружены зачатки симпатической нервной системы</title>
</item>
<item>
<category>Палеонтология</category>
<description>&lt;p&gt;Гигантская стволовая тетрапода &lt;i&gt;Gaiasia jennyae&lt;/i&gt; описана по находкам, сделанным в высокоширотных отложениях ранней перми в Намибии. Гайасия была крупным животным — размером с крокодила. Получается, что 270 миллионов лет назад даже в умеренно-холодном климате существовали сложные экосистемы, способные поддерживать хищников столь солидных габаритов.&lt;/p&gt;</description>
<image>
<url>https://elementy.ru/images/news/gaiasia_was_apex_predator_in_gondwana_logo_100.jpg</url>
</image>
<link>https://elementy.ru/novosti_nauki/434239/Primitivnoe_rannepermskoe_chetveronogoe_iz_Namibii_bylo_sverkhkhishchnikom_pripolyarnoy_Gondvany</link>
<pubDate>08 Jul 2024 09:13:00 +0300</pubDate>
<title>Примитивное раннепермское четвероногое из Намибии было сверххищником приполярной Гондваны</title>
</item>
<item>
<category>Ботаника</category>
<description>&lt;p&gt;Проростки орхидей — протокормы — кластеризуются вокруг материнского растения, и это удивляло биологов со времен Чарльза Дарвина. Эксперимент с радиоактивно меченным углеродом выявил возможную причину такого эффекта: похоже, что зрелые орхидеи передают проросткам часть питательных веществ через общую микоризу.&lt;/p&gt;</description>
<image>
<url>https://elementy.ru/images/news/photosynthate_transfer_in_orchids_logo_100.jpg</url>
</image>
<link>https://elementy.ru/novosti_nauki/434238/Orkhidei_kormyat_svoe_potomstvo_cherez_obshchuyu_mikorizu</link>
<pubDate>04 Jul 2024 09:40:18 +0300</pubDate>
<title>Орхидеи «кормят» свое потомство через общую микоризу</title>
</item>
<item>
<category>Биофизика</category>
<description>&lt;p&gt;Как рыбы определяют направление к источнику звука — оставалось загадкой многие десятилетия. Недавнее исследование показало, что для них важно соотношение колебаний давления и колебаний частиц среды. Слуховой орган рыб, включающий внутреннее ухо и связанный с ним через специальные косточки плавательный пузырь, способен воспринимать оба компонента звуковой волны, причем разные части слухового аппарата отвечают на разные компоненты звука.&lt;/p&gt;</description>
<image>
<url>https://elementy.ru/images/news/mechanism_for_directional_hearing_in_fish_logo_100.jpg</url>
</image>
<link>https://elementy.ru/novosti_nauki/434237/Tayna_podvodnogo_slukha_kak_ryby_nakhodyat_istochnik_zvuka</link>
<pubDate>01 Jul 2024 09:42:00 +0300</pubDate>
<title>Тайна подводного слуха: как рыбы находят источник звука</title>
</item>
<item>
<category>Палеонтология</category>
<description>&lt;p&gt;Одной из наиболее успешных групп морских ящеров в мезозое были завроптеригии (нотозавры, плакодонты, плезиозавры и плиозавры). До сих пор о ранней эволюционной истории завроптеригий можно было судить лишь по их остаткам из Северного полушария, однако уникальная находка позвонка в Новой Зеландии показывает, что древние морские рептилии присутствовали и на юге планеты.&lt;/p&gt;</description>
<image>
<url>https://elementy.ru/images/news/nothosaurus_from_new_zealand_logo_100.jpg</url>
</image>
<link>https://elementy.ru/novosti_nauki/434236/Zavropterigii_osvoili_Yuzhnoe_polusharie_vskore_posle_Severnogo</link>
<pubDate>27 Jun 2024 01:35:35 +0300</pubDate>
<title>Завроптеригии освоили Южное полушарие вскоре после Северного</title>
</item>

</channel>
</rss>
Loading

0 comments on commit 12760c0

Please sign in to comment.