Site Archive:


Cleaning the Slate: CSS Reset or CSS Normalize?

Author: Adrian Miasik

Publication Date: 2019-12-02 (1:25a.m. EST)


So this site just got a bit uglier. (I mean it's already pretty ugly to begin with. lol)

Notice the titles for each of the blog posts? They're all the same size now.
Notice the spacing for a lot of our content? It's all gone.
Notice our block quotes? The indentation and quotation marks have also been removed.

So what gives Adrian? What did you do?

Well...Remember in one of my previous posts I showed you how each browser reacted differently to the same file? In that post I was only looking at what the browsers were displaying in the console. And as you probably guessed by now... I never took a close look at the visuals of the website. Turns out each browser might stylize certain HTML elements differently using their own defaults. This becomes an issue when we want our site to look the same on any browser. Fortunately, we can override the browsers defaults with our own style sheet! A lot of people use something called "CSS reset", but...


What is CSS reset?

A CSS reset is a custom CSS file that attempts to remove a lot of the browsers default styling's in order to achieve visual consistency between browsers.

Well what if I don't want to remove the quotation marks from my quotes? You could just modify the style sheet and re-add the quotation marks back in. But then I can't tell you about CSS normalize. So...

What is CSS normalize?

CSS normalize is a custom CSS file that attempts to keep a lot the default margins and padding from browsers, but it will try to make the default styling's consistent between browsers.

So wait I'm confused. What's the difference between CSS reset and CSS normalize?

The difference between CSS reset and CSS normalize, is that CSS reset aims to remove the default styling's where CSS normalize aims to keep the default styling's. Both of these solutions intend to minimize visual inconsistencies between browsers.


In fact, here's quite an informative video on the topic:

If you were curious, I'm currently using CSS reset for this site.

Alright, so we now know the difference between CSS reset and CSS normalize. Let me show you how I added it to my site.

First I created a new file inside my root directory called 'reset.css'.
The root project directory with https://d33wubrfki0l68.cloudfront.net/a29b74cf83cbd50a7c9b31e0de55e8cb78e554ef/ede64/reset.css highlighted

Then I added a variation of Eric Meyer's CSS reset file.

This is what that looks like:

The contents of the CSS reset file.
You can find the original here.

I then went into my index.html file, and added the following "code" into the bottom of my HTML head:
<link rel="stylesheet" href="reset.css"/>

So now my HTML head looks like this:



And that's it! That all it takes to add custom CSS to index.html

Watch my GitHub releases page to get notified of any new content I add to this site. I'll try to look into a better way of notifying you guys on any new content I add. Maybe an email listing or something? But in the meantime use my GitHub releases page.


Thanks for reading! :)

Reviewing Our Foundation

Author: Adrian Miasik

Publication Date: 2019-11-07 (11:39 p.m. EST)

Hey.

So I wanted to put things in perspective.
What is this website currently made of?
To be honest...
Not much.

The project directory of adrianmiasik.com

This is the entire project right now.
There isn't a lot here. Which is good! I can now quickly explain what this project currently consists of.

The purple folder icon labeled "adrianmiasik.com". We can refer to this folder as our root directory. Our entire project will likely live inside this directory.

Within our root directory there are 4 files and 1 folder. Let's start at the folder at path:root/images.
With whatever project you work on, you are going to want to try to keep things neat and tidy so you know where everything is located. With that purpose in mind, this folder will contain all our images we use on this site. Any photo/graphic file formats like (.jpg, .png, .svg, etc...) will live inside here. In fact, directory root/images currently has our first websites image called this-image-you-are-looking-at.png, which is the first image in this post.

Next up is root/.gitignore. I'm actually going to skip this once since it's related to version control and my choice of IDE. (I'll try to revisit this)

Next up is root/index.html. This is the website.
Everything you are seeing was made possible by this file.
The words you are reading right now are inside this file.

So this file is pretty important...But how do you get it?

Well when you go to a website your web browser tells the server "Hey. I'd like to see this website: adrianmiasik.com"
The server then responses "Ah okay, you must be here for the homepage. Let me just run to the backroom and get you what you need".

Depending on how the server was configured it would typically look and return one of these files as a single entry point:

From reading online, it seems that we use all just use index.html now. Wish I could tell you why. But I don't know. I'm going to assume that's how most people configured their web servers and it sort of just stuck as the default.

So what does index.html look like?

It looks like this. Weird, right?

It's just English with a bunch of "HTML Elements". I'm not going to go through them all...but each HTML element is used for a specific purpose. Sometimes that purpose is to make font bold. Sometimes that purpose is to define content. Sometimes that purpose is used to make links clickable. If you want to see a list of HTML elements, Mozilla has some good documentation here: HTML elements reference. (Ayyy clickable link :^))

Next up is LICENSE.
This file is a legal document that governs the use and redistribution of this software. Pretty standard.

Finally our last file is README.md
README files are typically used for documentation. It's a way for the creator to quickly convey useful information to others. The information can vary, for instance...some read me files are used as instructions to setup certain software configurations, installations, etc... Some use it as a manifest. Some use it for licensing and copyright. Some use it to credit the contributors. Some use it as a changelog. Some use it to display major known bugs. The truth is, this file is used for many things and it's generally worth the read.

What are you going to be using it for?

Who knows. Right now mine just contains this:

<h1><a href="https://www.adrianmiasik.com">AdrianMiasik.com</a><h1>

[![Netlify Status](https://api.netlify.com/api/v1/badges/85c25006-687b-4821-a45f-9d56364bb9a0/deploy-status)](https://app.netlify.com/sites/adrianmiasik/deploys)

A personal website to show off my portfolio and also document my web development journey.

So just a large heading that you can click to get to my website. A fancy markdown badge related to hosting. And a brief description of this website.

But that's the site.

Your browser should've only received two files at the time of writing this. It should have received this index.html file. And this image:

The project directory of adrianmiasik.com

But I see more than one image in this post. How did you do that?

So that was all using the same single image inside root/images. Just with some inline CSS I was able to stylize an empty element (a div), give it a background image, offset the background image, and finally change the size. Essentially making multiple "cropped copies" from one image source.

You can actually view this yourself. Right click this page and click 'View Page Source'. Once you can see index.html in your browser...Look for the 'style' attribute on the div HTML elements.

Speaking of which. Man. Is there a lot of content in a single document. I should probably start organizing these into separate pages. It's getting difficult to navigate up and down this page. heh.

TL;DR:
Our site doesn't have a lot. It's got...

Browser Report: Examining the Bones Update

Author: Adrian Miasik

Publication Date: 2019-11-05 (10:38 p.m. EST)

There's a lot I want to talk about on here:

There's a lot of "I want"s in there. Today I won't be covering any of that just yet. Instead I wanted to do another "browser status report" to see how browsers parses this site after 🦴 The Bones Update 🦴 and try to solve and obvious browser errors we see. And I also need to address a mistake I've made in my 2nd post. (Post #4 and we are already addressing a mistake?) Let's get into it!

First up is Firefox.
So last time Firefox gave us this error:

The character encoding of the HTML document was not declared. The document will render with garbled text in some browser configurations if the document contains characters from outside the US-ASCII range. The character encoding of the page must be declared in the document or in the transfer protocol.
And this time Firefox is giving us this error:
The character encoding of the HTML document was not declared. The document will render with garbled text in some browser configurations if the document contains characters from outside the US-ASCII range. The character encoding of the page must be declared in the document or in the transfer protocol.

So what gives? We are getting the same error. You said defining the DOCTYPE by placing <!DOCTYPE html> at the top of the html file will resolve this error.

Nope. I was wrong.

I realized that defining the document type is not the same as defining the character encoding.

Also I realized I never explained what defining the document type was...So here goes!
<!DOCTYPE html> solves the document type warnings and lets the browser know that it will be reading this as an HTML document. Defining the document type is often referred to as DTD declaration. (Document Type Definition). So why do we have to do this DTD declaration? Well, believe it or not but there are different types of HTML. And most browsers don't know which one you are using. The browser will actually try to "doctype sniff" and guess the document type you are using if one is not provided. But since programmers love being explicit, just define it. Just remember that there is one declaration that almost everyone uses, <!DOCTYPE html> . Everything else is pretty much just a legacy thing.

But how do we define the character encoding? And what is character encoding?

Great questions. I did a bunch of research on this since I was curious about this too. In fact, I'll be sharing my findings in another post.
But for the scope of this post, I'm not going to go into that rabbit hole right now. If you are interested in hearing a brief explanation of character encoding, ASCII, Unicode, and UTF-8. Make sure to watch my GitHub releases page. ;)

Okay sure, I'll ignore what character encoding is for now. How do I solve this character encoding error?

There are actually many solutions to this answer. But...for a lot of modern web pages you are probably going to resort to character encoding UTF-8. (especially for western characters)
For now we can solve this error by adding this to be the first HTML element inside our head: <meta charset="UTF-8">

Second up is Google Chrome.
Works just fine!

Next up is Internet Explorer 11.
Loads fine. However I did realize, the emotes in my previous post title "The Bones Update" are not being displayed properly. Instead of bones, there are blue hollow boxes. And the emotes within the post look different and only have a black and white color scheme. Interesting observation. Besides that, everything looks fine.

Last up is Microsoft Edge.
Microsoft Edge, renders everything just fine. However we do have 6 console messages. (1 info, 5 warnings) Let's go through them:

HTML1300: Navigation occurred.
This is that same simple information log, I'm going to ignore this again.

HTML1402: Character reference is missing an ending semicolon ";".
This is the warning that gets printed 5 times. Apparently I've been creating emoji's in HTML incorrectly. For instance I've originally created the eyes emoji by typing in & # 1 2 9 4 6 0 in HTML. (with no spaces) After a quick google search of the error it seems any special character in HTML must end in a semicolon.

Alright, that's all 4 browsers I'll be using for this browser report.

Looks like we now have our action items:

See you in the next update!

🦴 The Bones Update 🦴

Author: Adrian Miasik

Publication Date: 2019-11-04 (2:16 a.m. EST)

Bam! This update brings us HTML. Everything you see on this page is structured in these two legendary elements: <html> </html> Using HTML gives us access to so many great tools. We can make font bold. We can italicize this shit too.WE CAN CENSOR THINGS...kind of I can make things clickable. See that list at the top? That shit's also done in HTML too. 👏 W E C A N E V E N U S E E M O J I S 👏 👀 💦

Not sure how I'm going to be hosting different versions of the site just yet. But keep an eye out on the "Site Archive" section.
Anyways, till next time! Doot 🎺 Doot 🎺


Seeing How Browsers React. and Not That Type of React

Adrian Miasik

2019-11-03 (9:05 p.m. EST)

I noticed something in the previous post. I've tested this file on numerous web browsers and each one reacts slightly differently. Let me show you.

First up is Firefox .
This file (`index.html`) works on Firefox. But I noticed that the console did spit out an error:

The character encoding of the HTML document was not declared. The document will render with garbled text in some browser configurations if the document contains characters from outside the US-ASCII range. The character encoding of the page must be declared in the document or in the transfer protocol.

Alright that should be pretty easy to address. I've used Codecademy to learn web dev before, so I do remember that each website needs to adhere to a certain HTML structure. The first HTML element in any document should be...:

Hmm, interesting. You didn't see it but adding `!DOCTYPE html` (Replace the ` with <> respectively) doesn't appear in my versions of Firefox, Chrome, Internet Explorer 11, and also Microsoft Edge. So even just typing out the correct DOCTYPE element in an HTML file is not enough, it does seems to get deleted by the 4 aforementioned browsers. Good to know. Anyways, I digress.

Second up is Google Chrome .
This file works in Chrome. The console spits out no errors or warnings and accepts this page as is. Great!

Third up is Internet Explorer 11.
This file works in Internet Explorer 11. The console spits out no errors or warnings and accepts this page as is. Also great!

Last up is Microsoft Edge.
This file works in Microsoft Edge but we do get certain console logs. Let's go all 4 of them:

HTML1300: Navigation occurred.
This is a simple information log, I'm going to ignore this one for now.

HTML1527: DOCTYPE expected. Consider adding a valid HTML5 doctype: "".
Funny enough, this warning gets removed just like in my Firefox comment before.

HTML1502: Unexpected DOCTYPE. Only one DOCTYPE is allowed and it must occur before any elements.
Okay similar error that I will fix in the next post.

HTML1407: Invalid tag name. First character should match [a-zA-Z].
Okay right so it's complaining about `-` being the first character in this file. We are replacing the first line with the DOCTYPE so we should first apply that solution and see how Microsoft Edge reacts. Funny enough, the copy paste of error 3/4 above is now showing 2 HTML1502 logs on this page.

Alright so what have we noticed? Out of my sample size of 4 browsers, all of them were able to view this file just fine. In fact all four browsers auto-generated a proper HTML structure while putting all the text you are reading into one paragraph element. Neat-o! Firefox was able to tell us our file was incorrect and how it could be incorrect in some browsers. Which is really great to see actually! Microsoft Edge was expecting a DOCTYPE but didn't tell us why nor how. It did however provide us a solution to fix it though. Google Chrome and Internet Explorer 11 had no problems with our files. Now I'm not sure if that concerns me or not. Haha.

TL;DR:
So, what's the takeaway from all this? Welp, this tells us that most browsers are not the same. For better or for worse each browser will most likely parse each website slightly differently. (I'm not going to get to far into that, but this does become a headache later on)
My next steps are clear. Let's structure this file using HTML. See you in the next update!


A Journey Through the Wild West of Web Development Begins

Adrian Miasik

2019-11-03 (5:46 p.m. EST)

Alright Chris. I finally made that website I was talking about. It's not much, but it's a start :)

In fact I'm not even sure this will properly work on most web browsers. There isn't any proper meta data or html tags here. But that's the beauty of this. I get to find out and learn as I go!
So these words you are reading right now are being written inside a program called notepad++. Right as I'm done typing this sentence I'm going to save this file as `index.html` and then I'm going to drag and drop this file into my web browser. Yup, confirmed that it worked. (Which should be fairly obvious to you since you are reading these words in your web browser right now)
So what is this place?

Well...Hi. I'm Adrian. I'm the dude writing these words you are reading right now. Yup. that's me. (btw I'm glad that's the voice you chose for me) Anyways, I've done some web development in my career and spare time but I'm still really new to it. In fact I wanted to get back into web dev and also had an itch to create my own website. Currently my domain https://www.adrianmiasik.com re-directs to a third-party website with my game content on it. the most recent version of this website! I've been meaning to create a proper place for my domain. So I'll be creating a website that I can use for my portfolio work and also a site that I can document this journey on.
I want to create a visual timeline for the history of this site as I create it over time. I'm not sure how far I'll explore that idea but we'll see!

Check back soon!!!! In the meantime check out my website :^) https://www.adrianmiasik.com