<?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: elizabeth-delor</title>
    <description>The latest articles on DEV Community by elizabeth-delor (@elizabethdelor).</description>
    <link>https://dev.to/elizabethdelor</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%2F696874%2Ff3d58232-7512-4f1d-88ce-24cec7492db3.png</url>
      <title>DEV Community: elizabeth-delor</title>
      <link>https://dev.to/elizabethdelor</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/elizabethdelor"/>
    <language>en</language>
    <item>
      <title>Attempting Vercel</title>
      <dc:creator>elizabeth-delor</dc:creator>
      <pubDate>Thu, 28 Apr 2022 16:35:07 +0000</pubDate>
      <link>https://dev.to/elizabethdelor/attempting-vercel-aof</link>
      <guid>https://dev.to/elizabethdelor/attempting-vercel-aof</guid>
      <description>&lt;h3&gt;
  
  
  A lil bit of background
&lt;/h3&gt;

&lt;p&gt;I will be describing how to set up a Vercel site but using one we have been working on over the past few months. Since I had issues when setting up eleventy, I could not get Vercel working on those repos.&lt;/p&gt;

&lt;p&gt;HOWEVER! I did get it to work in this group project so we will be using that as a walkthrough.&lt;/p&gt;

&lt;h2&gt;
  
  
  Setting it Up
&lt;/h2&gt;

&lt;p&gt;To begin, you will go to the &lt;a href="https://vercel.com/dashboard"&gt;Vercel Site&lt;/a&gt; and create an account or login. If you haven't created an account already I would recommend using your GitHub to login since it allows you to access your repos directly.&lt;/p&gt;

&lt;h3&gt;
  
  
  Importing your Repos
&lt;/h3&gt;

&lt;p&gt;The reason I recommended the use of Github to login is since it allows for importing repos to be very simple.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--1X7nvNPV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/21yf5r6rbf6bvuih86yl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--1X7nvNPV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/21yf5r6rbf6bvuih86yl.png" alt="Vercel Dashboard" width="880" height="262"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once logged in, you want to select "New Project" located at the upper right corner of the screen. That will bring you to a screen with a couple of options. On the right provides the you with some pre-built sites you can modify. &lt;/p&gt;

&lt;p&gt;On the left, which we will focus on, provides you with a drop down selection for GitHub accounts and their repos. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--4E9Ml6q8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mt5ub9sjilz9nejvjn3c.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--4E9Ml6q8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mt5ub9sjilz9nejvjn3c.png" alt="Image description" width="880" height="455"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After selecting your desired repo, all you need to do is press "import" and "save".&lt;/p&gt;

&lt;h3&gt;
  
  
  Configuring your Repo
&lt;/h3&gt;

&lt;p&gt;The only thing you need to do to fully complete your repo is edit three things:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Root Directory &lt;/li&gt;
&lt;li&gt;Build and Output Settings&lt;/li&gt;
&lt;li&gt;Environment Variables&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you want to take a look at those configurations, take a look at this &lt;a href="https://github.com/liljimmyk99/threaded-discussion"&gt;repo&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  All Set!
&lt;/h2&gt;

&lt;p&gt;Now that everything is configured you are all ready to begin. Keep in mind that typically to run a project you may use &lt;code&gt;npm start&lt;/code&gt; or &lt;code&gt;yarn start&lt;/code&gt;. Vercel however runs a little different as you need to run &lt;code&gt;vercel dev&lt;/code&gt;&lt;/p&gt;

</description>
      <category>vercel</category>
      <category>webdev</category>
    </item>
    <item>
      <title>The Power of SVGs</title>
      <dc:creator>elizabeth-delor</dc:creator>
      <pubDate>Mon, 11 Apr 2022 17:00:04 +0000</pubDate>
      <link>https://dev.to/elizabethdelor/the-power-of-svgs-1m89</link>
      <guid>https://dev.to/elizabethdelor/the-power-of-svgs-1m89</guid>
      <description>&lt;p&gt;Hello Hello!&lt;/p&gt;

&lt;p&gt;Over the course of the past ten weeks, I have had the opportunity to work with a few of my peers on HaxTheWeb. In this project, we are working to create a fun experience for students and staff at our university to create course websites or portfolios [and its completely open source ;)]&lt;/p&gt;

&lt;p&gt;My portion of this project is the overall design so I have been primarily working in Figma. Originally I created the interfaces below:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--AE6Qn05h--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/435pppt75qqplshqinu4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--AE6Qn05h--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/435pppt75qqplshqinu4.png" alt="HaxTheWeb Front Page Design" width="778" height="438"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This created the theme which spiraled into a video game aesthetic for this site. As I was procrastinating actual productive work, I created this little guy for fun.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--LBw8cadO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/iu7gwwieynvvuf5jb2w0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--LBw8cadO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/iu7gwwieynvvuf5jb2w0.png" alt="Dapper Guy" width="684" height="856"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This little guy then developed himself into an army of SVGs which gave birth to rpg-character. RPG Character, aka dapper little guy, spiraled into a seed based generator which will create a character based onto a username. &lt;/p&gt;

&lt;h2&gt;
  
  
  How RPG Character Works
&lt;/h2&gt;

&lt;p&gt;This dapper lad is created through a series of SVGs. Originally, I was planning to just make a series of colored hats and skin tones that a user could select (as shown in this photo):&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--oh3bH3_h--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6kvxh8mhavc581tt7a6q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--oh3bH3_h--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6kvxh8mhavc581tt7a6q.png" alt="Army of Dapper Lads" width="540" height="764"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;But the idea of creating a seed based generation which a series of outfits, hair, colors, and weird items occurred. Thus after a quick brainstorming session, SVGs were the solution.&lt;/p&gt;

&lt;h4&gt;
  
  
  SVGs
&lt;/h4&gt;

&lt;p&gt;With the base of an outline and background, I worked on creating a series of different assets that will populate (and stack) onto the base. A series of skin colors, faces, hats, clothes and items were created and then stacked into making the rpg-character which is implemented onto the website as a sort of guide as you build.&lt;/p&gt;

&lt;p&gt;On my end however it is a series of organized chaos as shown in the image below.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--d3Vg0MYh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fp55wre0dt7p1rtyz3sd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--d3Vg0MYh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fp55wre0dt7p1rtyz3sd.png" alt="SVG assets" width="880" height="291"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As more was created more ideas began to flow and we began to add assets for 404 pages, a walking state (which can be a running state) and a longer hair option. This was actually a ton of fun to do an a massive learning opportunity.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I would add!
&lt;/h2&gt;

&lt;p&gt;Unfortunately all good things must come to an end and I had to move my energy to another design portion of the website so rpg-character came to its end (for now). If you want to mess around with this character yourself you can use this nom page!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.npmjs.com/package/@lrnwebcomponents/rpg-character"&gt;&lt;strong&gt;NPM&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>design</category>
      <category>figma</category>
      <category>svg</category>
    </item>
    <item>
      <title>Figuring out 11ty... barely</title>
      <dc:creator>elizabeth-delor</dc:creator>
      <pubDate>Sun, 27 Feb 2022 23:57:15 +0000</pubDate>
      <link>https://dev.to/elizabethdelor/figuring-out-11ty-barely-415l</link>
      <guid>https://dev.to/elizabethdelor/figuring-out-11ty-barely-415l</guid>
      <description>&lt;h3&gt;
  
  
  Using Eleventy to build a website
&lt;/h3&gt;

&lt;p&gt;Over the past week I was assigned to create an 11ty site to repost my dev.to blogs onto to get use to 11ty. In this assignment I had to create three different sites from three different starting points:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;No structure, just build it&lt;/li&gt;
&lt;li&gt;Eleventy Base &lt;/li&gt;
&lt;li&gt;Hax Base&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Similar to my last post about APIs, I immensely struggled to get both 1 and 3 to actually work. So I will go into detail on the second one, aka the one that actually loves me and did what I wanted it to do :] &lt;/p&gt;

&lt;h4&gt;
  
  
  Eleventy Base &amp;lt;3
&lt;/h4&gt;

&lt;p&gt;To begin, I used the template from this &lt;a href="https://github.com/11ty/eleventy-base-blog"&gt;repo&lt;/a&gt; to have the structure needed to add blog posts to. From there, I had a little looksie around the repo itself and found the posts folder.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--p_Thgkfg--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ic1xfqlls4m8xauk07ai.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--p_Thgkfg--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ic1xfqlls4m8xauk07ai.png" alt="Image description" width="344" height="224"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;From there I decided to select three random dev.to posts from my account and put them in order from when I posted them. They are respectively labeled as #post.md from oldest to newest. Each post has the following structure to it:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;---
title: "Installing Open-WC"
description: "Learn the basics on how to install Open-WC and use it!"
date: 2021-08-31
tags:
  - openwc
  - tutorial
  - terminal
layout: layouts/post.njk
---
### Applications Used:
* Terminal
* NodeJS (LTS)
* Yarn
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Similar to Dev.to, eleventy base utilizes the markdown formatting. The difference is that on the eleventy base, there is a section at the top that has the information for title, description, date, tags and even layout. &lt;/p&gt;

&lt;p&gt;For later posts, I always was about to utilize href's to link from previous posts and next posts like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;a href="{{ '/posts/firstpost/' | url }}"&amp;gt;Previous Post&amp;lt;/a&amp;gt;
&amp;lt;a href="{{ '/posts/thirdpost/' | url }}"&amp;gt;Next Post&amp;lt;/a&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If I had to select between the three options, I obviously would choose this one when building your own site as you can still customize as you please but do not need the stress of building everything from scratch or running into errors.&lt;/p&gt;

&lt;h4&gt;
  
  
  I GOT HAXCMS TO WORK [updated]
&lt;/h4&gt;

&lt;p&gt;So I finally got this to work because I simply forgot to install yarn :] such a fun and fantastic find. &lt;/p&gt;

&lt;h4&gt;
  
  
  The Ones that Failed :[
&lt;/h4&gt;

&lt;p&gt;So as stated earlier, I couldn't get the first and third repos to work T-T &lt;em&gt;so sad&lt;/em&gt;&lt;br&gt;
When doing the first one there was a lot of blood, sweat and tears (mainly tears but alas) but I was able to get the title screen to work. Now I did try to add posts, I really did, but kept running into errors. &lt;br&gt;
Prior to getting the title screen I also managed to break the original repo somehow.&lt;/p&gt;

&lt;p&gt;As for the Hax repo, I simply couldn't get past cloning the template. Once I downloaded npm and went to run it, it started to read and write a bazillion packages and I kept getting errors saying CANNOT GET / . Now I am by no means an expert but I do not think that was suppose to happen ¯_(ツ)_/¯ .&lt;/p&gt;

&lt;h3&gt;
  
  
  The Repos
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Working&lt;/strong&gt; &lt;br&gt;
&lt;a href="https://github.com/elizabeth-delor/EleventyBase"&gt;Base&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com/elizabeth-delor/HaxEleventy"&gt;Hax&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Not Working ;-;&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://github.com/elizabeth-delor/HelloWorldEleventy"&gt;Free For All&lt;/a&gt;&lt;/p&gt;

</description>
      <category>eleventy</category>
      <category>11ty</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Finding IP Addresses and Coordinates</title>
      <dc:creator>elizabeth-delor</dc:creator>
      <pubDate>Mon, 31 Jan 2022 01:58:53 +0000</pubDate>
      <link>https://dev.to/elizabethdelor/finding-ip-addresses-and-coordinates-1bpp</link>
      <guid>https://dev.to/elizabethdelor/finding-ip-addresses-and-coordinates-1bpp</guid>
      <description>&lt;h3&gt;
  
  
  IP Fast API Background
&lt;/h3&gt;

&lt;p&gt;Recently I have been diving into the world of APIs and slowly understanding more and more about them. The most recent API I have been looking at is IP Fast API! This API focuses on taking an IP and then gathering data such as city, country, or region from it.&lt;/p&gt;

&lt;p&gt;We are able to use that data through the &lt;code&gt;fetch()&lt;/code&gt; function nested within an &lt;code&gt;update()&lt;/code&gt; function.&lt;/p&gt;

&lt;p&gt;Below is the code I currently have that shows all the information gathered from the IP&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  async updateUserIP() {
    return fetch(this.ipLookUp)
      .then(resp =&amp;gt; {
        if (resp.ok) {
          return resp.json();
        }
        return false;
      })
      .then(data =&amp;gt; {
        this.ip = data.ip;
        this.city = `${data.city}`;
        this.state = `${data.region_name}`;
        this.country = `${data.country}`;
        this.location = `${data.city}, ${data.country}`;
        return data;
      });
  }
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Breaking Down the Code
&lt;/h4&gt;

&lt;p&gt;Now you may look at that and not process what all that code means right away but if you look at it step by step you can see that it is fairly simple!&lt;/p&gt;

&lt;p&gt;The initial fetch() and .then() sets it up so that if it successfully grabs an IP through the API it will then allow for us to use the json data.&lt;/p&gt;

&lt;p&gt;From there, the following .then() shows the use of how we manipulate that data provided. In this case it was broken up by city, state, country and finally a location which brings it all together.&lt;/p&gt;

&lt;p&gt;Even now I am troubleshooting with manipulating the data as it picks and chooses when it will work and be undefined (but alas we must continue onwards).&lt;/p&gt;

&lt;h3&gt;
  
  
  Latitude and Longitude together in an API
&lt;/h3&gt;

&lt;p&gt;Another API I am using currently is &lt;strong&gt;FreeGeoIP API&lt;/strong&gt;. This API determines the latitude and longitude of your location. What we are able to do is use the data from FreeGeoIP and connect it to IP Fast API to create a fun little API marriage.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Disclaimer, my code hates me currently so the marriage is crumbling :[&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Anywho! Combining the two will allow for the json data from before to be intertwined with geo location data.&lt;/p&gt;

&lt;p&gt;Even though I am struggling to get this to work, here is the combination between the two which I have currently (and is subject to be changed)&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  async getGEOIPData() {
    const IPClass = new UserIP();
    const userIPData = await IPClass.updateUserIP();
    return fetch(this.locationEndpoint + userIPData.ip)
      .then(resp =&amp;gt; {
        if (resp.ok) {
          return resp.json();
        }
        return false;
      })
      .then(data =&amp;gt; {
        console.log(data);
        this.latitude = data.latitude;
        this.longitude = data.longitude;
        this.state = data.region_name;
        this.city = data.city;
        this.location = `${this.city}, ${this.state}`;

        console.log(`${this.latitude} ${this.longitude}`);
        console.log(`Your Location: ${this.location}`);

        return data;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  What does it mean??
&lt;/h4&gt;

&lt;p&gt;Essentially this jumble of code SHOULD be pulling the location from FreeGeoIP's API while also gathering the data from IP Fast's API and then outputting it all later in the &lt;code&gt;render()&lt;/code&gt; function... but mine doesn't ¯\_ &lt;em&gt;(ツ)&lt;/em&gt;_/¯&lt;/p&gt;

&lt;h3&gt;
  
  
  Follow Along!
&lt;/h3&gt;

&lt;p&gt;If this peeked your interest, or you just want to see if I am ever able to get out of what I like to call ~undefined hell~ then you can look at my test &lt;a href="https://github.com/elizabeth-delor/ip-project"&gt;GitHub Repo&lt;/a&gt;!&lt;/p&gt;

&lt;p&gt;And if you just want to see a sparkly repo that actually works, you can check out my groups &lt;a href="https://github.com/Da-Penguins/API-Project"&gt;GitHub Repo&lt;/a&gt;!&lt;/p&gt;

</description>
      <category>frontend</category>
      <category>webdev</category>
      <category>api</category>
      <category>beginners</category>
    </item>
    <item>
      <title>How to Install Docker</title>
      <dc:creator>elizabeth-delor</dc:creator>
      <pubDate>Mon, 24 Jan 2022 02:30:26 +0000</pubDate>
      <link>https://dev.to/elizabethdelor/how-to-install-docker-1k77</link>
      <guid>https://dev.to/elizabethdelor/how-to-install-docker-1k77</guid>
      <description>&lt;h3&gt;
  
  
  Docker Download Links
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://docs.docker.com/desktop/mac/install/"&gt;Mac&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;&lt;a href="https://docs.docker.com/desktop/windows/install/"&gt;Windows&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;&lt;a href="https://docs.docker.com/engine/install/"&gt;Linux&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Getting Ready to Install
&lt;/h3&gt;

&lt;p&gt;I personally use a Mac so this tutorial will be mainly following my process. I assume the steps for Windows will be similar and Docker provides Linux users steps to get it running on your device!&lt;/p&gt;

&lt;p&gt;For this tutorial I will focus on cloning a GitHub repository and creating a build of it into Docker. I will be using the HaxCms repo in the example.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://github.com/elmsln/HAXcms"&gt;HaxCms Repo&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Prior to the installation, make sure to clone your repo onto your device.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;if you are unsure on how to clone your repo follow this tutorial provided by &lt;a href="https://docs.github.com/en/repositories/creating-and-managing-repositories/cloning-a-repository"&gt;Github&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Installation Steps
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;Install Docker onto your device&lt;/li&gt;
&lt;li&gt;Open Docker Desktop once you complete the installation&lt;/li&gt;
&lt;li&gt;Create an account (or login to an existing account)&lt;/li&gt;
&lt;/ol&gt;

&lt;h4&gt;
  
  
  How to Build an Image and Run it
&lt;/h4&gt;

&lt;p&gt;To begin, we will be using that repo cloned earlier.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Open your terminal&lt;/li&gt;
&lt;li&gt;Go to the file of your GitHub repo using &lt;code&gt;cd {file path}&lt;/code&gt; 
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--OBiWFipz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vqpslltrpaeep9szwc8i.png" alt="Example of the file path I used for this example" width="880" height="350"&gt;
&lt;/li&gt;
&lt;li&gt;Enter &lt;code&gt;docker build . -t {name of build}&lt;/code&gt; Since I was installing HAXCms, I named my build "hax" so the command I entered was &lt;code&gt;docker build . -t hax&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;In order to run the container, use &lt;code&gt;docker run -dp 80:80&lt;/code&gt; or go into docker and select using port 80.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The nice thing about Docker is when you go to run your build, this window will pop up.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--NmEAexB---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/whdwvj7n4g6pfbwut1v8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--NmEAexB---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/whdwvj7n4g6pfbwut1v8.png" alt="A photo of the pop-out window which will appear when you run your build in docker" width="880" height="584"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Enter the 80 onto the &lt;strong&gt;Local Host&lt;/strong&gt; portion of this pop up. &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Open your browser of choice and enter &lt;code&gt;localhost:80&lt;/code&gt;
&lt;em&gt;if you selected a different port, enter the number that reflects it in the local host&lt;/em&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Since I used Mac, I did notice that when I attempted to run HaxCms it would not work on Safari but did work on Chrome! So if you are a Mac user as well and having trouble with it on Safari, try to switch over to Chrome.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Once the site runs, you should see your build! In this case I saw this screen.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--WeeBxGRv--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cr89utc18d2ndqa453y0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--WeeBxGRv--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cr89utc18d2ndqa453y0.png" alt="HAXCms screen" width="880" height="468"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Stopping the container
&lt;/h4&gt;

&lt;p&gt;This is pretty simple! Just open Docker Desktop once again and find the current container that is running. A small menu on the right should be there, one of the options is stop.&lt;/p&gt;

</description>
      <category>docker</category>
      <category>github</category>
      <category>php</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>The End?</title>
      <dc:creator>elizabeth-delor</dc:creator>
      <pubDate>Mon, 13 Dec 2021 05:03:42 +0000</pubDate>
      <link>https://dev.to/elizabethdelor/the-end-2olc</link>
      <guid>https://dev.to/elizabethdelor/the-end-2olc</guid>
      <description>&lt;p&gt;Over the course of the past 15 weeks, I have had the opportunity to dive into the creation of web components. Early on in this process my team and I created the penguin button and a learning card. Finally we have reached the end in which we decided to create a flashcard.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Example
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--8tQTIH2r--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7xlrkwnjhf4b33ueh7p5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--8tQTIH2r--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7xlrkwnjhf4b33ueh7p5.png" alt="Image description" width="848" height="981"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This was the base, the muse if you will, for our final project. This flashcard was apart of a set but we originally intended on just creating a singular flashcard.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Idea
&lt;/h3&gt;

&lt;p&gt;Our plan was simple, create a similar looking flashcard with a few tweaks and additions. The main thing we added was the ability to retry a problem as the original example lacked that feature.&lt;br&gt;
Next was to make it so that the user can easily input a topic and have an auto generated image.&lt;br&gt;
We also wanted the card to be able to change color and still look pleasing so we utilized &lt;a href="https://webcomponents.psu.edu/styleguide/?path=/docs/colors-simple-colors--simple-colors-picker-story"&gt;simple colors&lt;/a&gt; to do so.&lt;br&gt;
Lastly was to create the overlay to indicate a correct and incorrect answer.&lt;/p&gt;
&lt;h3&gt;
  
  
  The Final Product
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--2oh2_fNK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cmfy2767x8ml4inwrp1j.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--2oh2_fNK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cmfy2767x8ml4inwrp1j.png" alt="Image description" width="880" height="842"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is the card which we ended with. If the user inputs a correct / incorrect answer an overlay will cover the top of the card as shown below:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--YCQOuhZb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/y4air9723dbhalh8bkpy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--YCQOuhZb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/y4air9723dbhalh8bkpy.png" alt="Image description" width="880" height="925"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--MFrCepRe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/l8x6vyckyciqp5k0j1gu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--MFrCepRe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/l8x6vyckyciqp5k0j1gu.png" alt="Image description" width="880" height="838"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We wanted to make sure that it was very clear to the reader the status of their answer. Now you may look at these photos and be wondering what those arrows on the side indicate.&lt;/p&gt;

&lt;p&gt;Since we were able to finish the flashcard with time to spare, we implemented a carousel to the flashcard which allows for users to enter an array of questions and answers and go through the group.&lt;/p&gt;
&lt;h3&gt;
  
  
  My Contribution
&lt;/h3&gt;

&lt;p&gt;My role for this card was mainly the stylistic aspects! The thing I am most proud of however is the overlaying (which admittedly took a lot of trial and error). My solution was utilizing different div classes. :host, and :before. Here is my pride and joy (which hopefully can save someone the stress I faced trying to get the dang thing to work)&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  static get styles() {
    return css`
      .overlay {
        position: relative;
      }

      .overlay::before {
        content: '';
        width: 100%;
        height: 100%;
        position: absolute;
        border: 1px;
        border-radius: 19px 19px 0px 0px;
      }

      simple-icon-lite {
        --simple-icon-height: 100px;
        --simple-icon-width: 100px;
        color: white;
        transform: translate(-50%, -190%);
        top: 50%;
        left: 50%;
        z-index: 100;
      }

      :host([status='pending']) .overlay::before {
        display: flex;
        background: transparent;
      }

      :host([status='correct']) .overlay::before {
        display: flex;
        background: green;
        filter: opacity(0.65);
      }

      :host([status='incorrect']) .overlay::before {
        display: flex;
        background: red;
        filter: opacity(0.65);
      }
    `;
  }
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Essentially what this is doing is setting the overlay depending on the status and creates the effect shown above.&lt;/p&gt;

&lt;p&gt;If you want to get a deeper look into the inner workings of this overlaying system, as well as our flashcard as a whole you can check out our PenStat GitHub and Npm!&lt;/p&gt;

&lt;p&gt;I am grateful for all I have learned over the last semester and stay tuned for more coding shenanigans next semester!&lt;/p&gt;

&lt;h2&gt;
  
  
  PenStat Links
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://github.com/PenStat/"&gt;https://github.com/PenStat/&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Flashcard GitHub:&lt;/strong&gt; &lt;a href="https://github.com/PenStat/penguin-project-three"&gt;https://github.com/PenStat/penguin-project-three&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;NPM:&lt;/strong&gt; &lt;a href="https://www.npmjs.com/org/penstat2"&gt;https://www.npmjs.com/org/penstat2&lt;/a&gt;&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>javascript</category>
      <category>webdev</category>
      <category>webcomponents</category>
    </item>
    <item>
      <title>A New Way to Watch</title>
      <dc:creator>elizabeth-delor</dc:creator>
      <pubDate>Sun, 07 Nov 2021 22:28:36 +0000</pubDate>
      <link>https://dev.to/elizabethdelor/a-new-way-to-watch-2h1n</link>
      <guid>https://dev.to/elizabethdelor/a-new-way-to-watch-2h1n</guid>
      <description>&lt;h2&gt;
  
  
  Time = Money, but what if it didn't?
&lt;/h2&gt;

&lt;p&gt;The idea of money and time limits a lot of individuals when it comes to creating something. Most of the time an idea is created and instantly we think on how to market it and make it profitable. If money and time were no concern, what would I do with the skills I have obtained and my life from that point?&lt;/p&gt;

&lt;h3&gt;
  
  
  The Current Situation
&lt;/h3&gt;

&lt;p&gt;Over the past year I know most of us have relied on streaming services such as Netflix, Hulu, and Disney+ to stay sane. I know I have and in the beginning utilized web extensions such as NetflixParty [now TeleParty] to watch shows with friends. This however is no longer useful as we are slowly getting back into our normal routines and do not have the same amount of free time as we did before to watch shows together.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Idea
&lt;/h3&gt;

&lt;p&gt;An application/extension that would allow for individuals to connect over their favorite shows and movies on streaming platforms. Think of it like an expansion on Netflix Party, but individuals can make their own profiles and rate shows they have seen and even have a recommendations section.&lt;/p&gt;

&lt;p&gt;Multiple times I have had friends who are getting into new genres and be lost on where to start. Having this would allow for them to have a good stepping stone if they have friends who are fans of that specific genre. In addition, they could look at most popular shows for each genre to get a starting point.&lt;/p&gt;

&lt;h4&gt;
  
  
  Features
&lt;/h4&gt;

&lt;p&gt;The key features that were mention prior were having a profile, making &amp;amp; seeing recommendations, and looking at most popular shows based on genre. One feature I feel would be beneficial is for the user to have the ability to enable spoilers before episodes.&lt;/p&gt;

&lt;p&gt;I personally know a few individuals who want to watch psychological thrillers/dramas but tend to avoid them because they get stressed not knowing what is going to happen. For example, when Squid Games was big my friend spoiled the show before watching due to her getting extremely anxious. By being able to enable something that just gives warnings of possible triggers or character deaths it allows for people like this to enjoy the show as they know what to expect.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why This?
&lt;/h2&gt;

&lt;p&gt;Since streaming is such a big part of our society now, this allows for a better watching experience. I know on multiple occasions I have wanted to watch something but did not know what so either I watch nothing or re-watch something I have already seen. &lt;br&gt;
This would enable users to have an easier time finding shows based on a recommendation by genre, or even what their friends are watching so they can talk about the shows together.&lt;br&gt;
I think it is important to give people the chance to watch shows they may not have thought to watch before and get the chance to experience new things comfortably.&lt;/p&gt;

</description>
      <category>streaming</category>
      <category>discuss</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Slotting</title>
      <dc:creator>elizabeth-delor</dc:creator>
      <pubDate>Tue, 26 Oct 2021 16:22:30 +0000</pubDate>
      <link>https://dev.to/elizabethdelor/slotting-14mc</link>
      <guid>https://dev.to/elizabethdelor/slotting-14mc</guid>
      <description>&lt;p&gt;Over the past few weeks, my team and I have been working on creating a learning card. As we work, we have been implementing slots into our &lt;code&gt;render()&lt;/code&gt; in order to make life a little easier. The learning card which we are working on recreating is this:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--PWivXSXz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kjpzd3r2tjmrp4okys4x.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--PWivXSXz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kjpzd3r2tjmrp4okys4x.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Slotting Within Our Card
&lt;/h3&gt;

&lt;p&gt;In order to separate our tasks, we have our code split between the Header, Frame, Icon, and the Card itself. Within each section the slotting is a little different! Below is what each section's slotting looks like:&lt;/p&gt;

&lt;h4&gt;
  
  
  Header
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--g9uJqe9V--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ji7souo7qyjhnclaxn13.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--g9uJqe9V--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ji7souo7qyjhnclaxn13.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Frame
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--hGUWUrcB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/98bzn9iol6v6kmdhwb0k.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--hGUWUrcB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/98bzn9iol6v6kmdhwb0k.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Card
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--nwHO75EL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/htp5b6bq8t2lyd03hlkw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--nwHO75EL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/htp5b6bq8t2lyd03hlkw.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  What Do They Do?
&lt;/h3&gt;

&lt;p&gt;Slots utilize basic level HTML to create different DOM Trees. They allow for the user to set placeholders within the component. This allows for flexibility and allows for the developer to create multiple DOM Trees.&lt;/p&gt;

&lt;h3&gt;
  
  
  Follow Our Journey!
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;GitHub&lt;/em&gt;&lt;/strong&gt; : &lt;a href="https://github.com/PenStat/penstat-project2"&gt;PenStat Card&lt;/a&gt;&lt;/p&gt;

</description>
      <category>slots</category>
      <category>webdev</category>
      <category>beginners</category>
      <category>html</category>
    </item>
    <item>
      <title>Boilerplate Web Components Comparisons</title>
      <dc:creator>elizabeth-delor</dc:creator>
      <pubDate>Mon, 11 Oct 2021 20:22:29 +0000</pubDate>
      <link>https://dev.to/elizabethdelor/boilerplate-web-components-comparisons-n3a</link>
      <guid>https://dev.to/elizabethdelor/boilerplate-web-components-comparisons-n3a</guid>
      <description>&lt;h2&gt;
  
  
  Types of Web Component Frameworks
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Angular&lt;/li&gt;
&lt;li&gt;React&lt;/li&gt;
&lt;li&gt;StencilJS&lt;/li&gt;
&lt;li&gt;VueJS&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Similarities Between Each
&lt;/h2&gt;

&lt;p&gt;Angular, React, StencilJS, and VueJS all have similar developmental tools which set the users up with similar directories. Additionally, they all include a index.html or file which does relatively the same thing. Another function which each has is that it provides the user with testing support / ability. Lastly, each provides a DOM [virtual or browser based] which will be specified below.&lt;/p&gt;

&lt;h2&gt;
  
  
  Differences
&lt;/h2&gt;

&lt;p&gt;As stated in the similarities, yes each has a DOM but Angular uses a browser's DOM rather than a virtual one. Another difference which relates to StencilJS is the fact that it utilizes TypeScript files. StencilJS is more of a toolchain rather than a framework since it helps a user to set things up. &lt;/p&gt;

&lt;h2&gt;
  
  
  Preference
&lt;/h2&gt;

&lt;p&gt;Personally, I enjoy using React as it offers both the ability for testing and is also simple to use for beginners. Since this is the first time I have been exposed to boilerplates, I have found this one easiest to use. Another plus of using it is the fact that there is a team of developers who work on React so you can find more information about it.&lt;/p&gt;

</description>
      <category>webcomponents</category>
      <category>boilerplate</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Building a Web Component.. things to think about</title>
      <dc:creator>elizabeth-delor</dc:creator>
      <pubDate>Mon, 11 Oct 2021 01:05:55 +0000</pubDate>
      <link>https://dev.to/elizabethdelor/building-a-web-component-things-to-think-about-55nh</link>
      <guid>https://dev.to/elizabethdelor/building-a-web-component-things-to-think-about-55nh</guid>
      <description>&lt;h2&gt;
  
  
  Example of a Card
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--jKX1Y3DT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/b2t5hwpgy24gm6bp19f2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--jKX1Y3DT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/b2t5hwpgy24gm6bp19f2.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Over the next few weeks, my group and I will be creating a card for our web components course. When starting the development of a card the starting point was to brainstorm the different elements within it. The following is what my groups and I came up with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Icon&lt;/li&gt;
&lt;li&gt;Header&lt;/li&gt;
&lt;li&gt;Frame&lt;/li&gt;
&lt;li&gt;Card&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What are the Obstacles
&lt;/h2&gt;

&lt;p&gt;Since the creation of web components is still a new concept for me, an obstacle my team and I will face will be the separation and completion of work. Since another team member and I are not very confident in our ability to create a card, we will have to get help from outside sources or other team members. &lt;/p&gt;

&lt;h2&gt;
  
  
  For the Future
&lt;/h2&gt;

&lt;p&gt;Over the following weeks, I will gain a better understanding of web components and the creations of cards. Learning how to design using CSS will be difficult but I am excited to see the progress my team and I will make over the next few weeks.&lt;/p&gt;

&lt;h2&gt;
  
  
  Check out the progress!!
&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;GitHub&lt;/em&gt; : &lt;a href="https://github.com/PenStat/penstat-project2"&gt;https://github.com/PenStat/penstat-project2&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webcomponents</category>
      <category>cards</category>
      <category>coding</category>
    </item>
    <item>
      <title>Button Updates</title>
      <dc:creator>elizabeth-delor</dc:creator>
      <pubDate>Tue, 28 Sep 2021 17:44:16 +0000</pubDate>
      <link>https://dev.to/elizabethdelor/button-updates-508a</link>
      <guid>https://dev.to/elizabethdelor/button-updates-508a</guid>
      <description>&lt;h3&gt;
  
  
  Current State of Button
&lt;/h3&gt;

&lt;p&gt;Currently we have two buttons, one which is normal coloring and has hovering &amp;amp; clicking abilities. The second is a duplication of the first but has the color variation requirement by using an inverted coloring. &lt;/p&gt;

&lt;h3&gt;
  
  
  Challenges
&lt;/h3&gt;

&lt;p&gt;Some challenges which we are having involves having the button disabled and also adding an icon/image over our current button. In addition, we are working to make sure there are no other issues involving GitHub pushing, pulling, and committing.&lt;/p&gt;

&lt;h3&gt;
  
  
  What We Have Learned
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;invert the color of a button&lt;/li&gt;
&lt;li&gt;using reflect&lt;/li&gt;
&lt;li&gt;how to duplicate a button in index.html&lt;/li&gt;
&lt;li&gt;how to make an image a button by pulling from files&lt;/li&gt;
&lt;li&gt;how to use 'this.addEventListener'&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Github and Button Preview
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--eU9PZsXa--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/l4ro2l02jl65ljf3dmk5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--eU9PZsXa--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/l4ro2l02jl65ljf3dmk5.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Github&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://github.com/elizabeth-delor/PenStat-CTA/tree/master/penguin-button"&gt;https://github.com/elizabeth-delor/PenStat-CTA/tree/master/penguin-button&lt;/a&gt;&lt;/p&gt;

</description>
      <category>button</category>
    </item>
    <item>
      <title>Installing Open-WC</title>
      <dc:creator>elizabeth-delor</dc:creator>
      <pubDate>Tue, 31 Aug 2021 18:29:41 +0000</pubDate>
      <link>https://dev.to/elizabethdelor/installing-open-wc-40g3</link>
      <guid>https://dev.to/elizabethdelor/installing-open-wc-40g3</guid>
      <description>&lt;h3&gt;
  
  
  Applications Used:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Terminal&lt;/li&gt;
&lt;li&gt;NodeJS (LTS)&lt;/li&gt;
&lt;li&gt;Yarn&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  How to Access Terminal (Mac)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Press Command + Space to access spotlight search&lt;/li&gt;
&lt;li&gt;Type in Terminal to Open&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  How to install NodeJS [includes npm]
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Go to &lt;a href="https://nodejs.org/en/"&gt;https://nodejs.org/en/&lt;/a&gt; and download Node LTS&lt;/li&gt;
&lt;li&gt;Once downloaded, go into download folder&lt;/li&gt;
&lt;li&gt;Double Click and follow the installation prompts&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;To make sure it successfully installed...&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Open Terminal&lt;/li&gt;
&lt;li&gt;Type Node&lt;/li&gt;
&lt;li&gt;If "Welcome to node js [vs #]" shows up, it has been successfully installed.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  How to install Yarn
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Go to &lt;a href="https://yarnpkg.com/getting-started/install"&gt;https://yarnpkg.com/getting-started/install&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;In Terminal enter : &lt;code&gt;npm install -g yarn&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;To make sure it successfully installed...&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;In Terminal type &lt;em&gt;yarn&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;If "Success Already up-to-date" shows up, it has been successfully installed.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  How to use Open-WC Boilerplate
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;In Documents Folder create a new folder called &lt;strong&gt;git&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;In git create another folder named your git username&lt;/li&gt;
&lt;li&gt;Return to Terminal and enter &lt;code&gt;cd Documents/git/~name of folder~&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Enter &lt;code&gt;npm init @open-wc&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Select Scaffold a New Project&lt;/li&gt;
&lt;li&gt;Select Web Component&lt;/li&gt;
&lt;li&gt;Press A to select linting, testing and demoing&lt;/li&gt;
&lt;li&gt;Select No for Typescript&lt;/li&gt;
&lt;li&gt;Name Scaffold &lt;em&gt;hello-world&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;Install using Yarn&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Running Open-WC Boilerplate
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Enter &lt;code&gt;cd hello-world&lt;/code&gt; in Terminal&lt;/li&gt;
&lt;li&gt;Enter &lt;code&gt;npm run start&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>openwc</category>
      <category>tutorial</category>
      <category>terminal</category>
    </item>
  </channel>
</rss>
