python / python/docs-community
Enhancing the switchers setup
Nobody has claimed this yet.
- Dominant language
- Makefile
- Stars
- 55
- Forks
- 26
- PR merge metrics
- No merged PRs in 30d
Description
Currently the contributions to python-docs-theme are made hard because of the language and version switchers.
I made review a bit easier by adding a github action to build the doc and provide it as a built artifact, so reviewers can just download and test locally.
But still the enhancement of the doc is made hard, for example https://github.com/python/python-docs-theme/pull/46 has been slowed down because of this (sry @obulat).
Solution 1
I once had an idea to enhance the situation: we could provide an "API" on the form of a simple .js file at the root of docs.python.org listing the available versions and languages.
pros:
- It removes the switchers ugly hack in docsbuild-scripts.
- It make the theme easy to test locally: just drop a versions.js at the root with some sample data.
- A project using our theme with no need for switchers will not use a
version.jsfile and have no switchers. - A project using our theme with the need for switchers could set them up easily (add a
version.jsfile).
cons:
- This is already the case, but we should be aware of the SEO penality that we could have if we redrow the page after load to render the switchers.
- The impementation will probably be tied to our specific hiearchy:
/{LANG}/{VERSION}/with the language being optional, defaulting toenglish. - It may not follow the current state of the art of doing this, as I did not reviewd how other themes do this, how readthedocs does it, how for example https://docs.djangoproject.com/en/3.1/ does it.
Other ideas, and feedback welcome.
cc @pradyunsg @obulat
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the proposed root-level versions.js API and the docsbuild-scripts build_docs.py switcher code referenced in the issue; compare the linked approaches and existing GitHub Action artifact workflow. Done should be a decided, locally testable switcher setup, but the issue does not define a specific implementation or acceptance criteria.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github-actions, javascript, python
- Domain
- documentation, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100