<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by SaravananVijayamuthu on Medium]]></title>
        <description><![CDATA[Stories by SaravananVijayamuthu on Medium]]></description>
        <link>https://medium.com/@saravananvijayamuthu?source=rss-aafe3fa0b006------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/1*XMFKiBz16ha9roBqx6k9PQ.png</url>
            <title>Stories by SaravananVijayamuthu on Medium</title>
            <link>https://medium.com/@saravananvijayamuthu?source=rss-aafe3fa0b006------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Sun, 17 May 2026 10:15:31 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@saravananvijayamuthu/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com" rel="hub"/>
        <item>
            <title><![CDATA[GitHub CLI Tool ⚒]]></title>
            <link>https://medium.com/front-end-weekly/github-cli-tool-71897dc2ec24?source=rss-aafe3fa0b006------2</link>
            <guid isPermaLink="false">https://medium.com/p/71897dc2ec24</guid>
            <category><![CDATA[git]]></category>
            <category><![CDATA[coding]]></category>
            <category><![CDATA[loginradius]]></category>
            <category><![CDATA[development]]></category>
            <category><![CDATA[github]]></category>
            <dc:creator><![CDATA[SaravananVijayamuthu]]></dc:creator>
            <pubDate>Mon, 19 Oct 2020 13:53:48 GMT</pubDate>
            <atom:updated>2020-10-19T13:53:48.738Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/757/1*9i2gqxBGpZLiMHiQwWZ7pg.png" /></figure><p><em>The </em><a href="https://cli.github.com/">GitHub CLI</a><em> is a recent GitHub released tool that takes tasks of issue / PR management to the terminal. It will be a useful tool that will put more of our workflow for software creation into the textual domain rather than the visual domain. It’s just called.</em><em>gh</em></p><p>*<strong>*Installation of GitHub CLI 💡**</strong></p><p>GitHub CLI has <a href="https://cli.github.com/manual/installation">releases</a> with significant operating systems, visit the <a href="https://cli.github.com/manual/installation">installation</a> page and find instructions on how to install GitHub CLI for your operating system.</p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fupscri.be%2Ff%2F788447%3Fas_embed%3Dtrue&amp;dntp=1&amp;display_name=Upscribe&amp;url=https%3A%2F%2Fupscri.be%2F788447%2F&amp;type=text%2Fhtml&amp;schema=upscri" width="800" height="400" frameborder="0" scrolling="no"><a href="https://medium.com/media/18214d8333adbb5668f31791a3202b60/href">https://medium.com/media/18214d8333adbb5668f31791a3202b60/href</a></iframe><p>For [Windows] and [macOS], you will use the package managers to update and maintain GitHub CLI, and for <a href="https://github.com/cli/cli/releases/tag/v1.0.0">Linux</a> users, you may need to grab the software from the latest release website.</p><p>Here are examples of the installation instructions for each compatible platform:</p><p>→ Windows</p><p>→ macOS</p><p>→ Debian/Ubuntu Linux</p><p>→ Fedora/Centos Linux</p><p>→ Arch Linux</p><p>You’ll need to authenticate your account after you install GitHub CLI. Running any command would activate this process of authentication(via OAuth). Well, you can use Git CLI.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/623/0*hh_JuNIMPKVcf01A.png" /></figure><p>*<strong>*What is CLI really doing? 🤔**</strong></p><p>The GitHub CLI lets you handle issues/ PRs / repositories from inside your console. Let’s have a look at it:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/768/0*gBgSs_Vdcrj1LXaE.png" /></figure><p><em>It should be said that gh is not the same stuff as git. It’s because </em><em>gh just adds GitHub tools to the terminal. Version management is yet to be managed with git.</em></p><p><strong>CLI Commands ➫</strong></p><p>We’re going to cover a bunch of exciting commands. Let’s use the official <a href="https://github.com/angular/angular%60">Angular.js repo</a> to run gh commands</p><p>Clone the Angular repo, and navigate to the repository. You can either clone the repo through HTTPS/ ssh/ Git CLI. I&#39;m going to clone the repo through git CLI since we are working on GIT CLI.</p><p>Let’s execute the $gh issue --help see what commands are available.</p><p>It’s Time to view Problems/issues in the angular repo.😁</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/490/0*_bbyUETqE3-SUc5S.png" /></figure><p><strong>Pull Requests 🤖</strong></p><p>It is now possible to build a Pull Request (PR) on the terminal. You will perform $gh pr create right after you have committed a feature or bug branch. This interactively creates the pull request.😉</p><p>Let’s execute the $gh pr --help see what commands are available.</p><p>Current PR’s in the repo:</p><p>$ gh pr list</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/630/0*z5Q8DyYuYG_dkNyx.png" /></figure><p>Let’s view an individual pr:</p><p>I’m going with the first pull request.#38899 Through gh cmd $ gh pr view.38899</p><p>*<strong>*Repository 🤖**</strong></p><p>Let’s execute the $gh repo --help see what commands are available</p><p>It is better to clone a repository using the gh command than with the git command. I have done this above. Only through gh cmd, I have cloned angular repo.</p><p>Start functioning. You should create a new PR after this ($gh pr create)! It&#39;s sort of remarkable that all of that element is now available in the terminal!😍</p><p><strong>Gist 🐱‍🚀</strong></p><p>It is now simple to create a gist on GitHub from the terminal using the CLI cmd.</p><p><strong>Conclusion 🙀</strong></p><p><a href="https://cli.github.com/">Git CLI’s</a> primary objective is to “minimize context switching” by allowing you to continue inside your terminal/console, rather than opening your browser to access <a href="https://github.com/">GitHub</a>. For additional functionality and knowledge on using the current resources, you may link to the <a href="https://cli.github.com/manual/">manual</a>.</p><p><em>Originally published at </em><a href="https://www.loginradius.com/engineering/blog/github-cli-tool/"><em>https://www.loginradius.com</em></a><em>.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=71897dc2ec24" width="1" height="1" alt=""><hr><p><a href="https://medium.com/front-end-weekly/github-cli-tool-71897dc2ec24">GitHub CLI Tool ⚒</a> was originally published in <a href="https://medium.com/front-end-weekly">Frontend Weekly</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[COMPLETE GIT (VERSION CONTROL SYSTEM)]]></title>
            <link>https://medium.com/front-end-weekly/complete-git-version-control-system-fb59f6163ea3?source=rss-aafe3fa0b006------2</link>
            <guid isPermaLink="false">https://medium.com/p/fb59f6163ea3</guid>
            <category><![CDATA[technology]]></category>
            <category><![CDATA[web-development]]></category>
            <category><![CDATA[version-control]]></category>
            <category><![CDATA[github]]></category>
            <category><![CDATA[quarantine]]></category>
            <dc:creator><![CDATA[SaravananVijayamuthu]]></dc:creator>
            <pubDate>Mon, 17 Aug 2020 13:15:17 GMT</pubDate>
            <atom:updated>2020-10-10T17:20:07.960Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*I5edONKZAmJyTmUW-lMc-w.jpeg" /><figcaption>GIT developed by <a href="https://en.wikipedia.org/wiki/Linus_Torvalds"><strong>Linus Torvalds</strong></a></figcaption></figure><h4>Table of contents</h4><p>· <a href="#cdd5">What is GIT?</a><br>· <a href="#34d8">What is the version control system?</a><br>· <a href="#1a4b">Git advantages</a><br>· <a href="#7819">How to install Git?</a><br> ∘ <a href="#86eb">Installing git in Linux (ubuntu)</a><br> ∘ <a href="#eec2">Installing git in Windows</a><br>· <a href="#0765">Creating repositories in Git</a><br>· <a href="#dc6a">Making changes in Git</a><br>· <a href="#af7e">Git Clone</a><br>· <a href="#33c1">Staging area in Git</a><br>· <a href="#c3ef">Deleting files in Git</a><br>· <a href="#e885">Git Ignore</a><br>· <a href="#5f89">Tagging in Git</a><br>· <a href="#1481">Branches in Git</a><br>· <a href="#b70c">Git Revert</a><br>· <a href="#3779">Git Reset</a><br>· <a href="#cfdf">Rebasing in Git</a><br>· <a href="#bfe1">Git cherry-pick</a></p><h3>What is GIT?</h3><p><strong>Git</strong> is a free, open-source distributed <strong>version control system</strong>. This maintains <strong>track </strong>of the tasks and files as they evolve with the support of multiple collaborators over time.</p><h3>What is the version control system?</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*GhgcjMq99UlR5X28oG_Y1Q.png" /><figcaption>Copyright → ToolsQA</figcaption></figure><p>Version control is a system that <strong>tracks modifications</strong> to a file or collection of files over time such that different copies may be restored later. If a developer had some bugs in the new version, of his code he can switch back to the previous(old) version.</p><p>When multiple developers work on a single project, the changes made by a single developer may affect the code of another developer. So, to resolve all these kinds of problems git has <strong>branches </strong>where each developer works on an individual branch with their code and tests their code, at last, they can merge all branches. It’s awesome right!!😎</p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fupscri.be%2Ff%2F788447%3Fas_embed%3Dtrue&amp;dntp=1&amp;display_name=Upscribe&amp;url=https%3A%2F%2Fupscri.be%2F788447%2F&amp;type=text%2Fhtml&amp;schema=upscri" width="800" height="400" frameborder="0" scrolling="no"><a href="https://medium.com/media/18214d8333adbb5668f31791a3202b60/href">https://medium.com/media/18214d8333adbb5668f31791a3202b60/href</a></iframe><h3>Git advantages</h3><ul><li>distributed development</li><li>changelog of every file</li><li>faster development</li><li>source code backups, useful to restore the old version of code, when new code fails</li><li>individual features for a single project</li><li>isolated environment for every change to our code</li><li>git works offline in our local machine</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Efu3xTO1Q5O8NM0csPZgdg.png" /></figure><h3>How to install Git?</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*50GxaquoF2hWY9TnHX_csQ.jpeg" /></figure><p>Git supports common platforms like Windows, Linux, mac os</p><h4>Installing git in Linux (ubuntu)</h4><p>Update your Linux before installing git</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/525/1*1MQ7st4Ud8bdwkS1czoScw.png" /></figure><p>Now, you can install git</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/626/1*mygzFZzZ6ZO3Y_o9HHcY9w.png" /></figure><p>after installation, you can check it through checking version of git <strong>[git — version].</strong></p><h4>Installing git in Windows</h4><p>Check the official website of Git: <a href="https://git-scm.com/downloads"><strong>https:/git-scm.com/downloads</strong></a></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*LpycyBcM2q1KpbPYDG1YMQ.png" /></figure><p>Click the <strong>Download Button for Windows</strong> and allow the download to complete.</p><p>It’ll start downloading according to your computer either it maybe 32 or 64 bits. After downloading extract it and install it on your local machine.</p><h3>Creating repositories in Git</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/364/1*2KEPoy041IC-sKuwXHKmDg.png" /></figure><p>There are <strong>two </strong>ways to <strong>build repositories:</strong></p><p>❌ <strong>Cloning</strong>(Separate topic)</p><p>❌ <strong>Git commands</strong></p><p><strong>Cloning will be a separate topic</strong>.</p><p>Now, let’s use <strong>Git commands. </strong>To create a repository we can use <strong>git init </strong>command to initiate an empty git repo in our project directory it’ll create a <strong>.git </strong>file. has configurations such as <strong>tags</strong>, <strong>objects, </strong>and <strong>template </strong>files.</p><p><strong>. Create your directory for your project</strong></p><p><strong>. Go to the project folder</strong></p><p><strong>. Git init command</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/866/1*gQ0dpKOG_9K1C4DHyA7EeQ.png" /></figure><p>after initializing the git repository user can work on the files and pushing to remote repositories like <strong>GitHub.</strong></p><h3>Making changes in Git</h3><p>It’s one of the important features available in git, we can track the changes of file or changes of anything in our project before we do a <strong>commit</strong>.</p><p><strong>Command to check the status</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/414/1*NTh5KBkj_UO1O93J0R-5UA.png" /><figcaption><strong>(git status)</strong></figcaption></figure><p><strong>Status of the new repo</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/704/1*SERRON6blW6B5qSo3QcNlA.png" /></figure><p><strong>Status of the repo with changes</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/621/1*D12UUKVNrZ-imngKHLdbhQ.png" /></figure><p>I have created a new file in the project directory <strong>index.html</strong></p><p><strong>Status of the repo after commit</strong></p><p>cmd: <strong>git commit -m “</strong>(commit message)<strong>”</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/443/1*kAC9H70_Bq7jZKdSAp5Krw.png" /></figure><h3>Git Clone</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*jXn7ilWZH07noKEcZv2kbA.png" /></figure><p><strong>Git clone</strong> command clones a remote directory from GitHub and creates a new directory in your <strong>local machine</strong>.</p><blockquote>Only <strong>Public repo </strong>can be cloned.</blockquote><figure><img alt="" src="https://cdn-images-1.medium.com/max/580/1*p0sPInI7eRT-tTVwcMOn9g.png" /></figure><p>Shallow clone allows you to clone the specified number of commits the user needed.</p><h3>Staging area in Git</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/666/1*Wx0R165g5mXKh_Rxhtw0qg.png" /><figcaption>Copyright → Lynda</figcaption></figure><p>It’s a stage before <strong>commit. </strong>In this stage, we can create <strong>partial commits</strong>, edit files, or modify files preparing of a commit is called the <strong>staging area.</strong></p><p><strong>git add .</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/473/1*sHISnxaQUALc9xrtAiWPjg.png" /></figure><p>The above command is used to update any modified and newly created files to the staged area,<strong> deleted files are not considered for the staging area</strong>.</p><p><strong>git add -u</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/444/1*dmyYBvvf3lmYl2y8Zqarkw.png" /></figure><p>The above command is used to update any modified and deleted files to the staged area, <strong>newly created files are not considered for the staging area.</strong></p><p><strong>git add -A</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/427/1*TRc2w_Wf0QcUkvme7dytsw.png" /></figure><p>The above command is used to <strong>update any kind of modified, deleted and newly created</strong> files to the staging area</p><h3>Deleting files in Git</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/666/1*E0UQ-l2A1PQdYmjav862ww.png" /><figcaption>Copyright → Lynda</figcaption></figure><p>If the user needs to delete <strong>unnecessary files</strong>, the user can remove/delete that file from the working tree this will <strong>stop tracking changes</strong> for that file.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/418/1*f1k6LzKhGecLmOHs7kp_yg.png" /></figure><p>“<strong>git rm — cached filename.txt</strong>” only deletes the file from repo whereas other above cmd will delete both in <strong>filesystem and index.</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/514/1*T0PGgkngrFbuw_cmzqLc4Q.png" /></figure><p>This cmd will help the user to delete/remove the only specified set of extension files. <strong>For example Files with the extension (.py )</strong></p><blockquote><strong>Users can restore the deleted file from the previous history of their repo.</strong></blockquote><h3>Git Ignore</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/600/1*Qts1tqOKFzz_CeJ2y7qOmA.jpeg" /><figcaption>Copyright → Perforce Software</figcaption></figure><p><strong>.gitignore</strong> file is used to exclude files, folders, and type of file extension to be excluded in the staging area and in git commits.</p><p>For example, in <strong>node.js </strong>project, the user will be excluding <strong>node_modules </strong>because it contains a lot of external packages/modules. Even <strong>junk files</strong> created automatically due to <strong>extensions of IDE’s</strong>.</p><p><strong>Open git ignore file</strong></p><p>Note that the file name should be <strong>.gitignore </strong>and it should be created only o the <strong>root </strong>directory of your project.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/475/1*GX2K3JQ3Dwf0tI_PUkYLkA.png" /></figure><p>I’m using <strong>type nul&gt; </strong>because I am using the <strong>Windows </strong>machine. It can change according to the user machine say for <strong>LINUX </strong>it’s <strong>Touch. </strong>Even you can create it through creating a new file and name it as <strong>.gitignore</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/378/1*i2WdiGutBWIoFMa0v-7OAA.png" /></figure><h3>Tagging in Git</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/790/1*_pN6wC6IZQsh7XfhNsgabQ.png" /><figcaption>Illustration by <a href="https://dribbble.com/ju-mieleszko">Justyna Mieleszko</a></figcaption></figure><p>Tags are used to mark your code. Tags are like<strong> “Bookmark”</strong> in git pointing to a specific commit. Even we can say tags are versions of your code v1, v2, v2.2, Creating a tag requires one parameter: <strong>the name of the tag</strong>.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/437/1*s7bp14Ys6Pdw_7GvOrlNkQ.png" /></figure><p>There are <strong>two types</strong> of tags</p><ul><li><strong><em>Annotated tags</em></strong></li><li><strong><em>Lightweight tags</em></strong></li></ul><p><strong>Annotated tags</strong></p><p>Annotated tags are useful when you<strong> release project publicly</strong>, annotated tags contain metadata like <strong>tag message</strong>, <strong>timestamp</strong>, <strong>author name</strong>, <strong>release notes</strong>, etc, these are useful for releasing your project publicly because visitors or other unknown user are able to know the actual details and time stamp of the tag, <strong><em>annotated tags always point to a tag object in the git object database.</em></strong></p><p><strong>Cmd to create an annotated tag</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/258/1*9hc-pIoCzw7s1DJ1FTlNsw.png" /></figure><blockquote><em>It creates a </em><strong><em>LOCAL tag </em></strong><em>on the current branch,but when you push your latest commit to the remote repository, git doesn’t push tags </em><strong><em>user needs to push tags separately by command.</em></strong></blockquote><p><strong>Lightweight Tags</strong></p><p>Lightweight tags are <strong>simple tags</strong> which will be used locally mostly, to create lightweight tags just <strong>don’t provide any additional parameters like -m,-a</strong>. The lightweight tag is just a named pointer to the commit.</p><p><strong>Cmd to create lightweight tags</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/235/1*37Cb50wEn_wD9ajw-08YsQ.png" /></figure><p><strong>Cmd to push tags</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/261/1*8N0iNM3OYtwbV6dE3wFT-Q.png" /></figure><p><strong>How to tag like professional?😎</strong></p><p>Our <strong>v1</strong> tag seemed like a good idea at first but we’ll see <strong>v2</strong>, <strong>v3</strong>, <strong>v4</strong>, etc. in the future. Meanwhile, some bugs will occur so we’ll get <strong>v4-fixed</strong>, or maybe<strong> v4.1</strong>. At some point, it will be difficult to stick to things.🤦‍♂️</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/564/1*1cFR3ItpPcujeiWUFrotsQ.jpeg" /><figcaption>Copyright → CommitStrip</figcaption></figure><p><a href="https://semver.org/"><strong>Semantic</strong></a> versioning can solve that problem. This is one of the popular standards, using a few simple rules. Each version is formatted as <strong>MAJOR, MINOR, PATCH</strong> and each part will change according to the rules below.</p><ol><li>MAJOR when breaking backward compatibility<strong>,</strong></li><li>MINOR when adding a new feature which doesn’t break compatibility,</li><li>PATCH when fixing a bug without breaking compatibility</li></ol><blockquote><strong><em>NOTE ⚠️</em></strong></blockquote><blockquote>Tags cannot begin or end with <strong>/</strong>.</blockquote><blockquote>You cannot use the characters <strong>^</strong>, <strong>*</strong>, or<strong> :</strong> inside tags</blockquote><h3>Branches in Git</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/577/1*uNxr9mbtk0dKaECkKk_JHQ.png" /><figcaption>Source → <a href="https://dribbble.com/mickaelmarquez">Mickaël Marquez</a></figcaption></figure><p>When the user creates their first repo by default the main branch will be the <strong>Master branch</strong>.</p><p>Branches are like separate lines of development within the same Project.</p><p>For example, You are developing a new feature or an update for your application, But this shouldn’t collapse your main repo(<strong>Master)</strong>. So, you can create another branch for that part of the new code test the code once you confirm it’ll not affect the main code you can Merge both <strong>Master </strong>and <strong>new </strong>branch.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/449/1*bqwqFIByXcXJHHw9yXlXJw.png" /></figure><p><strong>How to view branches in Git 🤔</strong></p><p>We can use the <strong>git branch </strong>parameter through this parameter we can check <strong>merged</strong>, <strong>unmerged</strong>, <strong>local </strong>branches by providing specific parameters.</p><blockquote>The current branch has an <strong>* (asterisk )</strong> before its name in the git output.</blockquote><figure><img alt="" src="https://cdn-images-1.medium.com/max/598/1*IHyBmNrFR4hLCnXkOgBhXw.png" /></figure><p><strong>How to merge branches in Git 🤔</strong></p><p>As I said above you can merge all your branches into the <strong>main/master</strong> branch.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/411/1*focko67k867XPMDd5j7ChA.png" /></figure><h3>Git Revert</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/577/1*6b3FEBTrMQvEoP_eWFwtoA.png" /></figure><p>We can’t erase commits in the remote repository if any other users need them. <strong>revert </strong>is used to make a <strong>fresh commit</strong> without an existing commit that we don’t want to use.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/329/1*m7KvAIHMAu_NGR0sDFoDQw.png" /></figure><h3>Git Reset</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/440/1*PDii7YcA22-qJy7JNyQ-5A.gif" /><figcaption>Source → <a href="https://dribbble.com/emily-a-mills">Emily Mills</a></figcaption></figure><p>When we need to go back to the previous commit we can use <strong>git reset</strong>. This cmd is used to move<strong>(HEAD)</strong>, the latest commit of our working tree. We can reset files too🤪.</p><p><strong>.git reset –hard</strong> is used to delete, completely<strong> .hard</strong> resets working tree and index. uncommitted changes and staged files will be lost, if we use –hard.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/411/1*rwoInRzaAR23aKv3uQcE6Q.png" /></figure><p>Here n indicates the number of commits to reset.</p><h3>Rebasing in Git</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/472/1*0bkkznFzNWdYxXWvPTTwwQ.png" /></figure><blockquote><strong>Rebasing is completely different from the merging.</strong></blockquote><p>Rebase rewrites the whole <strong>git workflow</strong>. “<strong>.git rebase”</strong> command adds all your specified branch commits to the top current branch <strong>(*)</strong> commit these new commits will get added to the current branch and this will be in<strong> sequential order similar to the previous branch. </strong>After rebasing, the new commit Ids will be changed.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/437/1*D1j2MYDcFtMV5NPP3G85AA.png" /></figure><h3>Git cherry-pick</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/396/1*tcFfbN5n9Iwi6p1bdoBi_Q.png" /></figure><p><strong>Cherry-pick</strong> allows move commits from one branch to another. Cherry-picking is to rearrange the order of commits in a sustainable manner. It creates new commit with different commit id after the current commit (HEAD).</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/477/1*4VFWkEC4KuKw3l_pFptiog.png" /></figure><figure><a href="https://ko-fi.com/saravananvijayamuthu"><img alt="" src="https://cdn-images-1.medium.com/max/170/1*LOP7wcGlXdiz-NF6CoktKw.png" /></a></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/800/1*ghk35jxs0otPRZMe5PJLgA.gif" /></figure><p><strong>If anything is not clear or you want to point out something, please </strong><a href="mailto:saravanan.vijayamuthu@gmail.com"><strong>reach me</strong></a></p><h3>Like this article? Follow <a href="https://www.instagram.com/saravanan.vijayamuthu/">@saravanan.vijayamuthu</a> on Instagram</h3><p><strong>My Website → </strong><a href="https://saravananvijayamuthu.herokuapp.com/">https://saravananvijayamuthu.herokuapp.com/</a></p><p><strong>Weather app → </strong><a href="https://gadot.vercel.app/">https://gadot.vercel.app/</a></p><p><strong>Github →</strong> <a href="https://github.com/SaravananVijayamuthu">https://github.com/SaravananVijayamuthu</a></p><p><strong>Little Occult Affairs → </strong><a href="https://www.amazon.in/dp/8194619920/ref=cm_sw_r_cp_apa_i_GEHnFbXWYB45D">https://www.amazon.in/dp/8194619920/ref=cm_sw_r_cp_apa_i_GEHnFbXWYB45D</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=fb59f6163ea3" width="1" height="1" alt=""><hr><p><a href="https://medium.com/front-end-weekly/complete-git-version-control-system-fb59f6163ea3">COMPLETE GIT (VERSION CONTROL SYSTEM)🛡</a> was originally published in <a href="https://medium.com/front-end-weekly">Frontend Weekly</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[A COMPLETE GUIDE TO CSS COMBINATORS]]></title>
            <link>https://medium.com/front-end-weekly/a-complete-guide-to-css-combinators-faf6e7543bb2?source=rss-aafe3fa0b006------2</link>
            <guid isPermaLink="false">https://medium.com/p/faf6e7543bb2</guid>
            <category><![CDATA[web]]></category>
            <category><![CDATA[web-development]]></category>
            <category><![CDATA[css]]></category>
            <category><![CDATA[javascript]]></category>
            <category><![CDATA[students]]></category>
            <dc:creator><![CDATA[SaravananVijayamuthu]]></dc:creator>
            <pubDate>Mon, 03 Aug 2020 20:47:22 GMT</pubDate>
            <atom:updated>2020-10-10T17:20:34.047Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/626/1*en2lnsOWY-qRC4JcLRUT1g.jpeg" /></figure><p>Hope u all have been doing well n staying safe in this <a href="https://www.who.int/emergencies/diseases/novel-coronavirus-2019"><strong>COVID</strong></a><strong> </strong>pandemic. Here are the <strong>4 CSS Combinators </strong>which will boost your CSS experience 🔥</p><h3>What is Combinator ❓</h3><p>💠 A combinator is something that explains the <strong>relationship between CSS selectors.</strong></p><p>💠 A CSS selector can contain more than <strong>one simple selector</strong>. Between the simple <strong>selectors</strong>, we can<strong> include a combinator.</strong></p><h3>Why use CSS Combinator ❓</h3><p>💠 Learning about combinators makes you <strong>better at writing CSS</strong> and<strong> helps you to avoid excess CSS code.</strong></p><p>💠 Combinators can also help you <strong>pinpoint the section</strong> or <strong>part of HTML</strong> you want to style with high accuracy because they are based on the <strong>relationship between the selectors.</strong></p><h3>Types of Combinators available in CSS 🎆</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/626/1*3YHc6r-4yMhB1PMEgeOj_Q.jpeg" /></figure><p>There are <strong>four types</strong> of combinators in CSS:</p><h4>🧿 General Sibling selector ( ~ )</h4><h4>🧿 Adajacent Sibling selector ( + )</h4><h4>🧿 Child selector ( &gt; )</h4><h4>🧿 Descendant selector ( space )</h4><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fupscri.be%2Ff%2F788447%3Fas_embed%3Dtrue&amp;dntp=1&amp;display_name=Upscribe&amp;url=https%3A%2F%2Fupscri.be%2F788447%2F&amp;type=text%2Fhtml&amp;schema=upscri" width="800" height="400" frameborder="0" scrolling="no"><a href="https://medium.com/media/18214d8333adbb5668f31791a3202b60/href">https://medium.com/media/18214d8333adbb5668f31791a3202b60/href</a></iframe><h3>💡 General Sibling selector ( ~ )</h3><p>The General Sibling selector is used to select the element that follows the <strong>first selector element</strong>.</p><h4>Syntax:</h4><p>first-selector ~ target-selector { … }</p><iframe src="" width="0" height="0" frameborder="0" scrolling="no"><a href="https://medium.com/media/22be043703eb764410cb0203af708048/href">https://medium.com/media/22be043703eb764410cb0203af708048/href</a></iframe><figure><img alt="" src="https://cdn-images-1.medium.com/max/255/1*UX5FVMugOqJQ_bA6TR1uhA.png" /></figure><h3>💡 ADJACENT SIBLING SELECTOR</h3><p>The adjacent sibling selector selects <strong>all elements</strong> that are the <strong>adjacent siblings of a specified element.</strong></p><h4><strong>Syntax:</strong></h4><p>first-selector + adjacent-selector { }</p><iframe src="" width="0" height="0" frameborder="0" scrolling="no"><a href="https://medium.com/media/ee7872882af78c7e6f93eebb490a4541/href">https://medium.com/media/ee7872882af78c7e6f93eebb490a4541/href</a></iframe><figure><img alt="" src="https://cdn-images-1.medium.com/max/266/1*1bSZCl5GLt2ybDCX1RehCA.png" /></figure><h3>💡 CHILD SELECTOR</h3><p>The child selector selects <strong>all elements that are the children of a specified element.</strong></p><h4>Syntax:</h4><p>elementl &gt; element2 { … }</p><iframe src="" width="0" height="0" frameborder="0" scrolling="no"><a href="https://medium.com/media/675d646f43937c29b45aee61a5e4a158/href">https://medium.com/media/675d646f43937c29b45aee61a5e4a158/href</a></iframe><figure><img alt="" src="https://cdn-images-1.medium.com/max/250/1*O9wA2ZvFpT7oValiaviYUA.png" /></figure><h3>💡 DESCENDANT SELECTOR</h3><p>The descendant selector <strong>matches all elements</strong> that are <strong>descendants of a specified element</strong>.</p><h4>Syntax:</h4><p>selector1 selector2 { … }</p><iframe src="" width="0" height="0" frameborder="0" scrolling="no"><a href="https://medium.com/media/91f7a7693e56e876832f05934a4fd09d/href">https://medium.com/media/91f7a7693e56e876832f05934a4fd09d/href</a></iframe><figure><img alt="" src="https://cdn-images-1.medium.com/max/150/1*7c9wppf05-e3O2ORM70Bgw.png" /></figure><figure><a href="https://ko-fi.com/saravananvijayamuthu"><img alt="" src="https://cdn-images-1.medium.com/max/170/1*LOP7wcGlXdiz-NF6CoktKw.png" /></a></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/625/1*wYwuTnOOYgfW0GoeMvz9kg.gif" /></figure><p><strong>If anything is not clear or you want to point out something, please </strong><a href="mailto:saravanan.vijayamuthu@gmail.com"><strong>reach me</strong></a></p><h3>Like this article? Follow <a href="https://www.instagram.com/saravanan.vijayamuthu/">@saravanan.vijayamuthu</a> on Instagram</h3><p><strong>My Website → </strong><a href="https://saravananvijayamuthu.herokuapp.com/">https://saravananvijayamuthu.herokuapp.com/</a></p><p><strong>Weather app → </strong><a href="https://gadot.vercel.app/">https://gadot.vercel.app/</a></p><p><strong>Github → </strong><a href="https://github.com/SaravananVijayamuthu">https://github.com/SaravananVijayamuthu</a></p><p><strong>Little Occult Affairs → </strong><a href="https://www.amazon.in/dp/8194619920/ref=cm_sw_r_cp_apa_i_GEHnFbXWYB45D">https://www.amazon.in/dp/8194619920/ref=cm_sw_r_cp_apa_i_GEHnFbXWYB45D</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=faf6e7543bb2" width="1" height="1" alt=""><hr><p><a href="https://medium.com/front-end-weekly/a-complete-guide-to-css-combinators-faf6e7543bb2">A COMPLETE GUIDE TO CSS COMBINATORS</a> was originally published in <a href="https://medium.com/front-end-weekly">Frontend Weekly</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Effective approaches in JavaScript ]]></title>
            <link>https://medium.com/front-end-weekly/effective-approaches-in-javascript-4bd6dbc69c91?source=rss-aafe3fa0b006------2</link>
            <guid isPermaLink="false">https://medium.com/p/4bd6dbc69c91</guid>
            <category><![CDATA[web-development]]></category>
            <category><![CDATA[blogging]]></category>
            <category><![CDATA[technology]]></category>
            <category><![CDATA[javascript]]></category>
            <category><![CDATA[médium]]></category>
            <dc:creator><![CDATA[SaravananVijayamuthu]]></dc:creator>
            <pubDate>Mon, 27 Jul 2020 16:21:10 GMT</pubDate>
            <atom:updated>2020-10-10T17:21:10.096Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*sndNDXQJLhE9QzufCjIRHg.png" /></figure><h3>🔅 Use { } instead of new Object( )</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*MpVIsKy5No9cmM71f8_UeA.png" /></figure><p>Similarly, always treat numbers, strings, or booleans as primitive values. Not as objects. Because →</p><iframe src="" width="0" height="0" frameborder="0" scrolling="no"><a href="https://medium.com/media/25b5eb551dd3d7ea10f8040d774d72ff/href">https://medium.com/media/25b5eb551dd3d7ea10f8040d774d72ff/href</a></iframe><blockquote>I don’t use <strong>‘var’</strong>. I use<strong> ‘let’ </strong>and<strong> ‘const’</strong></blockquote><p>◾ <strong><em>`var`</em></strong> is now <strong>the weakest signal available </strong>when you define a variable in JavaScript. The variable may or may not be reassigned, and the variable may or may not be used for an entire function.</p><p>◾ I use <strong><em>`let`</em></strong> when I need to reassign a variable( like the counter in a loop ). The variable will be used <strong>only in the block it’s defined in.</strong></p><p>◾ <strong><em>`const`</em></strong> is a signal that <strong>the identifier won’t be reassigned. </strong>If I don’t need to reassign, <strong><em>`const`</em> is my default choice</strong> over <strong><em>`let`. </em></strong>Since I want the usage to be as simple as possible in the Code.</p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fupscri.be%2Ff%2F788447%3Fas_embed%3Dtrue&amp;dntp=1&amp;display_name=Upscribe&amp;url=https%3A%2F%2Fupscri.be%2F788447%2F&amp;type=text%2Fhtml&amp;schema=upscri" width="800" height="400" frameborder="0" scrolling="no"><a href="https://medium.com/media/18214d8333adbb5668f31791a3202b60/href">https://medium.com/media/18214d8333adbb5668f31791a3202b60/href</a></iframe><h3>🔅 Use Comments</h3><p>◾ To <strong>increase </strong>readability.</p><p>◾ To <strong>debug </strong>errors.</p><p>◾ It’s really helpful once you hand over the project to new people.</p><iframe src="" width="0" height="0" frameborder="0" scrolling="no"><a href="https://medium.com/media/2df9034d7dffe939f595b4213f1d545d/href">https://medium.com/media/2df9034d7dffe939f595b4213f1d545d/href</a></iframe><h3>🔅 Reduce global variables</h3><p>◾ It significantly <strong>reduces </strong>the chance of <strong>bad interactions </strong>with other applications, widgets, or libraries.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*rIjxUQID3zcafR7FCe_-DA.png" /></figure><blockquote><strong><em>Downsize apps into smaller segments and use “import” to load whenever required.</em></strong></blockquote><h3>🔅 <strong>Use === instead of ==</strong></h3><p>◾ When use <strong>== </strong>your variable will be converted to match types, whereas <strong>=== </strong>the operator forces a comparison of <strong>values </strong>and <strong>types</strong>.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/411/1*13J_SY2DXrpk47FqTQAg3w.png" /></figure><h3>🔅 <strong>Use strict</strong></h3><p>◾ You can’t use a variable without declaring it.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/829/1*8EdXb4Hkm5y6BmAFABcyHQ.png" /></figure><blockquote>Use template strings over the concatenation of strings it feels much easier and readable</blockquote><figure><a href="https://ko-fi.com/saravananvijayamuthu"><img alt="" src="https://cdn-images-1.medium.com/max/170/1*LOP7wcGlXdiz-NF6CoktKw.png" /></a></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/563/1*-U6aTlq1Nw9Q5i7521VlzA.gif" /></figure><p><strong>If anything is not clear or you want to point out something, please </strong><a href="mailto:saravanan.vijayamuthu@gmail.com"><strong>reach me</strong></a></p><h3>Like this article? Follow <a href="https://www.instagram.com/saravanan.vijayamuthu/">@saravanan.vijayamuthu</a> on Instagram</h3><p><strong>My Website → </strong><a href="https://saravananvijayamuthu.herokuapp.com/">https://saravananvijayamuthu.herokuapp.com/</a></p><p><strong>Weather app → </strong><a href="https://gadot.vercel.app/">https://gadot.vercel.app/</a></p><p><strong>Github → </strong><a href="https://github.com/SaravananVijayamuthu">https://github.com/SaravananVijayamuthu</a></p><p><strong>Little Occult Affairs → </strong><a href="https://www.amazon.in/dp/8194619920/ref=cm_sw_r_cp_apa_i_GEHnFbXWYB45D">https://www.amazon.in/dp/8194619920/ref=cm_sw_r_cp_apa_i_GEHnFbXWYB45D</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=4bd6dbc69c91" width="1" height="1" alt=""><hr><p><a href="https://medium.com/front-end-weekly/effective-approaches-in-javascript-4bd6dbc69c91">Effective approaches in JavaScript 👻</a> was originally published in <a href="https://medium.com/front-end-weekly">Frontend Weekly</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[‘THIS’ IN JAVASCRIPT ]]></title>
            <link>https://medium.com/front-end-weekly/this-in-javascript-40a55b26d5c2?source=rss-aafe3fa0b006------2</link>
            <guid isPermaLink="false">https://medium.com/p/40a55b26d5c2</guid>
            <category><![CDATA[blogging]]></category>
            <category><![CDATA[quarantine]]></category>
            <category><![CDATA[web-developer]]></category>
            <category><![CDATA[javascript]]></category>
            <category><![CDATA[learning]]></category>
            <dc:creator><![CDATA[SaravananVijayamuthu]]></dc:creator>
            <pubDate>Wed, 15 Jul 2020 10:42:20 GMT</pubDate>
            <atom:updated>2020-10-10T17:21:29.177Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Y_mxq3EjxaCPamaHN1-aXQ.png" /></figure><h3>‘THIS’ Keyword</h3><p><strong>This </strong>keyword in Javascript refers to the main object which it belongs to and it has different values where it is used:</p><ol><li>Inside a method or object, this refers to the <strong>owner/current object</strong>.</li><li>Alone or inside a function it refers to the <strong>global object</strong>(window object in browsers).</li></ol><figure><img alt="" src="https://cdn-images-1.medium.com/max/744/1*mQsImn5cLt9Y63goSkCUfg.png" /></figure><p>Here this refers to the owner/current object welcome</p><p><strong>Now let’s try the same example with arrow function and normal method</strong></p><iframe src="" width="0" height="0" frameborder="0" scrolling="no"><a href="https://medium.com/media/75d34daf6c249add0cea3ca83e105ff5/href">https://medium.com/media/75d34daf6c249add0cea3ca83e105ff5/href</a></iframe><p>Here <strong>welcomeMethod()</strong> is a method inside the object so this refers to the current object, but for arrow function, this always points to the closest function scope. Since welcome is not a function so the this inside the arrowFunc() points to the global object(in browser window object).</p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fupscri.be%2Ff%2F788447%3Fas_embed%3Dtrue&amp;dntp=1&amp;display_name=Upscribe&amp;url=https%3A%2F%2Fupscri.be%2F788447%2F&amp;type=text%2Fhtml&amp;schema=upscri" width="800" height="400" frameborder="0" scrolling="no"><a href="https://medium.com/media/18214d8333adbb5668f31791a3202b60/href">https://medium.com/media/18214d8333adbb5668f31791a3202b60/href</a></iframe><p><strong>Now let&#39;s try the same inside a function.</strong></p><iframe src="" width="0" height="0" frameborder="0" scrolling="no"><a href="https://medium.com/media/7903aa095aaacd4d87d9c787d14b043b/href">https://medium.com/media/7903aa095aaacd4d87d9c787d14b043b/href</a></iframe><p><strong>arrowFunc()</strong>: <strong>this </strong>points to the nearest function scope and so prints ‘<strong>Saravanan Vijayamuthu</strong>’.</p><p><strong>normalFunc()</strong>: <strong>this </strong>points to the global object, which does not have the property ‘name’ and so prints <strong>undefined</strong>.</p><figure><a href="https://ko-fi.com/saravananvijayamuthu"><img alt="" src="https://cdn-images-1.medium.com/max/170/1*LOP7wcGlXdiz-NF6CoktKw.png" /></a></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/563/1*-U6aTlq1Nw9Q5i7521VlzA.gif" /></figure><p><strong>If anything is not clear or you want to point out something, please </strong><a href="mailto:saravanan.vijayamuthu@gmail.com"><strong>reach me</strong></a></p><h3>Like this article? Follow <a href="https://www.instagram.com/saravanan.vijayamuthu/">@saravanan.vijayamuthu</a> on Instagram</h3><p><strong>My Website → </strong><a href="https://saravananvijayamuthu.herokuapp.com/">https://saravananvijayamuthu.herokuapp.com/</a></p><p><strong>Weather app → </strong><a href="https://gadot.vercel.app/">https://gadot.vercel.app/</a></p><p><strong>Github → </strong><a href="https://github.com/SaravananVijayamuthu">https://github.com/SaravananVijayamuthu</a></p><p><strong>Little Occult Affairs → </strong><a href="https://www.amazon.in/dp/8194619920/ref=cm_sw_r_cp_apa_i_GEHnFbXWYB45D">https://www.amazon.in/dp/8194619920/ref=cm_sw_r_cp_apa_i_GEHnFbXWYB45D</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=40a55b26d5c2" width="1" height="1" alt=""><hr><p><a href="https://medium.com/front-end-weekly/this-in-javascript-40a55b26d5c2">‘THIS’ IN JAVASCRIPT 💡</a> was originally published in <a href="https://medium.com/front-end-weekly">Frontend Weekly</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Responsive Web Design Guide]]></title>
            <link>https://medium.com/front-end-weekly/responsive-web-design-guide-e0676b46b845?source=rss-aafe3fa0b006------2</link>
            <guid isPermaLink="false">https://medium.com/p/e0676b46b845</guid>
            <category><![CDATA[blogging]]></category>
            <category><![CDATA[web-development]]></category>
            <category><![CDATA[full-stack]]></category>
            <category><![CDATA[css]]></category>
            <category><![CDATA[html]]></category>
            <dc:creator><![CDATA[SaravananVijayamuthu]]></dc:creator>
            <pubDate>Tue, 07 Jul 2020 15:12:53 GMT</pubDate>
            <atom:updated>2020-10-10T17:21:49.524Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/626/1*6bKMKs04AzgYqUvGf4Np1A.jpeg" /></figure><h3>💡Guide #1</h3><p><strong>— — -&gt; Set the viewport</strong></p><p>The viewport is the user’s visible area of a web page.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/832/1*_h21t_p8lpxedlToHKff4Q.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/840/1*fcZoJdxz7ywAcHfiSS_YYg.jpeg" /></figure><h3>💡Guide #2</h3><p><strong>— — -&gt; Use Media Queries</strong></p><p>Media quires are a CSS feature that allows content on the webpage to <strong>adapt </strong>to <strong>different screen sizes</strong> and <strong>resolutions</strong>.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/566/1*RORwH6cjN0HOlJguscz6Uw.png" /></figure><h3>💡Guide #3</h3><p><strong>— — -&gt; Design for mobile-first</strong></p><p>When we build a website, we must start with the mobile design first.</p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fupscri.be%2Ff%2F788447%3Fas_embed%3Dtrue&amp;dntp=1&amp;display_name=Upscribe&amp;url=https%3A%2F%2Fupscri.be%2F788447%2F&amp;type=text%2Fhtml&amp;schema=upscri" width="800" height="400" frameborder="0" scrolling="no"><a href="https://medium.com/media/18214d8333adbb5668f31791a3202b60/href">https://medium.com/media/18214d8333adbb5668f31791a3202b60/href</a></iframe><p>If you use chrome Try this extension <a href="https://chrome.google.com/webstore/detail/responsive-web-design-tes/bdpelkpfhjfiacjeobkhlkkgaphbobea"><strong>Responsive Web Design Tester</strong></a></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*ofg6gFahymrOR7BYzYfZZw.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*WfBTb9aTQys-6bdJQF2CxA.png" /></figure><h3>💡Guide #4</h3><p><strong>— — -&gt; Use SVG for icons</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/640/1*uA56SknPCMkQOfItkbb18w.png" /></figure><h3>SVG PROS</h3><p>🎯 Faster loading times</p><p>🎯 Better rendering quality</p><p>🎯 Scalable without using image editors</p><p>🎯 SVG can be indexed by Google</p><p>🎯 Developers can edit using the code</p><p>🎯 Graphics can be animated</p><h3>💡Guide #5</h3><p><strong>— — -&gt; Use Relative Units</strong></p><p>Don’t use fixed units like <strong>px, pt, cm, </strong>and so on. <strong>Use % </strong>instead</p><p><strong>👎 Not Recommended</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/420/1*h14IVto0jSxQA9-pCqHooA.png" /></figure><p>👍 <strong>Recommended</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/456/1*qs_U96JjLw6ZfMol-7wg-w.png" /></figure><h3>💡Guide #6</h3><p><strong>— — -&gt; Understand the patterns</strong></p><p>You also have to understand how <strong>“display” </strong>property works.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/570/1*0nYHgG0yPQyobIsUup9rZQ.png" /></figure><blockquote><em>Know the difference</em></blockquote><figure><img alt="" src="https://cdn-images-1.medium.com/max/1000/1*niGLrgzTAXfNNaK3SgNjQg.png" /></figure><figure><a href="https://ko-fi.com/saravananvijayamuthu"><img alt="" src="https://cdn-images-1.medium.com/max/170/1*LOP7wcGlXdiz-NF6CoktKw.png" /></a></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/625/1*wYwuTnOOYgfW0GoeMvz9kg.gif" /></figure><p><strong>If anything is not clear or you want to point out something, please </strong><a href="mailto:saravanan.vijayamuthu@gmail.com"><strong>reach me</strong></a></p><h3>Like this article? Follow <a href="https://www.instagram.com/saravanan.vijayamuthu/">@saravanan.vijayamuthu</a> on Instagram</h3><p><strong>My Website → </strong><a href="https://saravananvijayamuthu.herokuapp.com/">https://saravananvijayamuthu.herokuapp.com/</a></p><p><strong>Weather app → </strong><a href="https://gadot.vercel.app/">https://gadot.vercel.app/</a></p><p><strong>Github → </strong><a href="https://github.com/SaravananVijayamuthu">https://github.com/SaravananVijayamuthu</a></p><p><strong>Little Occult Affairs → </strong><a href="https://www.amazon.in/dp/8194619920/ref=cm_sw_r_cp_apa_i_GEHnFbXWYB45D">https://www.amazon.in/dp/8194619920/ref=cm_sw_r_cp_apa_i_GEHnFbXWYB45D</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=e0676b46b845" width="1" height="1" alt=""><hr><p><a href="https://medium.com/front-end-weekly/responsive-web-design-guide-e0676b46b845">Responsive Web Design Guide</a> was originally published in <a href="https://medium.com/front-end-weekly">Frontend Weekly</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[How to use Webp format (.webp)]]></title>
            <link>https://medium.com/front-end-weekly/how-to-use-webp-format-webp-d7ae00bce3c4?source=rss-aafe3fa0b006------2</link>
            <guid isPermaLink="false">https://medium.com/p/d7ae00bce3c4</guid>
            <category><![CDATA[full-stack]]></category>
            <category><![CDATA[blog]]></category>
            <category><![CDATA[javascript]]></category>
            <category><![CDATA[google]]></category>
            <category><![CDATA[web-development]]></category>
            <dc:creator><![CDATA[SaravananVijayamuthu]]></dc:creator>
            <pubDate>Fri, 26 Jun 2020 15:41:35 GMT</pubDate>
            <atom:updated>2020-10-10T17:22:12.608Z</atom:updated>
            <content:encoded><![CDATA[<blockquote><strong><em>Here is what you need to learn about the WebP interface created by @</em></strong><a href="https://www.instagram.com/google/"><strong><em>google</em></strong></a><strong><em> to start using it today.</em></strong></blockquote><figure><img alt="" src="https://cdn-images-1.medium.com/max/625/1*vyWrEVBebREW86XP8I5x2w.jpeg" /></figure><h3>✍ Description</h3><h4><strong>Webp </strong>is a modern image format developed by Google that provides superior lossless and lossy compression for images on the web.<strong> Webs’ lossless images are? </strong>6% smaller in size compared to PNGs. WebP lossy images are 5–34% smalls than comparable JPEG images at equivalent SSIM quality index. Unfortunately, some devices and tools do not support WebP yet.</h4><h3>💫 Conversion</h3><h4><strong>Google provides the cweb — CLI converter. It supports PNG, JPEG, TIFF, and raw Y’CbCr samples.</strong></h4><h3>💥Installation💥:</h3><h4>Mac: (Brew): brew install webp</h4><h4>Ubuntu: apt-get install webp</h4><h4>Windows (chokolatey): choco install webp</h4><h3>💥Usage💥</h3><h4>cwebp [opt] pic.png -o pic.webp</h4><h4>cwebp [opt] pic.webp — — -pic.png</h4><h3>🌟 Browser Support</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/902/1*hR7f-zYiJ3qYa3fK4uXEGg.png" /></figure><h4>WebP is going to be supported by Safari (and other Apple products) soon. For now, there is a polyfill library that makes WebP files readable by all browsers: <a href="https://github.com/chase-moskal/webp-hero">github.com/chase-moskal/webp-hero</a></h4><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fupscri.be%2Ff%2F788447%3Fas_embed%3Dtrue&amp;dntp=1&amp;display_name=Upscribe&amp;url=https%3A%2F%2Fupscri.be%2F788447%2F&amp;type=text%2Fhtml&amp;schema=upscri" width="800" height="400" frameborder="0" scrolling="no"><a href="https://medium.com/media/18214d8333adbb5668f31791a3202b60/href">https://medium.com/media/18214d8333adbb5668f31791a3202b60/href</a></iframe><h3>🔥 Usage</h3><h4>Support of WebP format can be extended to all browsers by use of the polyfil tool WebP-Hero.</h4><h4>❄ Load the polyfils and the webp-hero:</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*icJQLBk0z_e4lg8IRscTyg.png" /></figure><h4>❄ run polyfill function:</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*g0XURVdsRIC2cuYJhn7Nmg.png" /></figure><figure><a href="https://ko-fi.com/saravananvijayamuthu"><img alt="" src="https://cdn-images-1.medium.com/max/170/1*LOP7wcGlXdiz-NF6CoktKw.png" /></a></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/625/1*wYwuTnOOYgfW0GoeMvz9kg.gif" /></figure><p><strong>If anything is not clear or you want to point out something, please </strong><a href="mailto:saravanan.vijayamuthu@gmail.com"><strong>reach me</strong></a></p><h3>Like this article? Follow <a href="https://www.instagram.com/saravanan.vijayamuthu/">@saravanan.vijayamuthu</a> on Instagram</h3><p><strong>My Website → </strong><a href="https://saravananvijayamuthu.herokuapp.com/">https://saravananvijayamuthu.herokuapp.com/</a></p><p><strong>Weather app → </strong><a href="https://gadot.vercel.app/">https://gadot.vercel.app/</a></p><p><strong>Github → </strong><a href="https://github.com/SaravananVijayamuthu">https://github.com/SaravananVijayamuthu</a></p><p><strong>Little Occult Affairs → </strong><a href="https://www.amazon.in/dp/8194619920/ref=cm_sw_r_cp_apa_i_GEHnFbXWYB45D">https://www.amazon.in/dp/8194619920/ref=cm_sw_r_cp_apa_i_GEHnFbXWYB45D</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=d7ae00bce3c4" width="1" height="1" alt=""><hr><p><a href="https://medium.com/front-end-weekly/how-to-use-webp-format-webp-d7ae00bce3c4">How to use Webp format (.webp)</a> was originally published in <a href="https://medium.com/front-end-weekly">Frontend Weekly</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[JavaScript Shorthand Coding Techniques]]></title>
            <link>https://medium.com/@saravananvijayamuthu/javascript-shorthand-coding-techniques-d2eab1f7bfc?source=rss-aafe3fa0b006------2</link>
            <guid isPermaLink="false">https://medium.com/p/d2eab1f7bfc</guid>
            <category><![CDATA[javascript]]></category>
            <category><![CDATA[javascript-tips]]></category>
            <category><![CDATA[web-development]]></category>
            <category><![CDATA[quarantine]]></category>
            <category><![CDATA[coding]]></category>
            <dc:creator><![CDATA[SaravananVijayamuthu]]></dc:creator>
            <pubDate>Mon, 22 Jun 2020 13:43:04 GMT</pubDate>
            <atom:updated>2020-10-10T17:22:32.519Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/750/1*xINZDy5rAduyLqoFhtFexg.jpeg" /></figure><h3>✨ The Ternary Operator ✨</h3><h4>Longhand 👉</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/494/1*X9QpHNf-IlKPKTlpwi2OTw.png" /></figure><h4>Shorthand 🤏</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/630/1*fvE3X8FDNW8LferK6SVg2w.png" /></figure><h3>✨ Short-circuit ✨</h3><blockquote><strong><em>Evaluation Shorthand</em></strong></blockquote><h4>Longhand 👉</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/625/1*kQyedje8tBRW2g1WWTaG_g.png" /></figure><h4>Shorthand 🤏</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/336/1*SMA70ARRCMMQ8J9rY4qa6Q.png" /></figure><p>When assigning a variable value to another variable, you may want to ensure that the source variable is not null or empty. You can either write a long if-else statement with multiple conditionals, or use short-circuit evaluation.</p><h3>✨ Declaring Variables Shorthand ✨</h3><h4>Longhand 👉</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/344/1*l0sS2Zgr1h2a82451gNmFA.png" /></figure><h4>Shorthand 🤏</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/368/1*e6atFZl8Gj72e11dY2xF1A.png" /></figure><p>It’s a good practice to declare your variable assignments at the beginning of your functions. This shorthand method can save time and space when you are declaring multiple variables at the same time.</p><h3>✨ If Presence Shorthand ✨</h3><h4>Longhand 👉</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/384/1*yAeAGEqe_KKJUgyOqgKABQ.png" /></figure><h4>Shorthand 🤏</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/332/1*VHbHGPVzPdi6NM-ci5l0ew.png" /></figure><p>This might be meaningless, but worth a mention. When doing “if checks”, assignment operators can sometimes be omitted.</p><blockquote><strong><em>NOTE: THESE TWO EXAMPLES ARE NOT EXACTLY EQUAL, AS SHORTHAND CHECK WILL PASS AS LONG AS LIKE JS IS A TRUTHY VALUE.</em></strong></blockquote><h3>✨ JavaScript for Loop Shorthand ✨</h3><h4>Longhand 👉</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/573/1*rrECZgo4n1jBUAIdiF-Rgw.png" /></figure><h4>Shorthand 🤏</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/288/1*ezEqeSfvuIQaCKyEg7JvRQ.png" /></figure><h4>If you wanted to access the index, do:</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/311/1*U_w_o9KxFUcIxrSmwVautg.png" /></figure><h3>✨ Short-circuit ✨</h3><blockquote><strong><em>Evaluation</em></strong></blockquote><h4>Longhand 👉</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/451/1*HSY8VaUffzjZeTXW95Fk1g.png" /></figure><h4>Shorthand 🤏</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/531/1*hTZd3-KC2ihXcyvSTNXyNQ.png" /></figure><h3>✨ Decimal Based Exponents ✨</h3><h4>Longhand 👉</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/466/1*d619hzzbUZj4eBv-gIQXkw.png" /></figure><h4>Shorthand 🤏</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/553/1*pDgNKLGDz2ZPUIiJyfXW0w.png" /></figure><h3>✨ Object Property Shorthand ✨</h3><h4>Longhand 👉</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/311/1*eBW8KThxWxNCIzuYXAwCSw.png" /></figure><h4>Shorthand 🤏</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/380/1*SMQbdBlC9HNywgXkHtvaBQ.png" /></figure><p>Defining objects in JS makes work much easier. <strong>ES6 </strong>provides an even easier way of assigning properties to objects. If the variable name is the same as the object key, you can take advantage of shorthand notation.</p><figure><a href="https://ko-fi.com/saravananvijayamuthu"><img alt="" src="https://cdn-images-1.medium.com/max/170/1*LOP7wcGlXdiz-NF6CoktKw.png" /></a></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/563/1*-U6aTlq1Nw9Q5i7521VlzA.gif" /></figure><p><strong>If anything is not clear or you want to point out something, please </strong><a href="mailto:saravanan.vijayamuthu@gmail.com"><strong>reach me</strong></a></p><h3>Like this article? Follow <a href="https://www.instagram.com/saravanan.vijayamuthu/">@saravanan.vijayamuthu</a> on Instagram</h3><p><strong>My Website → </strong><a href="https://saravananvijayamuthu.herokuapp.com/">https://saravananvijayamuthu.herokuapp.com/</a></p><p><strong>Weather app → </strong><a href="https://gadot.vercel.app/">https://gadot.vercel.app/</a></p><p><strong>Github → </strong><a href="https://github.com/SaravananVijayamuthu">https://github.com/SaravananVijayamuthu</a></p><p><strong>Little Occult Affairs → </strong><a href="https://www.amazon.in/dp/8194619920/ref=cm_sw_r_cp_apa_i_GEHnFbXWYB45D">https://www.amazon.in/dp/8194619920/ref=cm_sw_r_cp_apa_i_GEHnFbXWYB45D</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=d2eab1f7bfc" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Why does GOOGLE hate your website?]]></title>
            <link>https://medium.com/saravananraghul/why-does-google-hate-your-website-2809ec6a89bb?source=rss-aafe3fa0b006------2</link>
            <guid isPermaLink="false">https://medium.com/p/2809ec6a89bb</guid>
            <category><![CDATA[google]]></category>
            <category><![CDATA[code]]></category>
            <category><![CDATA[web-development]]></category>
            <category><![CDATA[full-stack]]></category>
            <category><![CDATA[blog]]></category>
            <dc:creator><![CDATA[SaravananVijayamuthu]]></dc:creator>
            <pubDate>Fri, 05 Jun 2020 09:39:01 GMT</pubDate>
            <atom:updated>2020-10-10T17:22:53.901Z</atom:updated>
            <content:encoded><![CDATA[<h4>Today, we’re going to demonstrate to you an SEO sin that will kill your Google ranking.</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*1VikS9XAJQYUYUZZCbtoRw.jpeg" /></figure><h4>Google is the Algorithm you need to win over for your website to expand.</h4><blockquote><strong><em>But why does it hate you so much?</em></strong></blockquote><p>Websites are made up of things called <strong>TAGS</strong>. And every <strong>TAG </strong>has its own function.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/626/1*Wg9-h0_1GSAnZsoNL8RwuA.jpeg" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/700/1*ami4sjVK0YUe9B8nHlficA.png" /></figure><h3>&lt; H1 &gt; &lt;/H1&gt; TAG is unique to headings.</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/798/1*szUIA2i7e6mwkHtxTH83OQ.png" /></figure><h3>&lt; P&gt; &lt;/P&gt; TAG is unique to paragraphs.</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/480/1*MaJmXaAJQkU3aZgwpkKDQw.jpeg" /></figure><h3>&lt; IMG&gt; TAG is unique to images.</h3><h3>GOOGLE literally examines these TAGS and deduces the text or details displayed on the website.</h3><blockquote><strong><em>Example TEXT in &lt; H1&gt;&lt;/H1 &gt; TAG is seen in the Google result as an iconic bold blue link.</em></strong></blockquote><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*4KvotP_9yRblYJ9RgWHBIw.jpeg" /></figure><p>When the<strong> amature front-end web developers </strong>(you mean those who write Javascript, CSS, and Javas-cript?)<strong> wrap any Javascript feature they can possibly have in enough &lt; div &gt; elements to make your eyes bleed</strong>. I may sound a little pessimistic about it, but frankly, some days it does seem that way.</p><blockquote><strong><em>Now, Google’s going to get lost and never figure out what the content is about</em></strong></blockquote><h3><strong><em>It’s the unnecessary use of div tags. Div tags are incredibly flexible features on a website that help to represent a particular item.</em></strong></h3><blockquote><em>Yet a poor organization or an amature coder may only use div tags to complete the website. Disregard of every other usable name.</em></blockquote><p><strong>Don’t get me wrong DIV TAG is very useful &amp; versatile TAG but don’t use it everywhere.</strong></p><figure><a href="https://ko-fi.com/saravananvijayamuthu"><img alt="" src="https://cdn-images-1.medium.com/max/170/1*LOP7wcGlXdiz-NF6CoktKw.png" /></a></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/625/1*wYwuTnOOYgfW0GoeMvz9kg.gif" /></figure><p><strong>If anything is not clear or you want to point out something, please </strong><a href="mailto:saravanan.vijayamuthu@gmail.com"><strong>reach me</strong></a></p><h3>Like this article? Follow <a href="https://www.instagram.com/saravanan.vijayamuthu/">@saravanan.vijayamuthu</a> on Instagram</h3><p><strong>My Website → </strong><a href="https://saravananvijayamuthu.herokuapp.com/">https://saravananvijayamuthu.herokuapp.com/</a></p><p><strong>Weather app → </strong><a href="https://gadot.vercel.app/">https://gadot.vercel.app/</a></p><p><strong>Github → </strong><a href="https://github.com/SaravananVijayamuthu">https://github.com/SaravananVijayamuthu</a></p><p><strong>Little Occult Affairs → </strong><a href="https://www.amazon.in/dp/8194619920/ref=cm_sw_r_cp_apa_i_GEHnFbXWYB45D">https://www.amazon.in/dp/8194619920/ref=cm_sw_r_cp_apa_i_GEHnFbXWYB45D</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=2809ec6a89bb" width="1" height="1" alt=""><hr><p><a href="https://medium.com/saravananraghul/why-does-google-hate-your-website-2809ec6a89bb">Why does GOOGLE hate your website?</a> was originally published in <a href="https://medium.com/saravananraghul">Web Engineering</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[CSS Glitch Effect]]></title>
            <link>https://medium.com/saravananraghul/css-glitch-effect-ba9981b1f5b?source=rss-aafe3fa0b006------2</link>
            <guid isPermaLink="false">https://medium.com/p/ba9981b1f5b</guid>
            <category><![CDATA[css-animation]]></category>
            <category><![CDATA[css]]></category>
            <category><![CDATA[css3]]></category>
            <category><![CDATA[web-development]]></category>
            <category><![CDATA[code]]></category>
            <dc:creator><![CDATA[SaravananVijayamuthu]]></dc:creator>
            <pubDate>Tue, 02 Jun 2020 16:58:13 GMT</pubDate>
            <atom:updated>2020-10-10T17:23:19.983Z</atom:updated>
            <content:encoded><![CDATA[<p><strong>Today, let’s see how to make a text glitch using the CSS</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/800/1*o1-YBM5K6ptewmACKUWtpw.gif" /></figure><h3>HTML</h3><blockquote><strong><em>&lt;!doctype html&gt;<br>&lt;html&gt;<br>&lt;head&gt;<br> &lt;meta charset=”utf-8&quot; /&gt;<br> &lt;meta name=”author” content=”Web Engineering” /&gt;<br> &lt;title&gt;CSS Glitch Effect&lt;/title&gt;<br> &lt;link rel=”stylesheet” type=”text/css” href=”style.css” /&gt;<br>&lt;/head&gt;<br>&lt;body&gt;<br> &lt;div title=”Comment what You want to learn next “&gt;<br> Comment what You want to learn next <br> &lt;/div&gt;<br>&lt;/body&gt;<br>&lt;/html&gt;</em></strong></blockquote><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*_o09RfjoCB7BOIrP8J3xKw.png" /></figure><p><strong>Make sure both the title and the material within the div is the same. If both are different, they can override each other.</strong></p><p>I’ve linked css as an external css, so you can have an internal css that depends on you.</p><p>You can use the div tag within the body tag where you need to add the glitch.</p><p><strong>Since the key component is CSS, the CSS section is going to be long.</strong></p><h3>CSS</h3><h4>Body that covers the overall style of the HTML document.</h4><blockquote><strong><em>body<br>{<br> display: flex;<br> width: 100vw;<br> height: 100vh;<br> align-items: center;<br> justify-content: center;<br> margin: 0;<br> background: #131313;<br> color: #fff;<br> font-size: 96px;<br> font-family: sans-serif;<br> letter-spacing: -7px;<br>}</em></strong></blockquote><figure><img alt="" src="https://cdn-images-1.medium.com/max/724/1*W2ZpHVSEOB1wGyOAb4PsOQ.png" /></figure><h4>Now let’s see the div look</h4><blockquote><strong><em>div<br>{<br> animation: glitch 1s linear infinite;<br>}<br>@keyframes glitch<br>{<br> 2%,64%<br> {<br> transform: translate(2px,0) skew(0deg);<br> }<br> 4%,60%<br> {<br> transform: translate(-2px,0) skew(0deg);<br> }<br> 62%<br> {<br> transform: translate(0px,0px) skew(5deg);<br> }<br>}<br>div:before,div:after<br>{<br> content: attr(title);<br> position: absolute;<br> left: 0;<br>}<br>div:before<br>{<br> animation: glitchtop 1s linear infinite;<br> clip-path:polygon(0 0,100% 0,100% 33%,0 33%);<br>}<br>@keyframes glitchtop<br>{<br> 2%,64%<br> {<br> transform: translate(2px,-2px);<br> }<br> 4%,60%<br> {<br> transform: translate(-2px,2px);<br> }<br> 62%<br> {<br> transform: translate(13px,-1px) skew(-13deg);<br> }<br>}<br>div:after<br>{<br> animation: glitchbottom 1.5s linear infinite;<br> clip-path: polygon(0 67%,100% 67%,100% 100%,0 100%);<br>}<br>@keyframes glitchbottom<br>{<br> 2%,64%<br> {<br> transform: translate(-2px,0);<br> }<br> 4%,60%<br> {<br> transform: translate(-2px,0);<br> }<br> 62%<br> {<br> transform: translate(-22px,5px) skew(21deg);<br> }<br>}</em></strong></blockquote><p><strong>Since we use the animation property, it has to be defined with the keyframes.</strong></p><blockquote><strong><em>Each @keyframe at-rule determines what will happen at different times during the animation. For example, 0 percent is the beginning of the animation and 100 percent is the end of the animation.</em></strong></blockquote><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*A0piMbn5JK2kxnmI3exSpQ.png" /></figure><p>We split div as <strong>div: before</strong> and<strong> div: after</strong>. And <strong>div: before, for the top of the glitch-text</strong>, and<strong> after, for the bottom of the glitch-text.</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*IH2BIlvmURmAQ9Omcnb2_w.png" /></figure><blockquote><strong><em>The clip-path property in the CSS allows you to designate a particular section of the item to be shown, rather than the whole field.</em></strong></blockquote><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*41m5rJziWg8tSUZ2Y6Ldfw.png" /></figure><h3><strong>Here I’m including an HTML and CSS FILE screenshot</strong></h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1010/1*xEtrSOmGWsNCxeRXOr8oaw.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*dd6Lsa_1UV1ziZm1JkgHFQ.png" /></figure><figure><a href="https://ko-fi.com/saravananvijayamuthu"><img alt="" src="https://cdn-images-1.medium.com/max/170/1*LOP7wcGlXdiz-NF6CoktKw.png" /></a></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/625/1*wYwuTnOOYgfW0GoeMvz9kg.gif" /></figure><p><strong>If anything is not clear or you want to point out something, please </strong><a href="mailto:saravanan.vijayamuthu@gmail.com"><strong>reach me</strong></a></p><h3>Like this article? Follow <a href="https://www.instagram.com/saravanan.vijayamuthu/">@saravanan.vijayamuthu</a> on Instagram</h3><p><strong>My Website → </strong><a href="https://saravananvijayamuthu.herokuapp.com/">https://saravananvijayamuthu.herokuapp.com/</a></p><p><strong>Weather app → </strong><a href="https://gadot.vercel.app/">https://gadot.vercel.app/</a></p><p><strong>Github → </strong><a href="https://github.com/SaravananVijayamuthu">https://github.com/SaravananVijayamuthu</a></p><p><strong>Little Occult Affairs → </strong><a href="https://www.amazon.in/dp/8194619920/ref=cm_sw_r_cp_apa_i_GEHnFbXWYB45D">https://www.amazon.in/dp/8194619920/ref=cm_sw_r_cp_apa_i_GEHnFbXWYB45D</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=ba9981b1f5b" width="1" height="1" alt=""><hr><p><a href="https://medium.com/saravananraghul/css-glitch-effect-ba9981b1f5b">CSS Glitch Effect</a> was originally published in <a href="https://medium.com/saravananraghul">Web Engineering</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
    </channel>
</rss>