<?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>Forem: 𝐁𝐚𝐛𝐢 ✨</title>
    <description>The latest articles on Forem by 𝐁𝐚𝐛𝐢 ✨ (@babib).</description>
    <link>https://forem.com/babib</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%2F583719%2Fa19b1f3e-d4f7-4761-acb0-cdcdd4f4ec36.jpg</url>
      <title>Forem: 𝐁𝐚𝐛𝐢 ✨</title>
      <link>https://forem.com/babib</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/babib"/>
    <language>en</language>
    <item>
      <title>Javascript cheat sheet: .slice() and .splice()</title>
      <dc:creator>𝐁𝐚𝐛𝐢 ✨</dc:creator>
      <pubDate>Sat, 30 Jul 2022 05:45:00 +0000</pubDate>
      <link>https://forem.com/babib/javascript-slice-and-splice-cheat-sheet-3hoi</link>
      <guid>https://forem.com/babib/javascript-slice-and-splice-cheat-sheet-3hoi</guid>
      <description>&lt;p&gt;I recently came across a twitter post where the user challenged others if they knew the difference between the js methods .slice() and .splice() without googling them. A lot of people mixed them up.&lt;/p&gt;

&lt;p&gt;So I've created this simplified cheat sheet of everything you need to know about the 2 methods.&lt;/p&gt;

&lt;h2&gt;
  
  
  What you should know
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;.slice() and splice() are both array methods. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;both of them return arrays as outputs&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;the key is to pay attention to what they return as the output array and if they mutate the original array (they one on which the were applied to)&lt;/p&gt;
&lt;h2&gt;
  
  
  1)  .slice()
&lt;/h2&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;.slice() &lt;em&gt;returns selected elements in an array&lt;/em&gt;, as a new array. Selection is done by index.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;.slice() &lt;strong&gt;does not affect the original array&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;With splice() you can select one or more elements. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;For example:&lt;/strong&gt; This code snippet returns 3 (which is at index 2)&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="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="nx"&gt;slice&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;// returns 3 (which is at index 2)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;and this code snippet returns 2,3,4 (from index 1 to 4 exclusively)&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="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="nx"&gt;slice&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;// returns 2,3,4 (from index 1 to 4 exclusively)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  2)  .splice()
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;.splice &lt;strong&gt;modifies the original array&lt;/strong&gt; (adds and/or removes elements from the array)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The method &lt;em&gt;returns the original array **modified&lt;/em&gt;**&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;With splice you can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt; &lt;strong&gt;remove elements&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="nx"&gt;splice&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;// returns [1,2,3] (first 3 elements)&lt;/span&gt;
&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="nx"&gt;splice&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;// at position 2 remove 2 elements (returns [1,2,5])&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt; &lt;strong&gt;add elements&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;
&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="nx"&gt;splice&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;// at postion 2 add 2 elements (returns [1,2,3,4,5])&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt; &lt;strong&gt;remove and add elements at the same time&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// at position 2, remove 1 elements and add 2 new items&lt;/span&gt;
&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="nx"&gt;splice&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;HTML&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="s2"&gt;CSS&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;// returns [1,2,"HTML","CSS",5]&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Remember:&lt;/strong&gt; .splice() mutates the array, .slice() does not!&lt;/p&gt;

&lt;p&gt;Hope this is helpful to someone 💜&lt;/p&gt;

</description>
      <category>codenewbie</category>
      <category>javascript</category>
      <category>beginners</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>My very first Tech YouTube video</title>
      <dc:creator>𝐁𝐚𝐛𝐢 ✨</dc:creator>
      <pubDate>Wed, 27 Jul 2022 05:43:00 +0000</pubDate>
      <link>https://forem.com/babib/opp-classes-and-objects-explained-for-beginners-4j84</link>
      <guid>https://forem.com/babib/opp-classes-and-objects-explained-for-beginners-4j84</guid>
      <description>&lt;p&gt;Just created my very first tech video on YouTube 😊&lt;/p&gt;

&lt;p&gt;This YouTube video is just 2 minutes long however, it provides a simple and visualized explanation of the concept of classes and objects as used in software engineering&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/1gxUrOBcQoA"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;Please share your thoughts in the comments, like and subscribe. Thanks.&lt;/p&gt;

</description>
      <category>oop</category>
      <category>programming</category>
      <category>beginners</category>
      <category>watercooler</category>
    </item>
    <item>
      <title>JSX for beginners (and how it differs from HTML)</title>
      <dc:creator>𝐁𝐚𝐛𝐢 ✨</dc:creator>
      <pubDate>Tue, 19 Jul 2022 03:34:57 +0000</pubDate>
      <link>https://forem.com/babib/jsx-for-beginners-and-how-it-differs-from-html-2l9e</link>
      <guid>https://forem.com/babib/jsx-for-beginners-and-how-it-differs-from-html-2l9e</guid>
      <description>&lt;h2&gt;
  
  
  What is JSX
&lt;/h2&gt;

&lt;p&gt;JSX or JavaScript XML is an extension of JavaScript used to write &lt;a href="https://reactjs.org/"&gt;React&lt;/a&gt; components.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;For example,&lt;/strong&gt; consider this code snippet below gives an illustration of what JSX typically looks like&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;greet&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;h1&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;Hello World&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;h1&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;So JSX permits us write Javascript and HTML together. However, unlike HTML and Javascript, JSX cannot be interpreted by browsers so it needs a compiler (Babel or Webpack) to transpile it to Javascript&lt;/p&gt;

&lt;h2&gt;
  
  
  Why use JSX
&lt;/h2&gt;

&lt;p&gt;The very first thing you should know is that JSX is &lt;strong&gt;not&lt;/strong&gt; a necessity. You can write React code without it.&lt;/p&gt;

&lt;p&gt;Then why use it? Why mix the logic and the markup? JSX is &lt;strong&gt;syntactic sugar&lt;/strong&gt;. It is designed to make things easier to read and express&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;For example:&lt;/strong&gt; Consider a JSX expression&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="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;p&lt;/span&gt; &lt;span class="na"&gt;color&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"red"&lt;/span&gt; &lt;span class="na"&gt;shadowSize&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;I'm a random sentence&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;p&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It is compiled by Babel to&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;React&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;createElement&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;p&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="na"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;red&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;shadowSize&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;I'm a random sentence&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;The later snippet is obviously less pretty 😀&lt;/p&gt;

&lt;h2&gt;
  
  
  How JSX differs from HTML
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Self-closing tags
&lt;/h3&gt;

&lt;p&gt;In HTML, it's okay to write self-closing tags without closing them e.g. &lt;code&gt;&amp;lt;hr /&amp;gt;&lt;/code&gt; can be &lt;code&gt;&amp;lt;hr&amp;gt;&lt;/code&gt;. This is &lt;strong&gt;not permitted&lt;/strong&gt; in JSX. &lt;strong&gt;All&lt;/strong&gt; tags must be closed.&lt;/p&gt;

&lt;p&gt;Also, all tags can be self-close e.g. &lt;code&gt;&amp;lt;div /&amp;gt;&lt;/code&gt;&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  2. Adding JavaScript expressions
&lt;/h3&gt;

&lt;p&gt;JavaScript can be added directly into JSX markup using curly braces {...}&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="p"&gt;{&lt;/span&gt;&lt;span class="cm"&gt;/* Output: Everybody knows 1 + 1 = 2 */&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;p&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt; Everybody knows 1 + 1 = &lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;p&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;So no need for the &lt;code&gt;&amp;lt;script&amp;gt;&lt;/code&gt; tag HTML uses &lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  3. HTML attributes change naming conventions
&lt;/h3&gt;

&lt;p&gt;Remember JSX is writing HTML in JavaScript so certain HTML attributes like &lt;code&gt;class&lt;/code&gt; and &lt;code&gt;for&lt;/code&gt; which are keyword in JavaScript have to change to &lt;code&gt;className&lt;/code&gt; and &lt;code&gt;hmtlFor&lt;/code&gt; respectively. Take &lt;strong&gt;note&lt;/strong&gt; of the use of &lt;strong&gt;camelCasing&lt;/strong&gt; in the naming convention.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;All&lt;/strong&gt; JSX attributes follow the camelCase naming convention. So &lt;code&gt;background-color&lt;/code&gt; becomes &lt;code&gt;backgroundColor&lt;/code&gt;&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  4. Inline CSS is an object
&lt;/h3&gt;

&lt;p&gt;In HTML, you can directly add your inline CSS styles in the opening tag. However, this is not so in JSX. Here, you pass an object&lt;br&gt;
For example Consider this HTML snippet&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;style=&lt;/span&gt;&lt;span class="s"&gt;"color:red;font-size:14px"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Hello there!&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In JSX, it could be written as&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="nx"&gt;cont&lt;/span&gt; &lt;span class="nx"&gt;Greet&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;myStyles&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;red&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;fontSize&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;14px&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="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;p&lt;/span&gt; &lt;span class="na"&gt;style&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;myStyles&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;Hello there!&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;p&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;OR&lt;/strong&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="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;p&lt;/span&gt; &lt;span class="na"&gt;style&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="na"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;red&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;fontSize&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;14px&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;Hello there!&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;p&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I'm currently learning React. While transitioning from writing HTML to JSX, I found some key concepts and difference that everyone should be aware of. This is me just documenting my notes. Hope you found it helpful 😊&lt;/p&gt;




&lt;p&gt;Header image credit: &lt;a href="https://www.patterns.dev/posts/reactjs/"&gt;patterns.dev&lt;/a&gt;&lt;/p&gt;

</description>
      <category>react</category>
      <category>javascript</category>
      <category>html</category>
      <category>todayilearned</category>
    </item>
    <item>
      <title>🎨 Understanding the CSS rgb model (Visualized)</title>
      <dc:creator>𝐁𝐚𝐛𝐢 ✨</dc:creator>
      <pubDate>Mon, 04 Jul 2022 09:23:58 +0000</pubDate>
      <link>https://forem.com/babib/understanding-the-css-rgb-model-visualized-317a</link>
      <guid>https://forem.com/babib/understanding-the-css-rgb-model-visualized-317a</guid>
      <description>&lt;p&gt;The RGB model is an additive color model where the colors red, green and blue can be added together in different intensities to form a wide array of colors. The additive colors start with black, then adds red, green and blue.&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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fibafx101gxanyyxej701.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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fibafx101gxanyyxej701.png" alt="color spectrum"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;With the rgb function, the arguments are used to produce color&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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyz97atf03e9cwm2tay8e.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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyz97atf03e9cwm2tay8e.png" alt="the rgb function"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Each argument, red/green/blue, can range from 0 to 255. O means there is 0% of that color and 255 means there is 100% of that color.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;For example&lt;/strong&gt;: We'll use 3 div elements to demonstrate the use of the rgb model&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;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"markers"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"strip one"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"strip two"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"strip three"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nc"&gt;.markers&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;padding&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;10px&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nc"&gt;.strip&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;200px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;height&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;25px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;margin&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;10px&lt;/span&gt; &lt;span class="nb"&gt;auto&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;Now using the rgb concept explained above, we could set the background colors of strip 1, 2 and 3 to the different primary colors red, green, and blue respectively&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nc"&gt;.one&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;background-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;rgb&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;255&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;0&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;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nc"&gt;.two&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;background-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;rgb&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;255&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;0&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;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nc"&gt;.three&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;background-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;rgb&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;255&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;&lt;strong&gt;Output&lt;/strong&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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp29zr4v1yjkuh9j8k3ur.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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp29zr4v1yjkuh9j8k3ur.png" alt="strips of the different background colors"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The intensities of each color can be varied between 0 and 255 to get different shades. For example, to get a more natural color for green (the second strip), it's intensity could be reduced to half way between 0 and 255&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nc"&gt;.two&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;background-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;rgb&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;127&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;0&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;&lt;strong&gt;Output&lt;/strong&gt;&lt;br&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%2Flpnm0quvkk7o1yvq4n5u.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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flpnm0quvkk7o1yvq4n5u.png" alt="pic of a natural shade of green"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Increasing the value of the color increases its brightness.&lt;/p&gt;

&lt;p&gt;Red, blue and green are primary colors, so when they are added together in the highest intensities (255), they form white.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nc"&gt;.white&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;background-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;rgb&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;255&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;255&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;255&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;And the total absence of all 3 give black&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nc"&gt;.black&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;background-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;rgb&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;0&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;h2&gt;
  
  
  Secondary colors
&lt;/h2&gt;

&lt;p&gt;Secondary colors are formed from the combination of two primary colors. There are 3 secondary colors&lt;/p&gt;

&lt;h3&gt;
  
  
  1. &lt;strong&gt;Yellow&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Yellow is formed from the combination of &lt;strong&gt;pure&lt;/strong&gt; red and &lt;strong&gt;pure&lt;/strong&gt; green&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nc"&gt;.one&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;background-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;rgb&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;255&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="m"&gt;255&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="m"&gt;0&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;h3&gt;
  
  
  2. &lt;strong&gt;Cyan&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Cyan is formed from the combination of pure green and pure blue&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nc"&gt;.two&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;background-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;rgb&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;255&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;255&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;h3&gt;
  
  
  3. &lt;strong&gt;Magenta&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Magenta is formed from the combination of pure blue and pure red&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nc"&gt;.three&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;background-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;rgb&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;255&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;255&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;&lt;strong&gt;Output&lt;/strong&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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fem0pntt16946kjhrhw0h.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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fem0pntt16946kjhrhw0h.png" alt="pic of secondary colors"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Tertiary Colors
&lt;/h2&gt;

&lt;p&gt;Tertiary colors are formed from a combination of a primary color and a nearby secondary color.There are six tertiary colors.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Orange
&lt;/h3&gt;

&lt;p&gt;Orange is formed from the combination of &lt;strong&gt;pure red&lt;/strong&gt; and &lt;strong&gt;yellow&lt;/strong&gt; and falls between the two on the color wheel. Set red at max (255) and green to 127&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nc"&gt;.one&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;background-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;rgb&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;255&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;127&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;0&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;&lt;strong&gt;Output&lt;/strong&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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgixe0iy1pln89tc59qsq.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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgixe0iy1pln89tc59qsq.png" alt="pic of orange"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Spring Green
&lt;/h3&gt;

&lt;p&gt;Spring green is formed from the combination of &lt;strong&gt;pure green&lt;/strong&gt; and &lt;strong&gt;cyan&lt;/strong&gt;. Set green to 255 and blue to 127&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nc"&gt;.one&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;background-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;rgb&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;255&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;127&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;&lt;strong&gt;Output&lt;/strong&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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnbvn1e1vct4hawu1z9zo.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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnbvn1e1vct4hawu1z9zo.png" alt="pic of spring green strip"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Violet
&lt;/h3&gt;

&lt;p&gt;Violet is formed from the combination of &lt;strong&gt;pure blue&lt;/strong&gt; and &lt;strong&gt;magenta&lt;/strong&gt;. Set blue to 255 and red to 127&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nc"&gt;.one&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;background-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;rgb&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;127&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;255&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;&lt;strong&gt;Output&lt;/strong&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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fglelfek67kc9wejvbpfb.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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fglelfek67kc9wejvbpfb.png" alt="pic of violet strip"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Chartreuse green
&lt;/h3&gt;

&lt;p&gt;Formed from the combination of &lt;strong&gt;pure green&lt;/strong&gt; and &lt;strong&gt;yellow&lt;/strong&gt;. Set green to 255 and red to 127&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nc"&gt;.one&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;background-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;rgb&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;127&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;255&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;0&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;&lt;strong&gt;Output&lt;/strong&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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwq6b2lddvny7hsoq3b9s.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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwq6b2lddvny7hsoq3b9s.png" alt="pic of chartreuse green strip"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Azure
&lt;/h3&gt;

&lt;p&gt;Formed from the combination of &lt;strong&gt;pure blue&lt;/strong&gt; and &lt;strong&gt;cyan&lt;/strong&gt;. Set blue to 255 and green to 127&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nc"&gt;.one&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;background-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;rgb&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;127&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;255&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;&lt;strong&gt;Output&lt;/strong&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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fptyl4r4essc9e7r8ka2h.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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fptyl4r4essc9e7r8ka2h.png" alt="pic of azure strip"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  6. Rose
&lt;/h3&gt;

&lt;p&gt;Formed from the combination of &lt;strong&gt;pure red&lt;/strong&gt; and &lt;strong&gt;magenta&lt;/strong&gt;. Set red to 255 and blue to 127&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nc"&gt;.one&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;background-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;rgb&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;255&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;127&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;&lt;strong&gt;Output&lt;/strong&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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Focsqdc5f4k9quw2d2tt4.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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Focsqdc5f4k9quw2d2tt4.png" alt="pic of rose strip"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Thanks for reading!&lt;/p&gt;

&lt;p&gt;Now, can you remember the combination for chartreuse green? (be honest 😅 )&lt;/p&gt;




&lt;p&gt;header pic: &lt;a href="https://unsplash.com/@katierainbow" rel="noopener noreferrer"&gt;Katie Rainbow&lt;/a&gt;&lt;/p&gt;

</description>
      <category>css</category>
      <category>webdev</category>
      <category>todayilearned</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Interesting! Make different image parts clickable with HTML only (codepen preview)</title>
      <dc:creator>𝐁𝐚𝐛𝐢 ✨</dc:creator>
      <pubDate>Mon, 27 Jun 2022 23:39:13 +0000</pubDate>
      <link>https://forem.com/babib/interesting-making-different-image-parts-clickable-with-html-codepen-preview-3pg8</link>
      <guid>https://forem.com/babib/interesting-making-different-image-parts-clickable-with-html-codepen-preview-3pg8</guid>
      <description>&lt;p&gt;You can make different parts of an image clickable.&lt;/p&gt;

&lt;p&gt;With HTML's &lt;code&gt;&amp;lt;map&amp;gt;&lt;/code&gt;, you can create image maps which are images with clickable areas. These areas are defined using the &lt;code&gt;&amp;lt;area&amp;gt;&lt;/code&gt; tag.&lt;/p&gt;

&lt;h2&gt;
  
  
  Understanding how image maps work
&lt;/h2&gt;

&lt;p&gt;The image (which would be clickable) is imported using the &lt;code&gt;&amp;lt;img&amp;gt;&lt;/code&gt; tag, however an attribute, &lt;code&gt;usemap&lt;/code&gt;, is added to the &lt;code&gt;&amp;lt;img&amp;gt;&lt;/code&gt; tag with a specific ID which would later be used&lt;/p&gt;

&lt;h3&gt;
  
  
  For example
&lt;/h3&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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fprco3p9dfxg3b18fr0n4.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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fprco3p9dfxg3b18fr0n4.png" alt="world map image code"&gt;&lt;/a&gt;&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;img&lt;/span&gt; &lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"worldmap.png"&lt;/span&gt; &lt;span class="na"&gt;alt=&lt;/span&gt;&lt;span class="s"&gt;"Worldmap"&lt;/span&gt; &lt;span class="na"&gt;usemap=&lt;/span&gt;&lt;span class="s"&gt;"#worldmap"&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;Using the &lt;code&gt;&amp;lt;map&amp;gt;&lt;/code&gt; tag, the image is reference using the attribute &lt;code&gt;name&lt;/code&gt; which would be the ID used in the &lt;code&gt;usemap&lt;/code&gt; attribute of the &lt;code&gt;&amp;lt;img&amp;gt;&lt;/code&gt; tag&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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9drbwkkoo8ffvd1gujod.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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9drbwkkoo8ffvd1gujod.png" alt="map code snippet"&gt;&lt;/a&gt;&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;map&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"worldmap"&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;Now, nested in the &lt;code&gt;&amp;lt;map&amp;gt;&lt;/code&gt; elements are several &lt;code&gt;&amp;lt;area&amp;gt;&lt;/code&gt; elements which are used to define the different clickable areas&lt;/p&gt;

&lt;p&gt;In the area element we declare:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;shape&lt;/code&gt;: The shape of the clickable area 

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;rect&lt;/code&gt; - defines a rectangular region&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;circle&lt;/code&gt; - defines a circular region&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;poly&lt;/code&gt; - defines a polygonal region&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;default&lt;/code&gt; - defines the entire region&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;
&lt;code&gt;coords&lt;/code&gt;: The coordinates of the area&lt;/li&gt;

&lt;li&gt;
&lt;code&gt;href&lt;/code&gt;: The link to the target resource after the image is clicked&lt;/li&gt;

&lt;/ul&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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fijkp9uakpwcs2gkm8470.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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fijkp9uakpwcs2gkm8470.png" alt="area code snippet"&gt;&lt;/a&gt;&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;area&lt;/span&gt; &lt;span class="na"&gt;shape=&lt;/span&gt;&lt;span class="s"&gt;"rect"&lt;/span&gt; &lt;span class="na"&gt;coords=&lt;/span&gt;&lt;span class="s"&gt;"34,24,270,350"&lt;/span&gt; &lt;span class="na"&gt;alt=&lt;/span&gt;&lt;span class="s"&gt;"africa"&lt;/span&gt; &lt;span class="na"&gt;href=&lt;/span&gt;&lt;span class="s"&gt;"https://africa.htm"&lt;/span&gt; &lt;span class="na"&gt;title=&lt;/span&gt;&lt;span class="s"&gt;"Visit Africa"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Example: Clickable World Map
&lt;/h3&gt;

&lt;p&gt;Taking into account all explained above, this far-from-perfect example demonstrates the use of an HTML image map&lt;/p&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/babi-b/embed/abYogwX?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;Thank you for reading (and liking 😄)&lt;/p&gt;

</description>
      <category>todayilearned</category>
      <category>html</category>
      <category>webdev</category>
      <category>codepen</category>
    </item>
    <item>
      <title>An Act of Kindness that Helped your Career</title>
      <dc:creator>𝐁𝐚𝐛𝐢 ✨</dc:creator>
      <pubDate>Wed, 08 Jun 2022 21:18:05 +0000</pubDate>
      <link>https://forem.com/babib/an-act-of-kindness-that-helped-your-career-448</link>
      <guid>https://forem.com/babib/an-act-of-kindness-that-helped-your-career-448</guid>
      <description>&lt;p&gt;While we work to advance our careers and push limits, we must remember to be kind to others and ourselves.&lt;/p&gt;

&lt;p&gt;Could you describe a time when an act of kindness done to you or someone else had an impact (big or small) on your career?&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>career</category>
      <category>motivation</category>
      <category>wholesome</category>
    </item>
    <item>
      <title>Setting up a new dev machine</title>
      <dc:creator>𝐁𝐚𝐛𝐢 ✨</dc:creator>
      <pubDate>Thu, 02 Jun 2022 10:03:43 +0000</pubDate>
      <link>https://forem.com/babib/setting-up-a-new-machine-al8</link>
      <guid>https://forem.com/babib/setting-up-a-new-machine-al8</guid>
      <description>&lt;p&gt;As developers we have had to set up our development environment from scratch at least once. &lt;/p&gt;

&lt;p&gt;Whether it's after getting a new machine or switching your operating system (as I have done a couple if times 😂) could you share&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;The first tool/software you setup?&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;your must-have tools and environment variables?&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>discuss</category>
      <category>webdev</category>
      <category>productivity</category>
      <category>tooling</category>
    </item>
    <item>
      <title>8 Shocking HTML tips you probably don't know about</title>
      <dc:creator>𝐁𝐚𝐛𝐢 ✨</dc:creator>
      <pubDate>Thu, 26 May 2022 05:57:55 +0000</pubDate>
      <link>https://forem.com/babib/7-shocking-html-tips-you-probably-dont-know-about-ggd</link>
      <guid>https://forem.com/babib/7-shocking-html-tips-you-probably-dont-know-about-ggd</guid>
      <description>&lt;p&gt;These are a collection of HTML tips I learned that would definitely blow your mind!&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Capture attribute to open your device camera
&lt;/h2&gt;

&lt;p&gt;Just as the &lt;code&gt;input&lt;/code&gt; tag has attributes for email, text and password, there is also an attribute to open the camera of &lt;strong&gt;mobile devices&lt;/strong&gt; to capture images.&lt;/p&gt;

&lt;p&gt;This is done with the &lt;code&gt;capture&lt;/code&gt; attribute which can take two values:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;user&lt;/strong&gt; for the front camera&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;environment&lt;/strong&gt; for the back camera
&lt;/li&gt;
&lt;/ul&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;input&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"file"&lt;/span&gt; &lt;span class="na"&gt;capture=&lt;/span&gt;&lt;span class="s"&gt;"user"&lt;/span&gt; &lt;span class="na"&gt;accept=&lt;/span&gt;&lt;span class="s"&gt;"image/*"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  2. Automatic website refresh
&lt;/h2&gt;

&lt;p&gt;You can set your website to refresh after a given amount of time from the &lt;code&gt;head&lt;/code&gt; tag!&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;head&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;http-equiv=&lt;/span&gt;&lt;span class="s"&gt;"refresh"&lt;/span&gt; &lt;span class="na"&gt;content=&lt;/span&gt;&lt;span class="s"&gt;"10"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/head&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This snippet refreshes the website every 10 seconds&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Activate spellcheck
&lt;/h2&gt;

&lt;p&gt;You can use the HTML &lt;code&gt;spellcheck&lt;/code&gt; attribute and set it to &lt;strong&gt;true&lt;/strong&gt; to activate it. Specify the language to be used using the &lt;code&gt;lang&lt;/code&gt; attribute&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;input&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"text"&lt;/span&gt; &lt;span class="na"&gt;spellcheck=&lt;/span&gt;&lt;span class="s"&gt;"true"&lt;/span&gt; &lt;span class="na"&gt;lang=&lt;/span&gt;&lt;span class="s"&gt;"en"&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;It is a standard attribute and is supported by most browsers&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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd2ss4khmhfn1bw9lgpx9.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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd2ss4khmhfn1bw9lgpx9.png" alt="browser support pic"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I wonder if dev.to uses this attribute on their create post editor... 😄&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Specify file type to be uploaded
&lt;/h2&gt;

&lt;p&gt;You can specify the file types users are permitted to upload in the &lt;code&gt;input&lt;/code&gt; tag using the &lt;code&gt;accept&lt;/code&gt; attribute&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;input&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"file"&lt;/span&gt; &lt;span class="na"&gt;accept=&lt;/span&gt;&lt;span class="s"&gt;".jpeg,.png"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  5. Prevent translation
&lt;/h2&gt;

&lt;p&gt;Setting the &lt;code&gt;translate&lt;/code&gt; attribute to &lt;strong&gt;no&lt;/strong&gt;, prevents translation. This is important in case where you don't want a phrase or word to be translated, for example your logo, company or brand name.&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;translate=&lt;/span&gt;&lt;span class="s"&gt;"no"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Brand name&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  6. Entering multiple items into the input tag
&lt;/h2&gt;

&lt;p&gt;This can be done with the &lt;code&gt;multiple&lt;/code&gt; attribute&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;input&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"file"&lt;/span&gt; &lt;span class="na"&gt;multiple&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;It works for both files and emails. For emails, separate each email by a comma.&lt;/p&gt;

&lt;h2&gt;
  
  
  7. Creating a poster(thumbnail) for your videos
&lt;/h2&gt;

&lt;p&gt;With the &lt;code&gt;poster&lt;/code&gt; attribute, you can create an image which is displayed while the video is downloading, or until the user hits the play button. &lt;/p&gt;

&lt;p&gt;If this is not included, the first frame of the video will be used instead.&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;video&lt;/span&gt; &lt;span class="na"&gt;poster=&lt;/span&gt;&lt;span class="s"&gt;"picture.png"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/video&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  8. Automatically download on link click
&lt;/h2&gt;

&lt;p&gt;If you want a particular resource to be downloaded when a link to the target resource is clicked, add the &lt;code&gt;download&lt;/code&gt; attribute&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;a&lt;/span&gt; &lt;span class="na"&gt;href=&lt;/span&gt;&lt;span class="s"&gt;"image.png"&lt;/span&gt; &lt;span class="na"&gt;download&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;That's a wrap. I'm sure to share more once I learn more 😄&lt;/p&gt;

&lt;p&gt;Comment below which ones were new to you&lt;/p&gt;

</description>
      <category>html</category>
      <category>todayilearned</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Grinding as a developer</title>
      <dc:creator>𝐁𝐚𝐛𝐢 ✨</dc:creator>
      <pubDate>Sat, 21 May 2022 00:47:00 +0000</pubDate>
      <link>https://forem.com/babib/grinding-as-a-developer-1p79</link>
      <guid>https://forem.com/babib/grinding-as-a-developer-1p79</guid>
      <description>&lt;p&gt;As a software developer, could you share? &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;When did you grind the hardest and was it worth it?&lt;/li&gt;
&lt;li&gt;How did you avoid burnout?&lt;/li&gt;
&lt;li&gt;Would you advice someone to do same?&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>discuss</category>
      <category>watercooler</category>
      <category>webdev</category>
      <category>career</category>
    </item>
    <item>
      <title>A set of handy git commands for beginners to make your life easier!</title>
      <dc:creator>𝐁𝐚𝐛𝐢 ✨</dc:creator>
      <pubDate>Thu, 28 Apr 2022 12:52:46 +0000</pubDate>
      <link>https://forem.com/babib/a-set-of-handy-git-commands-for-beginners-to-make-your-life-easier-3i6k</link>
      <guid>https://forem.com/babib/a-set-of-handy-git-commands-for-beginners-to-make-your-life-easier-3i6k</guid>
      <description>&lt;p&gt;Starting out with version control is exciting however keeping track of all the commands can be difficult.&lt;/p&gt;

&lt;p&gt;This is a simplified cheat sheet with short explanations to guide you on which command does what and if the changes made are locally, remotely or both.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;tr&gt;&lt;td id="toc"&gt;&lt;b&gt;Table of Content&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;First-Time Git Setup&lt;/th&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;Creating A Repo&lt;/th&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;Managing Local Changes (including undos)&lt;/th&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;Managing Branches&lt;/th&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;Pushing And Pulling&lt;/th&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;Fetching&lt;/th&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;Merging&lt;/th&gt;&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  1. &lt;span id="setup"&gt;First-Time Git Setup&lt;/span&gt; ⚒
&lt;/h2&gt;

&lt;p&gt;Once git is installed on your system you have to customize your git environment. This can be done using the &lt;code&gt;git config&lt;/code&gt; tool&lt;/p&gt;

&lt;h3&gt;
  
  
  i. To setup your Git username
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git config --global user.name &amp;lt;username&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Example&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git config --global user.name janedoe
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  ii. To setup your Git username
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git config --global user.email &amp;lt;emailAddress&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Example&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git config --global user.email janedoe@gmail.com
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  iii. To check Git configuration
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git config -l
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;br&gt;&lt;br&gt;
🡅 back to TOC&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  2. &lt;span id="create"&gt;Creating A Repo&lt;/span&gt; 🖊
&lt;/h2&gt;

&lt;p&gt;These are probably the first command every git enthusiast learns. &lt;/p&gt;
&lt;h3&gt;
  
  
  i. To create a local repo
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git init
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;You should run this command in the folder you want to become the root(base) folder for your repo&lt;/p&gt;
&lt;h3&gt;
  
  
  ii. To clone an existing repo
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git clone &amp;lt;repo-clone-link&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git clone https://github.com/user/repo.git
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Ensure that the link is copied from the &lt;strong&gt;green clone button&lt;/strong&gt; NOT the browser tab&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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy7c1bpgnrrtj2vy5qwcu.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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy7c1bpgnrrtj2vy5qwcu.png" alt="clone button"&gt;&lt;/a&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%2Fmvhtkqlgpwvohbngygm4.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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmvhtkqlgpwvohbngygm4.png" alt="open button"&gt;&lt;/a&gt;&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  iii. Linking to a remote repo
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git remote add origin &amp;lt;link-to-github-remote-repo&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git clone https://github.com/user/repo.git
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  &lt;br&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
🡅 back to TOC&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  3. &lt;span id="local-changes"&gt;Managing Local Changes (including undos)&lt;/span&gt; 🛠
&lt;/h2&gt;


&lt;h3&gt;
  
  
  i. Checking files you've worked on without committing (unstaged files)
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git status
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  ii. To stage files&lt;br&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;To stage particular files, you'll have to specify the filenames (including the extensions)
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git add &amp;lt;filename&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git add index.html
git add index.html styles.css app.js
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To check which files to add run &lt;code&gt;git status&lt;/code&gt; &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;To stage all files at once
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git add .
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Do no forget the decimal point&lt;/p&gt;

&lt;h3&gt;
  
  
  iii. To unstage (unadd or uncommit 😄) files
&lt;/h3&gt;

&lt;p&gt;These can be used for commits that have &lt;strong&gt;not&lt;/strong&gt; been pushed&lt;/p&gt;

&lt;p&gt;To unstage a  single file&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git reset HEAD &amp;lt;filename&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git reset HEAD index.html
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To unstage &lt;strong&gt;all&lt;/strong&gt; stage files&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git reset HEAD
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To unstage the last file you staged&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git reset HEAD~1
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Be sure that you don't have any additional changes to the files&lt;br&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  iv. To commit staged files&lt;br&gt;
&lt;/h3&gt;

&lt;p&gt;Once you've stage a file you can then commit it&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git commit -m "&amp;lt;commit-message&amp;gt;"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git commit -m "initial commit"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Do not forget the commit message&lt;/p&gt;

&lt;p&gt;To commit means to capture a snapshot of the project's currently staged changes and "commit it to git memory"&lt;/p&gt;

&lt;h3&gt;
  
  
  v. To stage and commit all changes at once
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git commit --am "&amp;lt;commit-message&amp;gt;"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git commit -a -m "styles and design done"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;h3&gt;
  
  
  vi. To correct your last commit message
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git commit --amend -m "&amp;lt;commit-message&amp;gt;"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git commit --amend -m "Corrected: first commit"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Don't amend published(pushed) commits!&lt;/p&gt;

&lt;h3&gt;
  
  
  vii. To rollback commits
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;These are for commits that have been pushed&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;To rollback the &lt;strong&gt;latest&lt;/strong&gt; commit&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git revert HEAD
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To rollback to a specific commit&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git revert &amp;lt;commitID&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  &lt;br&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
🡅 back to TOC&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  4. &lt;span id="branch"&gt;Managing Branches&lt;/span&gt;
&lt;/h2&gt;


&lt;h3&gt;
  
  
  i. To list all existing local branches
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git branch 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foufakbjnj81jm6xlga7u.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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foufakbjnj81jm6xlga7u.png" alt="git branch"&gt;&lt;/a&gt;&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  ii. To list all branches (remote and local)
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git branch -a
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  iii. To create a new branch on the current head &lt;br&gt;
&lt;/h3&gt;

&lt;p&gt;You can think of the HEAD as the "current branch". When you switch branches with git checkout (switch branches), the HEAD revision changes to point to the tip of the new branch&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git branch &amp;lt;branch-name&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git branch develop
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;h3&gt;
  
  
  iv. &lt;span id="checkout"&gt;To switch to an existing branch an update current working directory&lt;/span&gt;&lt;br&gt;
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git checkout &amp;lt;branch-name&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git checkout develop
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  v. git checkout -b 
&lt;/h3&gt;

&lt;p&gt;Creates new branch from current branch(the branch you are currently working on) and checkout out to it. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;This move can be done even when you have unstage files. The untracked files will now be in the new branch&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  vi. To delete a branch
&lt;/h3&gt;

&lt;p&gt;To delete a merged branch locally. Do not be on the branch to be deleted.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git branch -d &amp;lt;branch&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To delete a branch locally whether merged or not. Do not be on the branch to be deleted.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git branch -D &amp;lt;branch&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; These delete the local branch &lt;strong&gt;only&lt;/strong&gt;&lt;br&gt;
&lt;br&gt;&lt;br&gt;
To delete a &lt;strong&gt;remote&lt;/strong&gt; branch from terminal.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git push origin --delete &amp;lt;branch&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; This deletes the remote branch &lt;strong&gt;only&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  vi. To rename a branch
&lt;/h3&gt;

&lt;p&gt;To rename a branch while on another branch&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git branch -m &amp;lt;oldName&amp;gt; &amp;lt;newName&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To rename your current working branch&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git branch -m &amp;lt;newName&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If you want upstream to reflect your changes, that is the branch upstream to have the same naming as your local branch&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git push origin -u &amp;lt;newName&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  vii. To set local branch to track remote branch
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; git branch --set-upstream-to=origin/&amp;lt;remoteBranchName&amp;gt; &amp;lt;localBranchName&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  vii. Pushing a branch for the first time
&lt;/h3&gt;

&lt;p&gt;If you clone a project, created a branch, worked on it and want to push it to upstream for the very first time&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git push --set-upstream origin &amp;lt;branchName&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;After this is done, just do &lt;code&gt;git push&lt;/code&gt; whenever you wish to push that branch to the one upstream&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
🡅 back to TOC&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  5. &lt;span id="pp"&gt;Pushing And Pulling&lt;/span&gt;
&lt;/h2&gt;
&lt;h3&gt;
  
  
  i. &lt;span id="track"&gt;To push local branch for the first time&lt;/span&gt;
&lt;/h3&gt;

&lt;p&gt;This is to push a branch that was created locally for the very first time. That is, it does not exist remotely.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; git push --set-upstream origin &amp;lt;branchName&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;OR&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;For short&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git push -u origin &amp;lt;branchname&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  ii. To push
&lt;/h3&gt;

&lt;p&gt;To push a branch which already exists and has already been set to an upstream&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git push
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; The local branch must be set to track to remote branch. Use this command to set the branch to upstream.&lt;/p&gt;

&lt;h3&gt;
  
  
  iii. To push to a specific origin
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git push origin &amp;lt;remoteBranchName&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  iv. To pull
&lt;/h3&gt;

&lt;p&gt;To pull from the remote branch and directly merge/integrate into HEAD recursively&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git pull
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Use this command to set the branch to upstream.&lt;/p&gt;

&lt;h3&gt;
  
  
  v. To pull from a specific origin
&lt;/h3&gt;

&lt;p&gt;To pull from the specific remote branch and directly merge/integrate into HEAD&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git pull origin &amp;lt;branchName&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;br&gt;&lt;br&gt;
🡅 back to TOC&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  6. &lt;span id="fetch"&gt;To fetch &lt;/span&gt;
&lt;/h2&gt;
&lt;h3&gt;
  
  
  i. Synchronizing to the central repository
&lt;/h3&gt;

&lt;p&gt;To synchronize your local &lt;strong&gt;repository&lt;/strong&gt; to that of the central repository's main branch&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git fetch origin
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Any branch that was behind the central repository's main branch will be downloaded.&lt;/p&gt;

&lt;h3&gt;
  
  
  ii. &lt;span id="sub-fetch"&gt;Fetching a remote branch&lt;/span&gt;
&lt;/h3&gt;

&lt;p&gt;To fetch and update a branch exists locally and remotely or to fetch a remote branch locally. Checkout to that branch&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git fetch &amp;lt;remote&amp;gt; &amp;lt;branch&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;br&gt;&lt;br&gt;
🡅 back to TOC&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  7. &lt;span id="merge"&gt;Merging&lt;/span&gt;
&lt;/h2&gt;

&lt;p&gt;Merging is simply combining (or merging) branches&lt;br&gt;
As a beginner with git, when working in a team with others, I merge my branches on Github (after creating pull requests) so I could compare changes and easily resolve any conflicts. Then pull the work down to my local branch&lt;/p&gt;
&lt;h3&gt;
  
  
  i. &lt;span id="local-merge"&gt;Merging two local branches&lt;/span&gt;
&lt;/h3&gt;

&lt;p&gt;On the terminal, to merge a branch into another, you have to be in the branch you want to merge into. Then run the command&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git merge &amp;lt;branch-to-be-merged&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  ii. Merging a remote branch into a local branch
&lt;/h3&gt;

&lt;p&gt;First fetch the branch, then merge using the merge command above&lt;/p&gt;

</description>
      <category>git</category>
      <category>beginners</category>
      <category>productivity</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Stackoverflow introduces filters</title>
      <dc:creator>𝐁𝐚𝐛𝐢 ✨</dc:creator>
      <pubDate>Fri, 01 Apr 2022 02:18:18 +0000</pubDate>
      <link>https://forem.com/babib/stackover-introduces-filters-51al</link>
      <guid>https://forem.com/babib/stackover-introduces-filters-51al</guid>
      <description>&lt;p&gt;On MARCH 31st 2022, Stackoverflow added &lt;strong&gt;filters&lt;/strong&gt; to its site. There are 8 different styles, looks inspired by the OG GOAT, Windows 95, and Hot Dog mode&lt;/p&gt;

&lt;p&gt;The &lt;a href="https://stackoverflow.blog/2022/03/31/time-to-get-on-trend-filters/?_ga=2.110086597.1968084518.1648723952-1007413870.1641373395"&gt;stackoverflow blog&lt;/a&gt; was, hilariously, a whole vibe but ended with an april fools tag.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--9lzoIYpj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/r7j4pasoe9t33yo29c7n.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--9lzoIYpj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/r7j4pasoe9t33yo29c7n.png" alt="confused meme" width="600" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What are your thoughts on the new trend?&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>news</category>
      <category>watercooler</category>
      <category>aprilfools</category>
    </item>
    <item>
      <title>5 Awesome HTML and CSS projects to build (with codepen preview)</title>
      <dc:creator>𝐁𝐚𝐛𝐢 ✨</dc:creator>
      <pubDate>Mon, 14 Feb 2022 01:42:03 +0000</pubDate>
      <link>https://forem.com/babib/5-awesome-html-and-css-projects-to-build-5en5</link>
      <guid>https://forem.com/babib/5-awesome-html-and-css-projects-to-build-5en5</guid>
      <description>&lt;p&gt;Coding is a fun and exciting practice but how do you measure your progress in your learning journey?&lt;/p&gt;

&lt;p&gt;Here are some cool ideas your could build to put your skills to a test.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Survey Forms&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Survey forms are very popular first projects and are a great way to test your skills on HTML form validation. Also, creating a survey form is a great way to test the different form elements (radio, checkboxes, textareas, etc.) all in one form.&lt;/p&gt;

&lt;p&gt;You could start with a simple form like this:&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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgylog4tikhxrqsrssaii.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%2Fgylog4tikhxrqsrssaii.jpg" alt="form pic"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;and then move to forms with more styling and responsiveness like this &lt;a href="https://codepen.io/babi-b/pen/MWbZJrK" rel="noopener noreferrer"&gt;survey form&lt;/a&gt;: &lt;/p&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/babi-b/embed/MWbZJrK?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Tribute Page&lt;/strong&gt;&lt;br&gt;
A tribute page is one of the simplest web pages you could build as a beginner as it requires just basic skills in HTML and CSS&lt;/p&gt;

&lt;p&gt;You could experiment with different concepts in CSS like adding images, links, paragraphs and then using CSS to beautify the page. This is an example of a simple responsive &lt;a href="https://codepen.io/babi-b/pen/mdOzzZj" rel="noopener noreferrer"&gt;tribute page&lt;/a&gt;:&lt;/p&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/babi-b/embed/mdOzzZj?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;..and this is an example of a vibrant tribute page by &lt;a href="https://codepen.io/michaelsndr/pen/LYYPqpa" rel="noopener noreferrer"&gt;Michael Schneider&lt;/a&gt;:&lt;/p&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/michaelsndr/embed/LYYPqpa?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Landing pages&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Creating a landing page is a delightful process. You let your imaginations fly. Also, you get to test several skills in HTML and CSS like positioning contents on the page, footers, creating columns and sections, color palettes and the list goes on. &lt;/p&gt;

&lt;p&gt;You could start with something simple like Brad Traversy's &lt;a href="https://codepen.io/bradtraversy/pen/BaoWWjb" rel="noopener noreferrer"&gt;video landing page&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/bradtraversy/embed/BaoWWjb?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;and then challenge your skill to build more complicated pages like this &lt;a href="https://codepen.io/babi-b/pen/zYoygoP" rel="noopener noreferrer"&gt;product landing page&lt;/a&gt;:&lt;/p&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/babi-b/embed/zYoygoP?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Technical Documentation&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Even without javascript, it is possible to create a technical documentation page with just HTML and CSS. You have the freedom to create. &lt;/p&gt;

&lt;p&gt;To build the technical documentation, you could use this &lt;a href="https://codepen.io/freeCodeCamp/full/NdrKKL" rel="noopener noreferrer"&gt;sample&lt;/a&gt; freeCodeCamp provides.&lt;/p&gt;

&lt;p&gt;With CSS, you could create sleek documentation page like &lt;a href="https://codepen.io/marcusnapoleon/pen/aPBPdL" rel="noopener noreferrer"&gt;Markus Lising's&lt;/a&gt; page&lt;/p&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/marcusnapoleon/embed/aPBPdL?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;or may decide to spice up your page with animations like this &lt;a href="https://codepen.io/babi-b/pen/qBRdwjo" rel="noopener noreferrer"&gt;documentation&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/babi-b/embed/qBRdwjo?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Personal Portfolio&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;There is a temptation to want to create a portfolio only when you've built more skills or learned more technologies. Good news, you don't need to wait for a certain time in the future. You can do it now, with just HTML and CSS.&lt;/p&gt;

&lt;p&gt;If you have doubts, here a some amazing portfolio's other have built...&lt;/p&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/ThiagoFerreir4/embed/eNMxEp?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;&lt;em&gt;credit&lt;/em&gt;: &lt;a href="https://codepen.io/ThiagoFerreir4/pen/eNMxEp" rel="noopener noreferrer"&gt;Thiago Ferreira&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/gymratpacks/embed/jMwOvg?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;&lt;em&gt;credit&lt;/em&gt;: &lt;a href="https://codepen.io/gymratpacks/pen/jMwOvg" rel="noopener noreferrer"&gt;Aaron Cuddeback&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/thomasvaeth/embed/WQxQem?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;&lt;em&gt;credit&lt;/em&gt;: &lt;a href="https://codepen.io/thomasvaeth/pen/WQxQem" rel="noopener noreferrer"&gt;Thomas Vaeth&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Building project while studying definitely helps grasping knowledge, skills and also learning other things you might have skipped. These are some of the projects I worked on while starting out with HTML and CSS. I hope building them helped you as they helped me.&lt;/p&gt;

&lt;p&gt;Happy coding! 🌱&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Aside:&lt;/strong&gt; All the pens I didn't reference are mine.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;                                                      Babi💞 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

</description>
      <category>html</category>
      <category>css</category>
      <category>webdev</category>
      <category>beginners</category>
    </item>
  </channel>
</rss>
