Skip to content

DOC: Redirect old whatsnew links #23695

Open
@TomAugspurger

Description

@TomAugspurger

In #21599 we're chagning the structure of our whatsnew. Previously the whatsnew for each version was concatenated into a single large file.

Consider a link to the anchor #whatsnew-0190-enhancements-other. There are three cases:

  1. Version-specific URLs like http://pandas.pydata.org/pandas-docs/version/0.23.0/whatsnew.html#whatsnew-0190-enhancements-other will continue to work. We don't have to change anything.
  2. People linking via /stable (which is probably more common), or to version 0.24.0 or higher will break. http://pandas.pydata.org/pandas-docs/stable/whatsnew.html#whatsnew-0190-enhancements-other won't be a valid reference. We would need to rewrite it to http://pandas.pydata.org/pandas-docs/stable/releases/#whatsnew-0190-enhancements-other

We use nginx for our webserver at pandas.pydata.org. But AFAICT, we can't use a rewrite rule to redirect this links, since nginx doesn't see the anchor.

We should be able to detect this in Javascript. When we're on the whatsnew for 0.24.0 or greater, we want to look for anchors pointing to /whatsnew.html#whatsnew-<version> for 0.23.4 or older. Then we'd rewrite /whatsnew.html#whatsnew-<version>-<title> to /whatsnew/<version>.html#<title>. So a test case is

before: http://pandas.pydata.org/pandas-docs/stable/whatsnew.html#whatsnew-0190-enhancements-other
after:  http://pandas.pydata.org/pandas-docs/stable/whatsnew/v0.19.0.html#other-enhancements

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions