<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Ahmed Zougari</title>
    <description>The latest articles on Forem by Ahmed Zougari (@zougari47).</description>
    <link>https://forem.com/zougari47</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%2F737601%2F7b4186e0-a8c2-41ef-a17b-c587b0fee5a6.jpg</url>
      <title>Forem: Ahmed Zougari</title>
      <link>https://forem.com/zougari47</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/zougari47"/>
    <language>en</language>
    <item>
      <title>Add TailwindCSS IntelliSense and Prettier Plugin Support for TS/JS Files</title>
      <dc:creator>Ahmed Zougari</dc:creator>
      <pubDate>Sun, 31 Aug 2025 22:05:09 +0000</pubDate>
      <link>https://forem.com/zougari47/add-tailwindcss-intellisense-and-prettier-plugin-support-for-tsjs-files-32jg</link>
      <guid>https://forem.com/zougari47/add-tailwindcss-intellisense-and-prettier-plugin-support-for-tsjs-files-32jg</guid>
      <description>&lt;p&gt;When you're working with TailwindCSS, sometimes you need to write class strings in non-TSX files, like exporting variants when using cva (&lt;a href="https://cva.style/docs?" rel="noopener noreferrer"&gt;class-variance-authority&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The problem is that you get neither Tailwind IntelliSense nor class sorting from the &lt;a href="https://www.npmjs.com/package/prettier-plugin-tailwindcss" rel="noopener noreferrer"&gt;Prettier Tailwind plugin&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is the cn utility?
&lt;/h2&gt;

&lt;p&gt;If you're familiar with shadcn, you already know it; if not, the snippet below explains it.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;clsx&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kd"&gt;type&lt;/span&gt; &lt;span class="nx"&gt;ClassValue&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;clsx&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;twMerge&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;tailwind-merge&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;cn&lt;/span&gt;&lt;span class="p"&gt;(...&lt;/span&gt;&lt;span class="nx"&gt;inputs&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;ClassValue&lt;/span&gt;&lt;span class="p"&gt;[])&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nf"&gt;twMerge&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;clsx&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;inputs&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;
  
  
  Add TailwindCSS Intellisense to typescript files
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;VSCode:&lt;/strong&gt; In your &lt;code&gt;settings.json&lt;/code&gt;, add this line (you can include any name for your functions).&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"tailwindCSS.classFunctions"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"cva"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"cn"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;NeoVim:&lt;/strong&gt; Make sure you have &lt;a href="https://github.com/neovim/nvim-lspconfig" rel="noopener noreferrer"&gt;nvim-lspconfig&lt;/a&gt; installed&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="nb"&gt;require&lt;/span&gt; &lt;span class="s1"&gt;'lspconfig'&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;tailwindcss&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;setup&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="n"&gt;settings&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="n"&gt;tailwindCSS&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="n"&gt;classFunctions&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="s2"&gt;"cva"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"cn"&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
    &lt;span class="p"&gt;},&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;
  
  
  Prettier TailwindCSS Plugin Support
&lt;/h2&gt;

&lt;p&gt;Simply add this to your existing Prettier config file&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"plugins"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="s2"&gt;"prettier-plugin-tailwindcss"&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"tailwindFunctions"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"cva"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"cn"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Bonus: Show the added utilities with the IntelliSense suggestions
&lt;/h2&gt;

&lt;p&gt;If you're creating utilities in your CSS file, and they aren't showing with IntelliSense, instead of doing it 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="k"&gt;@layer&lt;/span&gt; &lt;span class="n"&gt;utilities&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nc"&gt;.bg-gradient&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;180deg&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;#f5f5ff&lt;/span&gt; &lt;span class="m"&gt;73%&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;#e0e0ff&lt;/span&gt; &lt;span class="m"&gt;100%&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="nc"&gt;.txt-preset-1&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="err"&gt;@apply&lt;/span&gt; &lt;span class="err"&gt;text-[52px]&lt;/span&gt; &lt;span class="err"&gt;font-bold&lt;/span&gt; &lt;span class="err"&gt;leading-[140%]&lt;/span&gt; &lt;span class="err"&gt;tracking-[-2px];&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;

  &lt;span class="nc"&gt;.txt-preset-1-mobile&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="err"&gt;@apply&lt;/span&gt; &lt;span class="err"&gt;text-[46px]&lt;/span&gt; &lt;span class="err"&gt;font-bold&lt;/span&gt; &lt;span class="err"&gt;leading-[120%]&lt;/span&gt; &lt;span class="err"&gt;tracking-[-2px];&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;

  &lt;span class="nc"&gt;.txt-preset-2&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="err"&gt;@apply&lt;/span&gt; &lt;span class="err"&gt;text-[40px]&lt;/span&gt; &lt;span class="err"&gt;font-bold&lt;/span&gt; &lt;span class="err"&gt;leading-[120%]&lt;/span&gt; &lt;span class="err"&gt;tracking-[-0.3px];&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;Do this; it not only shows in IntelliSense but also works with variants like &lt;code&gt;hover&lt;/code&gt;, &lt;code&gt;focus&lt;/code&gt;, and &lt;code&gt;lg:&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="k"&gt;@utility&lt;/span&gt; &lt;span class="n"&gt;bg-gradient&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;180deg&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;#f5f5ff&lt;/span&gt; &lt;span class="m"&gt;73%&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;#e0e0ff&lt;/span&gt; &lt;span class="m"&gt;100%&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="k"&gt;@utility&lt;/span&gt; &lt;span class="n"&gt;txt-preset-1&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;@apply&lt;/span&gt; &lt;span class="n"&gt;text-&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="m"&gt;52px&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="n"&gt;font-bold&lt;/span&gt; &lt;span class="n"&gt;leading-&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="m"&gt;140%&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="n"&gt;tracking-&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="m"&gt;-2px&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="k"&gt;@utility&lt;/span&gt; &lt;span class="n"&gt;txt-preset-1-mobile&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;@apply&lt;/span&gt; &lt;span class="n"&gt;text-&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="m"&gt;46px&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="n"&gt;font-bold&lt;/span&gt; &lt;span class="n"&gt;leading-&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="m"&gt;120%&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="n"&gt;tracking-&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="m"&gt;-2px&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;



</description>
      <category>tailwindcss</category>
      <category>typescript</category>
      <category>javascript</category>
      <category>programming</category>
    </item>
    <item>
      <title>Boost Your Productivity with These 25 VS Code Extensions</title>
      <dc:creator>Ahmed Zougari</dc:creator>
      <pubDate>Mon, 03 Apr 2023 12:30:09 +0000</pubDate>
      <link>https://forem.com/zougari47/boost-your-productivity-with-these-25-vs-code-extensions-4hn</link>
      <guid>https://forem.com/zougari47/boost-your-productivity-with-these-25-vs-code-extensions-4hn</guid>
      <description>&lt;p&gt;VS Code is a popular open-source code editor that supports a wide range of extensions to enhance its functionality. In this blog, we will explore some of the best extensions available to improve your coding experience and productivity.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Live Server
&lt;/h2&gt;

&lt;p&gt;If you're working on a project HTML/CSS/JavaScript only, this extension Launches a local development server with a live reload feature (on file change).&lt;/p&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%2Fymgvnkm95i7xzdphs8t3.gif" 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%2Fymgvnkm95i7xzdphs8t3.gif" alt="Live Server" width="760" height="407"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Make sure you're opening the folder not the file in Visual Studio Code.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Open your HTML file and press &lt;code&gt;alt+L&lt;/code&gt;+&lt;code&gt;alt+O&lt;/code&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  2. HTML End Tag Labels
&lt;/h2&gt;

&lt;p&gt;When you work on a static website without any JavaScript framework like React, you may have a long HTML file and you get confused when you see the nested &lt;code&gt;&amp;lt;div&amp;gt;&lt;/code&gt;. This extension comes in handy because it shows you at the end of the tag the Id and the Class for the closed tag.&lt;/p&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%2F65ig7di0cc5bfbawhywp.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%2F65ig7di0cc5bfbawhywp.png" alt="HTML End Tag Labels" width="800" height="401"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Auto Rename Tag
&lt;/h2&gt;

&lt;p&gt;Automatically rename paired HTML/XML.&lt;/p&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%2Fu45jlr4uexnj6cr7hzwt.gif" 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%2Fu45jlr4uexnj6cr7hzwt.gif" alt="Auto Rename Tag" width="1440" height="938"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  4. HTML CSS Support
&lt;/h2&gt;

&lt;p&gt;A Visual Studio Code extension that provides CSS class name completion for the HTML class attribute based on the definitions found in your workspace or external files referenced through the link element.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Material Icon Theme
&lt;/h2&gt;

&lt;p&gt;This extension provides beautiful icons for your files and folder like the image below.&lt;/p&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1675934158493%2Fc69c297f-5dfe-435c-9167-ab678d073d3d.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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1675934158493%2Fc69c297f-5dfe-435c-9167-ab678d073d3d.png" alt="Material Icon Theme" width="800" height="3043"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  6. Fluent Icons
&lt;/h2&gt;

&lt;p&gt;This extension offers a set of icons based on Microsoft's Fluent design language. It enhances the appearance of the code editor by adding these icons to various parts, including the file explorer, providing a more visually appealing and consistent interface.&lt;/p&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%2Frup18jj3pgoji4li9ipm.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%2Frup18jj3pgoji4li9ipm.png" alt="Fluent Icons" width="800" height="577"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  7. CodeSnap
&lt;/h2&gt;

&lt;p&gt;A tool that allows developers to take screenshots of their code snippets. With this extension, developers can easily capture an image of their code and include it in their documentation, and blog posts...&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Open the command palette (&lt;code&gt;Ctrl+Shift+P&lt;/code&gt; on Windows and Linux, &lt;code&gt;Cmd+Shift+P&lt;/code&gt; on OS X) and search for &lt;code&gt;CodeSnap&lt;/code&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select the code you'd like to screenshot.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Adjust the width of the screenshot if desired.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click the shutter button to save the screenshot to your disk.&lt;/p&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%2F7k1gjjjd7wv4gvcc5rdw.gif" 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%2F7k1gjjjd7wv4gvcc5rdw.gif" alt="CodeSnap" width="760" height="506"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  8. Code Spell Checker
&lt;/h2&gt;

&lt;p&gt;This spell checker is an essential tool for catching spelling mistakes in both code and documents. It is designed to be highly accurate, reducing the number of false positives to a minimum. You can trust its ability to help you produce typo-free work.&lt;/p&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%2Fnx8aywru9t8p4qqrve8n.gif" 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%2Fnx8aywru9t8p4qqrve8n.gif" alt="Code Spell Checker" width="745" height="539"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  9. VSCode Dimmer
&lt;/h2&gt;

&lt;p&gt;The "Dimmer" extension helps you focus on selected code by reducing the opacity of text outside of selections. This extension supports multiple selections, making it an excellent tool for working on large code files. You can set a keybinding for "dimmer.ToggleDimmer"&lt;/p&gt;

&lt;p&gt;Search for "Toggle Dimmer" in the command palette, or use the "dimmer.enabled" setting to toggle the extension on and off.&lt;/p&gt;

&lt;p&gt;By default, the extension will dim all lines that do not have an extension. You can use the "dimmer.context" setting to leave a specific number of lines before and after the un-dimmed lines.&lt;/p&gt;

&lt;p&gt;You can also set the value to a negative number to dim everything except the selection. This extension comes in handy when you are working with long code files and need help tracking your current position.&lt;/p&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%2F6smnjvd3cw4vjk0vccg0.gif" 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%2F6smnjvd3cw4vjk0vccg0.gif" alt="VSCode Dimmer" width="760" height="525"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  10. Footsteps
&lt;/h2&gt;

&lt;p&gt;The ability to jump between different parts of your code is a crucial aspect of modern software development. With the "highlight and fade" functionality provided by this VSCode extension, you can keep track of where you are in your code, and which lines you have recently edited.&lt;/p&gt;

&lt;p&gt;As you move away from a particular line, it will gradually fade, making it easier to see which lines are currently relevant to your work. Additionally, the extension supports quick navigation between lines using keyboard shortcuts, such as &lt;code&gt;ctrl+alt+left&lt;/code&gt; and &lt;code&gt;ctrl+alt+right&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;By using this extension to keep your place when navigating your code, you can focus on the task at hand and get more done in less time.&lt;/p&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%2Fy5243buuxhxkqht5c33b.gif" 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%2Fy5243buuxhxkqht5c33b.gif" alt="Footsteps" width="720" height="380"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  11. Path Intellisense
&lt;/h2&gt;

&lt;p&gt;Visual Studio Code plugin that autocompletes filenames.&lt;/p&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%2F45aioxyjz12wztyp4tuw.gif" 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%2F45aioxyjz12wztyp4tuw.gif" alt="Path Intellisense" width="480" height="270"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  12. IntelliCode
&lt;/h2&gt;

&lt;p&gt;Visual Studio IntelliCode is a suite of AI-powered tools that improve developer productivity with features like AI-assisted IntelliSense and statement completion, code formatting, and style rule inference. These capabilities help developers write code faster, more accurately, and in compliance with best practices.&lt;/p&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%2Flearn.microsoft.com%2Fen-us%2Fvisualstudio%2Fintellicode%2Fmedia%2Fintellicode-usage-examples-v2.gif" 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%2Flearn.microsoft.com%2Fen-us%2Fvisualstudio%2Fintellicode%2Fmedia%2Fintellicode-usage-examples-v2.gif" alt="IntelliCode" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Alternative:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;GitHub Copilot&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Tabnine AI&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  13. Import Cost
&lt;/h2&gt;

&lt;p&gt;This VSCode extension allows you to easily check the size of any imported packages directly in the editor.&lt;/p&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%2Fcitw.dev%2F_next%2Fimage%3Furl%3D%252fposts%252fimport-cost%252f1quov3TFpgG2ur7myCLGtsA.gif%26w%3D1080%26q%3D75" 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%2Fcitw.dev%2F_next%2Fimage%3Furl%3D%252fposts%252fimport-cost%252f1quov3TFpgG2ur7myCLGtsA.gif%26w%3D1080%26q%3D75" alt="Import Cost" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  14. Comment Anchors
&lt;/h2&gt;

&lt;p&gt;Comment Anchors is a VSCode extension that lets you add bookmarks to your code by placing anchors within comments or strings. These anchors can be used to track TODOs, write notes, create foldable sections, or build a simple navigation system that makes it easier to navigate your files.&lt;/p&gt;

&lt;p&gt;The extension offers an easy-to-use sidebar for viewing anchors in the current file or across the entire workspace. With many configuration options available, Comment Anchors can be customized to fit your personal workflow and increase your productivity.&lt;/p&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%2Fj1hld5ekp0me9p44v8io.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%2Fj1hld5ekp0me9p44v8io.png" alt="Comment Anchors" width="800" height="402"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Alternative:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Todo Tree&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;TODO Highlight&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Better Comments&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  15. Image preview
&lt;/h2&gt;

&lt;p&gt;Shows an image preview in the gutter and on hover.&lt;/p&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%2Fv1mdajd3fgpp6b7or22q.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%2Fv1mdajd3fgpp6b7or22q.png" alt="Image preview" width="520" height="274"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  15. CSS Peek
&lt;/h2&gt;

&lt;p&gt;HTML and ejs code editing will get enhanced by this extension, which adds support for "Go To Definition" and "Go To Symbol" in Workspace. It also identifies Classes and IDs in CSS/sass/less strings within the source code.&lt;/p&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%2Fq4hx5h3u9cmmao3jtcjd.gif" 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%2Fq4hx5h3u9cmmao3jtcjd.gif" alt="CSS Peek" width="571" height="562"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  16. Turbo Console Log
&lt;/h2&gt;

&lt;p&gt;This extension makes debugging much easier by automating the operation of writing meaningful log messages.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Selecting or hovering the variable which is the subject of the debugging (Manual selection will always take over the hover selection)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Pressing ctrl + alt + L (Windows) or ctrl + option + L (Mac)&lt;/p&gt;&lt;/li&gt;
&lt;/ul&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%2F1az19ec5ectze3wxx62t.gif" 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%2F1az19ec5ectze3wxx62t.gif" alt="Turbo Console Log" width="600" height="522"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  16. Quokka.js
&lt;/h2&gt;

&lt;p&gt;Quokka.js is a productivity tool for developers, designed to facilitate rapid prototyping of JavaScript/TypeScript. As you type, the runtime values are constantly updated and displayed alongside your code in your IDE.&lt;/p&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%2Fcfvezh1lkp173ylmy7ss.gif" 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%2Fcfvezh1lkp173ylmy7ss.gif" alt="Quokka.js" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  17. SCSS IntelliSense
&lt;/h2&gt;

&lt;p&gt;SCSS IntelliSense (Variables, Mixins, and Functions) for all files in the workspace.&lt;/p&gt;

&lt;h2&gt;
  
  
  18. Live Sass Compiler
&lt;/h2&gt;

&lt;p&gt;There are various methods to compile SASS code, such as using SASS CLI. However, if you prefer a faster approach, this extension can come in handy. It is a VSCode extension that assists you in compiling/transpiling your SASS/SCSS files into CSS files in real-time and with live browser reload.&lt;/p&gt;

&lt;h2&gt;
  
  
  19. GitLens
&lt;/h2&gt;

&lt;p&gt;GitLens enhances the capabilities of Git within VS Code, revealing previously undiscovered insights within each repository. It allows you to quickly view code authorship details through Git blame annotations and CodeLens, effortlessly navigate and investigate Git repositories, obtain valuable information through comprehensive visualizations and robust comparison commands, and much more.&lt;/p&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%2Frha19mc2w32g5nqw5qpq.gif" 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%2Frha19mc2w32g5nqw5qpq.gif" alt="GitLens" width="737" height="593"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  20. ES7+ React/Redux/React-Native snippets
&lt;/h2&gt;

&lt;p&gt;ES7+ React/Redux/React-Native Snippets is a popular extension for Visual Studio Code that provides a collection of code snippets to help developers write code faster when working with React, Redux, and React Native. The extension includes snippets for common tasks such as creating new components, adding event handlers, and managing Redux state.&lt;/p&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%2Fuf3mksbg1ul2ljtyimol.gif" 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%2Fuf3mksbg1ul2ljtyimol.gif" alt="ES7+ React/Redux/React-Native snippets" width="1900" height="952"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  21. Sapling
&lt;/h2&gt;

&lt;p&gt;A convenient way to navigate through your React application. With Sapling, you can easily traverse your component tree and find the exact component you're looking for.&lt;/p&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%2Fgithub.com%2Foslabs-beta%2Fsapling%2Fraw%2FHEAD%2Fsapling%2Fmedia%2Fquizwall_demo.gif" 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%2Fgithub.com%2Foslabs-beta%2Fsapling%2Fraw%2FHEAD%2Fsapling%2Fmedia%2Fquizwall_demo.gif" alt="Sapling" width="" height=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  22. Glean
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;The extension provides refactoring tools for your React codebase.&lt;/p&gt;
&lt;/blockquote&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%2Fy1wwqyx6fwrowewsw7qa.gif" 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%2Fy1wwqyx6fwrowewsw7qa.gif" alt="Glean" width="720" height="423"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  23. REST Client
&lt;/h2&gt;

&lt;p&gt;REST Client allows you to send HTTP requests and view the response in Visual Studio Code directly.&lt;/p&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%2Fplze6ijo1hsz0578c7jr.gif" 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%2Fplze6ijo1hsz0578c7jr.gif" alt="REST Client" width="720" height="365"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  24. Tailwind CSS IntelliSense
&lt;/h2&gt;

&lt;p&gt;Tailwind CSS IntelliSense provides intelligent code completion, linting, and hover previews for Tailwind CSS classes in your HTML, CSS, and JavaScript files. It helps you write code faster and with fewer errors by suggesting the correct class names.&lt;/p&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%2Fraw.githubusercontent.com%2Fbradlc%2Fvscode-tailwindcss%2Fmaster%2Fpackages%2Fvscode-tailwindcss%2F.github%2Fautocomplete.png%2520align%3D" 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%2Fraw.githubusercontent.com%2Fbradlc%2Fvscode-tailwindcss%2Fmaster%2Fpackages%2Fvscode-tailwindcss%2F.github%2Fautocomplete.png%2520align%3D" alt="Tailwind CSS IntelliSense" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  25. Prettier
&lt;/h2&gt;

&lt;p&gt;If you don't have prettier already installed on your project it's good to have this extension that allows you to format your code on file save.&lt;/p&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%2Fwww.codereadability.com%2Fcontent%2Fimages%2F2018%2F05%2FOyP2EiZ4Iq.gif%2520align%3D" 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%2Fwww.codereadability.com%2Fcontent%2Fimages%2F2018%2F05%2FOyP2EiZ4Iq.gif%2520align%3D" alt="Prettier" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  26. &lt;strong&gt;Next JS/TS Snippets&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;If you're working with Next.js, these snippets can help you speed up your development process.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;np&lt;/code&gt; - nextPage&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;npssp&lt;/code&gt; - nextPageServerSideProps&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;npsp&lt;/code&gt; - nextPageStaticProps&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;npspth&lt;/code&gt; - nextPageStaticPaths&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;nssp&lt;/code&gt; - nextServerSideProps&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;nsp&lt;/code&gt; - nextStaticProps&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;nspth&lt;/code&gt; - nextStaticPaths&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;nip&lt;/code&gt; - nextInitialProps&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;nimg&lt;/code&gt; - nextImage&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;napp&lt;/code&gt; - nextApp&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;ndoc&lt;/code&gt; - nextDocument&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;napi&lt;/code&gt; - nextApi&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;nmid&lt;/code&gt; - nextMiddleware&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;Don't miss these other lists!&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://blog.ahmedzougari.com/50-websites-for-web-developers" rel="noopener noreferrer"&gt;50+ websites for web developers&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://blog.ahmedzougari.com/top-30-webapp-design-inspiration-sites-for-your-next-project" rel="noopener noreferrer"&gt;Top +30 Web/App Design Inspiration sites for your next project&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://blog.ahmedzougari.com/50-websites-for-remote-work" rel="noopener noreferrer"&gt;Best 50 websites for freelance / full-time remote jobs&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>vscode</category>
      <category>productivity</category>
      <category>frontend</category>
      <category>community</category>
    </item>
    <item>
      <title>50+ websites for web developers</title>
      <dc:creator>Ahmed Zougari</dc:creator>
      <pubDate>Wed, 02 Nov 2022 11:42:12 +0000</pubDate>
      <link>https://forem.com/zougari47/50-websites-for-web-developers-39b7</link>
      <guid>https://forem.com/zougari47/50-websites-for-web-developers-39b7</guid>
      <description>&lt;p&gt;After I have shared these two huge lists &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://blog.ahmedzougari.com/50-websites-for-remote-work" rel="noopener noreferrer"&gt;50+ websites for remote work&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blog.ahmedzougari.com/top-30-webapp-design-inspiration-sites-for-your-next-project" rel="noopener noreferrer"&gt;30+ websites for design inpiration&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I decided to share another one. But this time you can contribute. The table below is from this &lt;a href="https://github.com/zougari47/webdevs-tools" rel="noopener noreferrer"&gt;repository&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;And I will update the blog from time to time to make sure it's not outdated. So you can help by adding your favorite site or fixing typos, or broken links ...&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;#&lt;/th&gt;
&lt;th&gt;Name&lt;/th&gt;
&lt;th&gt;Keywords&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a href="https://10015.io" rel="noopener noreferrer"&gt;10015&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Mixed&lt;/td&gt;
&lt;td&gt;All online tools you need in one box for free. Build anything online with “all-in-one toolbox”. All tools are easy-to-use, blazing fast &amp;amp; free.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;&lt;a href="https://animate.style/" rel="noopener noreferrer"&gt;Animate.css&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Froentend, CSS, Animation&lt;/td&gt;
&lt;td&gt;Animate.css is a library of ready-to-use, cross-browser animations for you to use in your projects. Great for emphasis, home pages, sliders, and attention-guiding hints.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;&lt;a href="https://animista.net" rel="noopener noreferrer"&gt;Animista&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Frontend, CSS, Animation&lt;/td&gt;
&lt;td&gt;Animista is a CSS animation library and a place where you can play with a collection of ready-made CSS animations and download only those you will use.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;&lt;a href="https://ayroui.com" rel="noopener noreferrer"&gt;Ayro UI&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Frontend, Bootstrap, UI Library&lt;/td&gt;
&lt;td&gt;Free Bootstrap Snippets, UI Components, and Library&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;&lt;a href="https://bgjar.com" rel="noopener noreferrer"&gt;Bg Jar&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Frontend, CSS, SVG, Background&lt;/td&gt;
&lt;td&gt;Free svg background generator for your websites, blogs and app.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.blobmaker.app" rel="noopener noreferrer"&gt;Blob Maker&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Frontend, CSS, SVG&lt;/td&gt;
&lt;td&gt;Make organic SVG shapes for your next design. Modify the complexity, contrast, and color, to generate unique SVG blobs every time.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;7&lt;/td&gt;
&lt;td&gt;&lt;a href="https://box-shadow.dev" rel="noopener noreferrer"&gt;Box-shadow.dev&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Frontend, CSS, Box-shadow&lt;/td&gt;
&lt;td&gt;Customize Shadows.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;8&lt;/td&gt;
&lt;td&gt;&lt;a href="https://branition.com/colors" rel="noopener noreferrer"&gt;Branition Colors&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Frontend, CSS, Colors&lt;/td&gt;
&lt;td&gt;Hand-curated collection of color palettes best fitted for branding.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;9&lt;/td&gt;
&lt;td&gt;&lt;a href="https://getcssscan.com/css-box-shadow-examples" rel="noopener noreferrer"&gt;CSS Box Shadow Examples&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Frontend, CSS, Box-shadow&lt;/td&gt;
&lt;td&gt;Beautiful CSS box-shadow examples.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;td&gt;&lt;a href="https://getcssscan.com/css-buttons-examples" rel="noopener noreferrer"&gt;CSS Buttons Examples&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Frontend, CSS, Buttons&lt;/td&gt;
&lt;td&gt;🎨 Curated collection of 88 free beautiful CSS buttons, ready-to-use for your next projects. Click to copy.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;11&lt;/td&gt;
&lt;td&gt;&lt;a href="https://cssgradient.io" rel="noopener noreferrer"&gt;CSS Gradient&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Frontend, CSS, Colors, Gradient&lt;/td&gt;
&lt;td&gt;CSS Gradient is a happy little website and free tool that lets you create a gradient background for websites.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;12&lt;/td&gt;
&lt;td&gt;&lt;a href="https://cssgrid-generator.netlify.app" rel="noopener noreferrer"&gt;CSS Grid Generator&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Frontend, CSS, Grid&lt;/td&gt;
&lt;td&gt;CSS Grid generator.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;13&lt;/td&gt;
&lt;td&gt;&lt;a href="http://apps.eky.hk/css-triangle-generator" rel="noopener noreferrer"&gt;CSS Triangle Generator&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Frontend, CSS, Border&lt;/td&gt;
&lt;td&gt;CSS triangle generator - A generator for pure CSS triangle.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;14&lt;/td&gt;
&lt;td&gt;&lt;a href="https://chartscss.org" rel="noopener noreferrer"&gt;Charts CSS&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Frontend, CSS, Charts&lt;/td&gt;
&lt;td&gt;CSS data visualization framework.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;15&lt;/td&gt;
&lt;td&gt;&lt;a href="https://bennettfeely.com/clippy" rel="noopener noreferrer"&gt;Clippy&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Frontend, CSS, Clip-path&lt;/td&gt;
&lt;td&gt;The clip-path property allows you to make complex shapes in CSS by clipping an element to a basic shape (circle, ellipse, polygon, or inset), or to an SVG source.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;16&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.colorhub.app" rel="noopener noreferrer"&gt;ColorHub&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Frontend, CSS, Colors&lt;/td&gt;
&lt;td&gt;Find the perfect color palette for your next project.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;17&lt;/td&gt;
&lt;td&gt;&lt;a href="https://colorhunt.co" rel="noopener noreferrer"&gt;ColorHunt&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Frontend, CSS, Colors&lt;/td&gt;
&lt;td&gt;Color Palettes for Designers and Artists.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;18&lt;/td&gt;
&lt;td&gt;&lt;a href="https://colorpalettes.colorion.co" rel="noopener noreferrer"&gt;ColorPalettes&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Frontend, CSS, Colors&lt;/td&gt;
&lt;td&gt;30+ Hand curated color palettes. To see the preview just click on the palette.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;19&lt;/td&gt;
&lt;td&gt;&lt;a href="https://colors.muz.li" rel="noopener noreferrer"&gt;ColorsMuzLi&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Frontend, CSS, Colors&lt;/td&gt;
&lt;td&gt;Color Palette Generator. Create Beautiful Color Schemes that works.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;20&lt;/td&gt;
&lt;td&gt;&lt;a href="https://convertacolor.com" rel="noopener noreferrer"&gt;Convert A Color&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Frontend, CSS, Colors&lt;/td&gt;
&lt;td&gt;Convert a color to different formats.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;21&lt;/td&gt;
&lt;td&gt;&lt;a href="https://coolbackgrounds.io" rel="noopener noreferrer"&gt;Cool Backgrounds&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Frontend, CSS, Background&lt;/td&gt;
&lt;td&gt;Cool Backgrounds is a collection of tools to create compelling, colorful images for blogs, social media, and websites.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;22&lt;/td&gt;
&lt;td&gt;&lt;a href="https://mycolor.space" rel="noopener noreferrer"&gt;Cool Backgrounds&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Frontend, CSS, Colors&lt;/td&gt;
&lt;td&gt;Never waste Hours on finding the perfect Color Palette again!&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;23&lt;/td&gt;
&lt;td&gt;&lt;a href="https://webkul.github.io/coolhue" rel="noopener noreferrer"&gt;CoolHue&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Frontend, CSS, Colors, Gradient&lt;/td&gt;
&lt;td&gt;60 linear gradients collection.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;24&lt;/td&gt;
&lt;td&gt;&lt;a href="https://coolors.co" rel="noopener noreferrer"&gt;Coolors&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Frontend, CSS, Colors&lt;/td&gt;
&lt;td&gt;The super fast color palettes generator!&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;25&lt;/td&gt;
&lt;td&gt;&lt;a href="https://cubic-bezier.com" rel="noopener noreferrer"&gt;Cubic Bezier&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Frontend, CSS, Animation&lt;/td&gt;
&lt;td&gt;A better tool for cubic-bezier() easing.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;26&lt;/td&gt;
&lt;td&gt;&lt;a href="https://doodad.dev/pattern-generator" rel="noopener noreferrer"&gt;Doodad Pattern Generator&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Frontend, CSS, SVG, Background&lt;/td&gt;
&lt;td&gt;Generate seamless, unique, royalty-free patterns to use for free in any project. Export as SVG, JPEG, or PNG.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;27&lt;/td&gt;
&lt;td&gt;&lt;a href="https://9elements.github.io/fancy-border-radius" rel="noopener noreferrer"&gt;Fancy Border Radius&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Frontend, CSS, Border-radius&lt;/td&gt;
&lt;td&gt;Generator to build organic shapes with CSS3 border-radius.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;28&lt;/td&gt;
&lt;td&gt;&lt;a href="https://flatuicolors.com" rel="noopener noreferrer"&gt;Flat UI Colors&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Frontend, CSS, Colors&lt;/td&gt;
&lt;td&gt;280 handpicked colors ready for COPY &amp;amp; PASTE.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;29&lt;/td&gt;
&lt;td&gt;&lt;a href="https://flowbite.com" rel="noopener noreferrer"&gt;Flowbite&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Frontend, CSS, Tailwind&lt;/td&gt;
&lt;td&gt;Get started with an open-source library of over 450+ UI components, sections, and pages built with the utility classes from Tailwind CSS and designed in Figma.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;30&lt;/td&gt;
&lt;td&gt;&lt;a href="https://flowbite.com" rel="noopener noreferrer"&gt;Flowbite&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Frontend, CSS, Tailwind&lt;/td&gt;
&lt;td&gt;Get started with an open-source library of over 450+ UI components, sections, and pages built with the utility classes from Tailwind CSS and designed in Figma.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;31&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.fetoolkit.io" rel="noopener noreferrer"&gt;Frontend Toolkit&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Mixed&lt;/td&gt;
&lt;td&gt;Frontend Toolkit is a customizable dashboard for your recurring Frontend tasks. Base64 encoder/decoder, SVG optimizations, SVG to JSX and many more!&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;32&lt;/td&gt;
&lt;td&gt;&lt;a href="https://getwaves.io" rel="noopener noreferrer"&gt;Get Waves&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Frontend, CSS, SVG, Waves&lt;/td&gt;
&lt;td&gt;A free SVG wave generator to make unique SVG waves for your next web design. Choose a curve, adjust complexity, randomize!&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;33&lt;/td&gt;
&lt;td&gt;&lt;a href="https://grid.layoutit.com" rel="noopener noreferrer"&gt;Grid Layoutit&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Frontend, CSS, Grid&lt;/td&gt;
&lt;td&gt;CSS Grid generator.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;34&lt;/td&gt;
&lt;td&gt;&lt;a href="https://headlessui.com" rel="noopener noreferrer"&gt;Headless UI&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Frontend, Tailwind, React, Vue, UI Library&lt;/td&gt;
&lt;td&gt;Completely unstyled, fully accessible UI components, designed to integrate beautifully with Tailwind CSS.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;35&lt;/td&gt;
&lt;td&gt;&lt;a href="https://layout.bradwoods.io" rel="noopener noreferrer"&gt;Layout Bradwoods&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Frontend, CSS, Grid, Flex&lt;/td&gt;
&lt;td&gt;CSS Grid/FLEX generator.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;36&lt;/td&gt;
&lt;td&gt;&lt;a href="https://lottiefiles.com" rel="noopener noreferrer"&gt;Lottiefiles&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;GIF, Animation&lt;/td&gt;
&lt;td&gt;The world’s largest platform for Lottie animations. Add free animations anywhere (even if you don’t know motion design) or create, collaborate &amp;amp; ship motion easily with LottieFiles’ design &amp;amp; developer tools.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;37&lt;/td&gt;
&lt;td&gt;&lt;a href="https://meshgradient.com" rel="noopener noreferrer"&gt;MeshGradient&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Frontend, CSS, Colors, Gradient&lt;/td&gt;
&lt;td&gt;Create beautiful gradients.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;38&lt;/td&gt;
&lt;td&gt;&lt;a href="https://tobiasahlin.com/moving-letters" rel="noopener noreferrer"&gt;Moving Letters&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Frontend, CSS, JS, Animation, animejs&lt;/td&gt;
&lt;td&gt;Text animated with JavaScript &amp;amp; anime.js.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;39&lt;/td&gt;
&lt;td&gt;&lt;a href="https://neumorphism.io" rel="noopener noreferrer"&gt;Neumorphism&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Frontend, CSS, Box-shadow&lt;/td&gt;
&lt;td&gt;Generate Soft-UI CSS code.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;40&lt;/td&gt;
&lt;td&gt;&lt;a href="https://nextui.org" rel="noopener noreferrer"&gt;Next UI&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Frontend, Next, React, UI Library&lt;/td&gt;
&lt;td&gt;Make beautiful websites regardless of your design experience.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;41&lt;/td&gt;
&lt;td&gt;&lt;a href="https://open-props.style" rel="noopener noreferrer"&gt;Open Props&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Frontend, CSS&lt;/td&gt;
&lt;td&gt;Open source CSS custom properties to help accelerate adaptive and consistent design. Available from a CDN or NPM, as CSS or Javascript.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;42&lt;/td&gt;
&lt;td&gt;&lt;a href="https://svgwave.in" rel="noopener noreferrer"&gt;SVG Wave&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Frontend, CSS, SVG, Waves&lt;/td&gt;
&lt;td&gt;SVG Wave is a minimal svg wave generator with a lot of customization. It lets you ability to generate and export pngs and svgs of beautiful waves. SVG wave also lets you layer multiple waves. Create SVGs for your website designs.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;43&lt;/td&gt;
&lt;td&gt;&lt;a href="https://shadows.brumm.af" rel="noopener noreferrer"&gt;Shadows.brumm.af&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Frontend, CSS, Box-shadow&lt;/td&gt;
&lt;td&gt;Make a smooth shadow, friend.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;44&lt;/td&gt;
&lt;td&gt;&lt;a href="https://tobiasahlin.com/spinkit" rel="noopener noreferrer"&gt;Spinkit&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Frontend, CSS, Animation&lt;/td&gt;
&lt;td&gt;Simple CSS Spinners.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;45&lt;/td&gt;
&lt;td&gt;&lt;a href="https://devdojo.com/tails/v1/app" rel="noopener noreferrer"&gt;Tails&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Frontend, CSS, Tailwind&lt;/td&gt;
&lt;td&gt;Tails - TailwindCSS Page Builder.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;46&lt;/td&gt;
&lt;td&gt;&lt;a href="https://tailwindcomponents.com" rel="noopener noreferrer"&gt;Tailwind Components&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Frontend, CSS, Tailwind&lt;/td&gt;
&lt;td&gt;A free repository of open source Tailwind CSS components and templates to bootstrap your new apps, projects or landing sites!&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;47&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.tailwind-kit.com" rel="noopener noreferrer"&gt;Tailwind Kit&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Frontend, CSS, Tailwind&lt;/td&gt;
&lt;td&gt;Over 200 free and open source components and templates for tailwind css to build beautiful UI. All are fully coded and work with React, Angular and VueJS.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;48&lt;/td&gt;
&lt;td&gt;&lt;a href="https://transition.style" rel="noopener noreferrer"&gt;Transition Style&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Frontend, CSS, Animation&lt;/td&gt;
&lt;td&gt;Drop-in CSS transitions.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;49&lt;/td&gt;
&lt;td&gt;&lt;a href="https://uiverse.io" rel="noopener noreferrer"&gt;UI Verse&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Frontend, HTML, CSS, UI&lt;/td&gt;
&lt;td&gt;Universe of UI elements made with HTML &amp;amp; CSS.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;50&lt;/td&gt;
&lt;td&gt;&lt;a href="https://lib.vizzuhq.com" rel="noopener noreferrer"&gt;Vizzu&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Frontend, CSS, Charts, Javascript&lt;/td&gt;
&lt;td&gt;Open-source JavaScript library designed to easily create animated data visualizations and data stories.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;51&lt;/td&gt;
&lt;td&gt;&lt;a href="https://webgradients.com" rel="noopener noreferrer"&gt;Web Gradients&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Frontend, CSS, Colors, Gradient&lt;/td&gt;
&lt;td&gt;WebGradients is a free collection of 180 linear gradients that you can use as content backdrops in any part of your website.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;52&lt;/td&gt;
&lt;td&gt;&lt;a href="https://whirl.netlify.app" rel="noopener noreferrer"&gt;Whirl&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Frontend, CSS, Animation&lt;/td&gt;
&lt;td&gt;CSS loading animations with minimal effort!&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;53&lt;/td&gt;
&lt;td&gt;&lt;a href="https://joerezendes.com/projects/Woah.css" rel="noopener noreferrer"&gt;Woah&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Frontend, CSS, Animation&lt;/td&gt;
&lt;td&gt;Woah.css is a CSS animation library created by Joe Rezendes that was made for eccentric developers.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

</description>
      <category>webdev</category>
      <category>resources</category>
      <category>programming</category>
      <category>tooling</category>
    </item>
    <item>
      <title>Top +30 Web/App Design Inspiration sites for your next project</title>
      <dc:creator>Ahmed Zougari</dc:creator>
      <pubDate>Thu, 23 Jun 2022 18:43:42 +0000</pubDate>
      <link>https://forem.com/zougari47/top-30-inspirations-sites-for-your-next-project-171g</link>
      <guid>https://forem.com/zougari47/top-30-inspirations-sites-for-your-next-project-171g</guid>
      <description>&lt;p&gt;After sharing &lt;a href="https://dev.to/zougari47/best-50-websites-for-freelance-full-time-remote-jobs-4keg"&gt;50 websites for remote work&lt;/a&gt; I decided to share another list for design inspiration.      &lt;/p&gt;

&lt;p&gt;here are +30 websites. my advice tries them all and makes five that work for you your favorite.&lt;br&gt;
If you find it useful don't forget to leave a comment or share it with the community 🚀.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;#&lt;/th&gt;
&lt;th&gt;Website&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a href="https://collectui.com" rel="noopener noreferrer"&gt;collectui.com&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;&lt;a href="https://behance.net" rel="noopener noreferrer"&gt;behance.net&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;&lt;a href="https://dribbble.com" rel="noopener noreferrer"&gt;dribbble.com&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;&lt;a href="https://designspiration.com" rel="noopener noreferrer"&gt;designspiration.com&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;&lt;a href="https://uikitfree.com" rel="noopener noreferrer"&gt;uikitfree.com&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;td&gt;&lt;a href="https://landingfolio.com" rel="noopener noreferrer"&gt;landingfolio.com&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;7&lt;/td&gt;
&lt;td&gt;&lt;a href="https://onepagelove.com" rel="noopener noreferrer"&gt;onepagelove.com&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;8&lt;/td&gt;
&lt;td&gt;&lt;a href="https://uxmovement.com" rel="noopener noreferrer"&gt;uxmovement.com &lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;9&lt;/td&gt;
&lt;td&gt;&lt;a href="https://land-book.com" rel="noopener noreferrer"&gt;land-book.com&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;td&gt;&lt;a href="https://sketchrepo.com" rel="noopener noreferrer"&gt;sketchrepo.com&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;11&lt;/td&gt;
&lt;td&gt;&lt;a href="https://screenlane.com" rel="noopener noreferrer"&gt;screenlane.com&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;12&lt;/td&gt;
&lt;td&gt;&lt;a href="https://freebiesui.com" rel="noopener noreferrer"&gt;freebiesui.com&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;13&lt;/td&gt;
&lt;td&gt;&lt;a href="https://uispace.net" rel="noopener noreferrer"&gt;uispace.net&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;14&lt;/td&gt;
&lt;td&gt;&lt;a href="https://uistore.design" rel="noopener noreferrer"&gt;uistore.design&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;15&lt;/td&gt;
&lt;td&gt;&lt;a href="https://uigarage.net" rel="noopener noreferrer"&gt;uigarage.net&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;16&lt;/td&gt;
&lt;td&gt;&lt;a href="https://lapa.ninja" rel="noopener noreferrer"&gt;lapa.ninja&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;17&lt;/td&gt;
&lt;td&gt;&lt;a href="https://uibundle.com" rel="noopener noreferrer"&gt;uibundle.com&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;18&lt;/td&gt;
&lt;td&gt;&lt;a href="https://saasland.droitlab.com" rel="noopener noreferrer"&gt;saasland.droitlab.com&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;19&lt;/td&gt;
&lt;td&gt;&lt;a href="https://mobbin.com" rel="noopener noreferrer"&gt;mobbin.com&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;20&lt;/td&gt;
&lt;td&gt;&lt;a href="https://awwwards.com" rel="noopener noreferrer"&gt;awwwards.com&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;21&lt;/td&gt;
&lt;td&gt;&lt;a href="https://logoinspirations.co" rel="noopener noreferrer"&gt;logoinspirations.co&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;22&lt;/td&gt;
&lt;td&gt;&lt;a href="https://xdguru.com" rel="noopener noreferrer"&gt;xdguru.com&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;23&lt;/td&gt;
&lt;td&gt;&lt;a href="https://siteinspire.com" rel="noopener noreferrer"&gt;siteinspire.com&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;24&lt;/td&gt;
&lt;td&gt;&lt;a href="https://pageflows.com" rel="noopener noreferrer"&gt;pageflows.com&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;25&lt;/td&gt;
&lt;td&gt;&lt;a href="https://scrnshts.club" rel="noopener noreferrer"&gt;scrnshts.club&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;26&lt;/td&gt;
&lt;td&gt;&lt;a href="https://httpster.net" rel="noopener noreferrer"&gt;httpster.net&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;27&lt;/td&gt;
&lt;td&gt;&lt;a href="https://thefwa.com" rel="noopener noreferrer"&gt;thefwa.com&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;28&lt;/td&gt;
&lt;td&gt;&lt;a href="https://scrnshts.club" rel="noopener noreferrer"&gt;scrnshts.club&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;29&lt;/td&gt;
&lt;td&gt;&lt;a href="https://saaspik.pixelsigns.art" rel="noopener noreferrer"&gt;saaspik.pixelsigns.art&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;30&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.uplabs.com" rel="noopener noreferrer"&gt;www.uplabs.com&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;31&lt;/td&gt;
&lt;td&gt;&lt;a href="https://uidesigndaily.com" rel="noopener noreferrer"&gt;uidesigndaily.com&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;32&lt;/td&gt;
&lt;td&gt;&lt;a href="https://mobbin.com" rel="noopener noreferrer"&gt;mobbin.com&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;p&gt;Connect with me:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/zougari47" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/zougari47" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/in/zougari47/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>design</category>
      <category>inspiration</category>
      <category>ux</category>
      <category>uiweekly</category>
    </item>
    <item>
      <title>How to center div tailwindCSS vs Bootstrap</title>
      <dc:creator>Ahmed Zougari</dc:creator>
      <pubDate>Mon, 06 Jun 2022 08:25:12 +0000</pubDate>
      <link>https://forem.com/zougari47/how-to-center-div-tailwindcss-vs-bootstrap-2oan</link>
      <guid>https://forem.com/zougari47/how-to-center-div-tailwindcss-vs-bootstrap-2oan</guid>
      <description>&lt;p&gt;All know how much we suffer while centering a div😜. so I decided to share this tutorial. How to center a div using utility classes tailwind and bootstrap. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;NB:&lt;/strong&gt; this is not a comparison between tailwind and bootstrap. &lt;/p&gt;

&lt;h2&gt;
  
  
  Absolute
&lt;/h2&gt;

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

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"relative"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
 &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



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

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"position-relative"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
 &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"position-absolute top-50 start-50 translate-middle"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Flex
&lt;/h2&gt;

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

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"flex justify-center items-center"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
 &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;""&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



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

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"d-flex justify-content-center align-items-center"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
 &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;""&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Flex with margin
&lt;/h2&gt;

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

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"flex"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
 &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"m-auto"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



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

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"d-flex"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
 &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"m-auto"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Grid
&lt;/h2&gt;

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

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"grid place-items-center"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
 &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;""&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



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

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"d-grid justify-content-center align-items-center"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
 &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;""&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Grid with margin
&lt;/h2&gt;

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

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"grid"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
 &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"m-auto"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



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

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"d-grid"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
 &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"m-auto"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Which one is your favorite🤔. let us know in comments💬. &lt;/p&gt;

</description>
      <category>tailwindcss</category>
      <category>css</category>
      <category>bootstrap</category>
      <category>webdev</category>
    </item>
    <item>
      <title>How to import SVG in React</title>
      <dc:creator>Ahmed Zougari</dc:creator>
      <pubDate>Sun, 29 May 2022 19:13:17 +0000</pubDate>
      <link>https://forem.com/zougari47/how-to-import-svg-in-react-4ne3</link>
      <guid>https://forem.com/zougari47/how-to-import-svg-in-react-4ne3</guid>
      <description>&lt;h2&gt;
  
  
  Method 1
&lt;/h2&gt;

&lt;p&gt;using it as a source for img tag&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="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;icon&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;./icon.svg&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;Footer&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;Footer&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="cm"&gt;/*... */&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
      &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;a&lt;/span&gt; &lt;span class="nx"&gt;href&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;#&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;img&lt;/span&gt; &lt;span class="nx"&gt;src&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;icon&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="nx"&gt;alt&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;""&lt;/span&gt;&lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
      &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/a&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/Footer&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&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;
  
  
  Method 2
&lt;/h2&gt;

&lt;p&gt;use it as component. In this way you can style SVG with CSS. change colors or animation with attributes like (storke, fill, stroke-dasharray ...)&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="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;ReactComponent&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="nx"&gt;Icon&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;./icon.svg&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;Footer&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;Footer&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="cm"&gt;/*... */&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
      &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;a&lt;/span&gt; &lt;span class="nx"&gt;href&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;#&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;Icon&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
      &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/a&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/Footer&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&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;
  
  
  Method 3
&lt;/h2&gt;

&lt;p&gt;Include SVGs directly in JSX. This is like the previous method but it may not be scalable for a large number of SVGs.&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;Icon&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;svg&lt;/span&gt; &lt;span class="nx"&gt;xmlns&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;http://www.w3.org/2000/svg&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="nx"&gt;width&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;16&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="nx"&gt;height&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;16&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="nx"&gt;fill&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;currentColor&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="nx"&gt;viewBox&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;0 0 16 16&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;path&lt;/span&gt; &lt;span class="nx"&gt;d&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;M8 4a.5.5 0 0 1 .5.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3A.5.5 0 0 1 8 4z&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/svg&lt;/span&gt;&lt;span class="err"&gt;&amp;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;Footer&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;Footer&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="cm"&gt;/*... */&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
      &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;a&lt;/span&gt; &lt;span class="nx"&gt;href&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;#&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;Icon&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
      &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/a&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/Footer&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&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;



</description>
      <category>react</category>
      <category>svg</category>
      <category>jsx</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Best 50 websites for freelance / full-time remote jobs</title>
      <dc:creator>Ahmed Zougari</dc:creator>
      <pubDate>Sat, 21 May 2022 21:23:55 +0000</pubDate>
      <link>https://forem.com/zougari47/best-50-websites-for-freelance-full-time-remote-jobs-4keg</link>
      <guid>https://forem.com/zougari47/best-50-websites-for-freelance-full-time-remote-jobs-4keg</guid>
      <description>&lt;p&gt;looking for a remote job or freelance? well, I made this great list for you.&lt;br&gt;&lt;br&gt;
without any introduction 👇&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;#&lt;/th&gt;
&lt;th&gt;Name&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;01&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.linkedin.com/" rel="noopener noreferrer"&gt;linkedin&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;02&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.guru.com/" rel="noopener noreferrer"&gt;guru&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;03&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.fiverr.com/" rel="noopener noreferrer"&gt;fiverr&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;04&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.toptal.com/" rel="noopener noreferrer"&gt;toptal&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;05&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.turing.com/" rel="noopener noreferrer"&gt;turing&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;06&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.upwork.com/" rel="noopener noreferrer"&gt;upwork&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;07&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.flexjobs.com/" rel="noopener noreferrer"&gt;flexjobs&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;08&lt;/td&gt;
&lt;td&gt;&lt;a href="https://soshace.com/jobs" rel="noopener noreferrer"&gt;soshace&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;09&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.crossover.com/" rel="noopener noreferrer"&gt;crossover&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.taskrabbit.com/" rel="noopener noreferrer"&gt;taskrabbit&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;11&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.freelancer.com/" rel="noopener noreferrer"&gt;freelancer&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;12&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.truelancer.com/" rel="noopener noreferrer"&gt;truelancer&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;13&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.worksome.com/" rel="noopener noreferrer"&gt;worksome&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;14&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.simplyhired.com/" rel="noopener noreferrer"&gt;simplyhired&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;15&lt;/td&gt;
&lt;td&gt;&lt;a href="https://speedlancer.com/" rel="noopener noreferrer"&gt;speedlancer&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;16&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.peopleperhour.com/" rel="noopener noreferrer"&gt;peopleperhour&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;17&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.cloudpeeps.com/" rel="noopener noreferrer"&gt;cloudpeeps&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;18&lt;/td&gt;
&lt;td&gt;&lt;a href="https://remoteok.com/" rel="noopener noreferrer"&gt;remoteok&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;19&lt;/td&gt;
&lt;td&gt;&lt;a href="https://devitjobs.us/" rel="noopener noreferrer"&gt;devitjobs&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;20&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.remotefrontendjobs.com/" rel="noopener noreferrer"&gt;remotefrontendjobs&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;21&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.nocsdegree.com/jobs/" rel="noopener noreferrer"&gt;nocsdegree&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;22&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.weworkinspace.com/" rel="noopener noreferrer"&gt;weworkinspace&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;23&lt;/td&gt;
&lt;td&gt;&lt;a href="https://whoishiring.io/for-employees" rel="noopener noreferrer"&gt;whoishiring&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;24&lt;/td&gt;
&lt;td&gt;&lt;a href="https://remoteml.com/" rel="noopener noreferrer"&gt;remoteml&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;25&lt;/td&gt;
&lt;td&gt;&lt;a href="https://weworkremotely.com/" rel="noopener noreferrer"&gt;weworkremotely&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;26&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.remote.io/" rel="noopener noreferrer"&gt;remote&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;27&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.dice.com/" rel="noopener noreferrer"&gt;dice&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;28&lt;/td&gt;
&lt;td&gt;&lt;a href="https://remotive.com/" rel="noopener noreferrer"&gt;remotive&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;29&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.workingnomads.com/jobs" rel="noopener noreferrer"&gt;workingnomads&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;30&lt;/td&gt;
&lt;td&gt;&lt;a href="https://triplebyte.com/" rel="noopener noreferrer"&gt;triplebyte&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;31&lt;/td&gt;
&lt;td&gt;&lt;a href="https://nodesk.co/" rel="noopener noreferrer"&gt;nodesk&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;32&lt;/td&gt;
&lt;td&gt;&lt;a href="https://epicjobs.co/" rel="noopener noreferrer"&gt;epicjobs&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;33&lt;/td&gt;
&lt;td&gt;&lt;a href="https://remotehunt.com/" rel="noopener noreferrer"&gt;remotehunt&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;34&lt;/td&gt;
&lt;td&gt;&lt;a href="https://angel.co/" rel="noopener noreferrer"&gt;angellist&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;35&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.yunojuno.com/" rel="noopener noreferrer"&gt;yunojuno&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;36&lt;/td&gt;
&lt;td&gt;&lt;a href="https://jsremotely.com/" rel="noopener noreferrer"&gt;jsremotely&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;37&lt;/td&gt;
&lt;td&gt;&lt;a href="https://justremote.co/" rel="noopener noreferrer"&gt;justremote&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;38&lt;/td&gt;
&lt;td&gt;&lt;a href="https://jobspresso.co/" rel="noopener noreferrer"&gt;jobspresso&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;39&lt;/td&gt;
&lt;td&gt;&lt;a href="https://dailyremote.com/" rel="noopener noreferrer"&gt;dailyremote&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;40&lt;/td&gt;
&lt;td&gt;&lt;a href="https://angel.co/remote" rel="noopener noreferrer"&gt;angel&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;41&lt;/td&gt;
&lt;td&gt;&lt;a href="https://remoteleads.io/" rel="noopener noreferrer"&gt;remoteleads&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;42&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.remotetechjobs.com/" rel="noopener noreferrer"&gt;remotetechjobs&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;43&lt;/td&gt;
&lt;td&gt;&lt;a href="https://hired.com/" rel="noopener noreferrer"&gt;hired&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Web3 Jobs&lt;/strong&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;#&lt;/th&gt;
&lt;th&gt;Name&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;44&lt;/td&gt;
&lt;td&gt;&lt;a href="https://web3.career/" rel="noopener noreferrer"&gt;web3career&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;45&lt;/td&gt;
&lt;td&gt;&lt;a href="https://cryptocurrencyjobs.co/" rel="noopener noreferrer"&gt;cryptocurrencyjobs&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;46&lt;/td&gt;
&lt;td&gt;&lt;a href="https://cryptojobs.com/" rel="noopener noreferrer"&gt;cryptojobs&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;47&lt;/td&gt;
&lt;td&gt;&lt;a href="https://buildspace.so/jobs" rel="noopener noreferrer"&gt;buildspace&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;48&lt;/td&gt;
&lt;td&gt;&lt;a href="https://remote3.co/" rel="noopener noreferrer"&gt;remote3&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;49&lt;/td&gt;
&lt;td&gt;&lt;a href="https://hellocryptojobs.com/" rel="noopener noreferrer"&gt;hellocryptojobs&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;50&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.useweb3.xyz/jobs" rel="noopener noreferrer"&gt;useweb3&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;p&gt;That's it. it took me a lot of time to make this collection. I hope you found it useful. don't forget to share it with the community 🚀.&lt;/p&gt;

</description>
      <category>job</category>
      <category>freelance</category>
    </item>
    <item>
      <title>How to customize your Github profile</title>
      <dc:creator>Ahmed Zougari</dc:creator>
      <pubDate>Wed, 11 May 2022 15:47:47 +0000</pubDate>
      <link>https://forem.com/zougari47/how-to-customize-your-github-profile-4of3</link>
      <guid>https://forem.com/zougari47/how-to-customize-your-github-profile-4of3</guid>
      <description>&lt;p&gt;Having a cool Github README adds a unique taste to your profile, it’s like a quick resume to present yourself, what you do, your skills...&lt;/p&gt;

&lt;h2&gt;
  
  
  How to do it ?
&lt;/h2&gt;

&lt;p&gt;When you create a repository with your username and an add a README file GitHub shows the preview on your profile&lt;/p&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%2F6imp546vchqd45bzf2ak.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%2F6imp546vchqd45bzf2ak.png" alt="Github message" width="704" height="102"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;now if you already know markdown languages you can start editing it by yourself.&lt;br&gt;
If not, don’t worry I have across an amazing tool to do that for you.&lt;br&gt;
&lt;a href="https://www.profileme.dev" rel="noopener noreferrer"&gt;&lt;strong&gt;ProfileMe.dev&lt;/strong&gt;&lt;/a&gt;&lt;br&gt;
Really fast and easy way to customize your profile.  you just need to fill out the inputs and in the end, you copy the code. That's it!&lt;/p&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%2Ff2ymc1ur7l192px1qq88.gif" 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%2Ff2ymc1ur7l192px1qq88.gif" alt="live preview" width="600" height="338"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;I would like to share also this tool &lt;a href="https://readme.so/editor" rel="noopener noreferrer"&gt;readme.so&lt;/a&gt; for readme-files in general. it's come with multiple templates if you want to make documentation for your projects.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;For inspiration, I found this cool repository containing lists of GitHub profile readme &lt;br&gt;
&lt;a href="https://github.com/abhisheknaiidu/awesome-github-profile-readme" rel="noopener noreferrer"&gt;awesome-github-profile-readme&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;If you want to dive more there is a free course for that&lt;br&gt;
&lt;a href="https://www.eddiejaoude.io/course-github-profile-landing" rel="noopener noreferrer"&gt;HOW TO CUSTOMISE YOUR GITHUB PROFILE&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Thank you for reading.&lt;/p&gt;

</description>
      <category>github</category>
      <category>beginners</category>
      <category>markdown</category>
    </item>
    <item>
      <title>Contact form without backend using JavaScript 💡</title>
      <dc:creator>Ahmed Zougari</dc:creator>
      <pubDate>Thu, 17 Mar 2022 22:33:40 +0000</pubDate>
      <link>https://forem.com/zougari47/contact-form-without-backend-using-javascript-4a8c</link>
      <guid>https://forem.com/zougari47/contact-form-without-backend-using-javascript-4a8c</guid>
      <description>&lt;p&gt;If you are a frontend developer who is not interested in backend development or you didn't start learning it yet (like me) and you want to make contact form working for your portfolio or your product website, this article is for you. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why contact form?&lt;/strong&gt; There is a lot of reasons to use it on your website, Contact Forms Look Professional and make you reachable starting from the website instead of waiting for the visitor to contact you in social media that's may he is not active on, and that may probably cause to lose a possible customer. &lt;/p&gt;




&lt;p&gt;It's not hard, there are a lot of websites that offer this service all have a free🆓 and premium💸 plan, &lt;strong&gt;how they work?&lt;/strong&gt;&lt;br&gt;
Well basically when you sign up and start a form they gonna give you an &lt;strong&gt;URL&lt;/strong&gt; to put it inside the action attribute of your form tag&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;form&lt;/span&gt;
  &lt;span class="na"&gt;action=&lt;/span&gt;&lt;span class="s"&gt;"url"&lt;/span&gt;
  &lt;span class="na"&gt;method=&lt;/span&gt;&lt;span class="s"&gt;"post"&lt;/span&gt;
&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
 &lt;span class="c"&gt;&amp;lt;!-- 
  Important to know ❗❗ 
  you should have:
   - inputs with the name attribute
   - button with type submit
 --&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/form&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;but they have an annoying thing when the user submits the form they redirect him to another page.&lt;/p&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%2F7xbozgkbg2gw2m6towcx.gif" 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%2F7xbozgkbg2gw2m6towcx.gif" alt="redirect the user" width="600" height="338"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You feel like you can't control your website, you can customize the redirect page if you're using a premium plan (you cant do it for free with JavaScript 👇) but is recommended to show an alert or label with green color to let the user know that form was submitted.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;So how you do that?&lt;/strong&gt;&lt;br&gt;
This is one of the reasons that's pushed me to share this , after some research, I come up with this solution. Give the form just an id property and we gonna working on it with JavaScript. &lt;/p&gt;

&lt;p&gt;⚠ don't forget to give your inputs &lt;strong&gt;name property&lt;/strong&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="c1"&gt;// we add event listener for click on send button&lt;/span&gt;
&lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;querySelector&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;button&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;addEventListener&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;click&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;e&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="c1"&gt;// stop the page from the reloading&lt;/span&gt;
  &lt;span class="nx"&gt;e&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;preventDefault&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
  &lt;span class="c1"&gt;// selecting the form&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;contactForm&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;querySelector&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;#form&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="c1"&gt;// the gold part 🔥&lt;/span&gt;
  &lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;FormData&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;contactForm&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;  
  &lt;span class="nf"&gt;fetch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;url&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;method&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;POST&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;body&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;data&lt;/span&gt; &lt;span class="p"&gt;});&lt;/span&gt;
  &lt;span class="c1"&gt;// inform the user that the form was submitted&lt;/span&gt;
  &lt;span class="nf"&gt;alert&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Thank you, your form was submitted.&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="c1"&gt;// clear the inputs&lt;/span&gt;
  &lt;span class="nx"&gt;contactForm&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;reset&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
  &lt;span class="c1"&gt;// or if you want the redirect the user to another page (for free)&lt;/span&gt;
  &lt;span class="c1"&gt;// window.open('./thanks.html');&lt;/span&gt;
&lt;span class="p"&gt;})&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;⚠ Don't forget to check inputs if valid before sending the email.&lt;/p&gt;

&lt;p&gt;And this is a list of website that offer this service:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://app.formbold.com" rel="noopener noreferrer"&gt;FormBold&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://formspree.io/" rel="noopener noreferrer"&gt;Formspree&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://formsubmit.co/" rel="noopener noreferrer"&gt;FORMSUBMIT&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;complicated to use :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.emailjs.com/" rel="noopener noreferrer"&gt;EmailJS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://smtpjs.com/" rel="noopener noreferrer"&gt;SmtpJS&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;I left this form below to let you test the process before you apply it on your website.  &lt;/p&gt;

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

&lt;p&gt;That's it, I hope you found this article helpful, Thanks for reading.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>tutorial</category>
      <category>html</category>
    </item>
    <item>
      <title>How to improve your code quality with ternary,AND,OR, nullish coalescing operators</title>
      <dc:creator>Ahmed Zougari</dc:creator>
      <pubDate>Tue, 22 Feb 2022 10:23:13 +0000</pubDate>
      <link>https://forem.com/zougari47/how-to-improve-your-code-quality-with-ternaryandor-operators-210k</link>
      <guid>https://forem.com/zougari47/how-to-improve-your-code-quality-with-ternaryandor-operators-210k</guid>
      <description>&lt;p&gt;If you are still using the or(||) and(&amp;amp;&amp;amp;) operators in just if statement you need to read this.&lt;/p&gt;

&lt;h2&gt;
  
  
  Ternary operator
&lt;/h2&gt;

&lt;p&gt;If you don't know what is ternary operator, is a simplified conditional operator like if / else.&lt;br&gt;
it take three operands: a condition followed by a question mark (?), then an expression to execute if the condition is truthy followed by a colon (:), and finally the expression to execute if the condition is falsy.&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="c1"&gt;// With if else &lt;/span&gt;
&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;condition&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;
 &lt;span class="nx"&gt;expression1&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
 &lt;span class="nx"&gt;expression2&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="c1"&gt;// With ternary operator&lt;/span&gt;
&lt;span class="nx"&gt;connditon&lt;/span&gt; &lt;span class="p"&gt;?&lt;/span&gt; &lt;span class="nx"&gt;expression1&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;expression2&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Is really useful and make your code short and clean if you care about your code quality, here few tips on how you can improve your code quality with the ternary operator :&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;x&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="mi"&gt;5&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="p"&gt;?&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;x&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;positive&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;x&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;negative&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;  &lt;span class="c1"&gt;//👎&lt;/span&gt;
&lt;span class="nx"&gt;x&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="p"&gt;?&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;positive&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;negative&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;  &lt;span class="c1"&gt;//👍&lt;/span&gt;


&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;myFunction&lt;/span&gt;&lt;span class="p"&gt;(){&lt;/span&gt;
 &lt;span class="c1"&gt;//👎&lt;/span&gt;
 &lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;
  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;
 &lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="kc"&gt;false&lt;/span&gt;
 &lt;span class="p"&gt;}&lt;/span&gt;

 &lt;span class="c1"&gt;//👍&lt;/span&gt;
 &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="p"&gt;?&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;when to avoid it&lt;/strong&gt; 🚫&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;nested: of course, we can use two or more ternary operators inside each other but not recommended, you won't be able to read your own code😅, so don't forget our goal to make the code clean and understandable.&lt;/li&gt;
&lt;li&gt;long expression: if you have a lot of lines of code to execute, either make the whole code in a function and call it or use the if/else statement.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  AND operator(&amp;amp;&amp;amp;)
&lt;/h2&gt;

&lt;p&gt;You may love using the ternary operator but what if you want to execute one expression if the condition is true "you can't do that!", here comes AND operator:&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="c1"&gt;// with if statement&lt;/span&gt;
&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;condition&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;
 &lt;span class="nx"&gt;expression&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="c1"&gt;// with and operator&lt;/span&gt;
&lt;span class="nx"&gt;condition&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nx"&gt;expression&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;How it works🤔, well the &lt;strong&gt;And operator&lt;/strong&gt; always check the truthiness of the first statement, if falsy is skip whatever next came after, and if truety he pass to next.&lt;br&gt;
don't forget to use it with a small expressions. &lt;/p&gt;
&lt;h2&gt;
  
  
  OR operator
&lt;/h2&gt;

&lt;p&gt;On the contrary, the OR operator check the truthiness of the first  statement if true he skipped the next one, so how we can use it?&lt;br&gt;
For example, we expect an input value but we may get it or not, if we don't use backup our code will break.&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;function&lt;/span&gt; &lt;span class="nf"&gt;check&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;e&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;value&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;e&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;key&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;//👎&lt;/span&gt;

 &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;value&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;e&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;key&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="dl"&gt;""&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;//👍&lt;/span&gt;
 &lt;span class="c1"&gt;// here we say if e.key is falsy, value will be an empty string &lt;/span&gt;

 &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&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="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Nullish coalescing operator
&lt;/h2&gt;

&lt;p&gt;The problem with the &lt;strong&gt;OR&lt;/strong&gt; operator is that returns the right value if the left value is falsy &lt;code&gt;0, "", false, null, undefined&lt;/code&gt;.&lt;br&gt;
But if you want to return the right value when the left value is &lt;em&gt;null&lt;/em&gt; or &lt;em&gt;undefined&lt;/em&gt; better use &lt;strong&gt;nullish coalescing operator&lt;/strong&gt;, you may  not have heard about it before (I've also discovered it recently), he returns the right side if the left side is &lt;em&gt;Null&lt;/em&gt;  or &lt;em&gt;undefined&lt;/em&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="c1"&gt;// syntax &lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;value&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;e&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;key&lt;/span&gt; &lt;span class="o"&gt;??&lt;/span&gt; &lt;span class="dl"&gt;""&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="c1"&gt;// here we say if e.key is equal to null or undefined&lt;/span&gt;
&lt;span class="c1"&gt;// value will be an empty string &lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Thank you for reading
&lt;/h3&gt;

&lt;p&gt;These tips above really help me to improve my code quality, I'm sure if you start using these tips the right way, they gonna take your code to next level.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>beginners</category>
      <category>productivity</category>
      <category>programming</category>
    </item>
    <item>
      <title>How to make flip card with 5 lines CSS</title>
      <dc:creator>Ahmed Zougari</dc:creator>
      <pubDate>Sat, 19 Feb 2022 10:07:18 +0000</pubDate>
      <link>https://forem.com/zougari47/how-to-make-flip-card-with-5-lines-css-m67</link>
      <guid>https://forem.com/zougari47/how-to-make-flip-card-with-5-lines-css-m67</guid>
      <description>&lt;p&gt;Flip card is cool idea to show more information on hover effect, and you can do it with just 5 main lines.&lt;/p&gt;

&lt;h2&gt;
  
  
  HTML Code
&lt;/h2&gt;

&lt;p&gt;This is how your HTML should be :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"card"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"flip__container"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"front__face"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;&lt;span class="c"&gt;&amp;lt;!-- front content --&amp;gt;&lt;/span&gt;&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"back__face"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;&lt;span class="c"&gt;&amp;lt;!-- back content --&amp;gt;&lt;/span&gt;&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  CSS Code
&lt;/h2&gt;

&lt;p&gt;This is the basic CSS code you need :&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;.flip__container&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;transform-style&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;preserve-3d&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c"&gt;/* line 1 */&lt;/span&gt;
  &lt;span class="nl"&gt;transition&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;transform&lt;/span&gt; &lt;span class="m"&gt;1s&lt;/span&gt; &lt;span class="n"&gt;ease-in-out&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c"&gt;/* speed of fliping */&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nc"&gt;.front__face&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;
&lt;span class="nc"&gt;.back__face&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;position&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="nb"&gt;absolute&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c"&gt;/* line 2 */&lt;/span&gt;
  &lt;span class="nl"&gt;backface-visibility&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;hidden&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c"&gt;/* line 3 */&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nc"&gt;.back__face&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;transform&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;rotateY&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;180deg&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c"&gt;/* line 4 */&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nc"&gt;.card&lt;/span&gt;&lt;span class="nd"&gt;:hover&lt;/span&gt; &lt;span class="nc"&gt;.flip__container&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;transform&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;rotateY&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;180deg&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c"&gt;/* line 5 */&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;transform-style:preserve-3d;&lt;/strong&gt;&lt;br&gt;
=&amp;gt; Indicates that the children of the element should be positioned in the 3D-space.&lt;br&gt;
&lt;strong&gt;position:absolute;&lt;/strong&gt;&lt;br&gt;
=&amp;gt; Make front and back face on top of each others&lt;br&gt;
&lt;strong&gt;backface-visibility: hidden;&lt;/strong&gt;&lt;br&gt;
=&amp;gt; The back face is hidden, effectively making the element invisible when turned away from the user.&lt;br&gt;
&lt;strong&gt;transform:rotateY(180deg);&lt;/strong&gt;&lt;br&gt;
=&amp;gt; The rotateY() function is an inbuilt function which is used to rotate an element around the vertical axis.(we used it in back face to hide it and for the hover effect to show it)&lt;/p&gt;
&lt;h2&gt;
  
  
  Live Demo 🎥
&lt;/h2&gt;

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

&lt;p&gt;If you find this example complex for you, check out this simple version on &lt;a href="https://codesandbox.io/s/flip-card-py9me?file=/index.html" rel="noopener noreferrer"&gt;Sandbox&lt;/a&gt;.&lt;/p&gt;

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

&lt;h3&gt;
  
  
  Connect with me
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://twitter.com/zougari47" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/zougari47" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;&lt;/p&gt;

</description>
      <category>css</category>
      <category>productivity</category>
      <category>beginners</category>
      <category>html</category>
    </item>
    <item>
      <title>How to generate random color with JavaScript</title>
      <dc:creator>Ahmed Zougari</dc:creator>
      <pubDate>Fri, 07 Jan 2022 16:12:56 +0000</pubDate>
      <link>https://forem.com/zougari47/how-to-generate-random-color-with-javascript-4ama</link>
      <guid>https://forem.com/zougari47/how-to-generate-random-color-with-javascript-4ama</guid>
      <description>&lt;p&gt;Today we gonna learn how to generate a random color using JavaScript with a few lines :&lt;/p&gt;

&lt;h2&gt;
  
  
  1-Generate random integer between 0 and 15
&lt;/h2&gt;

&lt;p&gt;first we need to know how to get a random number&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;randomNumber&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;Math&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;random&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="c1"&gt;//return random number between 0 and 1 (0.46578483)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;but we don’t want this result, we need random number integer between 0 and 15&lt;br&gt;
To have it we have use you Math.floor()&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;randomNumber&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;Math&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;floor&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;Math&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;random&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="mi"&gt;16&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="c1"&gt;//return random integer between 0 and 15&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  2-Why 0 and 15 ?
&lt;/h2&gt;

&lt;p&gt;Well this is the length of an array that contains all alphanumeric of HEX code, and we want to select random index 6 times and join all in one string.&lt;br&gt;
( In this example we will use the HEX code, 0 to 9 and a to f &lt;br&gt;
Ex: #E06910 , #02198C,  #BADA55)&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;hexArray&lt;/span&gt; &lt;span class="o"&gt;=&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;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;6&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;8&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;9&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="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;D&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;E&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;F&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  3-Get random HEX code
&lt;/h2&gt;

&lt;p&gt;we need to loop 6 times and concatenate the result every time to the code string&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;code&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;""&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;for&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="mi"&gt;6&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;
 &lt;span class="nx"&gt;code&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="nx"&gt;hexArray&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nb"&gt;Math&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;floor&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;Math&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;random&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="mi"&gt;16&lt;/span&gt;&lt;span class="p"&gt;)];&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="c1"&gt;//don' forget the code start with "#"&lt;/span&gt;
&lt;span class="nx"&gt;code&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;`#&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;code&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;`&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  4-Make your code inside function
&lt;/h2&gt;

&lt;p&gt;now we need to write our code in function to use it perfectly&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;function&lt;/span&gt; &lt;span class="nf"&gt;generateColor&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;hexArray&lt;/span&gt; &lt;span class="o"&gt;=&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;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;6&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;8&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;9&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="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;D&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;E&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;F&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
 &lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;code&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;""&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
 &lt;span class="k"&gt;for&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="mi"&gt;6&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;
  &lt;span class="nx"&gt;code&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="nx"&gt;hexArray&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nb"&gt;Math&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;floor&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;Math&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;random&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="mi"&gt;16&lt;/span&gt;&lt;span class="p"&gt;)];&lt;/span&gt;
 &lt;span class="p"&gt;}&lt;/span&gt;
 &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="s2"&gt;`#&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;code&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;`&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In this example I use it in  the body background:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;body&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;style&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;backgroundColor&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;generateColor&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;live demo :&lt;br&gt;
&lt;iframe height="600" src="https://codepen.io/zougari47/embed/bGrrXmR?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Thanks for reading
&lt;/h2&gt;

&lt;p&gt;I hope you find that useful, if you want to practice more you can create your own function to generate random RGB or HSL color .&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>javascript</category>
      <category>tutorial</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
