<?xml version="1.0"?>
<oembed><version>1.0</version><provider_name>Cloudinary Blog</provider_name><provider_url>https://cloudinary.com/blog</provider_url><title>Generate Custom Art with React</title><type>rich</type><width>600</width><height>338</height><html>&lt;blockquote class="wp-embedded-content" data-secret="VKT9o3C9gG"&gt;&lt;a href="https://cloudinary.com/blog/guest_post/generate-custom-art-with-react/"&gt;Generate Custom Art with React&lt;/a&gt;&lt;/blockquote&gt;&lt;iframe sandbox="allow-scripts" security="restricted" src="https://cloudinary.com/blog/guest_post/generate-custom-art-with-react/embed#?secret=VKT9o3C9gG" width="600" height="338" title="&#x201C;Generate Custom Art with React&#x201D; &#x2014; Cloudinary Blog" data-secret="VKT9o3C9gG" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" class="wp-embedded-content"&gt;&lt;/iframe&gt;&lt;script type="text/javascript"&gt;
/* &lt;![CDATA[ */
/*! This file is auto-generated */
!function(d,l){"use strict";l.querySelector&amp;&amp;d.addEventListener&amp;&amp;"undefined"!=typeof URL&amp;&amp;(d.wp=d.wp||{},d.wp.receiveEmbedMessage||(d.wp.receiveEmbedMessage=function(e){var t=e.data;if((t||t.secret||t.message||t.value)&amp;&amp;!/[^a-zA-Z0-9]/.test(t.secret)){for(var s,r,n,a=l.querySelectorAll('iframe[data-secret="'+t.secret+'"]'),o=l.querySelectorAll('blockquote[data-secret="'+t.secret+'"]'),c=new RegExp("^https?:$","i"),i=0;i&lt;o.length;i++)o[i].style.display="none";for(i=0;i&lt;a.length;i++)s=a[i],e.source===s.contentWindow&amp;&amp;(s.removeAttribute("style"),"height"===t.message?(1e3&lt;(r=parseInt(t.value,10))?r=1e3:~~r&lt;200&amp;&amp;(r=200),s.height=r):"link"===t.message&amp;&amp;(r=new URL(s.getAttribute("src")),n=new URL(t.value),c.test(n.protocol))&amp;&amp;n.host===r.host&amp;&amp;l.activeElement===s&amp;&amp;(d.top.location.href=t.value))}},d.addEventListener("message",d.wp.receiveEmbedMessage,!1),l.addEventListener("DOMContentLoaded",function(){for(var e,t,s=l.querySelectorAll("iframe.wp-embedded-content"),r=0;r&lt;s.length;r++)(t=(e=s[r]).getAttribute("data-secret"))||(t=Math.random().toString(36).substring(2,12),e.src+="#?secret="+t,e.setAttribute("data-secret",t)),e.contentWindow.postMessage({message:"ready",secret:t},"*")},!1)))}(window,document);
/* ]]&gt; */
&lt;/script&gt;
</html><thumbnail_url>https://res.cloudinary.com/cloudinary-marketing/images/f_auto,q_auto/v1681924886/Web_Assets/blog/ec6325f1ba87dba61fdfd8bf3ddc3e16fe082eda-6000x4000-1_28299b91e9/ec6325f1ba87dba61fdfd8bf3ddc3e16fe082eda-6000x4000-1_28299b91e9.jpg?_i=AA&w=600</thumbnail_url><thumbnail_width>600</thumbnail_width><thumbnail_height>400</thumbnail_height><description>There is beauty in data even though we don't get to see it often. If you're wanting to learn how to make data visualizations with d3.js, let's start by making simple art.</description><author_url>https://cloudinary.com/blog/author/milecia</author_url><author_name>Milecia</author_name></oembed>
