{"id":21089,"date":"2014-06-16T15:01:10","date_gmt":"2014-06-16T07:01:10","guid":{"rendered":"https:\/\/www.hongkiat.com\/blog\/?p=21089"},"modified":"2025-04-04T01:54:32","modified_gmt":"2025-04-03T17:54:32","slug":"bower-package-manager","status":"publish","type":"post","link":"https:\/\/www.hongkiat.com\/blog\/bower-package-manager\/","title":{"rendered":"How to Install, Update &#038; Remove Web Libraries with Bower"},"content":{"rendered":"<p>To <a href=\"https:\/\/www.hongkiat.com\/blog\/build-websites-with-needly\/\">build a website<\/a>, we often use various libraries, including CSS or JavaScript. For instance, creating a small website featuring an <a href=\"https:\/\/www.hongkiat.com\/blog\/jquery-image-galleries-sliders-best-of\/\">image slideshow<\/a> would typically require jQuery and a plugin like Flexslider. These libraries are essential for the website\u2019s functionality.<\/p>\n<p>While integrating these libraries is straightforward for a small project, the process can become complex and disorganized for larger websites. You might find yourself navigating from one repository to another, downloading each library, unpacking the files, and arranging them in your project directory.<\/p>\n<p>And when an update is released, you\u2019re faced with repeating this time-consuming process.<\/p>\n<div class=\"ref-block ref-block--post\" id=\"ref-post-1\">\n\t\t\t\t\t<a href=\"https:\/\/www.hongkiat.com\/blog\/animatecss-css3-animation-library\/\" class=\"ref-block__link\" title=\"Read More: Create Animation in CSS Easily with Animate.css\" rel=\"bookmark\"><span class=\"screen-reader-text\">Create Animation in CSS Easily with Animate.css<\/span><\/a>\n<div class=\"ref-block__thumbnail img-thumb img-thumb--jumbo\" data-img='{ \"src\" : \"https:\/\/assets.hongkiat.com\/uploads\/thumbs\/250x160\/animatecss-css3-animation-library.jpg\" }'>\n\t\t\t\t\t\t\t<noscript>\n<style>.no-js #ref-block-post-19703 .ref-block__thumbnail { background-image: url(\"https:\/\/assets.hongkiat.com\/uploads\/thumbs\/250x160\/animatecss-css3-animation-library.jpg\"); }<\/style>\n<\/noscript>\n\t\t\t\t\t\t<\/div>\n<div class=\"ref-block__summary\">\n<h4 class=\"ref-title\">Create Animation in CSS Easily with Animate.css<\/h4>\n<p class=\"ref-description\">\n\t\t\t\t\t\tCSS has improved with many features which make web development much more interesting and challenging. One of these...\t\t\t\t\t\t<span>Read more<\/span><\/p>\n<\/div>\n<\/div>\n<p>If this scenario sounds familiar, you\u2019ll find this article invaluable. Here, we introduce <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/bower.io\/\">Bower<\/a>, a powerful tool that simplifies the management of web libraries. Let\u2019s explore how it can streamline your workflow.<\/p>\n<h2>Starting with Bower<\/h2>\n<p>To begin using Bower, you first need to install <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/nodejs.org\/en\/\">Node.js<\/a>. As Bower operates on the Node.js framework, it can be used across all major platforms including Windows, Mac, and Linux.<\/p>\n<p>After Node.js is installed, open your Terminal or Command Prompt and execute the following command to install Bower:<\/p>\n<pre>\r\nnpm install -g bower\r\n<\/pre>\n<h2>Installing Libraries<\/h2>\n<p>Now that we have Bower set up, let\u2019s begin by finding a library to include in our project. If you are already in the project directory, simply type <code>bower search {name of the library}<\/code> into your terminal. For instance, I searched for <strong>Normalize.css<\/strong>, a library that ensures consistent styling of elements across different browsers.<\/p>\n<pre>\r\nbower search normalize\r\n<\/pre>\n<p>This command displays several results, including the original Normalize as well as versions adapted for LESS, Sass, Stylus, and other platforms.<\/p>\n<figure><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/assets.hongkiat.com\/uploads\/bower-package-manager\/bower-search-result.jpg\" alt=\"Bower search result for Normalize.css\" height=\"320\" width=\"500\"><\/figure>\n<p>After selecting the desired version, you can install it by typing <code>bower install {{name of the repository}}<\/code>. In this example, I will install <strong>Normalize LESS<\/strong> and jQuery:<\/p>\n<pre>\r\nbower install normalize-less jquery\r\n<\/pre>\n<p>This command downloads the latest versions of <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/github.com\/reitermarkus\/normalize.less\">normalize-less<\/a> and jQuery, saving them in a new folder called <code>bower_components<\/code>. You will find this folder in your project directory.<\/p>\n<figure><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/assets.hongkiat.com\/uploads\/bower-package-manager\/bower-components.jpg\" alt=\"Folder structure of Bower components\" height=\"180\" width=\"500\"><\/figure>\n<p>If you need an older version of a library, you can specify the version number like this:<\/p>\n<pre>\r\nbower install jquery#1.10.0\r\n<\/pre>\n<p>With the libraries now in your project directory, you can incorporate them by linking jQuery in your HTML document from the <strong>bower_components<\/strong> folder and importing Normalize LESS in your LESS stylesheet.<\/p>\n<p><strong>HTML:<\/strong><\/p>\n<pre>\r\n&lt;script src=\"bower_components\/jquery\/jquery.min.js\"&gt;&lt;\/script&gt;\r\n<\/pre>\n<p><strong>LESS:<\/strong><\/p>\n<pre>\r\n@import \"bower_components\/normalize-less\/normalize.less\";\r\n<\/pre>\n<p>If you ever need to remove a library that is no longer necessary, simply use the <code>bower uninstall<\/code> command:<\/p>\n<pre>\r\nbower uninstall normalize-less\r\n<\/pre>\n<h2>Updating Bower Components<\/h2>\n<p>Imagine you\u2019ve been working on your project for several months and discover that a key library like jQuery has released a new version. Bower makes it simple to update to the latest version. Start by checking if the new version is registered in Bower with the <code>bower list<\/code> command.<\/p>\n<p>The latest version of jQuery, as shown below, is 2.1.1.<\/p>\n<figure><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/assets.hongkiat.com\/uploads\/bower-package-manager\/bower-list.jpg\" alt=\"Bower list showing jQuery version 2.1.1\" height=\"120\" width=\"500\"><\/figure>\n<p>To update jQuery, simply type <code>bower update jquery<\/code>. After the update completes, you can confirm the installation of the new version by running the <code>bower list<\/code> command again. Below, you can see that we now have the latest version of jQuery.<\/p>\n<figure><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/assets.hongkiat.com\/uploads\/bower-package-manager\/bower-updated.jpg\" alt=\"Bower list confirming updated jQuery version\" height=\"120\" width=\"500\"><\/figure>\n<h2>Conclusion<\/h2>\n<p>Bower is an incredibly useful tool that can simplify the management of web libraries in your projects. It functions much like an app store for your website, allowing you to install, update, and remove libraries with ease.<\/p>\n<p>In our next article, we\u2019ll delve deeper into Bower and explore some of its more advanced features. Stay tuned for more insights.<\/p>","protected":false},"excerpt":{"rendered":"<p>To build a website, we often use various libraries, including CSS or JavaScript. For instance, creating a small website featuring an image slideshow would typically require jQuery and a plugin like Flexslider. These libraries are essential for the website\u2019s functionality. While integrating these libraries is straightforward for a small project, the process can become complex&hellip;<\/p>\n","protected":false},"author":113,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[352],"tags":[],"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.6) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>How to Install, Update &amp; Remove Web Libraries with Bower - Hongkiat<\/title>\n<meta name=\"description\" content=\"To build a website, we often use various libraries, including CSS or JavaScript. For instance, creating a small website featuring an image slideshow would\" \/>\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\/bower-package-manager\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Install, Update &amp; Remove Web Libraries with Bower\" \/>\n<meta property=\"og:description\" content=\"To build a website, we often use various libraries, including CSS or JavaScript. For instance, creating a small website featuring an image slideshow would\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.hongkiat.com\/blog\/bower-package-manager\/\" \/>\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=\"2014-06-16T07:01:10+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-04-03T17:54:32+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/assets.hongkiat.com\/uploads\/bower-package-manager\/bower-search-result.jpg\" \/>\n<meta name=\"author\" content=\"Thoriq Firdaus\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@tfirdaus\" \/>\n<meta name=\"twitter:site\" content=\"@hongkiat\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Thoriq Firdaus\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/bower-package-manager\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/bower-package-manager\\\/\"},\"author\":{\"name\":\"Thoriq Firdaus\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#\\\/schema\\\/person\\\/e7948c7a175d211496331e4b6ce55807\"},\"headline\":\"How to Install, Update &#038; Remove Web Libraries with Bower\",\"datePublished\":\"2014-06-16T07:01:10+00:00\",\"dateModified\":\"2025-04-03T17:54:32+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/bower-package-manager\\\/\"},\"wordCount\":546,\"commentCount\":25,\"publisher\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/bower-package-manager\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/assets.hongkiat.com\\\/uploads\\\/bower-package-manager\\\/bower-search-result.jpg\",\"articleSection\":[\"Web Design\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/bower-package-manager\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/bower-package-manager\\\/\",\"url\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/bower-package-manager\\\/\",\"name\":\"How to Install, Update & Remove Web Libraries with Bower - Hongkiat\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/bower-package-manager\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/bower-package-manager\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/assets.hongkiat.com\\\/uploads\\\/bower-package-manager\\\/bower-search-result.jpg\",\"datePublished\":\"2014-06-16T07:01:10+00:00\",\"dateModified\":\"2025-04-03T17:54:32+00:00\",\"description\":\"To build a website, we often use various libraries, including CSS or JavaScript. For instance, creating a small website featuring an image slideshow would\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/bower-package-manager\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/bower-package-manager\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/bower-package-manager\\\/#primaryimage\",\"url\":\"https:\\\/\\\/assets.hongkiat.com\\\/uploads\\\/bower-package-manager\\\/bower-search-result.jpg\",\"contentUrl\":\"https:\\\/\\\/assets.hongkiat.com\\\/uploads\\\/bower-package-manager\\\/bower-search-result.jpg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/bower-package-manager\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to Install, Update &#038; Remove Web Libraries with Bower\"}]},{\"@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\\\/e7948c7a175d211496331e4b6ce55807\",\"name\":\"Thoriq Firdaus\",\"description\":\"Thoriq is a writer for Hongkiat.com with a passion for web design and development. He is the author of Responsive Web Design by Examples, where he covered his best approaches in developing responsive websites quickly with a framework.\",\"sameAs\":[\"https:\\\/\\\/thoriq.com\",\"https:\\\/\\\/x.com\\\/tfirdaus\"],\"jobTitle\":\"Web Developer\",\"url\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/author\\\/thoriq\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"How to Install, Update & Remove Web Libraries with Bower - Hongkiat","description":"To build a website, we often use various libraries, including CSS or JavaScript. For instance, creating a small website featuring an image slideshow would","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\/bower-package-manager\/","og_locale":"en_US","og_type":"article","og_title":"How to Install, Update & Remove Web Libraries with Bower","og_description":"To build a website, we often use various libraries, including CSS or JavaScript. For instance, creating a small website featuring an image slideshow would","og_url":"https:\/\/www.hongkiat.com\/blog\/bower-package-manager\/","og_site_name":"Hongkiat","article_publisher":"https:\/\/www.facebook.com\/hongkiatcom","article_published_time":"2014-06-16T07:01:10+00:00","article_modified_time":"2025-04-03T17:54:32+00:00","og_image":[{"url":"https:\/\/assets.hongkiat.com\/uploads\/bower-package-manager\/bower-search-result.jpg","type":"","width":"","height":""}],"author":"Thoriq Firdaus","twitter_card":"summary_large_image","twitter_creator":"@tfirdaus","twitter_site":"@hongkiat","twitter_misc":{"Written by":"Thoriq Firdaus","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.hongkiat.com\/blog\/bower-package-manager\/#article","isPartOf":{"@id":"https:\/\/www.hongkiat.com\/blog\/bower-package-manager\/"},"author":{"name":"Thoriq Firdaus","@id":"https:\/\/www.hongkiat.com\/blog\/#\/schema\/person\/e7948c7a175d211496331e4b6ce55807"},"headline":"How to Install, Update &#038; Remove Web Libraries with Bower","datePublished":"2014-06-16T07:01:10+00:00","dateModified":"2025-04-03T17:54:32+00:00","mainEntityOfPage":{"@id":"https:\/\/www.hongkiat.com\/blog\/bower-package-manager\/"},"wordCount":546,"commentCount":25,"publisher":{"@id":"https:\/\/www.hongkiat.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.hongkiat.com\/blog\/bower-package-manager\/#primaryimage"},"thumbnailUrl":"https:\/\/assets.hongkiat.com\/uploads\/bower-package-manager\/bower-search-result.jpg","articleSection":["Web Design"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.hongkiat.com\/blog\/bower-package-manager\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.hongkiat.com\/blog\/bower-package-manager\/","url":"https:\/\/www.hongkiat.com\/blog\/bower-package-manager\/","name":"How to Install, Update & Remove Web Libraries with Bower - Hongkiat","isPartOf":{"@id":"https:\/\/www.hongkiat.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.hongkiat.com\/blog\/bower-package-manager\/#primaryimage"},"image":{"@id":"https:\/\/www.hongkiat.com\/blog\/bower-package-manager\/#primaryimage"},"thumbnailUrl":"https:\/\/assets.hongkiat.com\/uploads\/bower-package-manager\/bower-search-result.jpg","datePublished":"2014-06-16T07:01:10+00:00","dateModified":"2025-04-03T17:54:32+00:00","description":"To build a website, we often use various libraries, including CSS or JavaScript. For instance, creating a small website featuring an image slideshow would","breadcrumb":{"@id":"https:\/\/www.hongkiat.com\/blog\/bower-package-manager\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.hongkiat.com\/blog\/bower-package-manager\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.hongkiat.com\/blog\/bower-package-manager\/#primaryimage","url":"https:\/\/assets.hongkiat.com\/uploads\/bower-package-manager\/bower-search-result.jpg","contentUrl":"https:\/\/assets.hongkiat.com\/uploads\/bower-package-manager\/bower-search-result.jpg"},{"@type":"BreadcrumbList","@id":"https:\/\/www.hongkiat.com\/blog\/bower-package-manager\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.hongkiat.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How to Install, Update &#038; Remove Web Libraries with Bower"}]},{"@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\/e7948c7a175d211496331e4b6ce55807","name":"Thoriq Firdaus","description":"Thoriq is a writer for Hongkiat.com with a passion for web design and development. He is the author of Responsive Web Design by Examples, where he covered his best approaches in developing responsive websites quickly with a framework.","sameAs":["https:\/\/thoriq.com","https:\/\/x.com\/tfirdaus"],"jobTitle":"Web Developer","url":"https:\/\/www.hongkiat.com\/blog\/author\/thoriq\/"}]}},"jetpack_featured_media_url":"https:\/\/","jetpack_shortlink":"https:\/\/wp.me\/p4uxU-5u9","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/posts\/21089","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\/113"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/comments?post=21089"}],"version-history":[{"count":3,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/posts\/21089\/revisions"}],"predecessor-version":[{"id":73699,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/posts\/21089\/revisions\/73699"}],"wp:attachment":[{"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/media?parent=21089"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/categories?post=21089"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/tags?post=21089"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/topic?post=21089"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}