<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Artaza Sameen</title>
    <description>The latest articles on DEV Community by Artaza Sameen (@artazasameen).</description>
    <link>https://dev.to/artazasameen</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%2F1095166%2F1c373209-60da-4415-b328-ff8298efbb3a.png</url>
      <title>DEV Community: Artaza Sameen</title>
      <link>https://dev.to/artazasameen</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/artazasameen"/>
    <language>en</language>
    <item>
      <title>🚀 Introducing Command King - The Ultimate VS Code Extension for Command Management!</title>
      <dc:creator>Artaza Sameen</dc:creator>
      <pubDate>Sat, 14 Jun 2025 17:17:20 +0000</pubDate>
      <link>https://dev.to/artazasameen/introducing-command-king-the-ultimate-vs-code-extension-for-command-management-3d6g</link>
      <guid>https://dev.to/artazasameen/introducing-command-king-the-ultimate-vs-code-extension-for-command-management-3d6g</guid>
      <description>&lt;p&gt;Are you tired of constantly switching between terminals and remembering complex commands? I've built something that will change how you manage your development workflow!&lt;/p&gt;

&lt;p&gt;Command King automatically discovers and organizes all your npm scripts and custom commands in a beautiful hierarchical tree view right in VS Code.&lt;/p&gt;

&lt;p&gt;✨ Key Features:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Auto-discovery of package.json scripts and .cmdk files&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Hierarchical command organization&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;One-click command execution in integrated terminal&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Command descriptions for better team collaboration&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Real-time updates with file watchers&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Full CRUD operations for custom commands&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Perfect for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;DevOps engineers managing complex deployment scripts&lt;br&gt;
Full-stack developers juggling multiple services&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Team leads wanting to standardize command documentation&lt;br&gt;
Anyone who wants to streamline their development workflow&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;No more digging through package.json files or remembering obscure commands. Just click and run!&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%2Fylrn6phs1zz9j5h66a1h.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%2Fylrn6phs1zz9j5h66a1h.png" alt="Image description" width="800" height="1109"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The extension supports both simple string commands and extended objects with descriptions, making it perfect for teams that need proper documentation.&lt;/p&gt;

&lt;p&gt;Ready to become the king of your commands? 👑&lt;/p&gt;

&lt;p&gt;Install From Here:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://marketplace.visualstudio.com/items?itemName=ArtazaSameen.command-king" rel="noopener noreferrer"&gt;https://marketplace.visualstudio.com/items?itemName=ArtazaSameen.command-king&lt;/a&gt;&lt;/p&gt;

</description>
      <category>vscode</category>
      <category>productivity</category>
      <category>tooling</category>
    </item>
    <item>
      <title>Download Instagram reels by scraping using NodeJS</title>
      <dc:creator>Artaza Sameen</dc:creator>
      <pubDate>Sun, 04 Jun 2023 09:03:16 +0000</pubDate>
      <link>https://dev.to/artazasameen/download-instagram-reels-by-scraping-using-nodejs-2ain</link>
      <guid>https://dev.to/artazasameen/download-instagram-reels-by-scraping-using-nodejs-2ain</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Today, we are going to use web scraping in NodeJS to extract direct download links for Instagram Reels Video&lt;/p&gt;

&lt;h2&gt;
  
  
  Install Required NPM Packages
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;&lt;code&gt;Puppeteer&lt;/code&gt;&lt;/strong&gt; : Puppeteer is a Node.js library which provides a high-level API to control Chrome/Chromium ( Browser )&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;code&gt;Cheerio&lt;/code&gt;&lt;/strong&gt; : Cheerio is a HTML DOM parser and helps us traverse raw HTML and XML&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install &lt;/span&gt;puppeteer
npm &lt;span class="nb"&gt;install &lt;/span&gt;cheerio
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Firs, we need get the raw generated HTML, using &lt;code&gt;Pupperteer&lt;/code&gt; and then parse the HTML using &lt;code&gt;Cheerio&lt;/code&gt; to extract out the direct download link.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: We are using &lt;code&gt;Puppeteer&lt;/code&gt; to get the HTML because the video link is hydrated into the page using Javascript. If, we use a simple request to get the raw HTML, the video tag won't be available&lt;/p&gt;

&lt;h2&gt;
  
  
  First Step (Get the raw HTML)
&lt;/h2&gt;

&lt;p&gt;This is how the raw HTML looks likes when we inspect the page&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--dqctR4Cc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rvu4y0uz44vowrwlvivm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--dqctR4Cc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rvu4y0uz44vowrwlvivm.png" alt="Instagram Reel Link Page Inspect Image" width="800" height="497"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Define a function that gets the raw HTML, including the &lt;code&gt;video&lt;/code&gt; 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;async&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;getHTML&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;url&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="c1"&gt;// Launch a headless browser instance&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;browser&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;puppeteer&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;launch&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="na"&gt;headless&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;new&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="p"&gt;});&lt;/span&gt;

  &lt;span class="c1"&gt;// Create a new page&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;page&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;browser&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;newPage&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;

  &lt;span class="c1"&gt;// Navigate to a URL&lt;/span&gt;
  &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;page&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;goto&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;url&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

  &lt;span class="c1"&gt;// Wait for the video tag to appear&lt;/span&gt;
  &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;page&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;waitForSelector&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;video&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

  &lt;span class="c1"&gt;// Get the HTML content&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;html&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;page&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;content&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;

  &lt;span class="c1"&gt;// Close the browser&lt;/span&gt;
  &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;page&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;close&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
  &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;browser&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;close&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;

  &lt;span class="c1"&gt;// Return the HTML content&lt;/span&gt;
  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;html&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;
  
  
  Second Step (Parse the raw HTML)
&lt;/h2&gt;

&lt;p&gt;We are going to parse the raw HTML, that we get from the &lt;code&gt;getHTML()&lt;/code&gt; function&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;async&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;getReelVideo&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;url&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;html&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;getHTML&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;url&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

  &lt;span class="c1"&gt;// calls cheerio to process the html received&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;$&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;cheerio&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;load&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;html&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

  &lt;span class="c1"&gt;// Searches the html for the video tag and get the src atttribute&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;videoDirectLink&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;$&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;video&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nx"&gt;attr&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;src&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

  &lt;span class="c1"&gt;// returns the direct video link&lt;/span&gt;
  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;videoDirectLink&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;
  
  
  Last Part
&lt;/h2&gt;

&lt;p&gt;Now we can run the &lt;code&gt;getReelVideo()&lt;/code&gt; function the get direct download link of a Instagram Reel&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;getReelVideo&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;https://www.instagram.com/reel/CrQ9TvAAuRe/&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nx"&gt;then&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;link&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;
  &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;link&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



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

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;https://instagram.fccu19-1.fna.fbcdn.net/v/t66.30100-16/120641351_1702239160229021_7989127058867652451_n.mp4?_nc_ht&lt;span class="o"&gt;=&lt;/span&gt;instagram.fccu19-1.fna.fbcdn.net&amp;amp;_nc_cat&lt;span class="o"&gt;=&lt;/span&gt;105&amp;amp;_nc_ohc&lt;span class="o"&gt;=&lt;/span&gt;QoyEWM5tB-AAX_8SGz5&amp;amp;edm&lt;span class="o"&gt;=&lt;/span&gt;AP_V10EBAAAA&amp;amp;ccb&lt;span class="o"&gt;=&lt;/span&gt;7-5&amp;amp;oh&lt;span class="o"&gt;=&lt;/span&gt;00_AfAU1hwxYlztdGfqHxpNxyTBDCOzNnLwBw7KnEdj7dLAuw&amp;amp;oe&lt;span class="o"&gt;=&lt;/span&gt;6463ADB1&amp;amp;_nc_sid&lt;span class="o"&gt;=&lt;/span&gt;4f375e
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>node</category>
      <category>webscraping</category>
      <category>instagram</category>
    </item>
    <item>
      <title>How to use PrismJS in ReactJS</title>
      <dc:creator>Artaza Sameen</dc:creator>
      <pubDate>Sun, 04 Jun 2023 08:48:10 +0000</pubDate>
      <link>https://dev.to/artazasameen/how-to-use-prismjs-in-reactjs-1k66</link>
      <guid>https://dev.to/artazasameen/how-to-use-prismjs-in-reactjs-1k66</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Prism is a lightweight, extensible syntax highlighter, built with modern web standards in mind. It’s used in millions of websites, including some of those you visit daily&lt;/p&gt;

&lt;p&gt;&lt;em&gt;For more info on PrismJS &lt;a href="https://prismjs.com/"&gt;Click Here&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Install PrismJS using npm
&lt;/h2&gt;

&lt;p&gt;I assume that your React project is configured correctly. After your React&lt;br&gt;
project is up and running. Install PrismJS on the terminal.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm i prismjs
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  After we have installed prismjs we will import
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Language Support&lt;/li&gt;
&lt;li&gt;Themes&lt;/li&gt;
&lt;li&gt;Plugins&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Import Prism and Theme in your project
&lt;/h2&gt;

&lt;p&gt;Here we are importing &lt;code&gt;PrismJS&lt;/code&gt; and the &lt;code&gt;Theme&lt;/code&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;Prism&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;prismjs&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// Prism&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;prismjs/themes/prism-okaidia.min.css&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// Import theme&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Themes are stored in the &lt;code&gt;prismjs/themes/&lt;/code&gt; directory. Here are all&lt;br&gt;
the possible themes supported by PrismJS.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;prism-coy.min.css&lt;/li&gt;
&lt;li&gt;prism-dark.min.css&lt;/li&gt;
&lt;li&gt;prism-funky.min.css&lt;/li&gt;
&lt;li&gt;prism-okaidia.min.css&lt;/li&gt;
&lt;li&gt;prism-solarizedlight.min.css&lt;/li&gt;
&lt;li&gt;prism-tomorrow.min.css&lt;/li&gt;
&lt;li&gt;prism-twilight.min.css&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  Add language support and Plugins
&lt;/h2&gt;

&lt;p&gt;In order to enable syntax highlighting we need the language from the&lt;br&gt;
&lt;code&gt;'prismjs/componenent/'&lt;/code&gt; directory. In this project we are going to highlight C++ code.&lt;/p&gt;

&lt;p&gt;We are going to import plugins from the &lt;code&gt;prismjs/plugins&lt;/code&gt; directory.&lt;/p&gt;

&lt;p&gt;And we are going to use the &lt;code&gt;normalize-whitespace&lt;/code&gt; plugin to&lt;br&gt;
remove all leading and trailing spaces in the code.&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;// C is required for C++ highlighting to work&lt;/span&gt;
&lt;span class="nx"&gt;require&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;prismjs/components/prism-c&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="c1"&gt;// Add language support for C++&lt;/span&gt;
&lt;span class="nx"&gt;require&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;prismjs/components/prism-cpp&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="c1"&gt;// To remove extra white spaces&lt;/span&gt;
&lt;span class="nx"&gt;require&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;prismjs/plugins/normalize-whitespace/prism-normalize-whitespace&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To see which plugins are supported in PrismJS &lt;a href="https://prismjs.com/#plugins"&gt;Click Here&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  How to put code in HTML
&lt;/h2&gt;

&lt;p&gt;After we have imported all the required files. We are place your code inside the &lt;code&gt;pre &amp;gt; code&lt;/code&gt; tags, like the example below. Here, &lt;code&gt;xxxx&lt;/code&gt; is the name of the language&lt;/p&gt;

&lt;p&gt;To see all the languages supported by PrismJS &lt;a href="https://prismjs.com/#supported-languages"&gt;Click Here&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;pre&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;code&lt;/span&gt; &lt;span class="na"&gt;className=&lt;/span&gt;&lt;span class="s"&gt;"language-xxxx"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="c"&gt;&amp;lt;!-- Your code here --&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/code&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/pre&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;But, wait. It is not over yet, the syntax highlighting will not work yet now.&lt;br&gt;
We have to call the &lt;code&gt;Prism.highlighAll()&lt;/code&gt; function to highlight our code&lt;br&gt;
after rendering the html.&lt;/p&gt;
&lt;h2&gt;
  
  
  Final Code Example
&lt;/h2&gt;

&lt;p&gt;Now the final code. Here we are going to call the &lt;code&gt;Prism.highlightAll()&lt;/code&gt; function inside &lt;code&gt;useEffect()&lt;/code&gt; hook. This will highlight our code after the&lt;br&gt;
Component is rendered.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;Prism&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;prismjs&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// Prism&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;prismjs/themes/prism-okaidia.min.css&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// Import theme&lt;/span&gt;

&lt;span class="nx"&gt;require&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;prismjs/components/prism-c&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="nx"&gt;require&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;prismjs/components/prism-cpp&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="nx"&gt;require&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;prismjs/plugins/normalize-whitespace/prism-normalize-whitespace&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;App&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;

  &lt;span class="nx"&gt;useEffect&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="nx"&gt;Prism&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;highlightAll&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
  &lt;span class="p"&gt;});&lt;/span&gt;

  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;pre&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;code&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"language-cpp"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
        // Your First C++ Program

        #include &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;iostream&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;

        int main() &lt;span class="si"&gt;{&lt;/span&gt;
            &lt;span class="nx"&gt;std&lt;/span&gt;&lt;span class="p"&gt;::&lt;/span&gt;&lt;span class="nx"&gt;cout&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Hello World!&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
            &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="si"&gt;}&lt;/span&gt;


      &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;code&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;pre&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
  );
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And now the rendered App component will have code highlighting enabled&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Note: This process also works on &lt;code&gt;NextJS&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>react</category>
    </item>
  </channel>
</rss>
