summaryrefslogtreecommitdiff
path: root/bridges/FreeCodeCampBridge.php
diff options
context:
space:
mode:
Diffstat (limited to 'bridges/FreeCodeCampBridge.php')
-rw-r--r--bridges/FreeCodeCampBridge.php27
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;
+ }
+}