mirror of
https://github.com/NixOS/nix.git
synced 2024-11-29 10:12:28 +00:00
add path based redirects
up to now, those were managed outside of this repo, which as
unsurprisingly a real hassle to deal with if one wanted to prevent URLs
from breaking when moving pages around. this change removes a large part
of the friction involved in moving content in the Nix manual.
possible next steps for further automation:
- check for content that moved and warn if it's not reachable from
links that were valid prior to a change
- create redirect rules automatically based on this information
(cherry picked from commit 2b7016cc56
)
This commit is contained in:
parent
c6c5123f42
commit
9f9d46f9a0
30
doc/manual/_redirects
Normal file
30
doc/manual/_redirects
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
# redirect rules for paths (server-side) to prevent link rot.
|
||||||
|
# see ./redirects.js for redirects based on URL fragments (client-side)
|
||||||
|
#
|
||||||
|
# concrete user story this supports:
|
||||||
|
# - user finds URL to the manual for Nix x.y
|
||||||
|
# - Nix x.z (z > y) is the most recent release
|
||||||
|
# - updating the version in the URL will show the right thing
|
||||||
|
#
|
||||||
|
# format documentation:
|
||||||
|
# - https://docs.netlify.com/routing/redirects/#syntax-for-the-redirects-file
|
||||||
|
# - https://docs.netlify.com/routing/redirects/redirect-options/
|
||||||
|
#
|
||||||
|
# conventions:
|
||||||
|
# - always force (<CODE>!) since this allows re-using file names
|
||||||
|
# - group related paths to ease readability
|
||||||
|
# - always append new redirects to the end of the file
|
||||||
|
# - redirects that should have been there but are missing can be inserted where they belong
|
||||||
|
|
||||||
|
/expressions/expression-language /language/ 301!
|
||||||
|
/expressions/language-values /language/values 301!
|
||||||
|
/expressions/language-constructs /language/constructs 301!
|
||||||
|
/expressions/language-operators /language/operators 301!
|
||||||
|
/expressions/* /language/:splat 301!
|
||||||
|
|
||||||
|
/package-management/basic-package-mgmt /command-ref/nix-env 301!
|
||||||
|
|
||||||
|
/package-management/channels* /command-ref/nix-channel 301!
|
||||||
|
|
||||||
|
/package-management/s3-substituter* /command-ref/new-cli/nix3-help-stores#s3-binary-cache-store 301!
|
||||||
|
|
@ -1,7 +1,9 @@
|
|||||||
// redirect rules for anchors ensure backwards compatibility of URLs.
|
// redirect rules for URL fragments (client-side) to prevent link rot.
|
||||||
// this must be done on the client side, as web servers do not see the anchor part of the URL.
|
// this must be done on the client side, as web servers do not see the fragment part of the URL.
|
||||||
|
// it will only work with JavaScript enabled in the browser, but this is the best we can do here.
|
||||||
|
// see ./_redirects for path redirects (client-side)
|
||||||
|
|
||||||
// redirections are declared as follows:
|
// redirects are declared as follows:
|
||||||
// each entry has as its key a path matching the requested URL path, relative to the mdBook document root.
|
// each entry has as its key a path matching the requested URL path, relative to the mdBook document root.
|
||||||
//
|
//
|
||||||
// IMPORTANT: it must specify the full path with file name and suffix
|
// IMPORTANT: it must specify the full path with file name and suffix
|
||||||
|
Loading…
Reference in New Issue
Block a user