Skip to main content

Ionic RSS feed using Feednami

Tutorial of how to make a RSS feed using Feednami which is an alternative to google api which no longer works. This is a basic example and can be improved.

First go ahead and make a new ionic project

$ npm install -g cordova ionic

$ ionic start exampleProject blank

Now find index.html and insert...

<script src="https://storage.googleapis.com/feednami-static
/js/feednami-client-v1.0.1.js"></script>

Into the header, then in <ion-content> below Ionic Blank Starter insert a new div

<div id ="feed" ng-controller="feedCtrl"> </div>

Open app.js, now we are going to make the controller from Feednami that will get our rss feed.

.controller('feedCntl', function(){ var url = 'http://daringfireball.net/feeds/articles' feednami.load(url,function(result){ if(result.error){ console.log(result.error) } else{ var entries = result.feed.entries for(var i = 0; i < entries.length; i++){ var entry = entries[i] console.log(entry.title) } } }) })


Now run the app using $ Ionic serve --lab in cmd line. Then right click inspect  and the feed will appear in the console. Now we need the function to get that feed and make new divs for every title.
Go back to app.js and add these changes to the function.


var blogDiv = document.getElementById("feed") //get our div of feed var url = 'http://daringfireball.net/feeds/articles' //url of rss feed feednami.load(url,function(result){ if(result.error){ console.log(result.error) //if it doesnt work } else{ var entries = result.feed.entries for(var i = 0; i < entries.length; i++){ var entry = entries[i] //create div elemets for entries var div = document.createElement('div') div.setAttribute('class','entry') div.innerHTML = '<p class="card">
<a href="'+entry.link+'" target="_blank">'+entry.title+'</a></p>' blogDiv.appendChild(div) } } })


And there you have it one rss feed thanks to the people at feednami. You can style it up in the css anyway you like and just add or change the class in the function here '<p class="card">.

Useful links

make twitter rss feed - Twitter-rss

find rss feed of wordpress - wp-rss

git for tut - github

let me know what you think in the comments below any improvements welcome :)




Comments

Popular posts from this blog

Google daydream and all its awesomeness.

Google Daydream  At Google io in 2016,  Google announced: Google daydream. A platform that can bring VR to everyone throughout the use of mobile phones and their new viewer. I was so inspired watching this I felt a need to make Daydream content. However to be able to develop this you need a Google view (£69 from Google store) and a daydream ready phone (£599 and up from Google store). I still plan to do this and will be buying a red viewer very soon (Im so excited XD) and will do an unboxing so look out for that! Then I will be saving up for the pixel phone (which is beautiful) and then onward with making awesomeness. Developing awesomeness  Its not just awesome because of the new viewer and the new pixel phone but the amount of help from google for developers is amazing they already have SDK kits for Android, Unity and Unreal. Unity and Unreal and two powerful game engines both have pros and cons but both are great for making games. I have experie...

Poker chip CSS only checkbox

For this Sunday Funday project, I decided to make a poker chip checkbox out of pure CSS. DEMO The idea is that it will flip on its right edge like when people flip chips between their fingers. This can be improved by using images to get a correct dashed edge or make it more lifelike but this is CSS only. Tutorial 1. The markup We need a container to set the background and the size and width, we need the label to be clickable anywhere, input for the checkbox, top and bottom of the chip. <div class="container"> <label for="chip-checkbox"></label> <input type="checkbox" name="chip" value="1" id="chip-checkbox"> <div class="bottom-side"></div> <div class="top-side"></div> </div> 2. Hide the input input { visibility: hidden; } 3. Set the width and height of the background/container .container { width: 80px; height: 40px; bord...