A lightweight, maintenance-free website template for academics, researchers, and students.
No complex frameworks. No Hugo/Jekyll. Just one JSON file.
- You edit
data.json(add your bio, papers, news). - GitHub Actions detects the change.
- A Python script runs automatically, merging your data with the design template.
- Your website is published to GitHub Pages.
Click the "Use this template" button at the top right of this page to create your own copy of this repository.
- Go to your repository Settings.
- Click Pages on the left sidebar.
- Under Build and deployment > Source, select Deploy from a branch.
- Under Branch, select
gh-pagesand/ (root).- Note: If you don't see
gh-pagesyet, make a small edit to a file and commit it. The automated workflow will create the branch for you.
- Note: If you don't see
- Click Save.
- Open
data.jsonin your repository. - Edit the values to match your profile.
- Tip: You can use Markdown (bold
**text**, links[text](url)) inside the text fields!
- Tip: You can use Markdown (bold
- Commit your changes.
- Wait ~1 minute, and your site will be live!
data.json: The Source of Truth. This is the only file you need to edit regularly.template.html: The HTML design. Edit this if you want to change the layout or colors.build.py: The Python script that generates the website..github/workflows/deploy.yml: The automation configuration.assets/images/: Place your profile picture and project images here.
The data file is structured into simple sections. If you don't want a section (e.g., you don't have "News" yet), simply delete that block from the JSON, and it will disappear from the website.
{
"basics": {
"name": "Your Name",
"image": "images/profile.jpg",
"bio": "I am a **Researcher**..." // Markdown is supported here!
},
"projects": [ ... ],
"publications": [ ... ]
}- Upload your image to the
images/folder on GitHub. - In
data.json, reference it like this:"image": "images/my-photo.jpg"
If you prefer to preview changes on your own computer before pushing to GitHub:
- Clone the repository:
git clone [https://github.com/yourusername/your-repo.git](https://github.com/yourusername/your-repo.git)
- Install Python requirements:
pip install jinja2 markdown
- Build the site:
python build.py
- Open
index.htmlin your browser to see the result.
- Colors & Fonts: Open
template.htmland look for the<style>block at the top. You can change--primary-colorand--accent-color. - Layout: The template uses Bootstrap 5. You can use standard Bootstrap classes to modify the grid or spacing.
This project is open source and available under the MIT License. Feel free to use it for your personal academic website!