Skip to content

Meta: Automated content generation from spreadsheets #4

@jeremymanning

Description

@jeremymanning

Overview

This issue tracks the overall progress of automating site content generation from Excel spreadsheets. The goal is to make it easy for lab members to update publications, people, and software pages without editing HTML directly.

Related Issues

Architecture

data/
  publications.xlsx
  people.xlsx
  software.xlsx

scripts/
  build_publications.py
  build_people.py
  build_software.py
  build_all.py          # Master build script

templates/              # HTML templates (optional, for Jinja2)
  publications.html.j2
  people.html.j2
  software.html.j2

Local Testing Plan

Before pushing any changes to the live site, the following tests must pass:

1. Build Verification

  • All build scripts run without errors
  • Generated HTML is valid (no unclosed tags, proper nesting)
  • No Python/build errors or warnings

2. Visual Comparison Testing

# Start local server
python3 -m http.server 8000

# Open in browser and verify each page:
# - http://localhost:8000/publications.html
# - http://localhost:8000/people.html
# - http://localhost:8000/software.html
  • Publications page: All publications render correctly

    • Thumbnails display properly
    • Links work (PDF, DOI, Code/Data)
    • Correct grouping by publication type
    • Proper sorting (newest first)
    • Mobile layout works
  • People page: All members render correctly

    • Photos display properly
    • Active members appear in main grid
    • Alumni appear in alumni section
    • Lab director has correct special layout
    • Mobile layout works (stacked on small screens)
  • Software page: All projects render correctly

    • Icons/logos display properly
    • Links work (GitHub, docs, PyPI)
    • Correct grouping by language/type
    • Mobile layout works

3. Data Integrity Tests

  • Verify row count in spreadsheet matches items on page
  • Spot-check 3-5 random entries for accuracy
  • Verify all required fields are populated
  • Check for duplicate entries

4. Edge Case Testing

  • Empty optional fields handled gracefully
  • Special characters in text (quotes, ampersands) escaped properly
  • Very long text truncates or wraps appropriately
  • Missing images show placeholder or graceful fallback

5. Cross-Browser Testing

  • Chrome (latest)
  • Firefox (latest)
  • Safari (latest)
  • Mobile Safari / Chrome

6. Diff Review

# Before committing, review changes
git diff publications.html
git diff people.html
git diff software.html
  • Review HTML diff to ensure only expected changes
  • No unintended formatting changes
  • No removal of important content

Deployment Checklist

  1. All local tests pass
  2. Changes committed to feature branch
  3. Pull request created for review
  4. Visual review of PR preview (if available)
  5. Merge to main
  6. Verify live site at https://context-lab.com

Future Enhancements

  • GitHub Actions workflow to auto-build on spreadsheet changes
  • Validation script to check spreadsheet data before build
  • Preview environment for testing before merge

Labels

epic, automation, tracking

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions