Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adopt PyData-Sphinx-Theme for Spyder Docs #367

Merged
merged 12 commits into from
Aug 9, 2024

Conversation

CAM-Gerlach
Copy link
Member

@CAM-Gerlach CAM-Gerlach commented Apr 25, 2024

Pull Request

Pull Request Checklist

  • Read and followed this repo's Contributing Guidelines
  • Based your PR on the latest version of the correct branch (master or 4.x)
  • Checked your writing carefully for correct English spelling, grammar, etc
  • Described your changes and the motivation for them below
  • Noted what issue(s) this pull request resolves, creating one if needed

Description of Changes

As has long been planned, this (currently) WiP PR migrates the Spyder Docs site from our very outdated, heavily customized PyData Sphinx Theme fork to the modern upstream versions, as well as migrating our other obsolete dependencies blocked on the same (Sphinx 3, Sphinx-Panels and Sphinx-Multiversion to Sphinx 7, Sphinx-Design and PST's version switcher, respectively).

Currently quite WiP, but publishing this as a PR for visibility and so we have a public preview. The plan is to work on this over the next two weeks, and have it ready to merge before I leave for PyCon.

Migration elements:

  • From a very outdated heavily customized fork of the PyData Sphinx Theme to the latest upstream version (0.15.2)
  • From the ancient Sphinx 3 to the latest Sphinx 7
  • From the obsolete, unsupported Sphinx-Panels to its successor Sphinx-Design
  • From the unmaintained, no longer properly functional Sphinx-Multiversion to the built-in multiversion support of PST

As a result, this:

  • Substantially improves the site's layout, responsiveness and functionality,
  • Allows us to take advantage of current and future improvements in the theme,
  • Adds critical support for multi-versions and translations that we need,
  • Eliminates a large amount of complexity and maintenance on our site,
  • Gets rid of obsolete dependencies in favor of modern, supported equivalents
  • Overall, pays off a large amount of accumulated techdebt

Work plan for initial PR

  • Commit initial baseline
    • Update requirements* files
    • Update contributing guide
  • Fix build things
    • Image permissions issue
    • Language tag
    • Theme settings warning
    • Panel directive on main page
    • Dropdown ids
  • Fix CSS and JS
    • Div to section: CSS placement and color of fa icons
      • Check others (videos, etc)
    • Sphinx-Panels to Sphinx-Design CSS classes/structure (panels, dropdown)
      • Dropdown (FAQ)
      • Card Header (Videos)
      • Check others
    • Fix copyright at bottom
    • Fix image bottom margin (at least on main page)
    • Use logo SVG with light background
    • Fix Javascript so FAQs drop down and have clickable links Followup
  • Configure theme
    • Appropriate number of top links + external
    • Hide sidebar with empty toctree
    • Check other config settings
  • Set up for multiversion support
    • Make sure to show version warning banner
    • Make sure quickstart works
    • Update deployment infra accordingly
  • Remove unnecessary stuff
    • Templates
    • conf.py settings & customization
    • Quickstart assets
    • CSS and Javascript
      • version selector stuff
      • Temp fix for invisible heading
    • Makefiles Followup

Followup PRs plan to:

  • Add back automatic FAQ uncollapse on URL fragment id
  • Port our current makefile-based system to Nox
  • Add full translation support and tooling
  • Refine various other aspects of the design and layout

Issue(s) Resolved

Fixes #170 (incidentally, since images are now left-aligned rather than centered)

@CAM-Gerlach CAM-Gerlach force-pushed the pydata-sphinx-theme branch 2 times, most recently from cd1849c to c210367 Compare August 1, 2024 20:58
@ccordoba12 ccordoba12 marked this pull request as ready for review August 8, 2024 16:44
ccordoba12
ccordoba12 previously approved these changes Aug 8, 2024
Copy link
Member

@ccordoba12 ccordoba12 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for your hard work on this @CAM-Gerlach!

@CAM-Gerlach CAM-Gerlach merged commit e8f00a4 into spyder-ide:master Aug 9, 2024
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Image centering sometimes looks off
2 participants