GitPedia

Academic project template

An academic project page template powered by React + UIKit, w/ markdown and KaTeX support

From denkiwakameยทUpdated June 2, 2026ยทView on GitHubยท

- ๐Ÿš€ Built with [React](https://react.dev/) + [UIKit](https://getuikit.com/) - ๐Ÿ“ Just one file! Write all metadata & content in [template.yaml](template.yaml) - ๐Ÿ“ Markdown support with full styling capabilities - โž— Mathematical equations with KaTeX - ๐ŸŽจ Customizable themes - ๐Ÿ”„ Auto-deployment with GitHub Actions - ๐Ÿ“ฑ Fully responsive design The project is written primarily in JavaScript, first published in 2024. Key topics include: academic-template, academic-website.

Latest release: v1.0.0
January 30, 2025View Changelog โ†’

๐ŸŽจ Academic Project Page Template

build lint
license

โœจ Features

  • ๐Ÿš€ Built with React + UIKit
  • ๐Ÿ“ Just one file! Write all metadata & content in template.yaml
  • ๐Ÿ“ Markdown support with full styling capabilities
  • โž— Mathematical equations with KaTeX
  • ๐ŸŽจ Customizable themes
  • ๐Ÿ”„ Auto-deployment with GitHub Actions
  • ๐Ÿ“ฑ Fully responsive design

๐ŸŒ Demo: default-theme | classic-theme

โš™๏ธ Configuration

Simply define everything in a single template.yaml fileโ€”metadata, Markdown, HTML, and even KaTeX equations. No extra setup required!

yaml
theme: default # default || dark organization: 'Your Lab' title: 'Project Title' resources: paper: https://example.com/paper code: https://github.com/your/repo # ... other configurations

With just this file, your project page is ready to go! ๐Ÿš€

๐Ÿšฆ Prerequisites

System Requirements

Supported platforms:

  • ๐ŸชŸ Windows (WSL)
  • ๐Ÿง Linux
  • ๐ŸŽ macOS

๐Ÿ“ฆ Node.js Setup

Recommended: Install Node.js using Volta

bash
# Install Volta curl https://get.volta.sh/ | bash # After restarting your shell... volta install node@22.13.1 volta pin node@22.13.1 # Verify installation node --version # v22.13.1 npm --version # 10.9.2

๐Ÿ› ๏ธ Development Guide

๐Ÿ“ฅ Installation

sh
npm install

๐Ÿ’ป Development Server

sh
npm run dev

๐Ÿ—๏ธ Build

sh
npm run clean npm run build npm run preview

๐Ÿค– Puppeteer Dependencies (for react-snap pre-rendering)

Required packages for Headless Chrome (pre-rendering):

bash
sudo apt install -y libgtk2.0-0 libgtk-3-0 libnotify-dev libgconf-2-4 libnss3 libxss1 libasound2 libxtst6 xauth xvfb libgbm-dev fonts-ipafont

๐ŸŽจ Customization

๐Ÿ“ Project Structure

template.yaml         # Configuration file
index.html            # Root HTML
src/
โ”œโ”€โ”€ components/       # React components
โ”œโ”€โ”€ js/
โ”‚   โ””โ”€โ”€ styles.js     # Style settings
โ”œโ”€โ”€ pages/
โ”‚   โ””โ”€โ”€ index.jsx     # Main template
โ””โ”€โ”€ scss/             # Theme settings
    โ””โ”€โ”€ theme.scss
public/
โ””โ”€โ”€ 001.png           # Media files

๐Ÿš€ Release Your Project Page

Automatic Deployment with GitHub Actions

  1. Go to your repository's Settings > Pages
  2. Under Build and Deployment > Source, select GitHub Actions
  3. Configure your remote repository:
bash
git remote add origin your-repo-url git push origin project-page

[!NOTE]
The implementation of the paper is published in the main branch, and the code for the project page is expected to be pushed to a separate branch.
If you want to change the branch settings, please modify .github/workflows/deploy.yaml.

๐Ÿšจ TroubleShooting

<details> <summary>Branch "project-page" is not allowed to deploy to github-pages due to environment protection rules</summary> Navigate to Settings > Environments > github-pages > ๐Ÿ—‘๏ธ or set rules properly (add `project-page` to deployable branch). https://docs.github.com/ja/actions/managing-workflow-runs-and-deployments/managing-deployments/managing-environments-for-deployment#deployment-protection-rules

image

</details>

๐Ÿ“š For more details:

๐Ÿถ Husky & Typo Checking

Automatic Typo Checking

This project uses Husky to automatically check for typos during commits. The check is performed using the typos tool and only runs on staged files (files that have been git added).
If you want to ignore specific typos as a dictionary, please add the original and corrected versions to _typos.toml. (doc)

bash
[default.extend-words] # Don't correct the surname "Teh" teh = "teh"

Manual Typo Checking

To manually check for typos without committing:

bash
npx typos

This command checks all files in the project, regardless of whether they are staged for commit or not.

Disabling Git Hooks

To temporarily disable all git hooks (including lint, format, and typo validation) during commit:

bash
export HUSKY=0

You can re-enable hooks by unsetting the variable or starting a new terminal session.

๐Ÿ“„ License

CC-BY-SA 4.0

Contributors

Showing top 1 contributor by commit count.

View all contributors on GitHub โ†’

This article is auto-generated from denkiwakame/academic-project-template via the GitHub API.Last fetched: 6/20/2026