diff options
Diffstat (limited to 'bridges/FreeCodeCampBridge.php')
-rw-r--r-- | bridges/FreeCodeCampBridge.php | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/bridges/FreeCodeCampBridge.php b/bridges/FreeCodeCampBridge.php new file mode 100644 index 0000000..da0b5c7 --- /dev/null +++ b/bridges/FreeCodeCampBridge.php @@ -0,0 +1,27 @@ +<?php +class FreeCodeCampBridge extends FeedExpander { + + const MAINTAINER = 'IceWreck'; + const NAME = 'FreeCodecamp Bridge'; + const URI = 'https://www.freecodecamp.org'; + const CACHE_TIMEOUT = 3600; + const DESCRIPTION = 'RSS feed for FreeCodeCamp'; + // Freecodecamp removed their old full content rss feed and replaced it with one liner content. + + public function collectData(){ + $this->collectExpandableDatas('https://www.freecodecamp.org/news/rss/', 15); + } + + protected function parseItem($newsItem){ + $item = parent::parseItem($newsItem); + // $articlePage gets the entire page's contents + $articlePage = getSimpleHTMLDOM($newsItem->link); + // figure contain's the main article image + $article = $articlePage->find('figure', 0); + // the actual article + foreach($articlePage->find('.post-full-content') as $element) + $article = $article . $element; + $item['content'] = $article; + return $item; + } +} |