{"id":37607,"date":"2017-08-07T23:01:49","date_gmt":"2017-08-07T15:01:49","guid":{"rendered":"https:\/\/www.hongkiat.com\/blog\/?p=37607"},"modified":"2017-10-31T19:41:05","modified_gmt":"2017-10-31T11:41:05","slug":"rss-reader-in-javascript","status":"publish","type":"post","link":"https:\/\/www.hongkiat.com\/blog\/rss-reader-in-javascript\/","title":{"rendered":"How to Create a RSS Reader App in JavaScript"},"content":{"rendered":"<p><strong>RSS (Really Simple Syndication)<\/strong> is a standardized format used by online publishers to <strong>syndicate their content<\/strong> to other websites and services. An <strong>RSS document<\/strong>, also known as a <strong>feed<\/strong>, is an <strong>XML document<\/strong> carrying the content that a publisher wishes to distribute.<\/p>\n<p>RSS feeds are available on almost all online news websites and blogs for their readers to <strong>stay up-to-date with their contents<\/strong>. They can also be found on <strong>non-text based websites<\/strong> such as YouTube, where you can use the feed of a YouTube channel to be <strong>informed of the latest videos<\/strong>.<\/p>\n<p class=\"note\"><strong>Read Also:<\/strong> <a target=\"_blank\" href=\"https:\/\/www.hongkiat.com\/blog\/rss-feed-logo-with-css3\/\">How to Create RSS Feed Logo with CSS3<\/a><\/p>\n<p>Programs that access these feeds, and read and display their contents are called <strong>RSS readers<\/strong>. You can create a simple RSS reader program in JavaScript. In this tutorial, we\u2019ll see how to.<\/p>\n<figure><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/assets.hongkiat.com\/uploads\/rss-reader-in-javascript\/rss-reader-demo.jpg\" width=\"900\" height=\"659\" alt=\"RSS reader app demo\"><\/figure>\n<h2>Structure of an RSS feed<\/h2>\n<p>An RSS feed <strong>has a root element<\/strong> called <code>&lt;rss&gt;<\/code>, similar to the <code>&lt;html&gt;<\/code> tag found in HTML documents. Inside the <code>&lt;rss&gt;<\/code> tag, there is a <code>&lt;channel&gt;<\/code> element, kind of like <code>&lt;body&gt;<\/code> in HTML, that <strong>includes many sub-elements<\/strong> containing the distributed content of the website.<\/p>\n<p>A feed usually carries some <strong>basic information<\/strong> such as the title, URL, and description of the website and of the <strong>individual updated posts, articles, or other contents<\/strong> of that website. These information are found in <code>&lt;title&gt;<\/code>, <code>&lt;link&gt;<\/code>, and <code>&lt;description&gt;<\/code> elements, respectively.<\/p>\n<p>When these tags are <strong>directly present inside <code>&lt;channel&gt;<\/code><\/strong>, they hold the title, URL, and description of the website. When they\u2019re <strong>present inside <code>&lt;item&gt;<\/code><\/strong> that <strong>holds the information about the updated posts<\/strong>, they represent the same information as before but that of the individual contents that each <code>&lt;item&gt;<\/code> represent.<\/p>\n<p>There are also some <strong>optional elements<\/strong> that may be present in an RSS feed, providing supplementary information such as images or copyrights on the distributed content. You can learn about them in this <strong>RSS 2.0 specification<\/strong> at <a target=\"_blank\" href=\"https:\/\/cyber.harvard.edu\/rss\/rss.html\">cyber.harvard.edu<\/a>.<\/p>\n<p>Here\u2019s a sample of how the <strong>RSS feed of a website<\/strong> might look like:<\/p>\n<pre>\r\n&lt;rss version=\"2.0\"&gt;\r\n  &lt;channel&gt;\r\n    &lt;title&gt;Hongkiat&lt;\/title&gt;\r\n    &lt;link&gt;https:\/\/www.hongkiat.com\/&lt;\/link&gt;\r\n    &lt;description&gt;Design Tips, Tutorial and Inspirations&lt;\/description&gt;\r\n    &lt;language&gt;en-us&lt;\/language&gt;\r\n    &lt;item&gt;\r\n    \t&lt;title&gt;Visualize Any CSS Stylesheet with CSS Stats&lt;\/title&gt;\r\n    \t&lt;description&gt;Ever wondered how many CSS rules\r\n      are in a stylesheet? Or have you ever\r\n      wanted to see\u2026&lt;\/description&gt;\r\n    \t&lt;pubDate&gt;18\/05\/2017&lt;\/pubDate&gt;\r\n    \t&lt;link&gt;https:\/\/www.hongkiat.com\/blog\/css-stylesheet-with-css-stats\/&lt;\/link&gt;\r\n    &lt;\/item&gt;\r\n    &lt;item&gt;\r\n    \t&lt;title&gt;Amazon Echo Show \u2013 The Latest Alexa-powered Smart Device&lt;\/title&gt;\r\n    \t&lt;description&gt;Amazon isn't stranger to the concept of smart home\r\n      systems with an embedded digital assistant.\r\n      After all, the\u2026&lt;\/description&gt;\r\n    \t&lt;pubDate&gt;17\/05\/2017&lt;\/pubDate&gt;\r\n    \t&lt;link&gt;https:\/\/www.hongkiat.com\/blog\/alexa-device-amazon-echo-show\/&lt;\/link&gt;\r\n    &lt;\/item&gt;\r\n  &lt;\/channel&gt;\r\n&lt;\/rss&gt;\r\n<\/pre>\n<h2>Fetching the feed<\/h2>\n<p>We need to <strong>fetch the feed<\/strong> with our RSS reader application. On a website, the URL of an RSS feed can be <strong>found inside the <code>&lt;link&gt;<\/code> tag using the <code>application\/rss+xml<\/code> type<\/strong>. For example, you\u2019ll find the following RSS feed link on Hongkiat.com.<\/p>\n<pre>\r\n&lt;link rel=\"alternate\" type=\"application\/rss+xml\"\r\ntitle=\"Hongkiat.com \u00bb Feed\"\r\nhref=\"https:\/\/www.hongkiat.com\/blog\/feed\/\"&gt;\r\n<\/pre>\n<p>First, let\u2019s see how to <strong>get the feed URL of a website<\/strong> using JavaScript.<\/p>\n<pre>\r\nfetch(websiteUrl).then((res) =&gt; {\r\n  res.text().then((htmlTxt) =&gt; {\r\n    var domParser = new DOMParser()\r\n    let doc = domParser.parseFromString(htmlTxt, 'text\/html')\r\n    var feedUrl = doc.querySelector('link[type=\"application\/rss+xml\"]').href\r\n  })\r\n}).catch(() =&gt; console.error('Error in fetching the website'))\r\n<\/pre>\n<p>The <strong><a target=\"_blank\" href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/API\/WindowOrWorkerGlobalScope\/fetch\"><code>fetch()<\/code><\/a><\/strong> method is a global method that <strong>asynchronously fetches a resource<\/strong>. It takes the URL of the resource as an argument (the URL of the website in our code). It <strong>returns a <code>Promise<\/code><\/strong> object, so when the method successfully fetches the website (i.e. the <code>Promise<\/code> is fulfilled), the first function inside the <code>then()<\/code> statement <strong>handles the fetched response<\/strong> (<code>res<\/code> in above code).<\/p>\n<p class=\"note\"><strong>Read Also:<\/strong> <a target=\"_blank\" href=\"https:\/\/www.hongkiat.com\/blog\/javascript-promise-object\/\">Getting Started with JavaScript Promises<\/a><\/p>\n<p>The fetched response is then <strong>fully read into a text string<\/strong> using the <strong><a target=\"_blank\" href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/API\/Body\/text\"><code>text()<\/code><\/a><\/strong> method. This text represents the <strong>HTML text of our fetched website<\/strong>. Like <code>fetch()<\/code>, <code>text()<\/code> also <strong>returns a <code>Promise<\/code> object<\/strong>. So, when it successfully creates a response text from the response stream, <code>then()<\/code> will handle that response text (<code>htmlText<\/code> in above code).<\/p>\n<p>Once HTML text of the website is available, we use <strong><a target=\"_blank\" href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/API\/DOMParser\"><code>DOMParser API<\/code><\/a><\/strong> to <strong>parse it into a DOM document<\/strong>. <code>DOMParser<\/code> parses an XML\/HTML text string into a DOM document. Its method, <code>parseFromString()<\/code>, takes <strong>two arguments<\/strong>: the <strong>text to be parsed<\/strong> and the <strong>content type<\/strong>.<\/p>\n<p>Then, from the created DOM document, we <strong>find the <code>href<\/code> value of the relevant <code>&lt;link&gt;<\/code> tag<\/strong> using the <code><a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/API\/Document\/querySelector\" target=\"_blank\">querySelector()<\/a><\/code> method in order to get the URL of the feed.<\/p>\n<h2>Parsing and displaying the feed<\/h2>\n<p>Once we got the feed URL of the website, we need to <strong>fetch and read the RSS document<\/strong> found at that URL.<\/p>\n<pre>\r\nfetch(feedUrl).then((res) =&gt; {\r\n  res.text().then((xmlTxt) =&gt; {\r\n    var domParser = new DOMParser()\r\n    let doc = domParser.parseFromString(xmlTxt, 'text\/xml')\r\n    doc.querySelectorAll('item').forEach((item) =&gt; {\r\n\t     let h1 = document.createElement('h1')\r\n\t      h1.textContent = item.querySelector('title').textContent\r\n\t       document.querySelector('output').appendChild(h1)\r\n       })\r\n     })\r\n})\r\n<\/pre>\n<p>In the same way as we fetched and parsed the website, now we <strong>get and parse the XML feed into a DOM document<\/strong>. To achieve this, we use the <code>'text\/xml'<\/code> content type in the <code>parseFromString()<\/code> method.<\/p>\n<p>In the parsed document, we <strong>select all the <code>&lt;item&gt;<\/code> elements<\/strong> using the <code><a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/API\/Document\/querySelectorAll\" target=\"_blank\">querySelectorAll<\/a><\/code> method and <strong>loop through each<\/strong>.<\/p>\n<p>Inside each element, we can <strong>access tags<\/strong> like <code>&lt;title&gt;<\/code>, <code>&lt;description&gt;<\/code>, and <code>&lt;link&gt;<\/code>, that are carrying the feed content. And, our simple RSS reader application is done, you can style the content of the fetched feeds as you desire.<\/p>\n<h2>Github demo<\/h2>\n<p>You can check out the <strong>more detailed version<\/strong> of the code used in this post in our <a target=\"_blank\" href=\"https:\/\/github.com\/hongkiat\/js-rss-reader\/\">Github repo<\/a>. The more detailed version <strong>fetches three feeds<\/strong> (<a href=\"https:\/\/hacks.mozilla.org\/\" target=\"_blank\">Mozilla Hacks<\/a>, Hongkiat, and the <a href=\"https:\/\/webkit.org\/blog\/\" target=\"_blank\">Webkit blog<\/a>) <strong>using a JSON file<\/strong> and also adds some CSS styles to the RSS reader.<\/p>","protected":false},"excerpt":{"rendered":"<p>RSS (Really Simple Syndication) is a standardized format used by online publishers to syndicate their content to other websites and services. An RSS document, also known as a feed, is an XML document carrying the content that a publisher wishes to distribute. RSS feeds are available on almost all online news websites and blogs for&hellip;<\/p>\n","protected":false},"author":145,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[3392],"tags":[4117,432],"topic":[4520],"class_list":["entry-content","is-maxi"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v22.8 (Yoast SEO v27.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>How to Create a RSS Reader App in JavaScript - Hongkiat<\/title>\n<meta name=\"description\" content=\"RSS (Really Simple Syndication) is a standardized format used by online publishers to syndicate their content to other websites and services. An RSS\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.hongkiat.com\/blog\/rss-reader-in-javascript\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Create a RSS Reader App in JavaScript\" \/>\n<meta property=\"og:description\" content=\"RSS (Really Simple Syndication) is a standardized format used by online publishers to syndicate their content to other websites and services. An RSS\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.hongkiat.com\/blog\/rss-reader-in-javascript\/\" \/>\n<meta property=\"og:site_name\" content=\"Hongkiat\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/hongkiatcom\" \/>\n<meta property=\"article:published_time\" content=\"2017-08-07T15:01:49+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2017-10-31T11:41:05+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/assets.hongkiat.com\/uploads\/rss-reader-in-javascript\/rss-reader-demo.jpg\" \/>\n<meta name=\"author\" content=\"Preethi Ranjit\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@hongkiat\" \/>\n<meta name=\"twitter:site\" content=\"@hongkiat\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Preethi Ranjit\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/rss-reader-in-javascript\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/rss-reader-in-javascript\\\/\"},\"author\":{\"name\":\"Preethi Ranjit\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#\\\/schema\\\/person\\\/e981676afae36d1ff5feb75094950ab3\"},\"headline\":\"How to Create a RSS Reader App in JavaScript\",\"datePublished\":\"2017-08-07T15:01:49+00:00\",\"dateModified\":\"2017-10-31T11:41:05+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/rss-reader-in-javascript\\\/\"},\"wordCount\":724,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/rss-reader-in-javascript\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/assets.hongkiat.com\\\/uploads\\\/rss-reader-in-javascript\\\/rss-reader-demo.jpg\",\"keywords\":[\"Javascripts\",\"RSS (Rich Site Summary)\"],\"articleSection\":[\"Coding\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/rss-reader-in-javascript\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/rss-reader-in-javascript\\\/\",\"url\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/rss-reader-in-javascript\\\/\",\"name\":\"How to Create a RSS Reader App in JavaScript - Hongkiat\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/rss-reader-in-javascript\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/rss-reader-in-javascript\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/assets.hongkiat.com\\\/uploads\\\/rss-reader-in-javascript\\\/rss-reader-demo.jpg\",\"datePublished\":\"2017-08-07T15:01:49+00:00\",\"dateModified\":\"2017-10-31T11:41:05+00:00\",\"description\":\"RSS (Really Simple Syndication) is a standardized format used by online publishers to syndicate their content to other websites and services. An RSS\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/rss-reader-in-javascript\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/rss-reader-in-javascript\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/rss-reader-in-javascript\\\/#primaryimage\",\"url\":\"https:\\\/\\\/assets.hongkiat.com\\\/uploads\\\/rss-reader-in-javascript\\\/rss-reader-demo.jpg\",\"contentUrl\":\"https:\\\/\\\/assets.hongkiat.com\\\/uploads\\\/rss-reader-in-javascript\\\/rss-reader-demo.jpg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/rss-reader-in-javascript\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to Create a RSS Reader App in JavaScript\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/\",\"name\":\"Hongkiat\",\"description\":\"Tech and Design Tips\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#organization\",\"name\":\"Hongkiat.com\",\"url\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/wp-content\\\/uploads\\\/hkdc-logo-rect-yoast.jpg\",\"contentUrl\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/wp-content\\\/uploads\\\/hkdc-logo-rect-yoast.jpg\",\"width\":1200,\"height\":799,\"caption\":\"Hongkiat.com\"},\"image\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/hongkiatcom\",\"https:\\\/\\\/x.com\\\/hongkiat\",\"https:\\\/\\\/www.pinterest.com\\\/hongkiat\\\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#\\\/schema\\\/person\\\/e981676afae36d1ff5feb75094950ab3\",\"name\":\"Preethi Ranjit\",\"description\":\"A .NET developer with a JavaScript background, Preethi is expert in front-end coding, JavaScript, HTML, and CSS.\",\"url\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/author\\\/preethi\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"How to Create a RSS Reader App in JavaScript - Hongkiat","description":"RSS (Really Simple Syndication) is a standardized format used by online publishers to syndicate their content to other websites and services. An RSS","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.hongkiat.com\/blog\/rss-reader-in-javascript\/","og_locale":"en_US","og_type":"article","og_title":"How to Create a RSS Reader App in JavaScript","og_description":"RSS (Really Simple Syndication) is a standardized format used by online publishers to syndicate their content to other websites and services. An RSS","og_url":"https:\/\/www.hongkiat.com\/blog\/rss-reader-in-javascript\/","og_site_name":"Hongkiat","article_publisher":"https:\/\/www.facebook.com\/hongkiatcom","article_published_time":"2017-08-07T15:01:49+00:00","article_modified_time":"2017-10-31T11:41:05+00:00","og_image":[{"url":"https:\/\/assets.hongkiat.com\/uploads\/rss-reader-in-javascript\/rss-reader-demo.jpg","type":"","width":"","height":""}],"author":"Preethi Ranjit","twitter_card":"summary_large_image","twitter_creator":"@hongkiat","twitter_site":"@hongkiat","twitter_misc":{"Written by":"Preethi Ranjit","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.hongkiat.com\/blog\/rss-reader-in-javascript\/#article","isPartOf":{"@id":"https:\/\/www.hongkiat.com\/blog\/rss-reader-in-javascript\/"},"author":{"name":"Preethi Ranjit","@id":"https:\/\/www.hongkiat.com\/blog\/#\/schema\/person\/e981676afae36d1ff5feb75094950ab3"},"headline":"How to Create a RSS Reader App in JavaScript","datePublished":"2017-08-07T15:01:49+00:00","dateModified":"2017-10-31T11:41:05+00:00","mainEntityOfPage":{"@id":"https:\/\/www.hongkiat.com\/blog\/rss-reader-in-javascript\/"},"wordCount":724,"commentCount":1,"publisher":{"@id":"https:\/\/www.hongkiat.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.hongkiat.com\/blog\/rss-reader-in-javascript\/#primaryimage"},"thumbnailUrl":"https:\/\/assets.hongkiat.com\/uploads\/rss-reader-in-javascript\/rss-reader-demo.jpg","keywords":["Javascripts","RSS (Rich Site Summary)"],"articleSection":["Coding"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.hongkiat.com\/blog\/rss-reader-in-javascript\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.hongkiat.com\/blog\/rss-reader-in-javascript\/","url":"https:\/\/www.hongkiat.com\/blog\/rss-reader-in-javascript\/","name":"How to Create a RSS Reader App in JavaScript - Hongkiat","isPartOf":{"@id":"https:\/\/www.hongkiat.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.hongkiat.com\/blog\/rss-reader-in-javascript\/#primaryimage"},"image":{"@id":"https:\/\/www.hongkiat.com\/blog\/rss-reader-in-javascript\/#primaryimage"},"thumbnailUrl":"https:\/\/assets.hongkiat.com\/uploads\/rss-reader-in-javascript\/rss-reader-demo.jpg","datePublished":"2017-08-07T15:01:49+00:00","dateModified":"2017-10-31T11:41:05+00:00","description":"RSS (Really Simple Syndication) is a standardized format used by online publishers to syndicate their content to other websites and services. An RSS","breadcrumb":{"@id":"https:\/\/www.hongkiat.com\/blog\/rss-reader-in-javascript\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.hongkiat.com\/blog\/rss-reader-in-javascript\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.hongkiat.com\/blog\/rss-reader-in-javascript\/#primaryimage","url":"https:\/\/assets.hongkiat.com\/uploads\/rss-reader-in-javascript\/rss-reader-demo.jpg","contentUrl":"https:\/\/assets.hongkiat.com\/uploads\/rss-reader-in-javascript\/rss-reader-demo.jpg"},{"@type":"BreadcrumbList","@id":"https:\/\/www.hongkiat.com\/blog\/rss-reader-in-javascript\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.hongkiat.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How to Create a RSS Reader App in JavaScript"}]},{"@type":"WebSite","@id":"https:\/\/www.hongkiat.com\/blog\/#website","url":"https:\/\/www.hongkiat.com\/blog\/","name":"Hongkiat","description":"Tech and Design Tips","publisher":{"@id":"https:\/\/www.hongkiat.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.hongkiat.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.hongkiat.com\/blog\/#organization","name":"Hongkiat.com","url":"https:\/\/www.hongkiat.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.hongkiat.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.hongkiat.com\/blog\/wp-content\/uploads\/hkdc-logo-rect-yoast.jpg","contentUrl":"https:\/\/www.hongkiat.com\/blog\/wp-content\/uploads\/hkdc-logo-rect-yoast.jpg","width":1200,"height":799,"caption":"Hongkiat.com"},"image":{"@id":"https:\/\/www.hongkiat.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/hongkiatcom","https:\/\/x.com\/hongkiat","https:\/\/www.pinterest.com\/hongkiat\/"]},{"@type":"Person","@id":"https:\/\/www.hongkiat.com\/blog\/#\/schema\/person\/e981676afae36d1ff5feb75094950ab3","name":"Preethi Ranjit","description":"A .NET developer with a JavaScript background, Preethi is expert in front-end coding, JavaScript, HTML, and CSS.","url":"https:\/\/www.hongkiat.com\/blog\/author\/preethi\/"}]}},"jetpack_featured_media_url":"https:\/\/","jetpack_shortlink":"https:\/\/wp.me\/p4uxU-9Mz","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/posts\/37607","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/users\/145"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/comments?post=37607"}],"version-history":[{"count":4,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/posts\/37607\/revisions"}],"predecessor-version":[{"id":39233,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/posts\/37607\/revisions\/39233"}],"wp:attachment":[{"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/media?parent=37607"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/categories?post=37607"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/tags?post=37607"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/topic?post=37607"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}