2017-02-22 21:29:26 +08:00
# List of Plugins
2017-02-13 22:43:58 +08:00
2017-02-22 21:29:26 +08:00
## Full text search
2017-02-13 22:43:58 +08:00
By default, the hyperlink on the current page is recognized and the content is saved in `localStorage` . You can also specify the path to the files.
2022-03-06 12:25:09 +08:00
<!-- prettier - ignore -->
2017-02-13 22:43:58 +08:00
```html
< script >
window.$docsify = {
search: 'auto', // default
2022-03-06 12:25:09 +08:00
search: [
2017-02-13 22:43:58 +08:00
'/', // => /README.md
'/guide', // => /guide.md
'/get-started', // => /get-started.md
'/zh-cn/', // => /zh-cn/README.md
],
2017-03-10 05:19:07 +08:00
// complete configuration parameters
2017-02-13 22:43:58 +08:00
search: {
maxAge: 86400000, // Expiration time, the default one day
paths: [], // or 'auto'
2017-02-19 11:22:34 +08:00
placeholder: 'Type to search',
// Localization
placeholder: {
'/zh-cn/': '搜索',
2022-03-06 12:25:09 +08:00
'/': 'Type to search',
2017-02-28 21:27:07 +08:00
},
noData: 'No Results!',
// Localization
noData: {
'/zh-cn/': '找不到结果',
2022-03-06 12:25:09 +08:00
'/': 'No Results',
2017-07-26 08:36:35 +08:00
},
// Headline depth, 1 - 6
2018-10-31 20:43:46 +08:00
depth: 2,
hideOtherSidebarContent: false, // whether or not to hide other sidebar content
2018-12-05 10:29:44 +08:00
// To avoid search index collision
// between multiple websites under the same domain
namespace: 'website-1',
2020-07-24 15:42:00 +08:00
// Use different indexes for path prefixes (namespaces).
// NOTE: Only works in 'auto' mode.
//
// When initialiazing an index, we look for the first path from the sidebar.
// If it matches the prefix from the list, we switch to the corresponding index.
pathNamespaces: ['/zh-cn', '/ru-ru', '/ru-ru/v1'],
// You can provide a regexp to match prefixes. In this case,
// the matching substring will be used to identify the index
2022-03-06 12:25:09 +08:00
pathNamespaces: /^(\/(zh-cn|ru-ru))?(\/(v1|v2))?/,
},
};
2017-02-13 22:43:58 +08:00
< / script >
2020-02-12 19:40:23 +08:00
< script src = "//cdn.jsdelivr.net/npm/docsify/lib/docsify.min.js" > < / script >
< script src = "//cdn.jsdelivr.net/npm/docsify/lib/plugins/search.min.js" > < / script >
2017-02-13 22:43:58 +08:00
```
2021-02-05 13:40:26 +08:00
This plugin ignores diacritical marks when performing a full text search (e.g., "cafe" will also match "café"). Legacy browsers like IE11 require the following [String.normalize() ](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/normalize ) polyfill to ignore diacritical marks:
```html
< script src = "//polyfill.io/v3/polyfill.min.js?features=String.prototype.normalize" > < / script >
```
2017-02-22 21:29:26 +08:00
## Google Analytics
2017-02-13 22:43:58 +08:00
2023-06-27 10:54:16 +08:00
> Google's Universal Analytics service will no longer process new data in standard properties beginning July 1, 2023. Prepare now by setting up and switching over to a Google Analytics 4 property and docsify's gtag.js plugin.
2017-02-13 22:43:58 +08:00
Install the plugin and configure the track id.
```html
< script >
window.$docsify = {
2022-03-06 12:25:09 +08:00
ga: 'UA-XXXXX-Y',
};
2017-02-13 22:43:58 +08:00
< / script >
2020-02-12 19:40:23 +08:00
< script src = "//cdn.jsdelivr.net/npm/docsify/lib/docsify.min.js" > < / script >
< script src = "//cdn.jsdelivr.net/npm/docsify/lib/plugins/ga.min.js" > < / script >
2017-02-13 22:43:58 +08:00
```
Configure by `data-ga` .
2022-03-06 12:25:09 +08:00
<!-- prettier - ignore -->
2017-03-10 05:19:07 +08:00
```html
2020-02-12 19:40:23 +08:00
< script src = "//cdn.jsdelivr.net/npm/docsify/lib/docsify.min.js" data-ga = "UA-XXXXX-Y" > < / script >
< script src = "//cdn.jsdelivr.net/npm/docsify/lib/plugins/ga.min.js" > < / script >
2017-03-10 05:19:07 +08:00
```
2023-06-27 10:54:16 +08:00
## Google Analytics 4 (GA4)
Install the plugin and configure the track id.
```html
< script >
// Single ID
window.$docsify = {
gtag: 'UA-XXXXX-Y',
};
// Multiple IDs
window.$docsify = {
gtag: [
'G-XXXXXXXX', // Google Analytics 4 (GA4)
'UA-XXXXXXXX', // Google Universal Analytics (GA3)
'AW-XXXXXXXX', // Google Ads
'DC-XXXXXXXX', // Floodlight
],
};
< / script >
< script src = "//cdn.jsdelivr.net/npm/docsify/lib/docsify.min.js" > < / script >
< script src = "//cdn.jsdelivr.net/npm/docsify/lib/plugins/gtag.min.js" > < / script >
```
2022-03-06 12:25:09 +08:00
## Emoji
2017-02-13 22:43:58 +08:00
2022-03-06 12:25:09 +08:00
Renders a larger collection of emoji shorthand codes. Without this plugin, Docsify is able to render only a limited number of emoji shorthand codes.
!> Deprecated as of v4.13. Docsify no longer requires this plugin for full emoji support.
2017-02-13 22:43:58 +08:00
2017-02-22 21:29:26 +08:00
```html
2020-02-12 19:40:23 +08:00
< script src = "//cdn.jsdelivr.net/npm/docsify/lib/plugins/emoji.min.js" > < / script >
2017-02-13 22:43:58 +08:00
```
2017-03-06 23:57:28 +08:00
## External Script
If the script on the page is an external one (imports a js file via `src` attribute), you'll need this plugin to make it work.
```html
2020-02-12 19:40:23 +08:00
< script src = "//cdn.jsdelivr.net/npm/docsify/lib/plugins/external-script.min.js" > < / script >
2017-03-06 23:57:28 +08:00
```
2017-03-09 20:26:33 +08:00
## Zoom image
2017-11-02 10:43:09 +08:00
Medium's image zoom. Based on [medium-zoom ](https://github.com/francoischalifour/medium-zoom ).
2017-03-09 20:26:33 +08:00
```html
2020-02-12 19:40:23 +08:00
< script src = "//cdn.jsdelivr.net/npm/docsify/lib/plugins/zoom-image.min.js" > < / script >
2017-03-09 20:26:33 +08:00
```
2017-09-01 15:43:43 +08:00
2017-10-31 21:20:08 +08:00
Exclude the special image
```markdown
2022-03-06 12:25:09 +08:00
![](image.png ':no-zoom')
2017-10-31 21:20:08 +08:00
```
2017-09-01 15:43:43 +08:00
## Edit on github
2021-07-30 10:18:00 +08:00
Add `Edit on github` button on every pages. Provided by [@njleonzhang ](https://github.com/njleonzhang ), see this [document ](https://github.com/njleonzhang/docsify-edit-on-github )
2017-09-05 09:46:05 +08:00
## Demo code with instant preview and jsfiddle integration
With this plugin, sample code can be rendered on the page instantly, so that the readers can see the preview immediately.
When readers expand the demo box, the source code and description are shown there. if they click the button `Try in Jsfiddle` ,
`jsfiddle.net` will be open with the code of this sample, which allow readers to revise the code and try on their own.
[Vue ](https://njleonzhang.github.io/docsify-demo-box-vue/ ) and [React ](https://njleonzhang.github.io/docsify-demo-box-react/ ) are both supported.
2017-09-20 09:01:06 +08:00
2017-09-29 10:14:09 +08:00
## Copy to Clipboard
2017-12-14 23:09:08 +08:00
Add a simple `Click to copy` button to all preformatted code blocks to effortlessly allow users to copy example code from your docs. Provided by [@jperasmus ](https://github.com/jperasmus )
2017-09-29 10:14:09 +08:00
```html
2021-06-04 12:19:03 +08:00
< script src = "//cdn.jsdelivr.net/npm/docsify-copy-code/dist/docsify-copy-code.min.js" > < / script >
2017-09-29 10:14:09 +08:00
```
See [here ](https://github.com/jperasmus/docsify-copy-code/blob/master/README.md ) for more details.
2017-11-04 13:54:37 +08:00
## Disqus
Disqus comments. https://disqus.com/
```html
< script >
window.$docsify = {
2022-03-06 12:25:09 +08:00
disqus: 'shortname',
};
2017-11-04 13:54:37 +08:00
< / script >
2020-02-12 19:40:23 +08:00
< script src = "//cdn.jsdelivr.net/npm/docsify/lib/plugins/disqus.min.js" > < / script >
2017-11-04 13:54:37 +08:00
```
2017-11-09 20:53:07 +08:00
## Gitalk
2018-04-26 12:34:28 +08:00
[Gitalk ](https://github.com/gitalk/gitalk ) is a modern comment component based on Github Issue and Preact.
2017-11-09 20:53:07 +08:00
```html
2022-03-06 12:25:09 +08:00
< link rel = "stylesheet" href = "//cdn.jsdelivr.net/npm/gitalk/dist/gitalk.css" / >
2017-11-09 20:53:07 +08:00
2020-02-12 19:40:23 +08:00
< script src = "//cdn.jsdelivr.net/npm/docsify/lib/plugins/gitalk.min.js" > < / script >
< script src = "//cdn.jsdelivr.net/npm/gitalk/dist/gitalk.min.js" > < / script >
2017-11-09 20:53:07 +08:00
< script >
const gitalk = new Gitalk({
clientID: 'Github Application Client ID',
clientSecret: 'Github Application Client Secret',
repo: 'Github repo',
owner: 'Github repo owner',
2022-03-06 12:25:09 +08:00
admin: [
'Github repo collaborators, only these guys can initialize github issues',
],
2017-11-09 20:53:07 +08:00
// facebook-like distraction free mode
2022-03-06 12:25:09 +08:00
distractionFreeMode: false,
});
2017-11-09 20:53:07 +08:00
< / script >
2017-12-14 23:09:08 +08:00
```
2018-06-29 21:33:17 +08:00
## Pagination
2017-12-14 23:09:08 +08:00
Pagination for docsify. By [@imyelo ](https://github.com/imyelo )
```html
2020-02-12 19:40:23 +08:00
< script src = "//cdn.jsdelivr.net/npm/docsify/lib/docsify.min.js" > < / script >
< script src = "//cdn.jsdelivr.net/npm/docsify-pagination/dist/docsify-pagination.min.js" > < / script >
2017-12-14 23:09:08 +08:00
```
2021-04-11 21:02:11 +08:00
Click [here ](https://github.com/imyelo/docsify-pagination#readme ) to get more information.
2018-10-23 15:28:31 +08:00
## Tabs
A docsify.js plugin for displaying tabbed content from markdown.
2018-11-01 14:05:10 +08:00
- [Documentation & Demos ](https://jhildenbiddle.github.io/docsify-tabs )
2018-10-23 15:28:31 +08:00
Provided by [@jhildenbiddle ](https://github.com/jhildenbiddle/docsify-tabs ).
2018-11-01 14:05:10 +08:00
## More plugins
See [awesome-docsify ](awesome?id=plugins )