<?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: Lucia Cenetiempo</title>
    <description>The latest articles on DEV Community by Lucia Cenetiempo (@luciacenetiempo).</description>
    <link>https://dev.to/luciacenetiempo</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%2F670822%2Fc1724eba-acb1-4f56-9a55-7467a5766cb2.jpeg</url>
      <title>DEV Community: Lucia Cenetiempo</title>
      <link>https://dev.to/luciacenetiempo</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/luciacenetiempo"/>
    <language>en</language>
    <item>
      <title>GitHub: Boosting Efficiency with Lesser-Known Features</title>
      <dc:creator>Lucia Cenetiempo</dc:creator>
      <pubDate>Fri, 30 Jun 2023 10:49:09 +0000</pubDate>
      <link>https://dev.to/luciacenetiempo/github-boosting-efficiency-with-lesser-known-features-4356</link>
      <guid>https://dev.to/luciacenetiempo/github-boosting-efficiency-with-lesser-known-features-4356</guid>
      <description>&lt;p&gt;&lt;strong&gt;GitHub&lt;/strong&gt; is a popular web-based platform that helps developers work together and manage their code effectively. It offers various features that enhance collaboration and streamline the development process. &lt;/p&gt;

&lt;p&gt;While many developers are familiar with the basics of GitHub, there are some lesser-known features that can greatly improve efficiency. &lt;/p&gt;




&lt;h2&gt;
  
  
  Overview of Popular GitHub Features 🧐
&lt;/h2&gt;




&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--dmccoMoU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/s53biks9b8te1pbau98i.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--dmccoMoU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/s53biks9b8te1pbau98i.png" alt="Overview of Popular GitHub Features" width="800" height="417"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Before diving into the lesser-known features, let's briefly talk about the well-known features of GitHub. &lt;/p&gt;

&lt;p&gt;These include &lt;strong&gt;version control&lt;/strong&gt;, which allows multiple developers to work on a project simultaneously.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pull requests&lt;/strong&gt; and &lt;strong&gt;code reviews&lt;/strong&gt; help ensure code quality and encourage collaboration. GitHub also provides &lt;strong&gt;issue tracking&lt;/strong&gt; and &lt;strong&gt;project management&lt;/strong&gt; tools to organize tasks and track progress effectively.&lt;/p&gt;




&lt;h2&gt;
  
  
  Lesser-Known Features of GitHub 😎
&lt;/h2&gt;




&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--6IL53CQM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jrvug00aa06aoyoul011.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--6IL53CQM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jrvug00aa06aoyoul011.jpeg" alt="Lesser-Known Features of GitHub" width="800" height="389"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;GitHub Actions&lt;/strong&gt; for Automation
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;GitHub Actions&lt;/strong&gt; is a powerful tool that automates various tasks in your repositories. It lets you define custom workflows to build, test, and deploy your applications automatically. This saves time and allows developers to focus on coding rather than repetitive tasks.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;GitHub Pages&lt;/strong&gt; for Hosting Websites
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;GitHub Pages&lt;/strong&gt; provides a simple and free way to host websites directly from your GitHub repositories. It's great for showcasing personal projects, creating portfolios, or sharing documentation. You can quickly deploy and share your projects with others.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;GitHub Gists&lt;/strong&gt; for Sharing Code Snippets
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;GitHub Gists&lt;/strong&gt; are useful for sharing small pieces of code or scripts. You can create and share code snippets, notes, or entire files easily. Gists can be embedded in blog posts, documentation, or social media, making collaboration and sharing easier.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;GitHub Templates&lt;/strong&gt; for Project Consistency
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;GitHub Templates&lt;/strong&gt; help maintain consistency across projects. You can create custom repository templates that define the structure, files, and settings for new projects. This ensures that every new project starts with a consistent foundation.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;GitHub Security&lt;/strong&gt; for Code Vulnerability Scanning
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;GitHub Security&lt;/strong&gt; features help identify common security vulnerabilities in your code. It scans for potential issues and provides recommendations to improve code security. While it's helpful, it's important to use specialized security tools for comprehensive code security.&lt;/p&gt;




&lt;h2&gt;
  
  
  Benefits of Using Lesser-Known GitHub Features 😏
&lt;/h2&gt;




&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--qy3ii-qt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rr7ezyo3m981smv25hu9.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--qy3ii-qt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rr7ezyo3m981smv25hu9.jpeg" alt="Benefits of Using Lesser-Known GitHub Features" width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;By using these lesser-known features, developers can enjoy several benefits:&lt;/p&gt;

&lt;h3&gt;
  
  
  Increased Efficiency and Productivity
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;GitHub Actions&lt;/strong&gt; automates tasks, saving time and allowing developers to focus on coding. This leads to increased productivity and faster software delivery.&lt;/p&gt;

&lt;h3&gt;
  
  
  Simplified Development Processes
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;GitHub Pages&lt;/strong&gt; simplifies website deployment, making it easy to share projects with others. It reduces the complexity of setting up infrastructure and streamlines the development workflow.&lt;/p&gt;

&lt;h3&gt;
  
  
  Improved Code Quality and Security
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;GitHub Gists&lt;/strong&gt; promote code collaboration and knowledge sharing. Developers can share snippets and receive feedback, improving code quality. &lt;strong&gt;GitHub Security&lt;/strong&gt; helps identify and address vulnerabilities, enhancing code security.&lt;/p&gt;




&lt;h2&gt;
  
  
  How to Use Lesser-Known GitHub Features Effectively 🤯
&lt;/h2&gt;




&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--jCYk831M--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5afgz653e02x2yp6etds.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--jCYk831M--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5afgz653e02x2yp6etds.png" alt="How to Use Lesser-Known GitHub Features Effectively" width="800" height="418"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To make the most of these features, consider the following tips:&lt;/p&gt;

&lt;h3&gt;
  
  
  Explore the Official Documentation and Learning Resources
&lt;/h3&gt;

&lt;p&gt;GitHub provides detailed documentation and learning resources for each feature. Take the time to explore them and learn best practices for effective usage.&lt;/p&gt;

&lt;h3&gt;
  
  
  Start with Small Steps
&lt;/h3&gt;

&lt;p&gt;Introduce these features gradually into your workflow. Start with one or two features that align with your needs and evaluate their impact. This helps with easier adoption and minimizes disruption.&lt;/p&gt;

&lt;h3&gt;
  
  
  Encourage Collaboration and Sharing
&lt;/h3&gt;

&lt;p&gt;Promote the use of &lt;strong&gt;GitHub Gists&lt;/strong&gt; and other collaboration features. Encourage developers to share code snippets, best practices, and lessons learned. This fosters collaboration, improves code quality, and boosts productivity.&lt;/p&gt;




&lt;h2&gt;
  
  
  Real-World Examples of Using Lesser-Known GitHub Features 😉
&lt;/h2&gt;




&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--finrbn7B--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rzqy408dv9wbv5st2zx4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--finrbn7B--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rzqy408dv9wbv5st2zx4.png" alt="Real-World Examples of Using Lesser-Known GitHub Features" width="800" height="374"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Let's see how developers have used these features in real-world scenarios:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Automating Continuous Integration and Deployment&lt;/strong&gt;: Using &lt;strong&gt;GitHub Actions&lt;/strong&gt; to automate building, testing, and deploying applications, resulting in faster and more reliable releases.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Showcasing Personal Projects&lt;/strong&gt;: Leveraging &lt;strong&gt;GitHub Pages&lt;/strong&gt; to create portfolios, technical blogs, or documentation sites, providing a platform to showcase their work.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Collaborating on Code Snippets&lt;/strong&gt;: Using &lt;strong&gt;GitHub Gists&lt;/strong&gt; to share code snippets, collaborate on small tasks, and receive feedback or suggestions.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Standardizing Project Structures&lt;/strong&gt;: Utilizing &lt;strong&gt;GitHub Templates&lt;/strong&gt; to define project structures, files, and guidelines, ensuring consistency across multiple projects.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Enhancing Code Security&lt;/strong&gt;: Leveraging &lt;strong&gt;GitHub Security&lt;/strong&gt; features to scan code for vulnerabilities and receive recommendations for improvement.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Soooo 🤩
&lt;/h2&gt;




&lt;p&gt;GitHub offers a range of lesser-known features that can significantly enhance development efficiency. &lt;/p&gt;

&lt;p&gt;By leveraging &lt;strong&gt;GitHub Actions&lt;/strong&gt;, &lt;strong&gt;GitHub Pages&lt;/strong&gt;, &lt;strong&gt;GitHub Gists&lt;/strong&gt;, &lt;strong&gt;GitHub Templates&lt;/strong&gt;, and &lt;strong&gt;GitHub Security&lt;/strong&gt;, developers can automate tasks, showcase projects, collaborate on code snippets, ensure project consistency, and improve code security. &lt;/p&gt;

&lt;p&gt;Beginners and experienced developers alike can benefit from exploring and utilizing these features. So go ahead, discover these hidden gems, and take your development workflow to the next level!&lt;/p&gt;




&lt;h2&gt;
  
  
  FAQs 🤓
&lt;/h2&gt;




&lt;p&gt;&lt;strong&gt;1. Can GitHub Actions be used for non-code-related tasks?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Yes, GitHub Actions can automate various tasks beyond code-related processes. For example, generating documentation, updating project boards, or sending notifications based on specific events can all be accomplished using Actions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Are GitHub Pages suitable for complex web applications?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;GitHub Pages is primarily designed for hosting static websites. While it may not be the best choice for complex web applications with server-side functionality, it serves as an excellent platform for showcasing documentation, personal portfolios, simple web projects, or static landing pages.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Can GitHub Gists be made private?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Yes, GitHub Gists can be made private. By default, Gists are public, but you have the option to make them private and visible only to you or specific collaborators. This ensures the confidentiality of sensitive code snippets or personal notes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. How can I customize GitHub Templates for my projects?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;GitHub Templates provide a starting point for new repositories. You can customize them by creating your own templates tailored to your project's specific needs. Define the desired structure, include necessary files, and enforce consistency effortlessly.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Is GitHub Security a complete solution for code security?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;While GitHub Security helps identify common vulnerabilities, it should not be considered a replacement for dedicated security tools. It's advisable to use specialized security tools in addition to GitHub Security for comprehensive code security. Follow industry best practices and consider additional security measures as required.&lt;/p&gt;




&lt;h2&gt;
  
  
  Comment and Share 😍
&lt;/h2&gt;




&lt;p&gt;What are your experiences with the lesser-known features of GitHub? &lt;/p&gt;

&lt;p&gt;Have you discovered any hidden gems that have significantly boosted your development efficiency? &lt;/p&gt;

&lt;p&gt;Share your thoughts, tips, and experiences in the comments below!&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Visual Studio Code: Unlocking Powerful Features for Efficient Development</title>
      <dc:creator>Lucia Cenetiempo</dc:creator>
      <pubDate>Thu, 29 Jun 2023 14:09:00 +0000</pubDate>
      <link>https://dev.to/luciacenetiempo/visual-studio-code-3ic2</link>
      <guid>https://dev.to/luciacenetiempo/visual-studio-code-3ic2</guid>
      <description>&lt;p&gt;Are you ready to &lt;strong&gt;take your coding experience to the next level&lt;/strong&gt;? If you're a developer, you've probably heard of &lt;strong&gt;Visual Studio Code (VS Code)&lt;/strong&gt;. But did you know that there's a whole world of &lt;strong&gt;hidden powers&lt;/strong&gt; waiting to be unleashed within this popular code editor? In this post, we'll &lt;strong&gt;dive deep&lt;/strong&gt; into the &lt;strong&gt;untapped potential&lt;/strong&gt; of Visual Studio Code, uncovering its &lt;strong&gt;secret features&lt;/strong&gt; and &lt;strong&gt;functionalities&lt;/strong&gt; that will &lt;strong&gt;supercharge your development workflow&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Intuitive Interface and Customization Options&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--XU-CMT2X--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ay78btm7ochfqjesbwk3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--XU-CMT2X--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ay78btm7ochfqjesbwk3.png" alt="Interface and Customization Options" width="800" height="443"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Visual Studio Code offers an &lt;strong&gt;intuitive and user-friendly interface&lt;/strong&gt; that makes coding a &lt;strong&gt;breeze&lt;/strong&gt;. From its &lt;strong&gt;sleek design&lt;/strong&gt; to its powerful &lt;strong&gt;customization options&lt;/strong&gt;, this code editor is designed with developers in mind. Customize your &lt;strong&gt;layout&lt;/strong&gt;, &lt;strong&gt;color themes&lt;/strong&gt;, and even &lt;strong&gt;keyboard shortcuts&lt;/strong&gt; to create a coding environment that suits your preferences and boosts your productivity.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Extensions: Expand Your Arsenal&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--RBzArcj5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6clxgurcw59hawtvq9vk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--RBzArcj5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6clxgurcw59hawtvq9vk.png" alt="Extensions: Expand Your Arsenal" width="800" height="379"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;One of the greatest strengths of Visual Studio Code lies in its &lt;strong&gt;vast library of extensions&lt;/strong&gt;. These powerful add-ons extend the functionality of the editor, allowing you to tackle various &lt;strong&gt;programming languages&lt;/strong&gt;, &lt;strong&gt;frameworks&lt;/strong&gt;, and &lt;strong&gt;tools&lt;/strong&gt;. Whether you're working with &lt;strong&gt;JavaScript&lt;/strong&gt;, &lt;strong&gt;Python&lt;/strong&gt;, or even &lt;strong&gt;Docker&lt;/strong&gt;, there's an extension to enhance your coding experience and make you more efficient. Explore the &lt;strong&gt;marketplace&lt;/strong&gt; and discover the extensions that will become your coding allies.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Effortless Debugging and Testing&lt;/strong&gt;
&lt;/h2&gt;

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

&lt;p&gt;Say goodbye to &lt;strong&gt;time-consuming debugging sessions&lt;/strong&gt;. Visual Studio Code offers a &lt;strong&gt;robust set of debugging tools&lt;/strong&gt; that streamline the process of &lt;strong&gt;finding and fixing issues&lt;/strong&gt; in your code. Set &lt;strong&gt;breakpoints&lt;/strong&gt;, &lt;strong&gt;step through your code&lt;/strong&gt;, &lt;strong&gt;inspect variables&lt;/strong&gt;, and even &lt;strong&gt;run unit tests&lt;/strong&gt; within the editor itself. With these hidden &lt;strong&gt;debugging powers&lt;/strong&gt;, you'll &lt;strong&gt;squash bugs&lt;/strong&gt; and ensure the smooth execution of your applications.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Intelligent Code Editing and Productivity Boosters&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--QZETZnAZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zo56qas9vmxtam6p1c4h.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--QZETZnAZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zo56qas9vmxtam6p1c4h.png" alt="Intelligent Code Editing" width="679" height="519"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Visual Studio Code goes beyond basic &lt;strong&gt;text editing&lt;/strong&gt;. Its &lt;strong&gt;intelligent code editing features&lt;/strong&gt;, powered by &lt;strong&gt;AI and machine learning&lt;/strong&gt;, make writing code a &lt;strong&gt;breeze&lt;/strong&gt;. Benefit from &lt;strong&gt;auto-completion&lt;/strong&gt;, &lt;strong&gt;code snippets&lt;/strong&gt;, and &lt;strong&gt;intelligent suggestions&lt;/strong&gt; that save you time and reduce errors. Discover productivity boosters like &lt;strong&gt;Git integration&lt;/strong&gt;, &lt;strong&gt;built-in terminal&lt;/strong&gt;, and powerful &lt;strong&gt;search and replace functionalities&lt;/strong&gt;. With these hidden powers, you'll code &lt;strong&gt;faster&lt;/strong&gt; and more &lt;strong&gt;efficiently&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Collaboration Made Easy&lt;/strong&gt;
&lt;/h2&gt;

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

&lt;p&gt;Collaborating with other developers has never been easier. Visual Studio Code offers seamless integration with &lt;strong&gt;version control systems&lt;/strong&gt; like &lt;strong&gt;Git&lt;/strong&gt;, allowing you to work on projects with &lt;strong&gt;teammates effortlessly&lt;/strong&gt;. Share your code, &lt;strong&gt;track changes&lt;/strong&gt;, and &lt;strong&gt;resolve conflicts&lt;/strong&gt; directly within the editor. With &lt;strong&gt;real-time collaboration&lt;/strong&gt; and &lt;strong&gt;communication extensions&lt;/strong&gt;, you can work together remotely, making teamwork a &lt;strong&gt;breeze&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Remember, the true potential of Visual Studio Code lies in exploring its hidden powers. With an &lt;strong&gt;intuitive interface&lt;/strong&gt;, a &lt;strong&gt;plethora of extensions&lt;/strong&gt;, powerful &lt;strong&gt;debugging capabilities&lt;/strong&gt;, intelligent &lt;strong&gt;code editing&lt;/strong&gt;, and seamless &lt;strong&gt;collaboration tools&lt;/strong&gt;, Visual Studio Code will become your &lt;strong&gt;trusted companion&lt;/strong&gt; in the world of coding. Embrace these hidden powers, and let your &lt;strong&gt;coding journey soar&lt;/strong&gt; to new heights. Happy coding!&lt;/p&gt;




&lt;h2&gt;
  
  
  BONUS TRACK
&lt;/h2&gt;

&lt;h2&gt;
  
  
  Top 10 Extensions for Visual Studio Code
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint"&gt;ESLint&lt;/a&gt;&lt;/strong&gt;: A popular linter for JavaScript that helps you identify and fix code errors, enforce coding styles, and improve code quality.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode"&gt;Prettier&lt;/a&gt;&lt;/strong&gt;: This extension ensures consistent code formatting across your project by automatically formatting code as you type.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens"&gt;GitLens&lt;/a&gt;&lt;/strong&gt;: Enhance your Git workflow with GitLens. It provides valuable insights into your codebase, showing line-by-line Git blame annotations, commit details, and more.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer"&gt;Live Server&lt;/a&gt;&lt;/strong&gt;: Launch a live development server with a single click. This extension reloads your web application automatically as you make changes, allowing you to see the updates in real-time.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="https://marketplace.visualstudio.com/items?itemName=formulahendry.code-runner"&gt;Code Runner&lt;/a&gt;&lt;/strong&gt;: Execute code snippets or entire files in various programming languages without leaving the editor. It supports a wide range of languages and provides a convenient way to quickly test code.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="https://marketplace.visualstudio.com/items?itemName=Zignd.html-css-class-completion"&gt;IntelliSense for CSS class names&lt;/a&gt;&lt;/strong&gt;: Get intelligent suggestions for CSS class names based on your project's stylesheets. This extension saves time and reduces errors when writing CSS code.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="https://marketplace.visualstudio.com/items?itemName=christian-kohler.path-intellisense"&gt;Path Intellisense&lt;/a&gt;&lt;/strong&gt;: Simplify file path input by providing intelligent suggestions as you type. It helps you navigate through your project's files and directories with ease.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="https://marketplace.visualstudio.com/items?itemName=humao.rest-client"&gt;REST Client&lt;/a&gt;&lt;/strong&gt;: Test and interact with RESTful APIs without leaving your editor. This extension supports sending HTTP requests, viewing responses, and saving request snippets for future use.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="https://marketplace.visualstudio.com/items?itemName=alefragnani.project-manager"&gt;Project Manager&lt;/a&gt;&lt;/strong&gt;: Easily switch between projects and manage project-specific settings with Project Manager. This extension saves you time by organizing your projects and providing quick access to them.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="https://marketplace.visualstudio.com/items?itemName=aaron-bond.better-comments"&gt;Better Comments&lt;/a&gt;&lt;/strong&gt;: Make your code comments more informative and visually appealing with Better Comments. This extension allows you to categorize and highlight comments based on their significance, making code documentation clearer.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;These are just a few of the many fantastic extensions available for Visual Studio Code. Explore the marketplace to find more extensions that cater to your specific needs and enhance your coding experience.&lt;/p&gt;

&lt;p&gt;Remember, extensions can unlock hidden powers and boost your productivity, so don't hesitate to try them out and customize your development environment to suit your preferences.&lt;/p&gt;




&lt;p&gt;Have you tried any of these extensions? Which ones are your favorites? Are there any other extensions you would recommend?&lt;br&gt;&lt;br&gt;
Share your experiences with VSCODE, insights, and favorite features in the comments below. &lt;/p&gt;

&lt;p&gt;Let's unleash the full potential of this incredible code editor together!&lt;/p&gt;

</description>
      <category>vscode</category>
    </item>
    <item>
      <title>Chrome DevTools: Beyond the Basics</title>
      <dc:creator>Lucia Cenetiempo</dc:creator>
      <pubDate>Wed, 28 Jun 2023 08:08:40 +0000</pubDate>
      <link>https://dev.to/luciacenetiempo/chrome-devtools-k2l</link>
      <guid>https://dev.to/luciacenetiempo/chrome-devtools-k2l</guid>
      <description>&lt;h1&gt;
  
  
  Chrome DevTools: Supercharge Your Web Development Skills
&lt;/h1&gt;

&lt;p&gt;Hey there, ready for the next topic?! If you've been using &lt;strong&gt;Chrome DevTools&lt;/strong&gt;, you know it's a &lt;strong&gt;lifesaver for web development&lt;/strong&gt;. But did you know that there's a whole world of &lt;strong&gt;beyond-basic features&lt;/strong&gt; waiting to be discovered? In this exciting post, we'll take a &lt;strong&gt;deep dive&lt;/strong&gt; into the &lt;strong&gt;hidden treasures&lt;/strong&gt; of Chrome DevTools. Get ready to &lt;strong&gt;level up&lt;/strong&gt; your &lt;strong&gt;debugging&lt;/strong&gt; and &lt;strong&gt;optimization&lt;/strong&gt; game like a pro!&lt;/p&gt;

&lt;h2&gt;
  
  
  Supercharged Inspections
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/cXblnKXr2BQOaYnTni/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/cXblnKXr2BQOaYnTni/giphy.gif" width="480" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When it comes to &lt;strong&gt;inspecting elements&lt;/strong&gt;, Chrome DevTools is more than meets the eye. We'll explore the &lt;strong&gt;lightning-fast shortcuts&lt;/strong&gt; like &lt;strong&gt;Ctrl+Shift+C&lt;/strong&gt; that let you dive into &lt;strong&gt;element inspection&lt;/strong&gt; in a snap. But that's just the beginning! Discover the powerful &lt;strong&gt;Ctrl+Shift+P command&lt;/strong&gt; that unlocks a whole new dimension of &lt;strong&gt;hidden commands&lt;/strong&gt;, making you a true &lt;strong&gt;coding ninja&lt;/strong&gt;. Say goodbye to spending precious time hunting for the right feature. With DevTools, you're in control!&lt;/p&gt;




&lt;h2&gt;
  
  
  Unleashing Performance Boosters
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/IwAZ6dvvvaTtdI8SD5/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/IwAZ6dvvvaTtdI8SD5/giphy.gif" width="480" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Chrome DevTools isn't just about inspecting elements; it's a &lt;strong&gt;powerhouse for optimizing your website's performance&lt;/strong&gt;. We'll show you how to harness the magic of &lt;strong&gt;in-place editing&lt;/strong&gt; to &lt;strong&gt;fine-tune&lt;/strong&gt; your code and &lt;strong&gt;eliminate bottlenecks&lt;/strong&gt;. Dive into the world of &lt;strong&gt;cache management&lt;/strong&gt; and learn how to make your website &lt;strong&gt;fly like a gazelle on roller skates&lt;/strong&gt;. With DevTools, &lt;strong&gt;slow-loading pages&lt;/strong&gt; will become a thing of the past, and your users will thank you for the &lt;strong&gt;lightning-fast experience&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  Debugging Like a Pro
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/eKDp7xvUdbCrC/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/eKDp7xvUdbCrC/giphy.gif" width="300" height="169"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Debugging&lt;/strong&gt; is an essential part of web development, and Chrome DevTools takes it to a whole new level. We'll explore &lt;strong&gt;advanced debugging techniques&lt;/strong&gt; like setting &lt;strong&gt;breakpoints&lt;/strong&gt;, &lt;strong&gt;stepping through code&lt;/strong&gt;, and leveraging the powerful &lt;strong&gt;JavaScript console&lt;/strong&gt;. Discover how to &lt;strong&gt;monitor network activity&lt;/strong&gt;, &lt;strong&gt;analyze performance&lt;/strong&gt;, and &lt;strong&gt;identify issues with ease&lt;/strong&gt;. With DevTools by your side, bugs don't stand a chance!&lt;/p&gt;




&lt;h2&gt;
  
  
  Mastering Device Emulation
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/KnrMjMUsuIs2tjdU9o/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/KnrMjMUsuIs2tjdU9o/giphy.gif" width="480" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Want to test your website's &lt;strong&gt;responsiveness&lt;/strong&gt; on different devices? Chrome DevTools has got your back. We'll guide you through the process of &lt;strong&gt;device emulation&lt;/strong&gt;, allowing you to &lt;strong&gt;preview&lt;/strong&gt; your site on various screen sizes and resolutions. You'll learn how to &lt;strong&gt;simulate touch events&lt;/strong&gt; and even &lt;strong&gt;throttle network connections&lt;/strong&gt; to see how your site performs under different conditions. With DevTools, you can ensure your site &lt;strong&gt;looks great&lt;/strong&gt; and &lt;strong&gt;functions flawlessly&lt;/strong&gt; on any device.&lt;/p&gt;




&lt;h2&gt;
  
  
  Going Beyond the Basics
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/jp7jSyjNNz2ansuOS8/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/jp7jSyjNNz2ansuOS8/giphy.gif" width="480" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Chrome DevTools is a &lt;strong&gt;treasure trove of features&lt;/strong&gt;, and we've only scratched the surface. In this final section, we'll give you a taste of even more &lt;strong&gt;advanced capabilities&lt;/strong&gt;. From &lt;strong&gt;source mapping&lt;/strong&gt; for efficient debugging to &lt;strong&gt;auditing&lt;/strong&gt; and &lt;strong&gt;optimizing your site&lt;/strong&gt; for &lt;strong&gt;accessibility&lt;/strong&gt; and &lt;strong&gt;SEO&lt;/strong&gt;, we'll empower you to take your skills to the next level. There's always something new to discover and master with Chrome DevTools.&lt;/p&gt;




&lt;h2&gt;
  
  
  Console Magic: Unleashing Hidden Commands
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/VMO6qeIbr7JRLnLTGw/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/VMO6qeIbr7JRLnLTGw/giphy.gif" width="480" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The console in Chrome DevTools is not just for logging messages; it's a powerful command center waiting to be explored. Let's uncover some &lt;strong&gt;lesser-known commands&lt;/strong&gt; that will make your development workflow smoother and more efficient.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;$()&lt;/code&gt; and &lt;code&gt;$$()&lt;/code&gt;: These handy shortcuts allow you to select elements on the page using CSS selectors. No more cumbersome &lt;code&gt;document.querySelector()&lt;/code&gt; or &lt;code&gt;document.querySelectorAll()&lt;/code&gt;. With &lt;code&gt;$()&lt;/code&gt; and &lt;code&gt;$$()&lt;/code&gt;, you can quickly grab elements and manipulate them with ease.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;$_&lt;/code&gt;: Ever needed to reference the result of the last command? Meet &lt;code&gt;$_&lt;/code&gt;, your new best friend. It holds the value of the last evaluated expression, saving you from repeating yourself.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;monitor()&lt;/code&gt;: This nifty command enables you to monitor function calls, helping you understand when and how a particular function is invoked. It's like having a detective that reveals the secrets of function execution.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;table()&lt;/code&gt;: Tired of logging arrays and objects as plain text? The &lt;code&gt;table()&lt;/code&gt; command comes to the rescue! It displays your data in a neat, interactive table format, making it easier to navigate and analyze complex structures.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;clear()&lt;/code&gt;: When the console gets cluttered with logs and errors, use &lt;code&gt;clear()&lt;/code&gt; to give it a fresh start. It's like hitting the reset button, allowing you to focus on what matters without distractions.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;$_&lt;/code&gt;: Wait, didn't we mention this one already? Yes, but it's worth mentioning again. The &lt;code&gt;$_&lt;/code&gt; command retrieves the value of the last evaluated expression, making it perfect for quick calculations or reusing a result in subsequent commands.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;dir()&lt;/code&gt;: Want to explore an object's properties and methods? Use &lt;code&gt;dir()&lt;/code&gt; to get a handy interactive list of all the available members. It's like peeking into the object's secrets.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;copy()&lt;/code&gt;: Need to copy text from the console? The &lt;code&gt;copy()&lt;/code&gt; command is here to save the day. Simply pass the text you want to copy as an argument, and it will be ready to paste elsewhere.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;With these powerful but often overlooked commands, you'll become the master of the console. Whether it's selecting elements, monitoring function calls, or exploring objects, these tools will boost your productivity and take your debugging skills to new heights.&lt;/p&gt;




&lt;p&gt;&lt;a href="https://i.giphy.com/media/t2eBr71ACeDC0/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/t2eBr71ACeDC0/giphy.gif" width="320" height="180"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Congratulations! You've just unlocked a &lt;strong&gt;treasure trove of hidden console commands&lt;/strong&gt; in Chrome DevTools. From &lt;strong&gt;element selection&lt;/strong&gt; to &lt;strong&gt;function monitoring&lt;/strong&gt; and &lt;strong&gt;data visualization&lt;/strong&gt;, these &lt;strong&gt;lesser-known features&lt;/strong&gt; will supercharge your development workflow. So dive into the console, experiment with these commands, and let them be your trusty companions on your coding adventures. Happy console hacking!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Leave a Comment and Share Your Thoughts!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I hope you found this post on Chrome DevTools and its powerful features helpful! Now it's your turn to join the conversation. I would love to hear your thoughts, experiences, and any tips you have regarding Chrome DevTools or web development in general. Don't hesitate to leave a comment below and share your insights. Let's learn and grow together!&lt;/p&gt;

&lt;p&gt;Looking forward to reading your comments!&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Unleash the Developer Tools Magic: Unlocking Top-Secret Hacks!</title>
      <dc:creator>Lucia Cenetiempo</dc:creator>
      <pubDate>Tue, 27 Jun 2023 09:17:41 +0000</pubDate>
      <link>https://dev.to/luciacenetiempo/unleash-the-developer-tools-magic-unlocking-top-secret-hacks-2g7o</link>
      <guid>https://dev.to/luciacenetiempo/unleash-the-developer-tools-magic-unlocking-top-secret-hacks-2g7o</guid>
      <description>&lt;h2&gt;
  
  
  🤯 SERIES ALERT!
&lt;/h2&gt;

&lt;p&gt;Hey there, fellow devs! So, we all know that developer tools are our trusty sidekicks, but did you know they have some &lt;strong&gt;mind-blowing secret features&lt;/strong&gt; that can take your coding game to the next level? Buckle up and get ready to uncover the hidden treasures of the most popular developer tools in this &lt;strong&gt;wild ride of an article&lt;/strong&gt;!&lt;/p&gt;

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

&lt;h3&gt;
  
  
  Chrome DevTools: Beyond the Basics
&lt;/h3&gt;

&lt;p&gt;Alright, let's talk Chrome DevTools, the superhero of web developers. But hold on tight, because we're about to go beyond the usual stuff. You know those moments when you need to inspect an element real quick? Well, get ready to do it at the speed of light with the &lt;strong&gt;Ctrl+Shift+C shortcut&lt;/strong&gt;. And that's not all! Want to access hidden commands like a coding ninja? Just hit &lt;strong&gt;Ctrl+Shift+P&lt;/strong&gt;, and the DevTools universe is at your command. Oh, and let's not forget the mind-blowing power of &lt;strong&gt;in-place editing and cache management tricks&lt;/strong&gt; that will make your website perform like a gazelle on roller skates. Say goodbye to sluggishness and hello to &lt;strong&gt;lightning-fast speed&lt;/strong&gt;!&lt;/p&gt;

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

&lt;h3&gt;
  
  
  Visual Studio Code: Unleashing its Hidden Powers
&lt;/h3&gt;

&lt;p&gt;Visual Studio Code, our trusty coding buddy, has some seriously cool tricks up its sleeve. Get ready to unlock the true power of this coding wizard. First up, we have essential extensions like &lt;strong&gt;Prettier&lt;/strong&gt; and &lt;strong&gt;ESLint&lt;/strong&gt;. These little beauties will automatically format and lint your code, making it cleaner than a freshly washed car. And who doesn't love customizing things? With Visual Studio Code, you can create your own commands tailored to your coding style and preferences. Need to debug like a pro? No problemo! This powerhouse has advanced debugging and collaboration tools that will make you feel like a coding superhero. Prepare to be amazed!&lt;/p&gt;

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

&lt;h3&gt;
  
  
  GitHub: Boosting Efficiency with Lesser-Known Features
&lt;/h3&gt;

&lt;p&gt;Ah, Git, the lifeblood of version control. But did you know there's more to it than meets the eye? Get ready to uncover the secret arsenal of Git. Let's start with the &lt;strong&gt;rebasing technique&lt;/strong&gt;. It's like a magical dance that streamlines your branching game and keeps your commits tidy. And hey, ever wished for a shortcut to your frequently used commands? Say hello to &lt;strong&gt;custom aliases&lt;/strong&gt;! They'll save you time and make you feel like a Git genius. Oh, and stash... it's not just for hiding your snacks. Use it to temporarily save your changes without committing them, like a secret vault for your code. Git, you sneaky genius, you!&lt;/p&gt;

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

&lt;h3&gt;
  
  
  Browser Developer Tools: Taking Debugging to the Next Level
&lt;/h3&gt;

&lt;p&gt;We all love browser developer tools, but have you tapped into their full potential? Prepare to have your mind blown. &lt;strong&gt;DOM inspection&lt;/strong&gt; is not just about clicking around anymore. We're talking about becoming a DOM detective, with powers to uncover hidden elements and troubleshoot layout issues like a pro. &lt;strong&gt;Performance analysis tools&lt;/strong&gt;? Oh yeah, they're like your personal CSI team, helping you identify bottlenecks and optimize your code for ultimate speed. And let's not forget about the &lt;strong&gt;network panel&lt;/strong&gt;, where you can intercept requests, analyze responses, and optimize your app's performance. These hidden gems will elevate your code quality and make your users jump with joy. Say goodbye to pesky bugs and hello to smooth sailing!&lt;/p&gt;

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

&lt;h3&gt;
  
  
  Package Managers: Hidden Tricks for Effortless Dependency Management
&lt;/h3&gt;

&lt;p&gt;Let's talk package managers like npm or Yarn. They've got secrets that will make dependency management a breeze. Imagine a world where you can lock down specific versions of packages to ensure stability. Well, it's not a dream; it's a secret power of package managers. And compatibility issues? Not on your watch! Dive into advanced options and conquer them like a boss. But that's not all! Want to speed up your package downloads? Create a custom registry and enjoy the blazing-fast delivery of those lovely dependencies. Package management has never been so delightful!&lt;/p&gt;

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

&lt;h3&gt;
  
  
  IDEs and Editors: Hidden Shortcuts for Lightning-Fast Coding
&lt;/h3&gt;

&lt;p&gt;Hold on to your coding hats because we're diving into IDEs and editors like VScode, IntelliJ IDEA, Sublime Text, or Emacs. These babies are packed with shortcuts that will make your fingers fly across the keyboard. Need to navigate through code like a pro? These shortcuts will teleport you to the right places, faster than you can say &lt;strong&gt;"code ninja."&lt;/strong&gt; File management? Piece of cake! You'll be creating, moving, and deleting files like a coding wizard. And let's not forget about refactoring. These shortcuts will help you restructure your code with lightning speed. The best part? You can customize these shortcuts to suit your coding style, turning you into a &lt;strong&gt;coding superhero&lt;/strong&gt;.&lt;/p&gt;

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

&lt;h3&gt;
  
  
  Command Line Tools: Unveiling Efficiency Boosters
&lt;/h3&gt;

&lt;p&gt;Command line tools like grep, sed, awk, and curl are the secret sauce to conquer common coding tasks like a champ. Need to search for specific text patterns in files? That's where grep comes to the rescue, making you the &lt;strong&gt;Sherlock Holmes of code&lt;/strong&gt;. And hey, ever wanted to perform powerful text transformations? Say hello to sed and awk, the dynamic duo of text manipulation. Need to make HTTP requests and fetch data like a pro? Curl is your go-to tool, making APIs bow to your commands. With these efficiency boosters in your toolkit, you'll automate repetitive tasks and unleash the true power of the command line.&lt;/p&gt;

&lt;p&gt;Whoa, we've just scratched the surface of the mind-blowing secrets hidden in developer tools. I hope this &lt;strong&gt;wild and fun-filled article&lt;/strong&gt; has ignited your curiosity to explore and unleash the full potential of these amazing resources. Remember, these secret features will make you a &lt;strong&gt;coding rockstar&lt;/strong&gt;, delivering better code in less time. So keep exploring, keep hacking, and let the developer tools magic guide you on your coding adventures... but above all, what are your hacking tools?? &lt;strong&gt;Tell me about it&lt;/strong&gt;. I'm ready to expand mine 😁😁&lt;/p&gt;

&lt;h4&gt;
  
  
  ⚡️ Hidden treasures of developer tools ⚡️ Secret features of popular tools ⚡️ Unleashing the power of developer tools ⚡️ Mastering the secrets of coding tools ⚡️ Unveiling hidden tricks of developer tools
&lt;/h4&gt;

</description>
      <category>webdev</category>
      <category>development</category>
      <category>productivity</category>
      <category>discuss</category>
    </item>
    <item>
      <title>Make your life as frontend developer easier</title>
      <dc:creator>Lucia Cenetiempo</dc:creator>
      <pubDate>Mon, 20 Jun 2022 12:45:47 +0000</pubDate>
      <link>https://dev.to/luciacenetiempo/make-your-life-as-frontend-developer-easier-46op</link>
      <guid>https://dev.to/luciacenetiempo/make-your-life-as-frontend-developer-easier-46op</guid>
      <description>&lt;h2&gt;
  
  
  List of JS snippets useful on a daily basis
&lt;/h2&gt;

&lt;h3&gt;
  
  
  One liner snippets:
&lt;/h3&gt;

&lt;p&gt;here is a list of my favorite javascript snippet, most of them are one-line code but solve a lot of tasks!&lt;/p&gt;




&lt;h3&gt;
  
  
  Javascript: Copy text to clipboard
&lt;/h3&gt;

&lt;p&gt;If you work on an e-commerce website sooner or later you need to create a "copy promo code" component. It could be a popup, a push notification, or a simple text on your website. With this one line of code, you rocket it!&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;copyToClipboard&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt;  &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;text&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nb"&gt;navigator&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;clipboard&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;writeText&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;text&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="c1"&gt;// usage example&lt;/span&gt;
&lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&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;selectionchange&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="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nx"&gt;copyToClipboard&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;window&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;getSelection&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="nx"&gt;toString&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;Pay attention:&lt;/strong&gt; &lt;br&gt;
my usage example could be dangerous for performance. Use the function with a specific event and not for a recursive one.&lt;/p&gt;


&lt;h3&gt;
  
  
  Javascript: Is focused
&lt;/h3&gt;

&lt;p&gt;In a complex application or website it can be helpful to know if an element is in focus.&lt;br&gt;
For example, you may want to know if your login popup is active and in focus to perform some actions on it.&lt;/p&gt;

&lt;p&gt;Here's an easy way to do it!&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;isOnFocus&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt;  &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;el&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;el&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="nx"&gt;activeElement&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="c1"&gt;// usage example&lt;/span&gt;
&lt;span class="nx"&gt;isOnFocus&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&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;#popup&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;h3&gt;
  
  
  Javascript: Scroll an element into view
&lt;/h3&gt;

&lt;p&gt;Do you need to create a smooth anchor for your website? You can use this one-line function to put your element smoothly on top.&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;scrollToTop&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt;  &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;el&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;el&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;scrollIntoView&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;behavior&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;smooth&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;block&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;start&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;});&lt;/span&gt;

&lt;span class="c1"&gt;// usage example&lt;/span&gt;
&lt;span class="nx"&gt;scrollToTop&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&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;#mySection&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;In the same way but changing only the "block" you can anchor your element to the bottom!&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;scrollToBottom&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt;  &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;el&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;el&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;scrollIntoView&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;behavior&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;smooth&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;block&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;end&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;});&lt;/span&gt;

&lt;span class="c1"&gt;// usage example&lt;/span&gt;
&lt;span class="nx"&gt;scrollToBottom&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&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;#mySection&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;h3&gt;
  
  
  Javascript: Detect device type
&lt;/h3&gt;

&lt;p&gt;Do you want to know if your user is browsing your website from a mobile or desktop device? Check the navigator agent in this way.&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;detectDevice&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="sr"&gt;/Android|webOS|iPhone|iPod|BlackBerry|IEMobile|Opera Mini/i&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;test&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
  &lt;span class="nb"&gt;navigator&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;userAgent&lt;/span&gt;
&lt;span class="p"&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;Mobile&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;Desktop&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;

&lt;span class="c1"&gt;// usage example&lt;/span&gt;
&lt;span class="nx"&gt;detectDevice&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  Javascript: Detect dark mode
&lt;/h3&gt;

&lt;p&gt;Check if the user's preferred color scheme is in dark mode to offer them the perfect version of your website for them with this one line feature.&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;isDarkMode&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="nb"&gt;window&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;matchMedia&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nb"&gt;window&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;matchMedia&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;(prefers-color-scheme: dark)&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nx"&gt;matches&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="c1"&gt;// usage example&lt;/span&gt;
&lt;span class="nx"&gt;isDarkMode&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Do you want to create a dark mode for your site?
&lt;/h4&gt;

&lt;p&gt;look at &lt;a href="https://github.com/luciacenetiempo/DarkThemeToggle"&gt;this repository&lt;/a&gt; where I create a dark mode toggle with very few lines of code: link), but first you might need to know if the user&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;a href="https://github.com/luciacenetiempo/javascript-made-simple"&gt;Star these snippets on github to keep them handy&lt;/a&gt;
&lt;/h3&gt;

&lt;h3&gt;
  
  
  What are the snippets you use every day in your work?
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Share them with me below!&lt;/strong&gt; &lt;/p&gt;

&lt;h4&gt;
  
  
  REMEMBER: Sharing is caring 😁
&lt;/h4&gt;

</description>
    </item>
    <item>
      <title>Why are CSS frameworks so used?</title>
      <dc:creator>Lucia Cenetiempo</dc:creator>
      <pubDate>Wed, 08 Jun 2022 15:29:17 +0000</pubDate>
      <link>https://dev.to/luciacenetiempo/why-are-css-frameworks-so-used-3d30</link>
      <guid>https://dev.to/luciacenetiempo/why-are-css-frameworks-so-used-3d30</guid>
      <description>&lt;h2&gt;
  
  
  Why are CSS frameworks so used?
&lt;/h2&gt;

&lt;p&gt;I mean, &lt;strong&gt;why&lt;/strong&gt;*??? 🤣&lt;/p&gt;

&lt;p&gt;I don't particularly love them, they give me the idea of &lt;em&gt;forcing myself&lt;/em&gt; into useless schemes but I am open-minded 😬 and therefore &lt;strong&gt;I would like to know which of you uses one of it&lt;/strong&gt; and what are the actual benefits, obviously in addition to those we all know.&lt;/p&gt;

&lt;p&gt;Here are some statistics on the use of CSS frameworks:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fabgtmu4bn9k28ej3kjxt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fabgtmu4bn9k28ej3kjxt.png" alt="Usage Statistics and Market Share of CSS Frameworks for Websites June 2022"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As many as &lt;strong&gt;20% of all websites&lt;/strong&gt; (ALL) use a framework. 😮 &lt;strong&gt;80% of these use bootstap.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Source:&lt;/em&gt; &lt;a href="https://w3techs.com/technologies/overview/css_framework" rel="noopener noreferrer"&gt;https://w3techs.com/technologies/overview/css_framework&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Okay, come on, it's your turn now.
&lt;/h2&gt;

&lt;h3&gt;
  
  
  let me change my mind. 😎
&lt;/h3&gt;

&lt;p&gt;Why you usually use a CSS framework?&lt;br&gt;
What advantage do you find in using a CSS framework? &lt;br&gt;
And which one you prefer?&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>webdev</category>
      <category>css</category>
    </item>
    <item>
      <title>5 websites to start growing your Frontend Developer skills!</title>
      <dc:creator>Lucia Cenetiempo</dc:creator>
      <pubDate>Tue, 31 May 2022 14:10:20 +0000</pubDate>
      <link>https://dev.to/luciacenetiempo/5-websites-to-start-growing-your-frontend-developer-skills-1mli</link>
      <guid>https://dev.to/luciacenetiempo/5-websites-to-start-growing-your-frontend-developer-skills-1mli</guid>
      <description>&lt;p&gt;One of the most often asked questions a novice developer is definitely &lt;em&gt;"where do I start?"&lt;/em&gt; 😦&lt;/p&gt;

&lt;p&gt;I have also asked myself this question a lot of times.&lt;/p&gt;

&lt;p&gt;The best way I could learn was to &lt;strong&gt;get my hands on it&lt;/strong&gt;. Practice, practice and more practice. &lt;/p&gt;

&lt;p&gt;So here's a &lt;strong&gt;short list of websites&lt;/strong&gt; I've used in the past (and still use) to practice and improve my s*&lt;em&gt;kills as a frontend developer&lt;/em&gt;*. 💪💪💪&lt;/p&gt;




&lt;h2&gt;
  
  
  FreeCodeCamp
&lt;/h2&gt;

&lt;h5&gt;
  
  
  url: &lt;a href="https://freecodecamp.org"&gt;freecodecamp.org&lt;/a&gt;
&lt;/h5&gt;

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

&lt;p&gt;One of the &lt;strong&gt;best websites for beginners&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;You can follow the path that is most interesting for you based on what you would like to know.&lt;/p&gt;

&lt;p&gt;You will find lots of useful resources, precise and easy to understand explanations for each topic.&lt;/p&gt;

&lt;p&gt;You will learn using a &lt;em&gt;&lt;strong&gt;"Project Oriented"&lt;/strong&gt;&lt;/em&gt; approach and you can get many free certifications. 🤩&lt;/p&gt;




&lt;h2&gt;
  
  
  Javascript30
&lt;/h2&gt;

&lt;h5&gt;
  
  
  url: &lt;a href="https://javascript30.com"&gt;javascript30.com&lt;/a&gt;
&lt;/h5&gt;

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

&lt;p&gt;As mentioned, the best way to learn is to create. 💻&lt;/p&gt;

&lt;p&gt;On this site you will find &lt;strong&gt;&lt;em&gt;30 projects&lt;/em&gt;&lt;/strong&gt; (one per day) that will help you build your portfolio with &lt;strong&gt;Vanilla Javascript.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You will be guided step by step following the videos by a great instructor and you will be able to improve your &lt;strong&gt;javascript skills&lt;/strong&gt;. 😎&lt;/p&gt;




&lt;h2&gt;
  
  
  CSS Battle
&lt;/h2&gt;

&lt;h5&gt;
  
  
  url: &lt;a href="https://cssbattle.dev/"&gt;cssbattle.dev&lt;/a&gt;
&lt;/h5&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--kr2EFNVS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/65s9ca7mgr1glzqsnrvy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--kr2EFNVS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/65s9ca7mgr1glzqsnrvy.png" alt="CSS Battle Screenshot" width="800" height="539"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Another way to learn that it always works with me is to have fun and on &lt;strong&gt;&lt;em&gt;CSSBattle&lt;/em&gt;&lt;/strong&gt; you can really do it 😁&lt;/p&gt;

&lt;p&gt;You will have lots of really &lt;strong&gt;fun challenges to complete&lt;/strong&gt;, take you to challenge friends and colleagues and in the meantime &lt;strong&gt;learn new css techniques&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  Frontend Mentor
&lt;/h2&gt;

&lt;h5&gt;
  
  
  url: &lt;a href="https://frontendmentor.io"&gt;frontendmentor.io&lt;/a&gt;
&lt;/h5&gt;

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

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Frontend Mentor&lt;/em&gt;&lt;/strong&gt; is a website suitable for all skill levels. 🤯&lt;/p&gt;

&lt;p&gt;Through the many challenges that the site offers you will learn &lt;strong&gt;Javascript, CSS and HTML&lt;/strong&gt; with a practical approach and creating real projects that will help you build your portfolio with &lt;strong&gt;“real-life”&lt;/strong&gt; cases.&lt;/p&gt;

&lt;p&gt;...and last but not least...&lt;/p&gt;




&lt;h2&gt;
  
  
  The Odin Project
&lt;/h2&gt;

&lt;h5&gt;
  
  
  url: &lt;a href="https://theodinproject.com"&gt;theodinproject.com&lt;/a&gt;
&lt;/h5&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--1b09RmN_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fvakfrj9lrw2wqm718hx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--1b09RmN_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fvakfrj9lrw2wqm718hx.png" alt="The Odin Project Screenshot" width="800" height="539"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The Odin Project is the website that will push you to follow a path more relative to &lt;strong&gt;FullStack Development&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;You will find many &lt;em&gt;"Curriculum"&lt;/em&gt; to follow step by step and which cover everything in a realistic way. 🤠&lt;/p&gt;

&lt;p&gt;You will also be supported by a large community ready to help you on your journey.&lt;/p&gt;




&lt;h3&gt;
  
  
  Ready to get back in the game?
&lt;/h3&gt;

&lt;p&gt;What other websites do you use to improve your &lt;strong&gt;web developer experience&lt;/strong&gt;?&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>beginners</category>
      <category>tutorial</category>
      <category>discuss</category>
    </item>
    <item>
      <title>It's Monday again</title>
      <dc:creator>Lucia Cenetiempo</dc:creator>
      <pubDate>Mon, 30 May 2022 17:48:11 +0000</pubDate>
      <link>https://dev.to/luciacenetiempo/its-monday-again-146</link>
      <guid>https://dev.to/luciacenetiempo/its-monday-again-146</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--T7rgCPHl--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/csf7yysv2kn84rpjuasv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--T7rgCPHl--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/csf7yysv2kn84rpjuasv.png" alt="It's Monday again" width="800" height="870"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>meme</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Dark Theme Toggle - How to create a dark mode switch in a few lines of JS + CSS</title>
      <dc:creator>Lucia Cenetiempo</dc:creator>
      <pubDate>Mon, 30 May 2022 17:11:42 +0000</pubDate>
      <link>https://dev.to/luciacenetiempo/dark-theme-toggle-56p9</link>
      <guid>https://dev.to/luciacenetiempo/dark-theme-toggle-56p9</guid>
      <description>&lt;p&gt;Switch to dark theme in a couple of lines of &lt;strong&gt;Javascript + CSS&lt;/strong&gt; 🤯&lt;/p&gt;

&lt;p&gt;The purpose of this project is to create a toggle button to switch the theme of your website in a few lines of css and javascript code.&lt;/p&gt;

&lt;p&gt;Basically we have this file structure:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--IjBycwlr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vff89415vnva72c65r70.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--IjBycwlr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vff89415vnva72c65r70.png" alt="Folder structure for Dark Theme Toggle" width="524" height="176"&gt;&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;In the html file we create a button that calls on click a function &lt;strong&gt;toggleTheme()&lt;/strong&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;button&lt;/span&gt; &lt;span class="na"&gt;onclick=&lt;/span&gt;&lt;span class="s"&gt;"toggleTheme()"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;CHANGE ME&lt;span class="nt"&gt;&amp;lt;/button&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Javascript
&lt;/h2&gt;

&lt;p&gt;In javascript instead we manage the switch, first of all let's set the body and the default mode:&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;body&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="nx"&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;body&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;defaultTheme&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;light&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This will be used to define the mode chosen by us the first time the user arrives on our page.&lt;br&gt;
Moving on, let's create the function &lt;strong&gt;toggleTheme()&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="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;toggleTheme&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="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;activeTheme&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;localStorage&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;getItem&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;theme&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
  &lt;span class="nx"&gt;activeTheme&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;light&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="p"&gt;?&lt;/span&gt; &lt;span class="nx"&gt;setTheme&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;dark&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;setTheme&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;light&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;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;this is the core of our project, as you can see there is an &lt;strong&gt;activeTheme&lt;/strong&gt; control variable that checks if a preference has been saved in the user's localStorage, on the basis of the value that our localStorage will provide us, we set the opposite value.&lt;/p&gt;

&lt;p&gt;So if &lt;strong&gt;localStorage.getItem('theme')&lt;/strong&gt; has the value &lt;strong&gt;'light'&lt;/strong&gt; we will set &lt;strong&gt;'dark'&lt;/strong&gt;  as parameter for &lt;strong&gt;setTheme()&lt;/strong&gt; function to change the mode.&lt;/p&gt;

&lt;p&gt;So what does &lt;strong&gt;setTheme()&lt;/strong&gt; do?&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;setTheme&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;theme&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;localStorage&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;setItem&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;theme&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;theme&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;setAttribute&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;data-theme&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;theme&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;In this function we do only two things:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;save the new selected mode in our user's localStorage.&lt;/li&gt;
&lt;li&gt;add to our body tag the data-theme that will manage the correct css&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;and to complete our plugin we launch the function that takes care of setting the default mode at startup:&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;checkDefaultTheme&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="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;savedTheme&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;localStorage&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;getItem&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;theme&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
  &lt;span class="nx"&gt;savedTheme&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;setAttribute&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;data-theme&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;savedTheme&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;setTheme&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;defaultTheme&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nx"&gt;checkDefaultTheme&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;this function starts as soon as the user arrives on the page, then we check if he is a returning user and therefore has already chosen his preferred mode, if it is not present in the local storage we proceed with setting the default mode.&lt;/p&gt;

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

&lt;p&gt;Let's move to the CSS&lt;br&gt;
we need very few lines of css because we will use variables.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nd"&gt;:root&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="py"&gt;--main-bg&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="no"&gt;white&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="py"&gt;--main-txt&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="no"&gt;black&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="py"&gt;--button-bg&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="no"&gt;black&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="py"&gt;--button-txt&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="no"&gt;white&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;data-theme&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;"dark"&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="py"&gt;--main-bg&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="no"&gt;black&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="py"&gt;--main-txt&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="no"&gt;white&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="py"&gt;--button-bg&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="no"&gt;white&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="py"&gt;--button-txt&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="no"&gt;black&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="nt"&gt;body&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;background-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;var&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;--main-bg&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="nl"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;var&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;--main-txt&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;in the &lt;strong&gt;root&lt;/strong&gt; we define the colors that we will use for the default mode (in our case the light) then we define the dark mode with &lt;strong&gt;[data-theme = "dark"]&lt;/strong&gt; in which we will change the colors to the same root variables.&lt;/p&gt;

&lt;p&gt;And so the magic begins... our body will work on the colors set in the variables and depending on the [data-theme] it will invert them&lt;/p&gt;

&lt;p&gt;❤️❤️❤️ feel free to use this snippet, you can find the entire project &lt;a href="https://github.com/luciacenetiempo/DarkThemeToggle"&gt;here on github&lt;/a&gt; aaaand, if you liked it, &lt;strong&gt;star&lt;/strong&gt; it on github&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>css</category>
      <category>snippets</category>
      <category>tutorial</category>
    </item>
  </channel>
</rss>
