{"id":28,"date":"2014-12-05T06:00:00","date_gmt":"2014-12-05T06:00:00","guid":{"rendered":"https:\/\/scgindia.in\/lhotsetechnologies\/dev\/2014\/12\/05\/aem-client-library-in-detail\/"},"modified":"2019-09-19T13:10:05","modified_gmt":"2019-09-19T13:10:05","slug":"aem-client-library-in-detail","status":"publish","type":"post","link":"https:\/\/lhotsetechnologies.com\/blog\/aem-client-library-in-detail\/","title":{"rendered":"AEM Client Library in Detail"},"content":{"rendered":"<div dir=\"ltr\" style=\"text-align: left;\">\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\">In this post, I will explain client library in detail. i.e. In this post I will explain use of different client libraries properties with the help of working example. So &#8211;&nbsp;<\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\">&nbsp;<\/span><\/div>\n<div style=\"text-align: justify;\"><b><span style=\"color: #660000;\">Agenda<\/span><\/b><\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\">&nbsp;<\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\"><b><i>1). Use of categories property.<\/i><\/b><\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\"><b><i>2). Use of dependencies property.<\/i><\/b><\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\"><b><i>3). Use of embed property.<\/i><\/b><\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\"><b><i>4). Use of channels property.<\/i><\/b><\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\"><b><i>5). Use of Client Lib Debugger tool using categories.<\/i><\/b><\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\"><b><i>6). Adobe CQ HTML Library Manager Service configuration.<\/i><\/b><\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\"><b><i>&nbsp;<\/i><\/b><\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\">For explaining all of these properties, I have created a project named as <b><i>blog<\/i><\/b> under apps directory as shown below &#8211;&nbsp;<\/span><\/div>\n<div style=\"clear: both; text-align: center;\"><a style=\"clear: left; float: left; margin-bottom: 1em; margin-right: 1em;\" href=\"http:\/\/2.bp.blogspot.com\/-HkmxyMuHP3E\/VHwzIvMOkgI\/AAAAAAAAA6s\/E8cAaS39yzA\/s1600\/image_1.1.png\"><img decoding=\"async\" src=\"http:\/\/2.bp.blogspot.com\/-HkmxyMuHP3E\/VHwzIvMOkgI\/AAAAAAAAA6s\/E8cAaS39yzA\/s1600\/image_1.1.png\" border=\"0\"><\/a><\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\">For explaining all of the above task, I have created three things. These are &#8211;&nbsp;<\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\">&nbsp;<\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\"><b>1).<\/b> <i>I have created three client library named as <b>dependency<\/b>, <b>embedded &amp;<\/b>&nbsp;<b>main<\/b> under clientlibs folder.<\/i><\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\">&nbsp;<\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\"><b>2).<\/b> <i>I <b>created<\/b> a <b>page component<\/b> named as <b>clientLibInDetail<\/b>. This page component will use all of the above specified client libraries.<\/i><\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\">&nbsp;<\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\"><b>3).<\/b> <i>I also <b>created<\/b> a <b>template<\/b> named as <b>clientLibInDetail<\/b>. This template uses the above created page component.<\/i><\/span><\/div>\n<div style=\"text-align: justify;\">\n<p>&nbsp;<\/p>\n<\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\">Let&#8217;s start with the first property of client library folder i.e.<\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\">&nbsp;<\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\">&nbsp;<\/span><\/div>\n<div style=\"text-align: justify;\"><b><span style=\"color: #660000;\"><br \/>\n<\/span><\/b><b><span style=\"color: #660000;\"><br \/>\n<\/span><\/b><\/div>\n<div style=\"text-align: justify;\"><b><span style=\"color: #660000;\">Use of Categories :<\/span><\/b><span style=\"color: #274e13;\">&nbsp;<\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\">&nbsp;<\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\"><b><i>&#8220;This property defines to which category this set of CSS &amp; JS files belongs&#8221;<\/i><\/b>.&nbsp;<\/span><br \/>\n<span style=\"color: #274e13;\">i.e. If you define multiple values for this property then this set of JS &amp; CSS belongs to all of these defined categories &amp; wherever you use any of these category this set of JS &amp; CSS will be present there.<\/span><br \/>\n<span style=\"color: #274e13;\"><br \/>\n<\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\">If you define only one value for this property, there is no need to make it as String[], just define it as String property. It will work fine but if you want to give multiple value for this property then just define it as String[] and add as many values as you want.&nbsp;<\/span><span style=\"color: #274e13;\">In my case property set of these client libraries are &#8211;&nbsp;<\/span><\/div>\n<div style=\"text-align: justify;\"><b><i><span style=\"color: #274e13;\">&nbsp;<\/span><\/i><\/b><\/div>\n<div style=\"text-align: justify;\"><b><i><span style=\"color: #274e13;\">property for main.client&nbsp;<\/span><span style=\"color: #274e13;\">client library<\/span><\/i><\/b><\/div>\n<div style=\"clear: both; text-align: center;\"><a style=\"clear: left; float: left; margin-bottom: 1em; margin-right: 1em;\" href=\"http:\/\/4.bp.blogspot.com\/-_uJzID_DwLA\/VHw6XCgyttI\/AAAAAAAAA7E\/_7IGNO0M0KI\/s1600\/main_1.png\"><img decoding=\"async\" src=\"http:\/\/4.bp.blogspot.com\/-_uJzID_DwLA\/VHw6XCgyttI\/AAAAAAAAA7E\/_7IGNO0M0KI\/s1600\/main_1.png\" border=\"0\"><\/a><\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\">&nbsp;<\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\">&nbsp;<\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\">&nbsp;<\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\">&nbsp;<\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\">&nbsp;<\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\">&nbsp;<\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\">&nbsp;<\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\">&nbsp;<\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\">&nbsp;<\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\">&nbsp;<\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\">&nbsp;<\/span><\/div>\n<div style=\"text-align: justify;\"><b><i><span style=\"color: #274e13;\">property for dependency&nbsp;<\/span><span style=\"color: #274e13;\">client library<\/span><\/i><\/b><\/div>\n<div style=\"clear: both; text-align: center;\"><a style=\"clear: left; float: left; margin-bottom: 1em; margin-right: 1em;\" href=\"http:\/\/1.bp.blogspot.com\/-IJu5ISqi5kU\/VHw5xV_4oEI\/AAAAAAAAA68\/Nkg3GLMr8_I\/s1600\/dependency_1.png\"><img decoding=\"async\" src=\"http:\/\/1.bp.blogspot.com\/-IJu5ISqi5kU\/VHw5xV_4oEI\/AAAAAAAAA68\/Nkg3GLMr8_I\/s1600\/dependency_1.png\" border=\"0\"><\/a><\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\">&nbsp;<\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\">&nbsp;<\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\">&nbsp;<\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\">&nbsp;<\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\">&nbsp;<\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\">&nbsp;<\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\">&nbsp;<\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\">&nbsp;<\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\">&nbsp;<\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\"><b><i>property for embedded client library<\/i><\/b><\/span><\/div>\n<div style=\"clear: both; text-align: center;\"><a style=\"clear: left; float: left; margin-bottom: 1em; margin-right: 1em;\" href=\"http:\/\/3.bp.blogspot.com\/-Bpt3qIhyeG4\/VHw6qWiVByI\/AAAAAAAAA7U\/pk9vVuBLWfg\/s1600\/embedded_1.png\"><img decoding=\"async\" src=\"http:\/\/3.bp.blogspot.com\/-Bpt3qIhyeG4\/VHw6qWiVByI\/AAAAAAAAA7U\/pk9vVuBLWfg\/s1600\/embedded_1.png\" border=\"0\"><\/a><\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\">&nbsp;<\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\"><b><i>&nbsp;<\/i><\/b><\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\"><b><i>&nbsp;<\/i><\/b><\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\"><b><i>&nbsp;<\/i><\/b><\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\"><b><i>&nbsp;<\/i><\/b><\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\"><b><i>&nbsp;<\/i><\/b><\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\"><b><i>&nbsp;<\/i><\/b><\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\"><b><i>&nbsp;<\/i><\/b><\/span><\/div>\n<div style=\"text-align: justify;\"><b><span style=\"color: #660000;\"><i>Use of dependency Property:<\/i><\/span><\/b><\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\">&nbsp;<\/span><\/div>\n<div style=\"text-align: justify;\"><i><span style=\"color: #274e13;\">1). <b>It is multivalued property.<\/b><\/span><\/i><\/div>\n<div style=\"text-align: justify;\"><i><span style=\"color: #274e13;\">&nbsp;<\/span><\/i><\/div>\n<div style=\"text-align: justify;\"><i><span style=\"color: #274e13;\">2). <b>All categories defined in this property must be in the same order in which you want to load them. <\/b>i.e. if there are four client libs c1,c2,c3,c4 &amp; you want then to be loaded in c3,c2,c1,c4 sequence then just maintain the same order in this field so that these client libraries will be load in the same manner.<\/span><\/i><\/div>\n<div style=\"text-align: justify;\"><i><span style=\"color: #274e13;\">&nbsp;<\/span><\/i><\/div>\n<div style=\"text-align: justify;\"><i><span style=\"color: #274e13;\">3). <b>For every dependency property value there is a individual hit to the server for loading these categories<\/b> i.e. if you have four values in this property then 4 hits will be shown at debugging console network tab.<\/span><\/i><\/div>\n<div style=\"text-align: justify;\"><i><span style=\"color: #274e13;\">&nbsp;<\/span><\/i><\/div>\n<div style=\"text-align: justify;\"><i><span style=\"color: #274e13;\">4). When you see &nbsp;the source of your page using&nbsp;<\/span><\/i><i><span style=\"color: #274e13;\"><b>right click -&gt; view source<\/b><\/span><\/i><i><span style=\"color: #274e13;\">&nbsp;tab you will see same number of script tag will be&nbsp;generated as of values in this property. i.e<b> for 4 values there are four script tags for these values.<\/b><\/span><\/i><\/div>\n<div style=\"text-align: justify;\"><i><b>&nbsp;<\/b><\/i><\/div>\n<div style=\"text-align: justify;\"><b><span style=\"color: #660000;\"><i>Use of embed Property:<\/i><\/span><\/b><\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\">&nbsp;<\/span><\/div>\n<div style=\"text-align: justify;\"><i><span style=\"color: #274e13;\">1). <b>It is multivalued property.<\/b><\/span><\/i><\/div>\n<div style=\"text-align: justify;\"><i><span style=\"color: #274e13;\">&nbsp;<\/span><\/i><\/div>\n<div style=\"text-align: justify;\"><i><span style=\"color: #274e13;\">2). <\/span><\/i><i><span style=\"color: #274e13;\"><b>For all embed property value there is only one hit to the server for loading these categories<\/b> i.e. if you have four values in this property then only one combined hits will be shown at debugging console network tab.<\/span><\/i><\/div>\n<div style=\"text-align: justify;\"><i><span style=\"color: #274e13;\">&nbsp;<\/span><\/i><\/div>\n<div style=\"text-align: justify;\"><i><span style=\"color: #274e13;\">3).&nbsp;<\/span><\/i><i><span style=\"color: #274e13;\">When you see &nbsp;the source of your page using <b>right click -&gt; view source<\/b> tab you will see <b>only one script tag for all values in this property<\/b>. i.e if there are n values in this property only one script tag will be generated.<\/span><\/i><br \/>\n<i><span style=\"color: #274e13;\"><br \/>\n<\/span><\/i><\/div>\n<div style=\"text-align: justify;\"><i><span style=\"color: #274e13;\">4). <b>Using embed property means add code of all categories into one combined JS &amp; CSS file.<\/b> i.e. for 4 client libraries c1,c2,c3 &amp; c4 only one combined JS file with the name of parent client library name is created.<\/span><\/i><br \/>\n<span style=\"color: #274e13;\"><b><i><br \/>\n<\/i><\/b><\/span><span style=\"color: #274e13;\"><b><i>NOTE :<\/i> <\/b><i><b>Name of final JS file will be same as parent client lib name. i.e. main.js or main.min.js (if minified) option is clicked in HTML Service.<\/b><\/i><\/span><\/div>\n<div style=\"text-align: justify;\"><i><span style=\"color: #274e13;\"><br \/>\n<\/span><\/i><i><span style=\"color: #274e13;\">5).&nbsp;<\/span><\/i><i><span style=\"color: #274e13;\"><b>All categories defined in this property must be in the same order in which you want to add them in main client library.&nbsp;<\/b><\/span><\/i><i><span style=\"color: #274e13;\">i.e.&nbsp;<\/span><\/i><br \/>\n<i><span style=\"color: #274e13;\">if there are four client libs c1, c2, c3, c4 &amp; you want them to be added in c3, c2, c1, c4 sequence in main client library then just maintain the same order in this field so that these client libraries will be added in the same manner.&nbsp;<\/span><\/i><br \/>\n<i><span style=\"color: #274e13;\">i.e.<\/span><\/i><i style=\"text-align: left;\"><span style=\"color: #274e13;\">&nbsp;if you have embed property value in the given order with simple alert message.&nbsp;<\/span><\/i><i style=\"text-align: left;\"><span style=\"color: #274e13;\">c1, c2, c3, c4&nbsp;<\/span><\/i><i style=\"text-align: left;\"><span style=\"color: #274e13;\">then first c1 alert will be executed then c2 alert then c3 then c4 &amp; at the end main.client.lib JS file that embed these categories alert will be executed.<\/span><\/i><\/div>\n<div><i><span style=\"color: #274e13;\">&nbsp;<\/span><\/i><\/div>\n<div style=\"text-align: justify;\"><b><span style=\"color: #660000;\"><i>Use of channel Property:<\/i><\/span><\/b><br \/>\n<i><span style=\"color: #274e13;\"><br \/>\n<\/span><\/i><i><span style=\"color: #274e13;\">1).&nbsp;<b>It is multivalued property.<\/b><\/span><\/i><\/div>\n<div style=\"text-align: justify;\"><i><span style=\"color: #274e13;\">2).&nbsp;<b>It is used to some additional functionality for different channels<\/b>. For example :&nbsp;<\/span><\/i><br \/>\n<i><span style=\"color: #274e13;\">if you want to perform some JS functionality&nbsp;<\/span><\/i><i><span style=\"color: #274e13;\">only for<\/span><\/i><i><span style=\"color: #274e13;\">&nbsp;ie6 not for other browsers, or you want to add some CSS or JS for only touch UI. then this channel property comes into picture.<\/span><\/i><br \/>\n<i><span style=\"color: #274e13;\"><br \/>\n<\/span><\/i><br \/>\n<i><span style=\"color: #274e13;\">I will give you a demo for this property for this in my main client library just add channel property &amp; it&#8217;s values as &#8220;touch&#8221; as shown in figure &#8211;&nbsp;<\/span><\/i>&nbsp;<\/p>\n<div style=\"clear: both; text-align: center;\"><a style=\"clear: left; float: left; margin-bottom: 1em; margin-right: 1em;\" href=\"http:\/\/3.bp.blogspot.com\/-HrCVLC2SnlU\/VIBPRCl86FI\/AAAAAAAAA7s\/F7xr-xiOnoo\/s1600\/channels_1.png\"><img decoding=\"async\" src=\"http:\/\/3.bp.blogspot.com\/-HrCVLC2SnlU\/VIBPRCl86FI\/AAAAAAAAA7s\/F7xr-xiOnoo\/s1600\/channels_1.png\" border=\"0\"><\/a><\/div>\n<p><i><span style=\"color: #274e13;\">&nbsp;<\/span><\/i><\/p>\n<\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\">&nbsp;<\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\"><b><br \/>\n<\/b><\/span><span style=\"color: #274e13;\"><b><br \/>\n<\/b><\/span><span style=\"color: #274e13;\"><b><br \/>\n<\/b><\/span><span style=\"color: #274e13;\"><b><br \/>\n<\/b><\/span><span style=\"color: #274e13;\"><b><br \/>\n<\/b><\/span><span style=\"color: #274e13;\"><b><br \/>\n<\/b><\/span><span style=\"color: #274e13;\"><b><br \/>\n<\/b><\/span><span style=\"color: #274e13;\"><b><br \/>\n<\/b><\/span><span style=\"color: #274e13;\"><b><br \/>\n<\/b><\/span><span style=\"color: #274e13;\"><b><br \/>\n<\/b><\/span><span style=\"color: #274e13;\"><b>effect of adding this property is :-&nbsp;<\/b><\/span><br \/>\n<span style=\"color: #274e13;\">As I added this property to my main client library so the main.min.js or main.js will not be available for desktop system.<\/span><br \/>\n<span style=\"color: #274e13;\">i.e.<\/span><br \/>\n<span style=\"color: #274e13;\">I have added three alerts in these three client libs&nbsp;<\/span><span style=\"color: #274e13;\">as given below &#8211;<\/span><br \/>\n<span style=\"color: #274e13;\"><b><i>main.js &#8211; &#8221; Main js working fine&#8221;&nbsp;<\/i><\/b><\/span><br \/>\n<span style=\"color: #274e13;\"><b><i>dependency.js &#8211; &#8220;dependency is working fine&#8221;<\/i><\/b><\/span><br \/>\n<span style=\"color: #274e13;\"><b><i>embed.js &#8211; &#8220;embed is working fine&#8221;<\/i><\/b><\/span><br \/>\n<span style=\"color: #274e13;\"><br \/>\n<\/span><span style=\"color: #274e13;\">as embed is a part of main.min.js or main.js (if not minified) so you don&#8217;t get two alerts for main.js as well as for embed.js but for dependency.js, I will get an alert as it is not a part of main.min.js or main.js file.<\/span>&nbsp;<\/p>\n<p><b><span style=\"color: #660000;\"><i>Use Case for this property &#8211;&nbsp;<\/i><\/span><\/b><br \/>\n<b><i><span style=\"color: #274e13;\">If you want to achieve some functionality for touch only devices then just create two client libraries with same category name &amp; in first client lib add common code for all channels &amp; in second client lib use this property channels and set it&#8217;s value as touch. So that for touch devices both of these client libs are loaded and you will get your desired functionality. For non touch devices only first client lib is loaded as second have this channel property it will not be available here.<\/span><\/i><\/b><\/p>\n<p><span style=\"color: #274e13;\"><b>I have used four values for this property ie6, extjs, touch &amp; negation of these values.<\/b><\/span><br \/>\n<span style=\"color: #274e13;\"><b>Note:<\/b>&nbsp;<\/span><i><span style=\"color: #274e13;\">I have checked this functionality only for ie6, extjs, touch, !touch.&nbsp;<\/span><\/i><\/p>\n<\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\">&nbsp;<\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\"><b>AEM client lib debugger tool<\/b><\/span><br \/>\n<span style=\"color: #274e13;\">AEM provides a UI for debugging a tool for identifying all the JS, CSS &amp; themes related to a particular client lib. you can find it at &#8211;&nbsp;<\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\"><b><i>http:\/\/&lt;IP-Address&gt;:&lt;PORT&gt;\/libs\/granite\/ui\/content\/dumplibs.test.html in my case it is &#8211;<\/i><\/b><\/span><br \/>\n<span style=\"color: #274e13;\"><b><i>http:\/\/localhost:4502\/libs\/granite\/ui\/content\/dumplibs.test.html<\/i><\/b><\/span><br \/>\n<span style=\"color: #274e13;\">when you hit this URL you will see a screen where you can enter a client lib category name and it will show you How this client library CSS &amp; JS file will be available in different modes. As show in fig. &#8211;&nbsp;<\/span><br \/>\n<span style=\"color: #274e13;\"><br \/>\n<\/span>&nbsp;<\/p>\n<div style=\"clear: both; text-align: center;\"><a style=\"clear: left; float: left; margin-bottom: 1em; margin-right: 1em;\" href=\"http:\/\/2.bp.blogspot.com\/-V4gbw-rw-LI\/VIFCep_7CpI\/AAAAAAAAA78\/RIYUqA_Dusc\/s1600\/debug.png\"><img fetchpriority=\"high\" decoding=\"async\" src=\"http:\/\/2.bp.blogspot.com\/-V4gbw-rw-LI\/VIFCep_7CpI\/AAAAAAAAA78\/RIYUqA_Dusc\/s1600\/debug.png\" width=\"640\" height=\"358\" border=\"0\"><\/a><\/div>\n<p><span style=\"color: #274e13;\"><br \/>\n<\/span><span style=\"color: #274e13;\"><br \/>\n<\/span><\/p>\n<\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\"><br \/>\n<\/span><span style=\"color: #274e13;\"><br \/>\n<\/span><span style=\"color: #274e13;\"><br \/>\n<\/span><span style=\"color: #274e13;\"><br \/>\n<\/span><span style=\"color: #274e13;\"><br \/>\n<\/span><span style=\"color: #274e13;\"><br \/>\n<\/span><span style=\"color: #274e13;\"><br \/>\n<\/span><span style=\"color: #274e13;\"><br \/>\n<\/span><span style=\"color: #274e13;\"><br \/>\n<\/span><span style=\"color: #274e13;\"><br \/>\n<\/span><span style=\"color: #274e13;\"><br \/>\n<\/span><span style=\"color: #274e13;\"><br \/>\n<\/span><span style=\"color: #274e13;\"><br \/>\n<\/span><span style=\"color: #274e13;\"><br \/>\n<\/span><span style=\"color: #274e13;\"><br \/>\n<\/span><span style=\"color: #274e13;\"><br \/>\n<\/span><span style=\"color: #274e13;\"><br \/>\n<\/span><span style=\"color: #274e13;\"><br \/>\n<\/span><span style=\"color: #274e13;\"><br \/>\n<\/span><span style=\"color: #274e13;\">It will show which CSS files and which JS file are included in this category with there dependency file name as well as their embedded file name. Also show the channel value.<\/span><br \/>\n<span style=\"color: #274e13;\"><br \/>\n<\/span><b><i><span style=\"color: #660000;\">Adobe CQ HTML Library Manager Service configuration<\/span><\/i><\/b><br \/>\n<span style=\"color: #274e13;\"><br \/>\n<\/span><span style=\"color: #274e13;\"><b><i>Go to Felix console -&gt;&gt; Configuration tab -&gt; search for &#8220;HTML Manager Service&#8221;<\/i><\/b> yow will get a screen as &#8211;&nbsp;<\/span>&nbsp;<\/p>\n<div style=\"clear: both; text-align: center;\"><a style=\"clear: left; float: left; margin-bottom: 1em; margin-right: 1em;\" href=\"http:\/\/1.bp.blogspot.com\/-_WvhPNRhPpk\/VIFD1l81bpI\/AAAAAAAAA8I\/dsv4DyvgF4I\/s1600\/service.png\"><img decoding=\"async\" src=\"http:\/\/1.bp.blogspot.com\/-_WvhPNRhPpk\/VIFD1l81bpI\/AAAAAAAAA8I\/dsv4DyvgF4I\/s1600\/service.png\" width=\"640\" height=\"358\" border=\"0\"><\/a><\/div>\n<p><span style=\"color: #274e13;\"><br \/>\n<\/span><span style=\"color: #274e13;\"><br \/>\n<\/span><span style=\"color: #274e13;\"><br \/>\n<\/span><span style=\"color: #274e13;\"><br \/>\n<\/span><span style=\"color: #274e13;\"><br \/>\n<\/span><span style=\"color: #274e13;\"><br \/>\n<\/span><span style=\"color: #274e13;\"><br \/>\n<\/span><span style=\"color: #274e13;\"><br \/>\n<\/span><span style=\"color: #274e13;\"><br \/>\n<\/span><span style=\"color: #274e13;\"><br \/>\n<\/span><span style=\"color: #274e13;\"><br \/>\n<\/span><span style=\"color: #274e13;\"><br \/>\n<\/span><span style=\"color: #274e13;\"><br \/>\n<\/span><span style=\"color: #274e13;\"><br \/>\n<\/span><span style=\"color: #274e13;\"><br \/>\n<\/span><span style=\"color: #274e13;\"><br \/>\n<\/span><span style=\"color: #274e13;\"><br \/>\n<\/span><span style=\"color: #274e13;\"><br \/>\n<\/span><span style=\"color: #274e13;\"><br \/>\n<\/span><span style=\"color: #274e13;\"><br \/>\n<\/span><span style=\"color: #274e13;\"><br \/>\n<\/span><span style=\"color: #274e13;\">All properties are self explanatory.<\/span><br \/>\n<span style=\"color: #274e13;\"><br \/>\n<\/span><b><span style=\"color: #274e13;\">reference documentation &#8211;&nbsp;<\/span><\/b><br \/>\n<b><i style=\"background-color: white;\"><span style=\"color: #999999;\"><a href=\"http:\/\/docs.adobe.com\/docs\/en\/cq\/current\/developing\/clientlibs.html\">http:\/\/docs.adobe.com\/docs\/en\/cq\/current\/developing\/clientlibs.html<\/a><\/span><\/i><\/b><\/p>\n<div style=\"background-color: #eefff0; font-family: 'Times New Roman', Times, FreeSerif, serif; font-size: 15px; line-height: 21.559999465942383px;\"><b><span style=\"color: #660000;\">github repository link<\/span><\/b><\/div>\n<div style=\"background-color: #eefff0; font-family: 'Times New Roman', Times, FreeSerif, serif; font-size: 15px; line-height: 21.559999465942383px;\"><b><i><span style=\"color: #274e13;\"><a href=\"https:\/\/github.com\/vietankur009\/blog.git\">https:\/\/github.com\/vietankur009\/blog.git<\/a><\/span><\/i><\/b><\/div>\n<\/div>\n<\/div>\n<p>&nbsp;<\/p>\n<p><strong>Happy Coding<\/strong><br \/>\n<strong>Namah Shivay<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this post, I will explain client library in detail. i.e. In this post I will explain use of different [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2,96,98,100,97,33,99],"tags":[],"class_list":["post-28","post","type-post","status-publish","format-standard","hentry","category-aem","category-channel-property-in-clientlib-in-cq","category-client-library-in-aem","category-client-library-in-cq","category-client-library-in-detail","category-cq","category-embed-property-in-clientlib-in-cq"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.9 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>AEM Client Library in Detail - AEM Blog | Lhotse Technologies<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/lhotsetechnologies.com\/blog\/aem-client-library-in-detail\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"AEM Client Library in Detail - AEM Blog | Lhotse Technologies\" \/>\n<meta property=\"og:description\" content=\"In this post, I will explain client library in detail. i.e. In this post I will explain use of different [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/lhotsetechnologies.com\/blog\/aem-client-library-in-detail\/\" \/>\n<meta property=\"og:site_name\" content=\"AEM Blog | Lhotse Technologies\" \/>\n<meta property=\"article:published_time\" content=\"2014-12-05T06:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-09-19T13:10:05+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/2.bp.blogspot.com\/-HkmxyMuHP3E\/VHwzIvMOkgI\/AAAAAAAAA6s\/E8cAaS39yzA\/s1600\/image_1.1.png\" \/>\n<meta name=\"author\" content=\"Team Lhotse\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Team Lhotse\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/lhotsetechnologies.com\/blog\/aem-client-library-in-detail\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/lhotsetechnologies.com\/blog\/aem-client-library-in-detail\/\"},\"author\":{\"name\":\"Team Lhotse\",\"@id\":\"https:\/\/lhotsetechnologies.com\/blog\/#\/schema\/person\/fd7bee89b050d7c7195fc75b681b053d\"},\"headline\":\"AEM Client Library in Detail\",\"datePublished\":\"2014-12-05T06:00:00+00:00\",\"dateModified\":\"2019-09-19T13:10:05+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/lhotsetechnologies.com\/blog\/aem-client-library-in-detail\/\"},\"wordCount\":1378,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/lhotsetechnologies.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/lhotsetechnologies.com\/blog\/aem-client-library-in-detail\/#primaryimage\"},\"thumbnailUrl\":\"http:\/\/2.bp.blogspot.com\/-HkmxyMuHP3E\/VHwzIvMOkgI\/AAAAAAAAA6s\/E8cAaS39yzA\/s1600\/image_1.1.png\",\"articleSection\":[\"AEM\",\"channel property in clientlib in cq\",\"client library in aem\",\"client library in cq\",\"client library in detail\",\"CQ\",\"embed property in clientlib in cq\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/lhotsetechnologies.com\/blog\/aem-client-library-in-detail\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/lhotsetechnologies.com\/blog\/aem-client-library-in-detail\/\",\"url\":\"https:\/\/lhotsetechnologies.com\/blog\/aem-client-library-in-detail\/\",\"name\":\"AEM Client Library in Detail - AEM Blog | Lhotse Technologies\",\"isPartOf\":{\"@id\":\"https:\/\/lhotsetechnologies.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/lhotsetechnologies.com\/blog\/aem-client-library-in-detail\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/lhotsetechnologies.com\/blog\/aem-client-library-in-detail\/#primaryimage\"},\"thumbnailUrl\":\"http:\/\/2.bp.blogspot.com\/-HkmxyMuHP3E\/VHwzIvMOkgI\/AAAAAAAAA6s\/E8cAaS39yzA\/s1600\/image_1.1.png\",\"datePublished\":\"2014-12-05T06:00:00+00:00\",\"dateModified\":\"2019-09-19T13:10:05+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/lhotsetechnologies.com\/blog\/aem-client-library-in-detail\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/lhotsetechnologies.com\/blog\/aem-client-library-in-detail\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/lhotsetechnologies.com\/blog\/aem-client-library-in-detail\/#primaryimage\",\"url\":\"http:\/\/2.bp.blogspot.com\/-HkmxyMuHP3E\/VHwzIvMOkgI\/AAAAAAAAA6s\/E8cAaS39yzA\/s1600\/image_1.1.png\",\"contentUrl\":\"http:\/\/2.bp.blogspot.com\/-HkmxyMuHP3E\/VHwzIvMOkgI\/AAAAAAAAA6s\/E8cAaS39yzA\/s1600\/image_1.1.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/lhotsetechnologies.com\/blog\/aem-client-library-in-detail\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/lhotsetechnologies.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"AEM Client Library in Detail\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/lhotsetechnologies.com\/blog\/#website\",\"url\":\"https:\/\/lhotsetechnologies.com\/blog\/\",\"name\":\"AEM Blog | Lhotse Technologies\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/lhotsetechnologies.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/lhotsetechnologies.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/lhotsetechnologies.com\/blog\/#organization\",\"name\":\"AEM Blog | Lhotse Technologies\",\"url\":\"https:\/\/lhotsetechnologies.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/lhotsetechnologies.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/lhotsetechnologies.com\/blog\/wp-content\/uploads\/2019\/07\/lhotse-logo.png\",\"contentUrl\":\"https:\/\/lhotsetechnologies.com\/blog\/wp-content\/uploads\/2019\/07\/lhotse-logo.png\",\"width\":539,\"height\":172,\"caption\":\"AEM Blog | Lhotse Technologies\"},\"image\":{\"@id\":\"https:\/\/lhotsetechnologies.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/lhotsetechnologies.com\/blog\/#\/schema\/person\/fd7bee89b050d7c7195fc75b681b053d\",\"name\":\"Team Lhotse\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/lhotsetechnologies.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/?s=96&d=mm&r=g\",\"caption\":\"Team Lhotse\"},\"url\":\"https:\/\/lhotsetechnologies.com\/blog\/author\/team-lhotse\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"AEM Client Library in Detail - AEM Blog | Lhotse Technologies","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:\/\/lhotsetechnologies.com\/blog\/aem-client-library-in-detail\/","og_locale":"en_US","og_type":"article","og_title":"AEM Client Library in Detail - AEM Blog | Lhotse Technologies","og_description":"In this post, I will explain client library in detail. i.e. In this post I will explain use of different [&hellip;]","og_url":"https:\/\/lhotsetechnologies.com\/blog\/aem-client-library-in-detail\/","og_site_name":"AEM Blog | Lhotse Technologies","article_published_time":"2014-12-05T06:00:00+00:00","article_modified_time":"2019-09-19T13:10:05+00:00","og_image":[{"url":"http:\/\/2.bp.blogspot.com\/-HkmxyMuHP3E\/VHwzIvMOkgI\/AAAAAAAAA6s\/E8cAaS39yzA\/s1600\/image_1.1.png","type":"","width":"","height":""}],"author":"Team Lhotse","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Team Lhotse","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/lhotsetechnologies.com\/blog\/aem-client-library-in-detail\/#article","isPartOf":{"@id":"https:\/\/lhotsetechnologies.com\/blog\/aem-client-library-in-detail\/"},"author":{"name":"Team Lhotse","@id":"https:\/\/lhotsetechnologies.com\/blog\/#\/schema\/person\/fd7bee89b050d7c7195fc75b681b053d"},"headline":"AEM Client Library in Detail","datePublished":"2014-12-05T06:00:00+00:00","dateModified":"2019-09-19T13:10:05+00:00","mainEntityOfPage":{"@id":"https:\/\/lhotsetechnologies.com\/blog\/aem-client-library-in-detail\/"},"wordCount":1378,"commentCount":0,"publisher":{"@id":"https:\/\/lhotsetechnologies.com\/blog\/#organization"},"image":{"@id":"https:\/\/lhotsetechnologies.com\/blog\/aem-client-library-in-detail\/#primaryimage"},"thumbnailUrl":"http:\/\/2.bp.blogspot.com\/-HkmxyMuHP3E\/VHwzIvMOkgI\/AAAAAAAAA6s\/E8cAaS39yzA\/s1600\/image_1.1.png","articleSection":["AEM","channel property in clientlib in cq","client library in aem","client library in cq","client library in detail","CQ","embed property in clientlib in cq"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/lhotsetechnologies.com\/blog\/aem-client-library-in-detail\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/lhotsetechnologies.com\/blog\/aem-client-library-in-detail\/","url":"https:\/\/lhotsetechnologies.com\/blog\/aem-client-library-in-detail\/","name":"AEM Client Library in Detail - AEM Blog | Lhotse Technologies","isPartOf":{"@id":"https:\/\/lhotsetechnologies.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/lhotsetechnologies.com\/blog\/aem-client-library-in-detail\/#primaryimage"},"image":{"@id":"https:\/\/lhotsetechnologies.com\/blog\/aem-client-library-in-detail\/#primaryimage"},"thumbnailUrl":"http:\/\/2.bp.blogspot.com\/-HkmxyMuHP3E\/VHwzIvMOkgI\/AAAAAAAAA6s\/E8cAaS39yzA\/s1600\/image_1.1.png","datePublished":"2014-12-05T06:00:00+00:00","dateModified":"2019-09-19T13:10:05+00:00","breadcrumb":{"@id":"https:\/\/lhotsetechnologies.com\/blog\/aem-client-library-in-detail\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/lhotsetechnologies.com\/blog\/aem-client-library-in-detail\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/lhotsetechnologies.com\/blog\/aem-client-library-in-detail\/#primaryimage","url":"http:\/\/2.bp.blogspot.com\/-HkmxyMuHP3E\/VHwzIvMOkgI\/AAAAAAAAA6s\/E8cAaS39yzA\/s1600\/image_1.1.png","contentUrl":"http:\/\/2.bp.blogspot.com\/-HkmxyMuHP3E\/VHwzIvMOkgI\/AAAAAAAAA6s\/E8cAaS39yzA\/s1600\/image_1.1.png"},{"@type":"BreadcrumbList","@id":"https:\/\/lhotsetechnologies.com\/blog\/aem-client-library-in-detail\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/lhotsetechnologies.com\/blog\/"},{"@type":"ListItem","position":2,"name":"AEM Client Library in Detail"}]},{"@type":"WebSite","@id":"https:\/\/lhotsetechnologies.com\/blog\/#website","url":"https:\/\/lhotsetechnologies.com\/blog\/","name":"AEM Blog | Lhotse Technologies","description":"","publisher":{"@id":"https:\/\/lhotsetechnologies.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/lhotsetechnologies.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/lhotsetechnologies.com\/blog\/#organization","name":"AEM Blog | Lhotse Technologies","url":"https:\/\/lhotsetechnologies.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/lhotsetechnologies.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/lhotsetechnologies.com\/blog\/wp-content\/uploads\/2019\/07\/lhotse-logo.png","contentUrl":"https:\/\/lhotsetechnologies.com\/blog\/wp-content\/uploads\/2019\/07\/lhotse-logo.png","width":539,"height":172,"caption":"AEM Blog | Lhotse Technologies"},"image":{"@id":"https:\/\/lhotsetechnologies.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/lhotsetechnologies.com\/blog\/#\/schema\/person\/fd7bee89b050d7c7195fc75b681b053d","name":"Team Lhotse","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/lhotsetechnologies.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/?s=96&d=mm&r=g","caption":"Team Lhotse"},"url":"https:\/\/lhotsetechnologies.com\/blog\/author\/team-lhotse\/"}]}},"_links":{"self":[{"href":"https:\/\/lhotsetechnologies.com\/blog\/wp-json\/wp\/v2\/posts\/28","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lhotsetechnologies.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/lhotsetechnologies.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/lhotsetechnologies.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/lhotsetechnologies.com\/blog\/wp-json\/wp\/v2\/comments?post=28"}],"version-history":[{"count":2,"href":"https:\/\/lhotsetechnologies.com\/blog\/wp-json\/wp\/v2\/posts\/28\/revisions"}],"predecessor-version":[{"id":567,"href":"https:\/\/lhotsetechnologies.com\/blog\/wp-json\/wp\/v2\/posts\/28\/revisions\/567"}],"wp:attachment":[{"href":"https:\/\/lhotsetechnologies.com\/blog\/wp-json\/wp\/v2\/media?parent=28"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lhotsetechnologies.com\/blog\/wp-json\/wp\/v2\/categories?post=28"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lhotsetechnologies.com\/blog\/wp-json\/wp\/v2\/tags?post=28"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}