{"id":5572,"date":"2014-01-13T18:14:19","date_gmt":"2014-01-13T12:44:19","guid":{"rendered":"http:\/\/blog.fusioncharts.com\/?p=5572"},"modified":"2026-01-20T14:40:45","modified_gmt":"2026-01-20T09:10:45","slug":"introducing-bouquet-collection-of-jsdoc-plugins","status":"publish","type":"post","link":"https:\/\/www.fusioncharts.com\/blog\/introducing-bouquet-collection-of-jsdoc-plugins\/","title":{"rendered":"Introducing Bouquet: An Open Source Collection of JSDoc Plugins 2026"},"content":{"rendered":"Last week, FusionCharts released another open source tool, a collection of <a href=\"https:\/\/usejsdoc.org\">JSDoc<\/a> plugins, called \u201c<a href=\"https:\/\/github.com\/fusioncharts\/bouquet\">Bouquet<\/a>\u201d. At present Bouquet is made up of one plugin, which is somewhat contrary to its name. We plan on adding more plugins to this collection in near future and make it true to its name! This set of plugins will be very handy for developers writing their JavaScript source code documentation using JSDoc.\r\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_71 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\"><p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<\/div><nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.fusioncharts.com\/blog\/introducing-bouquet-collection-of-jsdoc-plugins\/#Why_this_collection_of_plugins\" title=\"Why this collection of plugins?\">Why this collection of plugins?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.fusioncharts.com\/blog\/introducing-bouquet-collection-of-jsdoc-plugins\/#staticFiles_%E2%80%93_our_first_plugin_for_JSDoc\" title=\"staticFiles &#8211; our first plugin for JSDoc\">staticFiles &#8211; our first plugin for JSDoc<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.fusioncharts.com\/blog\/introducing-bouquet-collection-of-jsdoc-plugins\/#How_to_use_staticFiles\" title=\"How to use staticFiles?\">How to use staticFiles?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.fusioncharts.com\/blog\/introducing-bouquet-collection-of-jsdoc-plugins\/#Whats_next\" title=\"What\u2019s next?\">What\u2019s next?<\/a><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"Why_this_collection_of_plugins\"><\/span>Why this collection of plugins?<span class=\"ez-toc-section-end\"><\/span><\/h2>\r\nIn the post on comparison of JavaScript documentation generators, we had mentioned that JSDoc can be highly extended with plugins. After FusionCharts decided to use JSDoc internally for the next release, we faced the need to customize and extend directives, file copying and other such aspects of JSDoc to suit our needs.<!--more-->\r\n\r\nOne of our first tasks was to support copying of static files, like images, which we use in writing JSDoc tutorials. We figured it&#8217;s best to implement this feature as a plugin for JSDoc, which can then be reused for other projects. Forking JSDoc and adding this functionality to its core would not have been a future-proof solution. It would require us to update our fork of JSDoc whenever any changes were released in the original project. Building this as a plugin will let us keep our existing copy of JSDoc and add the plugin on top of it for added features.\r\n\r\nAfter writing the first plugin, we figured out that we need a good number of others. We also wanted to release each of these plugins out to the world and let them share our innovation. But releasing each plugin separately would create different scattered repositories. Instead, publishing all plugins in a single repository will be more reusable, discoverable and maintainable.\r\n<h2><span class=\"ez-toc-section\" id=\"staticFiles_%E2%80%93_our_first_plugin_for_JSDoc\"><\/span>staticFiles &#8211; our first plugin for JSDoc<span class=\"ez-toc-section-end\"><\/span><\/h2>\r\n<a href=\"https:\/\/github.com\/fusioncharts\/bouquet\/tree\/master\/src\/staticFiles\">staticFiles<\/a> is the first plugin in this collection. It helps to include static assets in the compiled documentation, which can be any file or directory that the documentation needs.\r\n\r\nFor example, in a tutorial written for the upcoming version of FusionCharts XT, we needed to document how to export a chart to an image or PDF. This needed us to show some screenshots clearly showing users where they need to click to get the exported image. With staticFiles, we can now put the images in a specific source folder, get the output in a specified destination folder and link the images with a relative URL from the tutorials.\r\n\r\nSimilarly, there can be other use cases like including raw JSON data files in the documentation or shipping source PSD files with the documentation, that is, packaging files which are not part of the core documentation.\r\n\r\nSo far the only other way to achieve this in JSDoc was to use a similar inbuilt feature which runs from the template layer. We opted to create a generic solution.\r\n<h2><span class=\"ez-toc-section\" id=\"How_to_use_staticFiles\"><\/span>How to use staticFiles?<span class=\"ez-toc-section-end\"><\/span><\/h2>\r\n0. Download the <a href=\"https:\/\/github.com\/fusioncharts\/bouquet\">Bouquet repository<\/a> from Github.\r\n\r\n1. To install staticFiles, copy `src\/staticFiles\/` to `plugins` folder located in the JSDoc installation folder.\r\n\r\n2. Then, include the plugin in jsdoc.conf (assuming that the configuration file used to generate JSDoc\u2019s documentation is called jsdoc.conf) by adding its path to the `plugins` array. For this do:\r\n\r\n<pre class=\"lang:javascript\">{\r\n    \u201cplugins\u201d: [\u201cplugins\/staticFiles\/staticFiles\u201d]\r\n}<\/pre>\r\n<p class=\"note\">The plugins folder is the recommended location for a plugin. It can be optionally put in any other location, in which case, jsdoc.conf needs to know the relative or absolute path to the plugin.<\/p>\r\n3. staticFiles uses a special set of configurations that will be familiar to JSDoc users. All these configurations go to `jsdoc.conf` We need to use the following set of configurations at the bare minimum:\r\n<pre class=\"lang:javascript\">{\r\n    \u201cstaticFiles\u201d: {\r\n        \u201cinclude\u201d: [\u201cimages:tutorials\/images\u201d]\r\n    }\r\n}<\/pre>\r\nThis tells staticFiles to include all files in the `tutorials\/images` folder and copy them to the `images` folder within the documentation output directory. `include` is an array of strings containing file paths in the format `destination:source`. Multiple include file paths can be provided by separating them with a comma within the square brackets.\r\n\r\nBy default it will not copy recursively. For recursive copying, set `\u201drecursive\u201d: true` like this:\r\n<pre class=\"lang:javascript\">{\r\n    \u201cstaticFiles\u201d: {\r\n        \u201cinclude\u201d: [\u201cimages:tutorials\/images\u201d],\r\n        \u201crecursive\u201d: true\r\n    }\r\n}<\/pre>\r\n4. Run JSDoc and pass this conf file to it:\r\n<pre class=\"lang:bash\">$ jsdoc -c jsdoc.conf<\/pre>\r\nFor more detailed instructions and information on other configuration options, take a look at the <a href=\"https:\/\/github.com\/fusioncharts\/bouquet\/blob\/master\/src\/staticFiles\/README.md\">staticFiles documentation<\/a>.\r\n<h2><span class=\"ez-toc-section\" id=\"Whats_next\"><\/span>What\u2019s next?<span class=\"ez-toc-section-end\"><\/span><\/h2>\r\nThis is just the start, we plan to create even more plugins for JSDoc in the near future. These include plugins which will perform a global search across the generated documentation entirely on the client side, produce reports on documentation coverage, embed fiddles from JSFiddle and live charts generated documentation.\r\n\r\nIf you have any suggestions, please let us know in the comments below, or even better, file a bug or a feature request in the <a href=\"https:\/\/github.com\/fusioncharts\/bouquet\/issues\">Bouquet issue tracker<\/a>.","protected":false},"excerpt":{"rendered":"<p>Last week, FusionCharts released another open source tool, a collection of JSDoc plugins, called \u201cBouquet\u201d. At present Bouquet is made up of one plugin, which is somewhat contrary to its name. We plan on adding more plugins to this collection in near future and make it true to its name! This set of plugins will [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[16],"tags":[],"coauthors":[690],"class_list":["post-5572","post","type-post","status-publish","format-standard","hentry","category-news-announcements"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Introducing Bouquet: An Open Source Collection of JSDoc Plugins 2026<\/title>\n<meta name=\"description\" content=\"Introducing &quot;Bouquet,&quot; a new collection of JSDoc plugins. Explore our latest 2026 open-source tool for JavaScript developers. Document your code perfectly.\" \/>\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.fusioncharts.com\/blog\/introducing-bouquet-collection-of-jsdoc-plugins\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Introducing Bouquet: An Open Source Collection of JSDoc Plugins 2026\" \/>\n<meta property=\"og:description\" content=\"Introducing &quot;Bouquet,&quot; a new collection of JSDoc plugins. Explore our latest 2026 open-source tool for JavaScript developers. Document your code perfectly.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.fusioncharts.com\/blog\/introducing-bouquet-collection-of-jsdoc-plugins\/\" \/>\n<meta property=\"og:site_name\" content=\"FusionBrew - The FusionCharts Blog\" \/>\n<meta property=\"article:published_time\" content=\"2014-01-13T12:44:19+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-01-20T09:10:45+00:00\" \/>\n<meta name=\"author\" content=\"Kaustav Das Modak\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kaustav Das Modak\" \/>\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\">{\n\t    \"@context\": \"https:\/\/schema.org\",\n\t    \"@graph\": [\n\t        {\n\t            \"@type\": \"Article\",\n\t            \"@id\": \"https:\/\/www.fusioncharts.com\/blog\/introducing-bouquet-collection-of-jsdoc-plugins\/#article\",\n\t            \"isPartOf\": {\n\t                \"@id\": \"https:\/\/www.fusioncharts.com\/blog\/introducing-bouquet-collection-of-jsdoc-plugins\/\"\n\t            },\n\t            \"author\": {\n\t                \"name\": \"Kaustav Das Modak\",\n\t                \"@id\": \"https:\/\/www.fusioncharts.com\/blog\/#\/schema\/person\/d6727c5ac5aea0fd6fa833a417c15457\"\n\t            },\n\t            \"headline\": \"Introducing Bouquet: An Open Source Collection of JSDoc Plugins 2026\",\n\t            \"datePublished\": \"2014-01-13T12:44:19+00:00\",\n\t            \"dateModified\": \"2026-01-20T09:10:45+00:00\",\n\t            \"mainEntityOfPage\": {\n\t                \"@id\": \"https:\/\/www.fusioncharts.com\/blog\/introducing-bouquet-collection-of-jsdoc-plugins\/\"\n\t            },\n\t            \"wordCount\": 783,\n\t            \"commentCount\": 0,\n\t            \"publisher\": {\n\t                \"@id\": \"https:\/\/www.fusioncharts.com\/blog\/#organization\"\n\t            },\n\t            \"articleSection\": [\n\t                \"News &amp; Announcements\"\n\t            ],\n\t            \"inLanguage\": \"en-US\",\n\t            \"potentialAction\": [\n\t                {\n\t                    \"@type\": \"CommentAction\",\n\t                    \"name\": \"Comment\",\n\t                    \"target\": [\n\t                        \"https:\/\/www.fusioncharts.com\/blog\/introducing-bouquet-collection-of-jsdoc-plugins\/#respond\"\n\t                    ]\n\t                }\n\t            ]\n\t        },\n\t        {\n\t            \"@type\": \"WebPage\",\n\t            \"@id\": \"https:\/\/www.fusioncharts.com\/blog\/introducing-bouquet-collection-of-jsdoc-plugins\/\",\n\t            \"url\": \"https:\/\/www.fusioncharts.com\/blog\/introducing-bouquet-collection-of-jsdoc-plugins\/\",\n\t            \"name\": \"Introducing Bouquet: An Open Source Collection of JSDoc Plugins 2026\",\n\t            \"isPartOf\": {\n\t                \"@id\": \"https:\/\/www.fusioncharts.com\/blog\/#website\"\n\t            },\n\t            \"datePublished\": \"2014-01-13T12:44:19+00:00\",\n\t            \"dateModified\": \"2026-01-20T09:10:45+00:00\",\n\t            \"description\": \"Introducing \\\"Bouquet,\\\" a new collection of JSDoc plugins. Explore our latest 2026 open-source tool for JavaScript developers. Document your code perfectly.\",\n\t            \"breadcrumb\": {\n\t                \"@id\": \"https:\/\/www.fusioncharts.com\/blog\/introducing-bouquet-collection-of-jsdoc-plugins\/#breadcrumb\"\n\t            },\n\t            \"inLanguage\": \"en-US\",\n\t            \"potentialAction\": [\n\t                {\n\t                    \"@type\": \"ReadAction\",\n\t                    \"target\": [\n\t                        \"https:\/\/www.fusioncharts.com\/blog\/introducing-bouquet-collection-of-jsdoc-plugins\/\"\n\t                    ]\n\t                }\n\t            ]\n\t        },\n\t        {\n\t            \"@type\": \"BreadcrumbList\",\n\t            \"@id\": \"https:\/\/www.fusioncharts.com\/blog\/introducing-bouquet-collection-of-jsdoc-plugins\/#breadcrumb\",\n\t            \"itemListElement\": [\n\t                {\n\t                    \"@type\": \"ListItem\",\n\t                    \"position\": 1,\n\t                    \"name\": \"Home\",\n\t                    \"item\": \"https:\/\/www.fusioncharts.com\/blog\/\"\n\t                },\n\t                {\n\t                    \"@type\": \"ListItem\",\n\t                    \"position\": 2,\n\t                    \"name\": \"Introducing Bouquet: An Open Source Collection of JSDoc Plugins 2026\"\n\t                }\n\t            ]\n\t        },\n\t        {\n\t            \"@type\": \"WebSite\",\n\t            \"@id\": \"https:\/\/www.fusioncharts.com\/blog\/#website\",\n\t            \"url\": \"https:\/\/www.fusioncharts.com\/blog\/\",\n\t            \"name\": \"FusionBrew - The FusionCharts Blog\",\n\t            \"description\": \"Get tips and tricks on how to build effective Data Visualisation using FusionCharts\",\n\t            \"publisher\": {\n\t                \"@id\": \"https:\/\/www.fusioncharts.com\/blog\/#organization\"\n\t            },\n\t            \"potentialAction\": [\n\t                {\n\t                    \"@type\": \"SearchAction\",\n\t                    \"target\": {\n\t                        \"@type\": \"EntryPoint\",\n\t                        \"urlTemplate\": \"https:\/\/www.fusioncharts.com\/blog\/?s={search_term_string}\"\n\t                    },\n\t                    \"query-input\": {\n\t                        \"@type\": \"PropertyValueSpecification\",\n\t                        \"valueRequired\": true,\n\t                        \"valueName\": \"search_term_string\"\n\t                    }\n\t                }\n\t            ],\n\t            \"inLanguage\": \"en-US\"\n\t        },\n\t        {\n\t            \"@type\": \"Organization\",\n\t            \"@id\": \"https:\/\/www.fusioncharts.com\/blog\/#organization\",\n\t            \"name\": \"FusionCharts\",\n\t            \"url\": \"https:\/\/www.fusioncharts.com\/blog\/\",\n\t            \"logo\": {\n\t                \"@type\": \"ImageObject\",\n\t                \"inLanguage\": \"en-US\",\n\t                \"@id\": \"https:\/\/www.fusioncharts.com\/blog\/#\/schema\/logo\/image\/\",\n\t                \"url\": \"\/blog\/wp-content\/uploads\/2020\/03\/idera-fc-logo.svg\",\n\t                \"contentUrl\": \"\/blog\/wp-content\/uploads\/2020\/03\/idera-fc-logo.svg\",\n\t                \"width\": 1,\n\t                \"height\": 1,\n\t                \"caption\": \"FusionCharts\"\n\t            },\n\t            \"image\": {\n\t                \"@id\": \"https:\/\/www.fusioncharts.com\/blog\/#\/schema\/logo\/image\/\"\n\t            }\n\t        },\n\t        {\n\t            \"@type\": \"Person\",\n\t            \"@id\": \"https:\/\/www.fusioncharts.com\/blog\/#\/schema\/person\/d6727c5ac5aea0fd6fa833a417c15457\",\n\t            \"name\": \"Kaustav Das Modak\",\n\t            \"image\": {\n\t                \"@type\": \"ImageObject\",\n\t                \"inLanguage\": \"en-US\",\n\t                \"@id\": \"https:\/\/www.fusioncharts.com\/blog\/#\/schema\/person\/image\/ece3e38ec52f0709739ce50a255a5bb6\",\n\t                \"url\": \"\/blog\/wp-content\/wphb-cache\/gravatar\/933\/9331472aaa32a48035bcf7ade06553d2x96.jpg\",\n\t                \"contentUrl\": \"\/blog\/wp-content\/wphb-cache\/gravatar\/933\/9331472aaa32a48035bcf7ade06553d2x96.jpg\",\n\t                \"caption\": \"Kaustav Das Modak\"\n\t            },\n\t            \"url\": \"https:\/\/www.fusioncharts.com\/blog\/author\/kaustav\/\"\n\t        }\n\t    ]\n\t}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Introducing Bouquet: An Open Source Collection of JSDoc Plugins 2026","description":"Introducing \"Bouquet,\" a new collection of JSDoc plugins. Explore our latest 2026 open-source tool for JavaScript developers. Document your code perfectly.","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.fusioncharts.com\/blog\/introducing-bouquet-collection-of-jsdoc-plugins\/","og_locale":"en_US","og_type":"article","og_title":"Introducing Bouquet: An Open Source Collection of JSDoc Plugins 2026","og_description":"Introducing \"Bouquet,\" a new collection of JSDoc plugins. Explore our latest 2026 open-source tool for JavaScript developers. Document your code perfectly.","og_url":"https:\/\/www.fusioncharts.com\/blog\/introducing-bouquet-collection-of-jsdoc-plugins\/","og_site_name":"FusionBrew - The FusionCharts Blog","article_published_time":"2014-01-13T12:44:19+00:00","article_modified_time":"2026-01-20T09:10:45+00:00","author":"Kaustav Das Modak","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Kaustav Das Modak","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.fusioncharts.com\/blog\/introducing-bouquet-collection-of-jsdoc-plugins\/#article","isPartOf":{"@id":"https:\/\/www.fusioncharts.com\/blog\/introducing-bouquet-collection-of-jsdoc-plugins\/"},"author":{"name":"Kaustav Das Modak","@id":"https:\/\/www.fusioncharts.com\/blog\/#\/schema\/person\/d6727c5ac5aea0fd6fa833a417c15457"},"headline":"Introducing Bouquet: An Open Source Collection of JSDoc Plugins 2026","datePublished":"2014-01-13T12:44:19+00:00","dateModified":"2026-01-20T09:10:45+00:00","mainEntityOfPage":{"@id":"https:\/\/www.fusioncharts.com\/blog\/introducing-bouquet-collection-of-jsdoc-plugins\/"},"wordCount":783,"commentCount":0,"publisher":{"@id":"https:\/\/www.fusioncharts.com\/blog\/#organization"},"articleSection":["News &amp; Announcements"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.fusioncharts.com\/blog\/introducing-bouquet-collection-of-jsdoc-plugins\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.fusioncharts.com\/blog\/introducing-bouquet-collection-of-jsdoc-plugins\/","url":"https:\/\/www.fusioncharts.com\/blog\/introducing-bouquet-collection-of-jsdoc-plugins\/","name":"Introducing Bouquet: An Open Source Collection of JSDoc Plugins 2026","isPartOf":{"@id":"https:\/\/www.fusioncharts.com\/blog\/#website"},"datePublished":"2014-01-13T12:44:19+00:00","dateModified":"2026-01-20T09:10:45+00:00","description":"Introducing \"Bouquet,\" a new collection of JSDoc plugins. Explore our latest 2026 open-source tool for JavaScript developers. Document your code perfectly.","breadcrumb":{"@id":"https:\/\/www.fusioncharts.com\/blog\/introducing-bouquet-collection-of-jsdoc-plugins\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.fusioncharts.com\/blog\/introducing-bouquet-collection-of-jsdoc-plugins\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.fusioncharts.com\/blog\/introducing-bouquet-collection-of-jsdoc-plugins\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.fusioncharts.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Introducing Bouquet: An Open Source Collection of JSDoc Plugins 2026"}]},{"@type":"WebSite","@id":"https:\/\/www.fusioncharts.com\/blog\/#website","url":"https:\/\/www.fusioncharts.com\/blog\/","name":"FusionBrew - The FusionCharts Blog","description":"Get tips and tricks on how to build effective Data Visualisation using FusionCharts","publisher":{"@id":"https:\/\/www.fusioncharts.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.fusioncharts.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.fusioncharts.com\/blog\/#organization","name":"FusionCharts","url":"https:\/\/www.fusioncharts.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.fusioncharts.com\/blog\/#\/schema\/logo\/image\/","url":"\/blog\/wp-content\/uploads\/2020\/03\/idera-fc-logo.svg","contentUrl":"\/blog\/wp-content\/uploads\/2020\/03\/idera-fc-logo.svg","width":1,"height":1,"caption":"FusionCharts"},"image":{"@id":"https:\/\/www.fusioncharts.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.fusioncharts.com\/blog\/#\/schema\/person\/d6727c5ac5aea0fd6fa833a417c15457","name":"Kaustav Das Modak","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.fusioncharts.com\/blog\/#\/schema\/person\/image\/ece3e38ec52f0709739ce50a255a5bb6","url":"\/blog\/wp-content\/wphb-cache\/gravatar\/933\/9331472aaa32a48035bcf7ade06553d2x96.jpg","contentUrl":"\/blog\/wp-content\/wphb-cache\/gravatar\/933\/9331472aaa32a48035bcf7ade06553d2x96.jpg","caption":"Kaustav Das Modak"},"url":"https:\/\/www.fusioncharts.com\/blog\/author\/kaustav\/"}]}},"_links":{"self":[{"href":"https:\/\/www.fusioncharts.com\/blog\/wp-json\/wp\/v2\/posts\/5572","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.fusioncharts.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.fusioncharts.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.fusioncharts.com\/blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.fusioncharts.com\/blog\/wp-json\/wp\/v2\/comments?post=5572"}],"version-history":[{"count":0,"href":"https:\/\/www.fusioncharts.com\/blog\/wp-json\/wp\/v2\/posts\/5572\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.fusioncharts.com\/blog\/wp-json\/wp\/v2\/media?parent=5572"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.fusioncharts.com\/blog\/wp-json\/wp\/v2\/categories?post=5572"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.fusioncharts.com\/blog\/wp-json\/wp\/v2\/tags?post=5572"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.fusioncharts.com\/blog\/wp-json\/wp\/v2\/coauthors?post=5572"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}