Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 28 additions & 0 deletions .github/workflows/quarto-pr-preview.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: Build Quarto PR preview

on:
pull_request:
branches: [main]

permissions:
contents: read

jobs:
render:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4

- uses: quarto-dev/quarto-actions/setup@v2

- name: Render website
run: quarto render

- name: Upload rendered website
uses: actions/upload-artifact@v4
with:
name: qmcsoftware-site-pr-${{ github.event.pull_request.number }}
path: _site
if-no-files-found: error
retention-days: 14
14 changes: 7 additions & 7 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,17 @@

## Repository purpose

This repository contains the public-facing QMCPy website. It is a Quarto
website intended for project introductions, community information, news and
events, and blog content.
This repository contains the public-facing QMCSoftware organization website.
It is a Quarto website intended for software introductions, publications,
community information, news and events, and blog content.

QMCPy's technical documentation remains in the `QMCSoftware` repository and
continues to be built with MkDocs. Link to that documentation; do not migrate,
duplicate, or replace it from this repository.
Each project's technical documentation remains with its software repository.
Link to that documentation; do not migrate, duplicate, or replace it from this
repository.

## Repository boundaries

- Write only within `qmcpy-website` unless the user explicitly changes the
- Write only within `qmcsoftware-website` unless the user explicitly changes the
scope.
- `QMCSoftware` may be inspected for authoritative project information,
existing documentation, and later blog-migration planning, but must not be
Expand Down
82 changes: 57 additions & 25 deletions PLAN.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,22 @@
# QMCPy Website Prototype Plan
# QMCSoftware Website Prototype Plan

## Purpose and architecture

This repository will provide the public-facing QMCPy website. Quarto source
lives on `main`, renders to `_site/`, and is published by GitHub Actions to the
`gh-pages` branch. The custom domain is `qmcpy.org`.
This repository will provide the single public-facing website for the
QMCSoftware organization. Quarto source lives on `main`, renders to `_site/`,
and is published by GitHub Actions to the `gh-pages` branch. The existing
custom domain, `qmcpy.org`, remains in place temporarily.

The existing technical documentation remains in `QMCSoftware`, continues to
use MkDocs, and is linked prominently from this site. The website adds a public
entry point; it does not replace the package documentation.
Technical documentation remains with each software repository and is linked
from this site. The website adds a shared public entry point; it does not
replace project documentation.

## Guiding principles

- Keep the prototype small, navigable, and easy to maintain.
- Reuse proven structural and deployment ideas without importing course or
slide architecture.
- Treat maintained QMCPy sources as authoritative and avoid speculative copy.
- Treat maintained project sources as authoritative and avoid speculative copy.
- Separate source from generated output and validate each phase before adding
complexity.
- Make later content migration explicit and reviewable.
Expand All @@ -26,7 +27,7 @@ entry point; it does not replace the package documentation.

- [x] Confirm the repository roles, source branch, output directory, publish
branch, custom domain, and scope exclusions.
- [x] Inspect the starting `qmcpy-website` files.
- [x] Inspect the starting QMCPy-only prototype files.
- [x] Inspect relevant Quarto and deployment patterns in `MATH565Fall2026`.
- [x] Confirm the maintained documentation and GitHub destinations from
`QMCSoftware`.
Expand All @@ -41,7 +42,7 @@ entry point; it does not replace the package documentation.
- [x] Avoid unnecessary runtime dependencies; no `requirements.txt` is needed
for the current non-executable content.

### Phase 2A — Establish the site skeleton
### Phase 2A — Establish the original site skeleton

- [x] Configure a Quarto website that renders to `_site/`.
- [x] Add Home, Blog, News & Events, Community, Documentation, and GitHub
Expand All @@ -58,10 +59,21 @@ entry point; it does not replace the package documentation.
responsive button treatment.
- [x] Keep the styling local and independent of classroom-specific styles.
- [ ] Review the prototype with collaborators and align it with any approved
QMCPy visual identity or assets.
QMCSoftware visual identity or assets.
- [ ] Complete browser-based responsive and accessibility review.

### Phase 3 — Develop the homepage
### Phase 3 — Convert to the QMCSoftware umbrella

- [x] Replace the QMCPy-specific homepage with an organization-wide homepage.
- [x] Add a Software section for QMCPy, QMCToolsCL, QuasiMC.jl, and LDData.
- [x] Add a Publications prototype without inventing a complete bibliography.
- [x] Update shared navigation, metadata, footer, and organization-wide copy.
- [x] Keep each project's detailed documentation in its maintained repository.
- [x] Retain `qmcpy.org` and the existing `CNAME` during the transition.
- [ ] Decide the long-term domain, custom-domain settings, and redirects.
- [ ] Approve an organization-level visual identity and navbar mark, if any.

### Phase 4 — Refine the homepage

- [x] Add a concise prototype introduction and primary documentation/GitHub
actions.
Expand All @@ -70,8 +82,14 @@ entry point; it does not replace the package documentation.
- [ ] Add approved imagery, examples, or impact highlights if they provide
clear value.

### Phase 4 — Migrate the blog
### Phase 5 — Migrate the blog

- [x] Migrate “Why Add Q to MC?” as the first self-contained Quarto post,
preserving its authorship, mathematical explanation, equations, figures, and
captions.
- [x] Revise “Why Add Q to MC?” as a living article with one last-revised date,
qualified convergence claims, and practical guidance.
- [x] Establish listing metadata and a discoverable Blog index.
- [ ] Inventory the existing 18 posts and their assets without modifying the
source repository.
- [ ] Define Quarto post metadata, URL preservation, authorship, categories,
Expand All @@ -80,14 +98,16 @@ entry point; it does not replace the package documentation.
- [ ] Verify dates, authors, links, code, mathematics, images, and legacy URLs.
- [ ] Publish the complete archive only after collaborator review.

### Phase 5 — Build news and events
### Phase 6 — Build news and events

- [x] Add the section entry page without invented announcements.
- [x] Add a sourced prototype news item and a discoverable News & Events
listing.
- [ ] Define lightweight metadata and archive conventions.
- [ ] Add only confirmed news, talks, workshops, releases, and events.
- [ ] Decide how past and upcoming events should be presented.

### Phase 6 — Develop community content
### Phase 7 — Develop community content

- [x] Link to maintained community and contribution resources.
- [ ] Agree on the intended audience and approved community narrative.
Expand All @@ -96,17 +116,29 @@ entry point; it does not replace the package documentation.
- [ ] Review names, roles, affiliations, and acknowledgements with
collaborators before publication.

### Phase 7 — Integrate documentation pathways
### Phase 8 — Integrate documentation pathways

- [x] Add prominent links to the existing MkDocs documentation.
- [x] State clearly that technical documentation remains a separate maintained
site.
- [ ] Review cross-links from both sites and identify any minimal reciprocal
navigation changes for a separately authorized `QMCSoftware` task.
- [x] Add links to maintained project documentation and repositories.
- [x] State clearly that technical documentation remains with each project.
- [ ] Review reciprocal links from the software repositories and documentation.
- [ ] Verify that users can distinguish public, learning, API-reference, and
contribution destinations.

### Phase 8 — Test the site
### Phase 8A — Develop publications

- [x] Add a selected local YAML publication catalog.
- [x] Render ordinary publication records directly from YAML on the
Publications page, without per-publication folders or QMD files.
- [x] Sort the curated website catalog by year descending and title ascending,
grouping ordinary publications under year headings.
- [x] Add a reviewed prototype publication with publisher, DOI, and arXiv
links as a hand-written featured introduction.
- [x] Document the one-record YAML contribution convention.
- [ ] Correct and enrich the corresponding AcademicLib record in a separately
authorized AcademicLib task.
- [ ] Agree on bibliography scope, review ownership, and migration priorities.

### Phase 9 — Test the site

- [x] Validate the Quarto configuration and a complete local render.
- [x] Inspect generated page structure, internal destinations, external
Expand All @@ -116,7 +148,7 @@ entry point; it does not replace the package documentation.
content.
- [ ] Test from a fresh clone with the documented Quarto setup.

### Phase 9 — Validate deployment
### Phase 10 — Validate deployment

- [x] Add GitHub Actions rendering from `main` to `_site/` and publishing to
`gh-pages`.
Expand All @@ -125,10 +157,10 @@ entry point; it does not replace the package documentation.
- [ ] Trigger the workflow on GitHub and verify the `gh-pages` branch contents.
- [ ] Verify HTTPS and `qmcpy.org` after deployment.

### Phase 10 — Collaborator review and prototype decision
### Phase 11 — Collaborator review and prototype decision

- [ ] Review information architecture, visual direction, and provisional copy
with QMCPy collaborators.
with QMCSoftware collaborators.
- [ ] Record requested changes and resolve launch-blocking issues.
- [ ] Agree on ownership and cadence for blog, news, and community updates.
- [ ] Approve the prototype before beginning the 18-post blog migration.
16 changes: 10 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,16 @@
# QMCPy website
# QMCSoftware website

This repository contains the public-facing website for
[QMCPy](https://qmcpy.org), built with [Quarto](https://quarto.org/).
[QMCSoftware](https://github.com/QMCSoftware), built with
[Quarto](https://quarto.org/). It is an umbrella site for the organization's
software, publications, blog, news and events, and community information.

Technical package documentation remains in the
[QMCSoftware repository](https://github.com/QMCSoftware/QMCSoftware) and is
published separately with MkDocs at
[qmcsoftware.github.io/QMCSoftware](https://qmcsoftware.github.io/QMCSoftware/).
Technical documentation remains with each software repository. The website
links to maintained project documentation instead of duplicating it.

The existing `https://qmcpy.org` site URL and `CNAME` remain in place
temporarily while the organization decides its long-term domain and redirect
strategy.

## Local preview

Expand Down
49 changes: 34 additions & 15 deletions STATUS.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,33 @@
# QMCPy Website Status
# QMCSoftware Website Status

## Complete

- [x] Confirmed Quarto-on-`main`, `_site/`, `gh-pages`, and `qmcpy.org`
architecture.
- [x] Replaced the standalone HTML landing page with one Quarto source site.
- [x] Added Home, About, Blog, News & Events, and Community source pages.
- [x] Added the requested navigation and authoritative external links.
- [x] Converted the QMCPy-only prototype into an umbrella QMCSoftware site.
- [x] Added Software pages for QMCPy, QMCToolsCL, QuasiMC.jl, and LDData.
- [x] Added a Publications prototype and organization-wide navigation.
- [x] Migrated and revised “Why Add Q to MC?” as a living article, preserving
its mathematical explanation, figures, captions, and authorship while adding
qualified convergence and practical-use guidance.
- [x] Added a sourced 2026 SIAM Fellow news item.
- [x] Added a hand-written featured publication and a one-record YAML catalog
convention for ordinary publications.
- [x] Documented the separation between the broad AcademicLib registry,
website-curated publication records, and blog-local citations; catalog
display order no longer depends on YAML record order.
- [x] Added working Blog, News & Events, and Publications listings.
- [x] Preserved Home, About, Blog, News & Events, and Community pages.
- [x] Added authoritative project documentation and repository links.
- [x] Added a restrained responsive visual foundation.
- [x] Integrated the existing QMCPy logo in the navbar and homepage hero with
responsive sizing and accessible alternative text.
- [x] Retained the QMCPy logo asset for possible project-specific use while
removing it from organization-level branding.
- [x] Added GitHub Actions rendering and `gh-pages` publication with explicit
`CNAME` preservation.
- [x] Added repository guidance, roadmap, ignore rules, and local instructions.
- [x] Rendered locally and inspected the generated site structure and links.
- [x] Rendered the complete 13-page site and verified local link targets and
rendered `CNAME` preservation.

## Underway

Expand All @@ -24,16 +38,21 @@

## Next recommended task

- [ ] Review the rendered prototype with QMCPy collaborators and approve the
visual direction and public copy before adding content or migrating posts.
- [ ] Review the rendered umbrella prototype with QMCSoftware collaborators and
approve the visual direction and public copy before adding content or
migrating posts.

## Decisions and scope boundaries

- Technical documentation stays in `QMCSoftware` and continues to use MkDocs.
- The primary GitHub link targets `QMCSoftware/QMCSoftware`; community links
may also point to maintained pages within that project.
- The existing 18 blog posts are not imported in this prototype.
- No Reveal.js project, repository rename, speculative infrastructure, or
Python dependency file is included.
- Technical documentation stays with each software project.
- The primary GitHub link targets the QMCSoftware organization; project pages
link to their respective repositories and documentation.
- The site continues to use `qmcpy.org` temporarily; DNS, Pages settings, and
redirects have not been changed.
- One earlier blog post is migrated as a pattern; the remainder of the archive
is outside the current prototype.
- No Reveal.js project, speculative infrastructure, or Python dependency file
is included.
- Generated `_site/` output remains outside the `main` branch.
- No commit or push is part of the current work.
- The completed prototype is maintained on a review branch until it is approved
for merge into `main`.
19 changes: 11 additions & 8 deletions _quarto.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,34 +6,37 @@ project:
- "blog/**/*.qmd"
- "news/**/*.qmd"
- "community/**/*.qmd"
- "software/**/*.qmd"
- "publications/**/*.qmd"
resources:
- CNAME
- assets/**
- data/**

website:
title: "QMCPy"
title: "QMCSoftware"
site-url: https://qmcpy.org
description: "Public website for QMCPy, quasi-Monte Carlo community software in Python."
description: "Open-source software and shared resources for quasi-Monte Carlo methods."
navbar:
background: "#073b4c"
logo: assets/logos/qmcpy_logo.png
logo-alt: "QMCPy logo"
left:
- href: index.qmd
text: Home
- href: software/index.qmd
text: Software
- href: blog/index.qmd
text: Blog
- href: publications/index.qmd
text: Publications
- href: news/index.qmd
text: News & Events
- href: community/index.qmd
text: Community
right:
- href: https://qmcsoftware.github.io/QMCSoftware/
text: Documentation
- href: https://github.com/QMCSoftware/QMCSoftware
- href: https://github.com/QMCSoftware
text: GitHub
page-footer:
left: "QMCPy — quasi-Monte Carlo community software in Python"
left: "QMCSoftwareopen-source quasi-Monte Carlo software"
right:
- href: about.qmd
text: About this site
Expand Down
19 changes: 11 additions & 8 deletions about.qmd
Original file line number Diff line number Diff line change
@@ -1,13 +1,16 @@
---
title: "About this site"
description: "How the QMCPy public website relates to the technical documentation."
description: "How the QMCSoftware public website relates to its software projects."
---

This site is the public-facing home for QMCPy. It is intended to make project
news, community information, and learning pathways easier to find.
This site is the public-facing home for the QMCSoftware organization. It
provides a shared entry point for the organization's open-source quasi-Monte
Carlo software, publications, news, events, and community information.

The detailed package documentation is maintained separately in the
[QMCSoftware repository](https://github.com/QMCSoftware/QMCSoftware) and
published with MkDocs at the
[QMCPy documentation site](https://qmcsoftware.github.io/QMCSoftware/). This
website links to that documentation rather than duplicating it.
Detailed technical documentation remains with each
[software project](software/index.qmd). This website links to those maintained
sources rather than duplicating them.

The umbrella prototype is temporarily served at `qmcpy.org` so that the
existing deployment continues to work while the organization decides its
long-term domain and redirect strategy.
Loading
Loading