<?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: James Jeremy Foong</title>
    <description>The latest articles on DEV Community by James Jeremy Foong (@jamesjf7).</description>
    <link>https://dev.to/jamesjf7</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%2F930804%2F89c8e072-f191-4c05-aa6d-085a6bbc1b12.jpeg</url>
      <title>DEV Community: James Jeremy Foong</title>
      <link>https://dev.to/jamesjf7</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/jamesjf7"/>
    <language>en</language>
    <item>
      <title>A Guide to Setting Up Zsh: Improving Your Terminal Experience</title>
      <dc:creator>James Jeremy Foong</dc:creator>
      <pubDate>Mon, 28 Oct 2024 10:36:29 +0000</pubDate>
      <link>https://dev.to/jamesjf7/a-guide-to-setting-up-zsh-improving-your-terminal-experience-3725</link>
      <guid>https://dev.to/jamesjf7/a-guide-to-setting-up-zsh-improving-your-terminal-experience-3725</guid>
      <description>&lt;p&gt;Hello. This is a guide I've put together mainly as a reference for myself when setting up a new Ubuntu device. I often forget the exact steps, so having this written down helps me replicate my preferred terminal setup. I'm sharing it in case others find it useful too. This guide covers setting up Zsh with some add-ons that I find helpful.&lt;/p&gt;

&lt;h2&gt;
  
  
  What We're Setting Up
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Zsh&lt;/strong&gt;: An improved version of the standard command-line interface.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Oh My Zsh&lt;/strong&gt;: A collection of helpful features for Zsh.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Powerlevel10k&lt;/strong&gt;: A theme that makes your command line look... nice.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Autosuggestions&lt;/strong&gt;: A feature that suggests commands as you type.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Step 1: Install Zsh
&lt;/h2&gt;

&lt;p&gt;First, we need to install Zsh. The process is usually straightforward, but it might vary depending on your operating system.&lt;/p&gt;

&lt;h3&gt;
  
  
  For Mac users:
&lt;/h3&gt;

&lt;p&gt;If you're using a recent version of macOS, Zsh is already installed. You can move on to Step 2.&lt;/p&gt;

&lt;h3&gt;
  
  
  For Ubuntu or other Debian-based Linux:
&lt;/h3&gt;

&lt;p&gt;Open your terminal and type these commands:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt update
&lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install &lt;/span&gt;zsh
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You'll need to enter your password and confirm the installation.&lt;/p&gt;

&lt;h3&gt;
  
  
  For other operating systems:
&lt;/h3&gt;

&lt;p&gt;You might need to look up specific instructions for your system. Try searching for "How to install Zsh on [Your Operating System]".&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2: Install Oh My Zsh
&lt;/h2&gt;

&lt;p&gt;Now that we have Zsh, let's add Oh My Zsh. Copy and paste this command into your terminal:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;sh &lt;span class="nt"&gt;-c&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="si"&gt;$(&lt;/span&gt;curl &lt;span class="nt"&gt;-fsSL&lt;/span&gt; https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh&lt;span class="si"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This command downloads and runs the Oh My Zsh installer. Just follow any prompts that appear.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 3: Install the Powerlevel10k Theme
&lt;/h2&gt;

&lt;p&gt;Powerlevel10k will change how your terminal looks. Here's how to set it up:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Use this command to download Powerlevel10k:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone &lt;span class="nt"&gt;--depth&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;1 https://github.com/romkatv/powerlevel10k.git &lt;span class="k"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ZSH_CUSTOM&lt;/span&gt;&lt;span class="k"&gt;:-&lt;/span&gt;&lt;span class="nv"&gt;$HOME&lt;/span&gt;&lt;span class="p"&gt;/.oh-my-zsh/custom&lt;/span&gt;&lt;span class="k"&gt;}&lt;/span&gt;/themes/powerlevel10k
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;We need to edit a file called &lt;code&gt;.zshrc&lt;/code&gt;. Open it with this command:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;nano ~/.zshrc
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Find the line that starts with &lt;code&gt;ZSH_THEME&lt;/code&gt;. Change it to:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;ZSH_THEME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"powerlevel10k/powerlevel10k"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;To save and exit, press Ctrl+X, then Y, then Enter.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Step 4: Add Autosuggestions
&lt;/h2&gt;

&lt;p&gt;Autosuggestions can help you type commands faster. Here's how to add this feature:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Run this command to download the autosuggestions plugin:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/zsh-users/zsh-autosuggestions &lt;span class="k"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ZSH_CUSTOM&lt;/span&gt;&lt;span class="k"&gt;:-&lt;/span&gt;&lt;span class="p"&gt;~/.oh-my-zsh/custom&lt;/span&gt;&lt;span class="k"&gt;}&lt;/span&gt;/plugins/zsh-autosuggestions
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;We need to edit the &lt;code&gt;.zshrc&lt;/code&gt; file again:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;nano ~/.zshrc
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Find the line that starts with &lt;code&gt;plugins=&lt;/code&gt;. Add &lt;code&gt;zsh-autosuggestions&lt;/code&gt; to the list. It should look something like this:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;plugins&lt;/span&gt;&lt;span class="o"&gt;=(&lt;/span&gt;git zsh-autosuggestions&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Save and exit (Ctrl+X, Y, Enter).&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Step 5: Set Up Powerlevel10k
&lt;/h2&gt;

&lt;p&gt;Now we'll customize how your terminal looks.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Close your terminal completely and open a new one.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;You should see a setup wizard for Powerlevel10k. If you don't, type &lt;code&gt;p10k configure&lt;/code&gt; and press Enter.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Follow the prompts to choose how you want your terminal to look. You can always change this later by running &lt;code&gt;p10k configure&lt;/code&gt; again.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Step 6: Using Your New Setup
&lt;/h2&gt;

&lt;p&gt;That's it. You've set up a more advanced terminal. Here are some things to note:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;To use autosuggestions, start typing a command you've used before. You should see a faded suggestion appear. Press the right arrow key to accept it.&lt;/li&gt;
&lt;li&gt;You can explore more Oh My Zsh plugins on the &lt;a href="https://github.com/ohmyzsh/ohmyzsh/wiki/Plugins" rel="noopener noreferrer"&gt;official wiki&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;If something doesn't seem right, try closing your terminal and opening a new one.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It's okay if you don't understand everything right away. You'll get more comfortable with it as you use it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Example .zshrc File
&lt;/h2&gt;

&lt;p&gt;After setting everything up, your &lt;code&gt;.zshrc&lt;/code&gt; file will contain all the configurations we've discussed. I've put my personal &lt;code&gt;.zshrc&lt;/code&gt; file on GitHub if you want to look at it:&lt;/p&gt;

&lt;p&gt;[Link to your GitHub repository with the .zshrc file]&lt;/p&gt;

&lt;p&gt;Here's a brief explanation of what you might see in this file:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Oh My Zsh Path&lt;/strong&gt;:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   &lt;span class="nb"&gt;export &lt;/span&gt;&lt;span class="nv"&gt;ZSH&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="nv"&gt;$HOME&lt;/span&gt;&lt;span class="s2"&gt;/.oh-my-zsh"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Theme Setting&lt;/strong&gt;:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   &lt;span class="nv"&gt;ZSH_THEME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"powerlevel10k/powerlevel10k"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Plugins&lt;/strong&gt;:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   &lt;span class="nv"&gt;plugins&lt;/span&gt;&lt;span class="o"&gt;=(&lt;/span&gt;git zsh-autosuggestions&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Oh My Zsh Source&lt;/strong&gt;:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   &lt;span class="nb"&gt;source&lt;/span&gt; &lt;span class="nv"&gt;$ZSH&lt;/span&gt;/oh-my-zsh.sh
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Powerlevel10k Customizations&lt;/strong&gt;: Lines starting with &lt;code&gt;POWERLEVEL9K_&lt;/code&gt; or &lt;code&gt;POWERLEVEL10K_&lt;/code&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Custom Aliases&lt;/strong&gt;: Lines starting with &lt;code&gt;alias&lt;/code&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;You can look at my &lt;code&gt;.zshrc&lt;/code&gt; file &lt;a href="https://gist.github.com/jamesjf7/3ab4f96fb7b2db74b4b6f2bc6e9a3d04" rel="noopener noreferrer"&gt;here&lt;/a&gt; for ideas, but remember that your file should be set up for your own needs and preferences.&lt;/p&gt;

&lt;p&gt;If you make changes to your &lt;code&gt;.zshrc&lt;/code&gt; file, you'll need to either restart your terminal or run &lt;code&gt;source ~/.zshrc&lt;/code&gt; for the changes to take effect.&lt;/p&gt;

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

&lt;p&gt;Now we've set up a more advanced terminal environment. With Zsh, Oh My Zsh, Powerlevel10k, and autosuggestions. Feel free to experiment with your configuration as you become more comfortable with it. I hope you find this setup helpful for your work.&lt;/p&gt;

</description>
      <category>terminal</category>
      <category>cli</category>
      <category>zsh</category>
      <category>omz</category>
    </item>
    <item>
      <title>Creating a Custom 404 Not Found Page in Next.js 14</title>
      <dc:creator>James Jeremy Foong</dc:creator>
      <pubDate>Tue, 10 Sep 2024 15:43:51 +0000</pubDate>
      <link>https://dev.to/jamesjf7/creating-a-custom-404-not-found-page-in-nextjs-14-322h</link>
      <guid>https://dev.to/jamesjf7/creating-a-custom-404-not-found-page-in-nextjs-14-322h</guid>
      <description>&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv2kqbdnlbbk51j3ttd5b.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv2kqbdnlbbk51j3ttd5b.png" alt="Image description" width="431" height="287"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Next.js 14 provides an easy way to create custom 404 Not Found pages for your web application. In this blog post, we'll create and customize a 404 page to enhance your user experience.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Create a Custom 404 Page?
&lt;/h2&gt;

&lt;p&gt;A custom 404 page allows you to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Maintain your site's branding and design&lt;/li&gt;
&lt;li&gt;Provide helpful information to users who've reached a non-existent page&lt;/li&gt;
&lt;li&gt;Offer navigation options to guide users back to valid content&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Steps to Create a Custom 404 Page
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Create the 404 File
&lt;/h3&gt;

&lt;p&gt;In Next.js 14, creating a custom 404 page is as simple as adding a &lt;code&gt;not-found.js&lt;/code&gt; or &lt;code&gt;not-found.tsx&lt;/code&gt; file to your app directory.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;app/
├── not-found.js (or not-found.tsx)
└── layout.js
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  2. Design Your 404 Page
&lt;/h3&gt;

&lt;p&gt;Let's create a basic 404 page. Here's an example of what your not-found.js might look like:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;Link&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;next/link&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;NotFound&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;return &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"flex flex-col items-center justify-center min-h-screen bg-gray-100"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;h1&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"text-6xl font-bold text-gray-800 mb-4"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;404&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;h1&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;h2&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"text-2xl font-semibold text-gray-600 mb-4"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;Page Not Found&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;h2&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;p&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"text-gray-500 mb-8"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;Oops! The page you're looking for doesn't exist.&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;p&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Link&lt;/span&gt; &lt;span class="na"&gt;href&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"/"&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"px-4 py-2 bg-blue-500 text-white rounded hover:bg-blue-600 transition-colors"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
        Go back home
      &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nc"&gt;Link&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This example uses Tailwind CSS for styling. If you're not using Tailwind, you can replace the &lt;code&gt;className&lt;/code&gt; attributes with your own CSS.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Customize Your 404 Page
&lt;/h3&gt;

&lt;p&gt;Feel free to customize the content and styling of your 404 page. You might want to add:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Your company logo&lt;/li&gt;
&lt;li&gt;A search bar to help users find what they're looking for&lt;/li&gt;
&lt;li&gt;Links to popular pages on your site&lt;/li&gt;
&lt;li&gt;A contact form or link to report broken links&lt;/li&gt;
&lt;li&gt;Games to interact with users&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  4. Testing Your 404 Page
&lt;/h3&gt;

&lt;p&gt;To test your custom 404 page:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Run your Next.js development server&lt;/li&gt;
&lt;li&gt;Navigate to a non-existent route (e.g., &lt;code&gt;http://localhost:3000/this-page-does-not-exist&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;You should see your custom 404 page instead of the default Next.js 404 page.&lt;/li&gt;
&lt;/ol&gt;

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

&lt;p&gt;And there you have it! With just a few lines of code, you've transformed the dreaded 404 error into an opportunity to delight your users. &lt;/p&gt;

&lt;p&gt;Happy coding, and may your users never be truly lost again! 🚀✨&lt;/p&gt;

&lt;p&gt;P.S. If you come up with any cool 404 page ideas, drop them in the comments. I'm always looking for inspiration!&lt;/p&gt;

</description>
      <category>404</category>
      <category>custom</category>
      <category>nextjs</category>
    </item>
  </channel>
</rss>
