<?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: Chrissie</title>
    <description>The latest articles on DEV Community by Chrissie (@chrissiemhrk).</description>
    <link>https://dev.to/chrissiemhrk</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%2F402409%2F801bc2de-29ff-46c2-82ac-b20052d1bcbb.jpg</url>
      <title>DEV Community: Chrissie</title>
      <link>https://dev.to/chrissiemhrk</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/chrissiemhrk"/>
    <language>en</language>
    <item>
      <title>How to use interactive rebase in git</title>
      <dc:creator>Chrissie</dc:creator>
      <pubDate>Sat, 26 Jun 2021 09:47:06 +0000</pubDate>
      <link>https://dev.to/chrissiemhrk/how-to-use-interactive-rebase-in-git-1mah</link>
      <guid>https://dev.to/chrissiemhrk/how-to-use-interactive-rebase-in-git-1mah</guid>
      <description>&lt;p&gt;I started my first professional job as a front-end developer a few months ago. It was both scary and thrilling. During that time, I learnt a lot of things and encountered a lot of problems, but one thing that really threw me off was git rebase.&lt;/p&gt;

&lt;p&gt;It was my first time using git rebase in any capacity, so I had a lot of trouble getting it to work. I remember spending a whole day learning about git rebase so that I wouldn't have to ask my coworkers for help every time I needed to rebase.&lt;/p&gt;

&lt;p&gt;I'll be sharing all I've learnt so far about git rebase with you.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is git rebase?
&lt;/h2&gt;

&lt;p&gt;Rebasing is the process of moving or combining a sequence of commits to a new base commit. While it is similar to merge the difference between these two commands is that while rebasing combines all modifications made in a branch into one patch while merging takes the changes from a source branch and integrates them with a target branch.&lt;/p&gt;

&lt;h2&gt;
  
  
  When do you use git rebase?
&lt;/h2&gt;

&lt;p&gt;Below are a several use cases where git rebase might be used. I will go through them in detail in a short while.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Edit commit messages&lt;/li&gt;
&lt;li&gt;  Remove commits&lt;/li&gt;
&lt;li&gt;  Combine commits together&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Edit commit messages
&lt;/h3&gt;

&lt;p&gt;Let’s say you made a typo in your latest commit messages, the best way to fix that is to use git commit --amend. Git commit --amend is a git command that allows us to modify the most recent commit and we do it like&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git commit --amend -m “new commit message”
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;But what if you want to change multiple commit messages or your fourth commit message?&lt;/p&gt;

&lt;p&gt;That’s when git rebase comes into play. Rebasing intervactively allows us to alter individual commits and to do so you type the following command in your terminal &lt;code&gt;git rebase -i HEAD~5&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;the -i option is what indicates that we are rebasing interactively&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;HEAD~5 indicates the number of commits you want to work with. In this case, it means that I'll be working with the last five commits I made&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg7n1d8d7jf72oa5e3ezh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg7n1d8d7jf72oa5e3ezh.png" alt="List of the last five commits"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As you can see in this image, after running &lt;code&gt;git rebase -i HEAD~5&lt;/code&gt; I get a list of the last five commits I made in this particular repository.&lt;/p&gt;

&lt;p&gt;Now if we want to edit the third and second commit message we have to replace the pick command with the reword command then save and quit the file.&lt;/p&gt;

&lt;p&gt;In the editor, you are given a list of commands that you can use while rebasing. Pick is selected as the default option.&lt;/p&gt;

&lt;p&gt;Replacing &lt;code&gt;pick&lt;/code&gt; with &lt;code&gt;reword&lt;/code&gt; indicates that you want to edit the commit message of that specific commit.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuodkxj3o58tbbh9i4yc6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuodkxj3o58tbbh9i4yc6.png" alt="Replaced pick with reword for the second and third commit in editor"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once you save and quit, you will be taken to another editor where you can edit the commit messages. If we once again run &lt;code&gt;git rebase -i HEAD~5&lt;/code&gt; this is the result.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbarzgyti3o3d26etrs82.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbarzgyti3o3d26etrs82.png" alt="List of the last five commits with the newly edited commit messages"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;You may have noticed that there are two ways to edit a commit when rebasing. Using the &lt;strong&gt;edit&lt;/strong&gt; command allows you to change both the commit message and the content of the commit while using the &lt;strong&gt;reword&lt;/strong&gt; command only allows you to change the commit message&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Remove commits
&lt;/h3&gt;

&lt;p&gt;This is especially useful when you find yourself with unwanted commits in your branch (whether made by you or your colleagues). Rebasing interactively allows us to select which commit we want to remove in our branch and gives us the possibility to remove that commit.&lt;/p&gt;

&lt;p&gt;Just like for editing commit messages, what we need to do is to replace the &lt;code&gt;pick&lt;/code&gt; command with the &lt;code&gt;drop&lt;/code&gt; command on the commit you want to remove.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff8waaarm6pjylbsie5rt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff8waaarm6pjylbsie5rt.png" alt="Replaced pick with drop for the third commit in editor"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once you save and quit your editor the changes will be applied and that commit will be removed along with all changes that had been made on that commit.&lt;/p&gt;

&lt;p&gt;Now instead of running the command &lt;code&gt;git rebase -i HEAD~5&lt;/code&gt; you'll run &lt;code&gt;git rebase -i HEAD~4&lt;/code&gt; as you have remove one commit.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq0iqelfp0aps1a4s3n58.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq0iqelfp0aps1a4s3n58.png" alt="List of the last four commits with the removed"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As you can see we have removed the third commit.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Be careful when using drop so as to not lose important changes.&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Combine commits together
&lt;/h3&gt;

&lt;p&gt;Next would be the &lt;code&gt;squash&lt;/code&gt; command. The &lt;code&gt;squash&lt;/code&gt; command allows us to combine two or more commits into one commit and write a new commit message to describe the new commit.&lt;/p&gt;

&lt;p&gt;We'll replace the &lt;code&gt;pick&lt;/code&gt; command with the &lt;code&gt;squash&lt;/code&gt; command on the commit you want to combine into the previous one.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn6w6jhe09u19n66cxix3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn6w6jhe09u19n66cxix3.png" alt="Replaced pick command with squash on the second and fourth commit"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once we save and quit, the second and fourth commit will be merge into the first commit. When you are squashing you're commits together, you merge the latest commits into the older commit which is why it is important to remember that our commits will be squashed from bottom to top.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcy4g8mbdjkz7pu7zisex.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcy4g8mbdjkz7pu7zisex.png" alt="New editor that allows us to change the commit message of the first, second, and fourth commit."&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When you use the squash command, you are given the option to edit the commit messages of the commits you want to squash together. If you want to use only one commit message, you can go ahead and comment the commit messages you don't want and remain with the commit message you want to use.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;The &lt;code&gt;fixup&lt;/code&gt; command works like the &lt;code&gt;squash&lt;/code&gt; command, the only difference is that the &lt;code&gt;fixup&lt;/code&gt; command will discard the commit message of the latest commit and remain with the commit message of the commit message of the commit they'll be merged into&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Next step
&lt;/h3&gt;

&lt;p&gt;Now the next step would be to push your commits to a remote branch. One thing to keep in mind is that you have rewritten you branch history by using git rebase so if the branch is already published you will have to force push the new changes by using&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git push --force origin name-of-the-branch-you-are-working-on
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Using force push can cause problems for anyone else working on the branch so unless you are the only one work on that particular branch, it is safer to first check with your colleagues working on that branch before proceeding.&lt;/p&gt;

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

&lt;p&gt;This is it! While this article doesn't cover everything there is to know about interactive rebase in git, it should be enough to get your started.&lt;/p&gt;

&lt;p&gt;Leave a comment and share it with your friends if you find it useful and let me know if you want me to cover any topic related to git or front-end.&lt;/p&gt;

&lt;p&gt;Stay safe and thanks for reading.&lt;/p&gt;

</description>
      <category>git</category>
      <category>webdev</category>
    </item>
    <item>
      <title>What is semantic HTML and why should you use it?</title>
      <dc:creator>Chrissie</dc:creator>
      <pubDate>Tue, 19 Jan 2021 17:07:25 +0000</pubDate>
      <link>https://dev.to/chrissiemhrk/what-is-semantic-html-and-why-should-you-use-it-4dbj</link>
      <guid>https://dev.to/chrissiemhrk/what-is-semantic-html-and-why-should-you-use-it-4dbj</guid>
      <description>&lt;p&gt;As a web developer chances are you must have heard of the term semantic HTML at least once. Semantic HTML is an important principle in web development and in this article, you'll learn what's semantic HTML, why you must use it, and the way to use semantic HTML.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's semantic HTML?
&lt;/h2&gt;

&lt;p&gt;In programing, semantics refers to the purpose or role of a piece of code. Plenty of HTML tags have a semantic meaning, which means that they are defined to have a specific meaning that conveys some information about the sort of content contained between the opening and closing tag. This allow web browsers, search engines, and screen readers to make sense of your markup by adding meaning to it.&lt;/p&gt;

&lt;p&gt;For example the &lt;code&gt;&amp;lt;nav&amp;gt;&lt;/code&gt; element represent a group of navigation links and the &lt;code&gt;&amp;lt;footer&amp;gt;&lt;/code&gt; element represent the footer section of a page.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why do you have to use semantic HTML?
&lt;/h2&gt;

&lt;p&gt;As I wrote above, semantic HTML allow web browsers, search engines, and screen readers to make sense of your markup by adding meaning to it. This is can be especially important if you wish your website to be maintainable, to be accessible to all your visitors, and to achieve a better SEO ranking.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Maintainability&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Maintainability is something that should always be at the forefront of your mind when developing be it a website or a mobile application, it is also a key factor in writing high quality code. Semantic HTML helps us in that clear, easy to read code is more maintainable. It allows you quickly look at your code and know what is going on and in the future allow for easy editing. &lt;/p&gt;

&lt;p&gt;Another benefit would be that we don't have a reference our elements with classes or ids, writing semantic HTML allows you to reference all your elements with CSS directly using the tag with the use of classes or ids.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Accessibility&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Accessibility is a very important area of the website that cannot be ignored. Semantic HTML plays a big role in increasing the general accessibility of your website and conveys better meaning without compromising the code structure. It provides the guidance needed to properly transcribe your content to your audience, one example can be screen readers. &lt;/p&gt;

&lt;p&gt;Screen reader is an assistive technology that converts text and image content to speech and braille. For screen readers to understand your content they have to scan it and this is made easier by using semantic HTML which makes your markup better understandable for the screen reader and thus making your content accessible to users that cannot read.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;SEO&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Search Engine Optimization is the process of improving the quantity and quality of traffic to a website from search engines. SEO is another section where making your markup easier to grasp for machines comes in play. If a search engine can't read your website, it won't properly rank it and it will probably be flag as low quality. &lt;/p&gt;

&lt;p&gt;If you want your website to be seen, it has to be ranked by search engines and the best way to do that is to use semantic HTML to make your content readable by the machine so that the search engine's algorithm can properly rank you website.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to write semantic HTML
&lt;/h2&gt;

&lt;p&gt;Now that you understand what is semantic HTML and why you should use it when building your website, let's see how you can write semantic HTML. To write semantic HTML the only thing needed is to use the proper HTML tags that conveys information about the type of content contained between the opening and closing tag.&lt;/p&gt;

&lt;p&gt;There are HTML elements that are semantic and others that are not. An example of a non-semantic HTML tag would be &lt;code&gt;&amp;lt;div&amp;gt;&lt;/code&gt; or &lt;code&gt;&amp;lt;span&amp;gt;&lt;/code&gt; as these tags don't convey any information about the content inside.&lt;/p&gt;

&lt;p&gt;In the case of semantic HTML, we can divide them into three categories:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Section elements&lt;/li&gt;
&lt;li&gt;Text elements&lt;/li&gt;
&lt;li&gt;Media elements&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Section elements
&lt;/h3&gt;

&lt;p&gt;These are elements that helps you to arrange your document into separate blocks. Section elements are mainly used to create the outline of your webpage.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;&amp;lt;header&amp;gt;&lt;/code&gt; represents the header container of the web page. It's usually contains navigation links, logo, a search bar, etc.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;&amp;lt;main&amp;gt;&lt;/code&gt; represents the main content of the web page and can only be used once in a page.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;&amp;lt;footer&amp;gt;&lt;/code&gt; represents the footer container of the web page. It's usually contains copyright data, author of the section, or links to related documents.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;&amp;lt;nav&amp;gt;&lt;/code&gt; represents a set of navigation links. It's usually used inside the &lt;code&gt;&amp;lt;header&amp;gt;&lt;/code&gt; and &lt;code&gt;&amp;lt;footer&amp;gt;&lt;/code&gt; section of the page but can also be used inside the &lt;code&gt;&amp;lt;aside&amp;gt;&lt;/code&gt; section.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;&amp;lt;aside&amp;gt;&lt;/code&gt; represent content that is related to the main content of the web page but isn't part of it. It can also be used to create a sidebar. An example could be a page displaying a blog post, the &lt;code&gt;&amp;lt;aside&amp;gt;&lt;/code&gt; element could be used to display links to other related articles to the article inside the &lt;code&gt;&amp;lt;main&amp;gt;&lt;/code&gt; element.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;&amp;lt;section&amp;gt;&lt;/code&gt; represents standalone sections within the web page that don't have a more specific element to represent it.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;&amp;lt;article&amp;gt;&lt;/code&gt; represents self contained blocks of content such as blog posts which can be reused in other settings.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;&amp;lt;h1&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;h2&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;h3&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;h4&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;h5&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;h6&amp;gt;&lt;/code&gt; represent section heading. &lt;code&gt;&amp;lt;h1&amp;gt;&lt;/code&gt; is the highest level and most important one while &lt;code&gt;&amp;lt;h6&amp;gt;&lt;/code&gt; is the lowest.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Text elements
&lt;/h3&gt;

&lt;p&gt;These are elements that are used to organize blocks of content, these are important for SEO and accessibility. Some elements in this category can be applied to a single word or line of text.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;&amp;lt;blockquote&amp;gt;&lt;/code&gt; represents text that is a quotation from another source.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;&amp;lt;ol&amp;gt;&lt;/code&gt; represents an ordered list, usually displayed as a numbered list.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;&amp;lt;ul&amp;gt;&lt;/code&gt; represents an unordered list, usually displayed as a bulleted list.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;&amp;lt;li&amp;gt;&lt;/code&gt; represents an item inside a list.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;&amp;lt;p&amp;gt;&lt;/code&gt; represents a paragraph.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;&amp;lt;hr&amp;gt;&lt;/code&gt; represents a break between paragraphs.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;&amp;lt;strong&amp;gt;&lt;/code&gt; represents content that is given importance or urgency, usually displayed in bold.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;&amp;lt;small&amp;gt;&lt;/code&gt; represents small prints like copyright, usually displayed in a smaller font-size.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;&amp;lt;figure&amp;gt;&lt;/code&gt; represents content such as illustrations, diagrams, etc.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;&amp;lt;figcaption&amp;gt;&lt;/code&gt; represents the caption for a &lt;code&gt;&amp;lt;figure&amp;gt;&lt;/code&gt; element.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;&amp;lt;cite&amp;gt;&lt;/code&gt; represents the reference of a cited work.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;&amp;lt;code&amp;gt;&lt;/code&gt; represents a short piece of code.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;&amp;lt;time&amp;gt;&lt;/code&gt; represents a specific period of time.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Media elements
&lt;/h3&gt;

&lt;p&gt;These are elements that are used to identify the different type of media that can be found in a web page.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;&amp;lt;audio&amp;gt;&lt;/code&gt; represents sound content.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;&amp;lt;video&amp;gt;&lt;/code&gt; represents video content.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;&amp;lt;img&amp;gt;&lt;/code&gt; represents an image.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;&amp;lt;area&amp;gt;&lt;/code&gt; represents a clickable area inside an image map.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;&amp;lt;map&amp;gt;&lt;/code&gt; represents an image map.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;Semantic HTML is should be kept at the forefront of your mind when building a website, there are many more semantic HTML elements not listed in this article but these are enough to get you started and reduce the amount of &lt;code&gt;&amp;lt;div&amp;gt;&lt;/code&gt; and &lt;code&gt;&amp;lt;span&amp;gt;&lt;/code&gt; elements in your website. &lt;/p&gt;

&lt;p&gt;Stay safe and thanks for reading.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>html</category>
      <category>codenewbie</category>
      <category>a11y</category>
    </item>
    <item>
      <title>A beginners guide to CSS flexbox - part two</title>
      <dc:creator>Chrissie</dc:creator>
      <pubDate>Thu, 22 Oct 2020 09:30:27 +0000</pubDate>
      <link>https://dev.to/chrissiemhrk/a-beginners-guide-to-css-flexbox-part-two-1pl5</link>
      <guid>https://dev.to/chrissiemhrk/a-beginners-guide-to-css-flexbox-part-two-1pl5</guid>
      <description>&lt;p&gt;In the first part, I wrote about flexbox properties that affected the flex container. In this second part, I'll be giving you flexbox properties that affect the flex items along with how they work.&lt;/p&gt;

&lt;p&gt;I'll be using the same pen that I used for part one.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"container"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
   &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"one"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;1&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
   &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"two"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;2&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
   &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"three"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;3&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
   &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"four"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;4&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nc"&gt;.container&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="nl"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;flex&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nc"&gt;.one&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nc"&gt;.two&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nc"&gt;.three&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nc"&gt;.four&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;background-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;#f5f&lt;/span&gt;  
  &lt;span class="n"&gt;padding&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;2rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;font-size&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;2rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The main properties are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Order&lt;/li&gt;
&lt;li&gt;Flex-grow&lt;/li&gt;
&lt;li&gt;Flex-shrink&lt;/li&gt;
&lt;li&gt;Flex-basis&lt;/li&gt;
&lt;li&gt;Flex&lt;/li&gt;
&lt;li&gt;Align-self&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Order
&lt;/h3&gt;

&lt;p&gt;This property specifies the order in which the flex items will be displayed. By default, the items are displayed in the order in which they were written in the source code but with this property, you can change the order of the items.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nc"&gt;.one&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
 &lt;span class="nl"&gt;order&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;4&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

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

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fi2wnffu7r4xnhv3ozukv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fi2wnffu7r4xnhv3ozukv.png" alt="Order property of the first item is set to four"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Flex-grow
&lt;/h3&gt;

&lt;p&gt;This property specifies how much an item should grow or expand to fit the space available. If you give an item the flex-grow value of 2, that will item will take up twice as much space as the other elements in the container.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nc"&gt;.one&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
 &lt;span class="nl"&gt;flex-grow&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;2&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fc4ov1vtr7s1khbl01e7r.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fc4ov1vtr7s1khbl01e7r.png" alt="Flex-grow property of the first item is set to two"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Flex-shrink
&lt;/h3&gt;

&lt;p&gt;This property unlike flex-grow will specifies how much an item will shrink to fit the space available.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nc"&gt;.one&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
 &lt;span class="nl"&gt;flex-shrink&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;5&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fcszug5rh9exumxyugjfy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fcszug5rh9exumxyugjfy.png" alt="Flex-shrink property is set to five"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As you can see in this image, the first item is much smaller than the rest of the items.&lt;/p&gt;

&lt;h3&gt;
  
  
  Flex-basis
&lt;/h3&gt;

&lt;p&gt;This property specifies the initial or default value of an item before the space in the container is distributed.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nc"&gt;.one&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
 &lt;span class="nl"&gt;flex-basis&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;10rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Frz72iewfghzux4apxrep.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Frz72iewfghzux4apxrep.png" alt="Flex-basis property of the first item is set to ten rem"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Flex
&lt;/h3&gt;

&lt;p&gt;This is the shorthand property for the flex-grow, flex-shrink, and flex-basis properties.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nc"&gt;.one&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
 &lt;span class="nl"&gt;flex&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt; &lt;span class="m"&gt;10rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

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

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fsogccx5mk58zmr0iop0f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fsogccx5mk58zmr0iop0f.png" alt="Flex property of the first item is set to not grow, not shrink, and have an initial length of ten rem"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The first element will not grow, will not shrink, and will have an initial length of 10rem.&lt;/p&gt;

&lt;h3&gt;
  
  
  Align-self
&lt;/h3&gt;

&lt;p&gt;This property works like align-items but is only applied to one item instead of the whole container.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nc"&gt;.one&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
 &lt;span class="nl"&gt;align-self&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;flex-start&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fbsa0wl93q1kt7pq95vwe.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fbsa0wl93q1kt7pq95vwe.png" alt="Align-self property of the first item is set to flex-start"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That's it! This concludes this mini-series about CSS flexbox for beginners. Hope it helped you understand flexbox better. If you have any questions or comments do it down below.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>codenewbie</category>
      <category>css</category>
      <category>webdev</category>
    </item>
    <item>
      <title>A beginners guide to CSS flexbox - part one</title>
      <dc:creator>Chrissie</dc:creator>
      <pubDate>Wed, 07 Oct 2020 16:05:14 +0000</pubDate>
      <link>https://dev.to/chrissiemhrk/a-beginners-guide-to-css-flexbox-part-one-29j1</link>
      <guid>https://dev.to/chrissiemhrk/a-beginners-guide-to-css-flexbox-part-one-29j1</guid>
      <description>&lt;p&gt;CSS flexible layout module or flexbox for short is a web layout model that helps in designing a flexible layout. It allows items inside a container to be aligned automatically according to the screen size. &lt;/p&gt;

&lt;p&gt;In this article, I'll be giving you the main properties of flexbox and showing you how they work. The first part will be about properties that affect the flex container and the second part about properties that affect the flex items.&lt;/p&gt;




&lt;p&gt;When using flexbox, items will be displayed following two axes, the main axis, and the cross axis.&lt;/p&gt;

&lt;p&gt;The main axis as the name implies is the main axis where items will be displayed. By default, the main axis is horizontal.&lt;/p&gt;

&lt;p&gt;The cross axis is perpendicular to the main axis and its direction depends on the direction of the main axis. By default, the cross axis is vertical.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fxzp1g1gazk80wvagnal0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fxzp1g1gazk80wvagnal0.png" alt="Diagram of flexbox container with flex items and lines showing the main and cross axis"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To start using flexbox you have to first declare a container and inside it, we'll add a few divs that'll we'll use as an example.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"container"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
   &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"item"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;1&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
   &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"item"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;2&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
   &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"item"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;3&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
   &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"item"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;4&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To make the container flexible, you have to set the container display to flex. We'll also add some styling to the items inside the container.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nc"&gt;.container&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="nl"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;flex&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nc"&gt;.item&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;background-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;#f5f&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;border&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;2px&lt;/span&gt; &lt;span class="nb"&gt;solid&lt;/span&gt; &lt;span class="m"&gt;#0000&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;padding&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;2rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;font-size&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;2rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F6ghmkhz6jy2ec7p30ku3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F6ghmkhz6jy2ec7p30ku3.png" alt="container display set to flex"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The main properties of flexbox are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;flex-direction&lt;/li&gt;
&lt;li&gt;flex-wrap&lt;/li&gt;
&lt;li&gt;flex-flow&lt;/li&gt;
&lt;li&gt;justify-content&lt;/li&gt;
&lt;li&gt;align-items&lt;/li&gt;
&lt;li&gt;align-content&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Flex-direction
&lt;/h3&gt;

&lt;p&gt;The flex-direction property indicates the direction in which the items inside the flexbox container will be laid out in.&lt;/p&gt;

&lt;p&gt;It has four value:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;row&lt;/li&gt;
&lt;li&gt;row-reverse&lt;/li&gt;
&lt;li&gt;column&lt;/li&gt;
&lt;li&gt;column-reverse&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;1.Row&lt;/p&gt;

&lt;p&gt;The row value is the default value and it will align the items horizontally from left to right.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight scss"&gt;&lt;code&gt;    &lt;span class="nc"&gt;.container&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;flex&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
     &lt;span class="nl"&gt;flex-direction&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;row&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F6ghmkhz6jy2ec7p30ku3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F6ghmkhz6jy2ec7p30ku3.png" alt="flex direction set to row"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;2.Row-reverse&lt;/p&gt;

&lt;p&gt;The row-reverse value will align the items horizontally from right to left.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight scss"&gt;&lt;code&gt; &lt;span class="nc"&gt;.container&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;flex&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;flex-direction&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;row-reverse&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
 &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fl76pzzf3nqn606gryppd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fl76pzzf3nqn606gryppd.png" alt="Flex direction is set to row reverse"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;3.Column&lt;/p&gt;

&lt;p&gt;The column value will align the items vertically from top to bottom.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight scss"&gt;&lt;code&gt;  &lt;span class="nc"&gt;.container&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;flex&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;flex-direction&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;column&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F78k1dw6c7mjgoupjhp7r.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F78k1dw6c7mjgoupjhp7r.png" alt="Flex direction is set to column reverse"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;4.Column-reverse&lt;/p&gt;

&lt;p&gt;The column-reverse value will align items vertically from bottom to top.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight scss"&gt;&lt;code&gt;  &lt;span class="nc"&gt;.container&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;flex&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;flex-direction&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;column-reverse&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F9nj7bv6erc9mv1734h0j.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F9nj7bv6erc9mv1734h0j.png" alt="Flex direction is set to column reverse"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Flex-wrap
&lt;/h3&gt;

&lt;p&gt;In case you have a lot of items and they all appear on the same line overflowing of the container, you'll use the flex-wrap property to specify whether a container should wrap or not.&lt;/p&gt;

&lt;p&gt;1.Wrap&lt;/p&gt;

&lt;p&gt;The wrap value specifies that the items should be broken down into multiple rows so as to prevent any overflow.  Any element that would cause an overflow will then be fitted into a new line.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight scss"&gt;&lt;code&gt;  &lt;span class="nc"&gt;.container&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;flex&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;flex-direction&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;row&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;flex-wrap&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;wrap&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F7zm37oybrga9iegdtpyk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F7zm37oybrga9iegdtpyk.png" alt="Flex wrap is set to wrap"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;2.Nowrap&lt;/p&gt;

&lt;p&gt;This is the default value and if used will leave the items as is in a single line.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight scss"&gt;&lt;code&gt; &lt;span class="nc"&gt;.container&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;flex&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;flex-direction&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;row&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;flex-wrap&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;nowrap&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
 &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Ffomdz8b9thkpdoedai0e.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Ffomdz8b9thkpdoedai0e.png" alt="Flex wrap is set to no wrap"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Flex-flow
&lt;/h3&gt;

&lt;p&gt;The flex-flow property is a shorthand property for flex-direction and flex-wrap.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight scss"&gt;&lt;code&gt;&lt;span class="nc"&gt;.container&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="nl"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;flex&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="nl"&gt;flex-direction&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;row&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="nl"&gt;flex-wrap&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;wrap&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Instead of writing the above, the code will be the following&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight scss"&gt;&lt;code&gt;&lt;span class="nc"&gt;.container&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="nl"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;flex&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="nl"&gt;flex-flow&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;row&lt;/span&gt; &lt;span class="n"&gt;wrap&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Justify-content
&lt;/h3&gt;

&lt;p&gt;This property is used to align the items of the flex container along the direction that was previously specified using flex-direction.&lt;/p&gt;

&lt;p&gt;1.Flex-start&lt;/p&gt;

&lt;p&gt;This is the default value and will align the items at the beginning of the container.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight scss"&gt;&lt;code&gt;  &lt;span class="nc"&gt;.container&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;flex&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;justify-content&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;flex-start&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fesa1w7xur4detg2qw4ie.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fesa1w7xur4detg2qw4ie.png" alt="Justify content is set to flex start"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;2.Flex-end&lt;/p&gt;

&lt;p&gt;This value will align the items at the end of the container.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight scss"&gt;&lt;code&gt;  &lt;span class="nc"&gt;.container&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;flex&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;justify-content&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;flex-end&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fa2nm73kulscmecj90ay1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fa2nm73kulscmecj90ay1.png" alt="Justify content is set to flex end"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;3.Center&lt;/p&gt;

&lt;p&gt;This value will align the items at the center of the container.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight scss"&gt;&lt;code&gt; &lt;span class="nc"&gt;.container&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;flex&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;justify-content&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;center&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fc4b8xceq8wga97vo2xzh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fc4b8xceq8wga97vo2xzh.png" alt="Justify content is set to center"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;4.Space-around&lt;/p&gt;

&lt;p&gt;This value will distribute the items evenly in the line with spaces around the items.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight scss"&gt;&lt;code&gt; &lt;span class="nc"&gt;.container&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;flex&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;justify-content&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;space-around&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
 &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F0qxy4ctrfy3byu2yu8c0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F0qxy4ctrfy3byu2yu8c0.png" alt="Justify content is set to space around"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;5.Space-evenly&lt;/p&gt;

&lt;p&gt;This value will add equal spacing between two items.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight scss"&gt;&lt;code&gt; &lt;span class="nc"&gt;.container&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;flex&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;justify-content&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;space-evenly&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
 &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F0qxy4ctrfy3byu2yu8c0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F0qxy4ctrfy3byu2yu8c0.png" alt="Justif content is set to space evenly"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;6.Space-between&lt;/p&gt;

&lt;p&gt;This value will display the items evenly along the line. The first element will be at the start and the last element will be at the end of the line.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight scss"&gt;&lt;code&gt; &lt;span class="nc"&gt;.container&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;flex&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;justify-content&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;space-between&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
 &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Felvv6d7pzrjmd2qsq0oz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Felvv6d7pzrjmd2qsq0oz.png" alt="Jusitfy content is set to  space between"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Align-items
&lt;/h3&gt;

&lt;p&gt;This property is used to align the flex items along the cross axis which is perpendicular to the main axis. &lt;/p&gt;

&lt;p&gt;&lt;em&gt;To better demonstrate this property, I set the container height to 200px and background color to black.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;1.Stretch&lt;/p&gt;

&lt;p&gt;This is the default value and will stretch the items to fill the container.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight scss"&gt;&lt;code&gt; &lt;span class="nc"&gt;.container&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;flex&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;align-items&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;stretch&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
 &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fi960kj1tl0ydhtaoh4i9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fi960kj1tl0ydhtaoh4i9.png" alt="Align items is set to stretch"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;2.Flex-start&lt;/p&gt;

&lt;p&gt;This value will align the items at the top of the container.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight scss"&gt;&lt;code&gt; &lt;span class="nc"&gt;.container&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;flex&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;align-items&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;flex-start&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
 &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fpbsevgev7d8fmgltjmzu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fpbsevgev7d8fmgltjmzu.png" alt="Align items is set to flex start"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;3.Flex-end&lt;/p&gt;

&lt;p&gt;This value will align the items at the bottom of the container.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight scss"&gt;&lt;code&gt; &lt;span class="nc"&gt;.container&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;flex&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;align-items&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;flex-end&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
 &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Flrs2r8sreefzflrs1j5u.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Flrs2r8sreefzflrs1j5u.png" alt="Align items is set to flex end"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;4.Center&lt;/p&gt;

&lt;p&gt;This value will align the items at the center of the container.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight scss"&gt;&lt;code&gt; &lt;span class="nc"&gt;.container&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;flex&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;align-items&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;center&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
 &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F780zbjefnh439003dz0r.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F780zbjefnh439003dz0r.png" alt="Align items is set to center"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Align-content
&lt;/h3&gt;

&lt;p&gt;This property is used to align the flex lines. This only applies if you have set your container to wrap &lt;em&gt;flex-wrap: wrap&lt;/em&gt; and if you have more than one row of flex items.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;To better demonstrate this property, I have set the height to 500px and flex-wrap property to wrap.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;1.Stretch&lt;/p&gt;

&lt;p&gt;This is the default value. It will stretch the existing lines to take up the remaining space.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight scss"&gt;&lt;code&gt; &lt;span class="nc"&gt;.container&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;flex&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;flex-wrap&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;wrap&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;align-content&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;stretch&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
 &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F92yx4c0dgea38rz0dnpk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F92yx4c0dgea38rz0dnpk.png" alt="Align content is set to stretch"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;2.Flex-start&lt;/p&gt;

&lt;p&gt;This value will display the flex lines at the start of the container.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight scss"&gt;&lt;code&gt; &lt;span class="nc"&gt;.container&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;flex&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;flex-wrap&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;wrap&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;align-content&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;flex-start&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
 &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fg0zl7p89zogr0udaltjm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fg0zl7p89zogr0udaltjm.png" alt="Align content is set to flex start"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;3.Flex-end&lt;/p&gt;

&lt;p&gt;This value will display the lines at the bottom of the container.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight scss"&gt;&lt;code&gt; &lt;span class="nc"&gt;.container&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;flex&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;flex-wrap&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;wrap&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;align-content&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;flex-end&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F6qjwl3q87e5m8lm1yfbx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F6qjwl3q87e5m8lm1yfbx.png" alt="Align content is set to flex end"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;4.Center&lt;/p&gt;

&lt;p&gt;This value will display the lines at the center of the container.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight scss"&gt;&lt;code&gt; &lt;span class="nc"&gt;.container&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;flex&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;flex-wrap&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;wrap&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;align-content&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;center&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
 &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fwpwzht50ahe7f3o8g77o.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fwpwzht50ahe7f3o8g77o.png" alt="Align content is set to center"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;5.Space-around&lt;/p&gt;

&lt;p&gt;This value will distribute the lines evenly with space around the lines.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight scss"&gt;&lt;code&gt;    &lt;span class="nc"&gt;.container&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="nl"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;flex&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
      &lt;span class="nl"&gt;flex-wrap&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;wrap&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
      &lt;span class="nl"&gt;align-content&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;space-around&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F68pbp19n9kbp9tta8xai.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F68pbp19n9kbp9tta8xai.png" alt="Align content set to space around"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;6.Space-between&lt;/p&gt;

&lt;p&gt;This value will distribute the lines equally in the container. The first line is at the start of the container while the last one is at the end.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight scss"&gt;&lt;code&gt;    &lt;span class="nc"&gt;.container&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="nl"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;flex&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
      &lt;span class="nl"&gt;flex-wrap&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;wrap&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
      &lt;span class="nl"&gt;align-content&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;space-between&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F7ifsx646phqzdqhzx1gd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F7ifsx646phqzdqhzx1gd.png" alt="Align content is set to space between"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;This is the first part of a two-post series that I plan to write about CSS flexbox. If you have anything to add or any questions do so in the comments. &lt;/p&gt;

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

</description>
      <category>beginners</category>
      <category>codenewbie</category>
      <category>css</category>
      <category>webdev</category>
    </item>
    <item>
      <title>How to deploy your website to Github pages</title>
      <dc:creator>Chrissie</dc:creator>
      <pubDate>Wed, 02 Sep 2020 12:57:43 +0000</pubDate>
      <link>https://dev.to/chrissiemhrk/how-to-deploy-your-website-to-github-pages-1mnm</link>
      <guid>https://dev.to/chrissiemhrk/how-to-deploy-your-website-to-github-pages-1mnm</guid>
      <description>&lt;p&gt;Github pages allow us to easily deploy websites as long as they don't have any backend. In this article, I'm going to show you how I deploy websites using Github pages.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Create a repo
&lt;/h3&gt;

&lt;p&gt;You can't deploy on Github pages without a repository that contains all your files so make sure you have the repo ready.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Install gh-pages
&lt;/h3&gt;

&lt;p&gt;Next, you have to install the package gh-pages in your repository.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm install gh-pages
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  3. Add this script in package.json
&lt;/h3&gt;

&lt;p&gt;In the package.json file add this script.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="nl"&gt;"homepage"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"https://[github-username].github.io/[github-repository-name]"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  4. Create a deploy script
&lt;/h3&gt;

&lt;p&gt;Inside the scripts object in package.json file add the following script.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="nl"&gt;"publish"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"gh-pages -d src"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This script will deploy to Github pages anything in the src directory. You can change src to the name of the directory containing the files you want to deploy.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Run the script
&lt;/h3&gt;

&lt;p&gt;Next, run the publish script in your command line to deploy to gh-pages.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm run publish
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It may take a bit of time but when it's done you'll see a line that says published.&lt;/p&gt;

&lt;h3&gt;
  
  
  6. Change the source branch in the repo settings
&lt;/h3&gt;

&lt;p&gt;For your website to be deployed successfully, you'll have to go into the settings of your repository. In the Github pages section change the source branch from master to gh-pages. This branch was created when the publish script was run succesfully.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fipzyr20jk1kmlbqasrot.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fipzyr20jk1kmlbqasrot.PNG" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once done, go to the url provided and you'll see your live website.&lt;/p&gt;

</description>
      <category>github</category>
      <category>webdev</category>
      <category>beginners</category>
      <category>codenewbie</category>
    </item>
    <item>
      <title>Changelog generator</title>
      <dc:creator>Chrissie</dc:creator>
      <pubDate>Wed, 02 Sep 2020 09:29:49 +0000</pubDate>
      <link>https://dev.to/chrissiemhrk/changelog-generator-3gh0</link>
      <guid>https://dev.to/chrissiemhrk/changelog-generator-3gh0</guid>
      <description>&lt;h3&gt;
  
  
  My Workflow
&lt;/h3&gt;

&lt;p&gt;This workflow will install a changelog generator package into your repository&lt;/p&gt;

&lt;h3&gt;
  
  
  Submission Category:
&lt;/h3&gt;

&lt;p&gt;Wacky Wildcards&lt;/p&gt;

&lt;h3&gt;
  
  
  Yaml File or Link to Code
&lt;/h3&gt;

&lt;p&gt;yaml file&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;Changelog generator&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;workflow_dispatch&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;home&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="na"&gt;description&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="s"&gt;location'&lt;/span&gt;
      &lt;span class="na"&gt;required&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="no"&gt;false&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;build&lt;/span&gt;&lt;span class="pi"&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;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;uses&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;actions/checkout@v2&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;Setup Node&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@v1&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="s1"&gt;'&lt;/span&gt;&lt;span class="s"&gt;10.x'&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;Install changelog generator package&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;npm install&lt;/span&gt;
          &lt;span class="s"&gt;npm install generate-changelog -D&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;link to code&lt;br&gt;
&lt;a href="https://github.com/chrissiemhrk/changelog-generator"&gt;https://github.com/chrissiemhrk/changelog-generator&lt;/a&gt;&lt;/p&gt;

</description>
      <category>actionshackathon</category>
    </item>
    <item>
      <title>Create a Jekyll website</title>
      <dc:creator>Chrissie</dc:creator>
      <pubDate>Wed, 02 Sep 2020 09:04:48 +0000</pubDate>
      <link>https://dev.to/chrissiemhrk/create-a-jekyll-website-9j9</link>
      <guid>https://dev.to/chrissiemhrk/create-a-jekyll-website-9j9</guid>
      <description>&lt;h3&gt;
  
  
  My Workflow
&lt;/h3&gt;

&lt;p&gt;This workflow is to install a Jekyll website directly into a repository.&lt;/p&gt;

&lt;h3&gt;
  
  
  Submission Category:
&lt;/h3&gt;

&lt;p&gt;DIY Deployments&lt;/p&gt;

&lt;h3&gt;
  
  
  Yaml File or Link to Code
&lt;/h3&gt;

&lt;p&gt;Yaml file&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;Create jekyll website&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;workflow_dispatch&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;home&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="na"&gt;description&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="s"&gt;location'&lt;/span&gt;
      &lt;span class="na"&gt;required&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="no"&gt;false&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;build&lt;/span&gt;&lt;span class="pi"&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;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;uses&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;actions/checkout@v2&lt;/span&gt;
      &lt;span class="pi"&gt;-&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-ruby@v1&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;ruby-version&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="s"&gt;2.6'&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;Create a jekyll website&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;gem install jekyll bundler&lt;/span&gt;
          &lt;span class="s"&gt;jekyll new jekyll-website&lt;/span&gt;

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

&lt;/div&gt;



&lt;p&gt;link to code&lt;br&gt;
&lt;a href="https://github.com/chrissiemhrk/create-jekyll-website"&gt;https://github.com/chrissiemhrk/create-jekyll-website&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Additional info
&lt;/h3&gt;

&lt;p&gt;I got this idea after seeing this entry &lt;a href="https://dev.to/dancanetti/create-an-eleventy-site-366a"&gt;https://dev.to/dancanetti/create-an-eleventy-site-366a&lt;/a&gt;&lt;/p&gt;

</description>
      <category>actionshackathon</category>
    </item>
    <item>
      <title>Markdown cheat sheet</title>
      <dc:creator>Chrissie</dc:creator>
      <pubDate>Tue, 18 Aug 2020 09:05:20 +0000</pubDate>
      <link>https://dev.to/chrissiemhrk/markdown-cheat-sheet-1kmj</link>
      <guid>https://dev.to/chrissiemhrk/markdown-cheat-sheet-1kmj</guid>
      <description>&lt;p&gt;Markdown is a markup language that is used to add formatting elements to plain text. It is easy to learn and use. In my opinion, markdown is a must, not only if you want to start posting here on Dev but also for writing readmes. I'm sure by now you've noticed that readme files have the .md extension, that is the markdown file extension and while you can write a readme in plaintext, to make our readme more appealing and comprehensive you should definitely use markdown.&lt;/p&gt;

&lt;p&gt;Here's a list of basic Markdown syntax to get you started:&lt;/p&gt;

&lt;h3&gt;
  
  
  Heading
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# Heading 1
## Heading 2
### Heading 3
#### Heading 4
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h1&gt;
  
  
  Heading 1
&lt;/h1&gt;

&lt;h2&gt;
  
  
  Heading 2
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Heading 3
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Heading 4
&lt;/h4&gt;

&lt;h3&gt;
  
  
  Bold and Italic
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;**Bold** *Italic*
or
__Bold__ _Italic_
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Bold&lt;/strong&gt; &lt;em&gt;Italic&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Bold&lt;/strong&gt; &lt;em&gt;Italic&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Link
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[Example](https://example.com)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://example.com"&gt;Example&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Blockquote
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;gt; Lorem Ipsum
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;Lorem Ipsum&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  Image
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;![alt text](image.jpg)

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

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--wCQCZQoY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/image.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--wCQCZQoY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/image.jpg" alt="alt text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  List
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;1. One
2. Two
3. Three 

- List
- List
- List
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;One&lt;/li&gt;
&lt;li&gt;Two&lt;/li&gt;
&lt;li&gt;Three &lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;List&lt;/li&gt;
&lt;li&gt;List&lt;/li&gt;
&lt;li&gt;List&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Code
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;`Inline` code
{```

} 
    code
{

```}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;Inline&lt;/code&gt; code&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;console.log(a)

Without the curly braces
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For syntax highlighting&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{```

} javascript 
    console.log(a)
{

```}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;a&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="nx"&gt;Without&lt;/span&gt; &lt;span class="nx"&gt;the&lt;/span&gt; &lt;span class="nx"&gt;curly&lt;/span&gt; &lt;span class="nx"&gt;braces&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Horizontal Rule
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Lorem Ispum 

---

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

&lt;/div&gt;



&lt;p&gt;Lorem Ispum&lt;/p&gt;




&lt;p&gt;Remember to put a blank line before and after the dashes, without those, the text will appear as a heading.&lt;/p&gt;




&lt;p&gt;A lot of markdown applications accept the use of HTML tags so if you are more comfortable using HTML tags over markdown syntax you can use them provided that they are supported by the application.&lt;/p&gt;

</description>
      <category>markdown</category>
      <category>beginners</category>
      <category>tutorial</category>
      <category>codenewbie</category>
    </item>
    <item>
      <title>A list of free Udacity courses</title>
      <dc:creator>Chrissie</dc:creator>
      <pubDate>Sun, 09 Aug 2020 13:15:53 +0000</pubDate>
      <link>https://dev.to/chrissiemhrk/a-list-of-free-udacity-courses-that-you-can-take-23hg</link>
      <guid>https://dev.to/chrissiemhrk/a-list-of-free-udacity-courses-that-you-can-take-23hg</guid>
      <description>&lt;p&gt;Here's a list of free courses that I took in the past and currently taking that I think you should take to have a better grasp of web development. Most of these courses are introductory courses since they are free but nonetheless, having a good foundation can help you tremendously in your career so I highly recommend that you at least take one or two courses from this list.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Programming Languages
&lt;/h3&gt;

&lt;p&gt;This is a beginner introductory course about theory and practices of programming languages.&lt;br&gt;
&lt;a href="https://classroom.udacity.com/courses/cs262"&gt;https://classroom.udacity.com/courses/cs262&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Version Control with Git
&lt;/h3&gt;

&lt;p&gt;If you want to learn git this is the course for you.&lt;br&gt;
&lt;a href="https://classroom.udacity.com/courses/ud123"&gt;https://classroom.udacity.com/courses/ud123&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Responsive Web Design Fundamentals
&lt;/h3&gt;

&lt;p&gt;At the end of this course, you'll have all the tools needed to build a responsive website.&lt;br&gt;
&lt;a href="https://classroom.udacity.com/courses/ud893"&gt;https://classroom.udacity.com/courses/ud893&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Responsive Images
&lt;/h3&gt;

&lt;p&gt;This course is all about making your images responsive. I'd recommend that you take it after finishing Responsive Web Design Fundamentals.&lt;br&gt;
&lt;a href="https://classroom.udacity.com/courses/ud882"&gt;https://classroom.udacity.com/courses/ud882&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  5. HTML5 Canvas
&lt;/h3&gt;

&lt;p&gt;Learn how to create images and interactive animation with HTML5 Canvas.&lt;br&gt;
&lt;a href="https://classroom.udacity.com/courses/ud292"&gt;https://classroom.udacity.com/courses/ud292&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  6. ES6
&lt;/h3&gt;

&lt;p&gt;Everything you need to know about javascript ES6.&lt;br&gt;
&lt;a href="https://classroom.udacity.com/courses/ud356"&gt;https://classroom.udacity.com/courses/ud356&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  7. Web Accessibility
&lt;/h3&gt;

&lt;p&gt;Your website should be accessible to everyone and in this course, they show you how you can do it.&lt;br&gt;
&lt;a href="https://classroom.udacity.com/courses/ud891"&gt;https://classroom.udacity.com/courses/ud891&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  8. Writing READMEs
&lt;/h3&gt;

&lt;p&gt;Documentation is an important part of the development process and in this course, they teach you how you can write good READMEs.&lt;br&gt;
&lt;a href="https://classroom.udacity.com/courses/ud777"&gt;https://classroom.udacity.com/courses/ud777&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  9. Intro to Algorithms
&lt;/h3&gt;

&lt;p&gt;If you want to get started with algorithms this course is for you.&lt;br&gt;
&lt;a href="https://classroom.udacity.com/courses/cs215"&gt;https://classroom.udacity.com/courses/cs215&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  10. Intro to Progressive Web Apps
&lt;/h3&gt;

&lt;p&gt;Learn how you can build a PWA.&lt;br&gt;
&lt;a href="https://classroom.udacity.com/courses/ud811"&gt;https://classroom.udacity.com/courses/ud811&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;If you know of other free courses on Udacity share them in the comments!&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>codenewbie</category>
      <category>beginners</category>
      <category>resources</category>
    </item>
    <item>
      <title>How to build a responsive website</title>
      <dc:creator>Chrissie</dc:creator>
      <pubDate>Fri, 07 Aug 2020 10:16:33 +0000</pubDate>
      <link>https://dev.to/chrissiemhrk/how-to-build-a-responsive-website-7e2</link>
      <guid>https://dev.to/chrissiemhrk/how-to-build-a-responsive-website-7e2</guid>
      <description>&lt;p&gt;Making your website responsive is a must nowadays, nearly 53% of people all around the world use their phone to access the internet and that number is growing each day.&lt;/p&gt;

&lt;p&gt;You want your website to be accessible to everyone no matter their device be it small or large screens. In this article, I'll be sharing what methods I use to make my websites responsive.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Mobile-first design
&lt;/h3&gt;

&lt;p&gt;Mobile First means designing for mobile before designing for desktop. It will also make the page load faster on a smaller screen. &lt;/p&gt;

&lt;p&gt;When you're starting a new project make sure to always design it for mobile screen first and to do that, I usually size my browser to 320px wide (the screen size of an iPhone 5/SE).&lt;/p&gt;

&lt;p&gt;Personally, I found that expanding my design to fit bigger screens is much easier than trying to compress the design to fit smaller screens. &lt;/p&gt;

&lt;h3&gt;
  
  
  2. Set the viewport
&lt;/h3&gt;

&lt;p&gt;The viewport is the area of the screen that the browser can render content to, to make a website responsive it has to be set properly, and to do that we use a meta tag.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"viewport"&lt;/span&gt; &lt;span class="na"&gt;content=&lt;/span&gt;&lt;span class="s"&gt;"width=device-width, initial-scale=1"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;&lt;p&gt;width=device-width tells the browser to match the dip (device independent pixels can determine the size that elements will appear on the user's device, regardless of the user's screen resolution. ) and thus the page can reflow to allow content to resize to match the width of the browser&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;initial scale 1 set the dip to CSS pixel ratio to one, CSS pixels are the ones we work with most of the time and without initial scale set to one, the width of some browser would stay the same when you rotate your phone or tablet to landscape mode.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  3. Use relative units
&lt;/h3&gt;

&lt;p&gt;To avoid fixed images, use a relative unit like % instead of px.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nt"&gt;img&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nt"&gt;embed&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nt"&gt;object&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nt"&gt;video&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="nl"&gt;max-width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;100%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="o"&gt;//&lt;/span&gt; &lt;span class="nt"&gt;I&lt;/span&gt; &lt;span class="nt"&gt;always&lt;/span&gt; &lt;span class="nt"&gt;put&lt;/span&gt; &lt;span class="nt"&gt;this&lt;/span&gt; &lt;span class="nt"&gt;in&lt;/span&gt; &lt;span class="nt"&gt;my&lt;/span&gt; &lt;span class="nt"&gt;CSS&lt;/span&gt; &lt;span class="nt"&gt;file&lt;/span&gt; &lt;span class="nt"&gt;just&lt;/span&gt; &lt;span class="nt"&gt;to&lt;/span&gt; &lt;span class="nt"&gt;be&lt;/span&gt; &lt;span class="nt"&gt;safe&lt;/span&gt;

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

&lt;/div&gt;



&lt;h3&gt;
  
  
  4. Tap targets should be wide enough
&lt;/h3&gt;

&lt;p&gt;Tap targets (buttons, input field, anything the user will touch, tap, click) must be at least 40px wide and tall. The recommended height and width are 48px.&lt;/p&gt;

&lt;p&gt;This isn't much of a problem for large screens since a mouse can be pretty accurate but on mobile, it can be a big problem when the tap target is too small to be able to accurately tap on the button/input field. The same problem may occur with navigation links so make sure to also adjust them accordingly.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nt"&gt;button&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nt"&gt;input&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="nl"&gt;min-width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;48px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="nl"&gt;min-height&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;48px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="o"&gt;//&lt;/span&gt; &lt;span class="nt"&gt;Again&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nt"&gt;I&lt;/span&gt; &lt;span class="nt"&gt;always&lt;/span&gt; &lt;span class="nt"&gt;put&lt;/span&gt; &lt;span class="nt"&gt;this&lt;/span&gt; &lt;span class="nt"&gt;in&lt;/span&gt; &lt;span class="nt"&gt;my&lt;/span&gt; &lt;span class="nt"&gt;CSS&lt;/span&gt; &lt;span class="nt"&gt;file&lt;/span&gt; &lt;span class="nt"&gt;just&lt;/span&gt; &lt;span class="nt"&gt;to&lt;/span&gt; &lt;span class="nt"&gt;be&lt;/span&gt; &lt;span class="nt"&gt;safe&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  6. Use flexbox
&lt;/h3&gt;

&lt;p&gt;Flexbox makes designing for all types of screens easier. Its a layout model that allows responsive elements within a container to be automatically arranged depending on the screen size.&lt;/p&gt;

&lt;p&gt;Trust me using flexbox will make your life easier.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Use media queries
&lt;/h3&gt;

&lt;p&gt;Media queries are used to rearrange your design to fit different screens. The most commonly used are max-width and min-width.&lt;/p&gt;

&lt;p&gt;max-width viewport width is less than the value specified whereas min-width viewport width is greater than the value specified.&lt;/p&gt;

&lt;p&gt;When I'm done working on the 320px screen, I use media queries to apply styles depending on the screen breakpoint.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="k"&gt;@media&lt;/span&gt; &lt;span class="n"&gt;screen&lt;/span&gt; &lt;span class="n"&gt;and&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;max-width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;500px&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="nt"&gt;changes&lt;/span&gt; &lt;span class="nt"&gt;will&lt;/span&gt; &lt;span class="nt"&gt;apply&lt;/span&gt; &lt;span class="nt"&gt;when&lt;/span&gt; &lt;span class="nt"&gt;the&lt;/span&gt; &lt;span class="nt"&gt;viewport&lt;/span&gt; &lt;span class="nt"&gt;width&lt;/span&gt; 
&lt;span class="nt"&gt;is&lt;/span&gt; &lt;span class="nt"&gt;less&lt;/span&gt; &lt;span class="nt"&gt;than&lt;/span&gt; &lt;span class="err"&gt;500&lt;/span&gt;&lt;span class="nt"&gt;px&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;


&lt;span class="k"&gt;@media&lt;/span&gt; &lt;span class="n"&gt;screen&lt;/span&gt; &lt;span class="n"&gt;and&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;min-width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;500px&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;
&lt;span class="nt"&gt;changes&lt;/span&gt; &lt;span class="nt"&gt;will&lt;/span&gt; &lt;span class="nt"&gt;apply&lt;/span&gt; &lt;span class="nt"&gt;when&lt;/span&gt; &lt;span class="nt"&gt;the&lt;/span&gt; &lt;span class="nt"&gt;viewport&lt;/span&gt; &lt;span class="nt"&gt;width&lt;/span&gt; 
&lt;span class="nt"&gt;is&lt;/span&gt; &lt;span class="nt"&gt;greater&lt;/span&gt; &lt;span class="nt"&gt;than&lt;/span&gt; &lt;span class="err"&gt;500&lt;/span&gt;&lt;span class="nt"&gt;px&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt; 
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="o"&gt;//&lt;/span&gt; &lt;span class="nt"&gt;If&lt;/span&gt; &lt;span class="nt"&gt;you&lt;/span&gt; &lt;span class="nt"&gt;started&lt;/span&gt; &lt;span class="nt"&gt;mobile-first&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nt"&gt;I&lt;/span&gt; &lt;span class="nt"&gt;recommend&lt;/span&gt; &lt;span class="nt"&gt;using&lt;/span&gt; &lt;span class="nt"&gt;min-width&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  6. Determine breakpoints
&lt;/h3&gt;

&lt;p&gt;By breakpoints I mean the width you'll be using with media queries to change the layout accordingly. There are two types of breakpoints: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Major breakpoints were layout changes significantly&lt;/li&gt;
&lt;li&gt;Minor breakpoints to make small changes like setting the margin, padding, or font size&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;When setting breakpoints use the content, after coding with a mobile-first approach adjust the browser and see where your content needs a breakpoint. This is a much better approach than following devices sizes that are given by default by the dev tools since they change and vary widely from brand to brand.&lt;/p&gt;




&lt;p&gt;That's it, I hope this article will help and if you have any advice make sure to leave it in the comments. &lt;/p&gt;

</description>
      <category>webdev</category>
      <category>beginners</category>
      <category>tutorial</category>
      <category>codenewbie</category>
    </item>
    <item>
      <title>How to write a good commit message</title>
      <dc:creator>Chrissie</dc:creator>
      <pubDate>Thu, 30 Jul 2020 09:43:58 +0000</pubDate>
      <link>https://dev.to/chrissiemhrk/git-commit-message-5e21</link>
      <guid>https://dev.to/chrissiemhrk/git-commit-message-5e21</guid>
      <description>&lt;p&gt;A commit message is a short description of the changes you've made to a file added before committing the changes.&lt;/p&gt;

&lt;p&gt;Good commit messages are important not only for others who you may be collaborating on the project but also for you, to keep track of all your commits and knowing exactly what changes where maybe during that particular commit.&lt;/p&gt;

&lt;p&gt;Even if you're working on a personal project, I'd recommend that you start getting in the habit of writing good commit messages.&lt;/p&gt;

&lt;p&gt;This is the format that I use most of the time (this may change depending on your preference or organization your working for):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;type: subject

body (optional)

footer (optional)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  1. Type
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;feat&lt;/strong&gt; - a new feature&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;fix&lt;/strong&gt; - a bug fix&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;docs&lt;/strong&gt; - changes in documentation&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;style&lt;/strong&gt; - everything related to styling&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;refactor&lt;/strong&gt; - code changes that neither fixes a bug or adds a feature &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;test&lt;/strong&gt; - everything related to testing &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;chore&lt;/strong&gt; - updating build tasks, package manager configs, etc&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  2. Subject
&lt;/h3&gt;

&lt;p&gt;This contains a short description of the changes made. It shouldn't be greater than 50 characters, should begin with a capital letter and written in the imperative eg. Add instead of Added or Adds.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Body
&lt;/h3&gt;

&lt;p&gt;The body is used to explain what changes you made and why you made them. Not all commits are complex enough that they need a body, especially if you are working on a personal project alone, and as such writing a body is optional.&lt;/p&gt;

&lt;p&gt;A blank line between the body and the subject is required and each line should have no more than 72 characters.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Footer
&lt;/h3&gt;

&lt;p&gt;The footer is also optional and mainly used when you are using an issue tracker to reference the issue ID.&lt;br&gt;
&lt;/p&gt;


&lt;p&gt;Example of a good commit message used by Udacity student &lt;a href="https://udacity.github.io/git-styleguide/"&gt;Udacity Git Commit Message Style Guide&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;feat: Summarize changes in around 50 characters or less&lt;/p&gt;

&lt;p&gt;More detailed explanatory text, if necessary. Wrap it to about 72&lt;br&gt;
characters or so. In some contexts, the first line is treated as the&lt;br&gt;
subject of the commit and the rest of the text as the body. The&lt;br&gt;
blank line separating the summary from the body is critical (unless&lt;br&gt;
you omit the body entirely); various tools like &lt;code&gt;log&lt;/code&gt;, &lt;code&gt;shortlog&lt;/code&gt;&lt;br&gt;
and &lt;code&gt;rebase&lt;/code&gt; can get confused if you run the two together.&lt;/p&gt;

&lt;p&gt;Explain the problem that this commit is solving. Focus on why you&lt;br&gt;
are making this change as opposed to how (the code explains that).&lt;br&gt;
Are there side effects or other unintuitive consequences of this&lt;br&gt;
change? Here's the place to explain to them.&lt;/p&gt;

&lt;p&gt;Further paragraphs come after blank lines.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Bullet points are okay, too&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Typically a hyphen or asterisk is used for the bullet, preceded&lt;br&gt;
by a single space, with blank lines in between, but conventions&lt;br&gt;
vary here&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you use an issue tracker, put references to them at the bottom,&lt;br&gt;
like this:&lt;/p&gt;

&lt;p&gt;Resolves: #123&lt;br&gt;
See also: #456, #789&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
A more practical example:&lt;/p&gt;

&lt;p&gt;docs: Fix typo in README.md&lt;/p&gt;

</description>
      <category>git</category>
      <category>codenewbie</category>
      <category>beginners</category>
      <category>github</category>
    </item>
    <item>
      <title>Git cheat sheet</title>
      <dc:creator>Chrissie</dc:creator>
      <pubDate>Sun, 26 Jul 2020 11:26:19 +0000</pubDate>
      <link>https://dev.to/chrissiemhrk/git-cheat-sheet-26ak</link>
      <guid>https://dev.to/chrissiemhrk/git-cheat-sheet-26ak</guid>
      <description>&lt;p&gt;I made this cheat sheet for git terminologies and most common commands when I was going through a Udacity course about version control. It helped me a lot and though it will be great to share it with others.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Repository&lt;/strong&gt; this is a directory where your project/files are stored which are used to interact with Git.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;commit&lt;/strong&gt; this is when you make one or more changes to a file in git.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;branch&lt;/strong&gt;  this is creating a new line of development. This is mainly used to continue working without messing with the mainline of development.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;git commit&lt;/strong&gt; this is the command used to commit changes to your git repo. Commit contains a message which is used to describe what changes you've made.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;staging area&lt;/strong&gt; this is where git will put/store files while waiting for you to commit the file containing the changes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;SHA&lt;/strong&gt; this is a unique ID number that is given to each of your commits.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;git init&lt;/strong&gt; this command is used to initialize your project into a repository.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;git clone&lt;/strong&gt; this command is used to copy an existing repository to your computer.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;git checkout&lt;/strong&gt; this command takes you to a different branch in your repo.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;git branch&lt;/strong&gt; this command is used to create a new branch.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;git checkout -b&lt;/strong&gt; this command is used to create a new branch and automatically switch to it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;git status&lt;/strong&gt; this command shows you the current status of your repo like files which are yet to be committed or the branch you are currently in.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;git push&lt;/strong&gt; this command sends all your commits to the Github/Gitlab/Bitbucket repo you have created.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;git pull&lt;/strong&gt; this command fetch all your files from your repo and integrate them with your local repo. I mostly use it to make sure everything is up to date and working correctly.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;git add&lt;/strong&gt; this command is used to add files from the working directory to the staging area.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;git diff&lt;/strong&gt; this command is used to display the differences between two versions of a file also you can see changes that are yet to be committed using this command.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;git merge&lt;/strong&gt; this command is used to combine changes from different branches together.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;git revert&lt;/strong&gt; this command is used to a specific commit. It is usually followed by the commit SHA to indicate which commit you want to reverse.&lt;/p&gt;

</description>
      <category>git</category>
      <category>beginners</category>
      <category>codenewbie</category>
      <category>github</category>
    </item>
  </channel>
</rss>
