Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

gitbook-plugin-icp

Package Overview
Dependencies
Maintainers
1
Versions
12
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

gitbook-plugin-icp

gitbook plugin for adding icp info to footer

  • 0.0.5
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
5
Maintainers
1
Weekly downloads
 
Created
Source

Welcome to gitbook-plugin-icp 👋

npm:version npm:download npm:prerequisite github:documentation github:maintenance npm:license github:snodreams1006 website:snodreams1006.tech 微信公众号:雪之梦技术驿站-brightgreen.svg

Gitbook plugin add "edit this page" link, and intelligent recognition to Github or Gitlab source repository.

🏠 Homepage

Screenshot

icp-use-preview.png

Usage

Step #1 - Update book.json file

  1. In you gitbook's book.json file, add icp to plugins list.
  2. In pluginsConfig, Set base value which is base path to your github or gitlab or other code repo. Trailing slash is NOT required.
  3. By default link label will be "Edit This Page". You can change it using plugin config label.
  4. 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

  1. 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
  1. 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 © 2019 snowdreams1006.

This project is MIT licensed.

Thanks

Troubleshooting

  1. 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/
  2. Check if you are using default gitbook theme. It is NOT recommended to modify gitbook themes directly.

Keywords

FAQs

Package last updated on 18 Dec 2019

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc