Write content using HTML and Markdown, publish via GitHub Pages
academicpages — HTML Portfolio Template
By andresca94
Academic Pages is a GitHub Pages template based on HTML and Markdown for building personal academic and professional portfolio websites.
Explore the design
Compare the page layouts and mobile experience. Open any screenshot for a closer look.
Actual screenshot captured by the server browser.
All pages & views 3
Screenshots show visual appearance; interactive behavior may differ.
What stands out
A quick read of the recorded project description.
Once the repository is named [username].github.io, it becomes the site address
The files/ directory stores publicly accessible attachments such as PDFs and zips
markdown_generator provides scripts to generate Markdown for publications and talks from TSV
Supports both local Jekyll preview and Docker container operation
Template Details
Academic Pages is a website template hosted on GitHub, aimed at personal academic and professional portfolio scenarios. It uses HTML and Markdown to organize content and publishes via GitHub Pages; once the repository is named "[your GitHub username].github.io", it serves as the site address.
The template provides site-level configuration and content files, where entries such as publications and talks can be placed; the `files/` directory is used to store attachments like PDFs and zips, which can be accessed via the corresponding path after upload. The `markdown_generator` folder in the repository provides Jupyter notebooks or Python scripts to generate Markdown files for publications and talks from TSV files.
Local preview requires Ruby, Bundler, and Node.js. After installing dependencies with `bundle install`, run `jekyll serve -l -H localhost` to view and automatically rebuild pages at localhost:4000; the repository also provides a Dockerfile, allowing the site to run in a container via `docker compose up`.
The template originates from a project forked and separated by Stuart Geiger from the Minimal Mistakes Jekyll theme, and is currently maintained by Robert Zupko. The author notes: if you customize the template and then sync upstream updates, merge conflicts may occur; you can choose to delete the repository and re-fork, or manually apply patches.
Is it right for your project?
Use Cases
- Build a personal academic homepage to showcase publications, talks, and a personal bio
- Create a portfolio-style personal website for researchers or practitioners
- Batch maintain publication and talk entries using Markdown and TSV
- Preview site changes locally or in a container before pushing to GitHub
Suitable For
- Users who need a personal academic or portfolio site on GitHub Pages
- People familiar with Markdown and willing to configure site YAML files
- Developers who want to preview pages locally with Jekyll or Docker
Getting started & customization
Use these recorded setup notes alongside the repository instructions for your chosen version.
- 1
Click Use this template on GitHub to create a repository, naming it [your GitHub username].github.io
- 2
Set up site-level configuration and add content; place attachments in the files/ directory
- 3
Local preview requires installing ruby-dev, bundler, and nodejs; run bundle install then jekyll serve -l -H localhost
- 4
You can also use the provided Dockerfile, start it with docker compose up, and access it at localhost:4000
- 5
After customizing the template, syncing upstream updates may cause merge conflicts, requiring manual resolution or re-forking
License & source material
Usage conditions & limitations
Free to use · keep license noticeThis entry covers the free version under the MIT license in the public repository; the free scope is the code of this version and does not imply that external services or third-party assets are free.
Must comply with when using
- Free use, modification, commercial use, and distribution of this version's code are permitted.
- When distributing copies or substantial portions of the code, retain the original author's copyright notice and the full MIT license notice.
- The code is provided as is; warranties and limitations of liability are governed by the original license and applicable law.
Additional costs & items to verify
- Using this template requires registering a GitHub account and confirming an email; the site is published via GitHub Pages, so it depends on GitHub platform services.
- Local preview requires installing development environment dependencies such as Ruby, Bundler, and Node.js; it is not ready to use out of the box.
- Running via Docker requires Docker to be installed locally, which is an additional external tool requirement.
- Demo images, fonts, icons, and other third-party assets must be checked against their respective licenses and cannot be judged solely by the code's MIT license.
- External services such as domains, hosting, databases, payments, or AI may incur additional charges.
View Original Text Basis
Permission is hereby granted, free of charge
Original License Text
Register a GitHub account if you don't have one and confirm your e-mail (required!)
Original README
Make sure you have ruby-dev, bundler, and nodejs installed
Original README
https://github.com/andresca94/academicpages/blob/master/LICENSEhttps://github.com/andresca94/academicpages/blob/master/README.mdYou can use the provided `Dockerfile` to build a container that will run the site for you if you have [Docker](https://www.docker.com/) installed.
Original README
Compiled by DeepSeek based on repository license and README ·2026-09-30. Results only cover the materials read; dependencies, images, fonts, and subsequent term changes are subject to their respective original texts.
Project checks & description sources
Template Information
- Source platforms
- GitHub
- Documentation and maintenance reference score
- More documented · 80 / 100
- Technologies
- HTML
- Website type
- Portfolio
How this score is calculated
Our heuristic uses license records (up to 30), a demo link (12), a preview (10), stars (15), recorded maintenance (15), description completeness (8), feature records (5) and classification data (5). It is not a code, security or performance test, or a Google score. A link does not establish tested functionality.
What to verify for this project
- Repository update recorded
- 2026-09-29
- Screenshot last checked
- 2026-09-30
A demo link is listed. Check it with your own content and viewport sizes; its presence does not confirm that forms, authentication or payments work.
The catalog identifies HTML as the primary stack. Check the actual dependency manifest and lockfile for versions and hosting requirements. These notes use recorded metadata, not a code audit or a deployment test.
Use a selection guide →How this description was prepared
AI-assisted description based on catalog records and repository material. Repository authors are not automatically the reviewers of this description.
Automatically checked against source and license rules; no manual editorial review.
Inspect the recorded source material
SHA-256: 4d9e286daec06dfbb4a5ebbf3cfeb53b500c82643289cbeb78522e687ef6f6b6
2026-09-30T10:53:24.504Z
Source file / repository# Academic Pages
**Academic Pages is a GitHub Pages template for personal and professional portfolio-oriented websites.**

# Getting Started
1. Register a GitHub account if you don't have one and confirm your e-mail (required!)
1. Click the "Use this template" button in the top right.
1. On the "New repository" page, enter your repository name as "[your GitHub username].github.io", which will also be your website's URL.
1. Set site-wide configuration and add your content.
1. Upload any files (like PDFs, .zip files, etc.) to the `files/` directory. They will appear at https://[your GitHub username].github.io/files/example.pdf.
1. Check status by going to the repository settings, in the "GitHub pages" section
1. (Optional) Use the Jupyter notebooks or python scripts in the `markdown_generator` folder to generate markdown files for publications and talks from a TSV file.
See more info at https://academicpages.github.io/
## Running locally
When you are initially working on your website, it is very useful to be able to preview the changes locally before pushing them to GitHub. To work locally you will need to:
1. Clone the repository and made updates as detailed above.
1. Make sure you have ruby-dev, bundler, and nodejs installed
On most Linux distribution and [Windows Subsystem Linux](https://learn.microsoft.com/en-us/windows/wsl/about) the command is:
```bash
sudo apt install ruby-dev ruby-bundler nodejs
```
If you see error `Unable to locate package ruby-bundler`, `Unable to locate package nodejs `, run the following:
```bash
sudo apt update && sudo apt upgrade -y
```
then try run `sudo apt install ruby-dev ruby-bundler nodejs` again.
On MacOS the commands are:
```bash
brew install ruby
brew install node
gem install bundler
```
1. Run `bundle install` to install ruby dependencies. If you get errors, delete Gemfile.lock and try again.
If you see file permission error like `Fetching bundler-2.6.3.gem ERROR: While executing gem (Gem::FilePermissionError) You don't have write permissions for the /var/lib/gems/3.2.0 directory.` or `Bundler::PermissionError: There was an error while trying to write to /usr/local/bin.`
Install Gems Locally (Recommended):
```bash
bundle config set --local path 'vendor/bundle'
```
then try run `bundle install` again. If succeeded, you should see a folder called `vendor` and open `.gitignore` then add `vendor` inside it.
1. Run `jekyll serve -l -H localhost` to generate the HTML and serve it from `localhost:4000` the local server will automatically rebuild and refresh the pages on change.
You may also try `bundle exec jekyll serve -l -H localhost` to ensure jekyll to use specific dependencies on your own local machine.
If you are running on Linux it may be necessary to install some additional dependencies prior to being able to run locally: `sudo apt install build-essential gcc make`
## Using Docker
Working from a different OS, or just want to avoid installing dependencies? You can use the provided `Dockerfile` to build a container that will run the site for you if you have [Docker](https://www.docker.com/) installed.
You can build and execute the container by running the following command in the repository:
```bash
docker compose up
```
You should now be able to access the website from `localhost:4000`.
# Maintenance
Bug reports and feature requests to the template should be [submitted via GitHub](https://github.com/academicpages/academicpages.github.io/issues/new/choose). For questions concerning how to style the template, please feel free to start a [new discussion on GitHub](https://github.com/academicpages/academicpages.github.io/discussions).
This repository was forked (then detached) by [Stuart Geiger](https://github.com/staeiou) from the [Minimal Mistakes Jekyll Theme](https://mmistakes.github.io/minimal-mistakes/), which is © 2016 Michael Rose and released under the MIT License (see LICENSE.md). It is currently being maintained by [Robert Zupko](https://github.com/rjzupkoii) and additional maintainers would be welcomed.
## Bugfixes and enhancements
If you have bugfixes and enhancements that you would like to submit as a pull request, you will need to [fork](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/fork-a-repo) this repository as opposed to using it as a template. This will also allow you to [synchronize your copy](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/syncing-a-fork) of template to your fork as well.
Unfortunately, one logistical issue with a template theme like Academic Pages that makes it a little tricky to get bug fixes and updates to the core theme. If you use this template and customize it, you will probably get merge conflicts if you attempt to synchronize. If you want to save your various .yml configuration files and markdown files, you can delete the repository and fork it again. Or you can manually patch.
---
<div align="center">

[](https://github.com/academicpages/academicpages.github.io/graphs/contributors)
[](https://github.com/academicpages/academicpages.github.io/releases/latest)
[](https://github.com/academicpages/academicpages.github.io/blob/master/LICENSE)
[](https://github.com/academicpages/academicpages.github.io)
[](https://github.com/academicpages/academicpages.github.io/fork)
</div>
Explore similar templates
Compare previews and descriptions within the same stack and category.

simplefolio
Simplefolio is a minimal single-page portfolio template for developers, built with HTML, Bootstrap, SCSS, and Parcel under the MIT license. It includes Hero, About, Projects, Contact, and Footer sections, with content edited in /src/index.html and theme colors controlled by two SCSS variables.
HTML · Portfolio

Freelancer
A bright, single-page Bootstrap portfolio template for freelancers, designers, and small studios. It includes a responsive portfolio grid with modal detail windows and an SB Forms contact form that requires an API token.
HTML · Portfolio

Resume
A single-page resume and CV template from Start Bootstrap, built on Bootstrap with a fixed sidebar and content sections.
HTML · Portfolio

Creative
A single-page marketing template by Start Bootstrap for creative agencies and product services, built on Bootstrap with SCSS, featuring a portfolio grid and call-to-action sections. It includes pre-set SB Forms markers for form integration and npm build scripts for source customization.
HTML · Corporate Website

Grayscale
A dark single-page Bootstrap template from Start Bootstrap for photography, events and brand storytelling, with a large hero and clearly separated sections.
HTML · Corporate Website

startbootstrap-stylish-portfolio
A one-page Bootstrap portfolio theme from Start Bootstrap with multiple content sections and an off-canvas navigation menu. Basic use means editing HTML/CSS under dist and opening index.html; advanced use relies on npm with Pug and SCSS build scripts.
HTML · Portfolio
