<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Ezequiel_Caste</title>
    <description>The latest articles on DEV Community by Ezequiel_Caste (@ezequiel_caste).</description>
    <link>https://dev.to/ezequiel_caste</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F199657%2F6b86d886-8185-4222-aa32-803320a7748a.jpg</url>
      <title>DEV Community: Ezequiel_Caste</title>
      <link>https://dev.to/ezequiel_caste</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ezequiel_caste"/>
    <language>en</language>
    <item>
      <title>Color generator 🎨 </title>
      <dc:creator>Ezequiel_Caste</dc:creator>
      <pubDate>Wed, 04 Aug 2021 00:27:05 +0000</pubDate>
      <link>https://dev.to/ezequiel_caste/color-generator-jjh</link>
      <guid>https://dev.to/ezequiel_caste/color-generator-jjh</guid>
      <description>&lt;p&gt;If you ever want to build a color generator app please don't try to reinvent the wheel. There are many npm packages to help and assist you and most importantly, save you a lot of time. Sometimes it can be good practice to write your own script but don't let it get too complicated.&lt;/p&gt;

&lt;p&gt;I found an interesting package called &lt;strong&gt;&lt;a href="https://noeldelgado.github.io/values.js/"&gt;values.js&lt;/a&gt;&lt;/strong&gt; that provides us with tints and shades of a given color. Before I discovered this package I was going crazy converting colors from HEX to RGB and later to HSL, wasting time when I could have done a simple google search for: "npm color shades and tints"&lt;/p&gt;

&lt;h2&gt;
  
  
  Installation
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install &lt;/span&gt;values.js &lt;span class="nt"&gt;--save&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Usage
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;Values&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;values.js&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;color&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nx"&gt;Values&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;#aaa&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="c1"&gt;// Generate the tints and shades of the base color as specified by weight 10.&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;color&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;all&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For my case of the Color Generator, I needed 10 tints (lighter) and 10 shades (darker). The all() method returns an array of color objects. Each object contains several useful properties such as weight, type, and rgbString, but for this particular case, I used the hex string to extract the HEX color code and the weight to represent the percentage of light/darkness.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--DZTmss7l--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.imgur.com/mlMGZTf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--DZTmss7l--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.imgur.com/mlMGZTf.png" alt="https://i.imgur.com/mlMGZTf.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Next Step: Copy to Clipboard
&lt;/h2&gt;

&lt;p&gt;Let's add some additional functionality to this app by allowing the user to copy a color to their clipboard. Be careful 🚧 You may come across&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;execCommand&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;but this method is &lt;strong&gt;deprecated&lt;/strong&gt;. The alternative to use is &lt;a href="https://developer.mozilla.org/en-US/docs/Web/API/Clipboard_API"&gt;Clipboard API&lt;/a&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="nb"&gt;navigator&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;clipboard&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;writeText&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;text to copy&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Remember to change the style of the color divs so that it shows it can be clicked on (hint: cursor: pointer).&lt;/p&gt;

&lt;p&gt;Now the tricky part is showing a message to the user that the color code has been copied to their clipboard. This message should only appear for a couple of seconds, and it will have to disappear. Here I used the setTimeout method that will hide the message after 2 seconds:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;showMessage&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;string&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="c1"&gt;// show message&lt;/span&gt;
  &lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;getElementById&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;id&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nx"&gt;setAttribute&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;style&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;display: block&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="nb"&gt;navigator&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;clipboard&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;writeText&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;`#&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;id&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;`&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="c1"&gt;// wait 1 sec&lt;/span&gt;
  &lt;span class="c1"&gt;// hide message&lt;/span&gt;
  &lt;span class="nx"&gt;setTimeout&lt;/span&gt;&lt;span class="p"&gt;(()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;getElementById&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;id&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nx"&gt;setAttribute&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;style&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;display: none&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt; &lt;span class="mi"&gt;2000&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;};&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The &lt;code&gt;id&lt;/code&gt; parameter is the HEX Color String and is included in each of the color divs:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;p&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"{color.hex}"&lt;/span&gt; &lt;span class="na"&gt;className=&lt;/span&gt;&lt;span class="s"&gt;"color-box-copy"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;COPIED TO CLIPBOARD&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  Live Color Generator: &lt;a href="https://color-generator-drab.vercel.app/"&gt;https://color-generator-drab.vercel.app/&lt;/a&gt;
&lt;/h3&gt;

&lt;h3&gt;
  
  
  Find the code on GitHub: &lt;a href="https://github.com/EzequielCaste/react-projects/tree/main/color-generator"&gt;https://github.com/EzequielCaste/react-projects/tree/main/color-generator&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--gGhFtF_1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.imgur.com/4ziuHGk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--gGhFtF_1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.imgur.com/4ziuHGk.png" alt="https://i.imgur.com/4ziuHGk.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Good luck! 🥳&lt;/p&gt;




&lt;h3&gt;
  
  
  Credits &amp;amp; References
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://developer.mozilla.org/en-US/docs/Web/API/Clipboard_API"&gt;https://developer.mozilla.org/en-US/docs/Web/API/Clipboard_API&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://noeldelgado.github.io/values.js/"&gt;https://noeldelgado.github.io/values.js/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>css</category>
      <category>webdev</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Check your head 🤔</title>
      <dc:creator>Ezequiel_Caste</dc:creator>
      <pubDate>Mon, 14 Jun 2021 13:54:18 +0000</pubDate>
      <link>https://dev.to/ezequiel_caste/check-your-head-3f3b</link>
      <guid>https://dev.to/ezequiel_caste/check-your-head-3f3b</guid>
      <description>&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs74iw2hfysqgzqyztt2k.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs74iw2hfysqgzqyztt2k.jpg" alt="Check your head"&gt;&lt;/a&gt;&lt;br&gt;
There are many steps to follow when designing and building a webpage, choosing a color scheme, determining which technologies to use, which hosting site, domain name, etc. That is why it is important to plan &lt;em&gt;before&lt;/em&gt; you start writing any line of code. But sometimes we're in a hurry, we want to build a quick webpage and get it uploaded fast. This is where &lt;strong&gt;mistakes&lt;/strong&gt; are made. Like the saying goes:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;errare humanum est&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;To err is human, we as humans will make mistakes, it is better to plan ahead and prevent them in the first place. Sometimes we focus so much on the design and functionality of a website that we forget to check if our &lt;code&gt;&amp;lt;head&amp;gt;&lt;/code&gt; contain the basic recommended &lt;code&gt;&amp;lt;meta&amp;gt;&lt;/code&gt; elements.&lt;/p&gt;

&lt;p&gt;So what's the problem? No problem at all... This just goes to say that it's ok to make mistakes, we all do, Trainees. Juniors, Seniors and even those &lt;strong&gt;&lt;a href="https://media1.tenor.com/images/b3afd78db54dccbe7b3785e59dd45d3d/tenor.gif" rel="noopener noreferrer"&gt;LVL +9000&lt;/a&gt;&lt;/strong&gt;. You're not the only one. Take a deep breath, relax, do some Google researching about the error, read some documentation or ask a fellow developer for help.&lt;/p&gt;



&lt;p&gt;Let's get back to the main topic of this post, checking your &lt;strong&gt;&lt;/strong&gt; so that it has all the right metadata.&lt;/p&gt;
&lt;h2&gt;
  
  
  What are meta tags?
&lt;/h2&gt;

&lt;p&gt;Meta tags are fragments of text content that provide an outline or summary of the webpage. The &lt;code&gt;&amp;lt;meta&amp;gt;&lt;/code&gt; tag defines metadata about an HTML document. Metadata is data (information) about data.&lt;/p&gt;
&lt;h2&gt;
  
  
  Why are meta tags important?
&lt;/h2&gt;

&lt;p&gt;The information provided in the meta tags will appear in search results and when someone shares a link to your site on social media or in chats.&lt;/p&gt;
&lt;h2&gt;
  
  
  What metadata should you include?
&lt;/h2&gt;
&lt;h3&gt;
  
  
  Charset
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;charset=&lt;/span&gt;&lt;span class="s"&gt;"utf-8"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;This element specifies the document's character encoding.&lt;/p&gt;
&lt;h3&gt;
  
  
  Viewport
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"viewport"&lt;/span&gt; &lt;span class="na"&gt;content=&lt;/span&gt;&lt;span class="s"&gt;"width=device-width, initial-scale=1.0"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;The viewport is the user's visible area of a web page. Set the viewport to make your website look good on all devices.&lt;/p&gt;
&lt;h3&gt;
  
  
  Title
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;title&amp;gt;&lt;/span&gt;Ezequiel Castellanos | Front-end Developer&lt;span class="nt"&gt;&amp;lt;/title&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;The title element represents the title of the HTML document (not the content).&lt;/p&gt;
&lt;h3&gt;
  
  
  Author &amp;amp; Description
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"author"&lt;/span&gt; &lt;span class="na"&gt;content=&lt;/span&gt;&lt;span class="s"&gt;"Ezequiel Castellanos"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"description"&lt;/span&gt; &lt;span class="na"&gt;content=&lt;/span&gt;&lt;span class="s"&gt;"Personal website and Blog"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;These two elements specify the author and provide a brief description of the page.&lt;/p&gt;


&lt;h2&gt;
  
  
  Open Graph Protocol (og)
&lt;/h2&gt;

&lt;p&gt;Facebook invented the Open Graph protocol to provide more metadata for our websites to display when we share a link in social media. The link will now appear along with an image and description, much more captivating than a simple word link.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt;
  &lt;span class="na"&gt;property=&lt;/span&gt;&lt;span class="s"&gt;"og:title"&lt;/span&gt;
  &lt;span class="na"&gt;content=&lt;/span&gt;&lt;span class="s"&gt;"Ezequiel Castellanos | Front-end Developer"&lt;/span&gt;
&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;property=&lt;/span&gt;&lt;span class="s"&gt;"og:type"&lt;/span&gt; &lt;span class="na"&gt;content=&lt;/span&gt;&lt;span class="s"&gt;"website"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt;
  &lt;span class="na"&gt;property=&lt;/span&gt;&lt;span class="s"&gt;"og:image"&lt;/span&gt;
  &lt;span class="na"&gt;content=&lt;/span&gt;&lt;span class="s"&gt;"https://avatars.githubusercontent.com/u/51804994?s=400&amp;amp;amp;u=efe88c4acafeb4fe560f666482b1454dca508408&amp;amp;amp;v=4"&lt;/span&gt;
&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;property=&lt;/span&gt;&lt;span class="s"&gt;"og:url"&lt;/span&gt; &lt;span class="na"&gt;content=&lt;/span&gt;&lt;span class="s"&gt;"https://ezecastellanos.com.ar"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;

&lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;property=&lt;/span&gt;&lt;span class="s"&gt;"og:site_name"&lt;/span&gt; &lt;span class="na"&gt;content=&lt;/span&gt;&lt;span class="s"&gt;"Ezequiel Castellanos"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;property=&lt;/span&gt;&lt;span class="s"&gt;"og:description"&lt;/span&gt; &lt;span class="na"&gt;content=&lt;/span&gt;&lt;span class="s"&gt;"Personal Website and Blog"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.imgur.com%2FnNzxwqT.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.imgur.com%2FnNzxwqT.png" alt="Preview of how a link to a blog post would look like if posted on Facebook"&gt;&lt;/a&gt;&lt;em&gt;Preview of how a link to a blog post would look like if posted on Facebook&lt;/em&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Twitter Cards
&lt;/h2&gt;

&lt;p&gt;Similar to Open Graph Data, Twitter Cards allows you to attach images and description to Tweets.&lt;/p&gt;

&lt;p&gt;Whenever a user Tweets a link to your content, the tweet will include a “Card” that will be visible to their followers.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"twitter:card"&lt;/span&gt; &lt;span class="na"&gt;content=&lt;/span&gt;&lt;span class="s"&gt;"summary"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"twitter:site"&lt;/span&gt; &lt;span class="na"&gt;content=&lt;/span&gt;&lt;span class="s"&gt;"@Ezequiel_Caste"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"twitter:creator"&lt;/span&gt; &lt;span class="na"&gt;content=&lt;/span&gt;&lt;span class="s"&gt;"@Ezequiel_Caste"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"twitter:title"&lt;/span&gt; &lt;span class="na"&gt;content=&lt;/span&gt;&lt;span class="s"&gt;"Ezequiel Castellanos"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"twitter:description"&lt;/span&gt; &lt;span class="na"&gt;content=&lt;/span&gt;&lt;span class="s"&gt;"Personal Website and Blog"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"twitter:url"&lt;/span&gt; &lt;span class="na"&gt;content=&lt;/span&gt;&lt;span class="s"&gt;"https://ezecastellanos.com.ar"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt;
  &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"twitter:image"&lt;/span&gt;
  &lt;span class="na"&gt;content=&lt;/span&gt;&lt;span class="s"&gt;"https://avatars.githubusercontent.com/u/51804994?s=400&amp;amp;amp;u=efe88c4acafeb4fe560f666482b1454dca508408&amp;amp;amp;v=4"&lt;/span&gt;
&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.imgur.com%2FETaYiMN.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.imgur.com%2FETaYiMN.png" alt="Preview of a Twitter Card for a blog post"&gt;&lt;/a&gt;&lt;em&gt;Preview of a Twitter Card for a blog post&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Once your twitter card tags are up and running you can use &lt;a href="https://cards-dev.twitter.com/validator" rel="noopener noreferrer"&gt;this validator&lt;/a&gt; to check-out how it would look. The validator checks for the correct tags and gives you this message if everything went ok:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;INFO&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="err"&gt; &lt;/span&gt;&lt;span class="nx"&gt;Page&lt;/span&gt; &lt;span class="nx"&gt;fetched&lt;/span&gt; &lt;span class="nx"&gt;successfully&lt;/span&gt;
&lt;span class="nx"&gt;INFO&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="err"&gt; &lt;/span&gt;&lt;span class="mi"&gt;24&lt;/span&gt; &lt;span class="nx"&gt;metatags&lt;/span&gt; &lt;span class="nx"&gt;were&lt;/span&gt; &lt;span class="nx"&gt;found&lt;/span&gt;
&lt;span class="nx"&gt;INFO&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt; &lt;span class="nx"&gt;twitter&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="nx"&gt;card&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;summary&lt;/span&gt; &lt;span class="nx"&gt;tag&lt;/span&gt; &lt;span class="nx"&gt;found&lt;/span&gt;
&lt;span class="nx"&gt;INFO&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="err"&gt; &lt;/span&gt;&lt;span class="nx"&gt;Card&lt;/span&gt; &lt;span class="nx"&gt;loaded&lt;/span&gt; &lt;span class="nx"&gt;successfully&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Favicons
&lt;/h2&gt;

&lt;p&gt;This is the icon that will appear in the user's Bookmark or Favorites in their browser.&lt;/p&gt;

&lt;p&gt;Adding your favicon to the &lt;/p&gt; of your site:&lt;br&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;link&lt;/span&gt; &lt;span class="na"&gt;rel=&lt;/span&gt;&lt;span class="s"&gt;"shortcut icon"&lt;/span&gt; &lt;span class="na"&gt;href=&lt;/span&gt;&lt;span class="s"&gt;"favicon.ico"&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"image/x-icon"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;I highly recommend using &lt;a href="https://realfavicongenerator.net/" rel="noopener noreferrer"&gt;https://realfavicongenerator.net/&lt;/a&gt; you only have to upload the image you want to use as favicon and the site automatically generates the meta tags and provides a zip file with all the necessary icon files of different sizes.&lt;/p&gt;

&lt;p&gt;Don't have a favicon yet? You can make your own icon with &lt;a href="https://www.canva.com/" rel="noopener noreferrer"&gt;https://www.canva.com/&lt;/a&gt; It's really easy, mine only took 10 minutes to design.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.imgur.com%2FiARANcZ.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.imgur.com%2FiARANcZ.png" alt="Original design made with Canva"&gt;&lt;/a&gt;&lt;em&gt;Original design made with Canva&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.imgur.com%2FseU1bKt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.imgur.com%2FseU1bKt.png" title="TITLE" alt="Favicon appears to the left of your webpage title."&gt;&lt;/a&gt;&lt;em&gt;Favicon appears to the left of your webpage title.&lt;/em&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Check your &lt;code&gt;&amp;lt;head&amp;gt;&lt;/code&gt;
&lt;/h2&gt;

&lt;p&gt;Once you have your meta tags, open graph, twitter card and favicon included in your webpage, you can verify how the links to your site will appear in search engines and social media posts. Check your URL with this site:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://metatags.io/" rel="noopener noreferrer"&gt;Meta Tags - Preview, Edit and Generate&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This site will also generate all the required meta tags in case you missed any.&lt;/p&gt;

&lt;p&gt;Good luck! 🥳&lt;/p&gt;




&lt;h3&gt;
  
  
  Credits &amp;amp; References
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://www.w3schools.com/tags/tag_meta.asp" rel="noopener noreferrer"&gt;Meta Tag&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://developer.mozilla.org/en-US/docs/Learn/HTML/Introduction_to_HTML/The_head_metadata_in_HTML" rel="noopener noreferrer"&gt;The_head_metadata_in_HTML&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://developer.twitter.com/en/docs/twitter-for-websites/cards/overview/markup" rel="noopener noreferrer"&gt;Twitter Cards&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://ogp.me/" rel="noopener noreferrer"&gt;https://ogp.me/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://metatags.io/" rel="noopener noreferrer"&gt;https://metatags.io/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://realfavicongenerator.net/" rel="noopener noreferrer"&gt;https://realfavicongenerator.net/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.canva.com/" rel="noopener noreferrer"&gt;https://www.canva.com/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>metadata</category>
      <category>metatags</category>
      <category>head</category>
      <category>html</category>
    </item>
    <item>
      <title>Scriba's Weekly Web Dev Challenge</title>
      <dc:creator>Ezequiel_Caste</dc:creator>
      <pubDate>Wed, 06 Jan 2021 15:06:37 +0000</pubDate>
      <link>https://dev.to/ezequiel_caste/scriba-s-weekly-web-dev-challenge-531b</link>
      <guid>https://dev.to/ezequiel_caste/scriba-s-weekly-web-dev-challenge-531b</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--6lsVIYSo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/aqkcpa4krd16pmnzf6e0.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--6lsVIYSo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/aqkcpa4krd16pmnzf6e0.jpg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Like solving challenges? Love working with HTML, CSS and JavaScript? Scriba has got you covered:&lt;/p&gt;

&lt;p&gt;Get a coding challenge in your inbox every Wednesday. Free of charge.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://weeklychallenge.scrimba.com/"&gt;Sign up here.&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Don't forget to share your solution on Twitter with the hashtag &lt;strong&gt;&lt;a href="https://twitter.com/search?q=%23WeeklyWebDevChallenge&amp;amp;src=typeahead_click&amp;amp;f=live"&gt;#WeeklyWebDevChallenge&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  My Solutions to the Weekly Web Dev Challenges:
&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://scrimba.com/scrim/co3864da3872e71686699c3d7"&gt;Short Changed&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://scrimba.com/scrim/co3864da3872e71686699c3d7"&gt;Magic Squares&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://scrimba.com/scrim/coba54e97a7c633f554fbe8e1"&gt;Emoji Rating&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://scrimba.com/scrim/co86d4820953a7c8ec2192508"&gt;Broken Clock&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://scrimba.com/scrim/co8fb4970a912cba1ff49c2e4"&gt;Currency Converter App&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://scrimba.com/scrim/coe164d66a4c756829a5ca5f9"&gt;Film Database&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;span&gt;Photo by &lt;a href="https://unsplash.com/@tateisimikito?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText"&gt;Jukan Tateisi&lt;/a&gt; on &lt;a href="https://unsplash.com/s/photos/challenges?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText"&gt;Unsplash&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>css</category>
      <category>html</category>
      <category>scrimba</category>
    </item>
    <item>
      <title>JavaScriptmas Solutions</title>
      <dc:creator>Ezequiel_Caste</dc:creator>
      <pubDate>Sat, 19 Dec 2020 16:10:53 +0000</pubDate>
      <link>https://dev.to/ezequiel_caste/javascriptmas-solutions-5gc8</link>
      <guid>https://dev.to/ezequiel_caste/javascriptmas-solutions-5gc8</guid>
      <description>&lt;p&gt;Hi! 🖐&lt;br&gt;
My name is Ezequiel.&lt;br&gt;
I've been learning JavaScript for a couple of years and when I found out that Scrimba was having a JavaScriptmas Advent Calendar I signed up right away.&lt;/p&gt;

&lt;p&gt;Challenges are a great way to flex that coding muscle and learn some new methods you were not familiar with. &lt;/p&gt;

&lt;p&gt;One of my favorite challenges was the &lt;strong&gt;The Rolling Dice&lt;/strong&gt;. It seems easy but it had me thinking of a way to show all Dice faces using just plain CSS.&lt;/p&gt;

&lt;p&gt;Another challenge I enjoyed was &lt;strong&gt;Carousel&lt;/strong&gt;. The tricky part was trying to get the carousel to start at the correct position when it reaches the end of the array.&lt;/p&gt;

&lt;p&gt;Here is the list of all the #JavaScriptmas Challenges:&lt;/p&gt;

&lt;p&gt;Day 1. &lt;a href="https://scrimba.com/scrim/coea74feaa38737da78a0a55e"&gt;Candies&lt;/a&gt;&lt;br&gt;
Day 2. &lt;a href="https://scrimba.com/scrim/cof054fac93cd8a73c52ee44d"&gt;Deposit Profit&lt;/a&gt;&lt;br&gt;
Day 3. &lt;a href="https://scrimba.com/scrim/co223424f80b8399986e4d482"&gt;Chunky Monkey&lt;/a&gt;&lt;br&gt;
Day 4. &lt;a href="https://scrimba.com/scrim/co5a74e1abdedc3428b034a0b"&gt;Century From Year&lt;/a&gt;&lt;br&gt;
Day 5. &lt;a href="https://scrimba.com/scrim/co6b44c828a4727d00fac7027"&gt;Reverse a String&lt;/a&gt;&lt;br&gt;
Day 6. &lt;a href="https://scrimba.com/scrim/cob5f40b1b98ee57ca213cef8"&gt;Sort by Length&lt;/a&gt;&lt;br&gt;
Day 7. &lt;a href="https://scrimba.com/scrim/co17843e08556cdf3eaccb97a"&gt;Count Vowel Consonant&lt;/a&gt;&lt;br&gt;
Day 8. &lt;a href="https://scrimba.com/scrim/co76045eeafb391516e7aa002"&gt;The Rolling Dice&lt;/a&gt;&lt;br&gt;
Day 9. &lt;a href="https://scrimba.com/scrim/co32c49aebe16aea78d5078b6"&gt;Sum Odd Fibonacci&lt;/a&gt;&lt;br&gt;
Day 10. &lt;a href="https://scrimba.com/scrim/cof1d490b8dee9e41a9d07c37"&gt;Adjacent Elements Product&lt;/a&gt;&lt;br&gt;
Day 11. &lt;a href="https://scrimba.com/scrim/cobe24c5a99ffd48116727221"&gt;Avoid Obstacles&lt;/a&gt;&lt;br&gt;
Day 12. &lt;a href="https://scrimba.com/scrim/co180427c9d2d128952fb1564"&gt;Valid Time&lt;/a&gt;&lt;br&gt;
Day 13. &lt;a href="https://scrimba.com/scrim/co3384f03bf81c62085991543"&gt;Extract Each Kth&lt;/a&gt;&lt;br&gt;
Day 14. &lt;a href="https://scrimba.com/scrim/co66d42e2958d95ec3cbe7080"&gt;Maximal Adjacent Difference&lt;/a&gt;&lt;br&gt;
Day 15. &lt;a href="https://scrimba.com/scrim/co1834759aa1fd419672ef99c"&gt;Carousel&lt;/a&gt;&lt;br&gt;
Day 16. &lt;a href="https://scrimba.com/scrim/codd1483eb0fe340342dde61f"&gt;Insert Dashes&lt;/a&gt;&lt;br&gt;
Day 17. &lt;a href="https://scrimba.com/scrim/co0f14a9da0951ab90f8413e6"&gt;Different Symbols Naive&lt;/a&gt; - &lt;a href="https://scrimba.com/scrim/co3b942009120d42109f96662"&gt;using Set&lt;/a&gt;&lt;br&gt;
Day 18. &lt;a href="https://scrimba.com/scrim/coa6a4ce28053ea3d3179fc2d"&gt;Array Previous Less&lt;/a&gt;&lt;br&gt;
Day 19. &lt;a href="https://scrimba.com/scrim/co1044616838538fd9a1738af"&gt;Alphabet Subsequence&lt;/a&gt;&lt;br&gt;
Day 20. &lt;a href="https://scrimba.com/scrim/co1124967a86ac79e07a95a51"&gt;Domain Type&lt;/a&gt;&lt;br&gt;
Day 21. &lt;a href="https://scrimba.com/scrim/co4c24fcd9df8d395ebd8f369"&gt;Sum of 2&lt;/a&gt;&lt;br&gt;
Day 22. &lt;a href="https://scrimba.com/scrim/co3dc45d3a87957273cb0e98e"&gt;Extract Matrix Column&lt;/a&gt;&lt;br&gt;
Day 23. &lt;a href="https://scrimba.com/scrim/co5c64084b50f6cfdbb3cabc8"&gt;Social Media Input&lt;/a&gt;&lt;br&gt;
Day 24. &lt;a href="https://scrimba.com/scrim/co7e94b75939ecfd78ccc5b6a"&gt;Test Your Agility&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;What a ride! I loved all these challenges! &lt;br&gt;
Good luck to all those you participate in the Contest!&lt;/p&gt;

&lt;p&gt;&lt;span&gt;Photo by &lt;a href="https://unsplash.com/@punttim?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText"&gt;Tim Gouw&lt;/a&gt; on &lt;a href="https://unsplash.com/s/photos/christmas-background?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText"&gt;Unsplash&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;

</description>
      <category>javascriptmas</category>
      <category>scrimba</category>
    </item>
  </channel>
</rss>
