mirror of
https://github.com/wahyd4/docsify.git
synced 2026-08-25 05:06:07 +10:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a9704b5156 | ||
|
|
16d730ec3d | ||
|
|
08afec7d2a | ||
|
|
fcee316d2c | ||
|
|
1d2b546602 | ||
|
|
97793bfd6c | ||
|
|
ae3f74bfd4 | ||
|
|
04eaf4026b | ||
|
|
46ac4c3fd2 | ||
|
|
44dc68c6b2 | ||
|
|
6c702d3362 | ||
|
|
c476e49164 | ||
|
|
0329bab359 | ||
|
|
62aa161bff | ||
|
|
3854692331 | ||
|
|
2066cb672d | ||
|
|
5b7b60c553 | ||
|
|
388ed3d685 | ||
|
|
e898350a84 | ||
|
|
9c62fb41b8 | ||
|
|
9b73b0bf8a | ||
|
|
9d43051791 | ||
|
|
f0aca1905c | ||
|
|
2959497874 | ||
|
|
5a9921f5e7 | ||
|
|
c9d556d829 | ||
|
|
a0e1ea811a | ||
|
|
f82f41900e | ||
|
|
7a4d9bc5cd | ||
|
|
5e522879dd | ||
|
|
a72e7a3a3f | ||
|
|
26c22a9843 | ||
|
|
4ce118d60f | ||
|
|
3ad1645b90 | ||
|
|
41967fa8fa | ||
|
|
48276db15d | ||
|
|
b67ea62c75 | ||
|
|
f4800e09f1 | ||
|
|
ac10de1c5b | ||
|
|
d6ac7031b0 | ||
|
|
4417f4669d | ||
|
|
b7735066ff | ||
|
|
10045249d3 | ||
|
|
190710733e | ||
|
|
b292d819fc | ||
|
|
7f270f93c6 | ||
|
|
c3a149679a | ||
|
|
5efa763075 | ||
|
|
03a04f7898 | ||
|
|
a88252c6b2 | ||
|
|
2f5f90750a | ||
|
|
709c152950 | ||
|
|
b09a5a317e | ||
|
|
628e2115a3 | ||
|
|
271dde8f5e | ||
|
|
1fa1619278 | ||
|
|
3de3def8a8 | ||
|
|
fb25726426 | ||
|
|
36ddc42e91 | ||
|
|
abb0f6019f | ||
|
|
b8dd346baf | ||
|
|
7191d702e1 | ||
|
|
c039f1bfc0 | ||
|
|
f859d2d0b2 | ||
|
|
9735f4036e | ||
|
|
b8a96b867b | ||
|
|
b7b589b1bf | ||
|
|
761e38f6ad |
@@ -1,9 +1,3 @@
|
|||||||
sudo: false
|
sudo: false
|
||||||
cache:
|
|
||||||
directories:
|
|
||||||
- $HOME/.yarn-cache
|
|
||||||
language: node_js
|
language: node_js
|
||||||
node_js: stable
|
node_js: stable
|
||||||
os:
|
|
||||||
- linux
|
|
||||||
- osx
|
|
||||||
|
|||||||
+153
@@ -1,3 +1,156 @@
|
|||||||
|
<a name="4.3.6"></a>
|
||||||
|
## [4.3.6](https://github.com/QingWei-Li/docsify/compare/v4.3.5...v4.3.6) (2017-09-21)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* style for codesponsor plugin ([08afec7](https://github.com/QingWei-Li/docsify/commit/08afec7))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a name="4.3.5"></a>
|
||||||
|
## [4.3.5](https://github.com/QingWei-Li/docsify/compare/v4.3.4...v4.3.5) (2017-09-20)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* missed symbol ([#254](https://github.com/QingWei-Li/docsify/issues/254)) ([6c702d3](https://github.com/QingWei-Li/docsify/commit/6c702d3))
|
||||||
|
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* **plugin:** add codesponsor plugin ([46ac4c3](https://github.com/QingWei-Li/docsify/commit/46ac4c3))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a name="4.3.4"></a>
|
||||||
|
## [4.3.4](https://github.com/QingWei-Li/docsify/compare/v4.3.3...v4.3.4) (2017-09-07)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* scroll position issue, fixed [#234](https://github.com/QingWei-Li/docsify/issues/234) ([388ed3d](https://github.com/QingWei-Li/docsify/commit/388ed3d))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a name="4.3.3"></a>
|
||||||
|
## [4.3.3](https://github.com/QingWei-Li/docsify/compare/v4.3.2...v4.3.3) (2017-09-06)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **buble.css:** tweaks code block style, fixed [#249](https://github.com/QingWei-Li/docsify/issues/249) ([9d43051](https://github.com/QingWei-Li/docsify/commit/9d43051))
|
||||||
|
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* add doc for react and vue demo box plugin ([#247](https://github.com/QingWei-Li/docsify/issues/247)) ([f0aca19](https://github.com/QingWei-Li/docsify/commit/f0aca19))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a name="4.3.2"></a>
|
||||||
|
## [4.3.2](https://github.com/QingWei-Li/docsify/compare/v4.3.1...v4.3.2) (2017-09-01)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* sidebar highlight ([f82f419](https://github.com/QingWei-Li/docsify/commit/f82f419))
|
||||||
|
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* add Edit on github plugin (thanks [@njleonzhang](https://github.com/njleonzhang)) ([a0e1ea8](https://github.com/QingWei-Li/docsify/commit/a0e1ea8))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a name="4.3.1"></a>
|
||||||
|
## [4.3.1](https://github.com/QingWei-Li/docsify/compare/v4.2.9...v4.3.1) (2017-08-30)
|
||||||
|
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* **markdown:** supports mermaid [#137](https://github.com/QingWei-Li/docsify/issues/137) ([f4800e0](https://github.com/QingWei-Li/docsify/commit/f4800e0))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a name="4.3.0"></a>
|
||||||
|
# [4.3.0](https://github.com/QingWei-Li/docsify/compare/v4.2.9...v4.3.0) (2017-08-17)
|
||||||
|
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* **markdown:** supports mermaid [#137](https://github.com/QingWei-Li/docsify/issues/137) ([f4800e0](https://github.com/QingWei-Li/docsify/commit/f4800e0))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a name="4.2.9"></a>
|
||||||
|
## [4.2.9](https://github.com/QingWei-Li/docsify/compare/v4.2.8...v4.2.9) (2017-08-15)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* ensure document ready before init Docsify [#233](https://github.com/QingWei-Li/docsify/issues/233)
|
||||||
|
|
||||||
|
<a name="4.2.8"></a>
|
||||||
|
## [4.2.8](https://github.com/QingWei-Li/docsify/compare/v4.2.7...v4.2.8) (2017-08-10)
|
||||||
|
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* **compiler:** support for setting target attribute for link, fixed [#230](https://github.com/QingWei-Li/docsify/issues/230) ([7f270f9](https://github.com/QingWei-Li/docsify/commit/7f270f9))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a name="4.2.7"></a>
|
||||||
|
## [4.2.7](https://github.com/QingWei-Li/docsify/compare/v4.2.4...v4.2.7) (2017-08-05)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **release:** release shell ([628e211](https://github.com/QingWei-Li/docsify/commit/628e211))
|
||||||
|
* **style:** nowrap => pre-wrap, fixed [#228](https://github.com/QingWei-Li/docsify/issues/228) ([a88252c](https://github.com/QingWei-Li/docsify/commit/a88252c))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a name="4.2.6"></a>
|
||||||
|
## [4.2.6](https://github.com/QingWei-Li/docsify/compare/v4.2.4...v4.2.6) (2017-07-27)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **css:** hide the nav when the content has not yet been loaded ([1fa1619](https://github.com/QingWei-Li/docsify/commit/1fa1619))
|
||||||
|
* **release:** release shell ([628e211](https://github.com/QingWei-Li/docsify/commit/628e211))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a name="4.2.4"></a>
|
||||||
|
## [4.2.4](https://github.com/QingWei-Li/docsify/compare/v4.2.2...v4.2.4) (2017-07-26)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **render:** Remove getRootNode to be compatible with the lower version of Chrome, fixed [#225](https://github.com/QingWei-Li/docsify/issues/225) ([b8dd346](https://github.com/QingWei-Li/docsify/commit/b8dd346))
|
||||||
|
|
||||||
|
<a name="4.2.3"></a>
|
||||||
|
## [4.2.3](https://github.com/QingWei-Li/docsify/compare/v4.2.2...v4.2.3) (2017-07-26)
|
||||||
|
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* **search:** Supports the max depth of the search headline, fixed [#223](https://github.com/QingWei-Li/docsify/issues/223), resolve [#129](https://github.com/QingWei-Li/docsify/issues/129) ([b7b589b](https://github.com/QingWei-Li/docsify/commit/b7b589b))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a name="4.2.2"></a>
|
||||||
|
## [4.2.2](https://github.com/QingWei-Li/docsify/compare/v4.2.1...v4.2.2) (2017-07-24)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* style rerender due to setting themeColor ([17ff3d1](https://github.com/QingWei-Li/docsify/commit/17ff3d1))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a name="4.2.1"></a>
|
<a name="4.2.1"></a>
|
||||||
## [4.2.1](https://github.com/QingWei-Li/docsify/compare/v4.2.0...v4.2.1) (2017-07-19)
|
## [4.2.1](https://github.com/QingWei-Li/docsify/compare/v4.2.0...v4.2.1) (2017-07-19)
|
||||||
|
|
||||||
|
|||||||
@@ -13,13 +13,17 @@
|
|||||||
<a href="https://www.npmjs.com/package/docsify"><img alt="npm" src="https://img.shields.io/npm/v/docsify.svg?style=flat-square"></a>
|
<a href="https://www.npmjs.com/package/docsify"><img alt="npm" src="https://img.shields.io/npm/v/docsify.svg?style=flat-square"></a>
|
||||||
<a href="https://cdnjs.com/libraries/docsify"><img alt="cdnjs" src="https://img.shields.io/cdnjs/v/docsify.svg?style=flat-square"></a>
|
<a href="https://cdnjs.com/libraries/docsify"><img alt="cdnjs" src="https://img.shields.io/cdnjs/v/docsify.svg?style=flat-square"></a>
|
||||||
<a href="https://github.com/QingWei-Li/donate"><img alt="donate" src="https://img.shields.io/badge/%24-donate-ff69b4.svg?style=flat-square"></a>
|
<a href="https://github.com/QingWei-Li/donate"><img alt="donate" src="https://img.shields.io/badge/%24-donate-ff69b4.svg?style=flat-square"></a>
|
||||||
<a href="https://app.fossa.io/projects/git%2Bhttps%3A%2F%2Fgithub.com%2FQingWei-Li%2Fdocsify?ref=badge_shield" alt="FOSSA Status"><img src="https://app.fossa.io/api/projects/git%2Bhttps%3A%2F%2Fgithub.com%2FQingWei-Li%2Fdocsify.svg?type=shield"/></a>
|
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
<a target='_blank' rel='nofollow' href='https://app.codesponsor.io/link/YdWAqnN2kHQmLtFQhEddaaPT/QingWei-Li/docsify'> <img alt='Sponsor' width='888' height='68' src='https://app.codesponsor.io/embed/YdWAqnN2kHQmLtFQhEddaaPT/QingWei-Li/docsify.svg' /></a>
|
||||||
|
|
||||||
|
|
||||||
## Links
|
## Links
|
||||||
|
|
||||||
- [Documentation](https://docsify.js.org)
|
- [Documentation](https://docsify.js.org)
|
||||||
- [CLI](https://github.com/QingWei-Li/docsify-cli)
|
- [CLI](https://github.com/QingWei-Li/docsify-cli)
|
||||||
|
- CDN: [UNPKG](https://unpkg.com/docsify/) | [jsDelivr](https://cdn.jsdelivr.net/npm/docsify/)
|
||||||
|
|
||||||
## Features
|
## Features
|
||||||
|
|
||||||
@@ -74,6 +78,9 @@ These projects are using docsify to generate their sites. Pull requests welcome
|
|||||||
| [palettify](https://dobromir-hristov.github.io/palettify/) | A color palette effects assistant |
|
| [palettify](https://dobromir-hristov.github.io/palettify/) | A color palette effects assistant |
|
||||||
| [commitlint](https://marionebl.github.io/commitlint/) | Lint commit messages |
|
| [commitlint](https://marionebl.github.io/commitlint/) | Lint commit messages |
|
||||||
| [vue-data-tables](https://github.com/njleonzhang/vue-data-tables/) | A simple and customizable data table,based on vue2 and element-ui. |
|
| [vue-data-tables](https://github.com/njleonzhang/vue-data-tables/) | A simple and customizable data table,based on vue2 and element-ui. |
|
||||||
|
| [Noty](http://ned.im/noty/) | A Dependency-free notification library |
|
||||||
|
| [xTeko](https://docs.xteko.com/) | Addins framework for Pin 3.0 |
|
||||||
|
| [vue2-datatable-component](https://github.com/OneWayTech/vue2-datatable) | The best Datatable for Vue.js 2.x which never sucks |
|
||||||
|
|
||||||
## Similar projects
|
## Similar projects
|
||||||
|
|
||||||
@@ -103,3 +110,4 @@ open http://localhost:3000
|
|||||||
MIT
|
MIT
|
||||||
|
|
||||||
[](https://app.fossa.io/projects/git%2Bhttps%3A%2F%2Fgithub.com%2FQingWei-Li%2Fdocsify?ref=badge_large)
|
[](https://app.fossa.io/projects/git%2Bhttps%3A%2F%2Fgithub.com%2FQingWei-Li%2Fdocsify?ref=badge_large)
|
||||||
|
|
||||||
|
|||||||
+2
-1
@@ -47,7 +47,8 @@ var plugins = [
|
|||||||
{ name: 'emoji', entry: 'emoji.js' },
|
{ name: 'emoji', entry: 'emoji.js' },
|
||||||
{ name: 'external-script', entry: 'external-script.js' },
|
{ name: 'external-script', entry: 'external-script.js' },
|
||||||
{ name: 'front-matter', entry: 'front-matter/index.js' },
|
{ name: 'front-matter', entry: 'front-matter/index.js' },
|
||||||
{ name: 'zoom-image', entry: 'zoom-image.js' }
|
{ name: 'zoom-image', entry: 'zoom-image.js' },
|
||||||
|
{ name: 'codesponsor', entry: 'codesponsor.js' }
|
||||||
]
|
]
|
||||||
|
|
||||||
plugins.forEach(item => {
|
plugins.forEach(item => {
|
||||||
|
|||||||
+2
-1
@@ -30,7 +30,7 @@ if [[ $REPLY =~ ^[Yy]$ ]]; then
|
|||||||
# commit
|
# commit
|
||||||
git add -A
|
git add -A
|
||||||
git commit -m "[build] $VERSION $RELEASE_TAG"
|
git commit -m "[build] $VERSION $RELEASE_TAG"
|
||||||
npm version $VERSION --message "[release] $VERSION $RELEASE_TAG"
|
npm --no-git-tag-version version $VERSION --message "[release] $VERSION $RELEASE_TAG"
|
||||||
|
|
||||||
# changelog
|
# changelog
|
||||||
node_modules/.bin/conventional-changelog -p angular -i CHANGELOG.md -s
|
node_modules/.bin/conventional-changelog -p angular -i CHANGELOG.md -s
|
||||||
@@ -39,6 +39,7 @@ if [[ $REPLY =~ ^[Yy]$ ]]; then
|
|||||||
git commit -m "chore: add changelog $VERSION"
|
git commit -m "chore: add changelog $VERSION"
|
||||||
|
|
||||||
# publish
|
# publish
|
||||||
|
git tag v$VERSION
|
||||||
git push origin refs/tags/v$VERSION
|
git push origin refs/tags/v$VERSION
|
||||||
git push
|
git push
|
||||||
if [[ -z $RELEASE_TAG ]]; then
|
if [[ -z $RELEASE_TAG ]]; then
|
||||||
|
|||||||
@@ -29,7 +29,7 @@
|
|||||||
loadSidebar: true,
|
loadSidebar: true,
|
||||||
coverpage: true,
|
coverpage: true,
|
||||||
name: 'docsify',
|
name: 'docsify',
|
||||||
subMaxLevel: 0,
|
subMaxLevel: 2,
|
||||||
mergeNavbar: true,
|
mergeNavbar: true,
|
||||||
formatUpdated: '{MM}/{DD} {HH}:{mm}',
|
formatUpdated: '{MM}/{DD} {HH}:{mm}',
|
||||||
plugins: [
|
plugins: [
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||

|

|
||||||
|
|
||||||
# docsify <small>4.2.2</small>
|
# docsify <small>4.3.6</small>
|
||||||
|
|
||||||
> A magical documentation site generator.
|
> A magical documentation site generator.
|
||||||
|
|
||||||
|
|||||||
@@ -49,3 +49,10 @@ You will get `<a href="/demo/">link</a>`html. Do not worry, you can still set ti
|
|||||||
|
|
||||||
<a href="/demo/" title="title">link</a>
|
<a href="/demo/" title="title">link</a>
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Set target attribute for link
|
||||||
|
|
||||||
|
```md
|
||||||
|
[link](/demo ":target=_blank")
|
||||||
|
[link](/demo2 ":target=_self")
|
||||||
|
```
|
||||||
|
|||||||
@@ -28,3 +28,30 @@ window.$docsify = {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
## Supports mermaid
|
||||||
|
|
||||||
|
```js
|
||||||
|
// Import mermaid
|
||||||
|
// <link rel="stylesheet" href="//cdn.jsdelivr.net/npm/mermaid/dist/mermaid.min.css">
|
||||||
|
// <script src="//cdn.jsdelivr.net/npm/mermaid/dist/mermaid.min.js"></script>
|
||||||
|
|
||||||
|
mermaid.initialize({ startOnLoad: false });
|
||||||
|
|
||||||
|
window.$docsify = {
|
||||||
|
markdown: {
|
||||||
|
renderer: {
|
||||||
|
code: function(code, lang) {
|
||||||
|
if (lang === "mermaid") {
|
||||||
|
return (
|
||||||
|
'<div class="mermaid">' + mermaid.render(lang, code) + "</div>"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
return this.origin.code.apply(this, arguments);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
|||||||
+24
-1
@@ -35,7 +35,10 @@ Als Standardeinstellung werden Hyperlinks auf der aktuellen Seite erkannt und de
|
|||||||
noData: {
|
noData: {
|
||||||
'/de-de/': 'Keine Ergebnisse',
|
'/de-de/': 'Keine Ergebnisse',
|
||||||
'/': 'No Results'
|
'/': 'No Results'
|
||||||
}
|
},
|
||||||
|
|
||||||
|
// Headline depth, 1 - 6
|
||||||
|
depth: 2
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
@@ -93,3 +96,23 @@ Medium's Bilderzoom. Basierend auf [zoom-image](https://github.com/egoist/zoom-i
|
|||||||
```html
|
```html
|
||||||
<script src="//unpkg.com/docsify/lib/plugins/zoom-image.min.js"></script>
|
<script src="//unpkg.com/docsify/lib/plugins/zoom-image.min.js"></script>
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Edit on github
|
||||||
|
|
||||||
|
Add `Edit on github` button on every pages. provided by 3rd party, check [document](https://github.com/njleonzhang/docsify-edit-on-github)
|
||||||
|
|
||||||
|
|
||||||
|
## CodeSponsor
|
||||||
|
|
||||||
|
See https://codesponsor.io
|
||||||
|
|
||||||
|
|
||||||
|
```html
|
||||||
|
<script>
|
||||||
|
window.$docsify = {
|
||||||
|
codesponsor: 'id'
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<script src="//unpkg.com/docsify/lib/plugins/codesponsor.min.js"></script>
|
||||||
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -50,3 +50,10 @@ You will get `<a href="/demo/">link</a>`html. Do not worry, you can still set ti
|
|||||||
<a href="/demo/" title="title">link</a>
|
<a href="/demo/" title="title">link</a>
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Set target attribute for link
|
||||||
|
|
||||||
|
```md
|
||||||
|
[link](/demo ":target=_blank")
|
||||||
|
[link](/demo2 ":target=_self")
|
||||||
|
```
|
||||||
|
|
||||||
|
|||||||
+13
-9
@@ -7,10 +7,10 @@
|
|||||||
<meta name="keywords" content="doc,docs,documentation,gitbook,creator,generator,github,jekyll,github-pages">
|
<meta name="keywords" content="doc,docs,documentation,gitbook,creator,generator,github,jekyll,github-pages">
|
||||||
<meta name="description" content="A magical documentation generator.">
|
<meta name="description" content="A magical documentation generator.">
|
||||||
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
|
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
|
||||||
<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/docsify@latest/lib/themes/vue.css" title="vue">
|
<link rel="stylesheet" href="//unpkg.com/docsify/lib/themes/vue.css" title="vue">
|
||||||
<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/docsify@latest/lib/themes/dark.css" title="dark" disabled>
|
<link rel="stylesheet" href="//unpkg.com/docsify/lib/themes/dark.css" title="dark" disabled>
|
||||||
<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/docsify@latest/lib/themes/buble.css" title="buble" disabled>
|
<link rel="stylesheet" href="//unpkg.com/docsify/lib/themes/buble.css" title="buble" disabled>
|
||||||
<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/docsify@latest/lib/themes/pure.css" title="pure" disabled>
|
<link rel="stylesheet" href="//unpkg.com/docsify/lib/themes/pure.css" title="pure" disabled>
|
||||||
<style>
|
<style>
|
||||||
nav.app-nav li ul {
|
nav.app-nav li ul {
|
||||||
min-width: 100px;
|
min-width: 100px;
|
||||||
@@ -34,6 +34,8 @@
|
|||||||
mergeNavbar: true,
|
mergeNavbar: true,
|
||||||
maxLevel: 4,
|
maxLevel: 4,
|
||||||
subMaxLevel: 2,
|
subMaxLevel: 2,
|
||||||
|
codesponsor: '7c9Ms7xRs-j_y_8abU03DA',
|
||||||
|
ga: 'UA-106147152-1',
|
||||||
name: 'docsify',
|
name: 'docsify',
|
||||||
search: {
|
search: {
|
||||||
noData: {
|
noData: {
|
||||||
@@ -65,9 +67,11 @@
|
|||||||
]
|
]
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<script src="//cdn.jsdelivr.net/npm/docsify@latest/lib/docsify.min.js"></script>
|
<script src="//unpkg.com/docsify/lib/docsify.min.js"></script>
|
||||||
<script src="//cdn.jsdelivr.net/npm/docsify@latest/lib/plugins/search.min.js"></script>
|
<script src="//unpkg.com/docsify/lib/plugins/search.min.js"></script>
|
||||||
<script src="//cdn.jsdelivr.net/npm/prismjs/components/prism-bash.min.js"></script>
|
<script src="//unpkg.com/docsify/lib/plugins/codesponsor.min.js"></script>
|
||||||
<script src="//cdn.jsdelivr.net/npm/prismjs/components/prism-markdown.min.js"></script>
|
<script src="//unpkg.com/docsify/lib/plugins/ga.min.js"></script>
|
||||||
<script src="//cdn.jsdelivr.net/npm/prismjs/components/prism-nginx.min.js"></script>
|
<script src="//unpkg.com/prismjs/components/prism-bash.min.js"></script>
|
||||||
|
<script src="//unpkg.com/prismjs/components/prism-markdown.min.js"></script>
|
||||||
|
<script src="//unpkg.com/prismjs/components/prism-nginx.min.js"></script>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -28,3 +28,28 @@ window.$docsify = {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Supports mermaid
|
||||||
|
|
||||||
|
```js
|
||||||
|
// Import mermaid
|
||||||
|
// <link rel="stylesheet" href="//cdn.jsdelivr.net/npm/mermaid/dist/mermaid.min.css">
|
||||||
|
// <script src="//cdn.jsdelivr.net/npm/mermaid/dist/mermaid.min.js"></script>
|
||||||
|
|
||||||
|
mermaid.initialize({ startOnLoad: false });
|
||||||
|
|
||||||
|
window.$docsify = {
|
||||||
|
markdown: {
|
||||||
|
renderer: {
|
||||||
|
code: function(code, lang) {
|
||||||
|
if (lang === "mermaid") {
|
||||||
|
return (
|
||||||
|
'<div class="mermaid">' + mermaid.render(lang, code) + "</div>"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
return this.origin.code.apply(this, arguments);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|||||||
+31
-1
@@ -35,7 +35,10 @@ By default, the hyperlink on the current page is recognized and the content is s
|
|||||||
noData: {
|
noData: {
|
||||||
'/zh-cn/': '找不到结果',
|
'/zh-cn/': '找不到结果',
|
||||||
'/': 'No Results'
|
'/': 'No Results'
|
||||||
}
|
},
|
||||||
|
|
||||||
|
// Headline depth, 1 - 6
|
||||||
|
depth: 2
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
@@ -93,3 +96,30 @@ Medium's Image Zoom. Based on [zoom-image](https://github.com/egoist/zoom-image)
|
|||||||
```html
|
```html
|
||||||
<script src="//unpkg.com/docsify/lib/plugins/zoom-image.min.js"></script>
|
<script src="//unpkg.com/docsify/lib/plugins/zoom-image.min.js"></script>
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Edit on github
|
||||||
|
|
||||||
|
Add `Edit on github` button on every pages. provided by 3rd party, check [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.
|
||||||
|
|
||||||
|
## CodeSponsor
|
||||||
|
|
||||||
|
See https://codesponsor.io
|
||||||
|
|
||||||
|
|
||||||
|
```html
|
||||||
|
<script>
|
||||||
|
window.$docsify = {
|
||||||
|
codesponsor: 'id'
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<script src="//unpkg.com/docsify/lib/plugins/codesponsor.min.js"></script>
|
||||||
|
```
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -28,7 +28,7 @@ Then you can immediately write Vue code at Markdown file. `new Vue({ el: '#main'
|
|||||||
<ul>
|
<ul>
|
||||||
<li v-for="i in 10">{{ i }}</li>
|
<li v-for="i in 10">{{ i }}</li>
|
||||||
</ul>
|
</ul>
|
||||||
``
|
```
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li v-for="i in 10">{{ i }}</li>
|
<li v-for="i in 10">{{ i }}</li>
|
||||||
|
|||||||
@@ -49,3 +49,10 @@ You will get `<a href="/demo/">link</a>`html. Do not worry, you can still set ti
|
|||||||
<a href="/demo/" title="title">link</a>
|
<a href="/demo/" title="title">link</a>
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
## Set target attribute for link
|
||||||
|
|
||||||
|
```md
|
||||||
|
[link](/demo ":target=_blank")
|
||||||
|
[link](/demo2 ":target=_self")
|
||||||
|
```
|
||||||
|
|||||||
+27
-1
@@ -27,4 +27,30 @@ window.$docsify = {
|
|||||||
return marked
|
return marked
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
## Supports mermaid
|
||||||
|
|
||||||
|
```js
|
||||||
|
// Import mermaid
|
||||||
|
// <link rel="stylesheet" href="//cdn.jsdelivr.net/npm/mermaid/dist/mermaid.min.css">
|
||||||
|
// <script src="//cdn.jsdelivr.net/npm/mermaid/dist/mermaid.min.js"></script>
|
||||||
|
|
||||||
|
mermaid.initialize({ startOnLoad: false });
|
||||||
|
|
||||||
|
window.$docsify = {
|
||||||
|
markdown: {
|
||||||
|
renderer: {
|
||||||
|
code: function(code, lang) {
|
||||||
|
if (lang === "mermaid") {
|
||||||
|
return (
|
||||||
|
'<div class="mermaid">' + mermaid.render(lang, code) + "</div>"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
return this.origin.code.apply(this, arguments);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|||||||
+25
-1
@@ -35,7 +35,10 @@
|
|||||||
noData: {
|
noData: {
|
||||||
'/zh-cn/': '找不到结果',
|
'/zh-cn/': '找不到结果',
|
||||||
'/': 'No Results'
|
'/': 'No Results'
|
||||||
}
|
},
|
||||||
|
|
||||||
|
// 搜索标题的最大程级, 1 - 6
|
||||||
|
depth: 2
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
@@ -87,3 +90,24 @@ Medium's 风格的图片缩放插件. 基于 [zoom-image](https://github.com/ego
|
|||||||
```html
|
```html
|
||||||
<script src="//unpkg.com/docsify/lib/plugins/zoom-image.js"></script>
|
<script src="//unpkg.com/docsify/lib/plugins/zoom-image.js"></script>
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
## Edit on github
|
||||||
|
|
||||||
|
Add `Edit on github` button on every pages. provided by 3rd party, check [document](https://github.com/njleonzhang/docsify-edit-on-github)
|
||||||
|
|
||||||
|
|
||||||
|
## CodeSponsor
|
||||||
|
|
||||||
|
See https://codesponsor.io
|
||||||
|
|
||||||
|
|
||||||
|
```html
|
||||||
|
<script>
|
||||||
|
window.$docsify = {
|
||||||
|
codesponsor: 'id'
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<script src="//unpkg.com/docsify/lib/plugins/codesponsor.min.js"></script>
|
||||||
|
```
|
||||||
|
|
||||||
|
|||||||
+171
-17
@@ -80,7 +80,7 @@ var config = merge({
|
|||||||
mergeNavbar: false,
|
mergeNavbar: false,
|
||||||
formatUpdated: '',
|
formatUpdated: '',
|
||||||
externalLinkTarget: '_blank',
|
externalLinkTarget: '_blank',
|
||||||
routerModel: 'hash',
|
routerMode: 'hash',
|
||||||
noCompileLinks: []
|
noCompileLinks: []
|
||||||
}, window.$docsify);
|
}, window.$docsify);
|
||||||
|
|
||||||
@@ -238,6 +238,11 @@ function toggleClass (el, type, val) {
|
|||||||
el && el.classList[val ? type : 'toggle'](val || type);
|
el && el.classList[val ? type : 'toggle'](val || type);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function style (content) {
|
||||||
|
appendTo(head, create('style', content));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
var dom = Object.freeze({
|
var dom = Object.freeze({
|
||||||
getNode: getNode,
|
getNode: getNode,
|
||||||
@@ -251,7 +256,8 @@ var dom = Object.freeze({
|
|||||||
before: before,
|
before: before,
|
||||||
on: on,
|
on: on,
|
||||||
off: off,
|
off: off,
|
||||||
toggleClass: toggleClass
|
toggleClass: toggleClass,
|
||||||
|
style: style
|
||||||
});
|
});
|
||||||
|
|
||||||
var inBrowser = typeof window !== 'undefined';
|
var inBrowser = typeof window !== 'undefined';
|
||||||
@@ -484,10 +490,10 @@ var cssVars = function (color) {
|
|||||||
if (!/\.css$/.test(href)) { return }
|
if (!/\.css$/.test(href)) { return }
|
||||||
|
|
||||||
get(href).then(function (res) {
|
get(href).then(function (res) {
|
||||||
var style = create('style', res);
|
var style$$1 = create('style', res);
|
||||||
|
|
||||||
head.appendChild(style);
|
head.appendChild(style$$1);
|
||||||
replaceVar(style, color);
|
replaceVar(style$$1, color);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -2817,11 +2823,13 @@ Compiler.prototype._initRenderer = function _initRenderer () {
|
|||||||
var router = ref.router;
|
var router = ref.router;
|
||||||
var contentBase = ref.contentBase;
|
var contentBase = ref.contentBase;
|
||||||
var _self = this;
|
var _self = this;
|
||||||
|
var origin = {};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* render anchor tag
|
* render anchor tag
|
||||||
* @link https://github.com/chjj/marked#overriding-renderer-methods
|
* @link https://github.com/chjj/marked#overriding-renderer-methods
|
||||||
*/
|
*/
|
||||||
renderer.heading = function (text, level) {
|
origin.heading = renderer.heading = function (text, level) {
|
||||||
var nextToc = { level: level, title: text };
|
var nextToc = { level: level, title: text };
|
||||||
|
|
||||||
if (/{docsify-ignore}/g.test(text)) {
|
if (/{docsify-ignore}/g.test(text)) {
|
||||||
@@ -2844,14 +2852,14 @@ Compiler.prototype._initRenderer = function _initRenderer () {
|
|||||||
return ("<h" + level + " id=\"" + slug + "\"><a href=\"" + url + "\" data-id=\"" + slug + "\" class=\"anchor\"><span>" + text + "</span></a></h" + level + ">")
|
return ("<h" + level + " id=\"" + slug + "\"><a href=\"" + url + "\" data-id=\"" + slug + "\" class=\"anchor\"><span>" + text + "</span></a></h" + level + ">")
|
||||||
};
|
};
|
||||||
// highlight code
|
// highlight code
|
||||||
renderer.code = function (code, lang) {
|
origin.code = renderer.code = function (code, lang) {
|
||||||
if ( lang === void 0 ) lang = '';
|
if ( lang === void 0 ) lang = '';
|
||||||
|
|
||||||
var hl = prism.highlight(code, prism.languages[lang] || prism.languages.markup);
|
var hl = prism.highlight(code, prism.languages[lang] || prism.languages.markup);
|
||||||
|
|
||||||
return ("<pre v-pre data-lang=\"" + lang + "\"><code class=\"lang-" + lang + "\">" + hl + "</code></pre>")
|
return ("<pre v-pre data-lang=\"" + lang + "\"><code class=\"lang-" + lang + "\">" + hl + "</code></pre>")
|
||||||
};
|
};
|
||||||
renderer.link = function (href, title, text) {
|
origin.link = renderer.link = function (href, title, text) {
|
||||||
var blank = '';
|
var blank = '';
|
||||||
|
|
||||||
if (!/:|(\/{2})/.test(href) &&
|
if (!/:|(\/{2})/.test(href) &&
|
||||||
@@ -2863,12 +2871,19 @@ Compiler.prototype._initRenderer = function _initRenderer () {
|
|||||||
title = title && title.replace(/:ignore/g, '').trim();
|
title = title && title.replace(/:ignore/g, '').trim();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var target = title && title.match(/:target=\w+/);
|
||||||
|
if (target) {
|
||||||
|
target = target[0];
|
||||||
|
title = title.replace(target, '');
|
||||||
|
blank = ' ' + target.slice(1);
|
||||||
|
}
|
||||||
|
|
||||||
if (title) {
|
if (title) {
|
||||||
title = " title=\"" + title + "\"";
|
title = " title=\"" + title + "\"";
|
||||||
}
|
}
|
||||||
return ("<a href=\"" + href + "\"" + (title || '') + blank + ">" + text + "</a>")
|
return ("<a href=\"" + href + "\"" + (title || '') + blank + ">" + text + "</a>")
|
||||||
};
|
};
|
||||||
renderer.paragraph = function (text) {
|
origin.paragraph = renderer.paragraph = function (text) {
|
||||||
if (/^!>/.test(text)) {
|
if (/^!>/.test(text)) {
|
||||||
return helper('tip', text)
|
return helper('tip', text)
|
||||||
} else if (/^\?>/.test(text)) {
|
} else if (/^\?>/.test(text)) {
|
||||||
@@ -2876,7 +2891,7 @@ Compiler.prototype._initRenderer = function _initRenderer () {
|
|||||||
}
|
}
|
||||||
return ("<p>" + text + "</p>")
|
return ("<p>" + text + "</p>")
|
||||||
};
|
};
|
||||||
renderer.image = function (href, title, text) {
|
origin.image = renderer.image = function (href, title, text) {
|
||||||
var url = href;
|
var url = href;
|
||||||
var titleHTML = title ? (" title=\"" + title + "\"") : '';
|
var titleHTML = title ? (" title=\"" + title + "\"") : '';
|
||||||
|
|
||||||
@@ -2887,6 +2902,8 @@ Compiler.prototype._initRenderer = function _initRenderer () {
|
|||||||
return ("<img src=\"" + url + "\" data-origin=\"" + href + "\" alt=\"" + text + "\"" + titleHTML + ">")
|
return ("<img src=\"" + url + "\" data-origin=\"" + href + "\" alt=\"" + text + "\"" + titleHTML + ">")
|
||||||
};
|
};
|
||||||
|
|
||||||
|
renderer.origin = origin;
|
||||||
|
|
||||||
return renderer
|
return renderer
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -3020,15 +3037,128 @@ function getAndActive (router, el, isParent, autoTitle) {
|
|||||||
return target
|
return target
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true; } Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) { defineProperties(Constructor.prototype, protoProps); } if (staticProps) { defineProperties(Constructor, staticProps); } return Constructor; }; }();
|
||||||
|
|
||||||
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
||||||
|
|
||||||
|
var Tweezer = function () {
|
||||||
|
function Tweezer() {
|
||||||
|
var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
||||||
|
|
||||||
|
_classCallCheck(this, Tweezer);
|
||||||
|
|
||||||
|
this.duration = opts.duration || 1000;
|
||||||
|
this.ease = opts.easing || this._defaultEase;
|
||||||
|
this.start = opts.start;
|
||||||
|
this.end = opts.end;
|
||||||
|
|
||||||
|
this.frame = null;
|
||||||
|
this.next = null;
|
||||||
|
this.isRunning = false;
|
||||||
|
this.events = {};
|
||||||
|
this.direction = this.start < this.end ? 'up' : 'down';
|
||||||
|
}
|
||||||
|
|
||||||
|
_createClass(Tweezer, [{
|
||||||
|
key: 'begin',
|
||||||
|
value: function begin() {
|
||||||
|
if (!this.isRunning && this.next !== this.end) {
|
||||||
|
this.frame = window.requestAnimationFrame(this._tick.bind(this));
|
||||||
|
}
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
key: 'stop',
|
||||||
|
value: function stop() {
|
||||||
|
window.cancelAnimationFrame(this.frame);
|
||||||
|
this.isRunning = false;
|
||||||
|
this.frame = null;
|
||||||
|
this.timeStart = null;
|
||||||
|
this.next = null;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
key: 'on',
|
||||||
|
value: function on(name, handler) {
|
||||||
|
this.events[name] = this.events[name] || [];
|
||||||
|
this.events[name].push(handler);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
key: 'emit',
|
||||||
|
value: function emit(name, val) {
|
||||||
|
var _this = this;
|
||||||
|
|
||||||
|
var e = this.events[name];
|
||||||
|
e && e.forEach(function (handler) {
|
||||||
|
return handler.call(_this, val);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
key: '_tick',
|
||||||
|
value: function _tick(currentTime) {
|
||||||
|
this.isRunning = true;
|
||||||
|
|
||||||
|
var lastTick = this.next || this.start;
|
||||||
|
|
||||||
|
if (!this.timeStart) { this.timeStart = currentTime; }
|
||||||
|
this.timeElapsed = currentTime - this.timeStart;
|
||||||
|
this.next = Math.round(this.ease(this.timeElapsed, this.start, this.end - this.start, this.duration));
|
||||||
|
|
||||||
|
if (this._shouldTick(lastTick)) {
|
||||||
|
this.emit('tick', this.next);
|
||||||
|
this.frame = window.requestAnimationFrame(this._tick.bind(this));
|
||||||
|
} else {
|
||||||
|
this.emit('tick', this.end);
|
||||||
|
this.emit('done', null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
key: '_shouldTick',
|
||||||
|
value: function _shouldTick(lastTick) {
|
||||||
|
return {
|
||||||
|
up: this.next < this.end && lastTick <= this.next,
|
||||||
|
down: this.next > this.end && lastTick >= this.next
|
||||||
|
}[this.direction];
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
key: '_defaultEase',
|
||||||
|
value: function _defaultEase(t, b, c, d) {
|
||||||
|
if ((t /= d / 2) < 1) { return c / 2 * t * t + b; }
|
||||||
|
return -c / 2 * (--t * (t - 2) - 1) + b;
|
||||||
|
}
|
||||||
|
}]);
|
||||||
|
|
||||||
|
return Tweezer;
|
||||||
|
}();
|
||||||
|
|
||||||
var nav = {};
|
var nav = {};
|
||||||
var hoverOver = false;
|
var hoverOver = false;
|
||||||
|
var scroller = null;
|
||||||
|
var enableScrollEvent = true;
|
||||||
|
var coverHeight = 0;
|
||||||
|
|
||||||
|
function scrollTo (el) {
|
||||||
|
if (scroller) { scroller.stop(); }
|
||||||
|
enableScrollEvent = false;
|
||||||
|
scroller = new Tweezer({
|
||||||
|
start: window.scrollY,
|
||||||
|
end: el.getBoundingClientRect().top + window.scrollY,
|
||||||
|
duration: 500
|
||||||
|
})
|
||||||
|
.on('tick', function (v) { return window.scrollTo(0, v); })
|
||||||
|
.on('done', function () { enableScrollEvent = true; scroller = null; })
|
||||||
|
.begin();
|
||||||
|
}
|
||||||
|
|
||||||
function highlight () {
|
function highlight () {
|
||||||
|
if (!enableScrollEvent) { return }
|
||||||
var sidebar = getNode('.sidebar');
|
var sidebar = getNode('.sidebar');
|
||||||
var anchors = findAll('.anchor');
|
var anchors = findAll('.anchor');
|
||||||
var wrap = find(sidebar, '.sidebar-nav');
|
var wrap = find(sidebar, '.sidebar-nav');
|
||||||
var active = find(sidebar, 'li.active');
|
var active = find(sidebar, 'li.active');
|
||||||
var top = body.scrollTop;
|
var doc = document.documentElement;
|
||||||
|
var top = (doc && doc.scrollTop || document.body.scrollTop) - coverHeight;
|
||||||
var last;
|
var last;
|
||||||
|
|
||||||
for (var i = 0, len = anchors.length; i < len; i += 1) {
|
for (var i = 0, len = anchors.length; i < len; i += 1) {
|
||||||
@@ -3072,7 +3202,8 @@ function highlight () {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function scrollActiveSidebar (router) {
|
function scrollActiveSidebar (router) {
|
||||||
if (isMobile) { return }
|
var cover = find('.cover.show');
|
||||||
|
coverHeight = cover ? cover.offsetHeight : 0;
|
||||||
|
|
||||||
var sidebar = getNode('.sidebar');
|
var sidebar = getNode('.sidebar');
|
||||||
var lis = findAll(sidebar, 'li');
|
var lis = findAll(sidebar, 'li');
|
||||||
@@ -3087,9 +3218,11 @@ function scrollActiveSidebar (router) {
|
|||||||
href = router.parse(href).query.id;
|
href = router.parse(href).query.id;
|
||||||
}
|
}
|
||||||
|
|
||||||
nav[decodeURIComponent(href)] = li;
|
if (href) { nav[decodeURIComponent(href)] = li; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (isMobile) { return }
|
||||||
|
|
||||||
off('scroll', highlight);
|
off('scroll', highlight);
|
||||||
on('scroll', highlight);
|
on('scroll', highlight);
|
||||||
on(sidebar, 'mouseover', function () { hoverOver = true; });
|
on(sidebar, 'mouseover', function () { hoverOver = true; });
|
||||||
@@ -3097,8 +3230,16 @@ function scrollActiveSidebar (router) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function scrollIntoView (id) {
|
function scrollIntoView (id) {
|
||||||
|
if (!id) { return }
|
||||||
|
|
||||||
var section = find('#' + id);
|
var section = find('#' + id);
|
||||||
section && section.scrollIntoView();
|
section && scrollTo(section);
|
||||||
|
|
||||||
|
var li = nav[id];
|
||||||
|
var sidebar = getNode('.sidebar');
|
||||||
|
var active = find(sidebar, 'li.active');
|
||||||
|
active && active.classList.remove('active');
|
||||||
|
li && li.classList.add('active');
|
||||||
}
|
}
|
||||||
|
|
||||||
var scrollEl = $.scrollingElement || $.documentElement;
|
var scrollEl = $.scrollingElement || $.documentElement;
|
||||||
@@ -3319,7 +3460,7 @@ function initRender (vm) {
|
|||||||
|
|
||||||
if (config.themeColor) {
|
if (config.themeColor) {
|
||||||
$.head.appendChild(
|
$.head.appendChild(
|
||||||
create('div', theme(config.themeColor)).getRootNode()
|
create('div', theme(config.themeColor)).firstElementChild
|
||||||
);
|
);
|
||||||
// Polyfll
|
// Polyfll
|
||||||
cssVars(config.themeColor);
|
cssVars(config.themeColor);
|
||||||
@@ -3782,6 +3923,19 @@ var initGlobalAPI = function () {
|
|||||||
window.Prism = prism;
|
window.Prism = prism;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fork https://github.com/bendrucker/document-ready/blob/master/index.js
|
||||||
|
*/
|
||||||
|
function ready (callback) {
|
||||||
|
var state = document.readyState;
|
||||||
|
|
||||||
|
if (state === 'complete' || state === 'interactive') {
|
||||||
|
return setTimeout(callback, 0)
|
||||||
|
}
|
||||||
|
|
||||||
|
document.addEventListener('DOMContentLoaded', callback);
|
||||||
|
}
|
||||||
|
|
||||||
function Docsify () {
|
function Docsify () {
|
||||||
this._init();
|
this._init();
|
||||||
}
|
}
|
||||||
@@ -3802,11 +3956,11 @@ initGlobalAPI();
|
|||||||
/**
|
/**
|
||||||
* Version
|
* Version
|
||||||
*/
|
*/
|
||||||
Docsify.version = '4.2.2';
|
Docsify.version = '4.3.6';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Run Docsify
|
* Run Docsify
|
||||||
*/
|
*/
|
||||||
setTimeout(function (_) { return new Docsify(); }, 0);
|
ready(function (_) { return new Docsify(); });
|
||||||
|
|
||||||
}());
|
}());
|
||||||
|
|||||||
Vendored
+2
-2
File diff suppressed because one or more lines are too long
@@ -0,0 +1,64 @@
|
|||||||
|
(function () {
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
var DEFAULT_OPTIONS = {
|
||||||
|
theme: 'light',
|
||||||
|
image: 'show'
|
||||||
|
};
|
||||||
|
|
||||||
|
function tpl (id, options) {
|
||||||
|
var qs = [];
|
||||||
|
|
||||||
|
for (var key in options) {
|
||||||
|
qs.push((key + "=" + (options[key])));
|
||||||
|
}
|
||||||
|
|
||||||
|
var div = Docsify.dom.create('div');
|
||||||
|
|
||||||
|
Docsify.dom.toggleClass(div, 'codesponsor');
|
||||||
|
div.innerHTML = "<iframe\n scrolling=0\n frameborder=0\n width=250\n height=250\n id=\"code-sponsor-embed-iframe\"\n src=\"https://app.codesponsor.io/widgets/" + id + "?" + (qs.join('&')) + "\">\n </iframe>";
|
||||||
|
|
||||||
|
return div
|
||||||
|
}
|
||||||
|
|
||||||
|
function appIframe (id, opts) {
|
||||||
|
var html = tpl(id, opts);
|
||||||
|
|
||||||
|
Docsify.dom.before(Docsify.dom.find('section.content'), html);
|
||||||
|
}
|
||||||
|
|
||||||
|
function appendStyle () {
|
||||||
|
Docsify.dom.style("\n .codesponsor {\n position: relative;\n float: right;\n right: 10px;\n top: 10px;\n }\n\n @media screen and (min-width: 1600px) {\n body.sticky .codesponsor {\n position: fixed;\n }\n\n .codesponsor {\n position: absolute;\n bottom: 10px;\n top: auto;\n float: none;\n }\n }\n ");
|
||||||
|
}
|
||||||
|
|
||||||
|
var install = function (hook, vm) {
|
||||||
|
var config = vm.config.codesponsor;
|
||||||
|
var id;
|
||||||
|
|
||||||
|
if (typeof config === 'string') {
|
||||||
|
id = config;
|
||||||
|
config = {};
|
||||||
|
} else {
|
||||||
|
id = config.id;
|
||||||
|
}
|
||||||
|
|
||||||
|
var opts = Docsify.util.merge(DEFAULT_OPTIONS, config);
|
||||||
|
|
||||||
|
if (!id) {
|
||||||
|
throw Error('codesponsor plugin need id')
|
||||||
|
}
|
||||||
|
|
||||||
|
if (Docsify.util.isMobile) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// Append style
|
||||||
|
hook.ready(function () {
|
||||||
|
appendStyle();
|
||||||
|
appIframe(id, opts);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
window.$docsify.plugins = [].concat(install, window.$docsify.plugins);
|
||||||
|
|
||||||
|
}());
|
||||||
Vendored
+1
@@ -0,0 +1 @@
|
|||||||
|
!function(){"use strict";function o(o,n){var i=[];for(var s in n)i.push(s+"="+n[s]);var e=Docsify.dom.create("div");return Docsify.dom.toggleClass(e,"codesponsor"),e.innerHTML='<iframe\n scrolling=0\n frameborder=0\n width=250\n height=250\n id="code-sponsor-embed-iframe"\n src="https://app.codesponsor.io/widgets/'+o+"?"+i.join("&")+'">\n </iframe>',e}function n(n,i){var s=o(n,i);Docsify.dom.before(Docsify.dom.find("section.content"),s)}function i(){Docsify.dom.style("\n .codesponsor {\n position: relative;\n float: right;\n right: 10px;\n top: 10px;\n }\n\n @media screen and (min-width: 1600px) {\n body.sticky .codesponsor {\n position: fixed;\n }\n\n .codesponsor {\n position: absolute;\n bottom: 10px;\n top: auto;\n float: none;\n }\n }\n ")}var s={theme:"light",image:"show"},e=function(o,e){var t,r=e.config.codesponsor;"string"==typeof r?(t=r,r={}):t=r.id;var c=Docsify.util.merge(s,r);if(!t)throw Error("codesponsor plugin need id");Docsify.util.isMobile||o.ready(function(){i(),n(t,c)})};window.$docsify.plugins=[].concat(e,window.$docsify.plugins)}();
|
||||||
@@ -41,7 +41,7 @@ function saveData (maxAge) {
|
|||||||
localStorage.setItem('docsify.search.index', JSON.stringify(INDEXS));
|
localStorage.setItem('docsify.search.index', JSON.stringify(INDEXS));
|
||||||
}
|
}
|
||||||
|
|
||||||
function genIndex (path, content, router) {
|
function genIndex (path, content, router, depth) {
|
||||||
if ( content === void 0 ) content = '';
|
if ( content === void 0 ) content = '';
|
||||||
|
|
||||||
var tokens = window.marked.lexer(content);
|
var tokens = window.marked.lexer(content);
|
||||||
@@ -50,7 +50,7 @@ function genIndex (path, content, router) {
|
|||||||
var slug;
|
var slug;
|
||||||
|
|
||||||
tokens.forEach(function (token) {
|
tokens.forEach(function (token) {
|
||||||
if (token.type === 'heading' && token.depth <= 2) {
|
if (token.type === 'heading' && token.depth <= depth) {
|
||||||
slug = router.toURL(path, { id: slugify(token.text) });
|
slug = router.toURL(path, { id: slugify(token.text) });
|
||||||
index[slug] = { slug: slug, title: token.text, body: '' };
|
index[slug] = { slug: slug, title: token.text, body: '' };
|
||||||
} else {
|
} else {
|
||||||
@@ -161,7 +161,7 @@ function init$1 (config, vm) {
|
|||||||
helper
|
helper
|
||||||
.get(vm.router.getFile(path))
|
.get(vm.router.getFile(path))
|
||||||
.then(function (result) {
|
.then(function (result) {
|
||||||
INDEXS[path] = genIndex(path, result, vm.router);
|
INDEXS[path] = genIndex(path, result, vm.router, config.depth);
|
||||||
len === ++count && saveData(config.maxAge);
|
len === ++count && saveData(config.maxAge);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@@ -171,8 +171,8 @@ var NO_DATA_TEXT = '';
|
|||||||
|
|
||||||
function style () {
|
function style () {
|
||||||
var code = "\n.sidebar {\n padding-top: 0;\n}\n\n.search {\n margin-bottom: 20px;\n padding: 6px;\n border-bottom: 1px solid #eee;\n}\n\n.search .results-panel {\n display: none;\n}\n\n.search .results-panel.show {\n display: block;\n}\n\n.search input {\n outline: none;\n border: none;\n width: 100%;\n padding: 7px;\n line-height: 22px;\n font-size: 14px;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}\n\n.search h2 {\n font-size: 17px;\n margin: 10px 0;\n}\n\n.search a {\n text-decoration: none;\n color: inherit;\n}\n\n.search .matching-post {\n border-bottom: 1px solid #eee;\n}\n\n.search .matching-post:last-child {\n border-bottom: 0;\n}\n\n.search p {\n font-size: 14px;\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n}\n\n.search p.empty {\n text-align: center;\n}";
|
var code = "\n.sidebar {\n padding-top: 0;\n}\n\n.search {\n margin-bottom: 20px;\n padding: 6px;\n border-bottom: 1px solid #eee;\n}\n\n.search .results-panel {\n display: none;\n}\n\n.search .results-panel.show {\n display: block;\n}\n\n.search input {\n outline: none;\n border: none;\n width: 100%;\n padding: 7px;\n line-height: 22px;\n font-size: 14px;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}\n\n.search h2 {\n font-size: 17px;\n margin: 10px 0;\n}\n\n.search a {\n text-decoration: none;\n color: inherit;\n}\n\n.search .matching-post {\n border-bottom: 1px solid #eee;\n}\n\n.search .matching-post:last-child {\n border-bottom: 0;\n}\n\n.search p {\n font-size: 14px;\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n}\n\n.search p.empty {\n text-align: center;\n}";
|
||||||
var style = Docsify.dom.create('style', code);
|
|
||||||
Docsify.dom.appendTo(Docsify.dom.head, style);
|
Docsify.dom.style(code);
|
||||||
}
|
}
|
||||||
|
|
||||||
function tpl (opts, defaultValue) {
|
function tpl (opts, defaultValue) {
|
||||||
@@ -262,6 +262,7 @@ var CONFIG = {
|
|||||||
placeholder: 'Type to search',
|
placeholder: 'Type to search',
|
||||||
noData: 'No Results!',
|
noData: 'No Results!',
|
||||||
paths: 'auto',
|
paths: 'auto',
|
||||||
|
depth: 2,
|
||||||
maxAge: 86400000 // 1 day
|
maxAge: 86400000 // 1 day
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -276,6 +277,7 @@ var install = function (hook, vm) {
|
|||||||
CONFIG.maxAge = util.isPrimitive(opts.maxAge) ? opts.maxAge : CONFIG.maxAge;
|
CONFIG.maxAge = util.isPrimitive(opts.maxAge) ? opts.maxAge : CONFIG.maxAge;
|
||||||
CONFIG.placeholder = opts.placeholder || CONFIG.placeholder;
|
CONFIG.placeholder = opts.placeholder || CONFIG.placeholder;
|
||||||
CONFIG.noData = opts.noData || CONFIG.noData;
|
CONFIG.noData = opts.noData || CONFIG.noData;
|
||||||
|
CONFIG.depth = opts.depth || CONFIG.depth;
|
||||||
}
|
}
|
||||||
|
|
||||||
var isAuto = CONFIG.paths === 'auto';
|
var isAuto = CONFIG.paths === 'auto';
|
||||||
|
|||||||
Vendored
+1
-1
@@ -1 +1 @@
|
|||||||
!function(){"use strict";function e(e){var n={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};return String(e).replace(/[&<>"'\/]/g,function(e){return n[e]})}function n(e){var n=[];return h.dom.findAll("a:not([data-nosearch])").map(function(t){var o=t.href,i=t.getAttribute("href"),r=e.parse(o).path;r&&-1===n.indexOf(r)&&!Docsify.util.isAbsolutePath(i)&&n.push(r)}),n}function t(e){localStorage.setItem("docsify.search.expires",Date.now()+e),localStorage.setItem("docsify.search.index",JSON.stringify(y))}function o(e,n,t){void 0===n&&(n="");var o,i=window.marked.lexer(n),r=window.Docsify.slugify,a={};return i.forEach(function(n){if("heading"===n.type&&n.depth<=2)o=t.toURL(e,{id:r(n.text)}),a[o]={slug:o,title:n.text,body:""};else{if(!o)return;a[o]?a[o].body?a[o].body+="\n"+(n.text||""):a[o].body=n.text:a[o]={slug:o,title:"",body:""}}}),r.clear(),a}function i(n){var t=[],o=[];Object.keys(y).forEach(function(e){o=o.concat(Object.keys(y[e]).map(function(n){return y[e][n]}))}),n=[].concat(n,n.trim().split(/[\s\-\,\\\/]+/));for(var i=0;i<o.length;i++)!function(i){var r=o[i],a=!1,s="",c=r.title&&r.title.trim(),f=r.body&&r.body.trim(),l=r.slug||"";if(c&&f&&(n.forEach(function(n,t){var o=new RegExp(n,"gi"),i=-1,r=-1;if(i=c&&c.search(o),r=f&&f.search(o),i<0&&r<0)a=!1;else{a=!0,r<0&&(r=0);var l=0,d=0;l=r<11?0:r-10,d=0===l?70:r+n.length+60,d>f.length&&(d=f.length);var u="..."+e(f).substring(l,d).replace(o,'<em class="search-keyword">'+n+"</em>")+"...";s+=u}}),a)){var d={title:e(c),content:s,url:l};t.push(d)}}(i);return t}function r(e,i){h=Docsify;var r="auto"===e.paths,a=localStorage.getItem("docsify.search.expires")<Date.now();if(y=JSON.parse(localStorage.getItem("docsify.search.index")),a)y={};else if(!r)return;var s=r?n(i.router):e.paths,c=s.length,f=0;s.forEach(function(n){if(y[n])return f++;h.get(i.router.getFile(n)).then(function(r){y[n]=o(n,r,i.router),c===++f&&t(e.maxAge)})})}function a(){var e=Docsify.dom.create("style","\n.sidebar {\n padding-top: 0;\n}\n\n.search {\n margin-bottom: 20px;\n padding: 6px;\n border-bottom: 1px solid #eee;\n}\n\n.search .results-panel {\n display: none;\n}\n\n.search .results-panel.show {\n display: block;\n}\n\n.search input {\n outline: none;\n border: none;\n width: 100%;\n padding: 7px;\n line-height: 22px;\n font-size: 14px;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}\n\n.search h2 {\n font-size: 17px;\n margin: 10px 0;\n}\n\n.search a {\n text-decoration: none;\n color: inherit;\n}\n\n.search .matching-post {\n border-bottom: 1px solid #eee;\n}\n\n.search .matching-post:last-child {\n border-bottom: 0;\n}\n\n.search p {\n font-size: 14px;\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n}\n\n.search p.empty {\n text-align: center;\n}");Docsify.dom.appendTo(Docsify.dom.head,e)}function s(e,n){void 0===n&&(n="");var t='<input type="search" value="'+n+'" /><div class="results-panel"></div></div>',o=Docsify.dom.create("div",t),i=Docsify.dom.find("aside");Docsify.dom.toggleClass(o,"search"),Docsify.dom.before(i,o)}function c(e){var n=Docsify.dom.find("div.search"),t=Docsify.dom.find(n,".results-panel");if(!e)return t.classList.remove("show"),void(t.innerHTML="");var o=i(e),r="";o.forEach(function(e){r+='<div class="matching-post">\n<h2><a href="'+e.url+'">'+e.title+"</a></h2>\n<p>"+e.content+"</p>\n</div>"}),t.classList.add("show"),t.innerHTML=r||'<p class="empty">'+m+"</p>"}function f(){var e,n=Docsify.dom.find("div.search"),t=Docsify.dom.find(n,"input");Docsify.dom.on(n,"click",function(e){return"A"!==e.target.tagName&&e.stopPropagation()}),Docsify.dom.on(t,"input",function(n){clearTimeout(e),e=setTimeout(function(e){return c(n.target.value.trim())},100)})}function l(e,n){var t=Docsify.dom.getNode('.search input[type="search"]');if(t)if("string"==typeof e)t.placeholder=e;else{var o=Object.keys(e).filter(function(e){return n.indexOf(e)>-1})[0];t.placeholder=e[o]}}function d(e,n){if("string"==typeof e)m=e;else{var t=Object.keys(e).filter(function(e){return n.indexOf(e)>-1})[0];m=e[t]}}function u(e,n){var t=n.router.parse().query.s;a(),s(e,t),f(),t&&setTimeout(function(e){return c(t)},500)}function p(e,n){l(e.placeholder,n.route.path),d(e.noData,n.route.path)}var h,y={},m="",g={placeholder:"Type to search",noData:"No Results!",paths:"auto",maxAge:864e5},v=function(e,n){var t=Docsify.util,o=n.config.search||g;Array.isArray(o)?g.paths=o:"object"==typeof o&&(g.paths=Array.isArray(o.paths)?o.paths:"auto",g.maxAge=t.isPrimitive(o.maxAge)?o.maxAge:g.maxAge,g.placeholder=o.placeholder||g.placeholder,g.noData=o.noData||g.noData);var i="auto"===g.paths;e.mounted(function(e){u(g,n),!i&&r(g,n)}),e.doneEach(function(e){p(g,n),i&&r(g,n)})};$docsify.plugins=[].concat(v,$docsify.plugins)}();
|
!function(){"use strict";function e(e){var n={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};return String(e).replace(/[&<>"'\/]/g,function(e){return n[e]})}function n(e){var n=[];return h.dom.findAll("a:not([data-nosearch])").map(function(t){var o=t.href,i=t.getAttribute("href"),r=e.parse(o).path;r&&-1===n.indexOf(r)&&!Docsify.util.isAbsolutePath(i)&&n.push(r)}),n}function t(e){localStorage.setItem("docsify.search.expires",Date.now()+e),localStorage.setItem("docsify.search.index",JSON.stringify(g))}function o(e,n,t,o){void 0===n&&(n="");var i,r=window.marked.lexer(n),a=window.Docsify.slugify,s={};return r.forEach(function(n){if("heading"===n.type&&n.depth<=o)i=t.toURL(e,{id:a(n.text)}),s[i]={slug:i,title:n.text,body:""};else{if(!i)return;s[i]?s[i].body?s[i].body+="\n"+(n.text||""):s[i].body=n.text:s[i]={slug:i,title:"",body:""}}}),a.clear(),s}function i(n){var t=[],o=[];Object.keys(g).forEach(function(e){o=o.concat(Object.keys(g[e]).map(function(n){return g[e][n]}))}),n=[].concat(n,n.trim().split(/[\s\-\,\\\/]+/));for(var i=0;i<o.length;i++)!function(i){var r=o[i],a=!1,s="",c=r.title&&r.title.trim(),l=r.body&&r.body.trim(),f=r.slug||"";if(c&&l&&(n.forEach(function(n,t){var o=new RegExp(n,"gi"),i=-1,r=-1;if(i=c&&c.search(o),r=l&&l.search(o),i<0&&r<0)a=!1;else{a=!0,r<0&&(r=0);var f=0,d=0;f=r<11?0:r-10,d=0===f?70:r+n.length+60,d>l.length&&(d=l.length);var p="..."+e(l).substring(f,d).replace(o,'<em class="search-keyword">'+n+"</em>")+"...";s+=p}}),a)){var d={title:e(c),content:s,url:f};t.push(d)}}(i);return t}function r(e,i){h=Docsify;var r="auto"===e.paths,a=localStorage.getItem("docsify.search.expires")<Date.now();if(g=JSON.parse(localStorage.getItem("docsify.search.index")),a)g={};else if(!r)return;var s=r?n(i.router):e.paths,c=s.length,l=0;s.forEach(function(n){if(g[n])return l++;h.get(i.router.getFile(n)).then(function(r){g[n]=o(n,r,i.router,e.depth),c===++l&&t(e.maxAge)})})}function a(){Docsify.dom.style("\n.sidebar {\n padding-top: 0;\n}\n\n.search {\n margin-bottom: 20px;\n padding: 6px;\n border-bottom: 1px solid #eee;\n}\n\n.search .results-panel {\n display: none;\n}\n\n.search .results-panel.show {\n display: block;\n}\n\n.search input {\n outline: none;\n border: none;\n width: 100%;\n padding: 7px;\n line-height: 22px;\n font-size: 14px;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}\n\n.search h2 {\n font-size: 17px;\n margin: 10px 0;\n}\n\n.search a {\n text-decoration: none;\n color: inherit;\n}\n\n.search .matching-post {\n border-bottom: 1px solid #eee;\n}\n\n.search .matching-post:last-child {\n border-bottom: 0;\n}\n\n.search p {\n font-size: 14px;\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n}\n\n.search p.empty {\n text-align: center;\n}")}function s(e,n){void 0===n&&(n="");var t='<input type="search" value="'+n+'" /><div class="results-panel"></div></div>',o=Docsify.dom.create("div",t),i=Docsify.dom.find("aside");Docsify.dom.toggleClass(o,"search"),Docsify.dom.before(i,o)}function c(e){var n=Docsify.dom.find("div.search"),t=Docsify.dom.find(n,".results-panel");if(!e)return t.classList.remove("show"),void(t.innerHTML="");var o=i(e),r="";o.forEach(function(e){r+='<div class="matching-post">\n<h2><a href="'+e.url+'">'+e.title+"</a></h2>\n<p>"+e.content+"</p>\n</div>"}),t.classList.add("show"),t.innerHTML=r||'<p class="empty">'+y+"</p>"}function l(){var e,n=Docsify.dom.find("div.search"),t=Docsify.dom.find(n,"input");Docsify.dom.on(n,"click",function(e){return"A"!==e.target.tagName&&e.stopPropagation()}),Docsify.dom.on(t,"input",function(n){clearTimeout(e),e=setTimeout(function(e){return c(n.target.value.trim())},100)})}function f(e,n){var t=Docsify.dom.getNode('.search input[type="search"]');if(t)if("string"==typeof e)t.placeholder=e;else{var o=Object.keys(e).filter(function(e){return n.indexOf(e)>-1})[0];t.placeholder=e[o]}}function d(e,n){if("string"==typeof e)y=e;else{var t=Object.keys(e).filter(function(e){return n.indexOf(e)>-1})[0];y=e[t]}}function p(e,n){var t=n.router.parse().query.s;a(),s(e,t),l(),t&&setTimeout(function(e){return c(t)},500)}function u(e,n){f(e.placeholder,n.route.path),d(e.noData,n.route.path)}var h,g={},y="",m={placeholder:"Type to search",noData:"No Results!",paths:"auto",depth:2,maxAge:864e5},v=function(e,n){var t=Docsify.util,o=n.config.search||m;Array.isArray(o)?m.paths=o:"object"==typeof o&&(m.paths=Array.isArray(o.paths)?o.paths:"auto",m.maxAge=t.isPrimitive(o.maxAge)?o.maxAge:m.maxAge,m.placeholder=o.placeholder||m.placeholder,m.noData=o.noData||m.noData,m.depth=o.depth||m.depth);var i="auto"===m.paths;e.mounted(function(e){p(m,n),!i&&r(m,n)}),e.doneEach(function(e){u(m,n),i&&r(m,n)})};$docsify.plugins=[].concat(v,$docsify.plugins)}();
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
Generated
+2649
-406
File diff suppressed because it is too large
Load Diff
+2
-1
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "docsify",
|
"name": "docsify",
|
||||||
"version": "4.2.2",
|
"version": "4.3.6",
|
||||||
"description": "A magical documentation generator.",
|
"description": "A magical documentation generator.",
|
||||||
"author": {
|
"author": {
|
||||||
"name": "qingwei-li",
|
"name": "qingwei-li",
|
||||||
@@ -33,6 +33,7 @@
|
|||||||
"marked": "^0.3.6",
|
"marked": "^0.3.6",
|
||||||
"prismjs": "^1.6.0",
|
"prismjs": "^1.6.0",
|
||||||
"tinydate": "^1.0.0",
|
"tinydate": "^1.0.0",
|
||||||
|
"tweezer.js": "^1.4.0",
|
||||||
"zoom-image": "^0.1.4"
|
"zoom-image": "^0.1.4"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
## Install
|
## Install
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
yarn add docsify-server-render
|
yarn add docsify-server-renderer
|
||||||
```
|
```
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|||||||
+1
-1
@@ -37,5 +37,5 @@
|
|||||||
"integrity": "sha1-6DWIAbhrg7F1YNTjw4LXrvIQCUQ="
|
"integrity": "sha1-6DWIAbhrg7F1YNTjw4LXrvIQCUQ="
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"version": "4.2.2"
|
"version": "4.3.6"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "docsify-server-renderer",
|
"name": "docsify-server-renderer",
|
||||||
"version": "4.2.2",
|
"version": "4.3.6",
|
||||||
"description": "docsify server renderer",
|
"description": "docsify server renderer",
|
||||||
"author": {
|
"author": {
|
||||||
"name": "qingwei-li",
|
"name": "qingwei-li",
|
||||||
|
|||||||
+1
-1
@@ -21,7 +21,7 @@ const config = merge({
|
|||||||
mergeNavbar: false,
|
mergeNavbar: false,
|
||||||
formatUpdated: '',
|
formatUpdated: '',
|
||||||
externalLinkTarget: '_blank',
|
externalLinkTarget: '_blank',
|
||||||
routerModel: 'hash',
|
routerMode: 'hash',
|
||||||
noCompileLinks: []
|
noCompileLinks: []
|
||||||
}, window.$docsify)
|
}, window.$docsify)
|
||||||
|
|
||||||
|
|||||||
@@ -1,15 +1,34 @@
|
|||||||
import { isMobile } from '../util/env'
|
import { isMobile } from '../util/env'
|
||||||
import * as dom from '../util/dom'
|
import * as dom from '../util/dom'
|
||||||
|
import Tweezer from 'tweezer.js'
|
||||||
|
|
||||||
const nav = {}
|
const nav = {}
|
||||||
let hoverOver = false
|
let hoverOver = false
|
||||||
|
let scroller = null
|
||||||
|
let enableScrollEvent = true
|
||||||
|
let coverHeight = 0
|
||||||
|
|
||||||
|
function scrollTo (el) {
|
||||||
|
if (scroller) scroller.stop()
|
||||||
|
enableScrollEvent = false
|
||||||
|
scroller = new Tweezer({
|
||||||
|
start: window.scrollY,
|
||||||
|
end: el.getBoundingClientRect().top + window.scrollY,
|
||||||
|
duration: 500
|
||||||
|
})
|
||||||
|
.on('tick', v => window.scrollTo(0, v))
|
||||||
|
.on('done', () => { enableScrollEvent = true; scroller = null })
|
||||||
|
.begin()
|
||||||
|
}
|
||||||
|
|
||||||
function highlight () {
|
function highlight () {
|
||||||
|
if (!enableScrollEvent) return
|
||||||
const sidebar = dom.getNode('.sidebar')
|
const sidebar = dom.getNode('.sidebar')
|
||||||
const anchors = dom.findAll('.anchor')
|
const anchors = dom.findAll('.anchor')
|
||||||
const wrap = dom.find(sidebar, '.sidebar-nav')
|
const wrap = dom.find(sidebar, '.sidebar-nav')
|
||||||
let active = dom.find(sidebar, 'li.active')
|
let active = dom.find(sidebar, 'li.active')
|
||||||
const top = dom.body.scrollTop
|
const doc = document.documentElement
|
||||||
|
const top = (doc && doc.scrollTop || document.body.scrollTop) - coverHeight
|
||||||
let last
|
let last
|
||||||
|
|
||||||
for (let i = 0, len = anchors.length; i < len; i += 1) {
|
for (let i = 0, len = anchors.length; i < len; i += 1) {
|
||||||
@@ -53,7 +72,8 @@ function highlight () {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export function scrollActiveSidebar (router) {
|
export function scrollActiveSidebar (router) {
|
||||||
if (isMobile) return
|
const cover = dom.find('.cover.show')
|
||||||
|
coverHeight = cover ? cover.offsetHeight : 0
|
||||||
|
|
||||||
const sidebar = dom.getNode('.sidebar')
|
const sidebar = dom.getNode('.sidebar')
|
||||||
const lis = dom.findAll(sidebar, 'li')
|
const lis = dom.findAll(sidebar, 'li')
|
||||||
@@ -68,9 +88,11 @@ export function scrollActiveSidebar (router) {
|
|||||||
href = router.parse(href).query.id
|
href = router.parse(href).query.id
|
||||||
}
|
}
|
||||||
|
|
||||||
nav[decodeURIComponent(href)] = li
|
if (href) nav[decodeURIComponent(href)] = li
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (isMobile) return
|
||||||
|
|
||||||
dom.off('scroll', highlight)
|
dom.off('scroll', highlight)
|
||||||
dom.on('scroll', highlight)
|
dom.on('scroll', highlight)
|
||||||
dom.on(sidebar, 'mouseover', () => { hoverOver = true })
|
dom.on(sidebar, 'mouseover', () => { hoverOver = true })
|
||||||
@@ -78,8 +100,16 @@ export function scrollActiveSidebar (router) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export function scrollIntoView (id) {
|
export function scrollIntoView (id) {
|
||||||
|
if (!id) return
|
||||||
|
|
||||||
const section = dom.find('#' + id)
|
const section = dom.find('#' + id)
|
||||||
section && section.scrollIntoView()
|
section && scrollTo(section)
|
||||||
|
|
||||||
|
const li = nav[id]
|
||||||
|
const sidebar = dom.getNode('.sidebar')
|
||||||
|
const active = dom.find(sidebar, 'li.active')
|
||||||
|
active && active.classList.remove('active')
|
||||||
|
li && li.classList.add('active')
|
||||||
}
|
}
|
||||||
|
|
||||||
const scrollEl = dom.$.scrollingElement || dom.$.documentElement
|
const scrollEl = dom.$.scrollingElement || dom.$.documentElement
|
||||||
|
|||||||
+14
-1
@@ -5,6 +5,19 @@ import { fetchMixin } from './fetch'
|
|||||||
import { eventMixin } from './event'
|
import { eventMixin } from './event'
|
||||||
import initGlobalAPI from './global-api'
|
import initGlobalAPI from './global-api'
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fork https://github.com/bendrucker/document-ready/blob/master/index.js
|
||||||
|
*/
|
||||||
|
function ready (callback) {
|
||||||
|
const state = document.readyState
|
||||||
|
|
||||||
|
if (state === 'complete' || state === 'interactive') {
|
||||||
|
return setTimeout(callback, 0)
|
||||||
|
}
|
||||||
|
|
||||||
|
document.addEventListener('DOMContentLoaded', callback)
|
||||||
|
}
|
||||||
|
|
||||||
function Docsify () {
|
function Docsify () {
|
||||||
this._init()
|
this._init()
|
||||||
}
|
}
|
||||||
@@ -30,4 +43,4 @@ Docsify.version = '__VERSION__'
|
|||||||
/**
|
/**
|
||||||
* Run Docsify
|
* Run Docsify
|
||||||
*/
|
*/
|
||||||
setTimeout(_ => new Docsify(), 0)
|
ready(_ => new Docsify())
|
||||||
|
|||||||
@@ -61,11 +61,13 @@ export class Compiler {
|
|||||||
const renderer = new marked.Renderer()
|
const renderer = new marked.Renderer()
|
||||||
const { linkTarget, router, contentBase } = this
|
const { linkTarget, router, contentBase } = this
|
||||||
const _self = this
|
const _self = this
|
||||||
|
const origin = {}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* render anchor tag
|
* render anchor tag
|
||||||
* @link https://github.com/chjj/marked#overriding-renderer-methods
|
* @link https://github.com/chjj/marked#overriding-renderer-methods
|
||||||
*/
|
*/
|
||||||
renderer.heading = function (text, level) {
|
origin.heading = renderer.heading = function (text, level) {
|
||||||
const nextToc = { level, title: text }
|
const nextToc = { level, title: text }
|
||||||
|
|
||||||
if (/{docsify-ignore}/g.test(text)) {
|
if (/{docsify-ignore}/g.test(text)) {
|
||||||
@@ -88,12 +90,12 @@ export class Compiler {
|
|||||||
return `<h${level} id="${slug}"><a href="${url}" data-id="${slug}" class="anchor"><span>${text}</span></a></h${level}>`
|
return `<h${level} id="${slug}"><a href="${url}" data-id="${slug}" class="anchor"><span>${text}</span></a></h${level}>`
|
||||||
}
|
}
|
||||||
// highlight code
|
// highlight code
|
||||||
renderer.code = function (code, lang = '') {
|
origin.code = renderer.code = function (code, lang = '') {
|
||||||
const hl = Prism.highlight(code, Prism.languages[lang] || Prism.languages.markup)
|
const hl = Prism.highlight(code, Prism.languages[lang] || Prism.languages.markup)
|
||||||
|
|
||||||
return `<pre v-pre data-lang="${lang}"><code class="lang-${lang}">${hl}</code></pre>`
|
return `<pre v-pre data-lang="${lang}"><code class="lang-${lang}">${hl}</code></pre>`
|
||||||
}
|
}
|
||||||
renderer.link = function (href, title, text) {
|
origin.link = renderer.link = function (href, title, text) {
|
||||||
let blank = ''
|
let blank = ''
|
||||||
|
|
||||||
if (!/:|(\/{2})/.test(href) &&
|
if (!/:|(\/{2})/.test(href) &&
|
||||||
@@ -105,12 +107,19 @@ export class Compiler {
|
|||||||
title = title && title.replace(/:ignore/g, '').trim()
|
title = title && title.replace(/:ignore/g, '').trim()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let target = title && title.match(/:target=\w+/)
|
||||||
|
if (target) {
|
||||||
|
target = target[0]
|
||||||
|
title = title.replace(target, '')
|
||||||
|
blank = ' ' + target.slice(1)
|
||||||
|
}
|
||||||
|
|
||||||
if (title) {
|
if (title) {
|
||||||
title = ` title="${title}"`
|
title = ` title="${title}"`
|
||||||
}
|
}
|
||||||
return `<a href="${href}"${title || ''}${blank}>${text}</a>`
|
return `<a href="${href}"${title || ''}${blank}>${text}</a>`
|
||||||
}
|
}
|
||||||
renderer.paragraph = function (text) {
|
origin.paragraph = renderer.paragraph = function (text) {
|
||||||
if (/^!>/.test(text)) {
|
if (/^!>/.test(text)) {
|
||||||
return helperTpl('tip', text)
|
return helperTpl('tip', text)
|
||||||
} else if (/^\?>/.test(text)) {
|
} else if (/^\?>/.test(text)) {
|
||||||
@@ -118,7 +127,7 @@ export class Compiler {
|
|||||||
}
|
}
|
||||||
return `<p>${text}</p>`
|
return `<p>${text}</p>`
|
||||||
}
|
}
|
||||||
renderer.image = function (href, title, text) {
|
origin.image = renderer.image = function (href, title, text) {
|
||||||
let url = href
|
let url = href
|
||||||
const titleHTML = title ? ` title="${title}"` : ''
|
const titleHTML = title ? ` title="${title}"` : ''
|
||||||
|
|
||||||
@@ -129,6 +138,8 @@ export class Compiler {
|
|||||||
return `<img src="${url}" data-origin="${href}" alt="${text}"${titleHTML}>`
|
return `<img src="${url}" data-origin="${href}" alt="${text}"${titleHTML}>`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
renderer.origin = origin
|
||||||
|
|
||||||
return renderer
|
return renderer
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -212,7 +212,7 @@ export function initRender (vm) {
|
|||||||
|
|
||||||
if (config.themeColor) {
|
if (config.themeColor) {
|
||||||
dom.$.head.appendChild(
|
dom.$.head.appendChild(
|
||||||
dom.create('div', tpl.theme(config.themeColor)).getRootNode()
|
dom.create('div', tpl.theme(config.themeColor)).firstElementChild
|
||||||
)
|
)
|
||||||
// Polyfll
|
// Polyfll
|
||||||
cssVars(config.themeColor)
|
cssVars(config.themeColor)
|
||||||
|
|||||||
@@ -81,3 +81,8 @@ export function off (el, type, handler) {
|
|||||||
export function toggleClass (el, type, val) {
|
export function toggleClass (el, type, val) {
|
||||||
el && el.classList[val ? type : 'toggle'](val || type)
|
el && el.classList[val ? type : 'toggle'](val || type)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function style (content) {
|
||||||
|
appendTo(head, create('style', content))
|
||||||
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,86 @@
|
|||||||
|
const DEFAULT_OPTIONS = {
|
||||||
|
theme: 'light',
|
||||||
|
image: 'show'
|
||||||
|
}
|
||||||
|
|
||||||
|
function tpl (id, options) {
|
||||||
|
const qs = []
|
||||||
|
|
||||||
|
for (const key in options) {
|
||||||
|
qs.push(`${key}=${options[key]}`)
|
||||||
|
}
|
||||||
|
|
||||||
|
const div = Docsify.dom.create('div')
|
||||||
|
|
||||||
|
Docsify.dom.toggleClass(div, 'codesponsor')
|
||||||
|
div.innerHTML = `<iframe
|
||||||
|
scrolling=0
|
||||||
|
frameborder=0
|
||||||
|
width=250
|
||||||
|
height=250
|
||||||
|
id="code-sponsor-embed-iframe"
|
||||||
|
src="https://app.codesponsor.io/widgets/${id}?${qs.join('&')}">
|
||||||
|
</iframe>`
|
||||||
|
|
||||||
|
return div
|
||||||
|
}
|
||||||
|
|
||||||
|
function appIframe (id, opts) {
|
||||||
|
const html = tpl(id, opts)
|
||||||
|
|
||||||
|
Docsify.dom.before(Docsify.dom.find('section.content'), html)
|
||||||
|
}
|
||||||
|
|
||||||
|
function appendStyle () {
|
||||||
|
Docsify.dom.style(`
|
||||||
|
.codesponsor {
|
||||||
|
position: relative;
|
||||||
|
float: right;
|
||||||
|
right: 10px;
|
||||||
|
top: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (min-width: 1600px) {
|
||||||
|
body.sticky .codesponsor {
|
||||||
|
position: fixed;
|
||||||
|
}
|
||||||
|
|
||||||
|
.codesponsor {
|
||||||
|
position: absolute;
|
||||||
|
bottom: 10px;
|
||||||
|
top: auto;
|
||||||
|
float: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
`)
|
||||||
|
}
|
||||||
|
|
||||||
|
const install = function (hook, vm) {
|
||||||
|
let config = vm.config.codesponsor
|
||||||
|
let id
|
||||||
|
|
||||||
|
if (typeof config === 'string') {
|
||||||
|
id = config
|
||||||
|
config = {}
|
||||||
|
} else {
|
||||||
|
id = config.id
|
||||||
|
}
|
||||||
|
|
||||||
|
const opts = Docsify.util.merge(DEFAULT_OPTIONS, config)
|
||||||
|
|
||||||
|
if (!id) {
|
||||||
|
throw Error('codesponsor plugin need id')
|
||||||
|
}
|
||||||
|
|
||||||
|
if (Docsify.util.isMobile) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// Append style
|
||||||
|
hook.ready(() => {
|
||||||
|
appendStyle()
|
||||||
|
appIframe(id, opts)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
window.$docsify.plugins = [].concat(install, window.$docsify.plugins)
|
||||||
@@ -64,8 +64,8 @@ function style () {
|
|||||||
.search p.empty {
|
.search p.empty {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}`
|
}`
|
||||||
const style = Docsify.dom.create('style', code)
|
|
||||||
Docsify.dom.appendTo(Docsify.dom.head, style)
|
Docsify.dom.style(code)
|
||||||
}
|
}
|
||||||
|
|
||||||
function tpl (opts, defaultValue = '') {
|
function tpl (opts, defaultValue = '') {
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ const CONFIG = {
|
|||||||
placeholder: 'Type to search',
|
placeholder: 'Type to search',
|
||||||
noData: 'No Results!',
|
noData: 'No Results!',
|
||||||
paths: 'auto',
|
paths: 'auto',
|
||||||
|
depth: 2,
|
||||||
maxAge: 86400000 // 1 day
|
maxAge: 86400000 // 1 day
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -19,6 +20,7 @@ const install = function (hook, vm) {
|
|||||||
CONFIG.maxAge = util.isPrimitive(opts.maxAge) ? opts.maxAge : CONFIG.maxAge
|
CONFIG.maxAge = util.isPrimitive(opts.maxAge) ? opts.maxAge : CONFIG.maxAge
|
||||||
CONFIG.placeholder = opts.placeholder || CONFIG.placeholder
|
CONFIG.placeholder = opts.placeholder || CONFIG.placeholder
|
||||||
CONFIG.noData = opts.noData || CONFIG.noData
|
CONFIG.noData = opts.noData || CONFIG.noData
|
||||||
|
CONFIG.depth = opts.depth || CONFIG.depth
|
||||||
}
|
}
|
||||||
|
|
||||||
const isAuto = CONFIG.paths === 'auto'
|
const isAuto = CONFIG.paths === 'auto'
|
||||||
|
|||||||
@@ -38,14 +38,14 @@ function saveData (maxAge) {
|
|||||||
localStorage.setItem('docsify.search.index', JSON.stringify(INDEXS))
|
localStorage.setItem('docsify.search.index', JSON.stringify(INDEXS))
|
||||||
}
|
}
|
||||||
|
|
||||||
export function genIndex (path, content = '', router) {
|
export function genIndex (path, content = '', router, depth) {
|
||||||
const tokens = window.marked.lexer(content)
|
const tokens = window.marked.lexer(content)
|
||||||
const slugify = window.Docsify.slugify
|
const slugify = window.Docsify.slugify
|
||||||
const index = {}
|
const index = {}
|
||||||
let slug
|
let slug
|
||||||
|
|
||||||
tokens.forEach(token => {
|
tokens.forEach(token => {
|
||||||
if (token.type === 'heading' && token.depth <= 2) {
|
if (token.type === 'heading' && token.depth <= depth) {
|
||||||
slug = router.toURL(path, { id: slugify(token.text) })
|
slug = router.toURL(path, { id: slugify(token.text) })
|
||||||
index[slug] = { slug, title: token.text, body: '' }
|
index[slug] = { slug, title: token.text, body: '' }
|
||||||
} else {
|
} else {
|
||||||
@@ -154,7 +154,7 @@ export function init (config, vm) {
|
|||||||
helper
|
helper
|
||||||
.get(vm.router.getFile(path))
|
.get(vm.router.getFile(path))
|
||||||
.then(result => {
|
.then(result => {
|
||||||
INDEXS[path] = genIndex(path, result, vm.router)
|
INDEXS[path] = genIndex(path, result, vm.router, config.depth)
|
||||||
len === ++count && saveData(config.maxAge)
|
len === ++count && saveData(config.maxAge)
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
body:not(.ready) {
|
body:not(.ready) {
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
|
|
||||||
[data-cloak], .app-nav {
|
[data-cloak], .app-nav, > nav {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -244,7 +244,7 @@ main {
|
|||||||
position: static;
|
position: static;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.sidebar-nav {
|
.sidebar-nav {
|
||||||
line-height: 2em;
|
line-height: 2em;
|
||||||
}
|
}
|
||||||
@@ -325,7 +325,7 @@ body.sticky {
|
|||||||
|
|
||||||
/* main content */
|
/* main content */
|
||||||
.content {
|
.content {
|
||||||
padding-top: 20px;
|
padding-top: 60px;
|
||||||
position: absolute 0 0 0 $sidebar-width;
|
position: absolute 0 0 0 $sidebar-width;
|
||||||
transition: left 250ms ease;
|
transition: left 250ms ease;
|
||||||
}
|
}
|
||||||
@@ -471,6 +471,7 @@ body.close {
|
|||||||
left: 0;
|
left: 0;
|
||||||
max-width: 100vw;
|
max-width: 100vw;
|
||||||
position: static;
|
position: static;
|
||||||
|
padding-top: 20px;
|
||||||
transition: transform 250ms ease;
|
transition: transform 250ms ease;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -132,7 +132,7 @@ $sidebar-width: 16rem;
|
|||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
font-family: Inconsolata;
|
font-family: Inconsolata;
|
||||||
padding: 0.2em 0.4rem;
|
padding: 0.2em 0.4rem;
|
||||||
white-space: pre;
|
white-space: nowrap;
|
||||||
}
|
}
|
||||||
|
|
||||||
.markdown-section pre {
|
.markdown-section pre {
|
||||||
@@ -226,6 +226,7 @@ $sidebar-width: 16rem;
|
|||||||
overflow: inherit;
|
overflow: inherit;
|
||||||
padding: 20px 0.8em 20px;
|
padding: 20px 0.8em 20px;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
white-space: inherit;
|
||||||
}
|
}
|
||||||
|
|
||||||
.markdown-section code::after, .markdown-section code::before {
|
.markdown-section code::after, .markdown-section code::before {
|
||||||
|
|||||||
+1
-1
@@ -134,7 +134,7 @@ body {
|
|||||||
font-size: 0.8rem;
|
font-size: 0.8rem;
|
||||||
margin: 0 2px;
|
margin: 0 2px;
|
||||||
padding: 3px 5px;
|
padding: 3px 5px;
|
||||||
white-space: nowrap;
|
white-space: pre-wrap;
|
||||||
}
|
}
|
||||||
|
|
||||||
.markdown-section pre {
|
.markdown-section pre {
|
||||||
|
|||||||
+1
-1
@@ -145,7 +145,7 @@ body {
|
|||||||
font-size: 0.8rem;
|
font-size: 0.8rem;
|
||||||
margin: 0 2px;
|
margin: 0 2px;
|
||||||
padding: 3px 5px;
|
padding: 3px 5px;
|
||||||
white-space: nowrap;
|
white-space: pre-wrap;
|
||||||
}
|
}
|
||||||
|
|
||||||
.markdown-section pre {
|
.markdown-section pre {
|
||||||
|
|||||||
Reference in New Issue
Block a user