Migrated to vuepress-community
A VuePress plugin that handles redirection.
VuePress has a built-in i18n system, but you must provide a default language, otherwise you will only get a 404 if you try to access /
directly. However, providing a default language often means a less friendly project structure (because the files in the default language are one level lower than others), and we sometimes want our website to keep /
for a more intelligent redirection (e.g. determines that the language used by the user based on navigator.language
and automatically redirects to the corresponding page). Vuepress-plugin-redirect is such a plugin that handles automatic redirections. Of course, its capacity is not limited to automatic redirecting of the language, because you can redirect any page to its subpages via a custom redirector.
- type:
boolean
- default:
false
Whether to provide i18n redirection.
- type:
Redirector[]
- default:
[]
A list of custom redirectors.
- type:
string
- default:
'/'
Base URL to be redirected.
- type:
boolean | string | Storage
- default:
false
Decide how the results of the redirect are stored. If set to string
, it corresponds to the key of localStorage
. If it is an object, you must include the following two methods:
get(redirector: Redirector): string
set(value: string, redirector: Redirector): void
A simple storage
object is provided below for your reference:
const storage = {
get({ base }) {
if (typeof localStorage === 'undefined') return null
return localStorage.getItem('redirect:' + base)
},
set(value, { base }) {
if (typeof localStorage === 'undefined') return
localStorage.setItem('redirect:' + base, value)
},
}
- type:
string | string[] | ((rel: string) => string | string[])
- default:
undefined
An alternate list of redirects. A requested URL will be devided into two parts, base
and rel
, and alternative
will be inserted between them. If it is a function, rel
will be passed as a parameter. All the results obtained will be tried in sequence, and the first existing page will be taken for redirection.
Contribution Welcome!