Compare commits

...
Author SHA1 Message Date
cinwell.liandGitHub 5b4098d338 chore: add On hold label 2020-02-03 16:05:30 +08:00
cinwell.liandGitHub d44a517a88 chore: add config
@anikethsaha
2020-02-03 15:58:56 +08:00
Moritz SchrammandAnix 4419611238 Add undefined check for postcontent in search plugin 2020-02-03 12:44:51 +05:30
AnixandGitHub 0e54ea1177 [Test] : e2e tests using cypress (#999)
* chore: added cypresss

* chore: added sidebar tests

* chore: script update

* chore: removed cypress examples

* chore: added lib to eslintignore

* chore: script fixes

* chore: updated the snapshot
2020-01-30 17:44:13 +05:30
AnixandGitHub a213f98cb0 chore(GH-action): using ubuntu 16 and removed node 8 from CI 2020-01-30 16:41:39 +05:30
Joe PeaandGitHub 07f6edc9ca Merge pull request #1010 from docsifyjs/prepare-script
feat: Add a prepare script.
2020-01-27 23:18:37 -08:00
Joe PeaandGitHub e566e9c6e7 Merge branch 'develop' into prepare-script 2020-01-27 23:18:22 -08:00
Joe Pea efbea24de7 feat: Add a prepare script.
This makes it possible to depend on the docsify package using a git commit hash instead of a version number in package.json, and causes the `lib` folder to be built in those cases, otherwise consumers will try to import from a folder that doesn't exist.
2020-01-24 20:02:10 -08:00
AnixandGitHub 4f486798df Merge pull request #996 from Fs02/strip-indent-when-embedding-code
strip indent when embedding code fragment
2020-01-11 22:07:27 +05:30
AnixandGitHub b3eced395a Merge pull request #1000 from docsifyjs/github-action-ci
chore: added github Actions for CI
2020-01-09 01:00:56 +05:30
AnixandGitHub 336908f721 chore: CI workflow fixes 2020-01-09 00:58:27 +05:30
AnixandGitHub 45d0c3af80 chore: added github Actions for CI 2020-01-09 00:54:39 +05:30
Muhammad Surya 7fb50b95f1 strip indent when embedding code fragment 2020-01-05 11:28:38 +07:00
Giulio AmbrogiandAnix db97a1d22a Eslint fixes for v4x (#989)
* UPDATE .eslintrc

* UPDATE lint task

* FIX lint errors

* CLEANUP

* FIX no-eq-null warning

* FIX many jsdoc warnings

* FIX jsdoc issues

* FIX jsdoc warnings

* FIX jsdoc

* FIX eqeq and no-eq-null

* ADD lint to travis

* UPDATE test env for eslint
2019-12-30 22:01:46 +05:30
AnixandGitHub 157973c509 Merge pull request #992 from docsifyjs/update-name-doc
docs: update docs for the `name` option
2019-12-30 12:52:13 +05:30
Joe PeaandGitHub 67a981b8d9 update docs for the name config option 2019-12-29 12:28:26 -08:00
AnixandGitHub d60fb7da7b Merge pull request #991 from anikethsaha/develop
chore: removed the escaping of the name of sidebar
2019-12-28 22:12:16 +05:30
anikethsaha 7d0c164bf5 chore: removed the escaping of the name of sidebar 2019-12-28 22:08:36 +05:30
James GeorgeandAnix 5b77b0f628 fix: stage modified files as part of pre-commit hook (#985) 2019-12-22 17:18:28 +05:30
cinwell.liandAnix 8416275e25 docs: about cache (#854) 2019-12-22 17:16:23 +05:30
Rodrigo AsensioandAnix 808123bc30 Added a redirect for images to show up in Amplify (#918)
Without the redirect images are not displaying in Amplify after deploying. Once added the redirect all PNGs showed up.
2019-12-20 17:42:53 +05:30
Thai PangsakulyanontandAnix daf54b9d36 There are currently {three=>four} themes available. (#892)
* There are currently {three=>four} themes available.

* Remove number
2019-12-20 17:42:39 +05:30
James GeorgeandAnix eea41a1207 feat(chore): configure pre-commit hook (#983)
* chore: add husky as a devDep

* chore: add lint-staged as a devDep

* configure: pre-commit hook for staged files

* fix: minor tweak

* chore: update glob
2019-12-19 14:08:21 +05:30
anikethsaha 3cd03d480d chore: add changelog 4.10.2 2019-12-17 03:20:41 +05:30
anikethsaha 9a90b9b927 [build] 4.10.2 2019-12-17 03:19:55 +05:30
AnixandGitHub 75919f1235 Merge pull request #979 from docsifyjs/opencollective-fix
fix: changed the opencollective cli to light
2019-12-17 03:05:08 +05:30
150 changed files with 3317 additions and 405 deletions
+3 -1
View File
@@ -2,4 +2,6 @@
packages/docsify-server-renderer/build.js
node_modules
build
server.js
server.js
cypress
lib
+17 -3
View File
@@ -1,7 +1,10 @@
{
"extends": "xo-space/browser",
"rules": {
"semi": [2, "never"],
"semi": [
2,
"never"
],
"no-return-assign": "off",
"no-unused-expressions": "off",
"no-new-func": "off",
@@ -10,11 +13,22 @@
"max-params": "off",
"no-script-url": "off",
"camelcase": "off",
"no-warning-comments": "off"
"object-curly-spacing": "off",
"no-warning-comments": "off",
"no-negated-condition": "off",
"eqeqeq": "warn",
"no-eq-null": "warn",
"max-statements-per-line": "warn"
},
"globals": {
"Docsify": true,
"$docsify": true,
"process": true
},
"env": {
"browser": true,
"amd": true,
"node": true,
"jest": true
}
}
}
+18
View File
@@ -0,0 +1,18 @@
# 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
# 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
+33
View File
@@ -0,0 +1,33 @@
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: linting
run: npm run lint
- name: end to end
run: npm run test:e2e
+2
View File
@@ -4,6 +4,8 @@
node_modules
themes/
lib/
cypress/integration/examples
cypress/fixtures/docs
# exceptions
!.gitkeep
+20
View File
@@ -1,3 +1,23 @@
sudo: false
language: node_js
node_js: stable
node_js:
- '10'
- '8'
- '12'
branches:
only:
- master
- develop
cache:
directories:
- node_modules
before_install:
- npm update
install:
- npm install
script:
- npm run build
- npm run test:e2e
script:
- npm run lint
+4
View File
@@ -1,3 +1,7 @@
## [4.10.2](https://github.com/docsifyjs/docsify/compare/v4.10.0...v4.10.2) (2019-12-16)
# [4.10.0](https://github.com/docsifyjs/docsify/compare/v4.9.4...v4.10.0) (2019-12-16)
+3
View File
@@ -0,0 +1,3 @@
{
"video": false
}
+123
View File
@@ -0,0 +1,123 @@
<!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, user-scalable=no, initial-scale=1.0, maximum-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 />
<script src="//unpkg.com/docsify-plugin-codefund/index.js"></script>
<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>
;((window.gitter = {}).chat = {}).options = {
room: 'docsifyjs/Lobby'
}
</script>
<script
src="https://sidecar.gitter.im/dist/sidecar.v1.js"
async
defer
></script>
</body>
</html>
+344
View File
@@ -0,0 +1,344 @@
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',
'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',
'codefund',
'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',
'image-resizing',
'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-usage', 'combine-vuep-to-write-playground']
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()
})
})
})
})
+13
View File
@@ -0,0 +1,13 @@
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)
+18
View File
@@ -0,0 +1,18 @@
// ***********************************************************
// 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)
}
+75
View File
@@ -0,0 +1,75 @@
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()
Binary file not shown.

After

Width:  |  Height:  |  Size: 85 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 87 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 87 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 85 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 108 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 75 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 124 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 103 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 100 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 85 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 104 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 92 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 102 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 93 KiB

Some files were not shown because too many files have changed in this diff Show More