<?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>Forem: Armin Arlert</title>
    <description>The latest articles on Forem by Armin Arlert (@arminarlert).</description>
    <link>https://forem.com/arminarlert</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%2F282459%2F1805682f-4a8f-4cdd-b6e6-3ba8e68f8222.png</url>
      <title>Forem: Armin Arlert</title>
      <link>https://forem.com/arminarlert</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/arminarlert"/>
    <language>en</language>
    <item>
      <title>About DEV SHOP Orders</title>
      <dc:creator>Armin Arlert</dc:creator>
      <pubDate>Fri, 29 Jan 2021 05:46:27 +0000</pubDate>
      <link>https://forem.com/arminarlert/about-shop-dev-to-orders-2cpo</link>
      <guid>https://forem.com/arminarlert/about-shop-dev-to-orders-2cpo</guid>
      <description>&lt;p&gt;Hi all! &lt;/p&gt;

&lt;p&gt;About 40 days ago I placed an order from &lt;a href="https://shop.dev.to/"&gt;DEV Shop&lt;/a&gt;. I sent 2 e-mails to &lt;a href="mailto:yo@dev.to"&gt;yo@dev.to&lt;/a&gt; but did not receive any feedback. I cannot get any information about whether my order will arrive or not, or its status. Is there any other address you know I can contact?&lt;/p&gt;

&lt;p&gt;Thanks&lt;/p&gt;

</description>
      <category>devshop</category>
      <category>shop</category>
    </item>
    <item>
      <title>2 Basic Things for Powerful SEO and Social Media Sharing</title>
      <dc:creator>Armin Arlert</dc:creator>
      <pubDate>Fri, 03 Apr 2020 10:23:38 +0000</pubDate>
      <link>https://forem.com/arminarlert/2-basic-things-for-powerful-seo-and-social-network-3h2f</link>
      <guid>https://forem.com/arminarlert/2-basic-things-for-powerful-seo-and-social-network-3h2f</guid>
      <description>&lt;p&gt;Hi guys,&lt;/p&gt;

&lt;p&gt;This article was originally published at &lt;a href="https://sfb.dev/seo/2020/04/03/two-things-for-powerful-seo-and-social-media-sharing.html" rel="noopener noreferrer"&gt;sfb.dev&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In the last one or two months, I spent a lot of time working on SEO optimization in the company I work for. I was very happy that these efforts were not wasted and the improvements I made were useful. Today I will talk about open graph(og) tags and google structured data that i developed and implemented in this process. &lt;/p&gt;

&lt;h2&gt;Open Graph&lt;/h2&gt;

&lt;h4&gt;What is Open Graph ❓ 😵&lt;/h4&gt;

&lt;p&gt;Open graph is a protocol that fully reads tags. It creates a preview of your content thanks to the tags you give it and allows you to create more attractive shares.&lt;/p&gt;

&lt;p&gt;In the past, when you shared a link on sites like facebook or twitter, the system would choose any image and content description from the link and showed it. The system could choose any ridiculous image. For example, social media links on footer. Open graph is a protocol developed to solve this problem. For example, you can choose the description, image and title that will appear when you share a blog post on Twitter, thanks to the open graph.&lt;/p&gt;

&lt;p&gt;Open graph is currently a protocol adopted by many major platforms such as Facebook, Youtube and Twitter.&lt;/p&gt;

&lt;h4&gt;Open Graph Tags&lt;/h4&gt;

&lt;p&gt;The 4 tags below are enough tags to create a basic preview. In addition, you can see all other tags from &lt;a href="https://ogp.me/" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;property=&lt;/span&gt;&lt;span class="s"&gt;"og:title"&lt;/span&gt; &lt;span class="na"&gt;content=&lt;/span&gt;&lt;span class="s"&gt;"PAGE TITLE"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;property=&lt;/span&gt;&lt;span class="s"&gt;"og:description"&lt;/span&gt; &lt;span class="na"&gt;content=&lt;/span&gt;&lt;span class="s"&gt;"PAGE DESCRIPTION"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;property=&lt;/span&gt;&lt;span class="s"&gt;"og:url"&lt;/span&gt; &lt;span class="na"&gt;content=&lt;/span&gt;&lt;span class="s"&gt;"PAGE URL"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;property=&lt;/span&gt;&lt;span class="s"&gt;"og:image"&lt;/span&gt; &lt;span class="na"&gt;content=&lt;/span&gt;&lt;span class="s"&gt;"PAGE IMG"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;

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

&lt;/div&gt;



&lt;p&gt;Also, you can use &lt;a href="https://cards-dev.twitter.com/validator" rel="noopener noreferrer"&gt;Twiter Card Validator&lt;/a&gt; and &lt;a href="https://developers.facebook.com/tools/debug/" rel="noopener noreferrer"&gt;Facebook Sharing Debugger&lt;/a&gt; to how your links will look on facebook and twitter. &lt;/p&gt;

&lt;h2&gt;Google Structured Data&lt;/h2&gt;

&lt;h4&gt;What is Google Structured Data❓&lt;/h4&gt;

&lt;p&gt;Google structured data is a type of data used to give hints to the google bots to understand the page. By providing information about the page, you can help google to classify your page. &lt;/p&gt;

&lt;p&gt;If you want to be with enhanced views on Google Search, you need to add all the features required. Defining more recommended features can make you stand out from these searches. However, it is more important to provide fewer but more complete features rather than entering a missing or incorrect feature.&lt;/p&gt;

&lt;p&gt;Google can also use schema.org and sameAs property. Some of these can be used to provide search features if the benefits are seen.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Favjby2b6jp7sloebnf8w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Favjby2b6jp7sloebnf8w.png" alt="Google Structured Data" width="800" height="782"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I took the photo from &lt;a href="https://developers.google.com" rel="noopener noreferrer"&gt;Google Developers&lt;/a&gt;&lt;br&gt;
As you can see in the picture, when each feature of the recipe is labeled separately, users can search for the recipe using ingredients, calories, cooking time and other features.&lt;/p&gt;

&lt;p&gt;Google structured data supports the following formats:&lt;/p&gt;

&lt;ul&gt;
 &lt;li&gt;JSON-LD (suggested)&lt;/li&gt;
 &lt;li&gt;Micro Data&lt;/li&gt;
 &lt;li&gt;RDFa&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;Google Structured Data Rules&lt;/h4&gt;

&lt;p&gt;There are certain rules for adding structured data to google search results. If these rules are not followed, google can reduce the popularity of your site or It might mark your site as spam.&lt;/p&gt;

&lt;p&gt;I have listed some of these rules from by the Google developers page&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Rule&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1. Provide updated information. Google, no longer show rich snippets for time-sensitive content that is not relevant.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2. Provide original content created by you or your users.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3. Don't flag irrelevant or misleading content, such as fake comments or content that has nothing to do with the main idea of ​​the page.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4. Do not use structural data to deceive or mislead users. Do not imitate any person or institution&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;5. Indicate all the features required for your rich result type. Items with missing required features are not suitable for rich results.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;6. If you have duplicate pages for the same content, place the same structured data on all copies of the page, not just the standard page.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;7. Try to use the most obvious valid type and feature names defined by schema.org for your markup.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;8. All image URLs must be crawlable and indexable. Otherwise, Google Search cannot find them and display them on the search results page.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h4&gt;Define the Type of Structured Data&lt;/h4&gt;

&lt;p&gt;To define the type of structured data;&lt;/p&gt;

&lt;p&gt;Open A script tag of type application/ld+json into the head.&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;head&amp;gt;&lt;/span&gt;
 &lt;span class="nt"&gt;&amp;lt;script &lt;/span&gt;&lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"application/ld+json"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;

 &lt;span class="nt"&gt;&amp;lt;/script&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/head&amp;gt;&lt;/span&gt;

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

&lt;/div&gt;



&lt;p&gt;Let's add the tag indicating that you will use schema.org in the script 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;head&amp;gt;&lt;/span&gt;
 &lt;span class="nt"&gt;&amp;lt;script &lt;/span&gt;&lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"application/ld+json"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="p"&gt;{&lt;/span&gt;
   &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;@context&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;http://schema.org/&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
 &lt;span class="nt"&gt;&amp;lt;/script&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/head&amp;gt;&lt;/span&gt;

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

&lt;/div&gt;



&lt;p&gt;To tell Google what you explained.&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;head&amp;gt;&lt;/span&gt;
 &lt;span class="nt"&gt;&amp;lt;script &lt;/span&gt;&lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"application/ld+json"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="p"&gt;{&lt;/span&gt;
   &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;@context&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;http://schema.org/&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
   &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;@type&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Website&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
 &lt;span class="nt"&gt;&amp;lt;/script&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/head&amp;gt;&lt;/span&gt;

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

&lt;/div&gt;



&lt;p&gt;Above we see an example of structured data in its simplest form. You can review schema.org to add the suggested features.&lt;/p&gt;

&lt;p&gt;I will share an example of how the Organization scheme looks like below.&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;head&amp;gt;&lt;/span&gt;
 &lt;span class="nt"&gt;&amp;lt;script &lt;/span&gt;&lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"application/ld+json"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="p"&gt;{&lt;/span&gt;
   &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;@context&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;http://schema.org&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
   &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;@type&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Organization&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
   &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;description&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Personal blog by Şefik Furkan Bayram. Furkan is a frontend 
    developer specializing in UI Design and JavaScript. He has been developing 
    web apps since 2018.&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
   &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;url&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;https://www.sfb.dev/&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
   &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;contactPoint&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;@type&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;ContactPoint&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;telephone&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;+905465459634&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;contactType&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Personal&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
    &lt;span class="p"&gt;},&lt;/span&gt;
   &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;sameAs&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
    &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;https://www.twitter.com/sfbdev/&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;https://www.dev.to/sfbdev/&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;https://www.github.com/sfbdev/&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;https://www.linkedin.com/in/sefikfurkanbayram/&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
   &lt;span class="p"&gt;]&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
 &lt;span class="nt"&gt;&amp;lt;/script&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/head&amp;gt;&lt;/span&gt;

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

&lt;/div&gt;



&lt;h4&gt;Validate the structured data&lt;/h4&gt;

&lt;p&gt;Finally, to test Google structured data you should use &lt;a href="https://search.google.com/structured-data/testing-tool/u/0/" rel="noopener noreferrer"&gt;Structured Data Testing Tool&lt;/a&gt;. You can make your test either by URL or by adding code snippet.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fmlkr1yszg9dgdu7o1lr0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fmlkr1yszg9dgdu7o1lr0.png" alt="Google Structured Data Testing Tool" width="800" height="321"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you are still here thank you for reading :)&lt;/p&gt;

</description>
      <category>tutorial</category>
      <category>todayilearned</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Font family recommendation</title>
      <dc:creator>Armin Arlert</dc:creator>
      <pubDate>Tue, 31 Mar 2020 06:49:11 +0000</pubDate>
      <link>https://forem.com/arminarlert/font-family-recomandation-5faj</link>
      <guid>https://forem.com/arminarlert/font-family-recomandation-5faj</guid>
      <description>&lt;p&gt;Hi everyone ☕&lt;/p&gt;

&lt;p&gt;In theese days, I work remotely because of the pandemic. So I have a little more time in the morning and I spend this time having breakfast in front of the computer and review the codes I wrote. I noticed that I was bored with the font family I used this morning. I think I need to change this to increase my productivity :) I am currently using &lt;strong&gt;"Consolas, 'Courier New', monospace"&lt;/strong&gt;. Which font family do you use when writing code? By sharing here, we may increase someone's productivity.&lt;/p&gt;

&lt;p&gt;My code editor looks like below&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F38f7v01c5qq3j4dlgzq5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F38f7v01c5qq3j4dlgzq5.png" alt="My text editor" width="752" height="571"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>discuss</category>
      <category>motivation</category>
    </item>
    <item>
      <title>What is CSS Preprecessor? (for begginers)</title>
      <dc:creator>Armin Arlert</dc:creator>
      <pubDate>Thu, 26 Mar 2020 01:19:15 +0000</pubDate>
      <link>https://forem.com/arminarlert/what-is-css-preprecessor-for-begginers-4m9k</link>
      <guid>https://forem.com/arminarlert/what-is-css-preprecessor-for-begginers-4m9k</guid>
      <description>&lt;p&gt;Hello to everyone ⭐&lt;/p&gt;

&lt;p&gt;Today I will give information about SASS and SCSS from CSS-preprocessors.&lt;/p&gt;

&lt;h2&gt;What is CSS Preprocessor ❓&lt;/h2&gt;

&lt;p&gt;Preprocessors provides us opportunities such as creating functions, defining variables, using operators while writing CSS as in programming languages.&lt;/p&gt;

&lt;p&gt;There are 3 preprocessor that are popular right now. These are &lt;strong&gt; SASS, LESS, &lt;/strong&gt; and &lt;strong&gt; Stylus &lt;/strong&gt;. In this article, I will talk about &lt;strong&gt; SASS &lt;/strong&gt; and &lt;strong&gt; SCSS &lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt; What is SASS ❓&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt; SASS &lt;/strong&gt; is a Ruby Gem that started to be developed in 2006 and aims to write CSS in a language close to the Ruby language. It is currently being developed as an open source technology.&lt;/p&gt;

&lt;p&gt;We wouldn't expect CSS to remain an old technology in the constantly evolving software world. Thanks to &lt;strong&gt; SASS &lt;/strong&gt; we started dynamically writing CSS, and making advanced animations without including javascript on our pages has become easier and simpler thanks to &lt;strong&gt;SASS&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt; SASS &lt;/strong&gt; is an extension language. It is a technology that allows us to write our work with CSS easier, faster and more readable. It is written with a Ruby-like syntax and these codes are converted to CSS.&lt;/p&gt;

&lt;h2&gt; What is SCSS ❓&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt; SCSS is SASS more like CSS as syntax. &lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Developers accustomed to writing CSS were having trouble writing &lt;strong&gt; SASS &lt;/strong&gt; because no parentheses and semicolons were used when writing SASS. For this reason, using &lt;strong&gt; SCSS &lt;/strong&gt;, brackets and semicolons are back. Syntax look a bit more like CSS.&lt;/p&gt;

&lt;h2&gt; Why Should We Use SCSS ❓&lt;/h2&gt;

&lt;p&gt;You will understand why you should use &lt;strong&gt; SCSS &lt;/strong&gt; more easily with the examples I will show in other articles, but for now let me tell you about a few awesome features of &lt;strong&gt; SCSS &lt;/strong&gt;.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;I think the most important reason we use &lt;strong&gt; SCSS &lt;/strong&gt; is that we can remove CSS from the static structure and use it like a dynamic programming language.&lt;/li&gt;
&lt;li&gt;It allows us to quickly create style files.&lt;/li&gt;
&lt;li&gt;As projects grow, our CSS files become more complex. After a certain time, the codes start to repeat, which causes us to write code unnecessarily. &lt;strong&gt; SCSS &lt;/strong&gt; saves us from this complexity and prevents us from repeating code.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt; How to Install SASS and SCSS ❓&lt;/h2&gt;

&lt;p&gt;We do not install SASS and SCSS separately. As I mentioned above, both work under the same roof, only syntax difference. The setup below applies to both.&lt;/p&gt;

&lt;p&gt;We have two options to install on your computer. The first is with utility desktop programs, and the second is setup from the command line. I will tell you the setup from the command line...&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;To work with &lt;strong&gt; SASS &lt;/strong&gt; and &lt;strong&gt; SCSS &lt;/strong&gt;, Ruby must be installed on our computer.&lt;br&gt;
You can download and install &lt;a href="https://rubyinstaller.org/downloads/" rel="noopener noreferrer"&gt; here &lt;/a&gt; by selecting the version that is appropriate for your operating system.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;After installing Ruby on our computer, we come to the desktop, press the &lt;strong&gt; Windows + R &lt;/strong&gt; keys and start the command line by typing &lt;strong&gt; cmd &lt;/strong&gt; in the field that opens.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;We install the sass by typing the following command on the command line.&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="n"&gt;gem&lt;/span&gt; &lt;span class="n"&gt;install&lt;/span&gt; &lt;span class="n"&gt;sass&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Type the following command to check that the installation is taking place and as a result, if it returns the sass version installed on your computer, the installation is complete.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="n"&gt;sass&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;v&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;Result 🔥&lt;/h2&gt;

&lt;p&gt;There is no need to explain the importance of a clean and readable code structure. As the projects grow, the CSS files become unusable and it is very difficult to write these style files in a clean and legible way with CSS only. This is where &lt;strong&gt; CSS preporecessors &lt;/strong&gt; come into play. The reason I use SCSS is that the syntax is very similar to CSS and there are many sources.&lt;/p&gt;

&lt;p&gt;If you don't be careful when you write &lt;strong&gt; SCSS &lt;/strong&gt;, after a while it will not be different from normal CSS. This means that there is no point in using &lt;strong&gt; CSS preporecessor &lt;/strong&gt;. So you need to code carefully and cleanly.&lt;/p&gt;

&lt;p&gt;In my next article, I will talk about how to make SASS and SCSS settings. I would be very happy if this will help you.&lt;/p&gt;

&lt;p&gt;Have a nice day!&lt;/p&gt;

</description>
      <category>css</category>
      <category>webdev</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Build Free Blog Page with Jekyll</title>
      <dc:creator>Armin Arlert</dc:creator>
      <pubDate>Tue, 10 Mar 2020 15:13:06 +0000</pubDate>
      <link>https://forem.com/arminarlert/build-free-blog-page-with-jekyll-4622</link>
      <guid>https://forem.com/arminarlert/build-free-blog-page-with-jekyll-4622</guid>
      <description>&lt;p&gt;Hi everybody, Firstly, I tell about what is &lt;a href="https://jekyllrb.com/" rel="noopener noreferrer"&gt;Jekyll&lt;/a&gt;? What should we use?&lt;/p&gt;

&lt;p&gt;&lt;a href="https://jekyllrb.com/" rel="noopener noreferrer"&gt;Jekyll&lt;/a&gt; is a tool that allows us to create static web pages developed by Github with ruby. When we entered Jekyll's official website, we saw, "Transform your plain text into static websites and blogs." It is completely free and has a considerable number of users. Without further ado, I want to talk about how to install jekyll, how to make it work .&lt;/p&gt;

&lt;p&gt;💨&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;NOTE: I use Debian 9, So I will make my narration on Linux operating systems.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;Advantage/Disadvantage&lt;/h2&gt;

&lt;h3&gt;+ ⭐&lt;/h3&gt; 

&lt;p&gt;As with WordPress, you don't have to deal with plugins. You produce your content, Jekyll will do the rest. When you do not tire the server with the plugins and do not require a database on top, the sites you will create with Jekyll will be very high performance.&lt;/p&gt;

&lt;h3&gt;- 🔥&lt;/h3&gt; 

&lt;p&gt;It is not so easy to install a plugin / theme with one click, as in WordPress platform, you should know a little technical information about HTML - CSS - JS-Ruby photos server configuration.&lt;/p&gt;

&lt;h2&gt;Install Jekyll 💫&lt;/h2&gt; 

&lt;p&gt;If you want to use &lt;a href="https://jekyllrb.com/" rel="noopener noreferrer"&gt;Jekyll&lt;/a&gt;, you need to install ruby to the computer.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;
&lt;span class="nx"&gt;su&lt;/span&gt; &lt;span class="c1"&gt;// you need to be root on the system to install ruby&lt;/span&gt;

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

&lt;/div&gt;



&lt;p&gt;It will ask us for our system password. After entering, we press enter and continue.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;
&lt;span class="nx"&gt;apt&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="kd"&gt;get&lt;/span&gt; &lt;span class="nx"&gt;install&lt;/span&gt; &lt;span class="nx"&gt;ruby&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;full&lt;/span&gt; &lt;span class="c1"&gt;// installing ruby&lt;/span&gt;

&lt;span class="nx"&gt;exit&lt;/span&gt; &lt;span class="c1"&gt;// exit root.&lt;/span&gt;

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

&lt;/div&gt;



&lt;p&gt;After installing Ruby, we exit root mode with the &lt;strong&gt;exit&lt;/strong&gt; command.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;
&lt;span class="nx"&gt;gem&lt;/span&gt; &lt;span class="nx"&gt;install&lt;/span&gt; &lt;span class="nx"&gt;jekyll&lt;/span&gt;  &lt;span class="c1"&gt;// install jekyll&lt;/span&gt;

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

&lt;/div&gt;



&lt;p&gt;NOTE: The reason I passed these places quickly is that there is a lot of resources and documentation on the internet. If you get an error or encounter a problem, you can contact me on my social media accounts. I try to help as much as I can.&lt;/p&gt;

&lt;h2&gt;Create a Jekyll Project 💥&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;
&lt;span class="nx"&gt;jekyll&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nx"&gt;project_name&lt;/span&gt; &lt;span class="c1"&gt;// create project&lt;/span&gt;

&lt;span class="nx"&gt;cd&lt;/span&gt; &lt;span class="nx"&gt;project_name&lt;/span&gt; &lt;span class="c1"&gt;// go to project folder&lt;/span&gt;

&lt;span class="nx"&gt;jekyll&lt;/span&gt; &lt;span class="nx"&gt;serve&lt;/span&gt; &lt;span class="c1"&gt;// run project&lt;/span&gt;

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

&lt;/div&gt;



&lt;p&gt;We created our first project with the &lt;strong&gt;new&lt;/strong&gt; command. Then we go into the folder where we created our project and run our project with the &lt;strong&gt;jekyll serve&lt;/strong&gt; command.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fe350urm0crel426gcjff.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fe350urm0crel426gcjff.png" alt="Bash" width="652" height="365"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If we get an output like above, our site has been created and working successfully.&lt;br&gt;
If we open our browser and enter &lt;strong&gt;localhost:4000&lt;/strong&gt; in the address bar, our site will open.&lt;/p&gt;

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

&lt;p&gt;And our site is ready. In the next articles, I will explain what the folders in the project do, how to use a ready-made theme, how to publish it on github and how to use our own domain name.&lt;/p&gt;

&lt;p&gt;If you are still here thank you for reading :)&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>tutorial</category>
      <category>webdev</category>
    </item>
    <item>
      <title>What's New and Updates in Vue CLI 4.0</title>
      <dc:creator>Armin Arlert</dc:creator>
      <pubDate>Sat, 22 Feb 2020 23:35:31 +0000</pubDate>
      <link>https://forem.com/arminarlert/what-s-new-and-updates-in-vue-cli-4-0-1f5c</link>
      <guid>https://forem.com/arminarlert/what-s-new-and-updates-in-vue-cli-4-0-1f5c</guid>
      <description>&lt;p&gt;Hi guys ⭐&lt;/p&gt;

&lt;p&gt;Today, I will talk about new features that come with Vue CLI 4.0.&lt;/p&gt;

&lt;h1&gt;
  
  
  How to Install or Update to 4.0 ❔
&lt;/h1&gt;

&lt;h2&gt;
  
  
  Install 🔥
&lt;/h2&gt;

&lt;p&gt;If no vue cli version is installed on your computer, you can download the latest cli version by running the command below.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;npm&lt;/span&gt; &lt;span class="nx"&gt;install&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;g&lt;/span&gt; &lt;span class="p"&gt;@&lt;/span&gt;&lt;span class="nd"&gt;vue&lt;/span&gt;&lt;span class="sr"&gt;/cli #for np&lt;/span&gt;&lt;span class="err"&gt;m
#&lt;/span&gt; &lt;span class="nx"&gt;OR&lt;/span&gt;
&lt;span class="nx"&gt;yarn&lt;/span&gt; &lt;span class="nb"&gt;global&lt;/span&gt; &lt;span class="nx"&gt;add&lt;/span&gt; &lt;span class="p"&gt;@&lt;/span&gt;&lt;span class="nd"&gt;vue&lt;/span&gt;&lt;span class="sr"&gt;/cli #for yar&lt;/span&gt;&lt;span class="err"&gt;n
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Update 💨
&lt;/h2&gt;

&lt;p&gt;If you have vue cli on your computer, you can update it latest version by running the command below.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;vue upgrade
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h1&gt;
  
  
  What's New? ❓
&lt;/h1&gt;
&lt;h2&gt;
  
  
  The default directory structure was changed for Vuex and Router
&lt;/h2&gt;

&lt;p&gt;In v3 the default directory structure is &lt;strong&gt;src/router.js&lt;/strong&gt; for router&lt;br&gt;
In v4 the default directory structure is &lt;strong&gt;src/router/index.js&lt;/strong&gt; for router&lt;/p&gt;

&lt;p&gt;In v3 the default directory structure is &lt;strong&gt;src/store.js&lt;/strong&gt; for vuex&lt;br&gt;
In v4 the default directory structure is &lt;strong&gt;src/store/index.js&lt;/strong&gt; for vuex&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;In addition:&lt;/strong&gt; It's time to &lt;code&gt;api.hasPlugin('router')&lt;/code&gt; time. &lt;code&gt;api.hasPlugin('vue-router')&lt;/code&gt; is no longer supported. &lt;/p&gt;
&lt;h2&gt;
  
  
  Extra Approval Step to Prevent Overwriting 💫
&lt;/h2&gt;

&lt;p&gt;If you have uncommitted changes in the current repository, you will see a one more step when you run vue add or vue upgrade or vue invoke.&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;PS C:&lt;span class="se"&gt;\P&lt;/span&gt;rojects&lt;span class="se"&gt;\F&lt;/span&gt;URKAN&lt;span class="se"&gt;\w&lt;/span&gt;eatherapp&amp;gt; vue add eslint
WARN  There are uncommited changes &lt;span class="k"&gt;in &lt;/span&gt;the current repository, It&lt;span class="s1"&gt;'s recommended to
commit or stash them first.
? Still proceed? (y/N)
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  About SASS/SCSS 💥
&lt;/h2&gt;

&lt;p&gt;In version3 there is &lt;code&gt;sass-loader@7&lt;/code&gt; by default. &lt;code&gt;sass-loader@8&lt;/code&gt; is default version now.&lt;/p&gt;

&lt;p&gt;If you look vue cli documantation, you will see this block.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;@vue/cli-service&lt;/code&gt; will continue to support &lt;code&gt;sass-loader@7&lt;/code&gt; in v4, but we strongly recommend you to take a look at the v8 release and upgrade to the latest version.&lt;/p&gt;

&lt;h2&gt;
  
  
  Whitespace handling in the template block 👽
&lt;/h2&gt;

&lt;p&gt;To get a smaller package, the preserveWhitespace option of vue-template-compiler is disabled by default in Vue CLI v3.&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;span&amp;gt;&lt;/span&gt;
    This is &lt;span class="nt"&gt;&amp;lt;strong&amp;gt;&lt;/span&gt;an&lt;span class="nt"&gt;&amp;lt;/strong&amp;gt;&lt;/span&gt; &lt;span class="nt"&gt;&amp;lt;strong&amp;gt;&lt;/span&gt;example.&lt;span class="nt"&gt;&amp;lt;/strong&amp;gt;&lt;/span&gt;
    Can't touch &lt;span class="nt"&gt;&amp;lt;strong&amp;gt;&lt;/span&gt;this&lt;span class="nt"&gt;&amp;lt;/strong&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/span&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;With whitespace: 'condense'&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;span&amp;gt;&lt;/span&gt; This is &lt;span class="nt"&gt;&amp;lt;strong&amp;gt;&lt;/span&gt;an&lt;span class="nt"&gt;&amp;lt;/strong&amp;gt;&lt;/span&gt; &lt;span class="nt"&gt;&amp;lt;strong&amp;gt;&lt;/span&gt;example.&lt;span class="nt"&gt;&amp;lt;/strong&amp;gt;&lt;/span&gt; Can't Touch &lt;span class="nt"&gt;&amp;lt;strong&amp;gt;&lt;/span&gt;this&lt;span class="nt"&gt;&amp;lt;/strong&amp;gt;&lt;/span&gt; &lt;span class="nt"&gt;&amp;lt;/span&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;With preserveWhitespace: false,&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;span&amp;gt;&lt;/span&gt; This is &lt;span class="nt"&gt;&amp;lt;strong&amp;gt;&lt;/span&gt;an&lt;span class="nt"&gt;&amp;lt;/strong&amp;gt;&amp;lt;strong&amp;gt;&lt;/span&gt;example.&lt;span class="nt"&gt;&amp;lt;/strong&amp;gt;&lt;/span&gt; Can't touch &lt;span class="nt"&gt;&amp;lt;strong&amp;gt;&lt;/span&gt;this&lt;span class="nt"&gt;&amp;lt;/this&amp;gt;&lt;/span&gt; &lt;span class="nt"&gt;&amp;lt;/span&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Note the &lt;strong&gt;inline&lt;/strong&gt; whitespace between tags is now preserved.&lt;/p&gt;

&lt;h2&gt;
  
  
  Build Command for Development Mode 🏃
&lt;/h2&gt;

&lt;p&gt;When you running the build command in version 3 in development mode, the dist folder would be different from the production mode. Now, the directory structures across all modes would be the same.&lt;/p&gt;

&lt;h2&gt;
  
  
  About Plugins 💀
&lt;/h2&gt;

&lt;p&gt;I got the this part from &lt;a href="https://cli.vuejs.org/migrating-from-v3" rel="noopener noreferrer"&gt;https://cli.vuejs.org/migrating-from-v3&lt;/a&gt; &lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a class="mentioned-user" href="https://dev.to/vue"&gt;@vue&lt;/a&gt;/cli-plugin-typescript
&lt;/h3&gt;

&lt;p&gt;When importing a file without extension, the webpack resolve options now prefer .ts(x) files over .js(x) and .vue ones. We strongly recommend you to always include the file extension when importing .vue files.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a class="mentioned-user" href="https://dev.to/vue"&gt;@vue&lt;/a&gt;/cli-plugin-jest
&lt;/h3&gt;

&lt;p&gt;Jest is updated from v23 to v24.&lt;/p&gt;

&lt;p&gt;The unit-jest plugin now comes with 4 configuration presets:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;@vue/cli-plugin-unit-jest&lt;/code&gt; The default preset for the most common type of projects&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;@vue/cli-plugin-unit-jest/presets/no-babel&lt;/code&gt; If you don't have &lt;code&gt;@vue/cli-plugin-babel&lt;/code&gt; installed and don't want to see babel files in the project&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;@vue/cli-plugin-unit-jest/presets/typescript&lt;/code&gt; The preset with TypeScript support (but no TSX support)&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;@vue/cli-plugin-unit-jest/presets/typescript-and-babel&lt;/code&gt; The preset with TypeScript (and TSX) and babel support.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you haven't changed the default Jest configurations (lies in either &lt;code&gt;jest.config.js&lt;/code&gt; or the &lt;code&gt;jest&lt;/code&gt; field in &lt;code&gt;package.json&lt;/code&gt;) ever since project creation, you can now replace the massive configuration object with one single field:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;module&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;exports&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
 &lt;span class="c1"&gt;// Replace the following preset name with the one you want to use from the above list&lt;/span&gt;
    &lt;span class="na"&gt;preset&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;@vue/cli-plugin-unit-jest&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;A Reminder&lt;/strong&gt;                                                                                                                           The default test environment in the new presets is jsdom@15, which differs from the default one in Jest 24 (jsdom@11). This is to be aligned with the upcoming Jest 25 updates. Most users won't be affected by this change. For a detailed changelog with regard to jsdom, see &lt;strong&gt;&lt;a href="https://github.com/jsdom/jsdom/blob/master/Changelog.md" rel="noopener noreferrer"&gt;https://github.com/jsdom/jsdom/blob/master/Changelog.md&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a class="mentioned-user" href="https://dev.to/vue"&gt;@vue&lt;/a&gt;/cli-plugin-unit-mocha
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Use mochapack instead of mocha-webpack, see changelog at &lt;strong&gt;&lt;a href="https://github.com/sysgears/mochapack/releases" rel="noopener noreferrer"&gt;https://github.com/sysgears/mochapack/releases&lt;/a&gt;&lt;/strong&gt;. This change is not likely to affect actual usage.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;a class="mentioned-user" href="https://dev.to/vue"&gt;@vue&lt;/a&gt;/cli-service-global
&lt;/h3&gt;

&lt;p&gt;See breaking changes in the &lt;strong&gt;&lt;code&gt;[@vue/cli-service](https://cli.vuejs.org/migrating-from-v3/#vue-cli-service)&lt;/code&gt;&lt;/strong&gt; &amp;amp; &lt;strong&gt;&lt;code&gt;[@vue/cli-plugin-eslint](https://cli.vuejs.org/migrating-from-v3/#vue-cli-plugin-eslint)&lt;/code&gt;&lt;/strong&gt; packages.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a class="mentioned-user" href="https://dev.to/vue"&gt;@vue&lt;/a&gt;/cli-plugin-eslint
&lt;/h3&gt;

&lt;p&gt;This plugin now &lt;strong&gt;&lt;a href="https://github.com/vuejs/vue-cli/pull/3852" rel="noopener noreferrer"&gt;requires ESLint as a peer dependency&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;This won't affect projects scaffolded with Vue CLI 3.1 or later.&lt;/p&gt;

&lt;p&gt;If your project was scaffolded with Vue CLI 3.0.x or earlier, you may need to add &lt;code&gt;eslint@4&lt;/code&gt; to your project dependencies (This is automated if you upgrade the plugin using &lt;code&gt;vue upgrade eslint&lt;/code&gt;).&lt;/p&gt;

&lt;p&gt;It's also recommended to upgrade your ESLint to v5, and ESLint config versions to the latest. (ESLint v6 support is still on the way)&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;The Prettier Preset&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The old implementation of our prettier preset is flawed. We've updated the default template since Vue CLI v3.10.&lt;/p&gt;

&lt;p&gt;It now requires &lt;code&gt;eslint&lt;/code&gt;, &lt;code&gt;eslint-plugin-prettier&lt;/code&gt; and &lt;code&gt;prettier&lt;/code&gt; as peer dependencies, following the &lt;strong&gt;&lt;a href="https://github.com/eslint/eslint/issues/3458" rel="noopener noreferrer"&gt;standard practice in the ESLint ecosystem&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;For older projects, if you encountered issues like &lt;code&gt;Cannot find module: eslint-plugin-prettier&lt;/code&gt;, please run the following command to fix it:&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;code&gt;npm install --save-dev eslint@5 @vue/eslint-config-prettier@5 eslint-plugin-prettier prettier&lt;/code&gt;
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a class="mentioned-user" href="https://dev.to/vue"&gt;@vue&lt;/a&gt;/cli-plugin-e2e-cypress
&lt;/h3&gt;

&lt;p&gt;Before Vue CLI v3.0.0-beta.10, the default command for E2E testing was &lt;code&gt;vue-cli-service e2e&lt;/code&gt;. Later we changed it to &lt;code&gt;vue-cli-service test:e2e&lt;/code&gt;. The previous command was since deprecated but still supported. We have now completely &lt;strong&gt;&lt;a href="https://github.com/vuejs/vue-cli/pull/3774" rel="noopener noreferrer"&gt;dropped support for this legacy command&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a class="mentioned-user" href="https://dev.to/vue"&gt;@vue&lt;/a&gt;/cli-plugin-e2e-nightwatch
&lt;/h3&gt;

&lt;p&gt;Nightwatch.js has been upgraded from 0.9 to 1.x. Be sure to read the &lt;strong&gt;&lt;a href="https://github.com/nightwatchjs/nightwatch/wiki/Migrating-to-Nightwatch-1.0" rel="noopener noreferrer"&gt;Nightwatch migration guides&lt;/a&gt;&lt;/strong&gt; first.&lt;/p&gt;

&lt;p&gt;The bundled config and generated tests &lt;strong&gt;&lt;a href="https://github.com/vuejs/vue-cli/pull/4541" rel="noopener noreferrer"&gt;have been completely overhauled&lt;/a&gt;&lt;/strong&gt;. Please follow the link for more details. Most use cases in Vue CLI v3 are still supported. They are just new features.&lt;/p&gt;

&lt;p&gt;As ChromeDriver has changed its version strategy since version 73, we've made it a peer dependency in the project. A simple browser version check is implemented in the plugin, so if you've upgraded to an incompatible version of Chrome, there will be a warning to prompt you to upgrade the depended ChromeDriver version.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;I would like to state that I have received some of the places in this post from &lt;a href="https://cli.vuejs.org/migrating-from-v3/" rel="noopener noreferrer"&gt;Vue CLI&lt;/a&gt;. See the references section for more information.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I hope that gives a basic idea about cli 4.0 is and what came with it. If you are still here thank you for reading :)&lt;/p&gt;

&lt;h2&gt;
  
  
  References
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://cli.vuejs.org/migrating-from-v3/" rel="noopener noreferrer"&gt;Migrating from v3&lt;/a&gt;&lt;/p&gt;

</description>
      <category>vue</category>
      <category>javascript</category>
      <category>webdev</category>
      <category>news</category>
    </item>
    <item>
      <title>Coolest Tool for Writing Documentation - VuePress</title>
      <dc:creator>Armin Arlert</dc:creator>
      <pubDate>Sun, 09 Feb 2020 11:24:44 +0000</pubDate>
      <link>https://forem.com/arminarlert/coolest-tool-for-writing-documentation-vuepress-cm6</link>
      <guid>https://forem.com/arminarlert/coolest-tool-for-writing-documentation-vuepress-cm6</guid>
      <description>&lt;h1&gt;
  
  
  ⭐ Introduction ⭐
&lt;/h1&gt;

&lt;p&gt;Last week was my first week in my new job and don't have much idea about our projects. We have decided as a team to write documantation. My team lead asked me to create a documentation project for all of our projects. So i did some research and saw a cool star. Then i noticed it was VUEPREEESSS&lt;/p&gt;

&lt;p&gt;It's really simple and useable.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is VuePress ❓
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;VuePress is composed of two parts: a minimalistic static site generator with a Vue-powered theming system and Plugin API, and a default theme optimized for writing technical documentation. It was created to support the documentation needs of Vue’s own sub projects.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;You encounter this part when you open the site of VuePress. I used VuePress to create a documentation project. &lt;/p&gt;

&lt;h2&gt;
  
  
  How to Create a VuePress Project? ✏️
&lt;/h2&gt;

&lt;p&gt;I used npm to install vuepress.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# install vuepress
npm install -g vuepress # OR yarn global add vuepress

# create the project folder
mkdir vuepress-project

# create a markdown file for homepage
echo '# Hello VuePress' &amp;gt; README.md

# run project
vuepress dev

# for build
#vuepress build
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;After this, you will see just an empty page and Hello VuePress text. You will need a config file to customize to your project.&lt;/p&gt;

&lt;h1&gt;
  
  
  Customize the project 💭
&lt;/h1&gt;

&lt;p&gt;It is suggested that we create a directory named .vuepress in the Vuepress documentation. Everything about of VuePress will be here.&lt;/p&gt;

&lt;h3&gt;
  
  
  Config File 🌟
&lt;/h3&gt;

&lt;p&gt;You should create a config file to customize the project and should export configs. It is config.js and must be in .vuepress file.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;module.exports = {
    title: 'Project Title',
    description: 'Project Description',
    themeConfig: {
        nav: [
            { text: 'Home', link: '/' },
            { text: 'Guide', link: '/guide/introduction' },
        ],

        sidebar: [
           {
               title: 'Home',
               path: '/home/',
           },
           {
               title: 'Submenu',
               path: '/submenu/',
           }
        ],
    }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;I wrote my project name and description. In addition I created a navbar and sidebar for navigation.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F6ylealt1xo11xh8vycfi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F6ylealt1xo11xh8vycfi.png" alt="Basic Project" width="800" height="293"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Customize the Homepage 🏠
&lt;/h3&gt;

&lt;p&gt;To customize the homepage, you can edit the readme.md file of the homepage &lt;strong&gt;(./README.md)&lt;/strong&gt; as follows.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;---
home: true
heroImage: /img/logo.jpg
heroText: Welcome
actionText: Get Started
actionLink: /home/
features:
- title: "Simplicity First"
  details: Minimal setup with markdown-centered project structure helps you focus on writing.
- title: "Vue-Powered"
  details: Enjoy the dev experience of Vue + webpack, use Vue components in markdown, and develop custom themes with Vue.
- title: "Performant"
  details: VuePress generates pre-rendered static HTML for each page, and runs as an SPA once a page is loaded.
footer: Copyright © 2020
--- 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;And your homepage will looks like this.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F58fmlo9kevnkzjpg9iuf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F58fmlo9kevnkzjpg9iuf.png" alt="Homepage" width="800" height="394"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Your project looks like this and the document structure is as follows:&lt;/p&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;.&lt;br&gt;
├─ .vuepress&lt;br&gt;
│    └─ config.js&lt;br&gt;
├─ home&lt;br&gt;
│   └─ README.md&lt;br&gt;
├─ submenu&lt;br&gt;
│   └─ README.md&lt;br&gt;
├─ README.md&lt;br&gt;
└─ package.json&lt;br&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h2&gt;
&lt;br&gt;
  &lt;br&gt;
  &lt;br&gt;
  What's the next? ❕&lt;br&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;IT'S TIME TO WRITE DOCUMANTATION FOR FUTURE GENERATIONS!!!&lt;/em&gt;&lt;/strong&gt; 💪&lt;/p&gt;

&lt;p&gt;As you can see it's much easy. You can use an editor to write .markdown and so can write documentation fastly. &lt;/p&gt;

&lt;p&gt;Thank you for read. If you enjoy this article please like and share! See you! &lt;/p&gt;

</description>
      <category>beginners</category>
      <category>vue</category>
      <category>webdev</category>
      <category>todayilearned</category>
    </item>
    <item>
      <title>How to create CSS keyframe animations</title>
      <dc:creator>Armin Arlert</dc:creator>
      <pubDate>Tue, 28 Jan 2020 19:08:39 +0000</pubDate>
      <link>https://forem.com/arminarlert/how-to-create-css-keyframe-animations-52md</link>
      <guid>https://forem.com/arminarlert/how-to-create-css-keyframe-animations-52md</guid>
      <description>&lt;p&gt;Firstly hi,&lt;/p&gt;

&lt;p&gt;This is my first post on dev.to :) &lt;/p&gt;

&lt;p&gt;Before, i usually used jquery to make animation for web apps. But with the innovations coming with CSS3, I can say that I am not even looking at the face of the jQuery library about animations anymore. &lt;/p&gt;

&lt;p&gt;Today i will show you what you can do with keyfreames.&lt;br&gt;
&lt;strong&gt;I will not tell magical things :)&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;With the @keyframes feature, we can make various animations only with CSS without using any plugins. Shift, change color, growth, shrinkage etc. to any DOM element. We can apply effects. In short, we set a certain time interval with @keyframes and we can apply everything that can be done with CSS in this time interval to our item. &lt;/p&gt;
&lt;h2&gt;
  
  
  Browser Support
&lt;/h2&gt;

&lt;p&gt;I want to talk about browser support before I begin my narration. All versions of Google Chrome, Mozilla, Opera and Safari support this feature. It is for more detailed table than &lt;a href="https://www.w3schools.com/cssref/css3_pr_animation-keyframes.asp" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;
  
  
  Usage
&lt;/h2&gt;

&lt;p&gt;It's really simple&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;@keyframes&lt;/span&gt; &lt;span class="n"&gt;animation-name&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nt"&gt;from&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="err"&gt;css&lt;/span&gt; &lt;span class="err"&gt;attributes&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="nt"&gt;to&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="err"&gt;css&lt;/span&gt; &lt;span class="err"&gt;attributes&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;You can type any variable name that describes your animation in the place that says "animation-name". The &lt;strong&gt;"from"&lt;/strong&gt; part refers to our starting values, the &lt;strong&gt;"to"&lt;/strong&gt; part refers to our end values. Also, we can use it by expressing it in percentiles. Expressing in percentiles in general enables us to establish a more flexible structure.&lt;/p&gt;

&lt;h2&gt;
  
  
  Features
&lt;/h2&gt;

&lt;p&gt;There are a few values that the selector we will apply animation to. These values are;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Property&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;animation&lt;/td&gt;
&lt;td&gt;A shorthand property for setting all the animation properties&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;animation-name&lt;/td&gt;
&lt;td&gt;Specifies the name of the @keyframes animation&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;animation-duration&lt;/td&gt;
&lt;td&gt;Specifies how long time an animation should take to complete one cycle&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;animation-timing-function&lt;/td&gt;
&lt;td&gt;Specifies the speed curve of the animation&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;animation-delay&lt;/td&gt;
&lt;td&gt;Specifies a delay for the start of an animation&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;animation-iteration-count&lt;/td&gt;
&lt;td&gt;Specifies the number of times an animation should be played&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;animation-direction&lt;/td&gt;
&lt;td&gt;Specifies whether an animation should be played forwards, backwards or in alternate cycles&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;animation-fill-mode&lt;/td&gt;
&lt;td&gt;Specifies a style for the element when the animation is not playing (before it starts, after it ends, or both)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;animation-play-state&lt;/td&gt;
&lt;td&gt;Specifies whether the animation is running or paused&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Example
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nc"&gt;.box&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;25px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;height&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;25px&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="no"&gt;blue&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;animation-name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;animasyon-ismi&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;animation-duration&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;2s&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="k"&gt;@keyframes&lt;/span&gt; &lt;span class="n"&gt;animation-name&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="err"&gt;10&lt;/span&gt;&lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; 
    &lt;span class="nl"&gt;width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;100px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;height&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;100px&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="no"&gt;red&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
 &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="err"&gt;50&lt;/span&gt;&lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;150px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;height&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;150px&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="no"&gt;purple&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
 &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="err"&gt;100&lt;/span&gt;&lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; 
    &lt;span class="nl"&gt;width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;50px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;height&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;50px&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="no"&gt;yellow&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
 &lt;span class="p"&gt;}&lt;/span&gt; 
&lt;span class="p"&gt;}&lt;/span&gt;

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

&lt;/div&gt;



&lt;p&gt;I have divided our animation into 3 parts above. If you want, you can divide it into 100 equal parts :) 10%, 25%, 50%, 75%, 100%… You can see my application by clicking &lt;a href="https://codepen.io/furkanbayram2/pen/mLrjKp" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>css</category>
      <category>beginners</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
