{"id":29093,"date":"2017-02-02T21:01:56","date_gmt":"2017-02-02T13:01:56","guid":{"rendered":"https:\/\/www.hongkiat.com\/blog\/?p=29093"},"modified":"2018-04-09T16:46:38","modified_gmt":"2018-04-09T08:46:38","slug":"granim","status":"publish","type":"post","link":"https:\/\/www.hongkiat.com\/blog\/granim\/","title":{"rendered":"Create Beautiful Gradient Transitions with Granim.js"},"content":{"rendered":"<p>Web design is full of beauty and pleasing interface design. Some features are functional while others are just for show. <strong>Gradient transitions<\/strong> are <strong>solely for show<\/strong> but they pack quite a punch!<\/p>\n<p class=\"recommended_top\">\n\t\t\t\t\t<strong>Read Also:<\/strong>\u00a0\n\t\t\t\t\t<a target=\"_blank\" href=\"https:\/\/www.hongkiat.com\/blog\/css3-circular-elliptical-gradient\/\">Understanding CSS3 Circular and Elliptical Gradients<\/a>\n\t\t\t\t<\/p>\n<p>With <strong><a target=\"_blank\" href=\"https:\/\/sarcadass.github.io\/granim.js\/\">Granim.js<\/a><\/strong>, you can build <strong>custom full-color gradient transitions<\/strong> that look smooth and mesh nicely with any website.<\/p>\n<p>You can find <strong>a bunch of custom examples<\/strong> on the <a target=\"_blank\" href=\"https:\/\/sarcadass.github.io\/granim.js\/examples.html\">main examples page<\/a> with many different styles from simple transitions to more complex animations using background images.<\/p>\n<p>Granim is the only JS library I know <strong>tackling gradient transitions<\/strong>. This is a question I\u2019ve <a target=\"_blank\" href=\"https:\/\/stackoverflow.com\/\/q\/10963059\" rel=\"nofollow\">always wondered about<\/a> and never really found a great answer. Granim is the perfect solution and it\u2019s <strong>built on vanilla JavaScript<\/strong>, so it can run alongside jQuery or any other JS library.<\/p>\n<p>Just <strong>drop the <code>granim.js<\/code> file into your page<\/strong> to get started. You can either download a copy from <a target=\"_blank\" href=\"https:\/\/github.com\/sarcadass\/granim.js\">GitHub<\/a> or host one from <a target=\"_blank\" href=\"https:\/\/cdnjs.com\/libraries\/granim\">a live CDN<\/a>.<\/p>\n<p>Here\u2019s <strong>a basic code sample<\/strong> from the GitHub repo:<\/p>\n<pre>\r\n&lt;!-- Create a canvas element --&gt;\r\n&lt;canvas id=\"granim-canvas\"&gt;&lt;\/canvas&gt;\r\n&lt;!-- Create a Granim instance --&gt;\r\n&lt;script&gt;\r\nvar granimInstance = new Granim({\r\n   element: '#granim-canvas',\r\n   name: 'granim',\r\n   opacity: [1, 1],\r\n   states : {\r\n       \"default-state\": {\r\n           gradients: [\r\n               ['#834D9B', '#D04ED6'],\r\n               ['#1CD8D2', '#93EDC7']\r\n           ]\r\n       }\r\n   }\r\n});\r\n&lt;\/script&gt;<\/pre>\n<p>Things can get a lot more complicated than this so you really should <strong>dig into the examples<\/strong> to learn more. You\u2019ll find <strong>code snippets under each example<\/strong> so you can <strong>create gradient transitions<\/strong> for image backgrounds and even image masks.<\/p>\n<p>The image masks can be used for a logo, for instance a PNG image, which gets hidden behind a gradient. This lets you create <strong>a JS-animated logo<\/strong> where the gradient <strong>slowly transitions throughout the text<\/strong>.<\/p>\n<figure><a target=\"_blank\" href=\"https:\/\/sarcadass.github.io\/granim.js\/examples.html\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/assets.hongkiat.com\/uploads\/granim\/02-granim-demo-preview.jpg\" alt=\"granim demo\" width=\"1000\" height=\"707\"><\/a><\/figure>\n<p>Note this example takes <strong><em>a lot<\/em> of JS\/CSS code<\/strong> so it\u2019s not a simple implementation.<\/p>\n<p>But the more you practice with Granim the easier it\u2019ll be to setup and customize. And with this being the only true gradient transition library online it\u2019s the absolute best solution for any project.<\/p>\n<p>The library is still updated semi-frequently so you can check the <a target=\"_blank\" href=\"https:\/\/github.com\/sarcadass\/granim.js\/issues\">issues tab<\/a> for more info.<\/p>\n<p>It\u2019s <strong>a pretty small library<\/strong> so there aren\u2019t too many things to go wrong or need updating. This is what makes Granim.js a reliable solution for any site small or large.<\/p>\n<p>To <strong>download a copy<\/strong> visit the <a target=\"_blank\" href=\"https:\/\/github.com\/sarcadass\/granim.js\/releases\">releases page<\/a> on GitHub or grab a copy of the <code>.js<\/code> file directly <a target=\"_blank\" href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/granim\/1.0.6\/granim.min.js\">from cdnjs<\/a>. And to <strong>view the source on a live example<\/strong> take a peek at <a target=\"_blank\" href=\"https:\/\/codepen.io\/\/JonathanSchndr\/pen\/KgVmLo\" rel=\"nofollow\">this CodePen demo<\/a> created by Jonathan Schneider.<\/p>\n<p><iframe height=\"356\" scrolling=\"no\" title=\"Granim.js Demo\" src=\"https:\/\/codepen.io\/\/JonathanSchndr\/embed\/KgVmLo\/?height=356&theme-id=0&default-tab=js,result&embed-version=2\" frameborder=\"no\" allowtransparency=\"true\" allowfullscreen=\"true\" style=\"width: 100%;\">See the Pen <a href=\"https:\/\/codepen.io\/\/JonathanSchndr\/pen\/KgVmLo\/\" rel=\"nofollow\">Granim.js Demo<\/a> by Jonathan Schneider (<a href=\"https:\/\/codepen.io\/\/JonathanSchndr\" rel=\"nofollow\">@JonathanSchndr<\/a>) on <a href=\"https:\/\/codepen.io\/\" rel=\"nofollow\">CodePen<\/a>.\n<\/iframe><\/p>\n<p class=\"recommended_top\">\n\t\t\t\t\t<strong>Read Also:<\/strong>\u00a0\n\t\t\t\t\t<a target=\"_blank\" href=\"https:\/\/www.hongkiat.com\/blog\/css-gradient-border\/\">CSS Gradient Border Colors<\/a>\n\t\t\t\t<\/p>","protected":false},"excerpt":{"rendered":"<p>Web design is full of beauty and pleasing interface design. Some features are functional while others are just for show. Gradient transitions are solely for show but they pack quite a punch! With Granim.js, you can build custom full-color gradient transitions that look smooth and mesh nicely with any website. You can find a bunch&hellip;<\/p>\n","protected":false},"author":18,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[3393],"tags":[3497,4117],"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>Create Beautiful Gradient Transitions with Granim.js - Hongkiat<\/title>\n<meta name=\"description\" content=\"Web design is full of beauty and pleasing interface design. Some features are functional while others are just for show. Gradient transitions are solely\" \/>\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\/granim\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Create Beautiful Gradient Transitions with Granim.js\" \/>\n<meta property=\"og:description\" content=\"Web design is full of beauty and pleasing interface design. Some features are functional while others are just for show. Gradient transitions are solely\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.hongkiat.com\/blog\/granim\/\" \/>\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-02-02T13:01:56+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2018-04-09T08:46:38+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/assets.hongkiat.com\/uploads\/granim\/02-granim-demo-preview.jpg\" \/>\n<meta name=\"author\" content=\"Jake Rocheleau\" \/>\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=\"Jake Rocheleau\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/granim\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/granim\\\/\"},\"author\":{\"name\":\"Jake Rocheleau\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#\\\/schema\\\/person\\\/966b2daea15283b4145e71aa98a82c2a\"},\"headline\":\"Create Beautiful Gradient Transitions with Granim.js\",\"datePublished\":\"2017-02-02T13:01:56+00:00\",\"dateModified\":\"2018-04-09T08:46:38+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/granim\\\/\"},\"wordCount\":399,\"commentCount\":3,\"publisher\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/granim\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/assets.hongkiat.com\\\/uploads\\\/granim\\\/02-granim-demo-preview.jpg\",\"keywords\":[\"Javascript Library\",\"Javascripts\"],\"articleSection\":[\"Toolkit\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/granim\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/granim\\\/\",\"url\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/granim\\\/\",\"name\":\"Create Beautiful Gradient Transitions with Granim.js - Hongkiat\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/granim\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/granim\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/assets.hongkiat.com\\\/uploads\\\/granim\\\/02-granim-demo-preview.jpg\",\"datePublished\":\"2017-02-02T13:01:56+00:00\",\"dateModified\":\"2018-04-09T08:46:38+00:00\",\"description\":\"Web design is full of beauty and pleasing interface design. Some features are functional while others are just for show. Gradient transitions are solely\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/granim\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/granim\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/granim\\\/#primaryimage\",\"url\":\"https:\\\/\\\/assets.hongkiat.com\\\/uploads\\\/granim\\\/02-granim-demo-preview.jpg\",\"contentUrl\":\"https:\\\/\\\/assets.hongkiat.com\\\/uploads\\\/granim\\\/02-granim-demo-preview.jpg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/granim\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Create Beautiful Gradient Transitions with Granim.js\"}]},{\"@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\\\/966b2daea15283b4145e71aa98a82c2a\",\"name\":\"Jake Rocheleau\",\"description\":\"Jake is a writer and designer with over 10 years experience working on the web. He writes about user experience design and cool resources for designers\",\"sameAs\":[\"https:\\\/\\\/www.hongkiat.com\"],\"url\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/author\\\/jake\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Create Beautiful Gradient Transitions with Granim.js - Hongkiat","description":"Web design is full of beauty and pleasing interface design. Some features are functional while others are just for show. Gradient transitions are solely","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\/granim\/","og_locale":"en_US","og_type":"article","og_title":"Create Beautiful Gradient Transitions with Granim.js","og_description":"Web design is full of beauty and pleasing interface design. Some features are functional while others are just for show. Gradient transitions are solely","og_url":"https:\/\/www.hongkiat.com\/blog\/granim\/","og_site_name":"Hongkiat","article_publisher":"https:\/\/www.facebook.com\/hongkiatcom","article_published_time":"2017-02-02T13:01:56+00:00","article_modified_time":"2018-04-09T08:46:38+00:00","og_image":[{"url":"https:\/\/assets.hongkiat.com\/uploads\/granim\/02-granim-demo-preview.jpg","type":"","width":"","height":""}],"author":"Jake Rocheleau","twitter_card":"summary_large_image","twitter_creator":"@hongkiat","twitter_site":"@hongkiat","twitter_misc":{"Written by":"Jake Rocheleau","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.hongkiat.com\/blog\/granim\/#article","isPartOf":{"@id":"https:\/\/www.hongkiat.com\/blog\/granim\/"},"author":{"name":"Jake Rocheleau","@id":"https:\/\/www.hongkiat.com\/blog\/#\/schema\/person\/966b2daea15283b4145e71aa98a82c2a"},"headline":"Create Beautiful Gradient Transitions with Granim.js","datePublished":"2017-02-02T13:01:56+00:00","dateModified":"2018-04-09T08:46:38+00:00","mainEntityOfPage":{"@id":"https:\/\/www.hongkiat.com\/blog\/granim\/"},"wordCount":399,"commentCount":3,"publisher":{"@id":"https:\/\/www.hongkiat.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.hongkiat.com\/blog\/granim\/#primaryimage"},"thumbnailUrl":"https:\/\/assets.hongkiat.com\/uploads\/granim\/02-granim-demo-preview.jpg","keywords":["Javascript Library","Javascripts"],"articleSection":["Toolkit"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.hongkiat.com\/blog\/granim\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.hongkiat.com\/blog\/granim\/","url":"https:\/\/www.hongkiat.com\/blog\/granim\/","name":"Create Beautiful Gradient Transitions with Granim.js - Hongkiat","isPartOf":{"@id":"https:\/\/www.hongkiat.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.hongkiat.com\/blog\/granim\/#primaryimage"},"image":{"@id":"https:\/\/www.hongkiat.com\/blog\/granim\/#primaryimage"},"thumbnailUrl":"https:\/\/assets.hongkiat.com\/uploads\/granim\/02-granim-demo-preview.jpg","datePublished":"2017-02-02T13:01:56+00:00","dateModified":"2018-04-09T08:46:38+00:00","description":"Web design is full of beauty and pleasing interface design. Some features are functional while others are just for show. Gradient transitions are solely","breadcrumb":{"@id":"https:\/\/www.hongkiat.com\/blog\/granim\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.hongkiat.com\/blog\/granim\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.hongkiat.com\/blog\/granim\/#primaryimage","url":"https:\/\/assets.hongkiat.com\/uploads\/granim\/02-granim-demo-preview.jpg","contentUrl":"https:\/\/assets.hongkiat.com\/uploads\/granim\/02-granim-demo-preview.jpg"},{"@type":"BreadcrumbList","@id":"https:\/\/www.hongkiat.com\/blog\/granim\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.hongkiat.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Create Beautiful Gradient Transitions with Granim.js"}]},{"@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\/966b2daea15283b4145e71aa98a82c2a","name":"Jake Rocheleau","description":"Jake is a writer and designer with over 10 years experience working on the web. He writes about user experience design and cool resources for designers","sameAs":["https:\/\/www.hongkiat.com"],"url":"https:\/\/www.hongkiat.com\/blog\/author\/jake\/"}]}},"jetpack_featured_media_url":"https:\/\/","jetpack_shortlink":"https:\/\/wp.me\/s4uxU-granim","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/posts\/29093","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\/18"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/comments?post=29093"}],"version-history":[{"count":1,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/posts\/29093\/revisions"}],"predecessor-version":[{"id":29094,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/posts\/29093\/revisions\/29094"}],"wp:attachment":[{"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/media?parent=29093"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/categories?post=29093"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/tags?post=29093"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/topic?post=29093"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}