<?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: codeyStein</title>
    <description>The latest articles on DEV Community by codeyStein (@codeystein).</description>
    <link>https://dev.to/codeystein</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%2F865572%2F50f46e56-51c8-4c1e-b0ff-832505e28341.png</url>
      <title>DEV Community: codeyStein</title>
      <link>https://dev.to/codeystein</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/codeystein"/>
    <language>en</language>
    <item>
      <title>The CSS Gradient Handbook: Mastering Techniques, Tops</title>
      <dc:creator>codeyStein</dc:creator>
      <pubDate>Mon, 11 Sep 2023 12:00:00 +0000</pubDate>
      <link>https://dev.to/codeystein/the-css-gradient-handbook-mastering-techniques-tops-1g2o</link>
      <guid>https://dev.to/codeystein/the-css-gradient-handbook-mastering-techniques-tops-1g2o</guid>
      <description>&lt;p&gt;CSS gradients, a topic which doesn't seem of much importance at once. There is &lt;em&gt;so much&lt;/em&gt; you can do with gradients in CSS I am honestly blown away. Before writing this article the only thing I knew was how to create basic two-colored gradients, (I sometimes forgot how to do that too), but now I realize how much more CSS gradients have to offer!&lt;/p&gt;

&lt;h2&gt;
  
  
  Table Of Contents
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;What Are CSS Gradients And How Do They Work?&lt;/li&gt;
&lt;li&gt;
Working with Linear Gradients

&lt;ul&gt;
&lt;li&gt;Changing Gradient Directions&lt;/li&gt;
&lt;li&gt;Using Angles&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;Creating Gradients with Multiple Colors&lt;/li&gt;
&lt;li&gt;
Using Radial Gradients

&lt;ul&gt;
&lt;li&gt;Positioning The Center of a Gradient&lt;/li&gt;
&lt;li&gt;Radial Gradient Shape&lt;/li&gt;
&lt;li&gt;Sizing Radial Gradients&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;
Working with Conic Gradients

&lt;ul&gt;
&lt;li&gt;Positioning The Center of a Conic Gradient&lt;/li&gt;
&lt;li&gt;Using Angles&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;
Creating Repeating Gradients

&lt;ul&gt;
&lt;li&gt;Repeating Linear Gradients&lt;/li&gt;
&lt;li&gt;Repeating Radial Gradients&lt;/li&gt;
&lt;li&gt;Repeating Conic Gradients&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;
Advanced Techniques

&lt;ul&gt;
&lt;li&gt;Specifying Color Positions&lt;/li&gt;
&lt;li&gt;Create Harsh Lines&lt;/li&gt;
&lt;li&gt;Create Gradient Hints&lt;/li&gt;
&lt;li&gt;Create Stacked Gradients&lt;/li&gt;
&lt;li&gt;Opacity and Overlays&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;Online Resources&lt;/li&gt;
&lt;li&gt;Final Thoughts&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  Gradient Magic: Elevate Your Web Design With CSS Gradients
&lt;/h1&gt;

&lt;h2&gt;
  
  
  What Are CSS Gradients And How Do They Work?
&lt;/h2&gt;

&lt;p&gt;You can set boring solid colors in CSS pretty easily, it's one of the first things we learn when learning CSS, however, you can also create smooth color gradients with CSS. Before writing this article, I honestly had no idea that you could do so much with gradients, I only knew how to make two-colored gradients; turns out, that gradients can do a lot more than that.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/d2YVk2ZRuQuqvVlu/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/d2YVk2ZRuQuqvVlu/giphy.gif" alt="The Mo' You Know Gif" width="500" height="250"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Colors gradients in CSS are defined with the CSS &lt;code&gt;image&lt;/code&gt; data type, meaning they can be used anywhere you can use the image data type. They are made by smoothly transitioning between two or multiple colors. There are three main types of gradients:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
Linear Gradients (goes directions: up, down, left, right, and diagonally),&lt;/li&gt;
&lt;li&gt;
Radial Gradients (defined by their center point, then expands from that point),&lt;/li&gt;
&lt;li&gt;
Conic Gradients (rotated around a center point)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;However, you can also make some pretty cool patterns by repeating gradients using the functions: &lt;code&gt;reapting-linear-gradient()&lt;/code&gt;, &lt;code&gt;reapting-radial-gradient()&lt;/code&gt;, and &lt;code&gt;reapting-conical-gradient()&lt;/code&gt; respectfully.&lt;/p&gt;

&lt;p&gt;Basic syntax example:&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="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;gradient-type&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nt"&gt;-gradient&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nt"&gt;direction&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nt"&gt;color1&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nt"&gt;color2&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nt"&gt;color3&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="o"&gt;...);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;CSS gradients are rendered by the browser, meaning that they can be resized without any noticeable delay loss of quality, unlike traditional raster images.&lt;/p&gt;

&lt;h2&gt;
  
  
  Working with Linear Gradients
&lt;/h2&gt;

&lt;p&gt;Let's start with the basics, then work our way up. Linear gradients, you've probably used them. They create progress in a straight line. You need at least two colors to define a linear gradient, which will be shown in a top-down direction if no direction or angle is specified. &lt;/p&gt;

&lt;p&gt;Linear gradient syntax:&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="nt"&gt;linear-gradient&lt;/span&gt;&lt;span class="o"&gt;(&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;direction-angle&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;,&lt;/span&gt; &lt;span class="nt"&gt;first-color&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="o"&gt;...,&lt;/span&gt; &lt;span class="nt"&gt;last-color&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Here's a basic example:&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;.gradient&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="no"&gt;purple&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="err"&gt;//&lt;/span&gt; &lt;span class="err"&gt;For&lt;/span&gt; &lt;span class="err"&gt;browsers&lt;/span&gt; &lt;span class="err"&gt;that&lt;/span&gt; &lt;span class="err"&gt;do&lt;/span&gt; &lt;span class="err"&gt;not&lt;/span&gt; &lt;span class="err"&gt;support&lt;/span&gt; &lt;span class="err"&gt;gradients,&lt;/span&gt; &lt;span class="err"&gt;which&lt;/span&gt; &lt;span class="err"&gt;shouldn't&lt;/span&gt; &lt;span class="err"&gt;be&lt;/span&gt; &lt;span class="err"&gt;a&lt;/span&gt; &lt;span class="err"&gt;problem,&lt;/span&gt; &lt;span class="err"&gt;will&lt;/span&gt; &lt;span class="err"&gt;be&lt;/span&gt; &lt;span class="err"&gt;treated&lt;/span&gt; &lt;span class="err"&gt;as&lt;/span&gt; &lt;span class="err"&gt;a&lt;/span&gt; &lt;span class="err"&gt;fallback&lt;/span&gt;

      &lt;span class="nl"&gt;background-image&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;linear-gradient&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="no"&gt;red&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="no"&gt;blue&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="err"&gt;//&lt;/span&gt; &lt;span class="err"&gt;Will&lt;/span&gt; &lt;span class="err"&gt;be&lt;/span&gt; &lt;span class="err"&gt;shown&lt;/span&gt; &lt;span class="err"&gt;if&lt;/span&gt; &lt;span class="err"&gt;browser&lt;/span&gt; &lt;span class="err"&gt;does&lt;/span&gt; &lt;span class="err"&gt;support&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="err"&gt;```&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="err"&gt;%&lt;/span&gt; &lt;span class="err"&gt;endraw&lt;/span&gt; &lt;span class="err"&gt;%&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;



&lt;span class="o"&gt;![&lt;/span&gt;&lt;span class="nt"&gt;Basic&lt;/span&gt; &lt;span class="nt"&gt;linear&lt;/span&gt; &lt;span class="nt"&gt;gradient&lt;/span&gt; &lt;span class="nt"&gt;example&lt;/span&gt;&lt;span class="o"&gt;](&lt;/span&gt;&lt;span class="nt"&gt;https&lt;/span&gt;&lt;span class="o"&gt;://&lt;/span&gt;&lt;span class="nt"&gt;dev-to-uploads&lt;/span&gt;&lt;span class="nc"&gt;.s3.amazonaws.com&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nt"&gt;uploads&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nt"&gt;articles&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nt"&gt;o8zxulu6xikfuy22ui3c&lt;/span&gt;&lt;span class="nc"&gt;.png&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;

&lt;span class="err"&gt;###&lt;/span&gt; &lt;span class="nt"&gt;Changing&lt;/span&gt; &lt;span class="nt"&gt;Gradient&lt;/span&gt; &lt;span class="nt"&gt;Directions&lt;/span&gt;
 &lt;span class="nt"&gt;By&lt;/span&gt; &lt;span class="nt"&gt;default&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nt"&gt;gradients&lt;/span&gt; &lt;span class="nt"&gt;progress&lt;/span&gt; &lt;span class="nt"&gt;from&lt;/span&gt; &lt;span class="nt"&gt;top&lt;/span&gt; &lt;span class="nt"&gt;to&lt;/span&gt; &lt;span class="nt"&gt;bottom&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nt"&gt;you&lt;/span&gt; &lt;span class="nt"&gt;can&lt;/span&gt; &lt;span class="nt"&gt;change&lt;/span&gt; &lt;span class="nt"&gt;this&lt;/span&gt; &lt;span class="nt"&gt;by&lt;/span&gt; &lt;span class="nt"&gt;writing&lt;/span&gt; &lt;span class="nt"&gt;the&lt;/span&gt; &lt;span class="nt"&gt;desired&lt;/span&gt; &lt;span class="nt"&gt;direction&lt;/span&gt; &lt;span class="nt"&gt;before&lt;/span&gt; &lt;span class="nt"&gt;specifying&lt;/span&gt; &lt;span class="nt"&gt;your&lt;/span&gt; &lt;span class="nt"&gt;colors&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nt"&gt;like&lt;/span&gt; &lt;span class="nt"&gt;this&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="err"&gt;%&lt;/span&gt; &lt;span class="err"&gt;raw&lt;/span&gt; &lt;span class="err"&gt;%&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="err"&gt;```&lt;/span&gt;&lt;span class="nt"&gt;CSS&lt;/span&gt;
  &lt;span class="nc"&gt;.gradient&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="no"&gt;purple&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

      &lt;span class="nl"&gt;background-image&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;linear-gradient&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;to&lt;/span&gt; &lt;span class="nb"&gt;right&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="no"&gt;red&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="no"&gt;blue&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;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--B4ySADYY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ovew2bzv6ctw6o8j0qzv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--B4ySADYY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ovew2bzv6ctw6o8j0qzv.png" alt="Linear gradient example using directions" width="120" height="120"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Easy enough, right?&lt;br&gt;
Here are some other direction options for linear gradients:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;(default) &lt;code&gt;to bottom&lt;/code&gt; - sets the direction of colors to be north to south.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;to top&lt;/code&gt; - sets the direction of colors to be north to south.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;to right&lt;/code&gt; - sets the direction of colors to be west to east.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;to left&lt;/code&gt; - sets the direction of colors to be east to west.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can also define diagonal angles using directions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;to bottom right&lt;/code&gt; - sets the direction of colors to be northwest to southeast.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;to bottom left&lt;/code&gt; - sets the direction of colors to be northeast to south-est.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;to top right&lt;/code&gt; - sets the direction of colors to be southeast to northwest.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;to top left&lt;/code&gt; - sets the direction of colors to be southwest to south-east.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Simple example using to bottom right:&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;.gradient&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="no"&gt;purple&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

      &lt;span class="nl"&gt;background-image&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;linear-gradient&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;to&lt;/span&gt; &lt;span class="nb"&gt;bottom&lt;/span&gt; &lt;span class="nb"&gt;right&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="no"&gt;red&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="no"&gt;blue&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;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Qk4AJiH9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gfp9s09kz6cie5p3w5ll.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Qk4AJiH9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gfp9s09kz6cie5p3w5ll.png" alt="diagonal linear gradient example" width="120" height="120"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Using Angles
&lt;/h3&gt;

&lt;p&gt;Accustomed to over-engineering things like the typical programmer? (JK, you can also use angles to achieve more specific angles) Don't worry, you can also use angles to define directions, like this:&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;.gradient&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="no"&gt;purple&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

      &lt;span class="nl"&gt;background-image&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;linear-gradient&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;110deg&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="no"&gt;red&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="no"&gt;blue&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;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--PbPtoery--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/le258rpgbwy0y459hrrl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--PbPtoery--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/le258rpgbwy0y459hrrl.png" alt="Linear gradient using angles example" width="120" height="120"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Angles can be confusing. Here's a quick but very useful to use when working with angles, thanks &lt;a href="https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_images/Using_CSS_gradients#using_linear_gradients"&gt;mdn web docks!&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--UkiRpcM7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_images/Using_CSS_gradients/linear_red_angles.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--UkiRpcM7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_images/Using_CSS_gradients/linear_red_angles.png" alt="" width="488" height="122"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Creating Gradients with Multiple Colors
&lt;/h2&gt;

&lt;p&gt;You can also create gradients with multiple color stops too, you don't have to limit yourself to only two. You can specify where you want your color stops to be, however, by default, they will be spaced evenly. &lt;/p&gt;

&lt;p&gt;Here's an example of a rainbow (7 colors) gradient with no direction or angle specified (top-down):&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;.gradient&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="no"&gt;purple&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

      &lt;span class="nl"&gt;background-image&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;linear-gradient&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="no"&gt;red&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="no"&gt;orange&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="no"&gt;yellow&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="no"&gt;green&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="no"&gt;cyan&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="no"&gt;blue&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="no"&gt;violet&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;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--5ScKL7es--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/795voinnx3mbzqco3nrv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--5ScKL7es--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/795voinnx3mbzqco3nrv.png" alt="rainbow top down gradient example" width="120" height="120"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;However, you can also use directions:&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;.gradient&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="no"&gt;purple&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

      &lt;span class="nl"&gt;background-image&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;linear-gradient&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;to&lt;/span&gt; &lt;span class="nb"&gt;right&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="no"&gt;red&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="no"&gt;orange&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="no"&gt;yellow&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="no"&gt;green&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="no"&gt;cyan&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="no"&gt;blue&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="no"&gt;violet&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;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--wOUlSVAE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9i7yphiwmiud0yxvqolp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--wOUlSVAE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9i7yphiwmiud0yxvqolp.png" alt="rainbow to right gradient example" width="120" height="120"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Or angles:&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;.gradient&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="no"&gt;purple&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

      &lt;span class="nl"&gt;background-image&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;linear-gradient&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;70deg&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="no"&gt;red&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="no"&gt;orange&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="no"&gt;yellow&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="no"&gt;green&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="no"&gt;cyan&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="no"&gt;blue&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="no"&gt;violet&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;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--htNwrKEh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tp5c0zpmrq0gew9494lu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--htNwrKEh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tp5c0zpmrq0gew9494lu.png" alt="Rainbow gradient example using angles" width="120" height="120"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Using Radial Gradients
&lt;/h2&gt;

&lt;p&gt;Radial gradients are similar to linear gradients except, unlike linear gradients, they don't progress in a straight line but instead are defined by their center point and then expand from that point.&lt;/p&gt;

&lt;p&gt;Radial gradient syntax:&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="nt"&gt;radial-gradient&lt;/span&gt;&lt;span class="o"&gt;(&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;shape&lt;/span&gt; &lt;span class="nt"&gt;size&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="nt"&gt;at&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;position&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;,&lt;/span&gt; &lt;span class="nt"&gt;color1&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nt"&gt;color2&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nt"&gt;color3&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="o"&gt;...);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Like linear gradients, to create a simple radial gradient, you only need two colors. By default, the colors will be evenly distributed, and the shape will match the aspect ratio of its container, by default elliptical.&lt;/p&gt;

&lt;p&gt;A simple radial gradient can be defined like this:&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;.gradient&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="no"&gt;purple&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

      &lt;span class="nl"&gt;background-image&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;radial-gradient&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="no"&gt;red&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="no"&gt;blue&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;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--PZV0DXGq--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2dwtpcvmjo9n2pu5mni0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--PZV0DXGq--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2dwtpcvmjo9n2pu5mni0.png" alt="Image description" width="120" height="120"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Positioning The Center of a Gradient
&lt;/h3&gt;

&lt;p&gt;Radial gradients are defined by their center, however, you can also specify the center of the gradient using keywords (similar to how we position linear-gradients), percentages, or absolute values.&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;.gradient&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="no"&gt;purple&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

      &lt;span class="nl"&gt;background&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;radial-gradient&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;at&lt;/span&gt; &lt;span class="m"&gt;0%&lt;/span&gt; &lt;span class="m"&gt;45%&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="no"&gt;red&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="no"&gt;blue&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;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--10D2eTHB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5elpecmwmx071p6i585p.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--10D2eTHB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5elpecmwmx071p6i585p.png" alt="Positioning center of radial gradient example" width="120" height="120"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Radial Gradient Shape
&lt;/h3&gt;

&lt;p&gt;Radial gradients can have the shape of either a circle or ellipse; ellipse being the default value.&lt;/p&gt;

&lt;p&gt;Here's an example of a circle radial gradient&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;.gradient&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="no"&gt;purple&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

      &lt;span class="nl"&gt;background-image&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;radial-gradient&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;circle&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="no"&gt;red&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="no"&gt;blue&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;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--EOqkMksk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/shuvu6rxr5i66wppx8ig.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--EOqkMksk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/shuvu6rxr5i66wppx8ig.png" alt="circle radial gradient example" width="120" height="120"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Sizing Radial Gradients
&lt;/h3&gt;

&lt;p&gt;You can also specify the size of radial gradients, kind of like how you would specify the position of a linear-gradient.&lt;/p&gt;

&lt;p&gt;There are 4 total keywords you could use to specify the size of a gradient:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;(default) &lt;code&gt;farthest-corner&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;closest-corner&lt;/code&gt;,&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;closest-side&lt;/code&gt;,&lt;/li&gt;
&lt;li&gt;&lt;code&gt;farthest-side&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  farthest-corner (default) example:
&lt;/h4&gt;

&lt;p&gt;Makes the gradient reach the farthest corner of its container. This means it will extend from the center to the point where it is farthest from the center.&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;.gradient&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="no"&gt;purple&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

  &lt;span class="nl"&gt;background-image&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;radial-gradient&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;ellipse&lt;/span&gt; &lt;span class="n"&gt;farthest-corner&lt;/span&gt; &lt;span class="n"&gt;at&lt;/span&gt; &lt;span class="m"&gt;90%&lt;/span&gt; &lt;span class="m"&gt;90%&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="no"&gt;red&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="no"&gt;yellow&lt;/span&gt; &lt;span class="m"&gt;10%&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="no"&gt;blue&lt;/span&gt; &lt;span class="m"&gt;50%&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="no"&gt;green&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;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--oa4Wn_w8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/78c84ax7dfidyhbkam6w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--oa4Wn_w8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/78c84ax7dfidyhbkam6w.png" alt="farthest-corner example" width="120" height="120"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  farthest-side example
&lt;/h4&gt;

&lt;p&gt;Makes the gradient reach the farthest side of its container. Meaning that it will extend from the center to the point where it's at the farthest point of the center, reaching the edge of its container.&lt;/p&gt;

&lt;p&gt;I found this one a little confusing at first, as well as the difference between &lt;code&gt;farthest-corner&lt;/code&gt; and &lt;code&gt;farthest-side&lt;/code&gt;; the example demonstrates the difference as well as what it does a little bit easier:&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;.gradient&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="no"&gt;purple&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

      &lt;span class="nl"&gt;background-image&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;radial-gradient&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
        &lt;span class="n"&gt;ellipse&lt;/span&gt; &lt;span class="n"&gt;farthest-side&lt;/span&gt; &lt;span class="n"&gt;at&lt;/span&gt; &lt;span class="m"&gt;90%&lt;/span&gt; &lt;span class="m"&gt;90%&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="no"&gt;red&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="no"&gt;yellow&lt;/span&gt; &lt;span class="m"&gt;10%&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="no"&gt;blue&lt;/span&gt; &lt;span class="m"&gt;50%&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="no"&gt;green&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;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--3KzH42CP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/365ei0swxnj9tcsc3wth.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--3KzH42CP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/365ei0swxnj9tcsc3wth.png" alt="Image description" width="120" height="120"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  closest-corner example:
&lt;/h4&gt;

&lt;p&gt;This makes the gradient reach the closest corner of its container. Meaning that it will extend from the center to the point where it's closest to the center.&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;.gradient&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="no"&gt;purple&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

      &lt;span class="nl"&gt;background-image&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;radial-gradient&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
        &lt;span class="n"&gt;ellipse&lt;/span&gt; &lt;span class="n"&gt;closest-corner&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="no"&gt;red&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="no"&gt;yellow&lt;/span&gt; &lt;span class="m"&gt;10%&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="no"&gt;blue&lt;/span&gt; &lt;span class="m"&gt;50%&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="no"&gt;green&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;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--IkSqrXD0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/c6pvfy27yxrzy60asuyz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--IkSqrXD0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/c6pvfy27yxrzy60asuyz.png" alt="closest-corner radial gradient example" width="120" height="120"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;closest-side example:&lt;/strong&gt;&lt;br&gt;
Makes the gradient reach the closest side of its container. This means that if you're using radial-gradient as a background, it will extend from the center, to the point where it's closest to the center making it stop before it reaches the edge of the container.&lt;/p&gt;

&lt;p&gt;Similar to &lt;code&gt;farthest-side&lt;/code&gt;, the difference between the &lt;code&gt;closest-corner&lt;/code&gt; and &lt;code&gt;closest-side&lt;/code&gt; is more evident in an example:&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;.gradient&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="no"&gt;purple&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

      &lt;span class="nl"&gt;background-image&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;radial-gradient&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
        &lt;span class="n"&gt;ellipse&lt;/span&gt; &lt;span class="n"&gt;closest-side&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="no"&gt;red&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="no"&gt;yellow&lt;/span&gt; &lt;span class="m"&gt;10%&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="no"&gt;blue&lt;/span&gt; &lt;span class="m"&gt;50%&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="no"&gt;green&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;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--XBzbGCOs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dya2806pxpv8chqrekoq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--XBzbGCOs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dya2806pxpv8chqrekoq.png" alt="closest-side radial-gradient example" width="120" height="120"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Working with Conic Gradients
&lt;/h2&gt;

&lt;p&gt;In my opinion, the most fun of the three, the conic gradient creates a gradient that rotates around a center point. Which leads to different fun effects. When used with the right colors and the right angle, it might look just like a cone (hence the name, "conic").&lt;/p&gt;

&lt;p&gt;Like the &lt;code&gt;linear-gradient&lt;/code&gt; and &lt;code&gt;radial-gradient&lt;/code&gt;, they require at least two colors. A conic gradient will not accept an absolute value for the color stops, but instead degrees or percentages. Color stops are start at the top, and then progress in a clockwise direction. &lt;/p&gt;

&lt;p&gt;Syntax:&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="nt"&gt;conic-gradient&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nt"&gt;from&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;angle&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="nt"&gt;at&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;position&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;,&lt;/span&gt; &lt;span class="nt"&gt;firstColor&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;degree&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;,&lt;/span&gt; &lt;span class="o"&gt;...,&lt;/span&gt; &lt;span class="nt"&gt;finalColor&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;degree&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;By default, the angle is set to 0deg and the position is centered. If no angle is specified, if no degree is specified in a color stop, they will be spread equally.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;RELATED:&lt;/strong&gt; &lt;a href="https://the-net-blog.netlify.app/post/five-underated-css-properties-you-need-to-try-out/"&gt;⭐️  Five Underated CSS Properties You NEED to Try Out!&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Basic Example:&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;.gradient&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="no"&gt;purple&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

      &lt;span class="nl"&gt;background-image&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;conical-gradient&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="no"&gt;red&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="no"&gt;blue&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;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--kzaX3HZ---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/idid69kc55znn7hcbpfq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--kzaX3HZ---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/idid69kc55znn7hcbpfq.png" alt="Basic conical gradient example" width="120" height="120"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Positioning The Center of a Conic Gradient
&lt;/h3&gt;

&lt;p&gt;Similar to radial gradients, you can position the center point that a gradient will rotate around using key terms, percentages, or absolute values using the keyword &lt;code&gt;at&lt;/code&gt;.&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;.gradient&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="no"&gt;purple&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

          &lt;span class="nl"&gt;background-image&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;conical-gradient&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;at&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;75%&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="no"&gt;red&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="no"&gt;blue&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;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--bV1nPUhU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/o0blgmma4inkzyerii7c.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--bV1nPUhU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/o0blgmma4inkzyerii7c.png" alt="positioning center of conic gradient example" width="120" height="120"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Using Angles
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;from &amp;lt;angle&amp;gt;&lt;/code&gt;, specifies the starting angle by which the conic gradient will be rotated. You can also define the angle for specific color stops by including a degree after it.&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;.gradient&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="no"&gt;purple&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

        &lt;span class="nl"&gt;background-image&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;conic-gradient&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;from&lt;/span&gt; &lt;span class="m"&gt;90deg&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="no"&gt;red&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="no"&gt;yellow&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="no"&gt;blue&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;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--s3XqYIuR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zd0ho98q8lz4hzqv0gtl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--s3XqYIuR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zd0ho98q8lz4hzqv0gtl.png" alt="angles in conical gradient example" width="120" height="120"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In this example, we specified &lt;code&gt;from 90deg&lt;/code&gt;, meaning that our gradient will run through the colors red, yellow, and blue starting at 90 degrees.&lt;/p&gt;

&lt;h2&gt;
  
  
  Creating Repeating Gradients
&lt;/h2&gt;

&lt;p&gt;By default, we can't repeat the color stops in a &lt;code&gt;linear-gradient&lt;/code&gt;, &lt;code&gt;radial-gradient&lt;/code&gt;, or &lt;code&gt;conical-gradient&lt;/code&gt;. However, we have the equivalent &lt;code&gt;repeating-linear-gradient&lt;/code&gt;, &lt;code&gt;repeating-radial-gradient&lt;/code&gt;, and &lt;code&gt;repeating-conical-gradient&lt;/code&gt; functions that do allow this type of functionality.&lt;/p&gt;

&lt;p&gt;Repeating gradients allows us to create cool and interesting patterns using only CSS and the power of gradients.&lt;/p&gt;

&lt;h3&gt;
  
  
  Repeating Linear Gradients
&lt;/h3&gt;

&lt;p&gt;In the following example, we have a repeated linear gradient at 45 degrees. It starts in red, then we have another red color stop at 5px then we have a blue color stop at 5px, and a final blue color stop at 10px. The different reds and blues color stops create the repeating striped pattern.&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;.gradient&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="no"&gt;purple&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

        &lt;span class="nl"&gt;background-image&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;repeating-linear-gradient&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
        &lt;span class="m"&gt;45deg&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
        &lt;span class="no"&gt;red&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
        &lt;span class="no"&gt;red&lt;/span&gt; &lt;span class="m"&gt;5px&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="no"&gt;blue&lt;/span&gt; &lt;span class="m"&gt;5px&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="no"&gt;blue&lt;/span&gt; &lt;span class="m"&gt;10px&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;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--qqD2uF1j--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/a1t89l6q9uoswgujvrvb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--qqD2uF1j--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/a1t89l6q9uoswgujvrvb.png" alt="Repeating linear gradient example" width="120" height="120"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Repeating Radial Gradients
&lt;/h3&gt;

&lt;p&gt;Here, we have a similar example, except with a radial gradient, meaning it will expand from the center point outward, and not progress in a linear line.&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;.gradient&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="no"&gt;purple&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

      &lt;span class="nl"&gt;background&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;repeating-radial-gradient&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
        &lt;span class="no"&gt;red&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="no"&gt;red&lt;/span&gt; &lt;span class="m"&gt;5px&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="no"&gt;blue&lt;/span&gt; &lt;span class="m"&gt;5px&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="no"&gt;blue&lt;/span&gt; &lt;span class="m"&gt;10px&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;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--EVLbdiAX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/s36zujtqfubxgy7j9yfs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--EVLbdiAX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/s36zujtqfubxgy7j9yfs.png" alt="repeating radial gradient example" width="120" height="120"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Repeating Conic Gradients
&lt;/h3&gt;

&lt;p&gt;In this example, we have a repeated conic gradient that starts with red at 0 degrees (at the top of a circle) until it reaches 50 degrees. Then we have a final blue color stop that starts from blue until we reach 90 degrees. This is then repeated.&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;.gradient&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="no"&gt;purple&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

      &lt;span class="nl"&gt;background&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;repeating-conic-gradient&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
          &lt;span class="no"&gt;red&lt;/span&gt; &lt;span class="m"&gt;0deg&lt;/span&gt; &lt;span class="m"&gt;50deg&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
          &lt;span class="no"&gt;blue&lt;/span&gt; &lt;span class="m"&gt;50deg&lt;/span&gt; &lt;span class="m"&gt;90deg&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;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--VrbLTDRO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jxdmwpvjf34jixmhi1kf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--VrbLTDRO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jxdmwpvjf34jixmhi1kf.png" alt="repeating conic gradients example" width="120" height="120"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Advanced Techniques
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Specifying Color Positions
&lt;/h3&gt;

&lt;p&gt;By default, color-stop positions will range from 0% to 100%, however, we can specify where we want to position each of our color stops using absolute values, and percentages.&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;.gradient&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="no"&gt;purple&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

      &lt;span class="nl"&gt;background&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;linear-gradient&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;to&lt;/span&gt; &lt;span class="nb"&gt;right&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="no"&gt;blue&lt;/span&gt; &lt;span class="m"&gt;16px&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="no"&gt;red&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="no"&gt;yellow&lt;/span&gt; &lt;span class="m"&gt;75%&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;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--fdU5ITHl--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5r261c4gamfpurlglv61.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--fdU5ITHl--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5r261c4gamfpurlglv61.png" alt="Color position example" width="120" height="120"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Create Harsh Lines
&lt;/h3&gt;

&lt;p&gt;However, we may also want to create harsh or more abrupt lines with no gradual transitioning between. In this example, where we have two colors, we have our first color stop, red, which goes through it reaches 50% of the container's height, after that, we have an abrupt change to blue with no gradual transition between the two.&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;.gradient&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="no"&gt;purple&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

      &lt;span class="nl"&gt;background&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;linear-gradient&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;to&lt;/span&gt; &lt;span class="nb"&gt;bottom&lt;/span&gt; &lt;span class="nb"&gt;right&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="no"&gt;red&lt;/span&gt; &lt;span class="m"&gt;50%&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="no"&gt;blue&lt;/span&gt; &lt;span class="m"&gt;50%&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;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--BB4o6J2F--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/72fg7lwefnselidj896w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--BB4o6J2F--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/72fg7lwefnselidj896w.png" alt="Creating hard-lined gradients" width="120" height="120"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Create Gradient Hints
&lt;/h3&gt;

&lt;p&gt;Gradient hints allow you to transition from one color to another in specific percentages, or absolute values of a gradient. Here's an example comparing a default linear gradient with a gradient that has a color hint.&lt;/p&gt;

&lt;p&gt;Gradient hint:&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;.gradient&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="no"&gt;purple&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

        &lt;span class="nl"&gt;background-image&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;linear-gradient&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="no"&gt;red&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;10%&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="no"&gt;blue&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;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--twDbTdzR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rpjug0ozbduyopf8k8rd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--twDbTdzR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rpjug0ozbduyopf8k8rd.png" alt="gradient hint example" width="120" height="120"&gt;&lt;/a&gt;&lt;br&gt;
Basic linear gradient, with no hint.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--QYIFE76O--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/o8zxulu6xikfuy22ui3c.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--QYIFE76O--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/o8zxulu6xikfuy22ui3c.png" alt="Basic linear gradient example" width="120" height="120"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Create Stacked Gradients
&lt;/h3&gt;
&lt;h3&gt;
  
  
  Opacity and Overlays
&lt;/h3&gt;

&lt;p&gt;Gradients can even be stacked on top of one another. The gradients will still be visible as long as the top ones aren't fully opaque.&lt;/p&gt;

&lt;p&gt;This is better understood with an example:&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;.gradient&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="no"&gt;purple&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

      &lt;span class="nl"&gt;background&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;linear-gradient&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
            &lt;span class="m"&gt;217deg&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="n"&gt;rgba&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="m"&gt;0.8&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
            &lt;span class="n"&gt;rgba&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="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="m"&gt;70.71%&lt;/span&gt;
         &lt;span class="p"&gt;),&lt;/span&gt; 
        &lt;span class="n"&gt;linear-gradient&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
          &lt;span class="m"&gt;127deg&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
          &lt;span class="n"&gt;rgba&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="m"&gt;0.8&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
          &lt;span class="n"&gt;rgba&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="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
          &lt;span class="m"&gt;70.71%&lt;/span&gt;
        &lt;span class="p"&gt;),&lt;/span&gt;
          &lt;span class="n"&gt;linear-gradient&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
          &lt;span class="m"&gt;336deg&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
          &lt;span class="n"&gt;rgba&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="m"&gt;0.8&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
          &lt;span class="n"&gt;rgba&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="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="m"&gt;70.71%&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;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--_fQzKv5c--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hvpjbhqnspqyzxn2e2q6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--_fQzKv5c--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hvpjbhqnspqyzxn2e2q6.png" alt="overlaying gradient example" width="120" height="120"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In this example, we're combining three different gradients to create a singular image. Our first gradient starts at 217 degrees (or a more-or-less &lt;code&gt;to bottom-left&lt;/code&gt; direction), with the first color stop being red with an alpha value of 0.8. Then our second color stop is also red, except we have no alpha value (alpha values are needed to get an overlaying gradient) but instead, we specify the color stop's position to end at 70.71%. This is repeated with each gradient, with the only thing that changes being the color (the second gradient uses green, and the third one uses blue), as well as the degree of the gradient.&lt;/p&gt;

&lt;p&gt;To understand how these are overlayed, here are the three gradients put separately:&lt;/p&gt;

&lt;p&gt;Gradient one:&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--E8_MHJ5U--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vro4zahnie3p7g7xc2vz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--E8_MHJ5U--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vro4zahnie3p7g7xc2vz.png" alt="overlaying gradient one" width="120" height="120"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Gradient two:&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--___b784d--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dp008a0px2dowweza217.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--___b784d--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dp008a0px2dowweza217.png" alt="overlaying gradient two" width="120" height="120"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Gradient three:&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--z9uxbzyR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/d0q3ucjuvcnxrrlpkorx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--z9uxbzyR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/d0q3ucjuvcnxrrlpkorx.png" alt="Image description" width="120" height="120"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Due to them having an alpha value, when combined we see a mixture of these three gradients.&lt;/p&gt;

&lt;h2&gt;
  
  
  Online Resources
&lt;/h2&gt;

&lt;p&gt;Before we end, I want to mention a few online resources that have helped me understand CSS gradients better, as well as provide some online resources that make the creation of these complicated creatures easier, if you have read through this article (which btw, I admire you if you did and appreciate it very much), you might have noticed that they might not be the most fun thing to work with.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The &lt;a href="https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Images/Using_CSS_gradients"&gt;MDN Web Docs: Using CSS Gradients&lt;/a&gt; have been a huge help in the creation of this article, their docs are well-written (and &lt;a href="https://the-net-blog.netlify.app/post/what-is-open-source/"&gt;open-source&lt;/a&gt;). 

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://www.w3schools.com/css/css3_gradients.asp"&gt;w3school's&lt;/a&gt; docs on CSS gradients are appropriate for beginners&lt;/li&gt;
&lt;li&gt;Both &lt;a href="https://css-tricks.com/css3-gradients/"&gt;CSS gradients&lt;/a&gt; (Chris Coyier) and &lt;a href="https://css-tricks.com/a-complete-guide-to-css-gradients/"&gt;A Complete Guide to CSS Gradients&lt;/a&gt; (Geoff Graham) from CSSTricks are awesome articles that are worth the read!
## Final Thoughts
This has been the longest article I've written (characters). So I help it's of much help for you to understand gradients. My idea to write an article about gradients was actually to teach web developers and designers how to effectively use gradients to enhance their users' web experience, but it kind of turned out looking kind of like a documentation : / (which btw, if you're stuck choosing colors, this article about color psychology might be the way to create effective and engaging designs and logos). &lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://the-net-blog.netlify.app/"&gt;🏠  Home Page&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://the-net-blog.netlify.app/post/color-psychology-for-web-developers-enhance-user-experience-and-engagement/"&gt;🔥  Color Psychology for Web Developers Enhance User Experience and Engagement&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>css</category>
      <category>design</category>
      <category>documentation</category>
    </item>
    <item>
      <title>Color Psychology for Web Developers Enhance User Experience and Engagement</title>
      <dc:creator>codeyStein</dc:creator>
      <pubDate>Mon, 04 Sep 2023 12:00:00 +0000</pubDate>
      <link>https://dev.to/codeystein/color-psychology-for-web-developers-enhance-user-experience-and-engagement-1n61</link>
      <guid>https://dev.to/codeystein/color-psychology-for-web-developers-enhance-user-experience-and-engagement-1n61</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;Quick Plug before we get started: If you like what you read, feel free to read more over at &lt;a href="https://the-net-blog.netlify.app/"&gt;my blog site&lt;/a&gt;, or read this article in &lt;a href="https://the-net-blog.netlify.app/post/color-psychology-for-web-developers-enhance-user-experience-and-engagement/"&gt;my blog site&lt;/a&gt;, thanks!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Colour psychology is a powerful tool for developers and designers alike. Understanding the fundamentals of color psychology is essential for creating effective designs and having a better user experience.&lt;/p&gt;

&lt;p&gt;In this article, we'll learn how to use color psychology effectively, and how each colour can impact your design and when you should use each colour. If you find this useful, share it to someone who might be able to use this and bookmark this article so you can go through it again when you're creating a new design!&lt;/p&gt;

&lt;h2&gt;
  
  
  Table Of Contents
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Introduction&lt;/li&gt;
&lt;li&gt;What Is Color Psychology&lt;/li&gt;
&lt;li&gt;red&lt;/li&gt;
&lt;li&gt;orange&lt;/li&gt;
&lt;li&gt;yellow&lt;/li&gt;
&lt;li&gt;green&lt;/li&gt;
&lt;li&gt;blue&lt;/li&gt;
&lt;li&gt;purple&lt;/li&gt;
&lt;li&gt;brown&lt;/li&gt;
&lt;li&gt;black&lt;/li&gt;
&lt;li&gt;white&lt;/li&gt;
&lt;li&gt;conclusion&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Take a look at these three successful brand logos:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--kgYFRLNy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sczl85nrtxdg1s5ly74i.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--kgYFRLNy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sczl85nrtxdg1s5ly74i.png" alt="Red Fast Food Logos" width="800" height="500"&gt;&lt;/a&gt;&lt;br&gt;
What do they all have in common? They are all red, and they are all in the fast-food industry.&lt;br&gt;
But why did they choose red?&lt;/p&gt;

&lt;p&gt;What about these two:&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--PeaVWAhN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/k507wo36ebmdz66ec1ro.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--PeaVWAhN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/k507wo36ebmdz66ec1ro.png" alt="Black Luxury Logos" width="800" height="500"&gt;&lt;/a&gt;&lt;br&gt;
What do they all have in common? They are black logos for luxurious brands. But why did they choose black?&lt;/p&gt;

&lt;p&gt;Color psychology is why.&lt;/p&gt;

&lt;p&gt;Have you ever seen a meditation app logo with warm, red colors? Or a website educating people about&lt;br&gt;
planting trees with purple colors?&lt;/p&gt;

&lt;h1&gt;
  
  
  What Is Color Psychology
&lt;/h1&gt;

&lt;p&gt;colour psychology is the study of how different color hues cause different human behaviors.&lt;br&gt;
People's emotions can be influenced by the various characteristics of a color. In design,&lt;br&gt;
this is an important subject, as we can use this to our advantage to make more engaging designs,&lt;br&gt;
which is what we'll learn in this article.&lt;/p&gt;

&lt;h1&gt;
  
  
  Red
&lt;/h1&gt;

&lt;p&gt;Red shows anger, excitement, energy, war, danger, strength, power, passion, courage, determination,&lt;br&gt;
attention, and love. It's the colour of fire and it stimulates hunger, it's used to create urgency,&lt;br&gt;
draw attention, caution, and encouragement.&lt;/p&gt;

&lt;p&gt;This is why most fast food logos are red. And also why this is a good option if you're making another fast-food greasy restaurant as red will stimulate hunger and draw attention.&lt;/p&gt;

&lt;h2&gt;
  
  
  Examples
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--kgYFRLNy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sczl85nrtxdg1s5ly74i.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--kgYFRLNy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sczl85nrtxdg1s5ly74i.png" alt="Red Logos" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  orange
&lt;/h1&gt;

&lt;p&gt;Orange is a combination of red and yellow. It shows joy, sunshine, and tropics. It represents enthusiasm,&lt;br&gt;
fascination, happiness, creativity, determination, attraction, success, and encouragement. It shows&lt;br&gt;
communication, and fun, draws attention, and expresses freedom.&lt;/p&gt;

&lt;p&gt;If you're creating creative agency branding, orange would be a perfect color. It shows great communication,&lt;br&gt;
success, and creativity.&lt;/p&gt;

&lt;h2&gt;
  
  
  Examples
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--qRXrWXw7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/emlxe4hl5e6um6v4ig2d.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--qRXrWXw7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/emlxe4hl5e6um6v4ig2d.png" alt="orange logos" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  yellow
&lt;/h1&gt;

&lt;p&gt;Yellow is used to stimulate awareness, energize, affect mood, and draw attention. It's the colour of sunshine&lt;br&gt;
and it's associated with joy, happiness, intellect, and energy. It's associated with food. Bright yellow is&lt;br&gt;
used to get attention.&lt;/p&gt;

&lt;p&gt;Yellow is a colour that demonstrates positivity and happiness, which is why yellow would work in a home decor brand,&lt;br&gt;
for a warm and welcoming experience.&lt;/p&gt;

&lt;h2&gt;
  
  
  Examples
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--_5AN2Ewg--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ojx7mtnf3mg5i4v1wmnt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--_5AN2Ewg--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ojx7mtnf3mg5i4v1wmnt.png" alt="yellow logos" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  green
&lt;/h1&gt;

&lt;p&gt;Green is commonly referred to as the colour of nature. It stands for growth, health, wealth, freshness,&lt;br&gt;
and relaxation.  Dark green is commonly associated with money. &lt;/p&gt;

&lt;p&gt;Green is directly related to nature, which you can use it to promote 'Green products', an environmental&lt;br&gt;
organization, or anything that is closely related to nature and ecological awareness. But remember that&lt;br&gt;
a dull, dark green can also represent money, making it suitable for a finance app.&lt;/p&gt;

&lt;h2&gt;
  
  
  Example
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ksMi8fge--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/s1pz4dzoys7g73lc1qo3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ksMi8fge--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/s1pz4dzoys7g73lc1qo3.png" alt="green logos" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  blue
&lt;/h1&gt;

&lt;p&gt;The colour of the sky and the sea is blue. Blue stands for trust, loyalty, wisdom, confidence, intelligence, and truth. It evokes calmness and it's commonly associated  as the colour of tranquility. It&lt;br&gt;
can be found in various cleaning products, air, and sky (e.g.: airlines), water, and sea.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;RELATED:&lt;/strong&gt; &lt;a href="https://the-net-blog.netlify.app/post/five-underated-css-properties-you-need-to-try-out/"&gt;⭐️  Five Underrated CSS Properties You NEED to Try Out!&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you're building a financial app or a bank branding, blue is a very good idea to use. Blue shows trust, &lt;br&gt;
reliability, security, and confidence. Blue is widely used in the finance industry for this reason.&lt;/p&gt;

&lt;h2&gt;
  
  
  Examples
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--RTHRqGyg--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1mtekgeng1s74ktsychb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--RTHRqGyg--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1mtekgeng1s74ktsychb.png" alt="blue logos" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  purple
&lt;/h1&gt;

&lt;p&gt;Purple is a colour very rarely found in nature. It is commonly preferred by pre-adolescent children. It's&lt;br&gt;
a combination of blue (stability), and red (energy). It is commonly referred to as the colour of&lt;br&gt;
royalty. It is related to power, nobility, luxury, and ambition, and it expresses wealth and&lt;br&gt;
extravagance. It's associated with wisdom, dignity, independence, creativity, mystery, and magic.&lt;/p&gt;

&lt;p&gt;Purple represents luxury and royalty making it a good option for luxury brands. But it could also&lt;br&gt;
be used for video games; purple is a color that pre-adolescents really like. What's another thing&lt;br&gt;
pre-adolescents also like? Games! Purple also symbolizes magic and mystery making it perfect for&lt;br&gt;
a magic video game.&lt;/p&gt;

&lt;h2&gt;
  
  
  Examples
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--s4kA-i4i--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3ndz4gym2su2jd3bkhaz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--s4kA-i4i--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3ndz4gym2su2jd3bkhaz.png" alt="purple" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  brown
&lt;/h1&gt;

&lt;p&gt;Brown can give a feeling of warmth, security, and earthiness. People associate neutral and natural&lt;br&gt;
with brown. It's commonly used to evoke feelings related to the natural world, as well as&lt;br&gt;
connoting organic wholesome feelings in general. It also provokes feelings related to comfort, &lt;br&gt;
high quality, strength, and honesty.&lt;/p&gt;

&lt;p&gt;If you're creating branding for an organic food company (or anything organic/agricultural-related&lt;br&gt;
really), brown would work great; it would create a feeling of comfort, high quality, and obviously,&lt;br&gt;
a sense of nature, earthiness, and warmth.&lt;/p&gt;

&lt;h2&gt;
  
  
  Examples
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--uhVFdKiw--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/u0x94j1a62v5gk4uocok.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--uhVFdKiw--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/u0x94j1a62v5gk4uocok.png" alt="brown logos" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  black
&lt;/h1&gt;

&lt;p&gt;Black shows strongness, and boldness. It can also represent that someone or something is mysterious and rebellious. It's a timeless, classic, and elegant colour.&lt;/p&gt;

&lt;p&gt;Knowing this, black would be a great color to use for a luxurious fashion brand. Black shows sophistication, and elegance, perfect for a logo for a fashion brand.&lt;/p&gt;

&lt;h2&gt;
  
  
  Examples
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--PeaVWAhN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/k507wo36ebmdz66ec1ro.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--PeaVWAhN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/k507wo36ebmdz66ec1ro.png" alt="black logos" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  white
&lt;/h1&gt;

&lt;p&gt;White is associated with innocence and purity.  It's a simple, and clean colour and can symbolize perfection. It is used to show luxury, open-mindedness, purity, cleanness, and perfection.&lt;/p&gt;

&lt;p&gt;Meditation and mental health apps would benefit from using white as it conveys a sense of mental clarity and open-mindedness. White would help users feel in a peaceful full state of mind giving its purity, and perfection.&lt;/p&gt;

&lt;h2&gt;
  
  
  Examples
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Vu5_6PnO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/v8wg66nti9jipuufkck4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Vu5_6PnO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/v8wg66nti9jipuufkck4.png" alt="white logos" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  conclusion
&lt;/h1&gt;

&lt;p&gt;If you're a designer or a front-end developer, understanding the principles of color psychology is essential as it can significantly enhance your user's experience and greatly increase analytics; However, if not used effectively, it can diminish everything as well.  I hope you learned how colours can have a meaningful impact on your users as well as some ways each colour can be used. Thanks for reading, if you found this article useful, I would suggest bookmark it in your browser (or &lt;a href="https://dev.to/codeystein"&gt;devto&lt;/a&gt;) so you can make sure to use these practices when working on a new design, and share it to someone who might find it useful too!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://the-net-blog.netlify.app/post/regexp-basics-its-not-that-bad/"&gt;🔥 RegExp Basics: Its Not That Bad!&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://the-net-blog.netlify.app/"&gt;🏠  Home Page&lt;/a&gt;&lt;/p&gt;

</description>
      <category>design</category>
      <category>designpatterns</category>
      <category>ui</category>
      <category>ux</category>
    </item>
    <item>
      <title>RegExp Basics: It's Not That Hard!</title>
      <dc:creator>codeyStein</dc:creator>
      <pubDate>Mon, 16 Jan 2023 23:01:32 +0000</pubDate>
      <link>https://dev.to/codeystein/regexp-basics-its-not-that-hard-2dl3</link>
      <guid>https://dev.to/codeystein/regexp-basics-its-not-that-hard-2dl3</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;Quick Plug before we get started: If you like what you read, feel free to read more over at &lt;a href="https://the-net-blog.netlify.app/"&gt;my blog site&lt;/a&gt;, or read this article in &lt;a href="https://the-net-blog.netlify.app/post/regexp-basics-its-not-that-bad/"&gt;my blog site&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;First of all, let me apologize for the late post but I was sick this weekend and busy with school. Now, onto the topic for today; Regular expressions in JavaScript was a topic that I always felt scared to try. But it's something an engineer (JavaScript or not) will eventually have to touch&lt;br&gt;
on, and something I never thought would be as useful as it is. My goal today is for you to understand basic RegExp concepts without feeling overwhelmed.&lt;/p&gt;
&lt;h2&gt;
  
  
  Table Of Contents
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Introduction&lt;/li&gt;
&lt;li&gt;Regexp Search Method&lt;/li&gt;
&lt;li&gt;RegExp Replace Method&lt;/li&gt;
&lt;li&gt;RegExp Modifiers &amp;amp; Patterns&lt;/li&gt;
&lt;li&gt;Conclusion&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Regular Expressions (regexp) in JavaScript are used to search and replace both independent characters, or more complicated patterns. &lt;/p&gt;

&lt;p&gt;Before we get started with learning some basic regex methods let's first understand its syntax, which looks something like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/pattern/modifiers
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;for example, if we have:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/thenetblog/g
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;then we will be doing a global search for the pattern 'thenetblog'. easy enough right?&lt;/p&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/WUay9BLLngVU3zs95c/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/WUay9BLLngVU3zs95c/giphy.gif" alt="regexp is not that hard gif" width="480" height="270"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Regexp Search Method
&lt;/h2&gt;

&lt;p&gt;As I mentioned before, regexp is commonly used to both search, and replace a pattern of text. The &lt;code&gt;search()&lt;/code&gt; method will return the position of the match (if found), else it will return &lt;code&gt;-1&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Syntax:&lt;br&gt;
&lt;code&gt;text.search(/pattern/modifiers)&lt;/code&gt;&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="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;searchThis&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;the best blog is The Net Blog fr&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;pattern&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;searchThis&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;search&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sr"&gt;/The Net Blog/i&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="c1"&gt;// expected return: 17&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;pattern&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="c1"&gt;// tip: console log is your friend when testing!&lt;/span&gt;

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

&lt;/div&gt;



&lt;p&gt;Good so far? Great, cause this next part is not that hard either!&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;RELATED:&lt;/strong&gt; &lt;a href="https://the-net-blog.netlify.app/post/five-useful-array-methods-you-might-not-know/"&gt;⭐️  Five USEFUL JavaScript Array Methods You MIGHT Not Know!&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Regexp Replace method
&lt;/h2&gt;

&lt;p&gt;The &lt;code&gt;replace()&lt;/code&gt; method will replace the indicated pattern with a string of text.&lt;/p&gt;

&lt;p&gt;Syntax: &lt;/p&gt;

&lt;p&gt;&lt;code&gt;text.replace(/pattern/modifiers, "replaced text")&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Example:&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="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;replaceThis&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;The Quick Brown Fox Jumps Over The Lazy Dog&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;pattern&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;replaceThis&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;replace&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sr"&gt;/Dog/i&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Cat&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&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;pattern&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="c1"&gt;// should return: "The Quick Brown Fox Jumps Over The Lazy Cat"&lt;/span&gt;

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

&lt;/div&gt;



&lt;h2&gt;
  
  
  RegExp Modifiers &amp;amp; Patterns
&lt;/h2&gt;

&lt;p&gt;Patterns and Modifiers can help us perform more complicated searches, and can help us to find some special characters that can only be searched with patterns.&lt;/p&gt;

&lt;h3&gt;
  
  
  Basic Modifiers
&lt;/h3&gt;

&lt;p&gt;These are some of the more basic and common modifiers&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--AjCeJAuG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/v5wfbdm0qygqqlnnsopb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--AjCeJAuG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/v5wfbdm0qygqqlnnsopb.png" alt="Simple RegExp Modifiers" width="800" height="314"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Patterns
&lt;/h3&gt;

&lt;p&gt;Patterns can easily be identified as they are commonly placed between brackets or braces.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--n27uoWr1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pqozblso2kfaez9y34mo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--n27uoWr1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pqozblso2kfaez9y34mo.png" alt="Simple RegExp Patterns" width="800" height="186"&gt;&lt;/a&gt;&lt;br&gt;
Another important one is the &lt;code&gt;(x|y|z)&lt;/code&gt; which searches for alternatives separated with the &lt;code&gt;|&lt;/code&gt; character (Couldn't include in the table as markdown uses the same character to create tables.)&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion!
&lt;/h2&gt;

&lt;p&gt;While admittedly scary at first, RegExp is an incredibly useful tool, which is not only used in JavaScript, but other languages and software accept RegExp too!&lt;/p&gt;

&lt;p&gt;I appreciate you spending your time reading this post, if you'd like to read more, here you go:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://the-net-blog.netlify.app/"&gt;🏠  Home Page&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://the-net-blog.netlify.app/post/configuring-neovim-with-lua-what-you-should-know/"&gt;🔥  Configuring NeoVim with Lua: What You Should Know&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>regex</category>
      <category>programming</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Why I Use Qutebrowser as My Daily Browser (But You Probably Shouldn't)</title>
      <dc:creator>codeyStein</dc:creator>
      <pubDate>Mon, 09 Jan 2023 09:00:00 +0000</pubDate>
      <link>https://dev.to/codeystein/why-i-use-qutebrowser-as-my-daily-browser-but-you-probably-shouldnt-20cj</link>
      <guid>https://dev.to/codeystein/why-i-use-qutebrowser-as-my-daily-browser-but-you-probably-shouldnt-20cj</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;Quick Plug before we get started: If you like what you read, feel free to read more over at &lt;a href="https://the-net-blog.netlify.app/"&gt;my blog site&lt;/a&gt;, or read this article in &lt;a href="https://the-net-blog.netlify.app/post/configuring-neovim-with-lua-what-you-should-know/"&gt;my blog site&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Qutebrowser is an amazing and very unique browser. The modern browser today is filled with unnecessary features, and qutebrowser helps eliminates that and makes browsing the web... Just browsing the web! Like any other browser though, Qutebrowser has its cons and trade-offs.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Attribution for &lt;a href="https://free3dicon.com/"&gt;crown asset&lt;/a&gt; used in thumbnail.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Table of Contents
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;What is Qutebrowser?&lt;/li&gt;
&lt;li&gt;Why Even Bother Learning Qutebrowser Anyways?&lt;/li&gt;
&lt;li&gt;What's Wrong With Qutebrowser?&lt;/li&gt;
&lt;li&gt;Final Thoughts&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  What Is Qutebrowser?
&lt;/h2&gt;

&lt;p&gt;Qutebrowser is an open-source browser based on the QtWebEngine written in Python (which is surprisingly fash for Python). Qutebrowser is keyboard-driven, and uses Vim keymaps (for the most part), to boost your productivity. Similar to [dwb (&lt;a href="https://bitbucket.org/portix/dwb/src/master/"&gt;https://bitbucket.org/portix/dwb/src/master/&lt;/a&gt;), if you're familiar with that.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Even Bother Learning Qutebrowser Anyways?
&lt;/h2&gt;

&lt;p&gt;I asked the same thing. [Their website (&lt;a href="https://qutebrowser.org/doc/faq.html"&gt;https://qutebrowser.org/doc/faq.html&lt;/a&gt;) has a lot of good reasons, but my ones are for productivity reasons. You never realize how many distractions a modern browser nowadays has, and how much they slow you down. Qutebrowser eliminates &lt;strong&gt;all&lt;/strong&gt; of that and not only that, but their keybinds make it so you don't even need to touch your mouse! That's just one small bit of why I use qutebrowser, here are some bullet points:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Vim and Other Keybinds (insanely boosts productivity)&lt;/li&gt;
&lt;li&gt;Built-in ad-blocker (sadly doesn't work on YouTube.)&lt;/li&gt;
&lt;li&gt;It allows for crazy customization.&lt;/li&gt;
&lt;li&gt;The whole project is &lt;a href="https://github.com/qutebrowser/qutebrowser"&gt;Open-source&lt;/a&gt;, and maintained with &lt;a href="https://github.com/sponsors/The-Compiler/"&gt;donations&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Ever since I started using Qutebrowser I've, seen a huge productivity boost in my developer workflow, which is the main reason why I use it, not only as a developer but for everyday web browsing. The customization part, while not as important, I'm a big fan of (especially as I spend hours in my dotfiles trying to make them look as clean as possible), and I appreciate how Qutebrowser makes it easy to make my browser look the way I want it to look.&lt;/p&gt;

&lt;p&gt;But most importantly, qutebrowser is a browser, and nothing else. This is exactly what I look for in a browser, I don't need a fancy start page filled with distracting ads and bloated with trackers. And the good thing is, if you need them, then Qutebrowser makes it easy to add them!&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;RELATED:&lt;/strong&gt; &lt;a href="https://the-net-blog.netlify.app/post/configuring-neovim-with-lua-what-you-should-know/"&gt;⭐️  Configuring NeoVim with Lua: What You Should Know&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  What's Wrong With Qutebrowser?
&lt;/h2&gt;

&lt;p&gt;So I've talked about how great Qutebrowser is for me so far, but would I recommend it? It depends...&lt;/p&gt;

&lt;h3&gt;
  
  
  Qutebrowser Forms
&lt;/h3&gt;

&lt;p&gt;I do have to admit, I miss auto-fill in some forms. I'm usually not a big fan of them for some security concerns (especially when using chromium-based browsers), but I do find that they save some time, and they are honestly useful in some cases, so hopefully, that's something that they add soon.&lt;/p&gt;

&lt;h3&gt;
  
  
  Qutebrowser Security and Privacy
&lt;/h3&gt;

&lt;p&gt;While qutebrowser doesn't steal your data and does try to block some trackers, it is not nearly as much as what you can get using a Firefox or Chromium extension. Another thing worth mentioning is as the QtWebEngine is chromium based, it does allow google to add some little sneaky things here and there.&lt;/p&gt;

&lt;h3&gt;
  
  
  Other
&lt;/h3&gt;

&lt;p&gt;other smaller things are a bit annoying about Qutebrowser (mainly the lack of extensions), like no password managers, some weird ad block problems, and videos... are just a pain, but that's not too much of a problem with me since I don't watch YouTube on my laptop, but don't expect to get the smoothest experience when watching videos.&lt;/p&gt;

&lt;h2&gt;
  
  
  Final Thoughts &amp;amp; Conclusion
&lt;/h2&gt;

&lt;p&gt;Qutebrowser is a great browser, and I don't see myself going back to another browser anytime soon, but it's not for everyone, and it (like any other browser) of course has its cons.&lt;/p&gt;

&lt;p&gt;I appreciate you spending your time reading this post, if you'd like to read more, here you go:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://the-net-blog.netlify.app/"&gt;🏠  Home Page&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://the-net-blog.netlify.app/post/configuring-neovim-with-lua-what-you-should-know/"&gt;🔥  Configuring NeoVim with Lua: What You Should Know&lt;/a&gt;&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>devops</category>
      <category>linux</category>
      <category>tooling</category>
    </item>
    <item>
      <title>Configuring Neovim with Lua: What You Should Know</title>
      <dc:creator>codeyStein</dc:creator>
      <pubDate>Mon, 02 Jan 2023 10:00:00 +0000</pubDate>
      <link>https://dev.to/codeystein/configuring-neovim-with-lua-what-you-should-know-2k66</link>
      <guid>https://dev.to/codeystein/configuring-neovim-with-lua-what-you-should-know-2k66</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;Quick Plug before we get started: If you like what you read, feel free to read more over at &lt;a href="https://the-net-blog.netlify.app/"&gt;my blog site&lt;/a&gt;, or read this article in &lt;a href="https://the-net-blog.netlify.app/post/configuring-neovim-with-lua-what-you-should-know/"&gt;my blog site&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;NeoVim is such an amazing and powerful tool. It's insanely fast, flexible, and clean. I honestly can't believe I used to use vimscript to set it up, but anyways, in today's article, I'm going to show you how to start making your neovim config! But before we continue though, I'd like to give a big shout-out to &lt;a href="https://github.com/LunarVim/Neovim-from-scratch"&gt;Chris@machine's NeoVim from Scratch series&lt;/a&gt;, and &lt;a href="https://github.com/ThePrimeagen/init.lua"&gt;ThePrimeagen&lt;/a&gt;, since a lot of my config is based on theirs.&lt;/p&gt;

&lt;h2&gt;
  
  
  Table Of Contents
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;But Why&lt;/li&gt;
&lt;li&gt;Starting&lt;/li&gt;
&lt;li&gt;Configuring Settings &lt;/li&gt;
&lt;li&gt;Using and Setting Remaps&lt;/li&gt;
&lt;li&gt;Plugins?&lt;/li&gt;
&lt;li&gt;Conclusion&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  But why?
&lt;/h2&gt;

&lt;p&gt;Before we get started, you must understand why pairing NeoVim with Lua will make such a big difference. Here are some key points of why using Lua is more beneficial than vimscript:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Organisation - NeoVim allows you to use a more clean-looking file Structure.&lt;/li&gt;
&lt;li&gt;Faster - Lua is a &lt;strong&gt;lot&lt;/strong&gt; faster than vimscript&lt;/li&gt;
&lt;li&gt;Plugins - Specifically talking about Packer here, it makes making amazing plugins easier.&lt;/li&gt;
&lt;li&gt;It's Lua - Let me justify a bit, vimscript is a scripting language, specifically made to configure Vim. On the other hand, Lua is an actual programing language, which allows the editor to do so many more amazing things!&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And don't worry, vimscript can still be used if it is needed, which I'm going talk a little about here.&lt;/p&gt;

&lt;h2&gt;
  
  
  Starting
&lt;/h2&gt;

&lt;p&gt;First, I'd recommend you make sure to have the latest version of NeoVim installed. You can get the latets on their &lt;a href="https://github.com/neovim/neovim/releases"&gt;releases page.&lt;/a&gt; Let's start by having  a quick look at the tree of &lt;em&gt;my&lt;/em&gt; personal config tree.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;.
├── after
│   └── plugin
│       ├── autopairs.lua
│       ├── cmp.lua
│       ├── dashboard.lua
│       ├── lualine.lua
│       ├── nvim-tree.lua

│       ├── telescope.lua
│       └── treesitter.lua
├── init.lua
├── lua
│   └── user
│       ├── packer.lua
│       ├── remaps.lua
│       └── settings.lua
└── plugin
    └── packer_compiled.lua

5 directories, 12 files
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;As you can see, we have three head directories and one file in the parent directory. One of the most important files will be the &lt;code&gt;init.lua&lt;/code&gt; file; it's the file that NeoVim will look for on every startup. If you have configured neovim before, it's similar to the &lt;code&gt;init.vim&lt;/code&gt; file or &lt;code&gt;vimrc&lt;/code&gt; in Vim. You must remember to &lt;code&gt;require&lt;/code&gt; each file you want to use in the &lt;code&gt;lua/user&lt;/code&gt; directory.&lt;/p&gt;

&lt;p&gt;Next, we have our &lt;code&gt;after&lt;/code&gt; directory, which only has a &lt;code&gt;plugin&lt;/code&gt; folder inside. Inside that &lt;code&gt;plugin&lt;/code&gt; directory, we have &lt;strong&gt;all&lt;/strong&gt; of our configuration for our plugins, which we'll talk about later.&lt;/p&gt;

&lt;p&gt;Our &lt;code&gt;lua&lt;/code&gt; directory, is probably the one we'll be visiting the most. Here, inside our personal &lt;code&gt;user&lt;/code&gt; directory we've split all our Lua files. The &lt;code&gt;packer.lua&lt;/code&gt;  our plugins (which we'll talk about later), the &lt;code&gt;remaps.lua&lt;/code&gt; file is for our remaps, which we'll configure later too, and finally, our &lt;code&gt;settings.lua&lt;/code&gt; file, where our settings are at (we'll talk about that next).&lt;/p&gt;

&lt;p&gt;Just a quick note: you might notice we have a &lt;code&gt;user&lt;/code&gt; directory in our &lt;code&gt;lua&lt;/code&gt; directory. This can be named anything, some people name it after themselves, but I prefer to keep it as &lt;code&gt;user&lt;/code&gt;. This directory, however, is important as it prevents &lt;strong&gt;our&lt;/strong&gt; Lua files from interfering with other Lua files.&lt;/p&gt;

&lt;p&gt;You don't have to worry about the &lt;code&gt;plugin&lt;/code&gt;  directory too much for now.&lt;/p&gt;

&lt;p&gt;I wanted to address quickly: you can still use vimscript if you really need by using &lt;code&gt;vim.cmd[]&lt;/code&gt;,&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight viml"&gt;&lt;code&gt;&lt;span class="k"&gt;vim&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;cmd &lt;span class="p"&gt;[[&lt;/span&gt;
  # &lt;span class="k"&gt;vim&lt;/span&gt; script goes here&lt;span class="p"&gt;!&lt;/span&gt;
  &lt;span class="nb"&gt;syntax&lt;/span&gt; enable
&lt;span class="p"&gt;]]&lt;/span&gt;

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

&lt;/div&gt;



&lt;h2&gt;
  
  
  Configuring Settings
&lt;/h2&gt;

&lt;p&gt;Let's start by making our editor feel a little bit more comfortable. This can easily be done by changing some of the editor's settings. Inside of &lt;code&gt;lua/settings.lua&lt;/code&gt; or however you want to call your settings file. To make things look cleaner, I made two variables to reference the vim API. Setting up your settings is easy; the way I did it is using the following method:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight lua"&gt;&lt;code&gt;&lt;span class="kd"&gt;local&lt;/span&gt; &lt;span class="n"&gt;o&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;vim&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;o&lt;/span&gt;

&lt;span class="n"&gt;o&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;myOption&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;myValue&lt;/span&gt;

&lt;span class="c1"&gt;-- Example:&lt;/span&gt;
&lt;span class="n"&gt;o&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;number&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;
&lt;span class="n"&gt;o&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;history&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;50&lt;/span&gt;
&lt;span class="n"&gt;o&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;mouse&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;'a'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;On the examples above I used the scope for general settings, but of course, there are many more:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;vim.o&lt;/code&gt; - for general settings&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;vim.wo&lt;/code&gt; - for for window-scoped options.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;vim.bo&lt;/code&gt; - for for buffer-scoped settings.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;vim.g&lt;/code&gt; - for for global variables, which you're commonly use for plugins.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;vim.opt&lt;/code&gt; - to set global, window, and buffer options. Basiclly &lt;code&gt;:set&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you want to see more options and what they change to the edtior, you can use &lt;code&gt;:help options&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Using and Setting Remaps
&lt;/h2&gt;

&lt;p&gt;Remaps, while you can live without them, definitely make the developer experience a lot more comfortable, and sometimes can even boost productivity. They are also easy to set up. So In our remaps.lua file inside of &lt;code&gt;lua/user&lt;/code&gt; we'll do:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Mode - refers to what mode the remap is for. You're gonna have to use an abreviation though, which you can find the list of &lt;a href="https://github.com/nanotee/nvim-lua-guide#defining-mappings"&gt;here.&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Function - can be either a command from the bar, or a key combination (in the same format you define the remap)&lt;/li&gt;
&lt;li&gt;For additional arguments, you might want to use &lt;code&gt;:help vim.keymap.set()&lt;/code&gt;.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight lua"&gt;&lt;code&gt;&lt;span class="c1"&gt;-- Some variables to be more organized&lt;/span&gt;
&lt;span class="kd"&gt;local&lt;/span&gt; &lt;span class="n"&gt;opts&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="n"&gt;noremap&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;silent&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="c1"&gt;-- Commonly used option&lt;/span&gt;
&lt;span class="kd"&gt;local&lt;/span&gt; &lt;span class="n"&gt;keymap&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;vim&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;api&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;nvim_set_keymap&lt;/span&gt; &lt;span class="c1"&gt;-- Calls the vim api&lt;/span&gt;

&lt;span class="c1"&gt;-- Basic Syntax:&lt;/span&gt;
&lt;span class="n"&gt;keymap&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"mode"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"&amp;lt;remap&amp;gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"function"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;-- more info about what these mean above.&lt;/span&gt;

&lt;span class="c1"&gt;-- Example:&lt;/span&gt;
&lt;span class="n"&gt;keymap&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"n"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"&amp;lt;C-e&amp;gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;":NvimTreeToggle&amp;lt;cr&amp;gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;opts&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="c1"&gt;--     ^^^ will run ":NvimTreeToggle", which is a plugin that I'll talk about later&lt;/span&gt;

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

&lt;/div&gt;



&lt;p&gt;To get an idea of some remaps you might like, you can check out &lt;a href="https://github.com/codeyStein/cozy-apple/blob/master/nvim/lua/user/remaps.lua"&gt;my personal remap file &lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;RELATED:&lt;/strong&gt; &lt;a href="https://the-net-blog.netlify.app/post/get-started-with-git/"&gt;⭐️ Get Started With Git: a MUST for Developers&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Plugins
&lt;/h2&gt;

&lt;p&gt;Plugins are a big part of neovim (and honestly one of my favorites) because they make it so easy to use Lua to make plugins, which allows the community to create amazing plugins! While there are multiple plugin managers available, I found I liked &lt;a href="https://github.com/wbthomason/packer.nvim"&gt;packer.nvim&lt;/a&gt;&lt;br&gt;
the most. To get started you need a &lt;code&gt;packer.lua&lt;/code&gt; file. In this file, we'll first install Packer, and then I added some other optional commands [(thanks to chris@machine)(&lt;a href="https://github.com/LunarVim/Neovim-from-scratch"&gt;https://github.com/LunarVim/Neovim-from-scratch&lt;/a&gt;), like making Packer use a popup window. If we move a little further down, we'll see some of the actual plugins. To install plugins you can use the following:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight lua"&gt;&lt;code&gt;&lt;span class="c1"&gt;-- Simple syntax:&lt;/span&gt;
&lt;span class="n"&gt;use&lt;/span&gt; &lt;span class="s2"&gt;"github/repo"&lt;/span&gt;

&lt;span class="c1"&gt;-- For more options:&lt;/span&gt;
&lt;span class="n"&gt;use&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
        &lt;span class="s1"&gt;'github/repo'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="c1"&gt;-- other options, but I'd recommend using a separate config file for each plugin&lt;/span&gt;
&lt;span class="p"&gt;})&lt;/span&gt;

&lt;span class="c1"&gt;-- Example:&lt;/span&gt;
&lt;span class="n"&gt;use&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;&lt;span class="s1"&gt;'nvim-treesitter/nvim-treesitter'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;run&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;':TSUpdate'&lt;/span&gt;&lt;span class="p"&gt;})&lt;/span&gt;
&lt;span class="c1"&gt;-- ^^^ Installs nvim-treesitter, and runs ':TSUpdate' on load&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Again, you can check out &lt;a href="https://github.com/codeyStein/cozy-apple/blob/master/nvim/lua/user/packer.lua"&gt;my config&lt;/a&gt; to get an idea of the plugins that I use. But here are some of my personal favorites:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://github.com/tree-sitter/tree-sitter"&gt;treesitter&lt;/a&gt; - Better syntax highlighting,&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/ellisonleao/gruvbox.nvim"&gt;gruvbox&lt;/a&gt; - my color scheme&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/nvim-telescope/telescope.nvim"&gt;telescope&lt;/a&gt; - fuzzy finder&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Most plugins require, or you'll most likely want to configure them. Now, you can configure your plugins in the &lt;code&gt;packer.lua&lt;/code&gt; file, but I'd recommend creating a separate file for each plugins you want to configure in &lt;code&gt;after/plugin&lt;/code&gt;. The first thing you'll have to do in every configure file is require your plugin, then you can simply follow the docs of each specific plugin. Here are my &lt;a href="https://github.com/codeyStein/cozy-apple/tree/master/nvim/after/plugin"&gt;plugin config files&lt;/a&gt;, which again are heavily inspired from &lt;a href="https://github.com/LunarVim/Neovim-from-scratch"&gt;NeoVim from Scratch.&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;I hope that you learnt at least one thing new while reading today. In short, we've learnt the basics of how to define new remaps, set settings, and use a plugin manager to use.. well plugins!&lt;/p&gt;

&lt;p&gt;I appreciate you spending your time reading this post, if you'd like to read more here you go:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://the-net-blog.netlify.app/"&gt;🏠  Home Page&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://the-net-blog.netlify.app/post/goodbye-firebase-hello-supabase/"&gt;🔥 Goodbye 2022, and What to Expect in the Fututre&lt;/a&gt;&lt;/p&gt;

</description>
      <category>vim</category>
      <category>tooling</category>
      <category>programming</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Goodbye 2022 (And what to expect in the future)</title>
      <dc:creator>codeyStein</dc:creator>
      <pubDate>Mon, 26 Dec 2022 12:00:00 +0000</pubDate>
      <link>https://dev.to/codeystein/goodbye-2022-and-what-to-expect-in-the-future-1lc</link>
      <guid>https://dev.to/codeystein/goodbye-2022-and-what-to-expect-in-the-future-1lc</guid>
      <description>&lt;p&gt;Man, a LOT has happend this year. And first of all, I want to say that I owe it all to you, thank you for the continius support that keeps me writing these articles. I had a lot of fun during these two months (I know, it feels like a lot more).&lt;br&gt;
&lt;a href="https://i.giphy.com/media/po3NDGWuAE33qmWqe3/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/po3NDGWuAE33qmWqe3/giphy.gif" alt="Thank You" width="480" height="384"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Table Of Contents
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Some Statistics&lt;/li&gt;
&lt;li&gt;My Best Preforming Articles&lt;/li&gt;
&lt;li&gt;What To Expect?&lt;/li&gt;
&lt;li&gt;Reflexion&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Some Statistics
&lt;/h2&gt;

&lt;p&gt;Before we start, I know some of you want to see some real numbers, so here you go!&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;I wrote &lt;strong&gt;10&lt;/strong&gt; Articles,&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;4139&lt;/strong&gt; words,&lt;/li&gt;
&lt;li&gt;Got &lt;strong&gt;232&lt;/strong&gt; followers on &lt;a href="https://dev.to/codeystein"&gt;dev.to&lt;/a&gt;,&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;1198&lt;/strong&gt; reactions on &lt;a href="https://dev.to/codeystein"&gt;dev.to&lt;/a&gt;,&lt;/li&gt;
&lt;li&gt;And &lt;strong&gt;96&lt;/strong&gt; page views on &lt;a href="https://the-net-blog.netlify.app/"&gt;my blog page&lt;/a&gt;,&lt;/li&gt;
&lt;li&gt;And &lt;strong&gt;2391&lt;/strong&gt; post views on &lt;a href="https://dev.to/codeystein"&gt;dev.to&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  My Best Performing Articles
&lt;/h2&gt;

&lt;h3&gt;
  
  
  3. &lt;a href="https://the-net-blog.netlify.app/post/why-i-chose-hugo/"&gt;Why I chose Hugo (and why you should too)&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;I am still a little surprised at how well this article performed as it was my first one, I talked about why I chose Hugo to do this website, and why I think it's a decent option if you're looking to make your very own static site. Feel free to check it out if you want to!&lt;/p&gt;

&lt;h3&gt;
  
  
  2. &lt;a href="https://the-net-blog.netlify.app/post/five-underated-css-properties-you-need-to-try-out/"&gt;Five Underrated CSS Properties You NEED To Try Out!&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;One of the things I love most about writing articles has to be how much I learn by creating them! You'd be surprised to know how much I learned while researching for these, and this article is no exception. I'm very sure I didn't know at least half of these before creating the article.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. &lt;a href="https://the-net-blog.netlify.app/post/five-free-apis-you-need-for-your-next-project/"&gt;Five FREE Apis You Need for Your Next Project&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Like I said, in the past article, I learned a lot, but I still remember the happiness I felt when I went through the analytics. I was very surprised when I saw how well this was performed.&lt;/p&gt;

&lt;h2&gt;
  
  
  What to expect?
&lt;/h2&gt;

&lt;p&gt;Apart from some personal ones, here are some of my goals for 2023: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;First of all, as you probably didn't know, I used to post videos on YouTube (but I stopped...), and now I even kind of cringe at myself looking back at those videos. But I do want to give that style of content creation another chance.&lt;/li&gt;
&lt;li&gt;I want to improve my English and grammar skills (it's not my first language), so I'd love to hear what you think of my writing skills&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I don't plan to stop writing articles and haven't even thought about taking a break anytime soon.&lt;/p&gt;

&lt;h2&gt;
  
  
  Reflexion
&lt;/h2&gt;

&lt;p&gt;This has been a great two months of a year, I enjoyed starting to write articles and hope to continue. And I sincerely thank all of you for supporting me through this year, and I hope to see you next year too! Happy holidays!&lt;/p&gt;

&lt;p&gt;I appreciate you spending your time reading this post, if you'd like to read more here you go:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://the-net-blog.netlify.app/"&gt;🏠  Home Page&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Last Post
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://the-net-blog.netlify.app/post/five-time-saving-react-packages-you-must-try/"&gt;🔥 Five Time Saving React Libraries You MUST Try!&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Related Posts
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://the-net-blog.netlify.app/post/what-is-open-source/"&gt;⭐️ STOP! Use this instead of create-react-app&lt;/a&gt;&lt;/p&gt;

</description>
      <category>writing</category>
      <category>webdev</category>
      <category>motivation</category>
    </item>
    <item>
      <title>Five Time Saving React Packages You MUST Try!</title>
      <dc:creator>codeyStein</dc:creator>
      <pubDate>Mon, 19 Dec 2022 09:00:00 +0000</pubDate>
      <link>https://dev.to/codeystein/five-time-saving-react-packages-you-must-try-3ob2</link>
      <guid>https://dev.to/codeystein/five-time-saving-react-packages-you-must-try-3ob2</guid>
      <description>&lt;p&gt;&lt;em&gt;Quick Plug before we get started: If you like what you read, feel free to read more over at &lt;a href="https://the-net-blog.netlify.app/"&gt;my blog site&lt;/a&gt;, or read this article in &lt;a href="https://the-net-blog.netlify.app/post/five-time-saving-react-packages-you-must-try"&gt;my blog site&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;React is a powerful tool, but sometimes you might find yourself spending way too much&lt;br&gt;
time creating simple elements, that really shouldn't take that long. Today I'll be showing you five&lt;br&gt;
React packages (plus bonus) that save you tons!&lt;/p&gt;
&lt;h2&gt;
  
  
  Table Of Contents
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a href="https://dev.toreact-icons-library-for-the-most-famous-icons"&gt;react-icons - Library for the most famous icons&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dev.toreact-color-color-picker-comopnent"&gt;react-color - Color picker comopnent&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;react-tostify - React notifications made easy!&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dev.toreact-datepicker-simple-package-for-a-date-picker-component"&gt;react-datepicker - Simple package for a date picker component!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dev.toreact-modal-add-modals-to-your-website-easily"&gt;react-modal - Add modals to your website easily&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;(BONUS) react-spinners - Easy loading indicator component&lt;/li&gt;
&lt;li&gt;Conclusion&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;
  
  
  react-icons - Library for the most famous icons
&lt;/h2&gt;

&lt;p&gt;Let's start with the one that you probably already heard of or even used if you've been using React&lt;br&gt;
in your projects for a while. If you haven't already, this is a MUST try. The package we&lt;br&gt;
will be using is react-icons, it includes thousands of icons from the most famous providers&lt;br&gt;
including FontAwesome, Feather Icons, and Material Design.&lt;/p&gt;

&lt;p&gt;Installation:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Using NPM&lt;/span&gt;
&lt;span class="nv"&gt;$ &lt;/span&gt;npm &lt;span class="nb"&gt;install &lt;/span&gt;react-icons &lt;span class="nt"&gt;--save&lt;/span&gt;
&lt;span class="c"&gt;# Using yarn&lt;/span&gt;
&lt;span class="nv"&gt;$ &lt;/span&gt;yarn add react-icons
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://react-icons.github.io/react-icons/"&gt;Their documentation includes examples and well... documentation&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  react-color - Color picker comopnent
&lt;/h2&gt;

&lt;p&gt;This simple react package includes multiple easy-to-use color picker components for your website.&lt;br&gt;
You will deffenetly find one that you will like as there are multiple options to choose from, or&lt;br&gt;
they even make it easy to create your own!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--BCnsAjWH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8mxvblgv7znpcuo1fakw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--BCnsAjWH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8mxvblgv7znpcuo1fakw.png" alt="react-color - color picker component" width="800" height="1127"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Installation:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Using NPM&lt;/span&gt;
&lt;span class="nv"&gt;$ &lt;/span&gt;npm &lt;span class="nb"&gt;install &lt;/span&gt;react-color &lt;span class="nt"&gt;--save&lt;/span&gt;
&lt;span class="c"&gt;# Using yarn&lt;/span&gt;
&lt;span class="nv"&gt;$ &lt;/span&gt;yarn add react-color
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="http://casesandberg.github.io/react-color/"&gt;Live Demo&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://casesandberg.github.io/react-color/"&gt;Documentation&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  react-toastify - React notifications made easy!
&lt;/h2&gt;

&lt;p&gt;I'm sure you've come across toast notifications at some point. But have you ever thought about&lt;br&gt;
adding them to your website? Well, react-toastify makes that extremely easy and gives you a handful&lt;br&gt;
of props for customization too. But my favorite thing about this package so far is its interactive&lt;br&gt;
playground.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--8DDnNzCm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xah493t8qmxgq2msqdql.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--8DDnNzCm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xah493t8qmxgq2msqdql.png" alt="react-toastify - React notifications made easy!" width="800" height="700"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Installation:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Using NPM&lt;/span&gt;
&lt;span class="nv"&gt;$ &lt;/span&gt;npm &lt;span class="nb"&gt;install &lt;/span&gt;react-toastify &lt;span class="nt"&gt;--save&lt;/span&gt;
&lt;span class="c"&gt;# Using yarn&lt;/span&gt;
&lt;span class="nv"&gt;$ &lt;/span&gt;yarn add react-toastify
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://fkhadra.github.io/react-toastify/introduction"&gt;Live demo/playground&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://fkhadra.github.io/react-toastify/introduction"&gt;Documentation&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  react-datepicker - Simple package for a date picker component!
&lt;/h2&gt;

&lt;p&gt;A date picker is something you will have to use at some point in your React journey. This&lt;br&gt;
simple, lightweight package makes it easy to do just that!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--8HvVyYXo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dbkjgbaju01i203b688f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--8HvVyYXo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dbkjgbaju01i203b688f.png" alt="react-datepicker - Simple package for a date picker component!" width="778" height="584"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Installation:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Using NPM&lt;/span&gt;
&lt;span class="nv"&gt;$ &lt;/span&gt;npm &lt;span class="nb"&gt;install &lt;/span&gt;react-datepicker &lt;span class="nt"&gt;--save&lt;/span&gt;
&lt;span class="c"&gt;# Using yarn&lt;/span&gt;
&lt;span class="nv"&gt;$ &lt;/span&gt;yarn add react-datepicker
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://reactdatepicker.com/"&gt;Live demo&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://reactdatepicker.com/#example-default"&gt;Documentation&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  (BONUS) react-spinners - Easy loading indicator component
&lt;/h2&gt;

&lt;p&gt;I just had to include this one. I'm sure you've wondered at some point how some websites add these&lt;br&gt;
cool-looking loading indicators to their website. They're not a &lt;em&gt;must-have&lt;/em&gt; but deffenetly add &lt;br&gt;
something that spices up your website just a little more.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Ol0yiN-F--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4ooz0x0m5o5516x29x38.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Ol0yiN-F--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4ooz0x0m5o5516x29x38.png" alt="react-spinners - Easy loading indicator component" width="800" height="761"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Installation:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Using NPM&lt;/span&gt;
&lt;span class="nv"&gt;$ &lt;/span&gt;npm &lt;span class="nb"&gt;install &lt;/span&gt;react-spinners &lt;span class="nt"&gt;--save&lt;/span&gt;
&lt;span class="c"&gt;# Using yarn&lt;/span&gt;
&lt;span class="nv"&gt;$ &lt;/span&gt;yarn add react-spinners
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://www.davidhu.io/react-spinners/"&gt;Live Demo&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/davidhu2000/react-spinners"&gt;Documentation&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;As you probably noticed, these are all simple components, but you'd be surprised to figure out&lt;br&gt;
how much time you can waste adding these to your website.&lt;/p&gt;

&lt;p&gt;I appreciate you spending your time reading this post, and if you'd like to read more here you go:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://the-net-blog.netlify.app/"&gt;🏠  Home Page&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Last Post
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://the-net-blog.netlify.app/post/five-useful-array-methods-you-might-not-know/"&gt;🔥 Five USEFUL Array Methods you MIGHT not know!&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Related Posts
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://the-net-blog.netlify.app/post/stop-use-this-instead-of-create-react-app/"&gt;⭐️ STOP! Use this instead of create-react-app&lt;/a&gt;&lt;/p&gt;

</description>
      <category>react</category>
      <category>webdev</category>
      <category>productivity</category>
      <category>tooling</category>
    </item>
    <item>
      <title>5 USEFUL javascript array methods you might NOT know!</title>
      <dc:creator>codeyStein</dc:creator>
      <pubDate>Mon, 12 Dec 2022 13:00:04 +0000</pubDate>
      <link>https://dev.to/codeystein/5-useful-javascript-array-methods-you-might-not-know-gje</link>
      <guid>https://dev.to/codeystein/5-useful-javascript-array-methods-you-might-not-know-gje</guid>
      <description>&lt;p&gt;&lt;em&gt;Quick Plug before we get started: If you like what you read, feel free to read more over at &lt;a href="https://the-net-blog.netlify.app/"&gt;my blog site&lt;/a&gt;, or read this article in &lt;a href="https://the-net-blog.netlify.app/post/five-useful-array-methods-you-might-not-know/"&gt;my blog site&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Welcome! I don't want to spend too much time in the introduction this time, but today I will (hopefully) teach you and show you technically six array methods that you probably didn't know!&lt;/p&gt;

&lt;h2&gt;
  
  
  Table Of Contents
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;concat()&lt;/li&gt;
&lt;li&gt;some()&lt;/li&gt;
&lt;li&gt;entries()&lt;/li&gt;
&lt;li&gt;find() and findIndex()&lt;/li&gt;
&lt;li&gt;copyWithin()&lt;/li&gt;
&lt;li&gt;Conclusion&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  concat()
&lt;/h2&gt;

&lt;p&gt;The &lt;code&gt;concat&lt;/code&gt; array method returns a new array populated with two or more arrays merged. It does not alter any existing arrays, but rather creates a new one.&lt;/p&gt;

&lt;p&gt;Example:&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="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;foo&lt;/span&gt; &lt;span class="o"&gt;=&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="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;;`¡
const bar = [4, 5, 6];

const foobar = foo.concat(bar);
// expected return: [1, 2, 3, 4, 5, 6]

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

&lt;/div&gt;



&lt;h2&gt;
  
  
  some()
&lt;/h2&gt;

&lt;p&gt;This array method tests whether or not at least one element in the array passes a test. It returns true if it finds at least one element that returns true in the provided function (callback function), else it returns false.&lt;/p&gt;

&lt;p&gt;Example:&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="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;foobar&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;7&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;13&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;23&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;isValid&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;elm&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;elm&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;13&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;foobar&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;some&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;isValid&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;span class="c1"&gt;// expected return: true&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  entries()
&lt;/h2&gt;

&lt;p&gt;The &lt;code&gt;entries&lt;/code&gt; method returns a new Array iterator object that contains the key/value of each index of an array.&lt;/p&gt;

&lt;p&gt;Example:&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="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;foobar&lt;/span&gt; &lt;span class="o"&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;a&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;b&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;c&lt;/span&gt;&lt;span class="dl"&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;iterator&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;foobar&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;entries&lt;/span&gt;&lt;span class="p"&gt;()&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;iterator&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;next&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="nx"&gt;value&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="c1"&gt;// expected return: Array [0, "a"]&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;iterator&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;next&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="nx"&gt;value&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="c1"&gt;// expected return: Array [1, "b"]&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;iterator&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;next&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="nx"&gt;value&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="c1"&gt;// expected return: Array [2, "c"]&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  find() and findIndex()
&lt;/h2&gt;

&lt;p&gt;Returns the first element in an array that passes a test in the provided arrow function. If no element matches, then it returns &lt;code&gt;undefined&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Example:&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="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;foobar&lt;/span&gt; &lt;span class="o"&gt;=&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;span class="mi"&gt;15&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;25&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;30&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;test&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;foobar&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;find&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;elm&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;elm&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;18&lt;/span&gt;&lt;span class="p"&gt;)&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;test&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="c1"&gt;// expected return: 20&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;findIndex is very similar, but instead only returns the index, and if no element matches the test provided, then returns &lt;code&gt;-1&lt;/code&gt;. The example above is expected to return &lt;code&gt;3&lt;/code&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  copyWithin()
&lt;/h2&gt;

&lt;p&gt;I'm not even gonna lie, I still find this one a bit confusing because of the syntax, but might be useful in some situations. This method copies array elements to another position of the same array.&lt;/p&gt;

&lt;p&gt;syntax: &lt;code&gt;array.copyWithin(target, start, end)&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Note that the end and start parameters are not required and if not specified, will use the first or last elements of the array.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Example:&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="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;foobar&lt;/span&gt; &lt;span class="o"&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;a&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;b&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;c&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;]&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;foobar&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;copyWithin&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;2&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;span class="c1"&gt;// expected return: Array ["a", "b", "a"]&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Did you know all of these? Because to be honest, I didn't either until I finished writing this article hahaha. But now that I do, I can think of plenty of situations where these might come in useful.&lt;/p&gt;

&lt;p&gt;I appreciate you spending your time reading this post, if you'd like to read more here you go:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://the-net-blog.netlify.app/post/stop-use-this-instead-of-create-react-app/"&gt;🔥 STOP! Use this instead of create-react-app!&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://the-net-blog.netlify.app/"&gt;🏠  Home Page&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>beginners</category>
      <category>programming</category>
      <category>javascript</category>
    </item>
    <item>
      <title>STOP! Use This Instead Of Create-React-App</title>
      <dc:creator>codeyStein</dc:creator>
      <pubDate>Mon, 05 Dec 2022 13:29:33 +0000</pubDate>
      <link>https://dev.to/codeystein/stop-use-this-instead-of-create-react-app-1edm</link>
      <guid>https://dev.to/codeystein/stop-use-this-instead-of-create-react-app-1edm</guid>
      <description>&lt;p&gt;&lt;em&gt;Quick Plug before we get started: If you like what you read, feel free to read more over at &lt;a href="https://the-net-blog.netlify.app" rel="noopener noreferrer"&gt;my blog site&lt;/a&gt;, or read this article in &lt;a href="https://the-net-blog.netlify.app/post/stop-use-this-instead-of-create-react-app" rel="noopener noreferrer"&gt;my blog site&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;In 2022, using &lt;code&gt;create-react-app&lt;/code&gt; might not be the greatest, not because it's a bad tool, but because there are other alternatives that offer a lot more and overall are just a lot more practical to use, today I'll be showing you why you should stop using creacte-react-app, and some better alternatives to it too!&lt;/p&gt;

&lt;h2&gt;
  
  
  Table Of Contents
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;What Is CRA?&lt;/li&gt;
&lt;li&gt;Advantages of CRA&lt;/li&gt;
&lt;li&gt;Why Not CRA?&lt;/li&gt;
&lt;li&gt;Vite&lt;/li&gt;
&lt;li&gt;NextJS&lt;/li&gt;
&lt;li&gt;Final Thoughts&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  What Is CRA?
&lt;/h2&gt;

&lt;p&gt;Create-React-App or CRA for short, is a tool mantained by FaceBook (like react), that makes the proccess of using and initializing a React app much faster and easier by just running &lt;code&gt;npx create-create-app my-app&lt;/code&gt; in a terminal. &lt;/p&gt;

&lt;h2&gt;
  
  
  Advatages of CRA
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Get started by just running &lt;code&gt;npx create-ract-app my-app&lt;/code&gt; in a terminal.&lt;/li&gt;
&lt;li&gt;No need to learn extra stuff just to &lt;em&gt;start&lt;/em&gt; using React.&lt;/li&gt;
&lt;li&gt;You can rely on using the built-in &lt;code&gt;react-scripts&lt;/code&gt; to build your app.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Why Not CRA?
&lt;/h2&gt;

&lt;p&gt;First of all, you might not care about this, but it is &lt;em&gt;very&lt;/em&gt; slow, sure it only takes one command on the terminal, but that one command also takes a long time to set up. And while this can be an advantage for some people, there isn't really configuration apart from setting the name of the app (which is actually optional), and it's also not a good practice to use a &lt;em&gt;blind&lt;/em&gt; setup, which is essentially just running &lt;code&gt;npx create-react-app .&lt;/code&gt; without really knowing what it is doing, and while it might seem like something small, it can lead to a very bad and dangerous habbit. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.giphy.com/media/3o6ozBgoGeBFUFvaz6/giphy.gif" rel="noopener noreferrer"&gt;CRA Sucks&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Vite
&lt;/h2&gt;

&lt;p&gt;Vite pronounced &lt;code&gt;/vit/&lt;/code&gt;, is simply &lt;em&gt;amazing&lt;/em&gt;. It is fast, allows for both ready-to-go configuration that is easy to change, and essentially just solves all the problems that CRA has, and even has some additional features too!&lt;/p&gt;

&lt;p&gt;It is super easy to get started with Vite and there is really no hard learning curve either. If you want to learn more about all the awesome things Vite can do, &lt;a href="https://github.com/vitejs/awesome-vite" rel="noopener noreferrer"&gt;Check out this repo&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  NextJS
&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;Next&lt;/em&gt; up (get it), we have NextJS. I &lt;em&gt;LOVE&lt;/em&gt; NextJS, especially for bigger projects, some of my favourites from NextJS include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Good SEO (unlike CRA)&lt;/li&gt;
&lt;li&gt;Amazing preformance&lt;/li&gt;
&lt;li&gt;Good for projects that can scale.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;it's just a must-try if you are building any type of dashboard, interactive UI, static websites, or even just single web pages. A great example of how next is used is by looking at some famous companies like Netflix that have used it!&lt;/p&gt;

&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;CRA is &lt;em&gt;not&lt;/em&gt; practicalin 2022, there are wayyy better options that allow for even more features than CRA (and look good on a resume) and it isn't even that hard to learn all of these new technologies.&lt;/p&gt;

&lt;p&gt;O&lt;/p&gt;

</description>
      <category>watercooler</category>
    </item>
    <item>
      <title>Five Underated CSS Properties You NEED To Try Out!</title>
      <dc:creator>codeyStein</dc:creator>
      <pubDate>Mon, 28 Nov 2022 16:00:00 +0000</pubDate>
      <link>https://dev.to/codeystein/five-underated-css-properties-you-need-to-try-out-5978</link>
      <guid>https://dev.to/codeystein/five-underated-css-properties-you-need-to-try-out-5978</guid>
      <description>&lt;p&gt;&lt;em&gt;Quick Plug before we get started: If you like what you read, feel free to read more over at &lt;a href="https://the-net-blog.netlify.app" rel="noopener noreferrer"&gt;my blog site&lt;/a&gt;, or read this article in &lt;a href="https://the-net-blog.netlify.app/post/five-underated-css-properties-you-need-to-try-out" rel="noopener noreferrer"&gt;my blog site&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Helloooo! Today I'm gonna be talking about 5 CSS properties (or actually 3 properties, and 2 pseudo classes), that I think deserve more love.&lt;/p&gt;

&lt;h2&gt;
  
  
  Table Of Contents
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;accent-color&lt;/li&gt;
&lt;li&gt;caret-color&lt;/li&gt;
&lt;li&gt;::selection (pseudo class)&lt;/li&gt;
&lt;li&gt;user-select&lt;/li&gt;
&lt;li&gt;:empty (pseudo class)&lt;/li&gt;
&lt;li&gt;Final Thoughts&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  accent-color
&lt;/h2&gt;

&lt;p&gt;To start of, this is a great css property just to add a little bit of more detail to your user-interface. This property applies to the input types:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&amp;lt;progress&amp;gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&amp;lt;input type="checkbox"&amp;gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&amp;lt;input type="range"&amp;gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&amp;lt;input type="radio"&amp;gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The &lt;code&gt;accent-color&lt;/code&gt; property allows you to very set the &lt;code&gt;accent&lt;/code&gt; color (what you often see in radio-buttons, checkboxes, etc) to whatever color you'd like!&lt;/p&gt;

&lt;p&gt;Example:&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="nt"&gt;progress&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="py"&gt;accent-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="no"&gt;red&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nt"&gt;input&lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nt"&gt;checkbox&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="py"&gt;accent-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="no"&gt;red&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nt"&gt;input&lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nt"&gt;radio&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="py"&gt;accent-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="no"&gt;red&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nt"&gt;input&lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nt"&gt;range&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="py"&gt;accent-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="no"&gt;red&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;a href="https://media2.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%2Fqwrkdn5uccum4p6q2j85.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fqwrkdn5uccum4p6q2j85.png" alt="Accent Color CSS Example" width="270" height="169"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  caret-color
&lt;/h2&gt;

&lt;p&gt;While barley noticable, the &lt;code&gt;caret-color&lt;/code&gt; works perfecly with the accent-color property, and is a very nice little detail you should consider adding and using.&lt;/p&gt;

&lt;p&gt;Example:&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="nt"&gt;input&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="py"&gt;caret-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="no"&gt;red&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;
  
  
  selection (pseudo class)
&lt;/h2&gt;

&lt;p&gt;While I know this is not really very &lt;em&gt;unknown&lt;/em&gt;, I still don't see it used enough. The simple &lt;code&gt;::selection&lt;/code&gt; pseudo element can very easily spice up your website by changing the styles of selected elements.&lt;/p&gt;

&lt;p&gt;Example:&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="nd"&gt;::selection&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;background&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="no"&gt;red&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="no"&gt;white&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;a href="https://media2.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%2F9j27fccbfprfwwgdohf3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2F9j27fccbfprfwwgdohf3.png" alt="Selection Pseudo Element Example" width="219" height="86"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  backdrop-filter
&lt;/h2&gt;

&lt;p&gt;Like the selection property, this might not be the most unnknown property, but I still don't see it used enough. The &lt;code&gt;backdrop-filter&lt;/code&gt; property allows you to apply a variety of filters to the area behind an element.&lt;/p&gt;

&lt;p&gt;Options:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;blur()&lt;/li&gt;
&lt;li&gt;brightness()&lt;/li&gt;
&lt;li&gt;contrast()&lt;/li&gt;
&lt;li&gt;drop-shadow()&lt;/li&gt;
&lt;li&gt;grayscale()&lt;/li&gt;
&lt;li&gt;hue-rotate()&lt;/li&gt;
&lt;li&gt;invert()&lt;/li&gt;
&lt;li&gt;opacity()&lt;/li&gt;
&lt;li&gt;sepia()&lt;/li&gt;
&lt;li&gt;saturate()&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Example:&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="nt"&gt;div&lt;/span&gt;&lt;span class="nc"&gt;.background&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;background&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sx"&gt;url(image.jpg)&lt;/span&gt; &lt;span class="nb"&gt;no-repeat&lt;/span&gt; &lt;span class="nb"&gt;center&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;background-size&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;cover&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;100px&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;100px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="nc"&gt;.filterbox&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="n"&gt;rgba&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="m"&gt;0.4&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="py"&gt;backdrop-filter&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;sepia&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;100%&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;50px&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;100px&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;a href="https://media2.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%2F60vkk2bx1rb5yuljf3wg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2F60vkk2bx1rb5yuljf3wg.png" alt="Backdrop Filter Example" width="137" height="121"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  empty (pseudo class)
&lt;/h2&gt;

&lt;p&gt;The &lt;code&gt;empty&lt;/code&gt; pseudo class matches every element that has no children. This can be either element nodes or text (includind whitespaces). A fun usecase for this is for example when image is loading.&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="nt"&gt;div&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;60px&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;60px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="nl"&gt;background&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;grey&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="nd"&gt;:empty&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;border&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;2px&lt;/span&gt; &lt;span class="nb"&gt;solid&lt;/span&gt; &lt;span class="no"&gt;red&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;a href="https://media2.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%2Franklrjrj0cuo57i9glo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Franklrjrj0cuo57i9glo.png" alt="Empty Pseudo Class Example" width="158" height="170"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;That's it for today's list, there are of course there are a lot more tha I haven't mentioned, but I appreciate you spending your time reading this post, if you'd like to read more here you go:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://the-net-blog.netlify.app/post/goodbye-firebase-hello-supabase" rel="noopener noreferrer"&gt;🔥 Goodbye Firebase, Hello SupaBase&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://the-net-blog.netlify.app/" rel="noopener noreferrer"&gt;🏠  Home Page&lt;/a&gt;&lt;/p&gt;

</description>
      <category>emptystring</category>
    </item>
    <item>
      <title>Goodbye Firebase, Hello Supabase</title>
      <dc:creator>codeyStein</dc:creator>
      <pubDate>Mon, 21 Nov 2022 14:00:00 +0000</pubDate>
      <link>https://dev.to/codeystein/goodbye-firebase-hello-supabase-5eko</link>
      <guid>https://dev.to/codeystein/goodbye-firebase-hello-supabase-5eko</guid>
      <description>&lt;p&gt;&lt;em&gt;Quick Plug before we get started: If you like what you read, feel free to read more over at &lt;a href="https://the-net-blog.netlify.app"&gt;my blog site&lt;/a&gt;, or read this article in &lt;a href="https://the-net-blog.netlify.app/post/goodbye-firebase-hello-supabase/"&gt;my blog site&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Ok so we all know Firebase, a handful of tools aimed for app and web developers. Mainly used for their docuement-based database, their authentication using various social services or email and a realtime database. Supabase is a fairly new open-source alternative (unlike Firebase which is mantained by google), offer some similar tools for an afforable price too and with easy to understand and learn API.&lt;/p&gt;

&lt;h2&gt;
  
  
  Table Of Contents
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;What Is SupaBase&lt;/li&gt;
&lt;li&gt;SupaBase's Main Features&lt;/li&gt;
&lt;li&gt;Similarities&lt;/li&gt;
&lt;li&gt;Differences&lt;/li&gt;
&lt;li&gt;Final Thoughts&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  What Is SupaBase?
&lt;/h2&gt;

&lt;p&gt;Supabase is an open-source alternative to FireBase. Unlike FireBase which uses a document-based database system, SupaBase uses a relational database managment system called PostSQL which allows it to be open-source, and allows you to easily do queries using SQL, comes with a handful of extensions and plugins, and it's very commonly used for transactional workloads (apps or webapps that need near-instant response queries.)&lt;/p&gt;

&lt;h2&gt;
  
  
  SupaBase's Main Features
&lt;/h2&gt;

&lt;p&gt;A few key features of SupaBase include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Storage - host images and videos with breeze,&lt;/li&gt;
&lt;li&gt;Auth - Easy-to-implement auth system using SQL based rule engine,&lt;/li&gt;
&lt;li&gt;Realtime - Any changes done in a database will be instantly change in your application,&lt;/li&gt;
&lt;li&gt;Edge Functions - javascript/typescript functions which deploy globally.&lt;/li&gt;
&lt;li&gt;Auto-Generated API which heavily improves developer expirience by allowing you to do queries from the client.,&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Similarities
&lt;/h2&gt;

&lt;p&gt;They both enhance the developer expirence by making it a lot easier to create databases, you can very easily create projects straight from the browser, without any extra software or tools. Both SupaBase and FireBase provide a UI-based dashboard to manage and debug your data in realtime. The two of them also allow you to easily comunicate with your database from the client. SupaBase uses &lt;code&gt;subapase-js&lt;/code&gt; which is their equivelent to the &lt;code&gt;FireBase SDK&lt;/code&gt;, they can both be used on the client and on a node-js environment.&lt;/p&gt;

&lt;h2&gt;
  
  
  Differences
&lt;/h2&gt;

&lt;p&gt;The biggest difference between FireBase and SupaBase is probably how FireBase uses a document-based database and SupaBase uses postgresSQL they both have their own pros and cons, but there are some other pretty important differences other too like a big one for me is SupaBase is &lt;a href="https://the-net-blog.netlify.app/post/what-is-open-source/"&gt;open-source which I've explained in this article.&lt;/a&gt;, which does allow it to be hosted for free and makes it more secure. In terms of pricing FireBase charges you for reads, writes, and deletes (which has their own pros and cons), SupaBase on the other hand charges based on how much storage is used which allows for unlimited API requests and unlimited Auth users. We of course have to talk about preformance too, SupaBase did a benchmarking repo to compare their preformance versus FireBase's on which they found out SupaBase surpases FireBase by 4x on number of reads per second, and 3x on writes per second.&lt;/p&gt;

&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;SupaBase is deffenetly worth checking out and giving out a try not only your next project, but if you'd really want to you can even try to migrate from FireBase to SupaBase on an existing project. They've basiclly got everything you'll need and offer them for a good price too.&lt;/p&gt;

&lt;p&gt;I appreciate you spending your time reading this post, if you'd like to read more here you go:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://the-net-blog.netlify.app/post/five-free-apis-you-need-for-your-next-project/"&gt;🔥 Five Free APIs you NEED for your next project - My Last Post&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://the-net-blog.netlify.app/"&gt;🏠  Home Page&lt;/a&gt;&lt;/p&gt;

</description>
      <category>database</category>
      <category>firebase</category>
      <category>webdev</category>
      <category>mobile</category>
    </item>
    <item>
      <title>Five FREE apis you NEED for your next project!</title>
      <dc:creator>codeyStein</dc:creator>
      <pubDate>Mon, 14 Nov 2022 17:10:00 +0000</pubDate>
      <link>https://dev.to/codeystein/five-free-apis-you-need-for-your-next-project-fbp</link>
      <guid>https://dev.to/codeystein/five-free-apis-you-need-for-your-next-project-fbp</guid>
      <description>&lt;p&gt;&lt;em&gt;Quick Plug before we get started: If you like what you read, feel free to read more over at &lt;a href="https://the-net-blog.netlify.app" rel="noopener noreferrer"&gt;my blog site&lt;/a&gt;, or read this article in &lt;a href="https://the-net-blog.netlify.app/post/five-free-apis-you-need-for-your-next-project" rel="noopener noreferrer"&gt;my blog site&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Hi! Welcome, or welcome back to a new blog post! I'm gonna be sharing with you some awesome FREE apis that you can easily implement  into your projects as they don't require any api keys or authentication! Without wasting any more time, let's get started!&lt;/p&gt;

&lt;h2&gt;
  
  
  Table Of Contents
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;QR Tag API&lt;/li&gt;
&lt;li&gt;EVA - Email Validation API&lt;/li&gt;
&lt;li&gt;GeographQL&lt;/li&gt;
&lt;li&gt;Image Charts&lt;/li&gt;
&lt;li&gt;Free Forex API&lt;/li&gt;
&lt;li&gt;Fun Bonus: EmojiHub&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://www.qrtag.net/api/" rel="noopener noreferrer"&gt;1. QR tag API&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Simple api that allows you to generate QR codes! There are multiple use cases for this, and while you can use it as a fun little feature for your project, it could also work as project itself! &lt;/p&gt;

&lt;p&gt;The cool thing about this is that you can specify a lot of perameters like the size of the image, or the format like SVG or PNG.&lt;/p&gt;

&lt;p&gt;URL Endpoint: &lt;code&gt;https://qrtag.net/api/qr(_transparent)(_[size]).[png|svg](?url=[URL])&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Example: &lt;code&gt;https://www.qrtag.net/api/qr_12.svg?url=https://the-net-blog.netlify.app&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Response: &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%2Fwww.qrtag.net%2Fapi%2Fqr_8.svg%3Furl%3Dhttps%3A%2F%2Fthe-net-blog.netlify.app" 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%2Fwww.qrtag.net%2Fapi%2Fqr_8.svg%3Furl%3Dhttps%3A%2F%2Fthe-net-blog.netlify.app"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://freeforexapi.com/Home/Api" rel="noopener noreferrer"&gt;2. EVA - Email Validation API&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;EVA is a simple API that allows you to identify spam emails or fake emails with &lt;em&gt;blazinlgly fast&lt;/em&gt; performance! &lt;/p&gt;

&lt;p&gt;URL Endpoint: &lt;code&gt;https://api.eva.pingutil.com/email?email=[email]&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Example: `&lt;a href="https://api.eva.pingutil.com/email?email=test@mail7.io" rel="noopener noreferrer"&gt;https://api.eva.pingutil.com/email?email=test@mail7.io&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Response: &lt;br&gt;
&lt;code&gt;&lt;/code&gt;&lt;code&gt;&lt;br&gt;
{&lt;br&gt;
    "status": "success",&lt;br&gt;
    "data": {&lt;br&gt;
        "email_address": "test@mail7.io",&lt;br&gt;
        "domain": "mail7.io",&lt;br&gt;
        "valid_syntax": true,&lt;br&gt;
        "disposable": true,&lt;br&gt;
        "webmail": false,&lt;br&gt;
        "deliverable": true,&lt;br&gt;
        "catch_all": true,&lt;br&gt;
        "gibberish": false,&lt;br&gt;
        "spam": false&lt;br&gt;
    }&lt;br&gt;
}&lt;br&gt;
&lt;/code&gt;&lt;code&gt;&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://geographql.netlify.app/" rel="noopener noreferrer"&gt;3.  GeographQL&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Get information about countries, states, cities using GraphQL&lt;/p&gt;

&lt;p&gt;URL Endpoint:&lt;code&gt;https://api.geographql.rudio.dev/graphql&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Queries: &lt;code&gt;cities, city, state, states, country, countries&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Example Response for a city query: &lt;br&gt;
&lt;code&gt;&lt;/code&gt;&lt;code&gt;&lt;br&gt;
{&lt;br&gt;
  "data": {&lt;br&gt;
    "city": {&lt;br&gt;
      "id": 127759,&lt;br&gt;
      "name": "Los Angeles",&lt;br&gt;
      "state_id": 4655,&lt;br&gt;
      "country_id": 236,&lt;br&gt;
      "country_code": "US",&lt;br&gt;
      "latitude": 34.05223,&lt;br&gt;
      "longitude": -118.24368&lt;br&gt;
    }&lt;br&gt;
  }&lt;br&gt;
}&lt;br&gt;
&lt;/code&gt;&lt;code&gt;&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://documentation.image-charts.com/" rel="noopener noreferrer"&gt;4. Image Charts&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Create any type of chart image you can think of! I even learnt some new type of charts while going through their documentation.&lt;/p&gt;

&lt;p&gt;Might not be the easiest thing to get started with, but this can definitely spice up your websites and in my opinion worth giving a try.&lt;/p&gt;

&lt;p&gt;URL Endpoint: &lt;code&gt;https://image-charts.com/chart ?cht=&amp;lt;chart_type&amp;gt; &amp;amp;chd=&amp;lt;chart_data&amp;gt; &amp;amp;chs=&amp;lt;chart_size&amp;gt; &amp;amp;...additional_parameters...&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Example URL: &lt;code&gt;https://image-charts.com/chart?chs=700x190&amp;amp;chd=t:60,40&amp;amp;cht=p3&amp;amp;chl=Hello%7CWorld&amp;amp;chan&amp;amp;chf=ps0-0,lg,45,ffeb3b,0.2,f44336,1%7Cps0-1,lg,45,8bc34a,0.2,009688,1&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Response: &lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fimage-charts.com%2Fchart%3Fchs%3D700x190%26chd%3Dt%3A60%2C40%26cht%3Dp3%26chl%3DHello%257CWorld%26chan%26chf%3Dps0-0%2Clg%2C45%2Cffeb3b%2C0.2%2Cf44336%2C1%257Cps0-1%2Clg%2C45%2C8bc34a%2C0.2%2C009688%2C1" 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%2Fimage-charts.com%2Fchart%3Fchs%3D700x190%26chd%3Dt%3A60%2C40%26cht%3Dp3%26chl%3DHello%257CWorld%26chan%26chf%3Dps0-0%2Clg%2C45%2Cffeb3b%2C0.2%2Cf44336%2C1%257Cps0-1%2Clg%2C45%2C8bc34a%2C0.2%2C009688%2C1"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://freeforexapi.com/Home/Api" rel="noopener noreferrer"&gt;5. Free Forex API&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The Free Forex API gives real-time information about foreign exchange rates, and as the name implies it is of course free to use, but they are strict when it comes to abusing their service.&lt;/p&gt;

&lt;p&gt;URL Endpoint: &lt;code&gt;https://www.freeforexapi.com/api/&lt;/code&gt; &lt;/p&gt;

&lt;p&gt;Example URL: &lt;code&gt;https://www.freeforexapi.com/api/live?pairs=EURGBP,USDJPY&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Response: &lt;br&gt;
&lt;code&gt;&lt;/code&gt;&lt;code&gt;&lt;br&gt;
{&lt;br&gt;
    "rates":{&lt;br&gt;
        "EURGBP":{&lt;br&gt;
            "rate":0.891724,&lt;br&gt;
            "timestamp":1532429549281&lt;br&gt;
        },&lt;br&gt;
        "USDJPY":{&lt;br&gt;
            "rate":111.1307,&lt;br&gt;
            "timestamp":1532429549281&lt;br&gt;
        }&lt;br&gt;
    },&lt;br&gt;
    "code":200&lt;br&gt;
}&lt;br&gt;
&lt;/code&gt;&lt;code&gt;&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://github.com/cheatsnake/emojihub" rel="noopener noreferrer"&gt;Fun Bonus:  EmojiHub&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;EmojiHub returns random emojis from already filtered categories and groups. As well as get all the emojis from one specific group. Who knows, maybe you might find a good use for this!&lt;/p&gt;

&lt;p&gt;URL Endpoint: &lt;code&gt;emojihub.yurace.pro/api/[Option]&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Example : &lt;code&gt;emojihub.yurace.pro/api/random&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Response: &lt;br&gt;
&lt;code&gt;&lt;/code&gt;&lt;code&gt;&lt;br&gt;
{&lt;br&gt;
  name: "hugging face",&lt;br&gt;
  category: "smileys and people",&lt;br&gt;
  group: "face positive",&lt;br&gt;
  htmlCode: [&lt;br&gt;
    "&amp;amp;#129303;"&lt;br&gt;
  ],&lt;br&gt;
  unicode: [&lt;br&gt;
    "U+1F917"&lt;br&gt;
  ]&lt;br&gt;
}&lt;br&gt;
&lt;/code&gt;&lt;code&gt;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;I appreciate you spending your time reading this post, if you'd like to read more here you go:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://the-net-blog.netlify.app/post/get-started-with-git/" rel="noopener noreferrer"&gt;🔥  What Is Open-source? A Simple Introduction - My Last Post&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://the-net-blog.netlify.app/" rel="noopener noreferrer"&gt;🏠  Home Page&lt;/a&gt;&lt;/p&gt;

</description>
      <category>api</category>
      <category>programming</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
