mirror of
https://github.com/docsifyjs/docsify.git
synced 2025-12-08 19:55:52 +00:00
Style updates: - New "core" theme serves as base for all other themes (official and third-party) - New CSS custom properties for simplified customization of "core" theme **Note:** List of available properties will be made available in documentation by embedding soruce CSS in docs after merge. Merge is required because embedded CSS needs to be in `main` branch. For now, see `_vars.css` and `_vars-advanced.css` for details. - New theme "add-ons" modify core theme properties and/or add custom declarations as needed. - New Prism.js theme support - New configurable sidebar toggle design - New typography defaults to system sans-serif and monospace fonts instead of relying on external web font. - New "Core Dark" theme addon provide dark theme styles. Can optionally be applied based on operating system's light/dark setting using `@media` attribute on `<link>` element. - New "Vue" theme addon. Closely replicated popular v4 theme while allowing for v5 enhancements. - New CSS class names available for adding loading indicators, adding sidebar expand/collapse icons, adding sidebar group styles, clamping sidebar links to a single line with ellipses, and changing the sidebar toggle icon. - New auto-generated gradient background for cover page (ensure gradient hue is > 50 degree apart, use OKLCH color if supported, randomize grandient angle, reduce brightness in dark mode) - New button styles (basic, primary, secondary) - New form element styles (text input, radio, checkbox, ) - New "callouts" (previously "important" and "tip" helpers) - New default syntax highlighting theme (from [docsify-themeable](https://jhildenbiddle.github.io/docsify-themeable/)) - New auto-generated theme color shade and tint colors - New auto-generated monochromatic color palette - New form element styles (fields, legend, text input, text area, checkbox, radio, toggles, and select) - New "headerless" tables - New `kbd` styles - New task list style - New merged navbar styles (consistent with sidebar nav styles) - New search plugin styles and keyboard shortcut indicators - Add ability restore previously focused content element after hiding sidebar - Add "focus trap" when sidebar is visible on mobile (accessibility) - Add ability for sidebar links to wrap by default (previous single-line w/ ellipsis display available as CSS class on `<body>` option) - Add sidebar `page-link`, `group`, and `group-title` CSS classes to sidebar markup. - Add reduced motion media query to set all animation/transition timings to zero - Update Google Font imports (use new variable vs older fixed width fonts) - Update primary/secondary button order on coverpage (primary should be first) - Fix missing merged navbar when loading at desktop resolution then resizing to mobile - Fix inverted open/close sidebar visibility state at desktop/mobile resolutions - Fix overflow setting to prevent clipping of element focus ring - Fix safe area inset margins on mobile in landscape orientation - Fix inverted "tip" and "warn" class names - Fix scroll padding to prevent headers from touching top edge of viewport when scrolled to - Remove Stylus dependency (now using only PostCSS) - Remove legacy themes "Buble", "Dark", "Dolphin", and "Pure". Documentation updates: - New "UI Kit" page showcasing all elements styled by Docsify - Update "Quick Start" page template - Update "Adding pages" page with information on how to properly create sidebar group titles and navbar drop-down menus - Update "Themes" page with theme and class toggles - Update "Configuration" page with deprecation warnings for `themeColor` and `topMargin` - Move "Edit Page" link to footer - Remove [docsify-themeable](https://jhildenbiddle.github.io/docsify-themeable/) endorsement (currently not compatible with v5 and future is unknown) Miscellaneous updates: - New search plugin options: `insertBefore` and `insertAfter` - Add PostCSS config file - Update BrowserSync config (disable "ghost" mode) - Update tests - Fix Jest + Prettier 3 conflict - Fix `getAndRemoveDocisfyIgnoreConfig` name type (now `Docisfy` => `Docsify`) - Fix execution of sidebar-generating code when `hiddenSidebar` is `true` - Remove `inBrowser` constant (SSR deprecated, so no longer needed)
235 lines
7.1 KiB
Markdown
235 lines
7.1 KiB
Markdown
# List of Plugins
|
|
|
|
## Full text search
|
|
|
|
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.
|
|
|
|
<!-- prettier-ignore -->
|
|
```html
|
|
<script>
|
|
window.$docsify = {
|
|
search: 'auto', // default
|
|
|
|
search: [
|
|
'/', // => /README.md
|
|
'/guide', // => /guide.md
|
|
'/get-started', // => /get-started.md
|
|
'/zh-cn/', // => /zh-cn/README.md
|
|
],
|
|
|
|
// Complete configuration parameters
|
|
search: {
|
|
// Location in sidebar (default: prepended as first child)
|
|
// Optionally specify insertAfter or insertBefore (not both)
|
|
insertAfter: '.app-name', // CSS selector in .sidebar scope
|
|
insertBefore: '.sidebar-nav', // CSS selector in .sidebar scope
|
|
|
|
maxAge: 86400000, // Expiration time, the default one day
|
|
paths: [], // or 'auto'
|
|
placeholder: 'Type to search',
|
|
|
|
// Localization
|
|
placeholder: {
|
|
'/zh-cn/': '搜索',
|
|
'/': 'Type to search',
|
|
},
|
|
|
|
noData: 'No Results!',
|
|
|
|
// Localization
|
|
noData: {
|
|
'/zh-cn/': '找不到结果',
|
|
'/': 'No Results',
|
|
},
|
|
|
|
// Headline depth, 1 - 6
|
|
depth: 2,
|
|
|
|
hideOtherSidebarContent: true, // Deprecated as of v5
|
|
|
|
// To avoid search index collision
|
|
// between multiple websites under the same domain
|
|
namespace: 'website-1',
|
|
|
|
// 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
|
|
pathNamespaces: /^(\/(zh-cn|ru-ru))?(\/(v1|v2))?/,
|
|
},
|
|
};
|
|
</script>
|
|
<script src="//cdn.jsdelivr.net/npm/docsify@5/dist/docsify.min.js"></script>
|
|
<script src="//cdn.jsdelivr.net/npm/docsify@5/dist/plugins/search.min.js"></script>
|
|
```
|
|
|
|
This plugin ignores diacritical marks when performing a full text search (e.g., "cafe" will also match "café").
|
|
|
|
## Google Analytics
|
|
|
|
> 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.
|
|
|
|
Install the plugin and configure the track id.
|
|
|
|
```html
|
|
<script>
|
|
window.$docsify = {
|
|
ga: 'UA-XXXXX-Y',
|
|
};
|
|
</script>
|
|
<script src="//cdn.jsdelivr.net/npm/docsify@5/dist/docsify.min.js"></script>
|
|
<script src="//cdn.jsdelivr.net/npm/docsify@5/dist/plugins/ga.min.js"></script>
|
|
```
|
|
|
|
Configure by `data-ga`.
|
|
|
|
<!-- prettier-ignore -->
|
|
```html
|
|
<script src="//cdn.jsdelivr.net/npm/docsify@5/dist/docsify.min.js" data-ga="UA-XXXXX-Y"></script>
|
|
<script src="//cdn.jsdelivr.net/npm/docsify@5/dist/plugins/ga.min.js"></script>
|
|
```
|
|
|
|
## 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@5/dist/docsify.min.js"></script>
|
|
<script src="//cdn.jsdelivr.net/npm/docsify@5/dist/plugins/gtag.min.js"></script>
|
|
```
|
|
|
|
## Emoji
|
|
|
|
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.
|
|
|
|
```html
|
|
<script src="//cdn.jsdelivr.net/npm/docsify@5/dist/plugins/emoji.min.js"></script>
|
|
```
|
|
|
|
## 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
|
|
<script src="//cdn.jsdelivr.net/npm/docsify@5/dist/plugins/external-script.min.js"></script>
|
|
```
|
|
|
|
## Zoom image
|
|
|
|
Medium's image zoom. Based on [medium-zoom](https://github.com/francoischalifour/medium-zoom).
|
|
|
|
```html
|
|
<script src="//cdn.jsdelivr.net/npm/docsify@5/dist/plugins/zoom-image.min.js"></script>
|
|
```
|
|
|
|
Exclude the special image
|
|
|
|
```markdown
|
|

|
|
```
|
|
|
|
## Edit on github
|
|
|
|
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)
|
|
|
|
## 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.
|
|
|
|
## Copy to Clipboard
|
|
|
|
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)
|
|
|
|
```html
|
|
<script src="//cdn.jsdelivr.net/npm/docsify-copy-code/dist/docsify-copy-code.min.js"></script>
|
|
```
|
|
|
|
See [here](https://github.com/jperasmus/docsify-copy-code/blob/master/README.md) for more details.
|
|
|
|
## Disqus
|
|
|
|
Disqus comments. https://disqus.com/
|
|
|
|
```html
|
|
<script>
|
|
window.$docsify = {
|
|
disqus: 'shortname',
|
|
};
|
|
</script>
|
|
<script src="//cdn.jsdelivr.net/npm/docsify@5/dist/plugins/disqus.min.js"></script>
|
|
```
|
|
|
|
## Gitalk
|
|
|
|
[Gitalk](https://github.com/gitalk/gitalk) is a modern comment component based on Github Issue and Preact.
|
|
|
|
```html
|
|
<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/gitalk/dist/gitalk.css" />
|
|
|
|
<script src="//cdn.jsdelivr.net/npm/docsify@5/dist/plugins/gitalk.min.js"></script>
|
|
<script src="//cdn.jsdelivr.net/npm/gitalk/dist/gitalk.min.js"></script>
|
|
<script>
|
|
const gitalk = new Gitalk({
|
|
clientID: 'Github Application Client ID',
|
|
clientSecret: 'Github Application Client Secret',
|
|
repo: 'Github repo',
|
|
owner: 'Github repo owner',
|
|
admin: [
|
|
'Github repo collaborators, only these guys can initialize github issues',
|
|
],
|
|
// facebook-like distraction free mode
|
|
distractionFreeMode: false,
|
|
});
|
|
</script>
|
|
```
|
|
|
|
## Pagination
|
|
|
|
Pagination for docsify. By [@imyelo](https://github.com/imyelo)
|
|
|
|
```html
|
|
<script src="//cdn.jsdelivr.net/npm/docsify@5/dist/docsify.min.js"></script>
|
|
<script src="//cdn.jsdelivr.net/npm/docsify-pagination/dist/docsify-pagination.min.js"></script>
|
|
```
|
|
|
|
Click [here](https://github.com/imyelo/docsify-pagination#readme) to get more information.
|
|
|
|
## Tabs
|
|
|
|
A docsify.js plugin for displaying tabbed content from markdown.
|
|
|
|
- [Documentation & Demos](https://jhildenbiddle.github.io/docsify-tabs)
|
|
|
|
Provided by [@jhildenbiddle](https://github.com/jhildenbiddle/docsify-tabs).
|
|
|
|
## More plugins
|
|
|
|
See [awesome-docsify](awesome?id=plugins)
|