Merge remote-tracking branch 'origin/develop' into fix-790
# Conflicts: # cypress/fixtures/tpl/docs.index.html # cypress/integration/sidebar/config.spec.js # docs/index.html # index.html
@ -3,7 +3,6 @@ packages/docsify-server-renderer/build.js
|
|||||||
node_modules
|
node_modules
|
||||||
build
|
build
|
||||||
server.js
|
server.js
|
||||||
cypress
|
|
||||||
lib
|
lib
|
||||||
themes
|
themes
|
||||||
build
|
build
|
||||||
|
@ -6,7 +6,6 @@ module.exports = {
|
|||||||
ecmaVersion: 2019,
|
ecmaVersion: 2019,
|
||||||
},
|
},
|
||||||
env: {
|
env: {
|
||||||
jest: true,
|
|
||||||
browser: true,
|
browser: true,
|
||||||
node: true,
|
node: true,
|
||||||
es6: true,
|
es6: true,
|
||||||
|
9
.github/PULL_REQUEST_TEMPLATE.md
vendored
@ -14,6 +14,7 @@
|
|||||||
- [ ] Refactor
|
- [ ] Refactor
|
||||||
- [ ] Docs
|
- [ ] Docs
|
||||||
- [ ] Build-related changes
|
- [ ] Build-related changes
|
||||||
|
- [ ] Repo settings
|
||||||
- [ ] Other, please describe:
|
- [ ] Other, please describe:
|
||||||
|
|
||||||
If changing the UI of default theme, please provide the **before/after** screenshot:
|
If changing the UI of default theme, please provide the **before/after** screenshot:
|
||||||
@ -44,11 +45,3 @@ If adding a **new feature**, the PR's description includes:
|
|||||||
- [ ] Related tests have been updated
|
- [ ] Related tests have been updated
|
||||||
|
|
||||||
To avoid wasting your time, it's best to open a **feature request issue** first and wait for approval before working on it.
|
To avoid wasting your time, it's best to open a **feature request issue** first and wait for approval before working on it.
|
||||||
|
|
||||||
|
|
||||||
**Other information:**
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
* [ ] DO NOT include files inside `lib` directory.
|
|
||||||
|
|
||||||
|
20
.github/stale.yml
vendored
@ -1,20 +0,0 @@
|
|||||||
# Number of days of inactivity before an issue becomes stale
|
|
||||||
daysUntilStale: 60
|
|
||||||
# Number of days of inactivity before a stale issue is closed
|
|
||||||
daysUntilClose: 7
|
|
||||||
# Issues with these labels will never be considered stale
|
|
||||||
exemptLabels:
|
|
||||||
- pinned
|
|
||||||
- security
|
|
||||||
- On hold
|
|
||||||
- enhancement
|
|
||||||
- bug
|
|
||||||
# Label to use when marking an issue as stale
|
|
||||||
staleLabel: wontfix
|
|
||||||
# Comment to post when marking an issue as stale. Set to `false` to disable
|
|
||||||
markComment: >
|
|
||||||
This issue has been automatically marked as stale because it has not had
|
|
||||||
recent activity. It will be closed if no further activity occurs. Thank you
|
|
||||||
for your contributions.
|
|
||||||
# Comment to post when closing a stale issue. Set to `false` to disable
|
|
||||||
closeComment: false
|
|
31
.github/workflows/e2e.yml
vendored
@ -1,31 +0,0 @@
|
|||||||
name: Testing the e2e test suites
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- master
|
|
||||||
- develop
|
|
||||||
pull_request:
|
|
||||||
branches:
|
|
||||||
- master
|
|
||||||
- develop
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
runs-on: ubuntu-16.04
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
node-version: [10.x, 12.x, 13.x]
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v1
|
|
||||||
- name: Use Node.js ${{ matrix.node-version }}
|
|
||||||
uses: actions/setup-node@v1
|
|
||||||
with:
|
|
||||||
node-version: ${{ matrix.node-version }}
|
|
||||||
- name: bootstrap
|
|
||||||
run: npm run bootstrap
|
|
||||||
- name: Build
|
|
||||||
run: npm run build
|
|
||||||
- name: end to end
|
|
||||||
run: npm run test:e2e
|
|
39
.github/workflows/lint.yml
vendored
@ -1,31 +1,30 @@
|
|||||||
name: Linting Checks
|
name: Lint
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- master
|
- master
|
||||||
- develop
|
- develop
|
||||||
pull_request:
|
pull_request:
|
||||||
branches:
|
branches:
|
||||||
- master
|
- master
|
||||||
- develop
|
- develop
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
runs-on: ubuntu-16.04
|
runs-on: ubuntu-latest
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
node-version: [10.x, 12.x, 13.x]
|
node-version: [12.x, 14.x]
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v1
|
- uses: actions/checkout@v2
|
||||||
- name: Use Node.js ${{ matrix.node-version }}
|
- name: Use Node.js ${{ matrix.node-version }}
|
||||||
uses: actions/setup-node@v1
|
uses: actions/setup-node@v1
|
||||||
with:
|
with:
|
||||||
node-version: ${{ matrix.node-version }}
|
node-version: ${{ matrix.node-version }}
|
||||||
- name: bootstrap
|
- name: Install
|
||||||
run: npm run bootstrap
|
run: npm i --ignore-scripts
|
||||||
- name: Build
|
- name: Lint
|
||||||
run: npm run build
|
run: npm run lint
|
||||||
- name: Linting
|
|
||||||
run: npm run lint
|
|
||||||
|
42
.github/workflows/test.yml
vendored
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
name: Build & Test
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
- develop
|
||||||
|
pull_request:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
- develop
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
node-version: [12.x, 14.x]
|
||||||
|
os: ['macos-latest', 'ubuntu-latest', 'windows-latest']
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- name: Use Node.js ${{ matrix.node-version }}
|
||||||
|
uses: actions/setup-node@v1
|
||||||
|
with:
|
||||||
|
node-version: ${{ matrix.node-version }}
|
||||||
|
- name: bootstrap
|
||||||
|
run: npm run bootstrap
|
||||||
|
- name: unit tests
|
||||||
|
run: npm run test:unit -- -ci --runInBand
|
||||||
|
- name: integration tests
|
||||||
|
run: npm run test:integration -- -ci --runInBand
|
||||||
|
- uses: microsoft/playwright-github-action@v1.3.0
|
||||||
|
- name: e2e tests
|
||||||
|
run: npm run test:e2e -- --ci --runInBand
|
||||||
|
- name: Upload artifacts (diff output)
|
||||||
|
uses: actions/upload-artifact@v2
|
||||||
|
if: failure()
|
||||||
|
with:
|
||||||
|
name: ${{ matrix.os }}-${{ matrix.node-version }}-diff-output
|
||||||
|
path: ${{ github.workspace }}/test/**/__diff_output__/*
|
31
.github/workflows/unit.yml
vendored
@ -1,31 +0,0 @@
|
|||||||
name: Unit tests Suite
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- master
|
|
||||||
- develop
|
|
||||||
pull_request:
|
|
||||||
branches:
|
|
||||||
- master
|
|
||||||
- develop
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
runs-on: ubuntu-16.04
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
node-version: [10.x, 12.x, 13.x]
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v1
|
|
||||||
- name: Use Node.js ${{ matrix.node-version }}
|
|
||||||
uses: actions/setup-node@v1
|
|
||||||
with:
|
|
||||||
node-version: ${{ matrix.node-version }}
|
|
||||||
- name: bootstrap
|
|
||||||
run: npm run bootstrap
|
|
||||||
- name: Build
|
|
||||||
run: npm run build
|
|
||||||
- name: Unit tests
|
|
||||||
run: npm run test
|
|
5
.gitignore
vendored
@ -1,11 +1,10 @@
|
|||||||
*.log
|
*.log
|
||||||
.DS_Store
|
.DS_Store
|
||||||
.idea
|
.idea
|
||||||
|
__diff_output__
|
||||||
|
lib/
|
||||||
node_modules
|
node_modules
|
||||||
themes/
|
themes/
|
||||||
lib/
|
|
||||||
cypress/integration/examples
|
|
||||||
cypress/fixtures/docs
|
|
||||||
|
|
||||||
# exceptions
|
# exceptions
|
||||||
!.gitkeep
|
!.gitkeep
|
73
.vscode/launch.json
vendored
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
{
|
||||||
|
// Use IntelliSense to learn about possible attributes.
|
||||||
|
// Hover to view descriptions of existing attributes.
|
||||||
|
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
|
||||||
|
"version": "0.2.0",
|
||||||
|
"configurations": [
|
||||||
|
{
|
||||||
|
"type": "node",
|
||||||
|
"request": "launch",
|
||||||
|
"name": "Run tests",
|
||||||
|
"runtimeExecutable": "npm",
|
||||||
|
"runtimeArgs": ["run-script", "test"],
|
||||||
|
"console": "integratedTerminal"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "node",
|
||||||
|
"request": "launch",
|
||||||
|
"name": "Run current test file",
|
||||||
|
"runtimeExecutable": "npm",
|
||||||
|
"runtimeArgs": ["run-script", "test"],
|
||||||
|
"args": ["--", "-i", "${relativeFile}", "--testPathIgnorePatterns"],
|
||||||
|
"console": "integratedTerminal"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "node",
|
||||||
|
"request": "launch",
|
||||||
|
"name": "Run selected test name",
|
||||||
|
"runtimeExecutable": "npm",
|
||||||
|
"runtimeArgs": ["run-script", "test"],
|
||||||
|
"args": [
|
||||||
|
"--",
|
||||||
|
"-i",
|
||||||
|
"${relativeFile}",
|
||||||
|
"-t",
|
||||||
|
"${selectedText}",
|
||||||
|
"--testPathIgnorePatterns"
|
||||||
|
],
|
||||||
|
"console": "integratedTerminal"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "node",
|
||||||
|
"request": "launch",
|
||||||
|
"name": "Update current test file snapshot(s)",
|
||||||
|
"runtimeExecutable": "npm",
|
||||||
|
"runtimeArgs": ["run-script", "test"],
|
||||||
|
"args": [
|
||||||
|
"--",
|
||||||
|
"-i",
|
||||||
|
"${relativeFile}",
|
||||||
|
"--updateSnapshot",
|
||||||
|
"--testPathIgnorePatterns"
|
||||||
|
],
|
||||||
|
"console": "integratedTerminal"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "node",
|
||||||
|
"request": "launch",
|
||||||
|
"name": "Update selected test name snapshot(s)",
|
||||||
|
"runtimeExecutable": "npm",
|
||||||
|
"runtimeArgs": ["run-script", "test"],
|
||||||
|
"args": [
|
||||||
|
"--",
|
||||||
|
"-i",
|
||||||
|
"${relativeFile}",
|
||||||
|
"-t",
|
||||||
|
"${selectedText}",
|
||||||
|
"--updateSnapshot",
|
||||||
|
"--testPathIgnorePatterns"
|
||||||
|
],
|
||||||
|
"console": "integratedTerminal"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
38
CHANGELOG.md
@ -1,3 +1,41 @@
|
|||||||
|
## [4.11.6](https://github.com/docsifyjs/docsify/compare/v4.11.5...v4.11.6) (2020-08-22)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* Add patch for {docsify-ignore} and {docsify-ignore-all} ([ce31607](https://github.com/docsifyjs/docsify/commit/ce316075e033afdbeb43ce01e284a29fe1870e38))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## [4.11.5](https://github.com/docsifyjs/docsify/compare/v4.11.4...v4.11.5) (2020-08-21)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* Russian language link error ([#1270](https://github.com/docsifyjs/docsify/issues/1270)) ([2a52460](https://github.com/docsifyjs/docsify/commit/2a52460a59448abaf681046fbc5dca642285ae1f))
|
||||||
|
* {docsify-updated} in the sample code is parsed into time ([#1321](https://github.com/docsifyjs/docsify/issues/1321)) ([2048610](https://github.com/docsifyjs/docsify/commit/2048610aacd4e3c6a592f4247834a726c7ca33fb))
|
||||||
|
* Add error handling for missing dependencies (fixes [#1210](https://github.com/docsifyjs/docsify/issues/1210)) ([#1232](https://github.com/docsifyjs/docsify/issues/1232)) ([3673001](https://github.com/docsifyjs/docsify/commit/3673001a24cb24c57454f9bc7619de49d2c3a044))
|
||||||
|
* after setting the background image, the button is obscured ([#1234](https://github.com/docsifyjs/docsify/issues/1234)) ([34d918f](https://github.com/docsifyjs/docsify/commit/34d918f9973bdb8e893248853e3ef7e803d4c253))
|
||||||
|
* convert {docsify-ignore} and {docsify-ignore-all} to HTML comments ([#1318](https://github.com/docsifyjs/docsify/issues/1318)) ([90d283d](https://github.com/docsifyjs/docsify/commit/90d283d340502456a5d8495df596bb4a02ceb39b))
|
||||||
|
* fallback page should use path not file location ([#1301](https://github.com/docsifyjs/docsify/issues/1301)) ([2bceabc](https://github.com/docsifyjs/docsify/commit/2bceabcb8e623570540493e2f1d956adf45c99e7))
|
||||||
|
* Fix search error when exist translations documents ([#1300](https://github.com/docsifyjs/docsify/issues/1300)) ([b869019](https://github.com/docsifyjs/docsify/commit/b8690199006366e86084e9e018def7b9b8f46512))
|
||||||
|
* gitignore was ignoring folders in src, so VS Code search results or file fuzzy finder were not working, etc ([d4c9247](https://github.com/docsifyjs/docsify/commit/d4c9247b87c0a2701683ed1a17383cfb451cf609))
|
||||||
|
* packages/docsify-server-renderer/package.json & packages/docsify-server-renderer/package-lock.json to reduce vulnerabilities ([#1250](https://github.com/docsifyjs/docsify/issues/1250)) ([d439bac](https://github.com/docsifyjs/docsify/commit/d439bac93f479d0480799880538fc3104e54c907))
|
||||||
|
* search can not search the table header ([#1256](https://github.com/docsifyjs/docsify/issues/1256)) ([3f03e78](https://github.com/docsifyjs/docsify/commit/3f03e78418993d8e9a4f5062e10dc79c3753389e))
|
||||||
|
* Search plugin: matched text is replaced with search text ([#1298](https://github.com/docsifyjs/docsify/issues/1298)) ([78775b6](https://github.com/docsifyjs/docsify/commit/78775b6ee73102cc5ac71c0ee2b392c5f4f6f4f8))
|
||||||
|
* the uncaught typeerror when el is null ([#1308](https://github.com/docsifyjs/docsify/issues/1308)) ([952f4c9](https://github.com/docsifyjs/docsify/commit/952f4c921b7a6a558c500ca6b105582d39ad36a2))
|
||||||
|
* Updated docs with instructions for installing specific version (fixes [#780](https://github.com/docsifyjs/docsify/issues/780)) ([#1225](https://github.com/docsifyjs/docsify/issues/1225)) ([b90c948](https://github.com/docsifyjs/docsify/commit/b90c948090e89fa778279c95060dbd7668285658))
|
||||||
|
* upgrade medium-zoom from 1.0.5 to 1.0.6 ([3beaa66](https://github.com/docsifyjs/docsify/commit/3beaa6666b78518f1ffaa37f6942f3cb08fef896))
|
||||||
|
* upgrade tinydate from 1.2.0 to 1.3.0 ([#1341](https://github.com/docsifyjs/docsify/issues/1341)) ([59d090f](https://github.com/docsifyjs/docsify/commit/59d090fe9096bc03e259c166634bb75bb2623f85))
|
||||||
|
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* **search:** add pathNamespaces option ([d179dde](https://github.com/docsifyjs/docsify/commit/d179dde1c71acdcbe66cb762377b123926c55bf2))
|
||||||
|
* Add title to sidebar links ([#1286](https://github.com/docsifyjs/docsify/issues/1286)) ([667496b](https://github.com/docsifyjs/docsify/commit/667496b85d99b168255f58e60a6bfe902cc6ee03))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## [4.11.4](https://github.com/docsifyjs/docsify/compare/v4.11.3...v4.11.4) (2020-06-18)
|
## [4.11.4](https://github.com/docsifyjs/docsify/compare/v4.11.3...v4.11.4) (2020-06-18)
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<p align="center">
|
<p align="center">
|
||||||
<a href="https://docsify.js.org">
|
<a href="https://docsify.js.org">
|
||||||
<img alt="docsify" src="https://github.com/docsifyjs/docsify/blob/develop/docs/_media/icon.svg">
|
<img alt="docsify" src="./docs/_media/icon.svg">
|
||||||
</a>
|
</a>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
@ -84,7 +84,7 @@ So that you can start straight away.
|
|||||||
|
|
||||||
- Fork it!
|
- Fork it!
|
||||||
- Create your feature branch: `git checkout -b my-new-feature`
|
- Create your feature branch: `git checkout -b my-new-feature`
|
||||||
- Commit your changes: `git commit -am 'Add some feature'`
|
- Commit your changes: `git add . && git commit -m 'Add some feature'`
|
||||||
- Push to the branch: `git push origin my-new-feature`
|
- Push to the branch: `git push origin my-new-feature`
|
||||||
- Submit a pull request
|
- Submit a pull request
|
||||||
|
|
||||||
|
12
babel.config.js
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
module.exports = {
|
||||||
|
presets: [
|
||||||
|
[
|
||||||
|
'@babel/preset-env',
|
||||||
|
{
|
||||||
|
targets: {
|
||||||
|
node: 'current',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
],
|
||||||
|
],
|
||||||
|
};
|
@ -22,7 +22,10 @@ async function build(opts) {
|
|||||||
.rollup({
|
.rollup({
|
||||||
input: opts.input,
|
input: opts.input,
|
||||||
plugins: (opts.plugins || []).concat([
|
plugins: (opts.plugins || []).concat([
|
||||||
buble(),
|
buble({
|
||||||
|
transforms: {
|
||||||
|
dangerousForOf: true
|
||||||
|
}}),
|
||||||
commonjs(),
|
commonjs(),
|
||||||
nodeResolve(),
|
nodeResolve(),
|
||||||
replace({
|
replace({
|
||||||
|
@ -1,115 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
|
|
||||||
<head>
|
|
||||||
<meta charset="UTF-8" />
|
|
||||||
<title>docsify-e2e-tests</title>
|
|
||||||
<link rel="icon" href="_media/favicon.ico" />
|
|
||||||
<meta name="google-site-verification" content="6t0LoIeFksrjF4c9sqUEsVXiQNxLp2hgoqo0KryT-sE" />
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
|
|
||||||
<meta name="keywords" content="doc,docs,documentation,gitbook,creator,generator,github,jekyll,github-pages" />
|
|
||||||
<meta name="description" content="A magical documentation generator." />
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0" />
|
|
||||||
<link rel="stylesheet" href="lib/themes/vue.css" title="vue" />
|
|
||||||
<link rel="stylesheet" href="lib/themes/dark.css" title="dark" disabled />
|
|
||||||
<link rel="stylesheet" href="lib/themes/buble.css" title="buble" disabled />
|
|
||||||
<link rel="stylesheet" href="lib/themes/pure.css" title="pure" disabled />
|
|
||||||
<link rel="stylesheet" href="//unpkg.com/vuep/dist/vuep.css">
|
|
||||||
|
|
||||||
<style>
|
|
||||||
nav.app-nav li ul {
|
|
||||||
min-width: 100px;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
|
|
||||||
<body>
|
|
||||||
<div id="app">Loading Docsify e2e tests suite...</div>
|
|
||||||
<script>
|
|
||||||
window.$docsify = {
|
|
||||||
alias: {
|
|
||||||
'.*?/awesome':
|
|
||||||
'https://raw.githubusercontent.com/docsifyjs/awesome-docsify/master/README.md',
|
|
||||||
'.*?/changelog':
|
|
||||||
'https://raw.githubusercontent.com/docsifyjs/docsify/master/CHANGELOG.md',
|
|
||||||
'/.*/_navbar.md': '/_navbar.md',
|
|
||||||
'/zh-cn/(.*)':
|
|
||||||
'https://raw.githubusercontent.com/docsifyjs/docs-zh/master/$1',
|
|
||||||
'/de-de/(.*)':
|
|
||||||
'https://raw.githubusercontent.com/docsifyjs/docs-de/master/$1',
|
|
||||||
'/ru/(.*)':
|
|
||||||
'https://raw.githubusercontent.com/docsifyjs/docs-ru/master/$1',
|
|
||||||
'/es/(.*)':
|
|
||||||
'https://raw.githubusercontent.com/docsifyjs/docs-es/master/$1'
|
|
||||||
},
|
|
||||||
auto2top: true,
|
|
||||||
coverpage: true,
|
|
||||||
executeScript: true,
|
|
||||||
loadSidebar: true,
|
|
||||||
loadNavbar: true,
|
|
||||||
mergeNavbar: true,
|
|
||||||
maxLevel: 4,
|
|
||||||
subMaxLevel: 2,
|
|
||||||
ga: 'UA-106147152-1',
|
|
||||||
matomo: {
|
|
||||||
host: '//matomo.thunderwave.de',
|
|
||||||
id: 6
|
|
||||||
},
|
|
||||||
name: 'docsify',
|
|
||||||
search: {
|
|
||||||
noData: {
|
|
||||||
'/de-de/': 'Keine Ergebnisse!',
|
|
||||||
'/zh-cn/': '没有结果!',
|
|
||||||
'/': 'No results!'
|
|
||||||
},
|
|
||||||
paths: 'auto',
|
|
||||||
placeholder: {
|
|
||||||
'/de-de/': 'Suche',
|
|
||||||
'/zh-cn/': '搜索',
|
|
||||||
'/': 'Search'
|
|
||||||
}
|
|
||||||
},
|
|
||||||
formatUpdated: '{MM}/{DD} {HH}:{mm}',
|
|
||||||
plugins: [
|
|
||||||
function (hook, vm) {
|
|
||||||
hook.beforeEach(function (html) {
|
|
||||||
if (/githubusercontent\.com/.test(vm.route.file)) {
|
|
||||||
url = vm.route.file
|
|
||||||
.replace('raw.githubusercontent.com', 'github.com')
|
|
||||||
.replace(/\/master/, '/blob/master')
|
|
||||||
} else {
|
|
||||||
url =
|
|
||||||
'https://github.com/docsifyjs/docsify/blob/master/docs/' +
|
|
||||||
vm.route.file
|
|
||||||
}
|
|
||||||
var editHtml = '[:memo: Edit Document](' + url + ')\n'
|
|
||||||
return (
|
|
||||||
editHtml +
|
|
||||||
html +
|
|
||||||
'\n\n----\n\n' +
|
|
||||||
'<a href="https://docsify.js.org" target="_blank" style="color: inherit; font-weight: normal; text-decoration: none;">Powered by docsify</a>'
|
|
||||||
)
|
|
||||||
})
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
<script src="lib/docsify.min.js"></script>
|
|
||||||
<script src="lib/plugins/search.min.js"></script>
|
|
||||||
<script src="lib/plugins/ga.min.js"></script>
|
|
||||||
<script src="lib/plugins/matomo.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>
|
|
||||||
<script src="//unpkg.com/vue/dist/vue.js"></script>
|
|
||||||
<script src="//unpkg.com/vuep/dist/vuep.min.js"></script>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
; ((window.gitter = {}).chat = {}).options = {
|
|
||||||
room: 'docsifyjs/Lobby'
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
<script src="https://sidecar.gitter.im/dist/sidecar.v1.js" async defer></script>
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
@ -1,343 +0,0 @@
|
|||||||
context('sidebar.configurations', () => {
|
|
||||||
beforeEach(() => {
|
|
||||||
cy.visit('http://localhost:3000');
|
|
||||||
});
|
|
||||||
|
|
||||||
const quickStartIds = [
|
|
||||||
'initialize',
|
|
||||||
'writing-content',
|
|
||||||
'preview-your-site',
|
|
||||||
'manual-initialization',
|
|
||||||
'loading-dialog',
|
|
||||||
];
|
|
||||||
quickStartIds.forEach(id => {
|
|
||||||
it('go to #quickstart?id=' + id, () => {
|
|
||||||
cy.get(
|
|
||||||
'.sidebar-nav > :nth-child(1) > :nth-child(1) > ul > :nth-child(1) > a'
|
|
||||||
).click();
|
|
||||||
|
|
||||||
cy.get(`a.section-link[href='#/quickstart?id=${id}']`)
|
|
||||||
.click()
|
|
||||||
.then(() => {
|
|
||||||
cy.wait(500);
|
|
||||||
cy.matchImageSnapshot();
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
const configurationIds = [
|
|
||||||
'el',
|
|
||||||
'repo',
|
|
||||||
'maxlevel',
|
|
||||||
'loadnavbar',
|
|
||||||
'loadsidebar',
|
|
||||||
'hidesidebar',
|
|
||||||
'submaxlevel',
|
|
||||||
'auto2top',
|
|
||||||
'homepage',
|
|
||||||
'basepath',
|
|
||||||
'relativepath',
|
|
||||||
'coverpage',
|
|
||||||
'logo',
|
|
||||||
'name',
|
|
||||||
'namelink',
|
|
||||||
'markdown',
|
|
||||||
'themecolor',
|
|
||||||
'alias',
|
|
||||||
'autoheader',
|
|
||||||
'executescript',
|
|
||||||
'noemoji',
|
|
||||||
'mergenavbar',
|
|
||||||
'formatupdated',
|
|
||||||
'externallinktarget',
|
|
||||||
'cornerexternallinktarget',
|
|
||||||
'externallinkrel',
|
|
||||||
'routermode',
|
|
||||||
'nocompilelinks',
|
|
||||||
'onlycover',
|
|
||||||
'requestheaders',
|
|
||||||
'ext',
|
|
||||||
'fallbacklanguages',
|
|
||||||
'notfoundpage',
|
|
||||||
];
|
|
||||||
configurationIds.forEach(id => {
|
|
||||||
it('go to #configuration?id=' + id, () => {
|
|
||||||
cy.get('[href="#/configuration"]').click();
|
|
||||||
|
|
||||||
cy.get(`a.section-link[href='#/configuration?id=${id}']`)
|
|
||||||
.click()
|
|
||||||
.then(() => {
|
|
||||||
cy.wait(500); // its more far from the cover
|
|
||||||
cy.matchImageSnapshot();
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
const morePagesIds = [
|
|
||||||
'sidebar',
|
|
||||||
'nested-sidebars',
|
|
||||||
'set-page-titles-from-sidebar-selection',
|
|
||||||
'table-of-contents',
|
|
||||||
'ignoring-subheaders',
|
|
||||||
];
|
|
||||||
morePagesIds.forEach(id => {
|
|
||||||
it('go to #more-pages?id=' + id, () => {
|
|
||||||
cy.get('[href="#/more-pages"]').click();
|
|
||||||
|
|
||||||
cy.get(`a.section-link[href='#/more-pages?id=${id}']`)
|
|
||||||
.click()
|
|
||||||
.then(() => {
|
|
||||||
cy.wait(500);
|
|
||||||
cy.matchImageSnapshot();
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
const customNavbarIds = [
|
|
||||||
'html',
|
|
||||||
'markdown',
|
|
||||||
'nesting',
|
|
||||||
'combining-custom-navbars-with-the-emoji-plugin',
|
|
||||||
];
|
|
||||||
customNavbarIds.forEach(id => {
|
|
||||||
it('go to #custom-navbar?id=' + id, () => {
|
|
||||||
cy.get('[href="#/custom-navbar"]').click();
|
|
||||||
|
|
||||||
cy.get(`a.section-link[href='#/custom-navbar?id=${id}']`)
|
|
||||||
.click()
|
|
||||||
.then(() => {
|
|
||||||
cy.wait(500);
|
|
||||||
cy.matchImageSnapshot();
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
const coverIds = [
|
|
||||||
'basic-usage',
|
|
||||||
'custom-background',
|
|
||||||
'coverpage-as-homepage',
|
|
||||||
'multiple-covers',
|
|
||||||
];
|
|
||||||
coverIds.forEach(id => {
|
|
||||||
it('go to #cover?id=' + id, () => {
|
|
||||||
cy.get('[href="#/cover"]').click();
|
|
||||||
|
|
||||||
cy.get(`a.section-link[href='#/cover?id=${id}']`)
|
|
||||||
.click()
|
|
||||||
.then(() => {
|
|
||||||
cy.wait(500);
|
|
||||||
cy.matchImageSnapshot();
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
const themesIds = ['other-themes'];
|
|
||||||
themesIds.forEach(id => {
|
|
||||||
it('go to #themes?id=' + id, () => {
|
|
||||||
cy.get('[href="#/themes"]').click();
|
|
||||||
|
|
||||||
cy.get(`a.section-link[href='#/themes?id=${id}']`)
|
|
||||||
.click()
|
|
||||||
.then(() => {
|
|
||||||
cy.wait(500);
|
|
||||||
cy.matchImageSnapshot();
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
const pluginsIds = [
|
|
||||||
'full-text-search',
|
|
||||||
'google-analytics',
|
|
||||||
'emoji',
|
|
||||||
'external-script',
|
|
||||||
'zoom-image',
|
|
||||||
'edit-on-github',
|
|
||||||
'demo-code-with-instant-preview-and-jsfiddle-integration',
|
|
||||||
'copy-to-clipboard',
|
|
||||||
'disqus',
|
|
||||||
'gitalk',
|
|
||||||
'pagination',
|
|
||||||
'tabs',
|
|
||||||
'more-plugins',
|
|
||||||
];
|
|
||||||
pluginsIds.forEach(id => {
|
|
||||||
it('go to #plugins?id=' + id, () => {
|
|
||||||
cy.get('[href="#/plugins"]').click();
|
|
||||||
|
|
||||||
cy.get(`a.section-link[href='#/plugins?id=${id}']`)
|
|
||||||
.click()
|
|
||||||
.then(() => {
|
|
||||||
cy.wait(500);
|
|
||||||
cy.matchImageSnapshot();
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
const writeAPluginIds = ['full-configuration', 'example', 'tips'];
|
|
||||||
writeAPluginIds.forEach(id => {
|
|
||||||
it('go to #write-a-plugin?id=' + id, () => {
|
|
||||||
cy.get('[href="#/write-a-plugin"]').click();
|
|
||||||
|
|
||||||
cy.get(`a.section-link[href='#/write-a-plugin?id=${id}']`)
|
|
||||||
.click()
|
|
||||||
.then(() => {
|
|
||||||
cy.wait(500);
|
|
||||||
cy.matchImageSnapshot();
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
const markdownIds = ['supports-mermaid'];
|
|
||||||
markdownIds.forEach(id => {
|
|
||||||
it('go to #markdown?id=' + id, () => {
|
|
||||||
cy.get('[href="#/markdown"]').click();
|
|
||||||
|
|
||||||
cy.get(`a.section-link[href='#/markdown?id=${id}']`)
|
|
||||||
.click()
|
|
||||||
.then(() => {
|
|
||||||
cy.wait(500);
|
|
||||||
cy.matchImageSnapshot();
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
it('go to #Language-highlight', () => {
|
|
||||||
cy.get('a[href="#/language-highlight"]')
|
|
||||||
.click()
|
|
||||||
.then(() => {
|
|
||||||
cy.wait(500);
|
|
||||||
cy.matchImageSnapshot();
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
// const deployIds = [
|
|
||||||
// 'github-pages',
|
|
||||||
// 'gitlab-pages',
|
|
||||||
// 'firebase-hosting',
|
|
||||||
// 'vps',
|
|
||||||
// 'netlify',
|
|
||||||
// 'zeit-now',
|
|
||||||
// 'aws-amplify'
|
|
||||||
// ]
|
|
||||||
// deployIds.forEach(id => {
|
|
||||||
// it('go to #deploy?id=' + id, () => {
|
|
||||||
// cy.get('[href="#/deploy"]').click()
|
|
||||||
|
|
||||||
// cy.get(`a.section-link[href='#/deploy?id=${id}']`)
|
|
||||||
// .click()
|
|
||||||
// .then(() => {
|
|
||||||
// cy.wait(500)
|
|
||||||
// cy.matchImageSnapshot()
|
|
||||||
// })
|
|
||||||
// })
|
|
||||||
// })
|
|
||||||
|
|
||||||
const helpersIds = [
|
|
||||||
'important-content',
|
|
||||||
'general-tips',
|
|
||||||
'ignore-to-compile-link',
|
|
||||||
'set-target-attribute-for-link',
|
|
||||||
'disable-link',
|
|
||||||
'github-task-lists',
|
|
||||||
'customise-id-for-headings',
|
|
||||||
'markdown-in-html-tag',
|
|
||||||
];
|
|
||||||
helpersIds.forEach(id => {
|
|
||||||
it('go to #helpers?id=' + id, () => {
|
|
||||||
cy.get('[href="#/helpers"]').click();
|
|
||||||
|
|
||||||
cy.get(`a.section-link[href='#/helpers?id=${id}']`)
|
|
||||||
.click()
|
|
||||||
.then(() => {
|
|
||||||
cy.wait(500);
|
|
||||||
cy.matchImageSnapshot();
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
const vueIds = ['basic-rendering', 'advanced-usage', 'vuep-playgrounds'];
|
|
||||||
vueIds.forEach(id => {
|
|
||||||
it('go to #vue?id=' + id, () => {
|
|
||||||
cy.get('[href="#/vue"]').click();
|
|
||||||
|
|
||||||
cy.get(`a.section-link[href='#/vue?id=${id}']`)
|
|
||||||
.click()
|
|
||||||
.then(() => {
|
|
||||||
cy.wait(500);
|
|
||||||
cy.matchImageSnapshot();
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
const cdnIds = [
|
|
||||||
'latest-version',
|
|
||||||
'specific-version',
|
|
||||||
'compressed-file',
|
|
||||||
'other-cdn',
|
|
||||||
];
|
|
||||||
cdnIds.forEach(id => {
|
|
||||||
it('go to #cdn?id=' + id, () => {
|
|
||||||
cy.get('[href="#/cdn"]').click();
|
|
||||||
|
|
||||||
cy.get(`a.section-link[href='#/cdn?id=${id}']`)
|
|
||||||
.click()
|
|
||||||
.then(() => {
|
|
||||||
cy.wait(500);
|
|
||||||
cy.matchImageSnapshot();
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
const pwaIds = ['create-serviceworker', 'register', 'enjoy-it'];
|
|
||||||
pwaIds.forEach(id => {
|
|
||||||
it('go to #pwa?id=' + id, () => {
|
|
||||||
cy.get('[href="#/pwa"]').click();
|
|
||||||
|
|
||||||
cy.get(`a.section-link[href='#/pwa?id=${id}']`)
|
|
||||||
.click()
|
|
||||||
.then(() => {
|
|
||||||
cy.wait(500);
|
|
||||||
cy.matchImageSnapshot();
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
const ssrIds = [
|
|
||||||
'why-ssr',
|
|
||||||
'quick-start',
|
|
||||||
'custom-template',
|
|
||||||
'configuration',
|
|
||||||
'deploy-for-your-vps',
|
|
||||||
];
|
|
||||||
|
|
||||||
ssrIds.forEach(id => {
|
|
||||||
it('go to #ssr?id=' + id, () => {
|
|
||||||
cy.get('[href="#/ssr"]').click();
|
|
||||||
|
|
||||||
cy.get(`a.section-link[href='#/ssr?id=${id}']`)
|
|
||||||
.click()
|
|
||||||
.then(() => {
|
|
||||||
cy.wait(500);
|
|
||||||
cy.matchImageSnapshot();
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
|
||||||
const embedFilesIds = [
|
|
||||||
'embedded-file-type',
|
|
||||||
'embedded-code-fragments',
|
|
||||||
'tag-attribute',
|
|
||||||
'the-code-block-highlight',
|
|
||||||
];
|
|
||||||
embedFilesIds.forEach(id => {
|
|
||||||
it('go to #embed-files?id=' + id, () => {
|
|
||||||
cy.get('[href="#/embed-files"]').click();
|
|
||||||
|
|
||||||
cy.get(`a.section-link[href='#/embed-files?id=${id}']`)
|
|
||||||
.click()
|
|
||||||
.then(() => {
|
|
||||||
cy.wait(500);
|
|
||||||
cy.matchImageSnapshot();
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
|
@ -1,13 +0,0 @@
|
|||||||
const path = require('path')
|
|
||||||
const LiveServer = require('live-server')
|
|
||||||
|
|
||||||
const fixturePath = path.join(__dirname, './fixtures/docs')
|
|
||||||
const args = process.argv.slice(2)
|
|
||||||
console.log('[e2e tests] : args passed to live server', args)
|
|
||||||
const params = {
|
|
||||||
port: args[0] || 3000,
|
|
||||||
root: args[1] || fixturePath,
|
|
||||||
open: false
|
|
||||||
// NoBrowser: true
|
|
||||||
}
|
|
||||||
LiveServer.start(params)
|
|
@ -1,18 +0,0 @@
|
|||||||
// ***********************************************************
|
|
||||||
// This example plugins/index.js can be used to load plugins
|
|
||||||
//
|
|
||||||
// You can change the location of this file or turn off loading
|
|
||||||
// the plugins file with the 'pluginsFile' configuration option.
|
|
||||||
//
|
|
||||||
// You can read more here:
|
|
||||||
// https://on.cypress.io/plugins-guide
|
|
||||||
// ***********************************************************
|
|
||||||
|
|
||||||
// This function is called when a project is opened or re-opened (e.g. due to
|
|
||||||
// the project's config changing)
|
|
||||||
const { addMatchImageSnapshotPlugin } = require('cypress-image-snapshot/plugin')
|
|
||||||
module.exports = (on, config) => {
|
|
||||||
// `on` is used to hook into various events Cypress emits
|
|
||||||
// `config` is the resolved Cypress config
|
|
||||||
addMatchImageSnapshotPlugin(on, config)
|
|
||||||
}
|
|
@ -1,75 +0,0 @@
|
|||||||
const copyDir = require('copy-dir')
|
|
||||||
const path = require('path')
|
|
||||||
const fs = require('fs')
|
|
||||||
const { spawn } = require('child_process')
|
|
||||||
|
|
||||||
const setup = async () => {
|
|
||||||
const PORT = process.env.PORT || 3000
|
|
||||||
global.__LIVESERVER__ = null
|
|
||||||
global.PORT = PORT
|
|
||||||
|
|
||||||
/**
|
|
||||||
* IN this test suite, we are going to test our docs site with all the css,js linked to our local build packages
|
|
||||||
*
|
|
||||||
* 1.1 Copy ../docs --> ./fixtures/docs
|
|
||||||
* 1.2 copy lib,themes --> ./fixtures/
|
|
||||||
* 2. change the content of fixtures/docs/index.html to use all the links from our local build
|
|
||||||
* 3. now jest runner will run to test all the *.spec.js files
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
const shippedDirs = ['lib', 'themes']
|
|
||||||
|
|
||||||
// 1
|
|
||||||
const docsPath = path.join(process.cwd(), './docs')
|
|
||||||
const fixtureDocsPath = path.join(__dirname, './fixtures/docs')
|
|
||||||
|
|
||||||
// 1.1
|
|
||||||
console.log('[cypress test docs] Copying the docs --> cypress/fixtures/docs')
|
|
||||||
copyDir.sync(docsPath, fixtureDocsPath)
|
|
||||||
|
|
||||||
// 1.2
|
|
||||||
shippedDirs.forEach(dir => {
|
|
||||||
const fromPath = path.join(process.cwd(), dir)
|
|
||||||
const toPath = path.join(__dirname, `./fixtures/docs/${dir}`)
|
|
||||||
console.log(
|
|
||||||
`[cypress test docs] Copying ${dir} --> cypress/fixtures/docs/${dir}`
|
|
||||||
)
|
|
||||||
copyDir.sync(fromPath, toPath)
|
|
||||||
})
|
|
||||||
|
|
||||||
// 2
|
|
||||||
console.log(
|
|
||||||
'[cypress test docs] Replacing content the tpl/index.html --> cypress/fixtures/docs/index.html'
|
|
||||||
)
|
|
||||||
const indexHTMLtplPath = path.join(
|
|
||||||
__dirname,
|
|
||||||
'./fixtures/tpl/docs.index.html'
|
|
||||||
)
|
|
||||||
const fixtureIndexPath = path.join(__dirname, './fixtures/docs/index.html')
|
|
||||||
const data = fs.readFileSync(indexHTMLtplPath, 'utf8')
|
|
||||||
|
|
||||||
// 3
|
|
||||||
const fixturePath = path.join(__dirname, './fixtures/docs')
|
|
||||||
|
|
||||||
fs.writeFileSync(fixtureIndexPath, data, 'utf8')
|
|
||||||
const child = spawn('node', [
|
|
||||||
path.join(__dirname, './live.server.js'),
|
|
||||||
PORT,
|
|
||||||
fixturePath
|
|
||||||
])
|
|
||||||
child.on('exit', code => {
|
|
||||||
console.log(`Child process exited with code ${code}`)
|
|
||||||
})
|
|
||||||
child.stdout.on('data', data => {
|
|
||||||
console.log(`stdout: ${data}`)
|
|
||||||
})
|
|
||||||
child.stderr.on('data', data => {
|
|
||||||
console.log(`stderr: ${data}`)
|
|
||||||
})
|
|
||||||
|
|
||||||
// LiveServer.start(params)
|
|
||||||
global.__LIVESERVER__ = child
|
|
||||||
}
|
|
||||||
|
|
||||||
setup()
|
|
Before Width: | Height: | Size: 83 KiB |
Before Width: | Height: | Size: 86 KiB |
Before Width: | Height: | Size: 85 KiB |
Before Width: | Height: | Size: 82 KiB |
Before Width: | Height: | Size: 85 KiB |
Before Width: | Height: | Size: 86 KiB |
Before Width: | Height: | Size: 72 KiB |
Before Width: | Height: | Size: 79 KiB |
Before Width: | Height: | Size: 76 KiB |
Before Width: | Height: | Size: 90 KiB |
Before Width: | Height: | Size: 69 KiB |
Before Width: | Height: | Size: 64 KiB |
Before Width: | Height: | Size: 75 KiB |
Before Width: | Height: | Size: 82 KiB |
Before Width: | Height: | Size: 76 KiB |
Before Width: | Height: | Size: 81 KiB |
Before Width: | Height: | Size: 88 KiB |
Before Width: | Height: | Size: 83 KiB |
Before Width: | Height: | Size: 62 KiB |
Before Width: | Height: | Size: 80 KiB |
Before Width: | Height: | Size: 69 KiB |
Before Width: | Height: | Size: 70 KiB |
Before Width: | Height: | Size: 62 KiB |
Before Width: | Height: | Size: 58 KiB |
Before Width: | Height: | Size: 61 KiB |
Before Width: | Height: | Size: 83 KiB |
Before Width: | Height: | Size: 62 KiB |
Before Width: | Height: | Size: 57 KiB |
Before Width: | Height: | Size: 71 KiB |
Before Width: | Height: | Size: 68 KiB |
Before Width: | Height: | Size: 70 KiB |
Before Width: | Height: | Size: 66 KiB |
Before Width: | Height: | Size: 76 KiB |
Before Width: | Height: | Size: 66 KiB |
Before Width: | Height: | Size: 62 KiB |
Before Width: | Height: | Size: 66 KiB |
Before Width: | Height: | Size: 59 KiB |
Before Width: | Height: | Size: 84 KiB |
Before Width: | Height: | Size: 82 KiB |
Before Width: | Height: | Size: 82 KiB |
Before Width: | Height: | Size: 97 KiB |
Before Width: | Height: | Size: 66 KiB |
Before Width: | Height: | Size: 83 KiB |
Before Width: | Height: | Size: 75 KiB |
Before Width: | Height: | Size: 80 KiB |
Before Width: | Height: | Size: 96 KiB |
Before Width: | Height: | Size: 96 KiB |
Before Width: | Height: | Size: 83 KiB |
Before Width: | Height: | Size: 68 KiB |
Before Width: | Height: | Size: 75 KiB |
Before Width: | Height: | Size: 81 KiB |
Before Width: | Height: | Size: 53 KiB |
Before Width: | Height: | Size: 79 KiB |
Before Width: | Height: | Size: 64 KiB |
Before Width: | Height: | Size: 87 KiB |
Before Width: | Height: | Size: 59 KiB |
Before Width: | Height: | Size: 78 KiB |
Before Width: | Height: | Size: 64 KiB |
Before Width: | Height: | Size: 78 KiB |
Before Width: | Height: | Size: 100 KiB |
Before Width: | Height: | Size: 101 KiB |
Before Width: | Height: | Size: 107 KiB |
Before Width: | Height: | Size: 82 KiB |
Before Width: | Height: | Size: 102 KiB |
Before Width: | Height: | Size: 73 KiB |
Before Width: | Height: | Size: 82 KiB |
Before Width: | Height: | Size: 116 KiB |
Before Width: | Height: | Size: 88 KiB |
Before Width: | Height: | Size: 121 KiB |
Before Width: | Height: | Size: 89 KiB |
Before Width: | Height: | Size: 75 KiB |
Before Width: | Height: | Size: 91 KiB |
Before Width: | Height: | Size: 100 KiB |
Before Width: | Height: | Size: 89 KiB |
Before Width: | Height: | Size: 63 KiB |
Before Width: | Height: | Size: 81 KiB |
Before Width: | Height: | Size: 63 KiB |
Before Width: | Height: | Size: 89 KiB |
Before Width: | Height: | Size: 91 KiB |
Before Width: | Height: | Size: 76 KiB |
Before Width: | Height: | Size: 76 KiB |