This plugin lets you create bulk redirects of URLs as part of Gitbook generation. This is useful if you need to add multiple redirects for articles without adding them to the SUMMARY.md.
If you need to redirect individual pages, use the redirect plugin.
Add this to your book.json plugin list:
{
"plugins": [ "bulk-redirect" ]
}Configuration for this plugin is specified in book.json in the pluginsConfig object, with the key bulk-redirect. There are two important configuration options for this plugin (discussed below): basepath and redirectsFile.
"pluginsConfig": {
"bulk-redirect": {
"basepath": "/",
"blank": false,
"redirectsFile": "redirects.json"
}
}basepath is a string containing a path against which the to URLs in the redirects list (present in redirectsFile) are resolved. It can be used to specify path to the directory in which the compiled book will be hosted, relative to the root of the domain. E.g., if the book is to be hosted at http://example.com/book/, then set the value of basepath to /book/. The trailing slash is necessary to ensure URLs resolve properly.
If the book is hosted at the root of the domain, e.g. http://example.com/, then you can leave this unspecified.
For example:
"pluginsConfig": {
"bulk-redirect": {
"basepath": "/user/current/",
"redirectsFile": "redirects.json"
}
}Setting this parameter to true will leave your redirect pages blank and untitled (no "Click here if you are not redirected" link).
The redirects contains an array of objects. This array should be present in another file. This relative path of this file should be passed in the redirectsFile field.
Each object in the redirects array has 2 important keys: from and to.
from: This key should contain the URL of the old HTML, relative to the root of the book output.to: This key should contain the URL of the new HTML, relative to the root of the book output. If abasepathis provided, it is used to resolve the URL given into.
For example: redirects.json
{
"redirects": [
{
"from": "oldpage.html",
"to": "newpage.html"
},
{
"from": "olddir/oldpage.html",
"to": "newdir/newpage.html"
},
]
}This will create the pages oldpage.html and olddir/oldpage.html in the output and they will redirect to /newpage.html and /newdir/newpage.html respectively.
Folder redirect also possible:
{
"redirects": [
{
"from": "somepage/",
"to": "somepage.html"
}
]
}This will create a page somepage/index.html, that will redirect to somepage.html.