{"id":185,"date":"2020-09-26T12:30:28","date_gmt":"2020-09-26T07:00:28","guid":{"rendered":"https:\/\/www.codezma.com\/?p=185"},"modified":"2020-09-26T11:44:58","modified_gmt":"2020-09-26T06:14:58","slug":"beginners-guide-to-p5js-noise","status":"publish","type":"post","link":"https:\/\/www.codezma.com\/blogs\/frontend\/beginners-guide-to-p5js-noise\/","title":{"rendered":"Beginner\u2019s Guide to Creative Coding using p5js: Noise"},"content":{"rendered":"\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"571\" src=\"https:\/\/www.codezma.com\/wp-content\/uploads\/2020\/09\/p5js-noise1.jpg\" alt=\"p5js-noise1\" class=\"wp-image-188\" srcset=\"https:\/\/www.codezma.com\/blogs\/wp-content\/uploads\/2020\/09\/p5js-noise1.jpg 1024w, https:\/\/www.codezma.com\/blogs\/wp-content\/uploads\/2020\/09\/p5js-noise1-300x167.jpg 300w, https:\/\/www.codezma.com\/blogs\/wp-content\/uploads\/2020\/09\/p5js-noise1-768x428.jpg 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption>Ken Perlin, Perlin Noise<\/figcaption><\/figure>\n\n\n\n<p><a href=\"https:\/\/www.codezma.com\/frontend\/beginners-guide-to-creative-coding-using-p5js\/\">The previous blog<\/a> in this series gave introduction to creative coding and p5js basic structure. Going further, in this blog, we are going to learn about one of the most used functions in p5js &#8211; noise. It is the soul of p5js. You might say what is so interesting about this \u2018noise\u2019 function? To understand this, let\u2019s take a ride back to history.<\/p>\n\n\n\n<p>Perlin noise is a type of noise generated by an algorithm developed by Ken Perlin in 1983. He devised this new type of noise texture when he was told to come up with a realistic texture for the movie \u2018TRON\u2019. Noise is basically random() function in p5js but more harmonic. So, when you are looking for random numbers but want those numbers to deviate less or in a more \u2018harmonic\u2019 way, you use noise. To understand the difference between random() and noise() functions in p5js, let\u2019s go through this demo.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"js\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">function setup() {\n  createCanvas(640, 480);\n}\n\nfunction draw() {\n  background(220);\n  randomSize();\n  noiseSize();\n  noLoop();\n}\n\nfunction randomSize(){\n  for(let i = -3; i &lt;= 3; i++){\n    ellipse(width\/2 + 50*i, height\/2 - 50, random(30));\n  }\n}\n\nfunction noiseSize(){\n  let nx = 0;\n  for(let i = -3; i &lt;= 3; i++){\n    ellipse(width\/2 + 50*i, height\/2 + 50, noise(nx)*30);\n  }\n  \n  nx += 1;<\/pre>\n\n\n\n<p>When you execute this code, you should be able to see two lines of 7 circles with different radius. The first line of circles receives their radii from random() function and second one from noise() function. As you can see, the first line of circles has greater deviation in radius as compared to the second one. The random() function returns the value between 0 and 1 when no argument is passed. When a single argument is passed, it returns a number between 0 and argument. You can also pass two numbers as arguments to receive a number between that range.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"js\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">random() \t\t\/\/ outputs a number between 0 and 1\nrandom(4) \t\t\/\/ outputs a number between 0 and 4\nrandom(5, 10) \t\t\/\/ outputs a number between 5 and 10`<\/pre>\n\n\n\n<p>On the other hand, the noise() function takes a particular number as an argument and returns a number between 0 and 1. If you wish to receive a number between 0 and any other number (say x), you need to multiply the output of the noise() function to that number (x).<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"js\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">noise(4)\t\t\/\/outputs a number between 0 and 1\nnoise(4)*4\t\t\/\/outputs a number between 0 and 4\nmap(noise(7), 0, 1, -30, 30)\t\t\/\/outputs a number between -30 and 30<\/pre>\n\n\n\n<p>The function map() takes a value and converts it to a new range after taking into consideration the original range. So, in the above line, if the output of noise(7) is 0, the map() will produce an output of -30.<\/p>\n\n\n\n<p>Enough theory, let\u2019s do some creative visualisation.<\/p>\n\n\n\n<p>let nx = 0, ny = 0, centerX, centerY, squareSize = 20, gap;<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"js\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">function setup() {\n  createCanvas(800, 800);\n  \n  centerX = width\/2;\n  centerY = height\/2;\n  gap = 1.5 * squareSize;\n  \n  noStroke();\n  fill(20, 200, 0);\n}\n\nfunction draw() {\n  background(2);\n  \n  nx = ny;\n  \n  for(let x = -8; x &lt;= 8; x++){\n    for(let y = -8; y &lt;= 8; y++){\n      let t = map(noise(nx), 0, 1, -squareSize\/2, squareSize\/2); \n      ellipse(centerX + x * gap, centerY + y * gap, squareSize + t);\n      nx += 0.2;\n    }\n  }\n  \n  ny += 0.03;\n}<\/pre>\n\n\n\n<p>Here, we are generating a few arrays of ellipses and applying noise() to their radius to give smooth transitions. Try to replace the noise() function with the random() and ellipses with rectangles and then see how the output changes. Go along, play with colors and ellipse sizes. Let\u2019s do one more visualisation before ending the blog. Try this code in p5js editor.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"js\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">function setup() {\n  createCanvas(400, 400);\n  noFill();\n  stroke(2);\n}\n\nfunction draw() {\n  background(220, 40);\n  \n  beginShape();\n  for(let i = 0; i &lt;= width; i++){\n    vertex(i, height\/2);\n  }\n  endShape();\n}<\/pre>\n\n\n\n<p>Can you guess what it does? Here, two functions beginShape() and endShape() are used to create a custom shape by providing coordinates of each vertex of that shape. The structure is such that you begin with beginShape() and then add all the vertices of that particular shape. And at last, you call endShape() to finally conjure up your shape. As you can see, we created a line at the vertical center of the canvas using these functions. Now, let\u2019s add our magic ingredient &#8211; noise&nbsp;\u2728<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"js\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">let nx = 0;\n\nfunction setup() {\n  createCanvas(400, 400);\n  \n  noFill();\n  stroke(2);\n}\n\nfunction draw() {\n  background(220, 40);\n  \n  beginShape();\n  for(let i = 0; i &lt;= width; i++){\n    let m = map(noise(nx, i*0.01), 0, 1, -80, 80);\n    vertex(i, height\/2 + m);\n    nx += 0.00005;\n  }\n  endShape();\n}<\/pre>\n\n\n\n<p>Can you figure out what causes these nice mountain ridges and fade effect? Try playing with values for nx and noise and see how it changes the sketch. That\u2019s it for this blog. Hope you make your versions of different sketches by using noise().<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The previous blog in this series gave introduction to creative coding and p5js basic structure. Going further, in this blog, we are going to learn about one of the most used functions in p5js &#8211; noise. It is the soul of p5js. You might say what is so interesting about this \u2018noise\u2019 function? To understand [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":189,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[25],"tags":[21,20],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v21.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Beginner\u2019s Guide to Creative Coding using p5js: Noise | Codezma<\/title>\n<meta name=\"description\" content=\"Learn how to use perlin noise while creating beautiful visualisations to give your sketch more natural and harmonic way of transitions.\" \/>\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.codezma.com\/blogs\/frontend\/beginners-guide-to-p5js-noise\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Beginner\u2019s Guide to Creative Coding using p5js: Noise | Codezma\" \/>\n<meta property=\"og:description\" content=\"Learn how to use perlin noise while creating beautiful visualisations to give your sketch more natural and harmonic way of transitions.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.codezma.com\/blogs\/frontend\/beginners-guide-to-p5js-noise\/\" \/>\n<meta property=\"og:site_name\" content=\"Codezma\" \/>\n<meta property=\"article:published_time\" content=\"2020-09-26T07:00:28+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-09-26T06:14:58+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.codezma.com\/blogs\/wp-content\/uploads\/2020\/09\/p5js-noise-cover.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1472\" \/>\n\t<meta property=\"og:image:height\" content=\"530\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Rajnee Makwana\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@tech_codezma\" \/>\n<meta name=\"twitter:site\" content=\"@tech_codezma\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Rajnee Makwana\" \/>\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.codezma.com\/blogs\/frontend\/beginners-guide-to-p5js-noise\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.codezma.com\/blogs\/frontend\/beginners-guide-to-p5js-noise\/\"},\"author\":{\"name\":\"Rajnee Makwana\",\"@id\":\"https:\/\/www.codezma.com\/blogs\/#\/schema\/person\/f0ab2c921dd8c3f8a95c6d3bb1d31eee\"},\"headline\":\"Beginner\u2019s Guide to Creative Coding using p5js: Noise\",\"datePublished\":\"2020-09-26T07:00:28+00:00\",\"dateModified\":\"2020-09-26T06:14:58+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.codezma.com\/blogs\/frontend\/beginners-guide-to-p5js-noise\/\"},\"wordCount\":567,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.codezma.com\/blogs\/#organization\"},\"keywords\":[\"canvas\",\"p5js\"],\"articleSection\":[\"Frontend\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.codezma.com\/blogs\/frontend\/beginners-guide-to-p5js-noise\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.codezma.com\/blogs\/frontend\/beginners-guide-to-p5js-noise\/\",\"url\":\"https:\/\/www.codezma.com\/blogs\/frontend\/beginners-guide-to-p5js-noise\/\",\"name\":\"Beginner\u2019s Guide to Creative Coding using p5js: Noise | Codezma\",\"isPartOf\":{\"@id\":\"https:\/\/www.codezma.com\/blogs\/#website\"},\"datePublished\":\"2020-09-26T07:00:28+00:00\",\"dateModified\":\"2020-09-26T06:14:58+00:00\",\"description\":\"Learn how to use perlin noise while creating beautiful visualisations to give your sketch more natural and harmonic way of transitions.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.codezma.com\/blogs\/frontend\/beginners-guide-to-p5js-noise\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.codezma.com\/blogs\/frontend\/beginners-guide-to-p5js-noise\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.codezma.com\/blogs\/frontend\/beginners-guide-to-p5js-noise\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.codezma.com\/blogs\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Beginner\u2019s Guide to Creative Coding using p5js: Noise\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.codezma.com\/blogs\/#website\",\"url\":\"https:\/\/www.codezma.com\/blogs\/\",\"name\":\"Codezma\",\"description\":\"Encode the code\",\"publisher\":{\"@id\":\"https:\/\/www.codezma.com\/blogs\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.codezma.com\/blogs\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.codezma.com\/blogs\/#organization\",\"name\":\"Codezma\",\"url\":\"https:\/\/www.codezma.com\/blogs\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.codezma.com\/blogs\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.codezma.com\/blogs\/wp-content\/uploads\/2020\/08\/favicon.png\",\"contentUrl\":\"https:\/\/www.codezma.com\/blogs\/wp-content\/uploads\/2020\/08\/favicon.png\",\"width\":512,\"height\":512,\"caption\":\"Codezma\"},\"image\":{\"@id\":\"https:\/\/www.codezma.com\/blogs\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/twitter.com\/tech_codezma\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.codezma.com\/blogs\/#\/schema\/person\/f0ab2c921dd8c3f8a95c6d3bb1d31eee\",\"name\":\"Rajnee Makwana\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.codezma.com\/blogs\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/c24187f3486a406a1f26873a22cacf4b?s=96&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/c24187f3486a406a1f26873a22cacf4b?s=96&r=g\",\"caption\":\"Rajnee Makwana\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Beginner\u2019s Guide to Creative Coding using p5js: Noise | Codezma","description":"Learn how to use perlin noise while creating beautiful visualisations to give your sketch more natural and harmonic way of transitions.","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.codezma.com\/blogs\/frontend\/beginners-guide-to-p5js-noise\/","og_locale":"en_US","og_type":"article","og_title":"Beginner\u2019s Guide to Creative Coding using p5js: Noise | Codezma","og_description":"Learn how to use perlin noise while creating beautiful visualisations to give your sketch more natural and harmonic way of transitions.","og_url":"https:\/\/www.codezma.com\/blogs\/frontend\/beginners-guide-to-p5js-noise\/","og_site_name":"Codezma","article_published_time":"2020-09-26T07:00:28+00:00","article_modified_time":"2020-09-26T06:14:58+00:00","og_image":[{"width":1472,"height":530,"url":"https:\/\/www.codezma.com\/blogs\/wp-content\/uploads\/2020\/09\/p5js-noise-cover.jpg","type":"image\/jpeg"}],"author":"Rajnee Makwana","twitter_card":"summary_large_image","twitter_creator":"@tech_codezma","twitter_site":"@tech_codezma","twitter_misc":{"Written by":"Rajnee Makwana","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.codezma.com\/blogs\/frontend\/beginners-guide-to-p5js-noise\/#article","isPartOf":{"@id":"https:\/\/www.codezma.com\/blogs\/frontend\/beginners-guide-to-p5js-noise\/"},"author":{"name":"Rajnee Makwana","@id":"https:\/\/www.codezma.com\/blogs\/#\/schema\/person\/f0ab2c921dd8c3f8a95c6d3bb1d31eee"},"headline":"Beginner\u2019s Guide to Creative Coding using p5js: Noise","datePublished":"2020-09-26T07:00:28+00:00","dateModified":"2020-09-26T06:14:58+00:00","mainEntityOfPage":{"@id":"https:\/\/www.codezma.com\/blogs\/frontend\/beginners-guide-to-p5js-noise\/"},"wordCount":567,"commentCount":0,"publisher":{"@id":"https:\/\/www.codezma.com\/blogs\/#organization"},"keywords":["canvas","p5js"],"articleSection":["Frontend"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.codezma.com\/blogs\/frontend\/beginners-guide-to-p5js-noise\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.codezma.com\/blogs\/frontend\/beginners-guide-to-p5js-noise\/","url":"https:\/\/www.codezma.com\/blogs\/frontend\/beginners-guide-to-p5js-noise\/","name":"Beginner\u2019s Guide to Creative Coding using p5js: Noise | Codezma","isPartOf":{"@id":"https:\/\/www.codezma.com\/blogs\/#website"},"datePublished":"2020-09-26T07:00:28+00:00","dateModified":"2020-09-26T06:14:58+00:00","description":"Learn how to use perlin noise while creating beautiful visualisations to give your sketch more natural and harmonic way of transitions.","breadcrumb":{"@id":"https:\/\/www.codezma.com\/blogs\/frontend\/beginners-guide-to-p5js-noise\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.codezma.com\/blogs\/frontend\/beginners-guide-to-p5js-noise\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.codezma.com\/blogs\/frontend\/beginners-guide-to-p5js-noise\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.codezma.com\/blogs\/"},{"@type":"ListItem","position":2,"name":"Beginner\u2019s Guide to Creative Coding using p5js: Noise"}]},{"@type":"WebSite","@id":"https:\/\/www.codezma.com\/blogs\/#website","url":"https:\/\/www.codezma.com\/blogs\/","name":"Codezma","description":"Encode the code","publisher":{"@id":"https:\/\/www.codezma.com\/blogs\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.codezma.com\/blogs\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.codezma.com\/blogs\/#organization","name":"Codezma","url":"https:\/\/www.codezma.com\/blogs\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codezma.com\/blogs\/#\/schema\/logo\/image\/","url":"https:\/\/www.codezma.com\/blogs\/wp-content\/uploads\/2020\/08\/favicon.png","contentUrl":"https:\/\/www.codezma.com\/blogs\/wp-content\/uploads\/2020\/08\/favicon.png","width":512,"height":512,"caption":"Codezma"},"image":{"@id":"https:\/\/www.codezma.com\/blogs\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/twitter.com\/tech_codezma"]},{"@type":"Person","@id":"https:\/\/www.codezma.com\/blogs\/#\/schema\/person\/f0ab2c921dd8c3f8a95c6d3bb1d31eee","name":"Rajnee Makwana","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codezma.com\/blogs\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/c24187f3486a406a1f26873a22cacf4b?s=96&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c24187f3486a406a1f26873a22cacf4b?s=96&r=g","caption":"Rajnee Makwana"}}]}},"_links":{"self":[{"href":"https:\/\/www.codezma.com\/blogs\/wp-json\/wp\/v2\/posts\/185"}],"collection":[{"href":"https:\/\/www.codezma.com\/blogs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.codezma.com\/blogs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.codezma.com\/blogs\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.codezma.com\/blogs\/wp-json\/wp\/v2\/comments?post=185"}],"version-history":[{"count":4,"href":"https:\/\/www.codezma.com\/blogs\/wp-json\/wp\/v2\/posts\/185\/revisions"}],"predecessor-version":[{"id":194,"href":"https:\/\/www.codezma.com\/blogs\/wp-json\/wp\/v2\/posts\/185\/revisions\/194"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.codezma.com\/blogs\/wp-json\/wp\/v2\/media\/189"}],"wp:attachment":[{"href":"https:\/\/www.codezma.com\/blogs\/wp-json\/wp\/v2\/media?parent=185"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.codezma.com\/blogs\/wp-json\/wp\/v2\/categories?post=185"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.codezma.com\/blogs\/wp-json\/wp\/v2\/tags?post=185"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}