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

Add support for docutils==0.20.x #1517

Merged
merged 3 commits into from
Aug 29, 2023
Merged

Conversation

humitos
Copy link
Member

@humitos humitos commented Aug 25, 2023

Note that docutils==0.20.x is supported on Sphinx>=7.0.1

Closes #1516
Closes #1323
Closes #1336

@humitos
Copy link
Member Author

humitos commented Aug 25, 2023

I did the same visual QA test as in #1336 (comment) but using only Sphinx==7.2.x and I didn't find any visual difference.

Besides, we can see the changes in the HTML are pretty basic: https://gist.github.com/humitos/11dac3efa0ed0bca4bb4d06f5facc1f2

This PR is another good candidate for 2.x release -- cc @agjohnson

@humitos humitos marked this pull request as ready for review August 25, 2023 17:34
@humitos humitos requested a review from a team as a code owner August 25, 2023 17:34
Copy link
Collaborator

@agjohnson agjohnson left a comment

Choose a reason for hiding this comment

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

We talked a bit about going straight to 0.20 support on our 2.0rc1 candidate, we're still figuring out what is best here.

But testing this against previous docutils and the output is largely unchanged. I only noticed a different between a couple section headings between docutils 0.19 and 0.20, but 0.20 fixes what seem to be regressions in docutils 0.19.

@humitos
Copy link
Member Author

humitos commented Aug 29, 2023

I'm happy to move forward here and do a 2.0rc1, in particular if 0.19 has some regressions. There is no need to expose a version of our theme with docutils 0.19 if we already know they are fixed in 0.20.

I'm going to merge this PR so we can do a "rc" release today or tomorrow.

If you disagree with this decision, I'm happy to revert it 😄

@humitos humitos merged commit 5838e6a into master Aug 29, 2023
@humitos humitos deleted the humitos/support-docutils-0-20 branch August 29, 2023 10:12
khancyr pushed a commit to ArduPilot/sphinx_rtd_theme that referenced this pull request Jul 15, 2024
* 2.0 milestone: drop supported versions

The new policy is:

- Python >=3.6
- Sphinx >= 5
- HTML4 and HTML5 writer
- docutils >= 0.14, < 0.19

* Update roadmap after discussion

By the beginning of 2024 we should support newer Sphinx versions and HTML5 only.

* Remove Python 2.7 from CircleCI

* Run only supported versions on Python 3.11

* Update with feedback from review

* Update documentation to match our support

* Add Sphinx 6.2 that was missing

* Update tox/circleci to work

* Revert tox command

* Drop support for HTML4 and keep `-qa` testing

- drop support for HTML4 on 2.0
- keep `-qa` TOX environment to be able to compare feature branches
- emit `logger.errors` on Python 2 and html_writer4=True
- require Sphinx >= 5.0
- remove logic for old Sphinx versions

* Update Tox and CircleCI

* Update contributing page to match our plans

---------

Co-authored-by: Anthony Johnson <aj@ohess.org>

Release 2.0.0rc1 (readthedocs#1510)

* Release 2.0.0rc1

* Update npm lock file

Bump to next release 2.0.0rc2 (readthedocs#1511)

Docs: Remove "git install" method from instructions (readthedocs#1375)

* Remove instructions "encouraging" to install directly from git

* Update changelog: Add reminder that people should not install directly from git

* Update docs/changelog.rst

---------

Co-authored-by: Manuel Kaufmann <humitos@gmail.com>

Visual test with Firefox and tox (readthedocs#1513)

* Visual test with Firefox and tox

Allows developer to run

```
tox -e py310-sphinx72-firefox
```

This will run the tests and open a Firefox after building the demo site
showing the `demo/demo.html` page on it.

Then, you can also run:

```
tox -e py310-sphinx61-firefox
```

and compare the visual differences.

Idea copied from readthedocs#1388
Closes readthedocs#1388

* Default value for `DISPLAY` and `--new-tab`

* Simplify the idea :)

Remove Python2 leftovers (readthedocs#1514)

Docs: update Read the Docs config (readthedocs#1518)

Use the latest config file style.

Set data-content_root for Sphinx ≥ 7.2 (readthedocs#1507)

This attribute is now required by searchtools.js:
https://github.com/sphinx-doc/sphinx/blob/v7.2.2/sphinx/themes/basic/static/searchtools.js#L65

When it's not set, loading search results via AJAX will be broken
because the JS code will attempt to load paths like /undefinedfoo.html.

Co-authored-by: Manuel Kaufmann <humitos@gmail.com>

Use `css_tag` helper to inject CSS files (readthedocs#1519)

* Use `css_tag` helper to inject CSS files

* Typo

Add support for `docutils==0.20.x` (readthedocs#1517)

Closes readthedocs#1516

Release 2.0rc2 (readthedocs#1520)

Version bump for 2.0rc3 development (readthedocs#1521)

Next development version is 2.0rc3 for now, but more likely 2.1rc1

Fix readthedocs#1522: fix `'str' object has no attribute 'attributes'` (readthedocs#1528)

* Fix readthedocs#1522: fix attribute error if css is str

* Revert "Fix readthedocs#1522: fix attribute error if css is str"

This reverts commit b22a77f.

* Use `css_tag` only for standard CSS files from Sphinx

... and keep using the custom `link` HTML tag for CSS files included via the
HTML theme option `extra_css_files`.

* Normalize template variables

---------

Co-authored-by: Manuel Kaufmann <humitos@gmail.com>
Co-authored-by: Anthony Johnson <aj@ohess.org>

Release 2.0.0rc3 (readthedocs#1535)

Increment for next potential release (readthedocs#1536)

Fix AttributeError when one of `css_files` is a string (readthedocs#1537)

Fix AttributeError when one of css_files is a string

Release 2.0.0rc4 (readthedocs#1538)

Bump for next potential release, 2.0.0rc5 (readthedocs#1539)

Release 2.0 final (readthedocs#1544)
khancyr pushed a commit to ArduPilot/sphinx_rtd_theme that referenced this pull request Sep 1, 2024
* 2.0 milestone: drop supported versions

The new policy is:

- Python >=3.6
- Sphinx >= 5
- HTML4 and HTML5 writer
- docutils >= 0.14, < 0.19

* Update roadmap after discussion

By the beginning of 2024 we should support newer Sphinx versions and HTML5 only.

* Remove Python 2.7 from CircleCI

* Run only supported versions on Python 3.11

* Update with feedback from review

* Update documentation to match our support

* Add Sphinx 6.2 that was missing

* Update tox/circleci to work

* Revert tox command

* Drop support for HTML4 and keep `-qa` testing

- drop support for HTML4 on 2.0
- keep `-qa` TOX environment to be able to compare feature branches
- emit `logger.errors` on Python 2 and html_writer4=True
- require Sphinx >= 5.0
- remove logic for old Sphinx versions

* Update Tox and CircleCI

* Update contributing page to match our plans

---------

Co-authored-by: Anthony Johnson <aj@ohess.org>

Release 2.0.0rc1 (readthedocs#1510)

* Release 2.0.0rc1

* Update npm lock file

Bump to next release 2.0.0rc2 (readthedocs#1511)

Docs: Remove "git install" method from instructions (readthedocs#1375)

* Remove instructions "encouraging" to install directly from git

* Update changelog: Add reminder that people should not install directly from git

* Update docs/changelog.rst

---------

Co-authored-by: Manuel Kaufmann <humitos@gmail.com>

Visual test with Firefox and tox (readthedocs#1513)

* Visual test with Firefox and tox

Allows developer to run

```
tox -e py310-sphinx72-firefox
```

This will run the tests and open a Firefox after building the demo site
showing the `demo/demo.html` page on it.

Then, you can also run:

```
tox -e py310-sphinx61-firefox
```

and compare the visual differences.

Idea copied from readthedocs#1388
Closes readthedocs#1388

* Default value for `DISPLAY` and `--new-tab`

* Simplify the idea :)

Remove Python2 leftovers (readthedocs#1514)

Docs: update Read the Docs config (readthedocs#1518)

Use the latest config file style.

Set data-content_root for Sphinx ≥ 7.2 (readthedocs#1507)

This attribute is now required by searchtools.js:
https://github.com/sphinx-doc/sphinx/blob/v7.2.2/sphinx/themes/basic/static/searchtools.js#L65

When it's not set, loading search results via AJAX will be broken
because the JS code will attempt to load paths like /undefinedfoo.html.

Co-authored-by: Manuel Kaufmann <humitos@gmail.com>

Use `css_tag` helper to inject CSS files (readthedocs#1519)

* Use `css_tag` helper to inject CSS files

* Typo

Add support for `docutils==0.20.x` (readthedocs#1517)

Closes readthedocs#1516

Release 2.0rc2 (readthedocs#1520)

Version bump for 2.0rc3 development (readthedocs#1521)

Next development version is 2.0rc3 for now, but more likely 2.1rc1

Fix readthedocs#1522: fix `'str' object has no attribute 'attributes'` (readthedocs#1528)

* Fix readthedocs#1522: fix attribute error if css is str

* Revert "Fix readthedocs#1522: fix attribute error if css is str"

This reverts commit b22a77f.

* Use `css_tag` only for standard CSS files from Sphinx

... and keep using the custom `link` HTML tag for CSS files included via the
HTML theme option `extra_css_files`.

* Normalize template variables

---------

Co-authored-by: Manuel Kaufmann <humitos@gmail.com>
Co-authored-by: Anthony Johnson <aj@ohess.org>

Release 2.0.0rc3 (readthedocs#1535)

Increment for next potential release (readthedocs#1536)

Fix AttributeError when one of `css_files` is a string (readthedocs#1537)

Fix AttributeError when one of css_files is a string

Release 2.0.0rc4 (readthedocs#1538)

Bump for next potential release, 2.0.0rc5 (readthedocs#1539)

Release 2.0 final (readthedocs#1544)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Support for docutils 0.20.x Support for docutils 0.19.x
2 participants