platformio / platformio/platformio-docs

📚 Feature Request: Modernize Documentation Theme

Open
#386 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
285
Forks
357
PR merge metrics
No merged PRs in 30d

Description

Hi,

Summary

Consider upgrading from the current sphinx_rtd_theme to a more modern and user-friendly documentation theme to improve the overall documentation experience.

Current Situation

PlatformIO documentation currently uses the sphinx_rtd_theme (Read The Docs theme) as configured in conf.py.

While this theme has served well, it's showing its age and lacks many modern UX improvements that newer themes provide.

Proposed Solution

Switch to a more modern Sphinx theme such as Furo, which offers:

Benefits of Furo Theme:
  • Modern Design: Clean, responsive design that works excellently on mobile devices
  • Better Navigation: Improved sidebar navigation with better visual hierarchy
  • Dark Mode: Built-in dark/light mode toggle
  • Better Typography: Enhanced readability with improved font choices and spacing
  • Accessibility: Better accessibility features and keyboard navigation
  • Performance: Faster loading times and better performance
  • Active Development: Actively maintained with regular updates
Visual Comparison

Implementation Details

Required Changes:
  1. Update conf.py to use Furo theme:

    # Replace current theme configuration
    html_theme = "furo"
    
  2. Install Furo dependency:

    pip install furo
    
  3. Update requirements.txt or equivalent dependency file

  4. Review and potentially update theme-specific configurations

Alternative Themes to Consider:

If Furo doesn't meet all requirements, other modern options include:

  • PyData Sphinx Theme: Used by NumPy, Pandas, and other major projects
  • Sphinx Material: Material Design inspired theme
  • Sphinx Book Theme: Modern theme used by Jupyter Book

Expected Impact

  • User Experience: Significantly improved reading experience, especially on mobile
  • Accessibility: Better compliance with accessibility standards
  • Maintenance: Easier maintenance with actively developed themes
  • Community: More attractive documentation may help with user adoption

Additional Context

Many major open-source projects have modernized their documentation themes:

  • NumPy, Pandas, Matplotlib (PyData theme)
  • FastAPI (custom modern theme)
  • Pydantic (Material theme)

The current RTD theme, while functional, gives the documentation a dated appearance that may not reflect the modern, active nature of the PlatformIO project.

Checklist

  • Evaluate theme options (Furo, PyData, others)
  • Test theme with existing content
  • Ensure all current features work with new theme
  • Update CI/CD pipeline if needed
  • Update documentation build instructions
  • Review mobile responsiveness
  • Test accessibility features

Priority: according maintainer's preferences
Effort: Low-Medium
Labels: enhancement, documentation, good first issue

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with conf.py at the current html_theme configuration and the requirements.txt or equivalent dependency file. Review the existing documentation build instructions and CI/CD configuration, then compare Furo with the listed alternatives against current content and required features. Done means a selected theme builds successfully, existing features work, and the dependency and build documentation are updated.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
documentation
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.