-
Notifications
You must be signed in to change notification settings - Fork 3.6k
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
[Doc] Host different released versions of the documentation + version switcher #28941
Comments
Nicola Crane / @thisisnic: |
Joris Van den Bossche / @jorisvandenbossche: As a first step, I created a PR to add the existing releases in subdirs: apache/arrow-site#139 One point for discussion (or bike shedding :)): what url do we want to use for the "current release" docs? |
Alessandro Molina / @amol-: |
Joris Van den Bossche / @jorisvandenbossche: We should indeed make that we don't add unnecessary duplication (like have the current release twice), but of course we will end up with a large amount of duplication anyway, because the content of the 4.0 docs or 5.0 docs are largely the same. I mentioned a link above (https://developers.google.com/search/docs/advanced/crawling/consolidate-duplicate-urls ) that describes some strategies to help with this. It seems that adding some "canonical" tag in the html can help, and https://docs.readthedocs.io/en/stable/guides/canonical.html has some information about doing that with sphinx. |
Joris Van den Bossche / @jorisvandenbossche: |
Joris Van den Bossche / @jorisvandenbossche: So Google mentions using a But, one possible drawback with canonical urls is that those can get out of date. For example, if a page is removed or renamed, the older already existing versions of the docs will still point to that url, so effectively pointing to a non-existing page. I don't know whether this is actually a problem, though? According to https://developers.google.com/search/docs/advanced/crawling/consolidate-duplicate-urls, adding a sitemap is also an alternative way to give Google a hint which page to use in search results. There is a sphinx extension that can generate this (https://github.com/jdillard/sphinx-sitemap, didn't yet check it out). So this could be an easier option instead of the canonical urls, in case those canonical urls need to be kept updated in older docs (the sitemap would only list the pages for the stable release, and thus is easy to keep up to date by regenerating it with sphinx when adding the built docs with a new release). (I am no web expert, though, so not sure what option is best) |
Dominik Moritz / @domoritz: |
Nicola Crane / @thisisnic: |
Joris Van den Bossche / @jorisvandenbossche: |
Joris Van den Bossche / @jorisvandenbossche: |
Related to ARROW-1299 for hosting the nightly docs, we could also keep the built docs for older versions instead of overwriting them at each release.
Currently, the built docs live in the apache/arrow-site repo (asf-site branch) in the "/docs/" subdirectory.
When releasing, we could add the newly built docs for that release in a subdirectory instead. Something like "/docs/5.0/" or "/docs/version/5.0".
(And we could retroactively add some docs of previous releases, if we want)
To make this useful for the user, we need a version switcher in the sphinx theme layout. There are other projects that use the same sphinx theme that have added this (see eg https://mne.tools/stable/index.html), and there is some work to upstream this to the base theme (but on the short term we could also copy such a custom implementation).
For the "stable" docs (latest release), we could either 1) keep a duplicated version of the latest built docs at "/docs/", or 2) symlink "/docs/" to "/docs/5.0/" (and update this for each release; although I am not sure this is possible since it's the other is a child directory).
We could also add a "/docs/stable/" and make this the default url.
cc @amol- @kszucs
Reporter: Joris Van den Bossche / @jorisvandenbossche
Subtasks:
Related issues:
Note: This issue was originally created as ARROW-13260. Please see the migration documentation for further details.
The text was updated successfully, but these errors were encountered: