{"id":19080,"date":"2014-01-16T15:01:52","date_gmt":"2014-01-16T07:01:52","guid":{"rendered":"https:\/\/www.hongkiat.com\/blog\/?p=19080"},"modified":"2025-04-04T01:41:24","modified_gmt":"2025-04-03T17:41:24","slug":"dynamic-grid-layout-freewall","status":"publish","type":"post","link":"https:\/\/www.hongkiat.com\/blog\/dynamic-grid-layout-freewall\/","title":{"rendered":"Create Dynamic Grid Layouts Easily with FreeWall"},"content":{"rendered":"<p>If you\u2019re familiar with Windows 8 or Pinterest, you may recognize the dynamic grid layout. A dynamic grid allows you to <strong>rearrange and reposition child elements<\/strong> as needed, especially when resizing your browser window. A popular jQuery plugin for this is <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/masonry.desandro.com\/\">jQuery Masonry<\/a>, but if you\u2019re looking for more options and animations, consider <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/github.com\/kombai\/freewall\">FreeWall<\/a>.<\/p>\n<p><strong>FreeWall<\/strong> is a free jQuery plugin developed by Minh Nguyen that allows you to <strong>create various types of grid layouts<\/strong>, including flexible layouts, metro-style layouts, nested grids, image layouts, and fluid grids. It also supports <strong>responsive design<\/strong>, making it ideal for websites across desktop, mobile, or tablet platforms.<\/p>\n<p>Additionally, it offers beautiful <strong>CSS animations<\/strong> and <strong>callback events<\/strong> such as onGapFound, onComplete, onResize, and onSetBlock.<\/p>\n<h2>Getting Started<\/h2>\n<p>To begin working with FreeWall, you need to include the jQuery or Zepto framework. In this guide, we\u2019ll use jQuery as an example to create a basic grid layout demo.<\/p>\n<p>Let\u2019s start by including the jQuery framework and the FreeWall plugin using the following code:<\/p>\n<pre>\r\n&lt;script src=\"http:\/\/code.jquery.com\/jquery-latest.min.js\"&gt;&lt;\/script&gt;\r\n&lt;script type=\"text\/javascript\" src=\"js\/freewall.js\"&gt;&lt;\/script&gt;\r\n<\/pre>\n<p>We\u2019ll display some brick pieces as the container for our layout:<\/p>\n<pre>\r\n&lt;h2&gt;Normal Grid&lt;\/h2&gt;\r\n&lt;div class=\"free-wall\"&gt;\r\n&lt;div class=\"brick size320\"&gt;&lt;\/div&gt;\r\n&lt;div class=\"brick size320\"&gt;&lt;\/div&gt;\r\n&lt;div class=\"brick size320\"&gt;&lt;\/div&gt;\r\n&lt;div class=\"brick size320\"&gt;&lt;\/div&gt;\r\n&lt;div class=\"brick size320\"&gt;&lt;\/div&gt;\r\n&lt;div class=\"brick size320\"&lt;\/div&gt;\r\n&lt;\/div&gt;\r\n<\/pre>\n<p>We define our brick sizes using <code>width<\/code> and <code>height<\/code> values of <code>320px<\/code> with the following style rule:<\/p>\n<pre>\r\n.size320 {\r\n  width: 320px;\r\n  height: 320px;\r\n}\r\n<\/pre>\n<p>Next, let\u2019s add some JavaScript code:<\/p>\n<h2>Make It Work<\/h2>\n<p>To give random colors to the bricks, we\u2019ll define a color array and apply them using the <code>Math.random()<\/code> method:<\/p>\n<pre>\r\nvar colour = [\r\n  \"rgb(142, 68, 173)\",\r\n  \"rgb(243, 156, 18)\",\r\n  \"rgb(211, 84, 0)\",\r\n  \"rgb(0, 106, 63)\",\r\n  \"rgb(41, 128, 185)\",\r\n  \"rgb(192, 57, 43)\",\r\n  \"rgb(135, 0, 0)\",\r\n  \"rgb(39, 174, 96)\"\r\n];\r\n\r\n$(\".free-wall .size320\").each(function() {\r\n  var backgroundColor = colour[colour.length * Math.random() << 0];\r\n  var bricks = $(this).find(\".brick\");\r\n  if (!bricks.length) bricks = $(this);\r\n  bricks.css({ backgroundColor: backgroundColor });\r\n});\r\n<\/pre>\n<p>Lastly, let's add functions to make the layout display properly. Here is what makes FreeWall great: it offers options and methods to control the behavior of the grid:<\/p>\n<pre>\r\nanimate: true, \/\/ Makes blocks move with animation.\r\nblock.flex: true, \/\/ Allows blocks to resize slightly to fit.\r\ncell.width: number,\r\ncell.height: number,\r\nfillGap: true, \/\/ Creates a layout without gaps.\r\ngutter: mixed, \/\/ Spacing between blocks.\r\nselector: string, \/\/ Selects all blocks for layout.\r\n<\/pre>\n<p>Now let's call the plugin using the following code:<\/p>\n<pre>\r\n$(function() {\r\n  $(\".free-wall\").each(function() {\r\n    var wall = new freewall(this);\r\n    wall.reset({\r\n      selector: '.size320',\r\n      cellW: function(container) {\r\n        var cellWidth = 320;\r\n        if (container.hasClass('size320')) {\r\n          cellWidth = container.width() \/ 2;\r\n        }\r\n        return cellWidth;\r\n      },\r\n      cellH: function(container) {\r\n        var cellHeight = 320;\r\n        if (container.hasClass('size320')) {\r\n          cellHeight = container.height() \/ 2;\r\n        }\r\n        return cellHeight;\r\n      },\r\n      fixSize: 0,\r\n      gutterY: 20,\r\n      gutterX: 20,\r\n      onResize: function() {\r\n        wall.fitWidth();\r\n      }\r\n    });\r\n    wall.fitWidth();\r\n  });\r\n  $(window).trigger(\"resize\");\r\n});\r\n<\/pre>\n<p>As you can see in the function code above, we use several FreeWall options, methods, and events, such as <code>fixSize<\/code>, <code>gutterY<\/code>, <code>gutterX<\/code>, <code>onResize<\/code>, and <code>fitWidth<\/code>. For additional options, methods, or events, refer to the FreeWall documentation on the <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/github.com\/kombai\/freewall\">official homepage<\/a>.<\/p>\n<p>Now you can see the dynamic grid layout in action on the demo page. If you resize your browser, the bricks will automatically be rearranged and resized.<\/p>\n<p><a href=\"https:\/\/hongkiat.github.io\/jquery-freewall-grid\/\" class=\"su-button su-button-style-flat\" style=\"color:#FFFFFF;background-color:#2D89EF;border-color:#246ec0;border-radius:0px\" target=\"__blank\" rel=\"noopener nofollow\"><span style=\"color:#FFFFFF;padding:7px 20px;font-size:16px;line-height:24px;border-color:#6cadf4;border-radius:0px;text-shadow:none\"><i class=\"sui sui-external-link\" style=\"font-size:16px;color:#fff\"><\/i>  View demo <\/span><\/a>\n<a href=\"https:\/\/github.com\/hongkiat\/jquery-freewall-grid\/\" class=\"su-button su-button-style-flat\" style=\"color:#FFFFFF;background-color:#2D89EF;border-color:#246ec0;border-radius:0px\" target=\"__blank\" rel=\"noopener nofollow\"><span style=\"color:#FFFFFF;padding:7px 20px;font-size:16px;line-height:24px;border-color:#6cadf4;border-radius:0px;text-shadow:none\"><i class=\"sui sui-external-link\" style=\"font-size:16px;color:#fff\"><\/i>  Download source <\/span><\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>If you\u2019re familiar with Windows 8 or Pinterest, you may recognize the dynamic grid layout. A dynamic grid allows you to rearrange and reposition child elements as needed, especially when resizing your browser window. A popular jQuery plugin for this is jQuery Masonry, but if you\u2019re looking for more options and animations, consider FreeWall. FreeWall&hellip;<\/p>\n","protected":false},"author":136,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[3395],"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 Dynamic Grid Layouts Easily with FreeWall - Hongkiat<\/title>\n<meta name=\"description\" content=\"If you&#039;re familiar with Windows 8 or Pinterest, you may recognize the dynamic grid layout. A dynamic grid allows you to rearrange and reposition child\" \/>\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\/dynamic-grid-layout-freewall\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Create Dynamic Grid Layouts Easily with FreeWall\" \/>\n<meta property=\"og:description\" content=\"If you&#039;re familiar with Windows 8 or Pinterest, you may recognize the dynamic grid layout. A dynamic grid allows you to rearrange and reposition child\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.hongkiat.com\/blog\/dynamic-grid-layout-freewall\/\" \/>\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-01-16T07:01:52+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-04-03T17:41:24+00:00\" \/>\n<meta name=\"author\" content=\"Irfan\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@IrfanFza\" \/>\n<meta name=\"twitter:site\" content=\"@hongkiat\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Irfan\" \/>\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\\\/dynamic-grid-layout-freewall\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/dynamic-grid-layout-freewall\\\/\"},\"author\":{\"name\":\"Irfan\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#\\\/schema\\\/person\\\/483b1092b8017f37d977331e91935d8c\"},\"headline\":\"Create Dynamic Grid Layouts Easily with FreeWall\",\"datePublished\":\"2014-01-16T07:01:52+00:00\",\"dateModified\":\"2025-04-03T17:41:24+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/dynamic-grid-layout-freewall\\\/\"},\"wordCount\":376,\"commentCount\":8,\"publisher\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#organization\"},\"keywords\":[\"Javascript Library\",\"Javascripts\"],\"articleSection\":[\"UI\\\/UX\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/dynamic-grid-layout-freewall\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/dynamic-grid-layout-freewall\\\/\",\"url\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/dynamic-grid-layout-freewall\\\/\",\"name\":\"Create Dynamic Grid Layouts Easily with FreeWall - Hongkiat\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#website\"},\"datePublished\":\"2014-01-16T07:01:52+00:00\",\"dateModified\":\"2025-04-03T17:41:24+00:00\",\"description\":\"If you're familiar with Windows 8 or Pinterest, you may recognize the dynamic grid layout. A dynamic grid allows you to rearrange and reposition child\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/dynamic-grid-layout-freewall\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/dynamic-grid-layout-freewall\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/dynamic-grid-layout-freewall\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Create Dynamic Grid Layouts Easily with FreeWall\"}]},{\"@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\\\/483b1092b8017f37d977331e91935d8c\",\"name\":\"Irfan\",\"description\":\"Irfan is a writer for hongkiat.com and tech enthusiast all-around. He also appreciates much on minimalist and clean design. Movie and football lovers and enjoy to travel around in his free time.\",\"sameAs\":[\"https:\\\/\\\/x.com\\\/IrfanFza\"],\"url\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/author\\\/irfan_fauzii\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Create Dynamic Grid Layouts Easily with FreeWall - Hongkiat","description":"If you're familiar with Windows 8 or Pinterest, you may recognize the dynamic grid layout. A dynamic grid allows you to rearrange and reposition child","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\/dynamic-grid-layout-freewall\/","og_locale":"en_US","og_type":"article","og_title":"Create Dynamic Grid Layouts Easily with FreeWall","og_description":"If you're familiar with Windows 8 or Pinterest, you may recognize the dynamic grid layout. A dynamic grid allows you to rearrange and reposition child","og_url":"https:\/\/www.hongkiat.com\/blog\/dynamic-grid-layout-freewall\/","og_site_name":"Hongkiat","article_publisher":"https:\/\/www.facebook.com\/hongkiatcom","article_published_time":"2014-01-16T07:01:52+00:00","article_modified_time":"2025-04-03T17:41:24+00:00","author":"Irfan","twitter_card":"summary_large_image","twitter_creator":"@IrfanFza","twitter_site":"@hongkiat","twitter_misc":{"Written by":"Irfan","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.hongkiat.com\/blog\/dynamic-grid-layout-freewall\/#article","isPartOf":{"@id":"https:\/\/www.hongkiat.com\/blog\/dynamic-grid-layout-freewall\/"},"author":{"name":"Irfan","@id":"https:\/\/www.hongkiat.com\/blog\/#\/schema\/person\/483b1092b8017f37d977331e91935d8c"},"headline":"Create Dynamic Grid Layouts Easily with FreeWall","datePublished":"2014-01-16T07:01:52+00:00","dateModified":"2025-04-03T17:41:24+00:00","mainEntityOfPage":{"@id":"https:\/\/www.hongkiat.com\/blog\/dynamic-grid-layout-freewall\/"},"wordCount":376,"commentCount":8,"publisher":{"@id":"https:\/\/www.hongkiat.com\/blog\/#organization"},"keywords":["Javascript Library","Javascripts"],"articleSection":["UI\/UX"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.hongkiat.com\/blog\/dynamic-grid-layout-freewall\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.hongkiat.com\/blog\/dynamic-grid-layout-freewall\/","url":"https:\/\/www.hongkiat.com\/blog\/dynamic-grid-layout-freewall\/","name":"Create Dynamic Grid Layouts Easily with FreeWall - Hongkiat","isPartOf":{"@id":"https:\/\/www.hongkiat.com\/blog\/#website"},"datePublished":"2014-01-16T07:01:52+00:00","dateModified":"2025-04-03T17:41:24+00:00","description":"If you're familiar with Windows 8 or Pinterest, you may recognize the dynamic grid layout. A dynamic grid allows you to rearrange and reposition child","breadcrumb":{"@id":"https:\/\/www.hongkiat.com\/blog\/dynamic-grid-layout-freewall\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.hongkiat.com\/blog\/dynamic-grid-layout-freewall\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.hongkiat.com\/blog\/dynamic-grid-layout-freewall\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.hongkiat.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Create Dynamic Grid Layouts Easily with FreeWall"}]},{"@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\/483b1092b8017f37d977331e91935d8c","name":"Irfan","description":"Irfan is a writer for hongkiat.com and tech enthusiast all-around. He also appreciates much on minimalist and clean design. Movie and football lovers and enjoy to travel around in his free time.","sameAs":["https:\/\/x.com\/IrfanFza"],"url":"https:\/\/www.hongkiat.com\/blog\/author\/irfan_fauzii\/"}]}},"jetpack_featured_media_url":"https:\/\/","jetpack_shortlink":"https:\/\/wp.me\/p4uxU-4XK","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/posts\/19080","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\/136"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/comments?post=19080"}],"version-history":[{"count":4,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/posts\/19080\/revisions"}],"predecessor-version":[{"id":73651,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/posts\/19080\/revisions\/73651"}],"wp:attachment":[{"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/media?parent=19080"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/categories?post=19080"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/tags?post=19080"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/topic?post=19080"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}