<?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: Kaushik Awala</title>
    <description>The latest articles on DEV Community by Kaushik Awala (@awalakaushik).</description>
    <link>https://dev.to/awalakaushik</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%2F442733%2F2ace11fe-f08d-4a37-98f6-c7379432aee7.png</url>
      <title>DEV Community: Kaushik Awala</title>
      <link>https://dev.to/awalakaushik</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/awalakaushik"/>
    <language>en</language>
    <item>
      <title>2. Understanding WCAG Guidelines for Web Accessibility</title>
      <dc:creator>Kaushik Awala</dc:creator>
      <pubDate>Fri, 24 Mar 2023 14:07:34 +0000</pubDate>
      <link>https://dev.to/awalakaushik/2-understanding-wcag-guidelines-for-web-accessibility-4aae</link>
      <guid>https://dev.to/awalakaushik/2-understanding-wcag-guidelines-for-web-accessibility-4aae</guid>
      <description>&lt;p&gt;In our previous blog post, “&lt;a href="https://dev.to/awalakaushik/1-making-your-website-accessible-to-all-an-introduction-to-web-accessibility-2elc"&gt;Making Your Website Accessible to All: An Introduction to Web Accessibility&lt;/a&gt;,” we discussed the importance of web accessibility and the basic principles to follow. This post will delve deeper into the topic and discuss the WCAG guidelines for web accessibility.&lt;/p&gt;

&lt;h2&gt;
  
  
  WCAG Guidelines
&lt;/h2&gt;

&lt;p&gt;The World Wide Web Consortium (W3C) created &lt;a href="https://www.w3.org/WAI/standards-guidelines/wcag/"&gt;Web Content Accessibility Guidelines&lt;/a&gt; (WCAG) to provide a framework for making web content accessible to people with disabilities. WCAG has three levels of conformance: A, AA, and AAA, and each level builds upon the previous one and includes more stringent requirements. Four principles form the basis of the WCAG guidelines: &lt;strong&gt;perceivable&lt;/strong&gt;, &lt;strong&gt;operable&lt;/strong&gt;, &lt;strong&gt;understandable&lt;/strong&gt;, and &lt;strong&gt;robust&lt;/strong&gt;. We must present content so all users, including those with disabilities, can perceive it (&lt;strong&gt;P&lt;/strong&gt;erceivable). Users must be able to navigate and interact with the content (&lt;strong&gt;O&lt;/strong&gt;perable). Content must be explicit and easy to understand (&lt;strong&gt;U&lt;/strong&gt;nderstandable). Finally, content must be compatible with different assistive technologies (&lt;strong&gt;R&lt;/strong&gt;obust).&lt;/p&gt;

&lt;h2&gt;
  
  
  Commonly Ignored Practices in Web Accessibility
&lt;/h2&gt;

&lt;p&gt;Despite the importance of web accessibility, there are still practices that many commonly ignore. Some of these practices include:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Providing alternative text for images&lt;/li&gt;
&lt;li&gt;Using proper heading structure&lt;/li&gt;
&lt;li&gt;Ensuring that forms are accessible&lt;/li&gt;
&lt;li&gt;Providing keyboard navigation&lt;/li&gt;
&lt;li&gt;Ensuring that videos have captions and audio descriptions&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Ignoring these practices can make it difficult or impossible for people with disabilities to access and interact with web content. It’s essential to prioritize these practices in web development to ensure that websites are accessible to everyone.&lt;/p&gt;

&lt;h2&gt;
  
  
  Importance of Accessibility Testing
&lt;/h2&gt;

&lt;p&gt;Accessibility testing evaluates a website or application to ensure it meets the WCAG guidelines. It’s essential to test for accessibility because it’s the only way to know if your website is genuinely accessible to all users, including those with disabilities. There are several types of accessibility testing, such as automated and manual testing. Many tools and resources are available such as &lt;a href="https://wave.webaim.org/"&gt;WAVE&lt;/a&gt;, &lt;a href="https://www.deque.com/axe/"&gt;Axe&lt;/a&gt;, &lt;a href="https://tenon.io/"&gt;Tenon&lt;/a&gt;, &lt;a href="https://accessibilityinsights.io/"&gt;Accessibility Insights&lt;/a&gt;, and so on, to help with testing.&lt;/p&gt;

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

&lt;p&gt;In conclusion, understanding the WCAG guidelines is crucial for creating accessible websites and digital content. By following these guidelines and prioritizing commonly ignored practices, we can ensure everyone, including people with disabilities, can access and interact with web content. It’s important to remember that accessibility is not a one-time effort but an ongoing process that requires regular testing and updates. Let’s work together to make the web a more inclusive and accessible place for all.&lt;/p&gt;

&lt;p&gt;Thanks for reading! I hope you found this post helpful in understanding the WCAG guidelines for web accessibility. Stay tuned for next week’s post, where I’ll discuss “How to Implement Keyboard Navigation in a Web Application.” Implementing keyboard navigation can make our website more accessible and user-friendly.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>a11y</category>
      <category>inclusion</category>
    </item>
    <item>
      <title>1. Making Your Website Accessible to All: An Introduction to Web Accessibility</title>
      <dc:creator>Kaushik Awala</dc:creator>
      <pubDate>Fri, 24 Mar 2023 13:33:11 +0000</pubDate>
      <link>https://dev.to/awalakaushik/1-making-your-website-accessible-to-all-an-introduction-to-web-accessibility-2elc</link>
      <guid>https://dev.to/awalakaushik/1-making-your-website-accessible-to-all-an-introduction-to-web-accessibility-2elc</guid>
      <description>&lt;p&gt;As the internet becomes more pervasive in our daily lives, it's essential to ensure that everyone can access the same information and services online, regardless of any disabilities or impairments they may have. This is where web accessibility comes in - the practice of designing and developing websites and digital content that people of all abilities can use.&lt;br&gt;
In this first post on web development accessibility, we'll explore the basics of web accessibility, why it's essential, and how we can ensure our website is accessible to everyone.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Web Accessibility?
&lt;/h2&gt;

&lt;p&gt;Web accessibility is the practice of designing and developing websites, tools, and technologies that are accessible to people with disabilities. Disabilities can include visual, auditory, physical, and cognitive impairments.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why is Web Accessibility Important?
&lt;/h2&gt;

&lt;p&gt;Web accessibility is crucial for several reasons. Firstly, it ensures everyone can access the same information and services online, regardless of their abilities. It also promotes inclusivity and diversity, helping to create a more equitable and fair society.&lt;br&gt;
In addition, web accessibility is essential for businesses and organizations that want to reach the broadest possible audience. By making a website accessible, one can tap into the estimated 1 billion people worldwide who have disabilities, many of whom are potential customers or clients.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to Make A Website Accessible?
&lt;/h2&gt;

&lt;p&gt;There are several best practices and guidelines to make a website accessible to everyone. Some of these include:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Providing text alternatives for non-text content, such as images and videos&lt;/li&gt;
&lt;li&gt;Ensuring that a website is keyboard accessible&lt;/li&gt;
&lt;li&gt;Using clear and simple language for content&lt;/li&gt;
&lt;li&gt;Making sure that your website is compatible with assistive technologies, such as screen readers and braille displays&lt;/li&gt;
&lt;li&gt;Providing captions and transcripts for audio and video content&lt;/li&gt;
&lt;/ol&gt;

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

&lt;p&gt;Web accessibility is a crucial aspect of web development that ensures everyone can access the same information and services online, regardless of their abilities. By following best practices and guidelines for web accessibility, you can create a website that is inclusive and accessible to everyone. In our upcoming posts, we'll delve deeper into these best practices and explore more ways to make your website accessible to all.&lt;/p&gt;

&lt;p&gt;Thank you for reading! Stay tuned for next week's post on "Understanding WCAG Guidelines for Web Accessibility."&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>a11y</category>
      <category>inclusion</category>
      <category>programming</category>
    </item>
    <item>
      <title>4. Automating your project's deployment procedure</title>
      <dc:creator>Kaushik Awala</dc:creator>
      <pubDate>Tue, 24 May 2022 04:16:33 +0000</pubDate>
      <link>https://dev.to/awalakaushik/4-automating-your-projects-deployment-procedure-46b1</link>
      <guid>https://dev.to/awalakaushik/4-automating-your-projects-deployment-procedure-46b1</guid>
      <description>&lt;p&gt;If you're reading this, you've probably been following this series and are at the end or looking for steps to deploy your app/project to your custom domain. In either case, you've come to the right place. Continue reading this article to complete your deployment setup or begin by reading the series &lt;a href="https://dev.to/awalakaushik/deploy-your-website-using-github-pages-and-google-domains-4elp"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;First and foremost, I'd like to thank everyone for reading this article and following the series. I also admire your perseverance in reaching this point. I hope my series and articles have aided you in some way.&lt;/p&gt;

&lt;p&gt;So, let us get started with the next steps to finish your final deployment configuration so that any changes you make to your app/project are automatically published to your custom domain.&lt;/p&gt;

&lt;p&gt;In the DevOps context, you may have heard of the CI/CD (Continuous Integration/Continuous Delivery) process. While this article does not delve deeply into the concepts, &lt;a href="https://www.atlassian.com/devops"&gt;here&lt;/a&gt; is a link to learn more about them and why automating deployments is important.&lt;/p&gt;

&lt;p&gt;There are three steps in order to set up the deployment process for your project.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Designing a GitHub actions workflow to initiate deployment&lt;/li&gt;
&lt;li&gt;Write a deployment script that will be used by GitHub actions to perform deployment.&lt;/li&gt;
&lt;li&gt;In the package.json file, include a deploy npm script.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  1. Designing a GitHub actions workflow to initiate deployment
&lt;/h2&gt;

&lt;p&gt;Create a hidden directory &lt;code&gt;.github&lt;/code&gt; in the root directory and then create another directory &lt;code&gt;workflows&lt;/code&gt; inside it. Inside the &lt;code&gt;workflows&lt;/code&gt; directory, create a file &lt;code&gt;deployment.yaml&lt;/code&gt;.&lt;br&gt;
Inside this &lt;code&gt;deployment.yaml&lt;/code&gt; file, paste the following content. Please format the document to fix any indentation issues after pasting the below content.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Deployment using GitHub Pages&lt;/span&gt;
&lt;span class="na"&gt;on&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;push&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;branches&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="pi"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;main&lt;/span&gt;&lt;span class="pi"&gt;]&lt;/span&gt;
  &lt;span class="na"&gt;pull_request&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;branches&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="pi"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;main&lt;/span&gt;&lt;span class="pi"&gt;]&lt;/span&gt;
&lt;span class="na"&gt;jobs&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;deployment&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Deploying to &amp;lt;your-website-name&amp;gt;&lt;/span&gt;

    &lt;span class="na"&gt;runs-on&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;ubuntu-latest&lt;/span&gt;

    &lt;span class="na"&gt;strategy&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="na"&gt;fail-fast&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;
      &lt;span class="na"&gt;matrix&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
        &lt;span class="na"&gt;node-version&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="pi"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;16.x&lt;/span&gt;&lt;span class="pi"&gt;]&lt;/span&gt;
        &lt;span class="c1"&gt;# See supported Node.js release schedule at https://nodejs.org/en/about/releases/&lt;/span&gt;

    &lt;span class="na"&gt;steps&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Checkout branch&lt;/span&gt;
        &lt;span class="na"&gt;uses&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;actions/checkout@v3&lt;/span&gt;

      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Use Node.js ${{matrix.node-version}}&lt;/span&gt;
        &lt;span class="na"&gt;uses&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;actions/setup-node@v3&lt;/span&gt;
        &lt;span class="na"&gt;with&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
          &lt;span class="na"&gt;node-version&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;${{matrix.node-version}}&lt;/span&gt;
          &lt;span class="na"&gt;cache&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;npm"&lt;/span&gt;

      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Clean install dependencies&lt;/span&gt;
        &lt;span class="na"&gt;run&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;npm ci&lt;/span&gt;

      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Deploy &amp;lt;your-website-name&amp;gt;&lt;/span&gt;
        &lt;span class="na"&gt;run&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="pi"&gt;|&lt;/span&gt;
          &lt;span class="s"&gt;git config user.name "&amp;lt;your-name&amp;gt;" &amp;amp;&amp;amp; git config user.email "&amp;lt;your-email&amp;gt;"&lt;/span&gt;
          &lt;span class="s"&gt;npm run deploy&lt;/span&gt;

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

&lt;/div&gt;



&lt;p&gt;When any commits are pushed to the main branch or a pull request is merged into the main branch, the above script basically starts the deployment process.&lt;/p&gt;

&lt;p&gt;The deployment script also includes the tasks that must be completed when this process is triggered.&lt;/p&gt;

&lt;p&gt;Each job has a name, the underlying OS platform it runs on, a strategy it must use, and the steps it must take to complete the job.&lt;/p&gt;

&lt;p&gt;Thus, when the deployment workflow/pipeline is triggered, you see the logs as follows:&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ZPqCES8x--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wdlyyttaavshs5qztbqq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ZPqCES8x--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wdlyyttaavshs5qztbqq.png" alt="GitHub workflows" width="800" height="417"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--LKjLlmuZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/n4yur884fqppfmkeu61o.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--LKjLlmuZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/n4yur884fqppfmkeu61o.png" alt="Deployment Log" width="800" height="417"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  2. Write a deployment script that will be used by GitHub actions to perform deployment.
&lt;/h2&gt;

&lt;p&gt;To successfully complete the above workflow, you must gather all of the resources required to publish the website to your custom domain.&lt;/p&gt;

&lt;p&gt;This entails creating the project and publishing it to your own domain. Manually performing all of the steps involved in this is a time-consuming process. As a result, we create a deployment script and have our workflow defined in Step 1 run it so that the deployment is done for us automatically.&lt;/p&gt;

&lt;p&gt;In the project's root directory, create a shell script called &lt;code&gt;deploy.sh&lt;/code&gt; and add the following contents to it.&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="c"&gt;#!/usr/bin/env sh&lt;/span&gt;

&lt;span class="c"&gt;# abort on errors&lt;/span&gt;
&lt;span class="nb"&gt;set&lt;/span&gt; &lt;span class="nt"&gt;-e&lt;/span&gt;

&lt;span class="c"&gt;# Checkout an orphan branch&lt;/span&gt;
&lt;span class="c"&gt;# Docs: https://git-scm.com/docs/git-checkout/1.7.3.1#git-checkout---orphan&lt;/span&gt;
git checkout &lt;span class="nt"&gt;--orphan&lt;/span&gt; deployment

&lt;span class="c"&gt;# build&lt;/span&gt;
npm run build

&lt;span class="c"&gt;# add cname record in dist folder&lt;/span&gt;
&lt;span class="nb"&gt;cd &lt;/span&gt;dist
&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"www.&amp;lt;your-domain-name&amp;gt;.com"&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; CNAME

&lt;span class="c"&gt;# exit dist&lt;/span&gt;
&lt;span class="nb"&gt;cd&lt;/span&gt; -

&lt;span class="c"&gt;# set worktree path to dist and stage all changes&lt;/span&gt;
&lt;span class="c"&gt;# Docs: https://git-scm.com/docs/git#Documentation/git.txt---work-treeltpathgt&lt;/span&gt;
git &lt;span class="nt"&gt;--work-tree&lt;/span&gt; dist add &lt;span class="nt"&gt;--all&lt;/span&gt;

&lt;span class="c"&gt;# set worktree path to dist and commit staged changes with a message&lt;/span&gt;
git &lt;span class="nt"&gt;--work-tree&lt;/span&gt; dist commit &lt;span class="nt"&gt;-m&lt;/span&gt; &lt;span class="s2"&gt;"Deploy"&lt;/span&gt;

&lt;span class="c"&gt;# push committed changes to deployment origin branch&lt;/span&gt;
&lt;span class="c"&gt;# make sure to change your branch here if your source branch is &lt;/span&gt;
&lt;span class="c"&gt;# different in your GitHub pages configuration settings&lt;/span&gt;
git push origin HEAD:deployment &lt;span class="nt"&gt;--force&lt;/span&gt;

&lt;span class="c"&gt;# remove the dist folder&lt;/span&gt;
&lt;span class="nb"&gt;rm&lt;/span&gt; &lt;span class="nt"&gt;-rf&lt;/span&gt; dist

&lt;span class="c"&gt;# checkout main&lt;/span&gt;
git checkout &lt;span class="nt"&gt;-f&lt;/span&gt; main

&lt;span class="c"&gt;# delete deployment&lt;/span&gt;
git branch &lt;span class="nt"&gt;-D&lt;/span&gt; deployment

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

&lt;/div&gt;



&lt;h2&gt;
  
  
  3. In the package.json file, include an npm script deploy.
&lt;/h2&gt;

&lt;p&gt;Finally, a script must be included in the &lt;code&gt;package.json&lt;/code&gt; file. When our GitHub process defined in Step 1 starts, we'll use the &lt;code&gt;package.json&lt;/code&gt; file to run the script. Add the script as shown in the screenshot below.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--lZ2mudZr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qc1djwz4j72a8171f1p1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--lZ2mudZr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qc1djwz4j72a8171f1p1.png" alt="npm script" width="800" height="586"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That's it! You're finished. After you've done the modifications listed above, commit and push your changes to your main branch.&lt;/p&gt;

&lt;p&gt;This should activate the previously configured GitHub workflow and publish the changes to your custom domain.&lt;/p&gt;

&lt;p&gt;If you followed the steps carefully, you should be able to use the GitHub Pages workflow to automatically publish your website to your custom domain.&lt;/p&gt;

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

&lt;p&gt;Congratulations! Please use the comments area to share your unique experience with this series, as well as any thoughts or recommendations.&lt;/p&gt;

&lt;p&gt;Thank you all for your support, and stay tuned for future stuff! &lt;br&gt;
😀&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>tutorial</category>
      <category>deployment</category>
      <category>devops</category>
    </item>
    <item>
      <title>3. Configuring GitHub pages to deploy your website</title>
      <dc:creator>Kaushik Awala</dc:creator>
      <pubDate>Tue, 24 May 2022 03:54:18 +0000</pubDate>
      <link>https://dev.to/awalakaushik/3-configuring-github-pages-to-deploy-your-website-29ic</link>
      <guid>https://dev.to/awalakaushik/3-configuring-github-pages-to-deploy-your-website-29ic</guid>
      <description>&lt;p&gt;It's been a lengthy process since you took the initial step in this series by obtaining a custom domain. You may read the article &lt;a href="https://dev.to/awalakaushik/1-purchasing-a-custom-domain-from-a-provider-google-domains-godaddy-etc-325i"&gt;here&lt;/a&gt;, if you missed it.&lt;/p&gt;

&lt;p&gt;In this article, you'll look at how to configure your GitHub repository to host your project on your custom domain using GitHub Pages.&lt;/p&gt;

&lt;p&gt;To configure GitHub pages, follow the instructions below. More on GitHub Pages can be found &lt;a href="https://docs.github.com/en/pages"&gt;here&lt;/a&gt;. You may learn how to set up a custom domain &lt;a href="https://docs.github.com/en/pages/configuring-a-custom-domain-for-your-github-pages-site/about-custom-domains-and-github-pages"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Configuration Steps
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Go to your repository settings page and click &lt;code&gt;Pages&lt;/code&gt; under &lt;code&gt;Code and automation.&lt;/code&gt;
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--G91LPp3I--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/80sgu5y5kph76nqozqvx.png" alt="config steps" width="800" height="417"&gt;
&lt;/li&gt;
&lt;li&gt;To begin building your website with GitHub Pages, choose your source branch. I'm using a new branch called &lt;code&gt;deployment&lt;/code&gt; for this. Many tutorials you'll find on the internet use the branch name &lt;code&gt;gh-pages.&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;You can enter the subdomain &lt;code&gt;www.&amp;lt;your-domain-name&amp;gt;.&amp;lt;domain-name-ending&amp;gt;&lt;/code&gt; in the &lt;code&gt;custom domain&lt;/code&gt; area.
&lt;code&gt;www.testsite.net,&lt;/code&gt; for example.&lt;/li&gt;
&lt;li&gt;Make sure HTTPS is enabled on your domain to offer a layer of encryption that prevents tampering with traffic to your site. Your website will only be served via HTTPS if this is enforced. More details can be found &lt;a href="https://docs.github.com/articles/securing-your-github-pages-site-with-https"&gt;here&lt;/a&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Okay, we're finished with the GitHub configuration. Then, follow the steps below to configure your DNS settings in Google Domains.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: If you used a different domain provider, make sure to configure your DNS records for your website according to the instructions provided by your DNS provider.&lt;/p&gt;

&lt;h2&gt;
  
  
  Configuring DNS records on Google Domains
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;To manage your custom domain, log in to your Google Domains account.&lt;/li&gt;
&lt;li&gt;Select DNS from the left menu to access the DNS settings page, where you can configure custom records for GitHub pages.
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--xuo24unZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4hy7qg8f703o5wlew3zg.png" alt="dns records" width="800" height="400"&gt;
&lt;/li&gt;
&lt;li&gt;Create a CNAME record for your subdomain that points to your GitHub pages.
For example,
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Host name: www.testsite.com
Type: CNAME
Data: &amp;lt;your-username&amp;gt;.github.io.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Create an A Name record for your apex-domain that points to your github pages.
For example,
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Host name: testsite.com
Type: A
Data: 185.199.111.153
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Return to GitHub to validate your custom domain. If everything goes well, you should see the following.
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--OJdXEOmv--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hcquxs4y6d262rwr5ru5.png" alt="google domains" width="800" height="400"&gt;
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--HR0qrkA3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tza8vwplnay69l8go7gz.png" alt="github page" width="800" height="417"&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Alright then, let us move on to the final step to automate your deployment, &lt;a href="https://dev.to/awalakaushik/4-automating-your-projects-deployment-procedure-46b1"&gt;here&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>tutorial</category>
      <category>github</category>
      <category>ghpages</category>
    </item>
    <item>
      <title>2. Setting up your git repository</title>
      <dc:creator>Kaushik Awala</dc:creator>
      <pubDate>Tue, 24 May 2022 03:20:25 +0000</pubDate>
      <link>https://dev.to/awalakaushik/2-setting-up-your-git-repository-5509</link>
      <guid>https://dev.to/awalakaushik/2-setting-up-your-git-repository-5509</guid>
      <description>&lt;p&gt;If you haven't already, you can read the article on how to buy a custom domain &lt;a href="https://dev.to/awalakaushik/1-purchasing-a-custom-domain-from-a-provider-google-domains-godaddy-etc-325i"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;For those who have completed the previous step of purchasing your custom domain, let us see how to set up our git repository before moving on to the next step of configuring the GitHub pages to use our custom domain for hosting.&lt;/p&gt;

&lt;h2&gt;
  
  
  For starters
&lt;/h2&gt;

&lt;p&gt;As Wikipedia says,&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;GitHub, Inc. is a provider of Internet hosting for software development and version control using Git. It offers the distributed version control and source code management (SCM) functionality of Git, plus its own features.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;whereas, &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Git is a software for tracking changes in any set of files, usually used for coordinating work among programmers collaboratively developing source code during software development.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Because this series is about hosting the website on your custom domain using GitHub pages, this article only refers to GitHub repositories.&lt;/p&gt;

&lt;h2&gt;
  
  
  Adding code to an empty GitHub repository and pushing it there
&lt;/h2&gt;

&lt;p&gt;To host your website code on GitHub, follow the steps below.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Create an empty git repository on GitHub&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--nWX9dIq8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sz1rv2cm2fyz7khrf41o.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--nWX9dIq8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sz1rv2cm2fyz7khrf41o.png" alt="GitHub Create Repository" width="800" height="417"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;After creating the empty repository, you should see the following instructions.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--_zJagEie--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/eutqjsrf909qvtn0bxf2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--_zJagEie--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/eutqjsrf909qvtn0bxf2.png" alt="GitHub empty repository" width="800" height="417"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Then, using the instructions provided above, develop an app of your choice and push the code to the empty GitHub repository. I'm building my website with &lt;a href="https://vuejs.org/"&gt;Vue JS&lt;/a&gt;. Vue JS will thus be used in the examples. The difference is simply in the deployment process, and you can use any framework/library to construct your website, such as &lt;a href="https://angular.io/"&gt;Angular&lt;/a&gt;, &lt;a href="https://reactjs.org/"&gt;React&lt;/a&gt;, &lt;a href="https://svelte.dev/"&gt;Svelte&lt;/a&gt;, etc. Follow the steps &lt;a href="https://vuejs.org/guide/quick-start.html"&gt;here&lt;/a&gt; to get a project started with Vue JS.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Make sure the project name matches the repository name you created in Step 2.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--EymOch19--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/788iz91hvbuqvr0crxpq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--EymOch19--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/788iz91hvbuqvr0crxpq.png" alt="Project Name" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Change to the newly established Vue project directory. You can now execute the git commands as directed in Step 2.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;**Note: If a local git repo is not initialized as part of the project's initialization, use the following command to do so.&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="nv"&gt;$ &lt;/span&gt;git init
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Set git config with the following commands to commit and push your changes.&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="nv"&gt;$ &lt;/span&gt;git config &lt;span class="nt"&gt;--global&lt;/span&gt; user.name &lt;span class="s2"&gt;"username"&lt;/span&gt;
&lt;span class="nv"&gt;$ &lt;/span&gt;git config &lt;span class="nt"&gt;--global&lt;/span&gt; user.email &lt;span class="s2"&gt;"user@email.com"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;After that, run the commands below to push your project code to the empty repository you created in Step 2.
&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;$ &lt;/span&gt;git add &lt;span class="nb"&gt;.&lt;/span&gt;
&lt;span class="nv"&gt;$ &lt;/span&gt;git commit &lt;span class="nt"&gt;-m&lt;/span&gt; &lt;span class="s2"&gt;"&amp;lt;your-commit-message&amp;gt;"&lt;/span&gt;
&lt;span class="nv"&gt;$ &lt;/span&gt;git branch &lt;span class="nt"&gt;-M&lt;/span&gt; main
&lt;span class="nv"&gt;$ &lt;/span&gt;git remote add origin https://github.com/&amp;lt;github-username&amp;gt;/&amp;lt;repository-name&amp;gt;.git
&lt;span class="nv"&gt;$ &lt;/span&gt;git push &lt;span class="nt"&gt;-u&lt;/span&gt; origin main
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You should be able to see your website project code in your GitHub repository after completing the steps above.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--WFNTUHuL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2wvj8s0lr2fs3rkh6ylj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--WFNTUHuL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2wvj8s0lr2fs3rkh6ylj.png" alt="GitHub repository after pushing code" width="800" height="417"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Okay, that was a lot of information! This article has finally come to an end. Please read the next part of this series &lt;a href="https://dev.to/awalakaushik/3-configuring-github-pages-to-deploy-your-website-29ic"&gt;here&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>tutorial</category>
      <category>webdev</category>
      <category>publish</category>
      <category>customdomain</category>
    </item>
    <item>
      <title>Deploy your website using GitHub pages and Google domains</title>
      <dc:creator>Kaushik Awala</dc:creator>
      <pubDate>Tue, 24 May 2022 03:05:01 +0000</pubDate>
      <link>https://dev.to/awalakaushik/deploy-your-website-using-github-pages-and-google-domains-4elp</link>
      <guid>https://dev.to/awalakaushik/deploy-your-website-using-github-pages-and-google-domains-4elp</guid>
      <description>&lt;p&gt;Most challenges in a developer's life become easier with repetition because automation is available to assist.&lt;/p&gt;

&lt;p&gt;Many, if not all, of you may have considered creating and publishing your portfolio but did not proceed due to the numerous challenges involved in successfully deploying your website.&lt;/p&gt;

&lt;p&gt;You've come to the right place if you want to introduce yourself to the world through your portfolio.&lt;/p&gt;

&lt;p&gt;In this series, we will look at the following topics in detail:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a href="https://dev.to/awalakaushik/1-purchasing-a-custom-domain-from-a-provider-google-domains-godaddy-etc-325i"&gt;Getting a custom domain from a service provider (Google Domains, GoDaddy, etc.)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dev.to/awalakaushik/2-setting-up-your-git-repository-5509"&gt;Setting up your git repository&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dev.to/awalakaushik/3-configuring-github-pages-to-deploy-your-website-29ic"&gt;Configuring GitHub Pages to deploy your website&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dev.to/awalakaushik/4-automating-your-projects-deployment-procedure-46b1"&gt;Automating your project's deployment procedure&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>webdev</category>
      <category>deploy</category>
      <category>programming</category>
      <category>portfolio</category>
    </item>
    <item>
      <title>1. Purchasing a custom domain from a provider (Google Domains, GoDaddy, etc.)</title>
      <dc:creator>Kaushik Awala</dc:creator>
      <pubDate>Tue, 24 May 2022 02:57:31 +0000</pubDate>
      <link>https://dev.to/awalakaushik/1-purchasing-a-custom-domain-from-a-provider-google-domains-godaddy-etc-325i</link>
      <guid>https://dev.to/awalakaushik/1-purchasing-a-custom-domain-from-a-provider-google-domains-godaddy-etc-325i</guid>
      <description>&lt;p&gt;Domain names serve as aliases for IP addresses, making it easier to remember the website name rather than the string of digits in an IP address.&lt;/p&gt;

&lt;p&gt;Today, we'll look at how to purchase a custom domain. Despite the fact that there are numerous providers on the market, today we will look at how to buy a custom domain on Google Domains.&lt;/p&gt;

&lt;p&gt;You can select from over 300 domain endings and benefit from a real-person 24/7 support team. It's great to have Google's power behind your domain! Isn't that interesting? Let's get started.&lt;/p&gt;

&lt;p&gt;You can find out more about Google Domains &lt;a href="https://domains.google/"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;When you arrive at the website, you can sign in with your credentials by clicking the "Sign In" button or go straight to the domain search, as shown below.&lt;/p&gt;

&lt;p&gt;In either case, you must sign in to be able to associate and manage the purchased domain.&lt;/p&gt;

&lt;h2&gt;
  
  
  Searching for your domain
&lt;/h2&gt;

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

&lt;h2&gt;
  
  
  Viewing and sorting your search results
&lt;/h2&gt;

&lt;p&gt;Following your domain search, you will be presented with a list of options to choose from; refine your search list using the provided filters. When you've found the perfect domain, add it to your cart and proceed to the checkout process.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--K5uUHidJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/coiv5xqrylzbjcg0le5j.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--K5uUHidJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/coiv5xqrylzbjcg0le5j.png" alt="Google Domains Search List" width="800" height="400"&gt;&lt;/a&gt;&lt;br&gt;
By clicking on the domain row, you can also view more information about the domain.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--PSbP0AwI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6kpruzc7lzn60qyb3t3m.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--PSbP0AwI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6kpruzc7lzn60qyb3t3m.png" alt="Google domain insights" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Checkout to purchase your desired domain
&lt;/h2&gt;

&lt;p&gt;The next step is to add one or more domains to your cart and complete the checkout process. Use the add to cart button to add your preferred domains to your cart.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--7kVMSIsW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hwu5efoqxrddkykat8it.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--7kVMSIsW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hwu5efoqxrddkykat8it.png" alt="Google Domains Add to Cart" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Following the addition of your custom domain to your cart, you will be given further options to configure or add to your domain, such as Google Workspace, as shown below.&lt;/p&gt;

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

&lt;p&gt;Once you've opted to buy your domain, you'll be directed to the payment stage to complete your purchase, or you'll be requested to sign in first before being moved to the payment stage to complete your purchase.&lt;/p&gt;

&lt;h2&gt;
  
  
  Viewing your purchased domain(s) associated with your google account
&lt;/h2&gt;

&lt;p&gt;After you've finished purchasing your custom domain, go to "My domains" to see it.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--RWJXARvr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0tvsc0uooqusrzbmq39t.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--RWJXARvr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0tvsc0uooqusrzbmq39t.png" alt="Google domains view my domains" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You have now completed the process of purchasing a custom domain name.&lt;/p&gt;

&lt;p&gt;Let us move to the &lt;a href="https://dev.to/awalakaushik/2-setting-up-your-git-repository-5509"&gt;Step 2&lt;/a&gt; where we will see how to setup your GitHub repository.&lt;/p&gt;

</description>
      <category>domain</category>
      <category>purchase</category>
      <category>webdev</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Execute a function with arguments using chrome extension scripting API</title>
      <dc:creator>Kaushik Awala</dc:creator>
      <pubDate>Thu, 12 May 2022 21:56:28 +0000</pubDate>
      <link>https://dev.to/awalakaushik/execute-a-function-with-arguments-using-chrome-extension-scripting-api-2b7m</link>
      <guid>https://dev.to/awalakaushik/execute-a-function-with-arguments-using-chrome-extension-scripting-api-2b7m</guid>
      <description>&lt;p&gt;Chrome introduced the new Manifest V3 towards a step in the direction of security, privacy, and performance as mentioned in the documentation &lt;a href="https://developer.chrome.com/docs/extensions/mv3/intro/"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;With this introduction of Manifest V3, there have been challenges in migrating from Manifest V2 to Manifest V3 which is beyond the scope of discussion in this article.&lt;/p&gt;

&lt;p&gt;Along with number of features, the extensions using Manifest V3 also have functional changes introduced. Among many such changes, &lt;code&gt;executeScript()&lt;/code&gt; is one. It has been moved from the Tabs API to the Scripting API. With the new &lt;a href="https://developer.chrome.com/docs/extensions/reference/scripting/"&gt;Scripting API&lt;/a&gt;, extensions can register and unregister content scripts dynamically (at runtime, one can register and unregister content scripts as needed). Also, the extensions can now only execute script files and functions.&lt;/p&gt;

&lt;p&gt;Here is how one can execute a function using the chrome extension's scripting API.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;greet&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;greeting&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;`&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;greeting&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;, World!`&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
 &lt;span class="p"&gt;}&lt;/span&gt;

 &lt;span class="nx"&gt;chrome&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;scripting&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;executeScript&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
      &lt;span class="na"&gt;target&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="na"&gt;tabId&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;tab&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;id&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;
      &lt;span class="na"&gt;function&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;greet&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="na"&gt;args&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;Hello&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="c1"&gt;// Output: Hello, World!&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In the above code, we can notice that the property being used to pass the arguments to the function is &lt;code&gt;args&lt;/code&gt; in Manifest V3.&lt;/p&gt;

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