Build your own Technical Portfolio
This repository allows you to create your own technical portfolio page! You are welcome to extend it for other uses, such as blogs or documentation.
If you have problems with this repository, please see our frequently asked questions page.
This repository was originally created for Grace Hopper Celebration 2020 and is constantly being updated based on the feedback of the workshop participants. You can find the slides from vGHC here.
- Prerequisites
- Getting Started
- Update Your Profile Picture
- Update Your Social Media Links
- Update Your About Page
- Update Your Projects Page
- Add a Blog
- Delete Your Portfolio
- Apply Updates from This Template Repository to Your Portfolio
Prerequisites
- A GitHub Account
- Markdown Cheatsheet: This is used for typing your blog, about, and project pages.
- For more information about Markdown, visit this guide from GitHub.
Getting Started
Copying the template repository
You'll need to copy this repository to your Github username and enable a few settings.
-
Navigate to the tech-portfolio in your web browser.
-
Fork this repo to your GitHub user. This repo contains all of the necessary files to deploy your technical portfolio; however, you need to configure this repository with the necessary settings to make it a GitHub Pages site.
‼️ Ensure you are on your forked repository by checking the upper left title of the repo. It should contain your GitHub user name. -
On the Settings page, navigate to "Options" and scroll to the bottom to the "GitHub Pages" section.
-
Change the Source branch to "gh-pages" and keep the "/(root)" path and save this change. This contains the GitHub Actions workflow.
-
This original repo has a workflow file already configured and GitHub disables these when you fork them by default. To enable this pre-configured workflow, select the "I understand my workflows, go ahead and enable them."
‼️ The Actions workflow will not do anything until you make additional changes.
Now you are ready to move into the repo and make this portfolio your own!
Edit your portfolio with your personal info
-
Navigate to the Code page of your repo and make sure you are on the
main
branch. Click on the "website" folder and open thesiteConfig.js
file.
There are four text fields and three social media links for you to update.
Update with your name and tagline
-
Find the
title:
field and add your name. Remember to keep this field in single quotes.... title: 'YOUR NAME',
-
The next line is
tagline:
. This field appears on your portfolio front page. Replace the placeholder with a description of you in three adjectives and the type of work you do or are looking for. Keep this field in single quotes as well. While we didn't put a character limit, keep it to 140 characters or less!
...
tagline: 'Technologist, awesome, and amazing.',
Update your site URL and organization
-
The next line is
url
and should be your GitHub username.... url: 'https://YOUR-GITHUB-USER.github.io',
-
Keep the
baseUrl
andprojectName
fields the same.‼️ We are using a project GitHub page, not a global one associated with your username. If you do want your portfolio to be located atyour-user.github.io
, you must change the name of the repository. -
Your
organizationName
is your GitHub username.... organizationName: 'YOUR-GITHUB-USER',
Commit your changes
- Once you have updated all of the above fields, you are ready to commit these initial changes.
- Click the "Commit changes" button to save your changes.
Review the Actions workflow
To observe GitHub Actions building your page, go the "Actions" section of the repo.
Click on the "Update siteConfig.js" job. GitHub displays the actions it is taking to build & publish your portfolio.
When the "build" job is complete, navigate to your portfolio in another tab of your web browser.
Your URL is "https://YOUR-GITHUB-USERNAME.github.io/tech-portfolio/" and this site displays your live portfolio.
Congratulations! You completed this walkthrough and have a live technical portfolio! Any changes in your forked repo will trigger a new build and will update your site.
Update Your Profile Picture
Follow these instructions to update your profile picture on the home page.
-
Save the photo you want to use for your profile and name the photo
profile.png
. -
Navigate to the
website/static/img
folder of your technical portfolio. -
Choose your file called
profile.png
and commit this as a change to your repository. -
Check your live website. The home page should have your photo.
Update Your Social Media Links
-
Scroll to the bottom of the
website/siteConfig.js
file in the editor. -
Check out the
socialMedia
section. This section controls the social media icons and links at the bottom of your portfolio!socialMedia: { linkedin: 'https://www.linkedin.com/in/', twitter: 'https://twitter.com/', github: 'https://github.com/', //facebook: 'https://www.facebook.com/', //instagram: 'https://www.instagram.com/', //youtube: 'https://www.youtube.com/', //twitch: 'https://www.twitch.tv/' },
-
Navigate to your social media profile page. Copy the URL and paste it into the field.
- For example, find your LinkedIn public profile name, login to your LinkedIn account and view your profile.
- On your profile page, click "Edit public profile & URL" from the upper right section of the page.
- Under "Edit your custom URL", copy the entire URL (
https://www.linkedin.com/in/yourprofile
). This is your LinkedIn profile URL. - Paste it in your
linkedin:
setting.linkedin: 'https://www.linkedin.com/in/yourprofile',
-
If you want to add social media, check out the commented lines (lines starting with
//
). You can enable the social media icons by delete the//
from the line.linkedin: 'https://www.linkedin.com/in/yourprofile', <- delete the // at the beginning of the line to use
-
If you don't have a social media profile for the specific website, you can add the
//
to the beginning of the line. These will be ignored.// linkedin: 'https://www.linkedin.com/in/yourprofile', <- added the // at the beginning of the line to ignore
-
The page will update with the social media icons automatically!
If our list doesn't include a social media icon you want, feel free to open a Github issue and tell us which one you're looking for!
Update Your About Page
You can customize the About
page of your technical portfolio with some information about you.
-
In the
docs
directory of the repo, open theabout.md
page and edit it. -
Update this page with a little bit about yourself!
-
To see this page, navigate to your site and click the
About
page.
Update Your Projects Page
You can customize the Projects
page of your technical portfolio with a project you want to highlight.
-
Take a screenshot of a project you recently worked on and save it to your local machine.
-
Navigate to the
docs/assets/
folder of your technical portfolio and click the Add file drop-down and choose "Upload files". -
Choose your file and commit this as a change to your repository.
-
In the
docs
directory of the repo, open theprojects.md
page and edit it. -
Update this page with a short description of the project with a link to see it live if available.
-
To add the screenshot, you will use the Markdown syntax with alt text in
[]
and a relative link to the image in()
. -
Commit your changes and navigate to Actions, where the new build job will run and update your page.
-
To see this page, navigate to your site and click the
Projects
page.
Add a Blog
Usually, it is easier to use a blogging platform to write a blog. However, we added this into your tech portfolio if you want to manage your blogs yourself. To add a new post...
-
In the
website
directory of the repo, find theblog
folder. -
Create a new file called
<YEAR>-<MM>-<DD>-blog-post.md
. Make sure you name it with the year, month, and date. If your month or day is single digits, make sure you add the0
in front of it (e.g., February is02
). Keep the-blog-post.md
. -
Copy the contents of
2020-10-03-blog-template.md
. Paste into your new blog post. -
Change the title to one that you want to name your post.
-
Update the body of the post with some content.
-
Commit your changes and navigate to Actions, where the new build job will run and add your new blog post.
-
To see this page, navigate to your site and click the
Blogs
page.
Delete Your Portfolio
-
Scroll down to the bottom of the page until you see the Danger Zone.
-
Click "Delete this Repository" and follow the prompts to remove the repository.
Apply Updates from This Template Repository to Your Portfolio
Let's say you want to include the updates we made for the social media links into your portfolio. At the time, we didn't add dynamic creation of social media icons and you want to include your YouTube channel. You can update your portfolio to take advantage of template updates we make.
-
Go to your forked repository. You'll see at the top a box that says how commits different your repository is from our template repository.
-
When you click compare, it might show "no differences" because GitHub compares the fork to the base. You want to compare the base to the fork! Click "switching the base" to reverse the comparison and compare the base to the fork.
-
You should see the base repository as your portfolio and the head repository as the template.
-
In the pull request dialog, name the pull request something descriptive like "updating my repo to match template". Then, click "Create Pull Request".
-
Your pull request should merge successfully. If you have conflicts, you will have to resolve them through the GitHub UI.