The Onliest Folio is a professional portfolio template designed for absolute beginners. This repository serves two purposes:
- A working portfolio β You're looking at Matthew's actual portfolio site (live above)
- A template for you β Fork this repo and use it as a starting point for your own portfolio
The entire site is managed from a single, heavily-commented HTML file with no build steps, no command line required, and no coding experience necessary.
- Super Beginner-Friendly: Every customizable section is marked with a π§ emoji and explained in plain English.
- Single-File Customization: No need to hunt through folders. Everything you need to change is in
index.html. - Light & Dark Mode: A simple, elegant theme switcher is included by default.
- No Build Step Required: Just edit the HTML file and your site is live. No command line, no compilers.
- GitHub Pages Ready: Follow the steps below to host this for free on GitHub.
- Inline Documentation: Code comments explain not just what things do, but why they're structured that way
Every customizable section is clearly marked with π§ (wrench) comments in plain English with step-by-step instructions:
Over 50 detailed customization comments throughout the file guide you through:
- Changing your name, tagline, and introduction
- Adding/editing projects
- Creating custom badges
- Setting up favicons and theme toggles
No code experience neededβjust follow the instructions and change the text!
Follow these steps to get your own free portfolio website up and running.
A "fork" is simply a personal copy of a project that you own and can edit.
- Click the Fork button in the top-right corner of this page
- A copy of this repository will be created in your own GitHub account
- You now own your own version to customize
This is the magic step that tells GitHub to turn your code into a live website.
- In your new repository, click the Settings tab (top menu)
- Under the "General" settings, find the "Repository name" field
- Rename the repository to
your-username.github.io, replacingyour-usernamewith your actual GitHub username
β οΈ IMPORTANT: The name must be exact. If your GitHub username isjane-doe, the repository name must bejane-doe.github.io. This is what tells GitHub Pages to publish your site.
Now it's time to make the portfolio your own! Everything you need to change is in the index.html file.
- In your repository, click the
index.htmlfile - Click the pencil icon (top right) to edit it
- Look for the π§ emoji commentsβthese are your instructions!
Here's a checklist of things to personalize:
Header & Meta Information:
- [ ] Browser Tab Title β Change the
<title>to your name - [ ] SEO Description β Update the
<meta name="description">so search engines can find you - [ ] Author Info β Update
<meta name="author">with your name - [ ] Keywords β Update
<meta name="keywords">with skills/interests that describe you
Main Content:
- [ ] Your Name β Update the
<h1>tag with your actual name - [ ] Your Tagline β Update the
<h2>tag with a short description of what you do - [ ] Badges β Update the links for your resume, GitHub, email, LinkedIn, etc.
- [ ] About Me β Rewrite the introduction in the first project-card
- [ ] Projects β Edit the existing project cards with your own work (titles, descriptions, links)
- Pro tip: To add more projects, copy and paste an entire
.project-card.subblock
- Pro tip: To add more projects, copy and paste an entire
- [ ] Skills β Update the Technical Skills section
- [ ] Experience β Update the Experience & Strengths section
- [ ] Achievements β Update your certifications, degrees, awards, etc.
- [ ] Values β Update the Values section with your own work philosophy
- [ ] Contact β Update the final call-to-action and contact badges
That's it! Once you save your changes to index.html, GitHub will automatically publish your website.
Your new portfolio will be live at https://your-username.github.io.
Note: It can sometimes take a few minutes for the website to appear or for changes to update. Be patient!
If you're feeling adventurous, you can customize even more:
Open the style.css file to edit the color variables at the top. The Kokiri colorscheme is fully customizable:
:root {
/* Dark theme (Kokiri primary) */
--bg-color: #071524; /* Background */
--text-color: #a2faa2; /* Main text */
--card-bg: #122030; /* Card backgrounds */
--accent: #a8c5ff; /* Accent color (links, borders) */
--header-bg: #2f3e4f; /* Header background */
/* ... and more */
}
[data-theme="light"] {
/* Light theme overrides */
--bg-color: #f0f1f5; /* Light background */
--text-color: #122030; /* Dark text for light mode */
--accent: #5a7eb5; /* Light mode accent */
/* ... and more */
}Each variable is clearly labeled. Just change the hex color codes to customize the entire site!
- Prepare your resume as a PDF
- Place the PDF file in
/assets/docs/ - Name it
resume.pdf(or update the link in index.html if you use a different name)
Follow the detailed instructions in index.html in the favicon section (around line 32-54). TL;DR:
- Generate favicons at https://realfavicongenerator.net/
- Download the package and extract it into
/assets/icons/ - Copy the HTML code it provides and paste it into the
<head>section of index.html
The theme switch button uses emojis to represent light/dark mode:
- Find the
<button id="theme-toggle">tag in index.html (around line 214) - Change the emoji to your preference (e.g., π for dark, βοΈ for light)
- Scroll to the "THEME TOGGLE ICONS" comment in the JavaScript section (around line 1039)
- Update the emoji values in the theme toggle script to match
You can add entirely new sections by copying the project-card structure:
<div class="project-card">
<h2>π― Your Section Title</h2>
<p>Your content here...</p>
</div>/
βββ index.html β Your main portfolio file (EDIT THIS)
βββ style.css β Styling and theme colors (advanced)
βββ README.md β This file
βββ LICENSE β MIT License (keep it or replace with your own)
βββ /assets/
βββ /icons/ β Favicon files
βββ /docs/ β Your resume PDF goes here
βββ /imgs/ β Screenshot and other images
- Wait a few minutes. GitHub Pages can take 2-5 minutes to publish on first setup
- Check that your repository name is exactly
your-username.github.io - Go to your repository Settings β Pages to verify it's set to deploy from main branch
- Hard refresh your browser: Ctrl+F5 (Windows) or Cmd+Shift+R (Mac)
- GitHub Pages can take a minute or two to rebuild after you save changes
- Make sure both
index.htmlandstyle.cssare in the root directory - Check your browser's developer console for any error messages (F12)
- See GitHub Pages documentation on custom domains
This project is completely open-source under the MIT License. Feel free to use it, change it, and share it however you like.
- Keep it simple β Your portfolio should be about you, not flashy animations. Clear > clever.
- Use real project descriptions β "Built a tool that saved my team 2 hours/week" is better than vague marketing speak
- Link to your actual work β GitHub repos, live demos, papers, portfolios. Recruiters want to see what you've done.
- Update it regularly β Add new projects every few months to keep it fresh
- Test on mobile β Your portfolio should look good on phones too. Most modern browsers have a mobile view (F12 β toggle device toolbar)
- Ask for feedback β Share your new portfolio with friends and see if they understand what you do
This template is designed to be self-explanatory, but if you're stuck:
- Check the comments in
index.html(lots of π§ emojis!) - Read through the customization sections above
- Look at Matthew's portfolio (this site) as a working example of all the features
- Built with care for people who are new to web development
- Badge generation via Shields.io
- Favicon generation via RealFaviconGenerator
"One should as a rule respect public opinion in so far as is necessary to avoid starvation and to prevent one's work from being suppressed, but anything that goes beyond this is voluntary submission to an unnecessary tyranny." β Bertrand Russell


