Skip to content

[feature] Migrate Sphinx documentation from MyST/Markdown to reStructuredText #41

Description

@yreyricord

Scope of the proposal

Other

Most impacted component

Documentation

Problem statement and motivation

The BioPAL documentation site was migrated to Sphinx using MyST (Markdown) as the primary markup language. This was a deliberate choice for the initial migration: the previous public site was already in Markdown, and MyST made the pilot easier to iterate on and revert if needed.

ESA stakeholders have since reviewed the approach and pointed out that reStructuredText (RST) is the native markup for Sphinx and is preferred for complex technical documents such as ATBDs. The ESA ADPM (Algorithm Documentation and Publication Manual) also recommends RST for document format (§2.4).

Today, the entire published site including the L2 AGB ATBD, contributing guides, tutorials, and hub pages is authored in Markdown with MyST-specific syntax (:::, {tab-set}, {dropdown}, {numref}, dollar-math, custom directives, etc.). Maintaining two conventions (MyST now, RST expected for future ATBDs) creates:

Governance friction with ESA documentation requirements
Contributor confusion (documentation-standards.md currently allows both Markdown and RST)
Higher conversion cost over time as more ATBDs and SUMs are migrated from PDF
Aligning on RST now while the site is still young reduces long-term drift and matches practices used in comparable ESA / scientific Sphinx projects.

Proposed solution

Migrate Sphinx documentation sources from .md (MyST) to .rst (reStructuredText) in phased, reviewable steps, section by section.

Phase 1 Foundation and ATBD (highest priority)

  1. Add RST authoring guidelines to documentation-standards.md (RST becomes the required format for new standalone docs; Markdown deprecated).
  2. Convert the Science Guide / ATBD L2 AGB chapter (docs/science-guide/atbd-l2-agb/*.md) to .rst, preserving:
  • numbered equations and cross-references
  • figures and {numref}-style references
  • sidebar TOC and ATBD-specific extensions (atbd-sidebar-toc, logo banner, PDF export)
  1. Update index / toctree entries to reference .rst paths.
  2. Validate make html and make atbd-pdf on CI.

Phase 2 Tutorials and user-facing guides
Convert docs/tutorials/ and docs/getting-started/, docs/user-guide/ including MyST constructs (tab-set, admonitions, dropdowns) to RST / sphinx-design equivalents.

Phase 3 Contributing, governance, communication, licensing
Convert remaining hub and process pages (docs/contributing/, docs/governance/, docs/communication/, docs/about/).

Phase 4 Cleanup

  1. Remove myst_parser and MyST-specific conf.py settings once no .md Sphinx sources remain.
  2. Update Edit-on-GitHub links (already configured for .rst in conf.py).
  3. Exclude or relocate non-Sphinx Markdown (e.g. Open_Source_BIOMASS_v2_slides_spec.md, tutorial README.md bundles) from the migration scope if they are not rendered.

Alternatives considered

No response

Expected impact

No change on backward compatibility

Additional context

No response

Pre-submission checklist

  • I have searched existing issues and discussions for a similar proposal.
  • I have read the contributing guidelines and the project governance.
  • I am available to discuss the design before any implementation starts.

Metadata

Metadata

Assignees

Labels

needs-triageAwaiting initial triage by maintainerstype:featureNew feature or enhancement (non-scientific)
No fields configured for Feature.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions