A modern, professional academic website for the OncoHarmony Network, built with HTML, Tailwind CSS, and Font Awesome. Features a dynamic data loading system using YAML files for easy content management and automatic deployment to GitHub Pages.
- Modern Design: Clean, professional layout with a purple gradient theme
- Responsive: Optimized for desktop, tablet, and mobile devices
- Dynamic Content: YAML-based data loading for easy content management
- GitHub Pages Ready: Can be directly deployed to GitHub Pages
- Automation Friendly: Supports automatic updates via GitHub workflows
- Robust Data Loading: Smart path detection for both local and GitHub Pages environments
- Home - Introduction to the OncoHarmony Network
- About - Our vision, mission, and collaborative network
- Members - Core leadership, researchers, and collaborators
- Publications - Research articles and publications
- Projects - Current research initiatives and tools
- News - Latest updates and highlights
- Contact - Collaboration opportunities and contact information
- A GitHub account
- Basic knowledge of YAML for content updates
- Python 3 (for local testing)
-
Clone the Repository
git clone https://github.com/OncoHarmony-Network/OncoHarmony-website.git cd OncoHarmony-website -
Start a Local Server
python3 -m http.server 8000
-
Open in Browser
- Navigate to
http://localhost:8000in your web browser - The website will load with data from the YAML files
- Navigate to
-
Create a GitHub Repository
- Create a new repository named
OncoHarmony-Network.github.io - Or use an existing repository and enable GitHub Pages in the settings
- Create a new repository named
-
Push Files to GitHub
git init git add . git commit -m "Initial commit" git remote add origin https://github.com/OncoHarmony-Network/OncoHarmony-Network.github.io.git git push -u origin main
-
Enable GitHub Pages
- Go to Repository Settings > Pages
- Select the main branch as the source
- Click "Save"
- Your website will be available at
https://oncoharmony-network.github.io/
All content is stored in YAML files in the data/ directory. To update the website, edit these files:
- General Information: Edit
data/general.yml(home and about page content) - Team Members: Edit
data/members.yml - Publications: Edit
data/publications.yml - Projects: Edit
data/projects.yml - News: Edit
data/news.yml
The primary color theme is purple gradient. To change it, edit the hero-gradient class in each HTML file:
.hero-gradient {
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}The website uses the Inter font from Google Fonts. To change it, update the font import in each HTML file:
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');Icons are from Font Awesome. You can browse available icons at fontawesome.com.
OncoHarmony-website/
├── index.html # Home page
├── about.html # About us page
├── members.html # Team members page
├── publications.html # Publications page
├── projects.html # Projects page
├── news.html # News page
├── contact.html # Contact page
├── js/
│ └── data-loader.js # Dynamic data loading script
├── data/
│ ├── general.yml # General website content
│ ├── members.yml # Team member information
│ ├── publications.yml # Research publications
│ ├── projects.yml # Research projects
│ └── news.yml # Latest news and updates
└── README.md # This file
- HTML5: Semantic markup
- Tailwind CSS: Utility-first CSS framework (via CDN)
- Font Awesome: Icon library (via CDN)
- js-yaml: YAML parsing library (via CDN)
- Google Fonts: Inter font family
- Python: For local development server
The website uses a robust data loading system (js/data-loader.js) that:
- Detects Environment: Automatically identifies if running on GitHub Pages or local development
- Smart Path Resolution: Tries multiple paths to ensure files are loaded correctly
- Error Handling: Gracefully handles missing files with fallback content
- Async Loading: Efficiently loads all YAML files in parallel
- Callback Support: Allows pages to react when data is loaded
- Regular Updates: Keep publications, projects, news, and team members current in the YAML files
- Backup: Maintain backups of important content
- Local Testing: Always test changes locally before pushing to GitHub
- Monitoring: Check GitHub Pages deployment status for errors
You can set up GitHub Actions to automatically deploy updates when you push changes to the repository. Create a .github/workflows/deploy.yml file with the following content:
name: Deploy to GitHub Pages
on:
push:
branches: [ main ]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Deploy to GitHub Pages
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: .This project is licensed under the MIT License - see the LICENSE file for details.
- Design inspired by modern academic websites
- Built with open-source technologies
- Optimized for GitHub Pages deployment
- Uses js-yaml for robust YAML parsing
For questions or support, please contact the OncoHarmony Network team.