#32720: Add configuration for Sphinx linkcheck builder.
-------------------------------------+-------------------------------------
     Reporter:  Nick Pope            |                    Owner:  Nick Pope
         Type:                       |                   Status:  assigned
  Cleanup/optimization               |
    Component:  Documentation        |                  Version:  dev
     Severity:  Normal               |               Resolution:
     Keywords:  linkcheck            |             Triage Stage:  Accepted
    Has patch:  1                    |      Needs documentation:  0
  Needs tests:  0                    |  Patch needs improvement:  0
Easy pickings:  1                    |                    UI/UX:  0
-------------------------------------+-------------------------------------

Old description:

> It would be helpful to configure the `linkcheck` builder for Sphinx.
>
> I found a single reference to this being used in the past in #8728, but
> links come and go all the time and need to be checked on an ongoing
> basis.
>
> There are many benefits to running the link checker on a regular basis:
>
> - Identify links that are broken and need to be fixed.
> - Identify sites that are now redirecting to HTTPS where we want to use
> that instead of insecure links.
> - Reduce the number of one-off requests to fix links when users come
> across them.
>
> I propose the following steps:
>
> 1. Add some initial configuration and documentation, fix broken links,
> and "canonicalize" some links to avoid redirects.
> 1. Add a scheduled GitHub action to check for broken links, or redirects
> that could be simplified, on a weekly/monthly basis.
>
> The second step would need to wait for [https://github.com/sphinx-
> doc/sphinx/issues/6525 sphinx-doc/sphinx#6525] to be addressed so that we
> can treat desired redirections as "working" links instead of
> "redirected", e.g. `https://docs.djangoproject.com/en/stable/` →
> `https://docs.djangoproject.com/en/3.2/`.
>
> The `linkcheck` builder generates
> `docs/_build/linkcheck/output.{json,txt}` which could be filtered and
> attached as an artifact from the GitHub action to make it easier to
> provide a report on what needs fixing.
>
> Here's a [https://github.com/django/django/pull/14325 PR] for the first
> step.

New description:

 It would be helpful to configure the `linkcheck` builder for Sphinx.

 I found a single reference to this being used in the past in #8728, but
 links come and go all the time and need to be checked on an ongoing basis.

 There are many benefits to running the link checker on a regular basis:

 - Identify links that are broken and need to be fixed.
 - Identify sites that are now redirecting to HTTPS where we want to use
 that instead of insecure links.
 - Reduce the number of one-off requests to fix links when users come
 across them.

 I propose the following steps:

 1. Add some initial configuration and documentation, fix broken links, and
 "canonicalize" some links to avoid redirects.
 1. ~~Add a scheduled GitHub action to check for broken links, or redirects
 that could be simplified, on a weekly/monthly basis.~~

 ~~The second step would need to wait for [https://github.com/sphinx-
 doc/sphinx/issues/6525 sphinx-doc/sphinx#6525] to be addressed so that we
 can treat desired redirections as "working" links instead of "redirected",
 e.g. `https://docs.djangoproject.com/en/stable/` →
 `https://docs.djangoproject.com/en/3.2/`.~~

 ~~The `linkcheck` builder generates
 `docs/_build/linkcheck/output.{json,txt}` which could be filtered and
 attached as an artifact from the GitHub action to make it easier to
 provide a report on what needs fixing.~~

 Here's a [https://github.com/django/django/pull/14325 PR]~~ for the first
 step~~.

 (Migrated suggestion for a scheduled GitHub action to #32723.)

--

Comment (by Nick Pope):

 Replying to [comment:1 Mariusz Felisiak]:
 > Thanks, I think adding the `linkcheck_ignore` configuration makes sense.
 I would leave a new GitHub action outside of this ticket, otherwise we
 would have to mark it as "someday/maybe".

 Thanks Mariusz. I created #32723 for implementing a GitHub action in the
 future.

 The `linkcheck_ignore` now will at least help reduce the output that needs
 to be sifted through when running this manually in the interim.

-- 
Ticket URL: <https://code.djangoproject.com/ticket/32720#comment:2>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/065.421280687aeef2cf5d34257507e55a2b%40djangoproject.com.

Reply via email to