Welcome to gitbook-plugin-icp 👋
Gitbook plugin add "edit this page" link, and intelligent recognition to Github
or Gitlab
source repository.
Screenshot
Usage
Step #1 - Update book.json
file
- In you gitbook's
book.json
file, add icp
to plugins
list. - In
pluginsConfig
, Set base
value which is base path to your github or gitlab or other code repo. Trailing slash is NOT required. - By default link label will be "Edit This Page". You can change it using plugin config
label
. - In
pluginsConfig
, Set defaultBase
value which is set as default base path to your github or gitlab or other code repo. Trailing slash is also NOT required.
Here is simplest example :
{
"plugins": ["icp"],
"pluginsConfig": {
"icp": {
"base": "https://github.com/USER/REPO/edit/BRANCH/path/to/book"
}
}
}
In addition, the supported configuration options are as follows :
"base": {
"type": [
"string",
"object"
],
"title": "Base for the edit redirection",
"required": true
},
"defaultBase": {
"type": "string",
"title": "Default base for the edit redirection",
"required": false
},
"label": {
"type": [
"string",
"object"
],
"title": "Label for the edit button",
"default": "Edit This Page",
"required": false
}
Step #2 - gitbook commands
- Run
gitbook install
. It will automatically install icp
gitbook plugin for your book. This is needed only once.
gitbook install
or you can run npm install gitbook-plugin-icp
to install locally.
npm install gitbook-plugin-icp
- Build your book (
gitbook build
) or serve (gitbook serve
) as usual.
gitbook serve
Example
- Official documentation configuration file
https://github.com/snowdreams1006/gitbook-plugin-icp/blob/master/docs/book.json
{
"plugins": ["icp"],
"pluginsConfig": {
"icp": {
"base": {
"snowdreams1006.github.io":"https://github.com/snowdreams1006/gitbook-plugin-icp/edit/master/docs",
"snowdreams1006.gitlab.io":"https://gitlab.com/snowdreams1006/gitbook-plugin-icp/edit/master/docs",
"snowdreams1006.gitee.io":"https://gitee.com/snowdreams1006/gitbook-plugin-icp/edit/master/docs"
},
"defaultBase": "https://github.com/snowdreams1006/gitbook-plugin-icp/edit/master/docs",
"label": "Edit This Page"
}
}
}
- Official example configuration file
https://github.com/snowdreams1006/gitbook-plugin-icp/blob/master/example/book.json
{
"plugins": ["icp"],
"pluginsConfig": {
"icp": {
"base": "https://github.com/snowdreams1006/gitbook-plugin-icp/edit/master/example"
}
}
}
Sample book.json
file
{
"plugins": ["icp"],
"pluginsConfig": {
"icp": {
"base": "https://github.com/USER/REPO/edit/BRANCH/path/to/book"
}
}
}
or you can add label
to custom your label:
{
"plugins": ["icp"],
"pluginsConfig": {
"icp": {
"base": "https://github.com/USER/REPO/edit/BRANCH/path/to/book",
"label": "点我反馈"
}
}
}
Sample book.json
file for Multi-source base
{
"plugins": ["icp"],
"pluginsConfig": {
"icp": {
"base": {
"USER.github.io":"https://github.com/USER/REPO/edit/BRANCH/path/to/book",
"USER.gitlab.io":"https://gitlab.com/USER/REPO/edit/BRANCH/path/to/book",
"USER.gitee.io":"https://gitee.com/USER/REPO/edit/BRANCH/path/to/book",
"CUSTOME DOMAIN":"https://github.com/snowdreams1006/gitbook-plugin-icp/edit/master/docs"
},
"defaultBase": "https://github.com/USER/REPO/edit/BRANCH/path/to/book",
"label": "Edit This Page"
}
}
}
Sample book.json
file for multilingual labels
{
"plugins": ["icp"],
"pluginsConfig": {
"icp": {
"base": "https://github.com/USER/REPO/edit/BRANCH/path/to/book",
"label": {
"en": "Edit This Page",
"zh": "编辑本页"
}
}
}
}
Note: Above snippet can be used as complete book.json
file, if your book doesn't have one yet.
Github/Gitlab: In string ...REPO/edit/BRANCH...
, you may replace edit
with tree
if you want source file to open in read-mode, rather than edit-mode directly on github/gitlab.
Author
👤 snowdreams1006
Contributing
Contributions, issues and feature requests are welcome!
Feel free to check issues page.
Show your support
Give a Star if this project helped you!
Copyright
Copyright © 2019 snowdreams1006.
This project is MIT licensed.
Thanks
Troubleshooting
- If you are not seeing the "Edit this page" link, check if your
book.json
is valid. You can use this online tool - http://json.parser.online.fr/beta/ - Check if you are using default gitbook theme. It is NOT recommended to modify gitbook themes directly.