Scaffolio is a twig-base website generator that creates a beautiful, responsive portfolio website from a few JSON files. You can assemble your personal portfolio website using any combination of the following sections:
about
: A general purpose intro/description section about youskills
: A customizable table containing a list of categories (like Software) and a list of related skillseducation
: A list of schools that you attended along with relevant info like degree, grad date, honors, etc.experience
: A list of companies that you worked for and specific achievements from your time therecertifications
: A list of any relevant certifications you acquiredprojects
: A list of any side projects you want to highlight
This setup assumes you have git
, node
, and npm
installed.
- Clone this repo:
git clone [email protected]:Zak-Bahm/scaffolio.git
- Cd into the new repo:
cd scaffolio
- Install the necessary dependencies:
npm ci
- Using your editor of choice, edit the json files located in the
data
directory to include your info and customize the section order and website colors. - Build your portfolio website:
npm run build
- Start the local web server to check out your new website:
npm run serve
When you have everything set up and you would like to deploy it, simply copy the contents of the dist
folder onto your production webserver or to whichever service you would like to use such as s3.
These examples are all of the available sections and the format of their JSON files. This demo version can be viewed by checking out the demo
branch.
Here are the available options for the JSON file:
{
"text": ""
}
Here are the available options for the JSON file:
[
{
"header": "",
"list": [""]
}
]
Here are the available options for the JSON file:
[
{
"school": "",
"img": "",
"degree": "",
"field": "",
"gradDate": "",
"gpa": "",
"honors": [""]
}
]
Here are the available options for the JSON file:
[
{
"position": "",
"dateRange": "",
"img": "",
"company": "",
"slug": "",
"location": "",
"description": "",
"specifics": [""],
"badges": [""]
}
]
Here are the available options for the JSON file:
[
{
"name": "",
"url": "",
"img": "",
"date": ""
}
]
Here are the available options for the JSON file:
[
{
"name": "",
"img": "",
"url": "",
"github": "",
"badges": [""],
"description": ""
}
]