research-page-generator
Toolkit for generating professional GitHub Pages sites for research projects
Information
| Property | Value |
|---|---|
| Language | SCSS |
| Stars | 0 |
| Forks | 0 |
| Watchers | 0 |
| Open Issues | 0 |
| License | No License |
| Created | 2025-12-04 |
| Last Updated | 2025-12-17 |
| Last Push | 2025-12-17 |
| Contributors | 1 |
| Default Branch | main |
| Visibility | private |
Datasets
This repository includes 8 dataset(s):
| Dataset | Format | Size |
|---|---|---|
| funding.json | .json | 1.22 KB |
| news.json | .json | 1.65 KB |
| publications.json | .json | 5.13 KB |
| team.json | .json | 2.1 KB |
| funding.json | .json | 0.52 KB |
| news.json | .json | 0.5 KB |
| publications.json | .json | 0.61 KB |
| team.json | .json | 0.98 KB |
Reproducibility
No specific reproducibility files found.
Status
- Issues: Enabled
- Wiki: Disabled
- Pages: Disabled
README
Research Project Page Generator
A complete toolkit for generating professional GitHub Pages sites for research projects. Based on the Network-Based Credit Risk Models project.
Features
- Professional Design: Navy/gold color scheme with responsive layout
- Dark Mode: User-toggleable dark/light theme with localStorage persistence
- Mobile-First: Hamburger menu and responsive grid layouts
- Publications: Auto-fetched from OpenAlex.org with BibTeX export
- Search: Full-text search using Lunr.js
- Analytics: Publications chart (Chart.js) and co-authorship network (D3.js)
- SEO Ready: Schema.org structured data, meta tags, sitemap, RSS feed
- Sections: Home, Team, Research, Publications, Analytics, Resources, News, Events, Collaborations, Funding, Contact
Quick Start
Option 1: Use with Claude
- Copy
PROMPT.mdcontent - Start a new conversation with Claude
- Paste the prompt and provide your project details
- Claude will generate a complete site customized for your project
Option 2: Manual Setup
- Copy the
template/folder to your new repository - Replace all
{{PLACEHOLDER}}values in the files - Update
_data/*.jsonfiles with your content - Push to GitHub and enable Pages
File Structure
research-page-generator/
+-- PROMPT.md # Claude prompt for site generation
+-- README.md # This file
+-- template/
+-- _config.yml # Jekyll configuration
+-- index.md # Main page with all sections
+-- feed.xml # RSS feed (create if needed)
+-- _data/
| +-- team.json # Team member profiles
| +-- publications.json # Publication list
| +-- news.json # News/updates
| +-- funding.json # Funding sources
+-- assets/
| +-- css/
| | +-- style.scss # All styles with dark mode
| +-- js/
| | +-- main.js # Core functionality
| | +-- visualizations.js# Charts and graphs
| +-- images/
| +-- logos/ # Institution logos
+-- scripts/
+-- fetch_publications.py # OpenAlex publication fetcher
+-- verify_site.py # Site verification tool
Configuration Guide
1. Jekyll Config (_config.yml)
Update these key settings:
title: "Your Project Title"
description: "Your project description"
baseurl: "/your-repo-name"
url: "https://your-org.github.io"
author: "Principal Investigator Name"
2. Team Data (_data/team.json)
[
{
"name": "Prof. Dr. Name",
"role": "Principal Investigator",
"institution": "University Name",
"bio": "Research focus description",
"image": "images/photo.jpg",
"orcid": "0000-0000-0000-0000",
"google_scholar": "https://scholar.google.com/...",
"linkedin": "https://linkedin.com/in/...",
"website": "https://..."
}
]
3. Publications (_data/publications.json)
Auto-fetch using the Python script:
# 1. Edit scripts/fetch_publications.py
# 2. Update TEAM_MEMBERS and CONTACT_EMAIL
# 3. Run:
python scripts/fetch_publications.py
Or manually add entries:
[
{
"title": "Publication Title",
"authors": "Author1, A., Author2, B.",
"journal": "Journal Name",
"year": 2024,
"doi": "10.xxxx/xxxxx",
"citations": 10,
"open_access": true,
"abstract": "Optional abstract text"
}
]
4. News (_data/news.json)
5. Funding (_data/funding.json)
[
{
"title": "Grant Title",
"funder": "Funding Agency",
"amount": "100,000 CHF",
"grant_number": "12345",
"period": "2024-01 - 2027-12",
"institution": "Host Institution",
"team": "PI Name (PI); Researcher Names"
}
]
Customization
Colors
Edit CSS variables in assets/css/style.scss:
:root {
--primary-color: #1a365d; // Main brand color
--primary-dark: #0f2942; // Darker shade
--accent-color: #c9a227; // Highlight color
--accent-light: #f4e4bc; // Light accent
}
Publication Filters
Edit topic keywords in assets/js/main.js:
const topicKeywords = {
'topic1': ['keyword1', 'keyword2'],
'topic2': ['keyword3', 'keyword4'],
// Add your research topics
};
Network Graph
Edit nodes and links in assets/js/visualizations.js:
const nodes = [
{ id: 'PI', name: 'Principal Investigator', group: 1 },
{ id: 'R1', name: 'Researcher 1', group: 1 },
// Add team members
];
const links = [
{ source: 'PI', target: 'R1', value: 5 },
// Add collaboration connections
];
Contact Form
The template uses Formspree for contact forms:
- Create a free Formspree account
- Get your form endpoint
- Update the form action in
index.md:
Deployment
GitHub Pages
- Push your repository to GitHub
- Go to Settings > Pages
- Select "Deploy from a branch"
- Choose
mainbranch,/ (root)folder - Save and wait for deployment
Local Development
# Install Jekyll
gem install bundler jekyll
# Install dependencies
bundle install
# Serve locally
bundle exec jekyll serve
# Open http://localhost:4000/your-repo-name/
Python Scripts
fetch_publications.py
Fetches publications from OpenAlex.org:
# Install dependencies
pip install requests
# Configure team members in the script
# Run
python scripts/fetch_publications.py
verify_site.py
Comprehensive site verification:
# Install dependencies
pip install requests playwright
playwright install chromium
# Configure SITE_URL in the script
# Run
python scripts/verify_site.py
Placeholders Reference
Key placeholders to replace in index.md:
| Placeholder | Description |
|---|---|
{{PROJECT_TITLE}} |
Full project title |
{{PROJECT_DESCRIPTION}} |
SEO description |
{{GITHUB_ORG}} |
GitHub organization name |
{{REPO_NAME}} |
Repository name |
{{PI_NAME}} |
Principal investigator name |
{{PI_INSTITUTION}} |
PI's institution |
{{PROJECT_FUNDER}} |
Main funding agency |
{{GRANT_NUMBER}} |
Grant/project number |
{{GRANT_AMOUNT}} |
Total funding amount |
{{START_DATE}} |
Project start date |
{{END_DATE}} |
Project end date |
License
MIT License - Feel free to use for any research project.
Credits
Based on the SNSF-funded "Network-Based Credit Risk Models in P2P Lending Markets" project by Prof. Dr. Joerg Osterrieder at Bern University of Applied Sciences.