<?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: Roman Rezinkin</title>
    <description>The latest articles on DEV Community by Roman Rezinkin (@romanrezinkin).</description>
    <link>https://dev.to/romanrezinkin</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%2F703214%2F8a30eda7-ef73-4603-891f-e0179d4391f2.jpeg</url>
      <title>DEV Community: Roman Rezinkin</title>
      <link>https://dev.to/romanrezinkin</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/romanrezinkin"/>
    <language>en</language>
    <item>
      <title>DPS909 - Release 0.4 Week 3 - Final Update</title>
      <dc:creator>Roman Rezinkin</dc:creator>
      <pubDate>Sun, 12 Dec 2021 02:34:01 +0000</pubDate>
      <link>https://dev.to/romanrezinkin/dps909-release-04-week-3-final-update-5bkj</link>
      <guid>https://dev.to/romanrezinkin/dps909-release-04-week-3-final-update-5bkj</guid>
      <description>&lt;h1&gt;
  
  
  Introduction
&lt;/h1&gt;

&lt;p&gt;Well, as we approach the end of the semester, here I am with my final blog post. For this week, I focused on finishing my Release 0.4. As my previous blog posted mentioned that for week 3, I would continue my work on &lt;a href="https://github.com/meshery/meshery.io/issues/605"&gt;Issue-605&lt;/a&gt;. Since my first part of release 0.4 was working on introducing a Legend into the same repository (on top of reformatting and fixing a lot of the page that the legend lived in), I picked up issue-605. There were a few enhancements that were in need of changes, which included removing a footer bar which lives right below the email subscription input fields. The second issue was regarding the color of the subscribe button in the hover stage. &lt;br&gt;
Image for reference: &lt;br&gt;
&lt;strong&gt;Footer Issue&lt;/strong&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--fVrhzaqG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/is59em1wmv8plzcm044x.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--fVrhzaqG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/is59em1wmv8plzcm044x.png" alt="Footer Issue" width="880" height="495"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Hover Color Issue&lt;/strong&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--UbMl3ewC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qygn93snbdhe6qki3id2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--UbMl3ewC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qygn93snbdhe6qki3id2.png" alt="Hover Color Issue" width="780" height="156"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Fixing the Footer
&lt;/h2&gt;

&lt;p&gt;The footer was a rather simple fix, although it took me quite a bit of digging to discover where it lived within the repository.&lt;br&gt;
After using the Chrome Inspect Tools, I was able to identify where the footer CSS location was, and made my fix:&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--JJMsV4lY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xrqg6vv61zy2mzevy6m6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--JJMsV4lY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xrqg6vv61zy2mzevy6m6.png" alt="Footer Fix" width="880" height="187"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That was rather simple, but I think the final product looks a lot better than the original:&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Wv-ByGq8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/phevlwbasp7z95gzf1ws.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Wv-ByGq8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/phevlwbasp7z95gzf1ws.png" alt="Footer Fix 2" width="800" height="273"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com/meshery/meshery.io/pull/625"&gt;PR Link&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Fixing the Hover Color
&lt;/h2&gt;

&lt;p&gt;The next fix that I needed to address was the color of the hover. Just as I did for the footer steps, I used the Chrome Inspector to find the CSS file that I needed to modify, in order to get the appropriate color. Once I found it, I noticed that it was using a SCSS format variable, to get the color of the hover, so instead of using that variable, I used a color picker, and found the color of the actual footer. This was a value of &lt;code&gt;#222&lt;/code&gt;, and I decided that it is better to have consistency in color, so I went ahead and used that color.&lt;br&gt;
Fix:&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--f9vbQgy4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ub06o0zx1b6bd1wgpvtv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--f9vbQgy4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ub06o0zx1b6bd1wgpvtv.png" alt="Hover Fix" width="804" height="182"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--0cMcMPMi--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/d1f03896h06ip1ilerkf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--0cMcMPMi--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/d1f03896h06ip1ilerkf.png" alt="PR Hover Fix" width="880" height="94"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As you can see, the color of the subscribe button is the same color as the footer when the user hovers over it!&lt;br&gt;
&lt;a href="https://github.com/meshery/meshery.io/pull/625"&gt;PR Link&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Extra Fixes
&lt;/h2&gt;

&lt;p&gt;Another fix that I did during the PR was actually an extra request by a commentator of the PR. &lt;a href="https://github.com/meshery/meshery.io/pull/625#issuecomment-986284124"&gt;PR Comment Link&lt;/a&gt;. The commentator requested that I fix a small issue where the input fields were not correctly aligning in mobile view, So I went ahead and made the change. This took a little investigating too because I had to use the Mobile View that Chrome Inspector lets you use, and see at which point the field became misaligned. I was able to make the fix with a simple padding addition to the left.&lt;br&gt;
Fix: &lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--byiRs040--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2ti6kco7hw2gbcuuatqs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--byiRs040--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2ti6kco7hw2gbcuuatqs.png" alt="Extra Fix" width="880" height="112"&gt;&lt;/a&gt;&lt;br&gt;
And here is the result of that Fix:&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--lYdUn7mn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vxrntaf3lhndw3ze1y49.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--lYdUn7mn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vxrntaf3lhndw3ze1y49.png" alt="Extra Fix Result" width="398" height="852"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Pull Request
&lt;/h2&gt;

&lt;p&gt;Here is the pull request mentioned in this blog post: &lt;a href="https://github.com/meshery/meshery.io/pull/625"&gt;PR&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Conclusion
&lt;/h1&gt;

&lt;p&gt;In conclusion, this adventure through Meshery really opened my eyes to how careful you have to be when working on a big repository. By submitting PR's, you have to expect that your initial work will not be 100% to how the developers of that open source project want it, and since this is an open source project, you have to be really open to criticism since you are a first time contributor.  &lt;/p&gt;

</description>
    </item>
    <item>
      <title>DPS909 - Release 0.4 Week 2 - Progress Update</title>
      <dc:creator>Roman Rezinkin</dc:creator>
      <pubDate>Sun, 05 Dec 2021 16:48:53 +0000</pubDate>
      <link>https://dev.to/romanrezinkin/dps909-release-04-week-2-progress-update-2e1c</link>
      <guid>https://dev.to/romanrezinkin/dps909-release-04-week-2-progress-update-2e1c</guid>
      <description>&lt;h1&gt;
  
  
  The Continuation
&lt;/h1&gt;

&lt;p&gt;So this week I went ahead and started making some more progress to finishing up one pull request. My goal for this week was to get some approvals for my &lt;a href="https://github.com/meshery/meshery.io/pull/617"&gt;Legend&lt;/a&gt; pull request. As I have been making changes, the comments suggested further making more changes, so that not only does the legend look more like the Layer5 legend, but also get the table to look more like it too.&lt;/p&gt;

&lt;p&gt;This is the reference that I was going for.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ibifyiP1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0gwhlqb3p0xh4dwr5irk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ibifyiP1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0gwhlqb3p0xh4dwr5irk.png" alt="Image description" width="880" height="422"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After many iterations and changes, I was finally able to get my chart and legend to look almost identical to the reference one.&lt;/p&gt;

&lt;p&gt;One of the biggest challenges was to ensure the table and legend were responsive, and would change sizing according to the screen size. Luckily, with Google Chromes device toolbar, it made the job of seeing the website on different devices simple. I was able to emulate iPhone, iPad, iPad Pro and many other different screen sizes.&lt;/p&gt;

&lt;p&gt;Here are my final designs, according to screen sizing:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Desktop&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--t3GnRwrD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://user-images.githubusercontent.com/17882264/144693194-6d21185b-313e-48dc-a84b-cfc27956f287.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--t3GnRwrD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://user-images.githubusercontent.com/17882264/144693194-6d21185b-313e-48dc-a84b-cfc27956f287.PNG" alt="Desktop" width="880" height="946"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;iPadPro&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s---jiGLcmb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://user-images.githubusercontent.com/17882264/144693202-4b05f969-e9e1-43a2-badc-7feed1c7d8fd.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s---jiGLcmb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://user-images.githubusercontent.com/17882264/144693202-4b05f969-e9e1-43a2-badc-7feed1c7d8fd.PNG" alt="iPadPro" width="880" height="1164"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Ipad&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--C0rgtKdR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://user-images.githubusercontent.com/17882264/144693210-99825b38-705c-40b0-992e-15778a7e6268.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--C0rgtKdR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://user-images.githubusercontent.com/17882264/144693210-99825b38-705c-40b0-992e-15778a7e6268.PNG" alt="Ipad" width="799" height="1032"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;iPhoneX&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--FVKp70dD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://user-images.githubusercontent.com/17882264/144693218-e8f5fd73-752d-4ed9-a4c4-31feca6b4d28.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--FVKp70dD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://user-images.githubusercontent.com/17882264/144693218-e8f5fd73-752d-4ed9-a4c4-31feca6b4d28.PNG" alt="IPhoneX" width="386" height="821"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;One thing that I wanted to challenges myself with was to expand my CSS knowledge, and working on this pull request has really helped out with that front. After many different code changes, playing around with the CSS media queries.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;CSS media queries:
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--PsuwvsS9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/go11hgmmbzzr89uheeqe.png" alt="Image description" width="800" height="450"&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I am actually pretty proud of the work that I have achieved in the pull request, as it has expanded my knowledge of CSS, and how everything works within it, and I know that these newly developed skills will come in handy in my future!&lt;/p&gt;

&lt;p&gt;For the next week, I will start work on my next &lt;a href="https://github.com/meshery/meshery.io/issues/605"&gt;issue&lt;/a&gt;, and I will be back with another blog update, showing you guys the progress that I have achieved!&lt;/p&gt;

</description>
    </item>
    <item>
      <title>DPS909 - Release 0.4 Post 1</title>
      <dc:creator>Roman Rezinkin</dc:creator>
      <pubDate>Fri, 03 Dec 2021 20:23:45 +0000</pubDate>
      <link>https://dev.to/romanrezinkin/dps909-release-04-post-1-5f3a</link>
      <guid>https://dev.to/romanrezinkin/dps909-release-04-post-1-5f3a</guid>
      <description>&lt;p&gt;I am approaching this weeks blog post slightly late, as I had a few issues. &lt;/p&gt;

&lt;p&gt;For our course in open source development, we were tasked with finding a repository to work on, where we could either add a new functionality, fix a family of bugs, or find a bug that would take many reviews and plenty of time to figure out and get merged.&lt;/p&gt;

&lt;p&gt;After searching through many different open source repositories, I was unable to find anything that peaked my interest. I was struggling and was slowly loosing hope. However, one thing that kept on occurring was my ongoing PR fixes for my release 0.3 external project &lt;a href="https://meshery.io/"&gt;Meshery&lt;/a&gt;. My &lt;a href="https://github.com/meshery/meshery.io/pull/617"&gt;ongoing PR&lt;/a&gt; was full of reviews, and I was constantly making small changes based off those comments. That is when it sparked to me that this pull request was essentially what our professor was looking for in release 0.4, so I decided to do two things.&lt;/p&gt;

&lt;p&gt;1) Look through issues in the same repository, and see if there was any other kind of work that I can pick up, things such as features or bugs.&lt;br&gt;
2) Reach out to my professor, and see if it is possible to extend my PR work from release 0.3 into release 0.4, as the content work for that PR increased, due to more requested changes.&lt;/p&gt;

&lt;p&gt;So for release 0.4, I am going to be continuing my work on my existing &lt;a href="https://github.com/meshery/meshery.io/pull/617"&gt;PR&lt;/a&gt;, and also begin to work on &lt;a href="https://github.com/meshery/meshery.io/issues/605"&gt;issue-605&lt;/a&gt;, and that would make up my scope of the release 0.4 project.&lt;/p&gt;

&lt;p&gt;My goals:&lt;br&gt;
1) Finish off the PR for the Legend, and get it merged as soon as possible.&lt;br&gt;
2) Begin slowly chipping away at the newsletter subscription bug, and begin the process of getting PR feedback, so that way I have enough time to hopefully merge my changed before the due date of release 0.4&lt;/p&gt;

</description>
    </item>
    <item>
      <title>DPS909 - Lab 10</title>
      <dc:creator>Roman Rezinkin</dc:creator>
      <pubDate>Fri, 26 Nov 2021 00:06:00 +0000</pubDate>
      <link>https://dev.to/romanrezinkin/dps909-lab-10-52l5</link>
      <guid>https://dev.to/romanrezinkin/dps909-lab-10-52l5</guid>
      <description>&lt;h1&gt;
  
  
  Introduction
&lt;/h1&gt;

&lt;p&gt;For lab 10 in the DPS open source project course, we are tasked with making an official release of our static site generators that we have worked on over the semester.&lt;/p&gt;

&lt;h1&gt;
  
  
  The Release
&lt;/h1&gt;

&lt;p&gt;My static site generator (&lt;a href="https://github.com/roman-rezinkin/RomanStaticSG"&gt;link&lt;/a&gt;) was basically ready for a release... or so I thought.&lt;br&gt;
I began my adventure with choosing a release tool and package, which ended up being PyPi. I followed &lt;a href="https://packaging.python.org/tutorials/packaging-projects/"&gt;these&lt;/a&gt; steps in order to begin the process of packaging and release my static site generator.&lt;/p&gt;

&lt;p&gt;In general, the steps were very easy to follow, and I was able to get a version 1.0.0 out in no time. Here is a link to &lt;a href="https://test.pypi.org/project/staticsg-rrezinkin/1.0.0/"&gt;V1.0.0&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;After following the commands and installing my package, I ran into a massive issue. I had no main function to call, which would introduce a heap of usability issues for any users. So I decided my static site generator needed a few fixes, before I made new releases.&lt;/p&gt;
&lt;h1&gt;
  
  
  My Issues
&lt;/h1&gt;
&lt;h2&gt;
  
  
  Issue 1
&lt;/h2&gt;

&lt;p&gt;The first issue that I faced was the fact that my static site generator had no official main function to call upon. Yes it had &lt;code&gt;__main__&lt;/code&gt; but that would be troublesome for a user to call instead of simply calling a &lt;code&gt;main&lt;/code&gt; function.&lt;/p&gt;
&lt;h2&gt;
  
  
  Issue 2
&lt;/h2&gt;

&lt;p&gt;The argument parsing was very specific for my tool, which introduces a heap of usability issues for the user. I wanted to rework my argument parsing, so that users can type any command in any order, and the program would still function correctly.&lt;/p&gt;
&lt;h2&gt;
  
  
  Issue 3
&lt;/h2&gt;

&lt;p&gt;The last issue was refactoring my code, and organizing it with a folder structure. I noticed that in the main folder of my static site generator, I had test files, main logic files and other files. This would make the process of working on my repository a nightmare.&lt;/p&gt;
&lt;h1&gt;
  
  
  The Fixes
&lt;/h1&gt;

&lt;p&gt;My program underwent many changes.&lt;/p&gt;
&lt;h2&gt;
  
  
  Issue 1 Fix
&lt;/h2&gt;

&lt;p&gt;The remedy for issue 1 could be found here in this &lt;a href="https://github.com/roman-rezinkin/RomanStaticSG/commit/0c95cc843028be0f6d1d19521171fbe5c2b3e65a"&gt;commit&lt;/a&gt;. Now with this, I was able to have a proper main function that any user of my static site generator package can utilize.&lt;/p&gt;
&lt;h2&gt;
  
  
  Issue 2 Fix
&lt;/h2&gt;

&lt;p&gt;The remedy for issue 2 can be found here in this &lt;a href="https://github.com/roman-rezinkin/RomanStaticSG/commit/369e77ba6e6a84ad82506f8e76c4b94a09cb3db5"&gt;commit&lt;/a&gt;. As you can see I introduced a new way of parsing my arguments through the use of the argparser library that is available for python. What a relieve!!!&lt;/p&gt;
&lt;h2&gt;
  
  
  Issue 3 Fix
&lt;/h2&gt;

&lt;p&gt;The remedy for this issue took a few commits.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a href="https://github.com/roman-rezinkin/RomanStaticSG/commit/f6beacc8ee007008a9a7d15cb99cb96416ad98f5"&gt;Commit 1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/roman-rezinkin/RomanStaticSG/commit/ac7f3c2acbedd9814e406c569b6e190c0ec36707"&gt;Commit 2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/roman-rezinkin/RomanStaticSG/commit/a4449710f2c6c39fc6844c385607c08cf572ebba"&gt;Commit 3&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/roman-rezinkin/RomanStaticSG/commit/295bec98c3aec80e20071b4f0e43a819c1c95219"&gt;Commit 4&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The reason why there were so many commits, is because with refactoring it introduced new folders, which broke a lot of my integration tests that I had enabled, and since I am on a Windows machine, I could only address the Linux issues when I would push a change to Github.&lt;/p&gt;
&lt;h1&gt;
  
  
  User Testing
&lt;/h1&gt;

&lt;p&gt;The user testing was done along side user &lt;a href="https://github.com/a-rokay"&gt;a-rokay&lt;/a&gt;, who was nice enough to try to use my package in a test script. Ahmad's feedback was very positive, and the only change that was recommended was a slight change to my README.md file.&lt;br&gt;
Here is a screenshot of the feedback: &lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--UNO7930_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/v3h1ywq7x3mqzy7bzo46.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--UNO7930_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/v3h1ywq7x3mqzy7bzo46.png" alt="Image description" width="445" height="533"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h1&gt;
  
  
  How to use my SSG
&lt;/h1&gt;

&lt;p&gt;The instructions to use my static site generator could be found in my &lt;a href="https://github.com/roman-rezinkin/RomanStaticSG#how-to-use-romanstaticsg"&gt;README&lt;/a&gt;.&lt;br&gt;
This README will outline all of the instructions needed in order to get my SSG package up and running in your own script.&lt;/p&gt;

&lt;p&gt;But to summarize, you need to run the following command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight c"&gt;&lt;code&gt;&lt;span class="n"&gt;pip&lt;/span&gt; &lt;span class="n"&gt;install&lt;/span&gt; &lt;span class="n"&gt;staticsg&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;rrezinkin&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This will install the static site generator into your libraries, and now you can easily utilize it in your own project.&lt;/p&gt;

&lt;p&gt;To utilize the static site generator&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight c"&gt;&lt;code&gt;&lt;span class="n"&gt;from&lt;/span&gt; &lt;span class="n"&gt;staticsg&lt;/span&gt; &lt;span class="n"&gt;import&lt;/span&gt; &lt;span class="n"&gt;romanssg&lt;/span&gt;

&lt;span class="n"&gt;romanssg&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;main&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;sys&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;argv&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;As you can see, we need to import it into our python file, and then we can simply call the .main function, and pass it arguments. The list of arguments could be found here: &lt;a href="https://github.com/roman-rezinkin/RomanStaticSG#command-list"&gt;Command List&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>DPS909 - Lab 9</title>
      <dc:creator>Roman Rezinkin</dc:creator>
      <pubDate>Sat, 20 Nov 2021 16:19:47 +0000</pubDate>
      <link>https://dev.to/romanrezinkin/dps909-lab-9-4gha</link>
      <guid>https://dev.to/romanrezinkin/dps909-lab-9-4gha</guid>
      <description>&lt;h1&gt;
  
  
  Introduction
&lt;/h1&gt;

&lt;p&gt;For this week in DPS909 our lab challenged us to implement continuous integration into our static site generators. To accomplish this, we would use Github Actions, which is going to allow us to automate workflows in response to events that occur in my static site generator Github Repo.&lt;/p&gt;

&lt;h2&gt;
  
  
  Setup
&lt;/h2&gt;

&lt;p&gt;The setup part of GitHub Actions was rather simple, all we had to do was follow &lt;a href="https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python"&gt;these&lt;/a&gt; steps. Since my project is developed in python, I ensured to use pytest as my testing platform, since my project already has test code written in pytest. Doing so would make it very easy to implement GitHub Actions into my repository.&lt;/p&gt;

&lt;h2&gt;
  
  
  The work
&lt;/h2&gt;

&lt;p&gt;So now that GitHub Actions was configured, I had to make a new test in a branch. Luckily I forgot to implement a test for one of my functions, so after a quick implementation, I committed my changes and pushed them to my Repository. &lt;/p&gt;

&lt;p&gt;Now after opening my &lt;a href="https://github.com/roman-rezinkin/RomanStaticSG/pull/27"&gt;PR&lt;/a&gt;, I was able to confirm that my continuous integration was operating as expected. So ensure that failures would be caught, I pushed a commit with a broken test, and on my PR I was able to see the failure.&lt;/p&gt;

&lt;p&gt;The second part of the lab was to find a partner in our class, and test their continuous integration by implementing a new test case. I chose to work on &lt;a href="https://github.com/a-rokay/static-site-generator"&gt;A-Rokay&lt;/a&gt;'s static site generator, as it was written in Python so it would be very easy to work on. Here is the &lt;a href="https://github.com/a-rokay/static-site-generator/pull/24"&gt;Pull Request&lt;/a&gt; I made to test their continuous integration.&lt;/p&gt;

&lt;h1&gt;
  
  
  Conclusion
&lt;/h1&gt;

&lt;p&gt;Overall, I really enjoyed implementing continuous integration into my repository. Introducing this will ensure that very high quality code is being pushed to the &lt;code&gt;main&lt;/code&gt; branch. I think almost every repository should have some sort of testing enabled that provides some coverage of the code base.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>DPS909 - Release 0.3 Code Reviews</title>
      <dc:creator>Roman Rezinkin</dc:creator>
      <pubDate>Sat, 20 Nov 2021 05:01:47 +0000</pubDate>
      <link>https://dev.to/romanrezinkin/dps909-release-03-code-reviews-3coi</link>
      <guid>https://dev.to/romanrezinkin/dps909-release-03-code-reviews-3coi</guid>
      <description>&lt;h1&gt;
  
  
  Introduction
&lt;/h1&gt;

&lt;p&gt;For the last part of the Release 0.3 assignment for DPS909, we had to review two pull requests from the &lt;strong&gt;internal&lt;/strong&gt; repositories. This included &lt;a href="https://github.com/Seneca-CDOT/telescope"&gt;Telescope&lt;/a&gt; and &lt;a href="https://github.com/Seneca-ICTOER/IPC144"&gt;IPC144&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Code Review 1
&lt;/h2&gt;

&lt;p&gt;The first code review was in the IPC144 repository. Here is the link to my &lt;a href="https://github.com/Seneca-ICTOER/IPC144/pull/83#pullrequestreview-808808812"&gt;review&lt;/a&gt;. Overall the submitted markdown file was very well audited, however, I did notice that there were some code blocks that were not utilizing any type of syntax highlighting, so I reviewed the PR and commented that there should be a possibility of using the &lt;code&gt;c&lt;/code&gt; syntax within those two specific code blocks. &lt;/p&gt;

&lt;h2&gt;
  
  
  Code Review 2
&lt;/h2&gt;

&lt;p&gt;The second code review was also in the IPC144 repository. Here is the link to my &lt;a href="https://github.com/Seneca-ICTOER/IPC144/pull/84#pullrequestreview-808833883"&gt;review&lt;/a&gt;. I audited the entire pull request file called &lt;code&gt;More Input and Output.md&lt;/code&gt;, and noticed that the author did a great job with their audit. I let them know that I reviewed everything and that it all checked out. I left a comment and approved the pull request. &lt;/p&gt;

&lt;h1&gt;
  
  
  Conclusion
&lt;/h1&gt;

&lt;p&gt;Overall, I really liked this part of the assignment as it let me review and check other students code, and gave me some real world experience with reviewing pull requests. The process of reviewing a pull request is very important, as it ensures that only the highest quality code gets pushed into the &lt;code&gt;main&lt;/code&gt; branch.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>DPS909 - Release 0.3 Internal Pull Request</title>
      <dc:creator>Roman Rezinkin</dc:creator>
      <pubDate>Sat, 20 Nov 2021 04:50:36 +0000</pubDate>
      <link>https://dev.to/romanrezinkin/dps909-release-03-internal-pull-request-17hg</link>
      <guid>https://dev.to/romanrezinkin/dps909-release-03-internal-pull-request-17hg</guid>
      <description>&lt;h1&gt;
  
  
  Introduction
&lt;/h1&gt;

&lt;p&gt;For release 0.3 in DPS909, we had a few parts that we needed to accomplish in the assignment. This blog post will discuss my experience with contributing to an &lt;strong&gt;internal&lt;/strong&gt; repository. The repository of choice was &lt;a href="https://github.com/Seneca-ICTOER/IPC144"&gt;IPC144&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;To find out what exactly the IPC144 repository is, click &lt;a href="https://github.com/Seneca-ICTOER/IPC144"&gt;this&lt;/a&gt; link.&lt;/p&gt;

&lt;h2&gt;
  
  
  The issue
&lt;/h2&gt;

&lt;p&gt;The issue that was brought up in this &lt;strong&gt;internal&lt;/strong&gt; repository, was to &lt;br&gt;
audit the &lt;code&gt;style-guidelines.md&lt;/code&gt; file. There is a very specific checklist that we had to abide by, to ensure that our audit was done correctly.&lt;br&gt;
Here is the link to the issue: &lt;a href="https://github.com/Seneca-ICTOER/IPC144/issues/49"&gt;ISSUE-49&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The PR
&lt;/h2&gt;

&lt;p&gt;So, I began my journey of auditing &lt;code&gt;style-guidelines.md&lt;/code&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Setup
&lt;/h3&gt;

&lt;p&gt;The setup for the IPC144 was super straight forward. It utilizes &lt;a href="https://docusaurus.io/"&gt;Docusaurus&lt;/a&gt;. I followed the steps in the &lt;a href="https://github.com/Seneca-ICTOER/IPC144/blob/main/CONTRIBUTING.md"&gt;Contributing&lt;/a&gt; file, and was able to get it up and running quickly. By doing so, I was able to get quick reload, meaning that any changes that I would make, would be instantly reflected on the localhost.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Audit
&lt;/h3&gt;

&lt;p&gt;The audit was rather simple. I followed each item in the checklist, and would go through and ensure that the selected item was done correctly. This included items such as checking for typos, ensuring the Markdown elements are converted correctly, using code blocks for syntax highlighting, etc. &lt;/p&gt;

&lt;p&gt;Here you can find my PR: &lt;br&gt;
&lt;a href="https://github.com/Seneca-ICTOER/IPC144/pull/92"&gt;https://github.com/Seneca-ICTOER/IPC144/pull/92&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;Overall, this &lt;strong&gt;internal&lt;/strong&gt; issue was simple, however, it introduced me into the world of auditing pages to ensure that they are done to the highest quality. Following the checklist made my journey a ton easier, and in the end I had a high quality markdown file.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>DPS909 - Release 0.3 External Pull Request</title>
      <dc:creator>Roman Rezinkin</dc:creator>
      <pubDate>Sat, 20 Nov 2021 04:40:12 +0000</pubDate>
      <link>https://dev.to/romanrezinkin/dps909-release-03-external-pull-request-2jjh</link>
      <guid>https://dev.to/romanrezinkin/dps909-release-03-external-pull-request-2jjh</guid>
      <description>&lt;h1&gt;
  
  
  Introduction
&lt;/h1&gt;

&lt;p&gt;For release 0.3 in DPS909, we had a few parts that we needed to accomplish in the assignment. This blog post will discuss my experience with contributing to an &lt;strong&gt;external&lt;/strong&gt; repository. The repository of choice was &lt;a href="https://github.com/meshery/meshery.io"&gt;Meshery&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;To find out what exactly Meshery is, click &lt;a href="https://github.com/meshery/meshery.io#what-is-meshery"&gt;this&lt;/a&gt; link.&lt;/p&gt;

&lt;h2&gt;
  
  
  The issue
&lt;/h2&gt;

&lt;p&gt;The issue that was brought up in this &lt;strong&gt;external&lt;/strong&gt; repository, was to create a Legend, that resembled a Legend from a different page within the Meshery codebase.&lt;/p&gt;

&lt;p&gt;Here is the link to the issue: &lt;a href="https://github.com/meshery/meshery.io/issues/616"&gt;ISSUE-616&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The PR
&lt;/h2&gt;

&lt;p&gt;So, I began my journey of implementing the legend on that specific page.&lt;/p&gt;

&lt;h3&gt;
  
  
  Setup
&lt;/h3&gt;

&lt;p&gt;The setup was rather easy, however with being a ruby based application, it did not really like Windows. The instructions found in Mesherys README helped streamline the process for me, however I did have to iron out some kinks. There were two gems that needed to be installed manually (tzinfo and tzinfo-data). Once those two gems were installed all I had to do was execute&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;bundle exec jekyll serve --drafts --livereload&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  Implementation
&lt;/h3&gt;

&lt;p&gt;Finding where I needed to implement my changes did not take long to find. Once I saw the general structure of the code, I quickly began modifying the HTML elements and the CSS styling. The HTML elements were very quick to create, however the CSS styling took majority of my time. I do not have the most CSS experience, so I was glad I took on this challenge. The hardest part was figuring out the flex-boxes, and their positioning on the screen, as well as ensuring that with a Mobile view, everything still looked correct and in order. To make my Legend look good, I downloaded the same icons that can be found &lt;a href="https://meshery.io/service-mesh-interface"&gt;here&lt;/a&gt;, and used them in my legend. Doing so would make the user understand the icons better, as well as their meaning.&lt;/p&gt;

&lt;p&gt;Here you can find my PR: &lt;a href="https://github.com/meshery/meshery.io/pull/617"&gt;https://github.com/meshery/meshery.io/pull/617&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;Overall, I found working on this external issue really rewarding. Not only did it challenge me to get the CSS working accordingly, but it felt really rewarding once I saw it being responsive, and behaving as expected. I also found the contributors of Meshery to super nice and quick to respond to PR comments.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>DPS909 - Lab 8</title>
      <dc:creator>Roman Rezinkin</dc:creator>
      <pubDate>Wed, 10 Nov 2021 03:20:30 +0000</pubDate>
      <link>https://dev.to/romanrezinkin/dps909-lab-8-4mbe</link>
      <guid>https://dev.to/romanrezinkin/dps909-lab-8-4mbe</guid>
      <description>&lt;h1&gt;
  
  
  Introduction
&lt;/h1&gt;

&lt;p&gt;For this week in open source development, we were asked to implement testing for our static site generators. We had to research for the optimum testing platform for our code base. Since my &lt;a href="https://github.com/roman-rezinkin/RomanStaticSG"&gt;static site generator&lt;/a&gt; uses Python, I opted to use pytest. &lt;br&gt;
The reason I chose pytest is because it is one of the most popular Python testing platforms and allows for very in depth test creations. I also really liked that Visual Studio Code could utilize it, which made my implementations that much easier.&lt;/p&gt;

&lt;h2&gt;
  
  
  Implementing Testing Code
&lt;/h2&gt;

&lt;p&gt;Since my static site generator has many helper functions that allow me to process folders, files, write to files, create css files, etc, I began my quest of writing my tests. At first, I had some difficulty understanding how pytest works, but after a few sample test cases, I began getting the hang of it.&lt;/p&gt;

&lt;p&gt;Since my code works with files, my approach was to call the functions, let them produce the expected file, and verify by using &lt;code&gt;assert&lt;/code&gt; command. The assert command allows us to verify the expectation of the return of a function. However, since my functions are mainly void, I would assert that a file was created, such as this: &lt;br&gt;
&lt;code&gt;assert os.path.isfile("example.html")&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;To view all of my tests, click on this commit &lt;a href="https://github.com/roman-rezinkin/RomanStaticSG/commit/4b18e4bfd774d86cb099070c693fb9c590ac2c4a"&gt;4b18e4b&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;Overall, I had a lot of fun implementing testing code via pytest, and it really challenged me. I believe that with the addition of new functions, I will be able to quickly create effective tests that will ensure my code is up to the full standards that I want to achieve.&lt;br&gt;
One thing that I noticed was the difference in how my code checks for the environment. This is something that I need to relook into because since I am developing on a Windows computer and not a Linux based, the paths of the files are different, which introduced a small headache whenever I was dealing with paths.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>DPS909 - Lab 7</title>
      <dc:creator>Roman Rezinkin</dc:creator>
      <pubDate>Fri, 05 Nov 2021 23:51:43 +0000</pubDate>
      <link>https://dev.to/romanrezinkin/dps909-lab-7-86l</link>
      <guid>https://dev.to/romanrezinkin/dps909-lab-7-86l</guid>
      <description>&lt;h1&gt;
  
  
  Introduction
&lt;/h1&gt;

&lt;p&gt;For this weeks lab in DPS909 (Open source development) we accomplished some big things. The purpose of the lab was to implement a few new features into our static site generator (&lt;a href="https://github.com/roman-rezinkin/RomanStaticSG"&gt;mine&lt;/a&gt;).&lt;/p&gt;

&lt;h2&gt;
  
  
  New Features within RomanStaticSG
&lt;/h2&gt;

&lt;p&gt;The first task was to create a Contributing.md file within our project. This file is responsible for letting new developers understand how to contribute to my open source project. This was something that was very crucial to add in my open source project.&lt;br&gt;
You can see the changes &lt;a href="https://github.com/roman-rezinkin/RomanStaticSG/commit/854155cdba236054209c23df57c08c61ef1ae4ff"&gt;here&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Feature 1
&lt;/h3&gt;

&lt;p&gt;For feature 1, we had to implement a formatter for our project. Since my static site generator is developed in Python, I opted to use the &lt;a href="https://github.com/psf/black"&gt;black&lt;/a&gt; formatter. It has the best features, and is one of the most popular formatters for Python.&lt;br&gt;
You can see the changes that the formatter did, as well as my simple bash script that the user can run to format the files at the same time.&lt;br&gt;
&lt;a href="https://github.com/roman-rezinkin/RomanStaticSG/commit/854155cdba236054209c23df57c08c61ef1ae4ff"&gt;Commit&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Feature 2
&lt;/h3&gt;

&lt;p&gt;For feature 2, we have to implement a linter for our project. Since my static site generator is developed in Python, I opted to use &lt;a href="https://pylint.org/"&gt;Pylint&lt;/a&gt;. This linter is very powerful and has many great features. After running the linter, it provided me a lot of feedback on how I can improve my code. So I spent about 30-40 minutes fixing it all to make my code 100% efficient. This included changes file names, changing variable names, etc. All of my changes could be found here &lt;a href="https://github.com/roman-rezinkin/RomanStaticSG/commit/854155cdba236054209c23df57c08c61ef1ae4ff"&gt;Commit&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Feature 3
&lt;/h3&gt;

&lt;p&gt;The final feature was to implement IDE integration. This meant integrating my formatter and linter so that the next developer would have automatic usage of the formatter and linter, instead of running my shell scripts. Anytime something is automatic rather than manual, it makes the setup process and development process that much easier. I introduced a .vscode folder and a settings.json file that introduces a few parameters to enable Pylint and Black.&lt;/p&gt;

&lt;h1&gt;
  
  
  Conclusion
&lt;/h1&gt;

&lt;p&gt;Overall, this lab was not too difficult, however, it introduced me to Python formatters and linters. These features cleaned up my code, and will also ensure that any future contributions will be done up to standard. The introduction of the CONTRIBUTION.md file, will also allow new users to gain a perspective how they can contribute to my open source project.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>DPS909 - Release 0.2 W4</title>
      <dc:creator>Roman Rezinkin</dc:creator>
      <pubDate>Sun, 31 Oct 2021 17:59:47 +0000</pubDate>
      <link>https://dev.to/romanrezinkin/dps909-release-02-w4-55k9</link>
      <guid>https://dev.to/romanrezinkin/dps909-release-02-w4-55k9</guid>
      <description>&lt;h3&gt;
  
  
  Week 4 Hacktoberfest
&lt;/h3&gt;

&lt;p&gt;For this week, I have chosen to work on this repository: &lt;a href="https://github.com/askbuddie/buddies-tube"&gt;link&lt;/a&gt;. The issue that was asked from the creator was to implement jwt tokens that should be returned when a user authenticates themselves into the program.&lt;/p&gt;

&lt;p&gt;The issue could be found here: &lt;a href="https://github.com/askbuddie/buddies-tube/issues/24"&gt;issue link&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I have made a PR with my changes, which could be found here:&lt;br&gt;
&lt;a href="https://github.com/askbuddie/buddies-tube/pull/25"&gt;PR Link&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here is my commit link:&lt;a href="https://github.com/askbuddie/buddies-tube/pull/25/commits/b9a018de58ae252a52a294f9789a6f7fcde4d5bf"&gt;commit&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Currently, I am waiting for the owner to add the Hacktoberfest label to the issue, as well as review my PR.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>node</category>
    </item>
    <item>
      <title>DPS909 - Release 0.2 W3</title>
      <dc:creator>Roman Rezinkin</dc:creator>
      <pubDate>Fri, 29 Oct 2021 00:04:46 +0000</pubDate>
      <link>https://dev.to/romanrezinkin/dps909-release-02-w3-29p3</link>
      <guid>https://dev.to/romanrezinkin/dps909-release-02-w3-29p3</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;For the third week of hacktoberfest, I chose to work with another html project. This time I found a project that needed help with Accessibility improvements.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Work
&lt;/h2&gt;

&lt;p&gt;The &lt;a href="https://github.com/tallboy/snowgo.at/issues/18"&gt;issue&lt;/a&gt; identified that the website had a few flaws for user accessibility. &lt;a href="https://lighthouse-dot-webdotdevsite.appspot.com//lh/html?url=http%3A%2F%2Fsnowgo.at#accessibility"&gt;Here&lt;/a&gt; you can see the problems that Lighthouse (a google chrome inhouse website tester for accessibility, performance etc.) brought up.&lt;/p&gt;

&lt;h2&gt;
  
  
  My Code Change
&lt;/h2&gt;

&lt;p&gt;Here is my &lt;a href="https://github.com/tallboy/snowgo.at/pull/22"&gt;PR&lt;/a&gt;. As you can see in my PR, I changed a few things to land the 100 Accessibility rating on Lighthouse. I changed the main green color to be slightly darker, as the white text did not have enough contrast, so that vision impaired users wouldn't be able to properly read the webpage.&lt;br&gt;
The second change I was regarding the images and icons. They did not contain an "alt" parameter, which would show text, in the case that images failed to load. Next, I modified the menu button, as that was also very difficult to differentiate. Finally, I reordered the headers in the website, as they were not chronological (h1-&amp;gt;h2-&amp;gt;h3, etc.).&lt;/p&gt;

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

&lt;p&gt;Overall, in this week for hacktoberfest, I learned about Google Chromes Lighthouse, as well as how to optimize a website so that it is accessible for all types of users.&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
