Let's Build a Portfolio!

Sarah Frostenson
Twitter: @sfrostenson
Github: @sfrostenson
Slides: frostenson.com/talks/
Repo: github.com/sfrostenson/portfolio-workshop

What we're going to build

A one page, responsively designed website that showcases your work.

What we're going to learn

1: Structuring Our Workspace

  1. Create a new folder/directory on your desktop called site.
  2. Within your site directory create an index.html file.
  3. Create one additional directory within your site directory called styles.
  4. Within your styles directory create a main.css file

2: Structure it in Your Terminal


sfrostenso@GCI-SFROSTEN2-M:~|⇒  cd Desktop 
sfrostenso@GCI-SFROSTEN2-M:~/Desktop|
⇒  mkdir site && cd $_
sfrostenso@GCI-SFROSTEN2-M:~/Desktop/site|
⇒  touch index.html
sfrostenso@GCI-SFROSTEN2-M:~/Desktop/site|
⇒  mkdir styles && cd $_
sfrostenso@GCI-SFROSTEN2-M:~/Desktop/site/styles|
⇒  touch main.css
sfrostenso@GCI-SFROSTEN2-M:~/Desktop/site/styles|
⇒  cd ..
sfrostenso@GCI-SFROSTEN2-M:~/Desktop/site|
⇒ 

3: HTML Setup

4: Add some Body HTML


		
    
    
    
    

5: Launch a webserver

Go back to your terminal. From the site directory, launch a simple webserver by typing python -m SimpleHTTPServer


sfrostenso@GCI-SFROSTEN2-M:~/Desktop/site|
⇒  python -m SimpleHTTPServer
Serving HTTP on 0.0.0.0 port 8000 ...

To see your website in action type the this in the address bar: http://localhost:8000/

6: Inspect Your Page

There are two ways to launch your inspector tools (should work for Safari, Chrome, Firefox & IE)

  1. Right click anywhere on the page and select Inspect Element
  2. Use the keyboard shortcut Cmd + Option + I  on a Mac or Ctrl + Shift + I on a PC.

The Inspector

7: Bootstrap

Bootstrap is a popular HTML, CSS and JS framework for developing responsive, mobile first projects.

Here are some more ready-made Bootstrap Templates.

Bootstrap's Grid

  • Bootstrap works as a 12 column grid.
  • This means grid columns classes must add up to 12 for a single horizontal block (i.e. all divs nested in one parent div must have classes that add up to 12).
  • Bootstrap has four types of classes: xs (phones), sm (tablets), md (desktops), and lg (larger desktops)

8: Use Bootstrap's Grid


Project One Headline


A detailed description on the project or nature of your work, role and skills learned.

Project Two Headline


A detailed description on the project or nature of your work, role and skills learned.

Project Three Headline


A detailed description on the project or nature of your work, role and skills learned.

9: A little CSS


.row {
	margin-right: 0;
	margin-left: 0;
}
.projects {
    top: 50px;
    position: relative;
}

10: Install Jekyll

11: Jekyll's Structure

12: Site, Config, Includes & Layouts

  1. _site is where your website will be generated by Jekyll as you make changes to other files.
  2. _config stores meta configuration data about your website & data specific to you.
  3. _includes contain reusable code chunks that can be reused throughout your site.
  4. _layouts contain the html structure for each section of your site.

13: Customizing the Config

14: The Power of Includes

  • Screenshot of our Footer.html _include.
  • {{ }} indicates templating language.
  • What info generates {{ site.title }} ?

15: Layouts are the glue

16: A Portfolio Include?

In your _includes directory create a new file called projects.html and from the index.html file in your site directory, copy & paste your row projects class.


Project One Headline


A detailed description on the project or nature of your work, role and skills learned.

Project Two Headline


A detailed description on the project or nature of your work, role and skills learned.

Project Three Headline


A detailed description on the project or nature of your work, role and skills learned.

Change our Default Layout

In _layouts in your default.html file, replace {{ content }} with {% include projects.html %}

A Portfolio!

Add Bootstrap

From the index.html file in your site directory, copy & paste your Boostrap stylesheet link.

Where to go from here?