General overview of today’s agenda:
We’re excited to guide you through creating an impressive portfolio!
“Your portfolio is more than a website—it’s your professional handshake in the digital world.”
“From Quarto to custom development, the right tool depends on your goals, technical skills, and the story you want to tell.”
“Quarto enables data scientists to create professional, interactive, and reproducible portfolios with ease—showcasing both technical skill and storytelling ability.”
If you were to explore doing this on your own, you’d need the following at least:
Follow along closely so no one gets lost. We’re going to do this together. 🫱🏼🫲🏾
<username>.github.io
quarto --version
quarto create
and you will see something like below:quarto preview
to see a preview of your basic site!.qmd
file using Markdown.quarto preview
to see a live preview of your document.quarto render
to generate the output.Let’s take an introductory stroll through Quarto!
At a minimum, your portfolio website should include:
_quarto.yml
: The configuration file that defines your site’s structure and settings.index.qmd
: The homepage of your site.about.qmd
, blog.qmd
) and resources (e.g., images, styles).styles.css
, assets/
).Next, we’ll customize the site.
_quarto.yml
You can organize your files however you would like, but choosing a regular file structure will be very helpful. I recommend the following general structure.
.gitignore
file: Includes the files to leave untracked in version control.blog.qmd
: will load blog post from posts/
folder_site/
: auto-generated by Quarto, you don’t need to create this folder. You should add it to your .gitignore
.projects/
: folder to organize projects.projects/index.qmd
: page to display and list projects.images/
: folder(s) to store images for your site and pages. Best to keep organized in the relevant folder (e.g., per project).Sample project directory structure
├── .gitignore
├── README.md
├── _quarto.yml
├── _site
│ └── ...
├── blog.qmd
├── images
│ └── headshot.jpeg
├── index.qmd
├── posts
│ └── first-post.qmd
├── projects
│ ├── example-project-1
│ │ ├── images
│ │ │ └── my_cat.jpeg
│ │ └── index.qmd
│ ├── example-project-2
│ │ ├── images
│ │ └── index.qmd
│ ├── index.qmd
│ └── template
│ ├── images
│ └── index.qmd
index.qmd
at the project root. This is your homepage.quarto preview
to check your updates.---
title: "Your Name"
image: images/headshot.jpeg # replace with the link to your headshot
about:
template: jolla # see additional templates here https://quarto.org/docs/websites/website-about.html
links: # add links to your various social profiles
- icon: linkedin
text: LinkedIn
href: https://www.linkedin.com/in/<yourhandle>
- icon: github
text: Github
href: https://github.com/<yourhandle>
---
Enter your biography blurb here.
Let’s add a project page to showcase a basic data science project.
projects/
folder, create a new subfolder named after your project (e.g., iris
). Avoid spaces in the folder name.images/
folder: Store any images or visualizations related to your project here.index.qmd
file: This will serve as the main page for your project.#
symbols to create headings:
# Heading 1
→ <h1>
## Heading 2
→ <h2>
### Heading 3
→ <h3>
![Alt text](path/to/image.jpg)
There’s A LOT more. Checkout…
Add Content to index.qmd
:
Open index.qmd
and describe your project.
Include the following:
Example content for index.qmd
:
---
title: Iris
author: Sep Dadsetan
date: 2024-11-11
image: images/ # A url to image here.
description: This is a description # Short description of the project to be shown on overview page.
---
# Iris Analysis
The **Iris dataset** is a great sample dataset. It contains information on iris species and sepal dimensions.
## Key Steps
yadda yadda
The last thing we need to do before we publish our site with the minimal setup is create a project overview page. To do this, open projects/index.qmd
and add the following text.
---
title: Projects
---
## Iris
::::: {.columns}
::: {.column}
UCI: Iris Research Project
Check out this analysis I performed by following the link [here](iris/).
:::
::: {.column}
![](iris/images/)
:::
:::::
## Project #2
_quarto.yml
We need to setup the Github repo to render the site from the gh_pages
branch.
If it’s a fresh repository, you won’t have a gh_pages
branch. So, first we need to create an empty one. To do so, run the following code:
git checkout --orphan gh-pages
git reset --hard # make sure all changes are committed before running this!
git commit --allow-empty -m "Initialising gh-pages branch"
git push origin gh-pages
After you finish this, go back to the main branch by running git checkout main
. This must be completed before you run quarto publish
!
Go to our Repo -> “Settings” -> Pages -> Create from branch and make sure gh-pages
is selected.
Ta-da! 🎉 Site is published!
A personal domain is well worth your investment. It will cost you around $20 a year, but it will give you a nice spot for your web presence and also a nice email.
yourwebsite.com
).username.github.io
.“Choose the hosting option that best fits your site’s needs, budget, and your technical expertise.”
“Tools like these enhance your efficiency and make developing with Quarto even easier!”