Skip to content

uclchem/uclchem.github.io

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

8 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

UCLCHEM Documentation Website

Build and Deploy

This repository contains the source code for the UCLCHEM documentation website, built with Sphinx and the PyData Sphinx Theme.

🌐 Live Site

The documentation is published at: https://uclchem.github.io

πŸš€ Automated Deployment

This site is automatically built and deployed using GitHub Actions:

  • Trigger: Push to main branch, weekly schedule (Sundays), or manual dispatch
  • Process:
    1. Syncs notebooks from uclchem/UCLCHEM repository
    2. Installs UCLCHEM package from GitHub
    3. Builds Sphinx documentation with AutoAPI
    4. Deploys to GitHub Pages
  • Build time: ~10-15 minutes (first build), ~5-7 minutes (cached)

Setup Instructions

See .github/SETUP.md for detailed GitHub Actions configuration.

Quick check:

.github/check-setup.sh

πŸ“‹ Prerequisites

  • Python 3.10+
  • Conda (recommended for environment management)
  • A working installation of UCLCHEM (the package being documented)

πŸš€ Quick Start

1. Clone this repository

git clone https://github.com/uclchem/uclchem.github.io.git
cd uclchem.github.io

2. Install dependencies

# Create and activate a conda environment (recommended)
conda create -n uclchem-docs python=3.13
conda activate uclchem-docs

# Install Sphinx and theme dependencies
pip install -r requirements.txt

# Install UCLCHEM (the package being documented)
pip install uclchem

3. Build the documentation

make html

The built documentation will be in _build/html/.

4. Preview locally

cd _build/html
python -m http.server 8000

Then open http://localhost:8000 in your browser.

πŸ“ Repository Structure

.
β”œβ”€β”€ .github/
β”‚   β”œβ”€β”€ workflows/
β”‚   β”‚   └── deploy-docs.yml  # Automated deployment workflow
β”‚   β”œβ”€β”€ SETUP.md             # GitHub Actions setup guide
β”‚   β”œβ”€β”€ MIGRATION.md         # Migration from old deployment method
β”‚   └── check-setup.sh       # Setup verification script
β”œβ”€β”€ _static/                 # Custom CSS and assets
β”‚   └── custom.css           # Leiden Blue branding
β”œβ”€β”€ blog/                    # Blog posts (ABlog format)
β”œβ”€β”€ getting-started/         # Installation and quickstart guides
β”œβ”€β”€ tutorials/               # Step-by-step tutorials
β”œβ”€β”€ notebooks/               # Jupyter notebook examples (synced from main repo)
β”œβ”€β”€ user-guide/              # Comprehensive user documentation
β”œβ”€β”€ user_docs/               # Detailed documentation files
β”œβ”€β”€ papers/                  # Publication list and citations
β”œβ”€β”€ projects/                # Related projects and ecosystem
β”œβ”€β”€ contributing/            # Contribution guidelines
β”œβ”€β”€ examples/                # Code examples
β”œβ”€β”€ conf.py                  # Sphinx configuration
β”œβ”€β”€ index.md                 # Homepage
└── requirements.txt         # Python dependencies

πŸ”§ Development

Local Build

# Install dependencies
pip install -r requirements.txt
pip install git+https://github.com/uclchem/UCLCHEM.git

# Sync notebooks (optional - workflow does this automatically)
cp ../uclchem/notebooks/[0-9]*.ipynb notebooks/

# Build
make html

# Preview
cd _build/html && python -m http.server 8000

Clean build

make clean html

πŸ€– GitHub Actions Workflow

The deployment workflow (.github/workflows/deploy-docs.yml) performs:

  1. Notebook Sync: Copies latest numbered notebooks from uclchem/UCLCHEM
  2. Package Install: Installs UCLCHEM from GitHub main branch
  3. Documentation Build: Runs Sphinx with AutoAPI and notebook execution
  4. Deployment: Uploads to GitHub Pages using native Actions

Monitoring:

  • View builds: Actions tab
  • Check setup: Run .github/check-setup.sh
  • Manual trigger: Actions β†’ Build and Deploy Documentation β†’ Run workflow

πŸ“ Contributing

We welcome contributions! See the Contributing section for guidelines.

Making Changes

  1. Edit documentation files (.md files in various directories)
  2. Test locally: make html
  3. Commit and push to main branch
  4. GitHub Actions will automatically rebuild and deploy

πŸ“š Documentation

πŸ” Troubleshooting

Build fails?

  • Check Actions tab for error logs
  • Run .github/check-setup.sh to verify configuration
  • Test locally with make html

Old content showing?

  • Clear browser cache (Ctrl+Shift+R / Cmd+Shift+R)
  • Wait 5-10 minutes for CDN propagation
  • Check deployment succeeded in Actions tab

Notebooks not updating?

  • Workflow syncs notebooks weekly (Sundays)
  • Manually trigger: Actions β†’ Run workflow
  • Check notebook path in uclchem/UCLCHEM matches workflow

Development Notes

  • Cache behavior: By default, notebook execution results are cached in _build/.jupyter_cache/ to speed up local builds. To force fresh execution (matching CI behavior), run rm -rf _build/.jupyter_cache before make html.
  • UCLCHEM updates: If the UCLCHEM package is updated, reinstall it locally: pip install --upgrade --force-reinstall git+https://github.com/uclchem/UCLCHEM.git
  • Notebooks: Tutorial notebooks are copied from the main repository. To test with latest notebooks, copy them manually from the UCLCHEM repo or let CI handle the sync.

Contributing

Documentation improvements are welcome! To contribute:

  1. Fork this repository
  2. Make your changes to markdown files, notebooks, or configuration
  3. Test locally using the instructions above
  4. Submit a pull request with a clear description of your changes

For code changes to UCLCHEM itself, please contribute to the main UCLCHEM repository.

Technology Stack

Repository Structure

uclchem.github.io/
β”œβ”€β”€ .github/workflows/     # GitHub Actions CI/CD
β”‚   └── deploy-docs.yml    # Build and deployment workflow
β”œβ”€β”€ _static/               # Static assets (CSS, images, logo)
β”‚   β”œβ”€β”€ custom.css
β”‚   └── logo.png
β”œβ”€β”€ notebooks/             # Tutorial notebooks (synced from main repo)
β”‚   β”œβ”€β”€ *.ipynb
β”‚   └── assets/
β”œβ”€β”€ getting-started/       # Getting started guide
β”œβ”€β”€ tutorials/             # Tutorial organization pages
β”œβ”€β”€ user-guide/            # User guide pages
β”œβ”€β”€ api/                   # Auto-generated API reference
β”œβ”€β”€ papers.md              # Publications
β”œβ”€β”€ projects.md            # Related projects
β”œβ”€β”€ blog/                  # Blog/news
β”œβ”€β”€ contributing.md        # Contribution guide
β”œβ”€β”€ index.md               # Homepage
β”œβ”€β”€ conf.py                # Sphinx configuration
β”œβ”€β”€ requirements.txt       # Python dependencies
β”œβ”€β”€ Makefile               # Build commands
└── README.md              # This file

Support

  • Documentation issues: Open an issue in this repository
  • UCLCHEM bugs/features: Open an issue in the main UCLCHEM repository
  • Questions: Check the documentation first, then open a discussion

License

The documentation follows the same license as UCLCHEM. See the main repository for details.


Live site: https://uclchem.github.io/
Main repository: https://github.com/uclchem/UCLCHEM

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 6