Skip to content

Thoughts on a revamp? #17

@pradyunsg

Description

@pradyunsg

Following #3 (comment), I spent a few cycles iterating on this and came up with https://github.com/pradyunsg/sphinx-themes. I added a few themes to demonstrate the approach and a very basic/minimal index page for this, which is online now.

I started from-scratch and came away with quite a different approach for doing things. This resulted in:

  • Generating demos, and screenshots (w/ selenium) in a GitHub Action job.
  • Keep all theme-related information in a JSON file.
  • No requirement on docker -- plain Python scripts w/ nox.
  • No generated HTML/CSS/images are checked into the master branch.
  • Preview images contain multiple viewport sizes! 🎉

Notably, the main changes due to all of this are:

  • Significantly lower barrier for adding new themes! 🎉
  • Themes have to be installable from PyPI, usable against the current Sphinx version
    • This is a reasonable assumption, and helps ensure that people can actually use the themes. :)
  • No conf.py is included/provided
    • The theme should have documentation about this, so the gallery doesn't need to cover this.
    • It should be easy-enough to add this if we really want to (I don't)
  • 2 column vs 3 column layout
    • I wanted this to include additional viewport sizes, so, yea, I think this design change is worthwhile. :)

This was mostly an over-the-boring-day thing, and there's definitely scope for improvement in the automation (eg: separating render-with-themes vs generate-screenshots). If there's interest in bringing in most (all?) of that codebase into this one, I'd like to hear about it! ^>^

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