<?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: Km-js</title>
    <description>The latest articles on DEV Community by Km-js (@km-js).</description>
    <link>https://dev.to/km-js</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%2F1153314%2F75d3e830-3044-4c4d-ad64-5e5351749995.png</url>
      <title>DEV Community: Km-js</title>
      <link>https://dev.to/km-js</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/km-js"/>
    <language>en</language>
    <item>
      <title>30 Creative Projects created with HTML, CSS and JavaScript- Part 3 #30days30projects</title>
      <dc:creator>Km-js</dc:creator>
      <pubDate>Wed, 19 Feb 2025 00:58:52 +0000</pubDate>
      <link>https://dev.to/km-js/30-creative-projects-created-with-html-css-and-javascript-part-3-30days30projects-51ci</link>
      <guid>https://dev.to/km-js/30-creative-projects-created-with-html-css-and-javascript-part-3-30days30projects-51ci</guid>
      <description>&lt;p&gt;What an incredible 30-day journey it has been!&lt;/p&gt;

&lt;p&gt;As part of the &lt;a href="https://youtube.com/@greatstackdev?si=XZkerF7Pllf3Jf3v" rel="noopener noreferrer"&gt;GreatStack&lt;/a&gt; 30Days30Projects Challenge, I built projects exclusively using HTML, CSS, and JavaScript. This experience pushed my creativity and skills, proving that with dedication, you can achieve amazing things with code in just a month.&lt;/p&gt;

&lt;p&gt;Excited to share the results of this adventure with you all!&lt;/p&gt;




&lt;h2&gt;
  
  
  21. Dropify 📂
&lt;/h2&gt;

&lt;p&gt;The ultimate drag-and-drop productivity app designed to streamline your workflow effortlessly&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/km-js/dropify" rel="noopener noreferrer"&gt;Github Repo&lt;/a&gt;&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%2F1et33ievgtwosrmgjh8v.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%2F1et33ievgtwosrmgjh8v.png" alt="Dropify" width="800" height="377"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  22. AgeTeller ⌛️
&lt;/h2&gt;

&lt;p&gt;The ultimate app to effortlessly calculate your age&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/km-js/age-teller" rel="noopener noreferrer"&gt;Github Repo&lt;/a&gt;&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%2Fi260tcchhatpa1un41as.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%2Fi260tcchhatpa1un41as.png" alt="AgeTeller" width="800" height="377"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  23. BackgroundEvoke 🎨
&lt;/h2&gt;

&lt;p&gt;The ultimate app for transforming your surroundings with captivating background change effects.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/km-js/background-evoke" rel="noopener noreferrer"&gt;Github Repo&lt;/a&gt;&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%2F5opzjnpfi67f8axrdkqy.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%2F5opzjnpfi67f8axrdkqy.png" alt="BackgroundEvoke" width="800" height="380"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  24. NightShade  🌙
&lt;/h2&gt;

&lt;p&gt;Immerse yourself in a sleek and elegant dark mode that reduces eye strain and enhances visual comfort&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/km-js/night-shade" rel="noopener noreferrer"&gt;Github Repo&lt;/a&gt;&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%2F6topr5fz2izukvphz5pn.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%2F6topr5fz2izukvphz5pn.png" alt="nightshade" width="800" height="379"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  25. PhotoFolio 🖼
&lt;/h2&gt;

&lt;p&gt;Showcase your memories in a stunning and organized way&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/km-js/photo-folio" rel="noopener noreferrer"&gt;Github Repo&lt;/a&gt;&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%2Fbywmhhbkzwkg439muh7o.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%2Fbywmhhbkzwkg439muh7o.png" alt="PhotoFolio" width="800" height="377"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  26. Quotegram 🌈
&lt;/h2&gt;

&lt;p&gt;Receive a daily dose of wisdom delivered right to your device, inspiring you to start your day with purpose&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/km-js/quotegram" rel="noopener noreferrer"&gt;Github Repo&lt;/a&gt;&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%2Far6ptaqpa76spxe85cyk.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%2Far6ptaqpa76spxe85cyk.png" alt="Quotegram" width="800" height="379"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  27. ValidForm ✅
&lt;/h2&gt;

&lt;p&gt;A powerful tool designed to streamline and enhance the form validation process for users&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/km-js/valid-form" rel="noopener noreferrer"&gt;Github Repo&lt;/a&gt;&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%2Fjxtzhr42b1wa1tmknnjh.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%2Fjxtzhr42b1wa1tmknnjh.png" alt="Valid Form" width="800" height="380"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  28. VoiceVibe 🔊
&lt;/h2&gt;

&lt;p&gt;Translates written words into clear, natural speech&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/km-js/voice-vibe" rel="noopener noreferrer"&gt;Github Repo&lt;/a&gt;&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%2Fkfps9j7w5qozizsj68ex.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%2Fkfps9j7w5qozizsj68ex.png" alt="Voice Vibe" width="800" height="370"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  29. SoonPage 🚀
&lt;/h2&gt;

&lt;p&gt;Start counting down to the next big launch&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/km-js/soon-page" rel="noopener noreferrer"&gt;Github Repo&lt;/a&gt;&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%2Fafx19yq60zil4202w3an.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%2Fafx19yq60zil4202w3an.png" alt="Soon Page" width="800" height="370"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  30. SubscribeMail 📧
&lt;/h2&gt;

&lt;p&gt;All-in-one solution for managing email subscriptions effortlessly&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/km-js/subscribe-mail" rel="noopener noreferrer"&gt;Github Repo&lt;/a&gt; &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%2Fagzrwbk0ksvzx4ms3kqg.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%2Fagzrwbk0ksvzx4ms3kqg.png" alt="Subscribe Mail" width="800" height="375"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>beginners</category>
      <category>codenewbie</category>
    </item>
    <item>
      <title>30 Creative Projects created with HTML, CSS and JavaScript- Part 2 #30days30projects</title>
      <dc:creator>Km-js</dc:creator>
      <pubDate>Wed, 19 Feb 2025 00:57:52 +0000</pubDate>
      <link>https://dev.to/km-js/30-creative-projects-created-with-html-css-and-javascript-part-2-30days30projects-56o4</link>
      <guid>https://dev.to/km-js/30-creative-projects-created-with-html-css-and-javascript-part-2-30days30projects-56o4</guid>
      <description>&lt;p&gt;What an incredible 30-day journey it has been!&lt;/p&gt;

&lt;p&gt;As part of the &lt;a href="https://youtube.com/@greatstackdev?si=XZkerF7Pllf3Jf3v" rel="noopener noreferrer"&gt;GreatStack&lt;/a&gt; 30Days30Projects Challenge, I built projects exclusively using HTML, CSS, and JavaScript. This experience pushed my creativity and skills, proving that with dedication, you can achieve amazing things with code in just a month.&lt;/p&gt;

&lt;p&gt;Excited to share the results of this adventure with you all!&lt;/p&gt;




&lt;h2&gt;
  
  
  11. MenuMagic ✨
&lt;/h2&gt;

&lt;p&gt;User-friendly digital menu&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/km-js/menu-magic" rel="noopener noreferrer"&gt;Github Repo&lt;/a&gt;&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%2F20nesvxdmcgqdsslk78s.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%2F20nesvxdmcgqdsslk78s.png" alt="Menu Magic" width="800" height="555"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  12. Swift Calc ➕✖️
&lt;/h2&gt;

&lt;p&gt;Simplifying calculations with style. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/km-js/swift-calc" rel="noopener noreferrer"&gt;Github Repo&lt;/a&gt;&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%2Fq7aii3xie8oewwxh0y2g.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%2Fq7aii3xie8oewwxh0y2g.png" alt="Swift Cal" width="800" height="379"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  13. ImageScout  📸
&lt;/h2&gt;

&lt;p&gt;Discover the world through images &lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/km-js/image-scout" rel="noopener noreferrer"&gt;Github Repo&lt;/a&gt;  &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%2Fxbixvpid0sairl1x216k.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%2Fxbixvpid0sairl1x216k.png" alt="Image Scout" width="800" height="377"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  14. QRFlow 🌐
&lt;/h2&gt;

&lt;p&gt;Seamlessly create QR codes for websites, contact details, Wi-Fi networks, and more&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/km-js/qr-flow" rel="noopener noreferrer"&gt;Github Repo&lt;/a&gt;&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%2F85cdjqfemdq0357xaadq.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%2F85cdjqfemdq0357xaadq.png" alt="QR Flow" width="800" height="375"&gt;&lt;/a&gt; &lt;/p&gt;

&lt;h2&gt;
  
  
  15. InstaTimer 🕒
&lt;/h2&gt;

&lt;p&gt;An elegantly designed stopwatch providing accurate timekeeping with start, stop, and reset functionalities.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/km-js/insta-timer" rel="noopener noreferrer"&gt;Github Repo&lt;/a&gt;&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%2Fitub6h10p7o1vrpunll0.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%2Fitub6h10p7o1vrpunll0.png" alt="Insta Timer" width="800" height="379"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  16. RoundFlow 🔄
&lt;/h2&gt;

&lt;p&gt;A visually dynamic UI element conveying task completion with a modern circular design&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/km-js/round-flow" rel="noopener noreferrer"&gt;Github Repo&lt;/a&gt;&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%2Fqm475rn21kd0arm4cth1.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%2Fqm475rn21kd0arm4cth1.png" alt="Round Flow" width="800" height="380"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  17. ToastBurst 🥂
&lt;/h2&gt;

&lt;p&gt;Pop-up alerts that appear on a user's screen, providing timely information or updates&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/km-js/toast-burst" rel="noopener noreferrer"&gt;Github Repo&lt;/a&gt;&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%2Fsgs4dfpcp4af1u70al6y.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%2Fsgs4dfpcp4af1u70al6y.png" alt="ToastBurst" width="800" height="379"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  18. SecurePass 🔐
&lt;/h2&gt;

&lt;p&gt;Fortify and protect your digital accounts&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/km-js/secure-pass" rel="noopener noreferrer"&gt;Github Repo&lt;/a&gt;&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%2Fqkggqa6nz7t2ad6iqr9g.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%2Fqkggqa6nz7t2ad6iqr9g.png" alt="SecurePass" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  20. CryptoSheid 📈
&lt;/h2&gt;

&lt;p&gt;Go-to app for real-time cryptocurrency prices&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/km-js/crypto-shield" rel="noopener noreferrer"&gt;Github Repo&lt;/a&gt;&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%2Fs04yxone974o0iqtbahy.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%2Fs04yxone974o0iqtbahy.png" alt="CryptoShield" width="800" height="376"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>beginners</category>
      <category>codenewbie</category>
    </item>
    <item>
      <title>30 Creative Projects created with HTML, CSS and JavaScript - Part 1 #30days30projects</title>
      <dc:creator>Km-js</dc:creator>
      <pubDate>Wed, 19 Feb 2025 00:57:07 +0000</pubDate>
      <link>https://dev.to/km-js/30-creative-projects-created-with-html-css-and-javascript-part-1-30days30projects-3gfh</link>
      <guid>https://dev.to/km-js/30-creative-projects-created-with-html-css-and-javascript-part-1-30days30projects-3gfh</guid>
      <description>&lt;p&gt;What an incredible 30-day journey it has been!&lt;/p&gt;

&lt;p&gt;As part of the &lt;a href="https://youtube.com/@greatstackdev?si=XZkerF7Pllf3Jf3v" rel="noopener noreferrer"&gt;GreatStack&lt;/a&gt; 30Days30Projects Challenge, I built projects exclusively using HTML, CSS, and JavaScript. This experience pushed my creativity and skills, proving that with dedication, you can achieve amazing things with code in just a month.&lt;/p&gt;

&lt;p&gt;Excited to share the results of this adventure with you all!&lt;/p&gt;




&lt;h2&gt;
  
  
  1. Weatherly 🌦
&lt;/h2&gt;

&lt;p&gt;You can check the weather conditions, temperature, humidity, and wind speed just by entering the city name. 🌍&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/km-js/weatherly" rel="noopener noreferrer"&gt;Github Repo&lt;/a&gt;&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%2F0xo1adn4nb2t1w2l4vhw.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%2F0xo1adn4nb2t1w2l4vhw.png" alt="weather app image" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Task Buddy 📝
&lt;/h2&gt;

&lt;p&gt;It's all about keeping tasks organized and productivity high.👆 &lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/km-js/task-buddy" rel="noopener noreferrer"&gt;Github Repo&lt;/a&gt;&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%2Fuell4w5474i2glfjhb92.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%2Fuell4w5474i2glfjhb92.png" alt="Task Buddy image" width="800" height="375"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Pocket Cal 📅
&lt;/h2&gt;

&lt;p&gt;A handy digital calendar made with JavaScript.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/km-js/pocket-cal" rel="noopener noreferrer"&gt;Github Repo&lt;/a&gt;&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%2Fvzeb50ozw1cay9huafyk.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%2Fvzeb50ozw1cay9huafyk.png" alt="Pocket Cal Image" width="800" height="373"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  4. PassGenius 🔐
&lt;/h2&gt;

&lt;p&gt;Your Personal Password Wizard.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/km-js/pass-genius" rel="noopener noreferrer"&gt;Github Repo&lt;/a&gt;&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%2Ff82oob77arxpev48emxg.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%2Ff82oob77arxpev48emxg.png" alt="Pass Genius Image" width="800" height="377"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  5. PopUp ✨
&lt;/h2&gt;

&lt;p&gt;Click the submit button, and voila! A smoothly transitioned popup emerges.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/km-js/pop-up" rel="noopener noreferrer"&gt;Github Repo&lt;/a&gt;&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%2Fjhuink9pmhpe4bn9ilya.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%2Fjhuink9pmhpe4bn9ilya.png" alt="PopUp" width="800" height="377"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  6. Pixel Clock ⏰
&lt;/h2&gt;

&lt;p&gt;It's not just any digital clock; it's a pixel-perfect timepiece!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/km-js/pixel-clock" rel="noopener noreferrer"&gt;Github Repo&lt;/a&gt;  &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%2F0wfc0rl4omdjv191vxqr.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%2F0wfc0rl4omdjv191vxqr.png" alt="Clock" width="800" height="379"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  7. Quizzy 🧠
&lt;/h2&gt;

&lt;p&gt;The ultimate blend of learning and fun!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/km-js/quizzy" rel="noopener noreferrer"&gt;Github Repo&lt;/a&gt;&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%2Fte8cp4nq0qohxxg54hmu.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%2Fte8cp4nq0qohxxg54hmu.png" alt="quiz" width="800" height="379"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  8. Toggle Password 🔒👁
&lt;/h2&gt;

&lt;p&gt;Switch between hidden and revealed passwords. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/km-js/toggle-password" rel="noopener noreferrer"&gt;Github Repo&lt;/a&gt; &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%2Fdnao6l194ls3lu2b37lt.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%2Fdnao6l194ls3lu2b37lt.png" alt="Toggle Password" width="800" height="376"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  9. Product Showcase Project 🛒
&lt;/h2&gt;

&lt;p&gt;Presenting products in a captivating way&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/km-js/product-showcase" rel="noopener noreferrer"&gt;Github Repo&lt;/a&gt;&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%2F2bjjjk1d0bysc7gis9c9.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%2F2bjjjk1d0bysc7gis9c9.png" alt="IProduct Showcase" width="800" height="381"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>beginners</category>
      <category>codenewbie</category>
    </item>
    <item>
      <title>20 Days of HTML(Learn 20 amazing things about HTML) Part 2</title>
      <dc:creator>Km-js</dc:creator>
      <pubDate>Sat, 25 Jan 2025 16:58:51 +0000</pubDate>
      <link>https://dev.to/km-js/20-days-of-htmllearn-20-amazing-things-about-html-part-2-4c8i</link>
      <guid>https://dev.to/km-js/20-days-of-htmllearn-20-amazing-things-about-html-part-2-4c8i</guid>
      <description>&lt;h1&gt;
  
  
  &lt;b&gt; Day 11- Drag and Drop
&lt;/b&gt;
&lt;/h1&gt;

&lt;p&gt;Any HTML element can be dragged and dropped irrespective of its native behavior.⁣&lt;br&gt;
⁣It is done by using the global attribute &lt;em&gt;draggable&lt;/em&gt; i.e setting its value to true.⁣&lt;br&gt;
⁣&lt;br&gt;
Events like ondragstart, ondragover, etc. are used to make elements more functional.⁣&lt;br&gt;
⁣Images and links are by default draggable.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;p&lt;/span&gt; &lt;span class="na"&gt;draggable=&lt;/span&gt;&lt;span class="s"&gt;"true"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  Drag and Drop me on the other side!
&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;iframe src="https://jsfiddle.net/km4444/ed5vzhjg/5/embedded/result,html//dark" width="100%" height="600"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;b&gt; Day 12- Progress and Meter Elements
&lt;/b&gt;
&lt;/h1&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;progress&amp;gt;&lt;/code&gt; element:

&lt;ul&gt;
&lt;li&gt;Displays a progress bar showing the completion progress of a task.⁣⁣&lt;/li&gt;
&lt;li&gt;It has two attributes max and value.⁣⁣&lt;/li&gt;
&lt;li&gt;No min attribute, the minimum value is always 0.⁣⁣
⁣⁣&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;meter&amp;gt;&lt;/code&gt; element:

&lt;ul&gt;
&lt;li&gt;Displays either a  fractional value or a value within a range.⁣⁣&lt;/li&gt;
&lt;li&gt;It is not only to show the progress(high), it can also fluctuate(high or    low).⁣⁣&lt;/li&gt;
&lt;li&gt;Has the following attributes: max, min, high, low, optimum.
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&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;label&lt;/span&gt; &lt;span class="na"&gt;for=&lt;/span&gt;&lt;span class="s"&gt;"download"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Download Progress&lt;span class="nt"&gt;&amp;lt;/label&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;progress&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"download"&lt;/span&gt; &lt;span class="na"&gt;max=&lt;/span&gt;&lt;span class="s"&gt;"100"&lt;/span&gt; &lt;span class="na"&gt;value=&lt;/span&gt;&lt;span class="s"&gt;"50"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/progress&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;br&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;label&lt;/span&gt; &lt;span class="na"&gt;for=&lt;/span&gt;&lt;span class="s"&gt;"temp"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Temperature Meter:&lt;span class="nt"&gt;&amp;lt;/label&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;meter&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"temp"&lt;/span&gt; &lt;span class="na"&gt;min=&lt;/span&gt;&lt;span class="s"&gt;"0"&lt;/span&gt; &lt;span class="na"&gt;max=&lt;/span&gt;&lt;span class="s"&gt;"100"&lt;/span&gt; &lt;span class="na"&gt;low=&lt;/span&gt;&lt;span class="s"&gt;"30"&lt;/span&gt; &lt;span class="na"&gt;high=&lt;/span&gt;&lt;span class="s"&gt;"60"&lt;/span&gt; &lt;span class="na"&gt;optimum=&lt;/span&gt;&lt;span class="s"&gt;"80"&lt;/span&gt; &lt;span class="na"&gt;value=&lt;/span&gt;&lt;span class="s"&gt;"10"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/meter&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;iframe src="https://jsfiddle.net/km4444/e5hgnw4s/4/embedded/result,html//dark" width="100%" height="600"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;b&gt; Day 13- Play some Music
&lt;/b&gt;
&lt;/h1&gt;

&lt;p&gt;⁣&lt;code&gt;&amp;lt;audio&amp;gt;&lt;/code&gt; element provides a way to add audio resources to a web page without the need to use any other plugin.⁣&lt;br&gt;
Just include a path to the media inside the src attribute.⁣&lt;br&gt;
⁣&lt;br&gt;
A fallback text is enclosed within the tag to be shown to browsers that don't support the element.⁣&lt;br&gt;
⁣&lt;br&gt;
By default, the browser does not show any controls. ⁣&lt;br&gt;
To add the ability for users to play, pause, adjust volume, etc. 'controls' attribute can be used.&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;audio&lt;/span&gt; &lt;span class="na"&gt;controls&lt;/span&gt; &lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"dope_music.mp3"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  Your browser does not support the audio element.
&lt;span class="nt"&gt;&amp;lt;/audio&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;iframe src="https://jsfiddle.net/km4444/afb7zL8e/2/embedded/result,html//dark" width="100%" height="600"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;b&gt; Day 14- Show Insertion and Deletion
&lt;/b&gt;
&lt;/h1&gt;

&lt;p&gt;&lt;code&gt;&amp;lt;ins&amp;gt;&lt;/code&gt; element indicates text that has been added to the document.⁣⁣&lt;br&gt;
&lt;code&gt;&amp;lt;del&amp;gt;&lt;/code&gt; is used for the text that has been deleted from the document.⁣⁣&lt;/p&gt;

&lt;p&gt;So far, both of these have accessibility concerns which can be overcome by using, before and after pseudo-elements with the CSS content property.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;Go to a
  &lt;span class="nt"&gt;&amp;lt;del&amp;gt;&lt;/span&gt;movie&lt;span class="nt"&gt;&amp;lt;/del&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;ins&amp;gt;&lt;/span&gt;conference&lt;span class="nt"&gt;&amp;lt;/ins&amp;gt;&lt;/span&gt;
  this weekend.
&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;iframe src="https://jsfiddle.net/km4444/Lbqe21az/9/embedded/result,html//dark" width="100%" height="600"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;b&gt; Day 15- Word Break Opportunity
&lt;/b&gt;
&lt;/h1&gt;

&lt;p&gt;⁣When a word is too long, and you don't want the browser to break it at the random place, &lt;code&gt;&amp;lt;wbr&amp;gt;&lt;/code&gt; helps to break the word where you want.⁣&lt;br&gt;
⁣&lt;br&gt;
The &lt;code&gt;&amp;lt;wbr&amp;gt;&lt;/code&gt; element specifies a position within text where it would be appropriate to add a line-break.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;This is a lonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnngggggggggggggggggggggggggggggggggggggggggg&lt;span class="nt"&gt;&amp;lt;wbr&amp;gt;&lt;/span&gt;word.&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;iframe src="https://jsfiddle.net/km4444/1n9mgtp0/2/embedded/result,html//dark" width="100%" height="600"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;b&gt; Day 16- Best Practices
&lt;/b&gt;
&lt;/h1&gt;

&lt;p&gt;A great place to find the HTML best practices to write maintainable and scalable code.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/hail2u/html-best-practices" rel="noopener noreferrer"&gt;HTML best practices&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;b&gt; Day 17- Adding Color picker and Date picker into the forms
&lt;/b&gt;
&lt;/h1&gt;

&lt;p&gt;⁣&lt;code&gt;&amp;lt;input&amp;gt;&lt;/code&gt; element with the attribute of type="color" provides an interface of color picker or the user can also enter the color in hexadecimal format.⁣&lt;br&gt;
⁣&lt;br&gt;
&lt;code&gt;&amp;lt;input&amp;gt;&lt;/code&gt; element with the attribute of type="date" creates a date picker or lets the user enter a date.⁣&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;label&amp;gt;&lt;/span&gt;Choose Color:
&lt;span class="nt"&gt;&amp;lt;/label&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"color"&lt;/span&gt; &lt;span class="na"&gt;value=&lt;/span&gt;&lt;span class="s"&gt;"#ffffff"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;iframe src="https://jsfiddle.net/km4444/2yrzhLkq/2/embedded/result,html//dark" width="100%" height="600"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;b&gt; Day 18- Setting Shortcut Keys
&lt;/b&gt;
&lt;/h1&gt;

&lt;p&gt;⁣The &lt;em&gt;accesskey&lt;/em&gt; is a global attribute that specifies a shortcut key to activate an element.⁣&lt;br&gt;
⁣&lt;br&gt;
Shortcut keys can be accessed in number of ways according to the browser such as:⁣&lt;br&gt;
&lt;code&gt;ctrl + alt +  accesskey⁣&lt;/code&gt;&lt;br&gt;
OR⁣&lt;br&gt;
&lt;code&gt;alt + accesskey&lt;/code&gt;&lt;br&gt;
OR⁣&lt;br&gt;
&lt;code&gt;alt + shift + accesskey&lt;/code&gt;&lt;/p&gt;
&lt;h1&gt;
  
  
  &lt;b&gt; Day 19- Make Input fields readonly
&lt;/b&gt;
&lt;/h1&gt;

&lt;p&gt;⁣The &lt;code&gt;readonly&lt;/code&gt; attribute prevents the editing on an input field by the user i.e. it makes the elements immutable.⁣&lt;br&gt;
⁣&lt;br&gt;
These readonly elements can be styled by :read-only and :read-write pseudo classes.⁣&lt;br&gt;
⁣&lt;br&gt;
It is different from the disabled attribute as the elements with readonly attribute are focusable whereas this isn't the case with the disabled.&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;label&lt;/span&gt; &lt;span class="na"&gt;for=&lt;/span&gt;&lt;span class="s"&gt;"country"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Country:
&lt;span class="nt"&gt;&amp;lt;/label&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"text"&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"country"&lt;/span&gt; &lt;span class="na"&gt;value=&lt;/span&gt;&lt;span class="s"&gt;"India"&lt;/span&gt; &lt;span class="na"&gt;readonly&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;iframe src="https://jsfiddle.net/km4444/xfwk8mpc//embedded/result,html//dark" width="100%" height="600"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;b&gt; Day 20- Ways to improve Accessibility
&lt;/b&gt;
&lt;/h1&gt;

&lt;ol&gt;
&lt;li&gt;Use semantic elements.⁣
⁣&lt;/li&gt;
&lt;li&gt;A label should be associated with every form control.⁣
⁣&lt;/li&gt;
&lt;li&gt;Alternative text should be included for images.⁣
⁣&lt;/li&gt;
&lt;li&gt;Use tabindex="0" to add an element that does not normally receive focus, such as &lt;code&gt;&amp;lt;div&amp;gt;&lt;/code&gt; or &lt;code&gt;&amp;lt;span&amp;gt;&lt;/code&gt;.⁣
⁣&lt;/li&gt;
&lt;li&gt;Use ARIA roles and attributes to provide additional meaning.For example, role="search" for search functionality.&lt;/li&gt;
&lt;/ol&gt;




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

</description>
      <category>html</category>
      <category>webdev</category>
      <category>beginners</category>
      <category>100daysofcode</category>
    </item>
    <item>
      <title>20 Days of HTML(Learn 20 amazing things about HTML) Part 1</title>
      <dc:creator>Km-js</dc:creator>
      <pubDate>Thu, 23 Jan 2025 19:01:33 +0000</pubDate>
      <link>https://dev.to/km-js/20-days-of-htmllearn-20-amazing-things-about-html-part-1-3ji9</link>
      <guid>https://dev.to/km-js/20-days-of-htmllearn-20-amazing-things-about-html-part-1-3ji9</guid>
      <description>&lt;h2&gt;
  
  
  Day 1- Divide webpage into logical sections
&lt;/h2&gt;

&lt;p&gt;⁣HTML5 offers several elements that will help you organize your layout in appropriate sections:⁣⁣&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Header &lt;code&gt;&amp;lt;header&amp;gt;&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Navigation bar &lt;code&gt;&amp;lt;nav&amp;gt;&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Main Content &lt;code&gt;&amp;lt;main&amp;gt;&lt;/code&gt; with &lt;code&gt;&amp;lt;article&amp;gt;&lt;/code&gt; and &lt;code&gt;&amp;lt;section&amp;gt;&lt;/code&gt; ⁣⁣&lt;/li&gt;
&lt;li&gt;Sidebar &lt;code&gt;&amp;lt;aside&amp;gt;&lt;/code&gt;⁣⁣&lt;/li&gt;
&lt;li&gt;Footer &lt;code&gt;&amp;lt;footer&amp;gt;&lt;/code&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;⁣⁣Good Webpages may look or perform differently but they share similar standard structure.⁣⁣&lt;br&gt;
⁣⁣&lt;br&gt;
By using this standard structure with the semantic elements mentioned above your document becomes more readable and accessible.⁣⁣&lt;/p&gt;
&lt;h2&gt;
  
  
  Day 2- What are the Semantic elements? Why are they important?
&lt;/h2&gt;

&lt;p&gt;Rather than writing vague divs in your document.&lt;br&gt;
How about using semantic tags?&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Semantic tags&lt;/em&gt; define the purpose of the element. It's beneficial to use tags, class names and ids that give meaning to your content rather than just define its looks. Presentation is the responsibility of CSS.&lt;/p&gt;

&lt;p&gt;For example- &lt;code&gt;&amp;lt;p&amp;gt;&lt;/code&gt;,&lt;code&gt;&amp;lt;header&amp;gt;&lt;/code&gt;,&lt;code&gt;&amp;lt;figure&amp;gt;&lt;/code&gt; tells the content wrapped around them are paragraph, header or image. They help the browser, as well as developers, understand the meaning of their content.&lt;/p&gt;

&lt;p&gt;Why is Semantic HTML important?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Helps to write clean and maintainable code&lt;/li&gt;
&lt;li&gt;Enhances Accessibility&lt;/li&gt;
&lt;li&gt;Improves SEO&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  Day 3- Make any content on your page editable by users
&lt;/h2&gt;

&lt;p&gt;The text of the webpage can be made editable using the &lt;em&gt;contenteditable&lt;/em&gt; attribute.&lt;/p&gt;

&lt;p&gt;Just set the &lt;em&gt;contenteditable&lt;/em&gt; to true on any of the elements you want to make editable. &lt;br&gt;
It can be helpful in the making of a simple text editor.&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;contenteditable=&lt;/span&gt;&lt;span class="s"&gt;"true"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  Edit me!
&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;&lt;iframe src="https://jsfiddle.net/km4444/be9hrLqs/1/embedded/result,html//dark" width="100%" height="600"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Day 4- Implement a Download button with HTML5
&lt;/h2&gt;

&lt;p&gt;Usually, when the user clicks on a link to media files, it will be opened in the browser. &lt;br&gt;
If you want to give users the option to save that file on their computer, download attribute can be used.&lt;/p&gt;

&lt;p&gt;The download attribute to &lt;code&gt;&amp;lt;a&amp;gt;&lt;/code&gt; elements makes the linked URL a download link rather than a navigational. Meaning users can save the link rather than navigating to it.&lt;/p&gt;

&lt;p&gt;The download attribute can be used with or without value. To rename the default name, a value can be given which becomes the name of the file.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;a&lt;/span&gt; &lt;span class="na"&gt;href=&lt;/span&gt;&lt;span class="s"&gt;"this-is-the-download-link.pdf"&lt;/span&gt; &lt;span class="na"&gt;download=&lt;/span&gt;&lt;span class="s"&gt;"Download.pdf"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  Download me
&lt;span class="nt"&gt;&amp;lt;/a&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;iframe src="https://jsfiddle.net/km4444/Lrjeh7aq/1/embedded/result,html//dark" width="100%" height="600"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Day 5- Define options with datalist tag
&lt;/h2&gt;

&lt;p&gt;⁣The Html5 &lt;code&gt;&amp;lt;datalist&amp;gt;&lt;/code&gt; tag is used to provide autocomplete feature in the input field of the form.⁣&lt;br&gt;
⁣&lt;br&gt;
It specifies the set of predefined options for the user to input.⁣&lt;br&gt;
⁣&lt;br&gt;
To bind it to the input, it is usually used with the &lt;code&gt;&amp;lt;input&amp;gt;&lt;/code&gt; element's &lt;em&gt;list&lt;/em&gt; attribute whose value matches the datalist id.⁣&lt;br&gt;
⁣It works with all types of inputs like data, range, color etc.⁣&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; &lt;span class="na"&gt;list=&lt;/span&gt;&lt;span class="s"&gt;"languages"&lt;/span&gt; &lt;span class="na"&gt;placeholder=&lt;/span&gt;&lt;span class="s"&gt;"Choose language"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;datalist&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"languages"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;option&amp;gt;&lt;/span&gt;Python&lt;span class="nt"&gt;&amp;lt;/option&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;option&amp;gt;&lt;/span&gt;Javascript&lt;span class="nt"&gt;&amp;lt;/option&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;option&amp;gt;&lt;/span&gt;Java&lt;span class="nt"&gt;&amp;lt;/option&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/datalist&amp;gt;&lt;/span&gt;

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

&lt;/div&gt;



&lt;p&gt;&lt;iframe src="https://jsfiddle.net/km4444/7kno6Let/1//embedded/result,html//dark" width="100%" height="600"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Day 6- Collapsible Sections with HTML5⁣
&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;⁣Details&lt;/em&gt; tag is used to make collapsible sections when it is required to provide extra information about a subject that users can hide or view by their choice.&lt;br&gt;
⁣&lt;br&gt;
Used with the summary tag which specifies the title that can be clicked to expand or collapse the details.⁣&lt;/p&gt;

&lt;p&gt;By default, the details are hidden, the open attribute can be used to change the default behavior.⁣&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;details&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt; Javascript &lt;span class="nt"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt; I am an amazing language &lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/details&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;iframe src="https://jsfiddle.net/km4444/4sgzuvrj//embedded/result,html//dark" width="100%" height="600"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Day 7- Responsive Images with srcset
&lt;/h2&gt;

&lt;p&gt;⁣To make an image responsive means to switch between different versions of the image so that they are being displayed according to their respective device sizes and resolutions.⁣&lt;br&gt;
⁣&lt;br&gt;
⁣srcset, an attribute of &lt;code&gt;&amp;lt;img&amp;gt;&lt;/code&gt; element is used to give URLs of different versions of the image and a descriptor so that the browser can display the most appropriate one in a given situation.⁣&lt;br&gt;
⁣&lt;br&gt;
Here, descriptor x represents device-pixel-ratio i.e a device with 2x resolution will only display the image associated with 2x in the srcset attribute. ⁣&lt;br&gt;
⁣&lt;br&gt;
The src attribute is present for browsers that don't understand srcset.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;img&lt;/span&gt; &lt;span class="na"&gt;srcset=&lt;/span&gt;&lt;span class="s"&gt;"pizza-small.jpg,
             pizza-medium.jpg 1.5x,
             pizza-large.jpg 2x"&lt;/span&gt;
     &lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"pizza-large.jpg"&lt;/span&gt;
     &lt;span class="na"&gt;alt=&lt;/span&gt;&lt;span class="s"&gt;"a slice of cheesy pizza"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Day 8- HTML Periodic Tables
&lt;/h2&gt;

&lt;p&gt;⁣There exist periodic tables and cheatsheets for HTML elements. ⁣&lt;br&gt;
⁣A great tool to find all the elements with their descriptions in a single place.⁣&lt;br&gt;
These can be very helpful and handy as who remembers all the tags.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://htmlcheatsheet.com/" rel="noopener noreferrer"&gt;https://htmlcheatsheet.com/&lt;/a&gt;&lt;br&gt;
&lt;a href="https://developer.mozilla.org/en-US/docs/Learn/HTML/Cheatsheet" rel="noopener noreferrer"&gt;https://developer.mozilla.org/en-US/docs/Learn/HTML/Cheatsheet&lt;/a&gt;&lt;br&gt;
&lt;a href="https://websitesetup.org/html5-periodical-table/" rel="noopener noreferrer"&gt;https://websitesetup.org/html5-periodical-table/&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Day 9- All about Quotations
&lt;/h2&gt;

&lt;p&gt;⁣Quotations are an important part of the content.⁣&lt;br&gt;
There are few elements that can be used according to their semantic meanings to display quotations on your page:&lt;br&gt;
⁣&lt;/p&gt;
&lt;h4&gt;
  
  
  The &lt;code&gt;&amp;lt;blockquote&amp;gt;&lt;/code&gt; element:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Provides a section that defines quotations from another source.⁣&lt;/li&gt;
&lt;li&gt;Used for indicating long quotations.⁣&lt;/li&gt;
&lt;li&gt;Cite attribute is used to provide the URL of the source of the quotation.⁣&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;
  
  
  The &lt;code&gt;&amp;lt;q&amp;gt;&lt;/code&gt; element:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Provides an inline quote in a block of text. ⁣&lt;/li&gt;
&lt;li&gt;Used for indicating short quotations.⁣&lt;/li&gt;
&lt;li&gt;Inserts quotation marks around the enclosed text.⁣&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;
  
  
  The &lt;code&gt;&amp;lt;cite&amp;gt;&lt;/code&gt; element:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Provides the title of the source of work(e.g. book, album, song, poem, essay, etc.)⁣
&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;blockquote&amp;gt;&lt;/span&gt;
  The future was uncertain, absolutely, and there were many hurdles, twists, and turns to come, but as long as I kept moving forward, one foot in front of the other, the voices of fear and shame, the messages from those who wanted me to believe that I wasn't good enough, would be stilled.
  ― Chris Gardner,
  &lt;span class="nt"&gt;&amp;lt;cite&amp;gt;&lt;/span&gt;The Pursuit of Happyness&lt;span class="nt"&gt;&amp;lt;/cite&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/blockquote&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;q&amp;gt;&lt;/span&gt;The goal isn't to live forever, the goal is to create something that will.&lt;span class="nt"&gt;&amp;lt;/q&amp;gt;&amp;lt;br&amp;gt;&lt;/span&gt;
  ― Chuck Palahniuk, &lt;span class="nt"&gt;&amp;lt;cite&amp;gt;&lt;/span&gt;Diary&lt;span class="nt"&gt;&amp;lt;/cite&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;

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

&lt;/div&gt;


&lt;p&gt;&lt;iframe src="https://jsfiddle.net/km4444/Lkm4615q/2/embedded/result,html//dark" width="100%" height="600"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Day 10- Highlight it!
&lt;/h2&gt;

&lt;p&gt;⁣Ever wanted to have highlighted text on your page?⁣&lt;br&gt;
You can do it with just HTML, use &lt;code&gt;&amp;lt;mark&amp;gt;&lt;/code&gt; tag to highlight parts of the text which needs extra attention.⁣&lt;br&gt;
⁣&lt;br&gt;
Mostly used with quotations which are from other sources to determine which text is more relevant according to you. ⁣&lt;br&gt;
⁣&lt;br&gt;
Don't use it only for decoration purpose.⁣&lt;br&gt;
⁣&lt;br&gt;
Difference between &lt;code&gt;&amp;lt;mark&amp;gt;&lt;/code&gt; and &lt;code&gt;&amp;lt;strong&amp;gt;&lt;/code&gt;-&lt;br&gt;
&lt;code&gt;&amp;lt;mark&amp;gt;&lt;/code&gt; denotes relevance of the content, while &lt;code&gt;&amp;lt;strong&amp;gt;&lt;/code&gt; indicates importance.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;q&amp;gt;&lt;/span&gt;The goal isn't to live forever, the goal is to &lt;span class="nt"&gt;&amp;lt;mark&amp;gt;&lt;/span&gt;create something&lt;span class="nt"&gt;&amp;lt;/mark&amp;gt;&lt;/span&gt; that will.
  &lt;span class="nt"&gt;&amp;lt;/q&amp;gt;&amp;lt;br&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
  ― Chuck Palahniuk, &lt;span class="nt"&gt;&amp;lt;cite&amp;gt;&lt;/span&gt;Diary&lt;span class="nt"&gt;&amp;lt;/cite&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;iframe src="https://jsfiddle.net/km4444/8sazvup9/1/embedded/result,html//dark" width="100%" height="600"&gt;
&lt;/iframe&gt;
&lt;/p&gt;




</description>
      <category>html</category>
      <category>webdev</category>
      <category>beginners</category>
      <category>100daysofcode</category>
    </item>
    <item>
      <title>Difference between n++ and ++n?</title>
      <dc:creator>Km-js</dc:creator>
      <pubDate>Sun, 17 Sep 2023 15:22:04 +0000</pubDate>
      <link>https://dev.to/km-js/difference-between-n-and-n-202c</link>
      <guid>https://dev.to/km-js/difference-between-n-and-n-202c</guid>
      <description>&lt;h2&gt;
  
  
  Understanding Increment Operations:
&lt;/h2&gt;

&lt;p&gt;Before we delve into post-increment and pre-increment, let's clarify what an increment operation is in the context of programming. Simply put, an increment operation is used to increase the value of a variable by 1. It's like counting one step forward.&lt;/p&gt;

&lt;p&gt;Imagine you have a variable **n **set to 5. If you want to increase its value by 1, there are two main ways to do it: post-increment and pre-increment.&lt;/p&gt;

&lt;h2&gt;
  
  
  Post-increment (n++):
&lt;/h2&gt;

&lt;p&gt;Post-increment is like saying, "Use the current value of n, and after you've used it, increase it by 1."&lt;/p&gt;

&lt;p&gt;For example, if you have &lt;strong&gt;n = 5&lt;/strong&gt;, and you write &lt;strong&gt;x = n++&lt;/strong&gt;, what happens? &lt;strong&gt;x&lt;/strong&gt; gets the current value of &lt;strong&gt;n&lt;/strong&gt; (which is 5), and then, as a polite gesture, &lt;strong&gt;n&lt;/strong&gt; increases to 6. So, &lt;strong&gt;x&lt;/strong&gt; gets 5, and n becomes 6.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;int n = 5;
int x = n++;  // x gets 5, n becomes 6. 

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

&lt;/div&gt;



&lt;h2&gt;
  
  
  Pre-increment (++n):
&lt;/h2&gt;

&lt;p&gt;Pre-increment, on the other hand, is more direct. It's like saying, "Increase the value of &lt;strong&gt;n&lt;/strong&gt; by 1 first, and then use the new value."&lt;/p&gt;

&lt;p&gt;Suppose &lt;strong&gt;n = 5&lt;/strong&gt;. If you write &lt;strong&gt;x = ++n&lt;/strong&gt;, this time, n becomes 6 immediately, and x receives that new value. So, &lt;strong&gt;x&lt;/strong&gt; gets 6, and &lt;strong&gt;n&lt;/strong&gt; is also 6.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;int n = 5;
int x = ++n;  // n becomes 6, and x gets 6.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Choosing Between Post-increment and Pre-increment:
&lt;/h2&gt;

&lt;p&gt;Now that you understand how post-increment and pre-increment work, you might wonder when to use which.&lt;/p&gt;

&lt;p&gt;In most cases, it depends on your specific programming needs. If you want to use the current value of a variable and then increment it, post-increment (&lt;strong&gt;n++&lt;/strong&gt;) is the way to go. On the other hand, if you need the incremented value right away, pre-increment (&lt;strong&gt;++n&lt;/strong&gt;) is more efficient.&lt;/p&gt;

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

&lt;p&gt;In programming, post-increment (&lt;strong&gt;n++&lt;/strong&gt;) uses the current value before increasing it, while pre-increment (&lt;strong&gt;++n&lt;/strong&gt;) immediately provides the updated value. Mastering these concepts is a valuable skill for writing efficient code. Happy coding!&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>beginners</category>
      <category>programming</category>
      <category>codenewbie</category>
    </item>
    <item>
      <title>Difference between useEffect, useMemo, useCallback hooks?</title>
      <dc:creator>Km-js</dc:creator>
      <pubDate>Mon, 04 Sep 2023 15:01:59 +0000</pubDate>
      <link>https://dev.to/km-js/difference-between-useeffect-usememo-usecallback-hooks-17on</link>
      <guid>https://dev.to/km-js/difference-between-useeffect-usememo-usecallback-hooks-17on</guid>
      <description>&lt;h2&gt;
  
  
  useEffect Hook
&lt;/h2&gt;

&lt;p&gt;The useEffect hook is all about handling side effects in React components. Side effects typically include operations like data fetching, DOM manipulation, and managing subscriptions. Here's a breakdown of its key characteristics:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Purpose&lt;/strong&gt;: The primary purpose of useEffect is to execute code that has side effects. These side effects might be related to the component rendering or changes in its dependencies.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Usage&lt;/strong&gt;: You provide a callback function to useEffect, and React executes this function after the component has rendered or when specified dependencies have changed.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Typical Use Cases&lt;/strong&gt;: useEffect is commonly used for tasks such as data fetching, setting up and cleaning up event listeners, and performing actions in response to changes in props or state.&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;useEffect(() =&amp;gt; {
  // Code to execute after rendering or when specified dependencies change
}, [dependencies]);

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

&lt;/div&gt;



&lt;h2&gt;
  
  
  useMemo Hook
&lt;/h2&gt;

&lt;p&gt;The useMemo hook is all about memoization. Memoization is a technique where the result of an expensive function or expression is cached so that it's only recomputed when its dependencies change. Here's a breakdown:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Purpose&lt;/strong&gt;: useMemo is used to memoize (cache) the result of a function or an expression. This can improve performance by preventing unnecessary calculations.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Usage&lt;/strong&gt;: You provide a function and an array of dependencies to useMemo. React executes the function and caches its result. If the dependencies change, the function is re-executed, and the result is updated.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Typical Use Cases&lt;/strong&gt;: Memoization is useful for computationally expensive calculations or preventing unnecessary re-renders of components.&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const memoizedValue = useMemo(() =&amp;gt; {
  // Expensive calculation or function
  return result;
}, [dependencies]);

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

&lt;/div&gt;



&lt;h2&gt;
  
  
  useCallback Hook
&lt;/h2&gt;

&lt;p&gt;The useCallback hook is closely related to useMemo, but it focuses on memoizing functions rather than values. It's particularly useful when passing callback functions to child components. Here's a breakdown:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Purpose&lt;/strong&gt;: useCallback is used to memoize (cache) a function so that it's only recreated when its dependencies change. This can optimize performance when passing callbacks as props.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Usage&lt;/strong&gt;: You provide a function and an array of dependencies to useCallback. React returns a memoized version of the function. If the dependencies change, a new memoized function is created.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Typical Use Cases&lt;/strong&gt;: It's commonly used for memoizing callback functions, especially when passing those functions to child components.&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const memoizedCallback = useCallback(() =&amp;gt; {
  // Function to memoize
}, [dependencies]);

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

&lt;/div&gt;



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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;useEffect&lt;/strong&gt; is used for handling side effects and executing code after rendering or when certain dependencies change.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;useMemo&lt;/strong&gt; is used to memoize the result of a function or expression to prevent unnecessary recalculations.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;useCallback&lt;/strong&gt; is used to memoize functions, especially useful for optimizing child components that depend on callback functions.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;All three hooks take an array of dependencies. When these dependencies change, useEffect runs its effect function, useMemo recomputes the value, and useCallback recreates the memoized function.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;In summary, these hooks have distinct purposes and are valuable tools for managing different aspects of your React components. Understanding when and how to use &lt;strong&gt;useEffect&lt;/strong&gt;, &lt;strong&gt;useMemo&lt;/strong&gt;, and &lt;strong&gt;useCallback&lt;/strong&gt; can lead to more efficient and maintainable React applications.&lt;/p&gt;

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