From 5c9762f18e50174c03d1e7b5ac789fc7413d40f1 Mon Sep 17 00:00:00 2001 From: Nicolas Giard Date: Sun, 13 Aug 2017 19:55:19 -0400 Subject: [PATCH 01/56] docs: updated 2.0 milestones --- README.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 278795f8..a34e06f0 100644 --- a/README.md +++ b/README.md @@ -73,6 +73,15 @@ Current and upcoming milestones *(major features only, see the [changelog](https **Breaking Changes**: MongoDB is being phased out in favor of PostgreSQL + Redis. An upgrade tool will be provided to migrate existing data to the new system. - [ ] GraphQL API + - [ ] Comments + - [ ] Documents + - [ ] Files + - [ ] Folders + - [x] Groups + - [ ] Rights + - [ ] Settings + - [ ] Tags + - [x] Users - [x] Migrate to PostgreSQL + Redis datastore - [ ] History / Revert to previous version - [ ] Optional Two-Steps Authentication (2FA) @@ -80,7 +89,7 @@ Current and upcoming milestones *(major features only, see the [changelog](https - [ ] Support sub-directory installations (e.g. example.com/wiki) - [ ] Persist system settings to database instead of file-based - [ ] User Groups + Better permissions management -- [ ] Make use of all available CPU cores, distributed jobs queue +- [x] Make use of all available CPU cores, distributed jobs queue - [ ] Tags per document / folder - [ ] Comments / Discussion per document - [ ] Profile page per user From 117038c3d9f005b110893a35396638f6c39c7dbc Mon Sep 17 00:00:00 2001 From: Nicolas Giard Date: Sun, 13 Aug 2017 20:34:31 -0400 Subject: [PATCH 02/56] docs: updated 2.0 milestones ci skip --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index a34e06f0..6f741357 100644 --- a/README.md +++ b/README.md @@ -76,11 +76,11 @@ Current and upcoming milestones *(major features only, see the [changelog](https - [ ] Comments - [ ] Documents - [ ] Files - - [ ] Folders + - [x] Folders - [x] Groups - [ ] Rights - [ ] Settings - - [ ] Tags + - [x] Tags - [x] Users - [x] Migrate to PostgreSQL + Redis datastore - [ ] History / Revert to previous version From ee830e775903f7589653fc1710645ed57e6c036f Mon Sep 17 00:00:00 2001 From: Nicolas Giard Date: Mon, 14 Aug 2017 10:54:08 -0400 Subject: [PATCH 03/56] fix: env typo --- tools/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/docker-compose.yml b/tools/docker-compose.yml index c7f9595a..7407a580 100644 --- a/tools/docker-compose.yml +++ b/tools/docker-compose.yml @@ -14,6 +14,6 @@ services: ports: - '80:3000' environment: - - WIKI_ADMIN_EMAIL: admin@example.com + WIKI_ADMIN_EMAIL: admin@example.com volumes: - ./config.yml:/var/wiki/config.yml From aa23d827c05a807a12e8bc72ad066c93fcdae33e Mon Sep 17 00:00:00 2001 From: Nicolas Giard Date: Sat, 19 Aug 2017 18:25:51 -0400 Subject: [PATCH 04/56] docs: updated milestones --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 6f741357..4177e5a1 100644 --- a/README.md +++ b/README.md @@ -74,12 +74,12 @@ Current and upcoming milestones *(major features only, see the [changelog](https - [ ] GraphQL API - [ ] Comments - - [ ] Documents + - [x] Documents - [ ] Files - [x] Folders - [x] Groups - [ ] Rights - - [ ] Settings + - [x] Settings - [x] Tags - [x] Users - [x] Migrate to PostgreSQL + Redis datastore From a5a852baeda012fb2aa14dee88a7fdacfcfa842f Mon Sep 17 00:00:00 2001 From: Nicolas Giard Date: Sat, 19 Aug 2017 22:51:58 -0400 Subject: [PATCH 05/56] docs: updated milestones --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 4177e5a1..be138150 100644 --- a/README.md +++ b/README.md @@ -73,12 +73,12 @@ Current and upcoming milestones *(major features only, see the [changelog](https **Breaking Changes**: MongoDB is being phased out in favor of PostgreSQL + Redis. An upgrade tool will be provided to migrate existing data to the new system. - [ ] GraphQL API - - [ ] Comments + - [x] Comments - [x] Documents - [ ] Files - [x] Folders - [x] Groups - - [ ] Rights + - [x] Rights - [x] Settings - [x] Tags - [x] Users From 1aaba802a47141f404ea6b1d00a51990a2546f40 Mon Sep 17 00:00:00 2001 From: Ahmad Bamieh Date: Wed, 23 Aug 2017 18:52:19 +0300 Subject: [PATCH 06/56] add git branch support to the configs Add git branch support to the configs, defaults to master. config.yml: ```yml git: branch: ``` --- server/libs/git.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/server/libs/git.js b/server/libs/git.js index 2f86fbb2..d2dba3b9 100644 --- a/server/libs/git.js +++ b/server/libs/git.js @@ -48,15 +48,18 @@ module.exports = { } else { self._repo.path = appconfig.paths.repo } + // -> Initialize repository self.onReady = self._initRepo(appconfig) - // Define signature if (appconfig.git) { - self._signature.email = appconfig.git.serverEmail || 'wiki@example.com' + // Set repo branch + self._repo.branch = appconfig.git.branch || 'master'; + // Define signature + self._signature.email = appconfig.git.serverEmail || 'wiki@example.com'; } return self From 062e7dc473b622d313b90f75d5ffa86a99fc8519 Mon Sep 17 00:00:00 2001 From: Ahmad Bamieh Date: Wed, 23 Aug 2017 19:00:22 +0300 Subject: [PATCH 07/56] follow linter style --- server/libs/git.js | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/server/libs/git.js b/server/libs/git.js index d2dba3b9..b6ecb39c 100644 --- a/server/libs/git.js +++ b/server/libs/git.js @@ -48,7 +48,6 @@ module.exports = { } else { self._repo.path = appconfig.paths.repo } - // -> Initialize repository @@ -57,9 +56,9 @@ module.exports = { if (appconfig.git) { // Set repo branch - self._repo.branch = appconfig.git.branch || 'master'; + self._repo.branch = appconfig.git.branch || 'master' // Define signature - self._signature.email = appconfig.git.serverEmail || 'wiki@example.com'; + self._signature.email = appconfig.git.serverEmail || 'wiki@example.com' } return self From 9361815c4d624eb9b439ea9e087032760f3e418e Mon Sep 17 00:00:00 2001 From: Ahmad Bamieh Date: Wed, 23 Aug 2017 19:00:47 +0300 Subject: [PATCH 08/56] follow linter style --- server/libs/git.js | 1 - 1 file changed, 1 deletion(-) diff --git a/server/libs/git.js b/server/libs/git.js index b6ecb39c..805acb55 100644 --- a/server/libs/git.js +++ b/server/libs/git.js @@ -53,7 +53,6 @@ module.exports = { self.onReady = self._initRepo(appconfig) - if (appconfig.git) { // Set repo branch self._repo.branch = appconfig.git.branch || 'master' From 101158f1604560156eb39185c02d0d8983baead2 Mon Sep 17 00:00:00 2001 From: Nicolas Giard Date: Thu, 24 Aug 2017 21:28:36 -0400 Subject: [PATCH 09/56] fix: Azure client ID typo --- config.sample.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.sample.yml b/config.sample.yml index 7f10129f..e6a9d748 100644 --- a/config.sample.yml +++ b/config.sample.yml @@ -89,7 +89,7 @@ auth: tlsCertPath: C:\example\root_ca_cert.crt azure: enabled: false - clientID: APP_ID + clientId: APP_ID clientSecret: APP_SECRET_KEY resource: '00000002-0000-0000-c000-000000000000' tenant: 'YOUR_TENANT.onmicrosoft.com' From b678ecae885ce3b8d8fa078b638da5052fa9f20b Mon Sep 17 00:00:00 2001 From: Nicolas Giard Date: Thu, 24 Aug 2017 21:34:43 -0400 Subject: [PATCH 10/56] fix: updated package version --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index a598f44e..a4805769 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "wiki", - "version": "1.0.5", + "version": "1.0.7", "description": "A modern, lightweight and powerful wiki app built on NodeJS, Git and Markdown", "main": "wiki.js", "scripts": { From 25f6a8c8e78784c30f08b5f9c518383feb1475eb Mon Sep 17 00:00:00 2001 From: Nicolas Giard Date: Thu, 24 Aug 2017 21:47:25 -0400 Subject: [PATCH 11/56] fix: github release --- wercker.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/wercker.yml b/wercker.yml index 369bc30a..1142d51e 100644 --- a/wercker.yml +++ b/wercker.yml @@ -33,7 +33,7 @@ deploy-docker-master: name: copy app files code: | mkdir -p /var/wiki - cp -LR assets node_modules server config.sample.yml package.json /var/wiki + cp -LR assets node_modules server config.sample.yml package.json LICENSE /var/wiki rm -rf /pipeline - internal/docker-push: username: $DOCKER_HUB_USERNAME @@ -58,7 +58,7 @@ deploy-docker-dev: name: copy app files code: | mkdir -p /var/wiki - cp -LR assets node_modules server config.sample.yml package.json /var/wiki + cp -LR assets node_modules server config.sample.yml package.json LICENSE /var/wiki rm -rf /pipeline - internal/docker-push: username: $DOCKER_HUB_USERNAME @@ -76,11 +76,11 @@ deploy-github: - script: name: package code: | - tar -chzfv wiki-js.tar.gz * -X .build/.deployexclude + tar -chzfv wiki-js.tar.gz assets server config.sample.yml package.json wiki.js LICENSE tar -chzfv node_modules.tar.gz node_modules SEMVER_LAST=`npm show wiki.js version` - chmod +x ./.build/semver_next.sh - SEMVER_NEXT=`./.build/semver_next.sh -p $SEMVER_LAST` + chmod +x ./tools/semver_next.sh + SEMVER_NEXT=`./tools/semver_next.sh -p $SEMVER_LAST` - github-create-release: token: $GITHUB_TOKEN tag: "v${SEMVER_NEXT}" From 67758d4a7f23210c847b782d1723f18e8ca3d136 Mon Sep 17 00:00:00 2001 From: Nicolas Giard Date: Thu, 24 Aug 2017 21:54:38 -0400 Subject: [PATCH 12/56] fix: wercker github deploy --- wercker.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/wercker.yml b/wercker.yml index 1142d51e..13997e95 100644 --- a/wercker.yml +++ b/wercker.yml @@ -76,8 +76,8 @@ deploy-github: - script: name: package code: | - tar -chzfv wiki-js.tar.gz assets server config.sample.yml package.json wiki.js LICENSE - tar -chzfv node_modules.tar.gz node_modules + tar -chzfv assets server config.sample.yml package.json wiki.js LICENSE wiki-js.tar.gz + tar -chzfv node_modules node_modules.tar.gz SEMVER_LAST=`npm show wiki.js version` chmod +x ./tools/semver_next.sh SEMVER_NEXT=`./tools/semver_next.sh -p $SEMVER_LAST` From 19e4ad9d9c89afb8c53dec5343e26fc9e6ee38e2 Mon Sep 17 00:00:00 2001 From: Nicolas Giard Date: Thu, 24 Aug 2017 22:58:54 -0400 Subject: [PATCH 13/56] fix: github deploy tar --- wercker.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/wercker.yml b/wercker.yml index 13997e95..1142d51e 100644 --- a/wercker.yml +++ b/wercker.yml @@ -76,8 +76,8 @@ deploy-github: - script: name: package code: | - tar -chzfv assets server config.sample.yml package.json wiki.js LICENSE wiki-js.tar.gz - tar -chzfv node_modules node_modules.tar.gz + tar -chzfv wiki-js.tar.gz assets server config.sample.yml package.json wiki.js LICENSE + tar -chzfv node_modules.tar.gz node_modules SEMVER_LAST=`npm show wiki.js version` chmod +x ./tools/semver_next.sh SEMVER_NEXT=`./tools/semver_next.sh -p $SEMVER_LAST` From 70497790f9e9d28e49d7fa891648af57a6b7a954 Mon Sep 17 00:00:00 2001 From: Nicolas Giard Date: Sat, 26 Aug 2017 09:53:36 -0400 Subject: [PATCH 14/56] fix: wercker (1) --- wercker.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/wercker.yml b/wercker.yml index 1142d51e..e8d7a4ca 100644 --- a/wercker.yml +++ b/wercker.yml @@ -76,6 +76,7 @@ deploy-github: - script: name: package code: | + ls tar -chzfv wiki-js.tar.gz assets server config.sample.yml package.json wiki.js LICENSE tar -chzfv node_modules.tar.gz node_modules SEMVER_LAST=`npm show wiki.js version` From 39850914980518b093d3a4a1c25a6837b8bdafbe Mon Sep 17 00:00:00 2001 From: Nicolas Giard Date: Sat, 26 Aug 2017 10:11:51 -0400 Subject: [PATCH 15/56] fix: wercker (2) --- wercker.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/wercker.yml b/wercker.yml index e8d7a4ca..26a138ec 100644 --- a/wercker.yml +++ b/wercker.yml @@ -76,9 +76,8 @@ deploy-github: - script: name: package code: | - ls - tar -chzfv wiki-js.tar.gz assets server config.sample.yml package.json wiki.js LICENSE - tar -chzfv node_modules.tar.gz node_modules + tar -chzvf wiki-js.tar.gz assets server config.sample.yml package.json wiki.js LICENSE + tar -chzvf node_modules.tar.gz node_modules SEMVER_LAST=`npm show wiki.js version` chmod +x ./tools/semver_next.sh SEMVER_NEXT=`./tools/semver_next.sh -p $SEMVER_LAST` From 5bebd640b977007d7a7d46156333c41d36205f68 Mon Sep 17 00:00:00 2001 From: Nicolas Giard Date: Sat, 26 Aug 2017 10:18:19 -0400 Subject: [PATCH 16/56] fix: wercker (3) --- wercker.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/wercker.yml b/wercker.yml index 26a138ec..bb12bbda 100644 --- a/wercker.yml +++ b/wercker.yml @@ -76,8 +76,8 @@ deploy-github: - script: name: package code: | - tar -chzvf wiki-js.tar.gz assets server config.sample.yml package.json wiki.js LICENSE - tar -chzvf node_modules.tar.gz node_modules + tar -chzf wiki-js.tar.gz assets server config.sample.yml package.json wiki.js LICENSE + tar -chzf node_modules.tar.gz node_modules SEMVER_LAST=`npm show wiki.js version` chmod +x ./tools/semver_next.sh SEMVER_NEXT=`./tools/semver_next.sh -p $SEMVER_LAST` From dca237267a30285cde3ec74be094026334ba0272 Mon Sep 17 00:00:00 2001 From: Bamieh Date: Sat, 26 Aug 2017 15:45:04 +0300 Subject: [PATCH 17/56] add sublime project to gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 5704d131..947bef18 100644 --- a/.gitignore +++ b/.gitignore @@ -34,3 +34,4 @@ config.yml # IDE exclude .idea +*.sublime-* From 4b33a83d4e097a4e4110d7114baee277ce95ccd4 Mon Sep 17 00:00:00 2001 From: Bamieh Date: Sun, 27 Aug 2017 15:19:44 +0300 Subject: [PATCH 18/56] viewSource theme config --- config.sample.yml | 1 + server/app/data.yml | 1 + server/libs/config.js | 1 + server/views/pages/view.pug | 7 ++++--- 4 files changed, 7 insertions(+), 3 deletions(-) diff --git a/config.sample.yml b/config.sample.yml index e6a9d748..75a95711 100644 --- a/config.sample.yml +++ b/config.sample.yml @@ -162,6 +162,7 @@ externalLogging: theme: primary: indigo alt: blue-grey + viewSource: "all" footer: blue-grey code: dark: true diff --git a/server/app/data.yml b/server/app/data.yml index da16577b..8c00837b 100644 --- a/server/app/data.yml +++ b/server/app/data.yml @@ -61,6 +61,7 @@ defaults: primary: indigo alt: blue-grey footer: blue-grey + viewSource: "none" code: dark: true colorize: true diff --git a/server/libs/config.js b/server/libs/config.js index 92eac339..810af0d7 100644 --- a/server/libs/config.js +++ b/server/libs/config.js @@ -28,6 +28,7 @@ module.exports = (confPaths) => { fs.readFileSync(confPaths.config, 'utf8') ) ) + appdata = yaml.safeLoad(fs.readFileSync(confPaths.data, 'utf8')) appdata.regex = require(confPaths.dataRegex) } catch (ex) { diff --git a/server/views/pages/view.pug b/server/views/pages/view.pug index 885fd5b6..90d66f0f 100644 --- a/server/views/pages/view.pug +++ b/server/views/pages/view.pug @@ -15,9 +15,10 @@ block rootNavRight a.button.is-outlined(v-on:click='$store.dispatch("modalMovePage/open")') i.nc-icon-outline.arrows-1_shuffle-98 span= t('nav.move') - a.button.is-outlined(href='/source/' + pageData.meta.path) - i.nc-icon-outline.education_paper - span= t('nav.source') + if appconfig.theme.viewSource == "all" || rights.write && appconfig.theme.viewSource == "write" + a.button.is-outlined(href='/source/' + pageData.meta.path) + i.nc-icon-outline.education_paper + span= t('nav.source') //-a.button.is-outlined(href='/hist/' + pageData.meta.path) i.nc-icon-outline.ui-2_time span= t('nav.history') From 782e13f602f94e085c9629fce7524ba476ef73b4 Mon Sep 17 00:00:00 2001 From: Bamieh Date: Sun, 27 Aug 2017 17:02:12 +0300 Subject: [PATCH 19/56] strict equality --- server/views/pages/view.pug | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/views/pages/view.pug b/server/views/pages/view.pug index 90d66f0f..fdbf3e02 100644 --- a/server/views/pages/view.pug +++ b/server/views/pages/view.pug @@ -15,7 +15,7 @@ block rootNavRight a.button.is-outlined(v-on:click='$store.dispatch("modalMovePage/open")') i.nc-icon-outline.arrows-1_shuffle-98 span= t('nav.move') - if appconfig.theme.viewSource == "all" || rights.write && appconfig.theme.viewSource == "write" + if appconfig.theme.viewSource === "all" || rights.write && appconfig.theme.viewSource === "write" a.button.is-outlined(href='/source/' + pageData.meta.path) i.nc-icon-outline.education_paper span= t('nav.source') From 8482a59b17d031936b2bf9f186cbc8cdbec3118d Mon Sep 17 00:00:00 2001 From: Nicolas Giard Date: Mon, 28 Aug 2017 13:18:31 -0400 Subject: [PATCH 20/56] fix: remove quotes --- config.sample.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.sample.yml b/config.sample.yml index 75a95711..4a2b4a21 100644 --- a/config.sample.yml +++ b/config.sample.yml @@ -162,7 +162,7 @@ externalLogging: theme: primary: indigo alt: blue-grey - viewSource: "all" + viewSource: all footer: blue-grey code: dark: true From 20ad107a001d275aa6b6a4073606c64aa0783a57 Mon Sep 17 00:00:00 2001 From: Nicolas Giard Date: Mon, 28 Aug 2017 13:19:04 -0400 Subject: [PATCH 21/56] fix: change default viewSource value --- server/app/data.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/app/data.yml b/server/app/data.yml index 8c00837b..440f2057 100644 --- a/server/app/data.yml +++ b/server/app/data.yml @@ -61,7 +61,7 @@ defaults: primary: indigo alt: blue-grey footer: blue-grey - viewSource: "none" + viewSource: false code: dark: true colorize: true From 1480c0496bd790b4530b98cf9c13bf8e80bbc48c Mon Sep 17 00:00:00 2001 From: Nicolas Giard Date: Mon, 28 Aug 2017 13:21:52 -0400 Subject: [PATCH 22/56] fix: quotes consistency --- server/views/pages/view.pug | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/views/pages/view.pug b/server/views/pages/view.pug index fdbf3e02..773f0b66 100644 --- a/server/views/pages/view.pug +++ b/server/views/pages/view.pug @@ -15,7 +15,7 @@ block rootNavRight a.button.is-outlined(v-on:click='$store.dispatch("modalMovePage/open")') i.nc-icon-outline.arrows-1_shuffle-98 span= t('nav.move') - if appconfig.theme.viewSource === "all" || rights.write && appconfig.theme.viewSource === "write" + if appconfig.theme.viewSource === 'all' || (rights.write && appconfig.theme.viewSource === 'write') a.button.is-outlined(href='/source/' + pageData.meta.path) i.nc-icon-outline.education_paper span= t('nav.source') From 73c4a03f54317f7b74ecac1fa07c4d662a999c3c Mon Sep 17 00:00:00 2001 From: Nicolas Giard Date: Mon, 28 Aug 2017 13:25:17 -0400 Subject: [PATCH 23/56] docs: Added possible values for viewSource --- config.sample.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.sample.yml b/config.sample.yml index 4a2b4a21..4ad45199 100644 --- a/config.sample.yml +++ b/config.sample.yml @@ -162,7 +162,7 @@ externalLogging: theme: primary: indigo alt: blue-grey - viewSource: all + viewSource: all # all | write | false footer: blue-grey code: dark: true From 43195b52c0f02c603981b9662c1bcba2a49fb9cd Mon Sep 17 00:00:00 2001 From: Nicolas Giard Date: Tue, 29 Aug 2017 21:11:31 -0400 Subject: [PATCH 24/56] fix: wercker --- wercker.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/wercker.yml b/wercker.yml index bb12bbda..d623cec6 100644 --- a/wercker.yml +++ b/wercker.yml @@ -78,13 +78,12 @@ deploy-github: code: | tar -chzf wiki-js.tar.gz assets server config.sample.yml package.json wiki.js LICENSE tar -chzf node_modules.tar.gz node_modules - SEMVER_LAST=`npm show wiki.js version` - chmod +x ./tools/semver_next.sh - SEMVER_NEXT=`./tools/semver_next.sh -p $SEMVER_LAST` + SEMVER_NEXT=`curl --request POST --url http://beta.requarks.io/api/version/increment --header 'authorization: $WIKIJSORG_TOKEN' --header 'cache-control: no-cache' --header 'content-type: application/json' --data '{"channel": "stable"}'` - github-create-release: token: $GITHUB_TOKEN tag: "v${SEMVER_NEXT}" prerelease: true + title: "$SEMVER_NEXT Release" - github-upload-asset: token: $GITHUB_TOKEN file: wiki-js.tar.gz From a920ce6c2a1b72a54881cdb3879ee4f9b1dd95dd Mon Sep 17 00:00:00 2001 From: Nicolas Giard Date: Tue, 29 Aug 2017 21:23:10 -0400 Subject: [PATCH 25/56] fix: wercker --- wercker.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wercker.yml b/wercker.yml index d623cec6..668ae4d7 100644 --- a/wercker.yml +++ b/wercker.yml @@ -78,7 +78,7 @@ deploy-github: code: | tar -chzf wiki-js.tar.gz assets server config.sample.yml package.json wiki.js LICENSE tar -chzf node_modules.tar.gz node_modules - SEMVER_NEXT=`curl --request POST --url http://beta.requarks.io/api/version/increment --header 'authorization: $WIKIJSORG_TOKEN' --header 'cache-control: no-cache' --header 'content-type: application/json' --data '{"channel": "stable"}'` + SEMVER_NEXT=`curl --request POST --url https://beta.requarks.io/api/version/increment --header 'authorization: $WIKIJSORG_TOKEN' --header 'cache-control: no-cache' --header 'content-type: application/json' --data '{"channel": "stable"}'` - github-create-release: token: $GITHUB_TOKEN tag: "v${SEMVER_NEXT}" From a323128014a329fa11e2c4fb7d080526789dbc62 Mon Sep 17 00:00:00 2001 From: Nicolas Giard Date: Tue, 29 Aug 2017 21:31:03 -0400 Subject: [PATCH 26/56] fix: wercker --- wercker.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wercker.yml b/wercker.yml index 668ae4d7..62bdd216 100644 --- a/wercker.yml +++ b/wercker.yml @@ -78,7 +78,7 @@ deploy-github: code: | tar -chzf wiki-js.tar.gz assets server config.sample.yml package.json wiki.js LICENSE tar -chzf node_modules.tar.gz node_modules - SEMVER_NEXT=`curl --request POST --url https://beta.requarks.io/api/version/increment --header 'authorization: $WIKIJSORG_TOKEN' --header 'cache-control: no-cache' --header 'content-type: application/json' --data '{"channel": "stable"}'` + SEMVER_NEXT=`curl --request POST --url https://beta.requarks.io/api/version/increment --header "authorization: $WIKIJSORG_TOKEN" --header 'cache-control: no-cache' --header 'content-type: application/json' --data '{"channel": "stable"}'` - github-create-release: token: $GITHUB_TOKEN tag: "v${SEMVER_NEXT}" From 9ca470788c3bf5bc8b395a3b077fea608a429faf Mon Sep 17 00:00:00 2001 From: Nicolas Giard Date: Tue, 29 Aug 2017 21:45:06 -0400 Subject: [PATCH 27/56] docs: updated version 2.0.7 --- README.md | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index be138150..f8406117 100644 --- a/README.md +++ b/README.md @@ -53,19 +53,11 @@ You can also use a Dockerfile ([see example](https://github.com/Requarks/wiki/bl Current and upcoming milestones *(major features only, see the [changelog](https://github.com/Requarks/wiki/blob/master/CHANGELOG.md) for complete list of features and bug fixes)*: -### 1.0.0 - Beta 13 +### 1.0.7 - Stable ![Progress](http://progressed.io/bar/100) -- [x] Color Themes -- [x] Server-side TeX/MathML rendering -- [x] Render line breaks by default (GitHub style) -- [x] New Localization: German - -### 1.0.6 - Stable -![Progress](http://progressed.io/bar/100) - -- [x] Bug fixes release -- [x] New Localization: Dutch +- [x] Fix: Azure AD client Id is now referenced correctly ([#219](https://github.com/Requarks/wiki/issues/219)) +- [x] Fix: Git Branch is now referenced correctly ([#215](https://github.com/Requarks/wiki/issues/215)) ### 2.0.0 - Dev ![Progress](http://progressed.io/bar/20) From 5eb81f88d72dd04c23131d4b625474b92f77aada Mon Sep 17 00:00:00 2001 From: NGPixel Date: Thu, 31 Aug 2017 20:31:06 -0400 Subject: [PATCH 28/56] fix: updated dependencies --- CHANGELOG.md | 11 + README.md | 3 +- package.json | 68 ++--- yarn.lock | 782 +++++++++++++++++++++++++++++++++++++-------------- 4 files changed, 616 insertions(+), 248 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 751ae0f1..83bd69c4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,15 @@ All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org/). +## [v1.0.8] - 2017-08-31 +### Changed +- **Misc**: Updated dependencies + +## [v1.0.7] - 2017-08-29 +### Fixed +- **Authentication**: Azure AD client Id is now referenced correctly ([#219](https://github.com/Requarks/wiki/issues/219)) +- **Git**: Git Branch is now referenced correctly ([#215](https://github.com/Requarks/wiki/issues/215)) + ## [v1.0.6] - 2017-08-10 ### Fixed - **Authentication**: LDAP no longer cause the social login text to appear on the login screen. @@ -208,6 +217,8 @@ This project adheres to [Semantic Versioning](http://semver.org/). ### Changed - Updated dependencies + snyk policy +[v1.0.8]: https://github.com/Requarks/wiki/releases/tag/v1.0.8 +[v1.0.7]: https://github.com/Requarks/wiki/releases/tag/v1.0.7 [v1.0.6]: https://github.com/Requarks/wiki/releases/tag/v1.0.6 [v1.0.5]: https://github.com/Requarks/wiki/releases/tag/v1.0.5 [v1.0.4]: https://github.com/Requarks/wiki/releases/tag/v1.0.4 diff --git a/README.md b/README.md index f8406117..809b8b7c 100644 --- a/README.md +++ b/README.md @@ -53,11 +53,12 @@ You can also use a Dockerfile ([see example](https://github.com/Requarks/wiki/bl Current and upcoming milestones *(major features only, see the [changelog](https://github.com/Requarks/wiki/blob/master/CHANGELOG.md) for complete list of features and bug fixes)*: -### 1.0.7 - Stable +### 1.0.8 - Stable ![Progress](http://progressed.io/bar/100) - [x] Fix: Azure AD client Id is now referenced correctly ([#219](https://github.com/Requarks/wiki/issues/219)) - [x] Fix: Git Branch is now referenced correctly ([#215](https://github.com/Requarks/wiki/issues/215)) +- [x] Updated dependencies ### 2.0.0 - Dev ![Progress](http://progressed.io/bar/20) diff --git a/package.json b/package.json index a4805769..8da2dacb 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "wiki", - "version": "1.0.7", + "version": "1.0.8", "description": "A modern, lightweight and powerful wiki app built on NodeJS, Git and Markdown", "main": "wiki.js", "scripts": { @@ -42,7 +42,7 @@ "bcryptjs-then": "~1.0.1", "bluebird": "~3.5.0", "body-parser": "~1.17.2", - "bunyan": "~1.8.10", + "bunyan": "~1.8.12", "cheerio": "~1.0.0-rc.2", "child-process-promise": "~2.2.1", "chokidar": "~1.7.0", @@ -52,49 +52,49 @@ "cookie-parser": "~1.4.3", "cron": "~1.2.1", "diff2html": "~2.3.0", - "execa": "~0.7.0", - "express": "~4.15.3", + "execa": "~0.8.0", + "express": "~4.15.4", "express-brute": "1.0.1", "express-brute-mongoose": "~0.0.9", - "express-session": "~1.15.3", - "file-type": "~5.2.0", + "express-session": "~1.15.5", + "file-type": "~6.1.0", "filesize.js": "~1.0.2", "follow-redirects": "~1.2.4", - "fs-extra": "~4.0.0", + "fs-extra": "~4.0.1", "git-wrapper2-promise": "~0.2.9", "highlight.js": "~9.12.0", - "i18next": "~8.4.3", + "i18next": "~9.0.0", "i18next-express-middleware": "~1.0.5", "i18next-node-fs-backend": "~1.0.0", "image-size": "~0.6.0", "jimp": "~0.2.28", - "js-yaml": "~3.9.0", - "jsonwebtoken": "~7.4.1", - "klaw": "~2.0.0", - "levelup": "~1.3.8", + "js-yaml": "~3.9.1", + "jsonwebtoken": "~7.4.3", + "klaw": "~2.1.0", + "levelup": "~1.3.9", "lodash": "~4.17.4", - "markdown-it": "~8.3.1", + "markdown-it": "~8.4.0", "markdown-it-abbr": "~1.0.4", "markdown-it-anchor": "~4.0.0", - "markdown-it-attrs": "~0.9.0", + "markdown-it-attrs": "~1.1.0", "markdown-it-emoji": "~1.4.0", "markdown-it-expand-tabs": "~1.0.12", "markdown-it-external-links": "0.0.6", "markdown-it-footnote": "~3.0.1", "markdown-it-mathjax": "~2.0.0", "markdown-it-task-lists": "~2.0.1", - "mathjax-node": "~1.1.0", + "mathjax-node": "~1.2.0", "memdown": "~1.2.4", - "mime-types": "~2.1.15", + "mime-types": "~2.1.16", "moment": "~2.18.1", "moment-timezone": "~0.5.13", - "mongodb": "~2.2.30", - "mongoose": "~4.11.1", + "mongodb": "~2.2.31", + "mongoose": "~4.11.9", "multer": "~1.3.0", "node-2fa": "~1.1.2", "node-graceful": "~0.2.3", "ora": "~1.3.0", - "passport": "~0.3.2", + "passport": "~0.4.0", "passport-azure-ad-oauth2": "0.0.4", "passport-facebook": "~2.1.1", "passport-github2": "~0.1.10", @@ -105,42 +105,42 @@ "passport-windowslive": "~1.0.2", "passport.socketio": "~3.7.0", "pm2": "~2.6.1", - "pug": "~2.0.0-rc.2", - "read-chunk": "~2.0.0", - "remove-markdown": "~0.2.0", + "pug": "~2.0.0-rc.3", + "read-chunk": "~2.1.0", + "remove-markdown": "~0.2.2", "request": "~2.81.0", "search-index-adder": "~0.3.9", "search-index-searcher": "~0.2.10", - "semver": "~5.3.0", + "semver": "~5.4.1", "serve-favicon": "~2.4.3", "simplemde": "~1.11.2", "socket.io": "~2.0.2", "stopword": "~0.1.6", "stream-to-promise": "~2.2.0", - "tar": "~3.1.5", + "tar": "~4.0.1", "through2": "~2.0.3", - "validator": "~8.0.0", + "validator": "~8.1.0", "validator-as-promised": "~1.0.2", "winston": "~2.3.1", "yargs": "~8.0.1" }, "devDependencies": { - "@glimpse/glimpse": "~0.22.13", + "@glimpse/glimpse": "~0.22.15", "@panter/vue-i18next": "~0.5.0", - "babel-cli": "~6.24.1", + "babel-cli": "~6.26.0", "babel-jest": "~20.0.3", "babel-plugin-transform-object-assign": "~6.22.0", "babel-preset-es2015": "~6.24.1", "brace": "~0.10.0", "colors": "~1.1.2", "consolidate": "~0.14.5", - "eslint": "~4.3.0", + "eslint": "~4.5.0", "eslint-config-standard": "~10.2.1", "eslint-plugin-import": "~2.7.0", "eslint-plugin-node": "~5.1.0", "eslint-plugin-promise": "~3.5.0", "eslint-plugin-standard": "~3.0.1", - "fuse-box": "~2.2.1", + "fuse-box": "~2.2.2", "i18next-xhr-backend": "~1.4.2", "jest": "~20.0.4", "jquery": "~3.2.1", @@ -154,16 +154,16 @@ "nodemon": "~1.11.0", "pug-lint": "~2.4.0", "twemoji-awesome": "~1.0.6", - "typescript": "~2.4.1", - "uglify-es": "~3.0.24", - "vee-validate": "~2.0.0-rc.6", + "typescript": "~2.5.2", + "uglify-es": "~3.0.28", + "vee-validate": "~2.0.0-rc.14", "vue": "~2.4.2", - "vue-clipboards": "~1.0.2", + "vue-clipboards": "~1.1.0", "vue-lodash": "~1.0.3", "vue-resource": "~1.3.4", "vue-template-compiler": "~2.4.2", "vue-template-es2015-compiler": "~1.5.3", - "vuex": "~2.3.1" + "vuex": "~2.4.0" }, "jest": { "collectCoverage": false, diff --git a/yarn.lock b/yarn.lock index 60ff1355..5c7a6749 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,15 +2,16 @@ # yarn lockfile v1 -"@glimpse/glimpse-agent-node@0.22.13": - version "0.22.13" - resolved "https://registry.yarnpkg.com/@glimpse/glimpse-agent-node/-/glimpse-agent-node-0.22.13.tgz#5d03dfbdc22cedfa69732db79ddc6642d4aac593" +"@glimpse/glimpse-agent-node@0.22.15": + version "0.22.15" + resolved "https://registry.yarnpkg.com/@glimpse/glimpse-agent-node/-/glimpse-agent-node-0.22.15.tgz#93075fc56a234f716ed37dc8743be3f58121cfb2" dependencies: - "@glimpse/glimpse-common" "0.22.13" + "@glimpse/glimpse-common" "0.22.15" config-chain "^1.1.10" continuation-local-storage "^3.1.4" cookie "^0.2.3" dicer "^0.2.5" + escape-html "^1.0.3" htmlparser2 "^3.9.1" lodash "^4.3.0" moment "^2.16.1" @@ -23,9 +24,9 @@ uuid "^2.0.2" zone.js "^0.8.10" -"@glimpse/glimpse-common@0.22.13": - version "0.22.13" - resolved "https://registry.yarnpkg.com/@glimpse/glimpse-common/-/glimpse-common-0.22.13.tgz#48020a55638ea9c702104748f28155f08f7313af" +"@glimpse/glimpse-common@0.22.15": + version "0.22.15" + resolved "https://registry.yarnpkg.com/@glimpse/glimpse-common/-/glimpse-common-0.22.15.tgz#0e71aa973e07b4131548b4ad905189cff003510c" dependencies: applicationinsights "^0.19.0" chalk "^1.1.3" @@ -34,11 +35,11 @@ semver "^5.3.0" uuid "^2.0.2" -"@glimpse/glimpse-server@0.22.13": - version "0.22.13" - resolved "https://registry.yarnpkg.com/@glimpse/glimpse-server/-/glimpse-server-0.22.13.tgz#e4c25391caf9b1db6606f94cb66c96d9c49def24" +"@glimpse/glimpse-server@0.22.15": + version "0.22.15" + resolved "https://registry.yarnpkg.com/@glimpse/glimpse-server/-/glimpse-server-0.22.15.tgz#21025baa1d370921aad59f1f7e3e7c80abe269b5" dependencies: - "@glimpse/glimpse-common" "0.22.13" + "@glimpse/glimpse-common" "0.22.15" body-parser "^1.14.2" cors "^2.7.1" crc "^3.4.0" @@ -47,12 +48,14 @@ lru-cache "^4.0.0" moment "^2.16.1" -"@glimpse/glimpse@~0.22.13": - version "0.22.13" - resolved "https://registry.yarnpkg.com/@glimpse/glimpse/-/glimpse-0.22.13.tgz#bfc9a516ce5f620c5ebc772445f47c98af54f114" +"@glimpse/glimpse@~0.22.15": + version "0.22.15" + resolved "https://registry.yarnpkg.com/@glimpse/glimpse/-/glimpse-0.22.15.tgz#593adafc9173bafa6aa6dab301575b9ce88e6ece" dependencies: - "@glimpse/glimpse-agent-node" "0.22.13" - "@glimpse/glimpse-server" "0.22.13" + "@glimpse/glimpse-agent-node" "0.22.15" + "@glimpse/glimpse-server" "0.22.15" + command-line-args "^4.0.6" + command-line-usage "^4.0.0" lodash "^4.15.0" "@panter/vue-i18next@~0.5.0": @@ -114,7 +117,7 @@ JSONStream@^1.2.1: jsonparse "^1.2.0" through ">=2.2.7 <3" -abab@^1.0.0, abab@^1.0.3: +abab@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/abab/-/abab-1.0.3.tgz#b81de5f7274ec4e756d797cd834f303642724e5d" @@ -148,18 +151,16 @@ accepts@~1.2.12: mime-types "~2.1.6" negotiator "0.5.3" +acorn-es7-plugin@^1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/acorn-es7-plugin/-/acorn-es7-plugin-1.1.7.tgz#f2ee1f3228a90eead1245f9ab1922eb2e71d336b" + acorn-es7@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/acorn-es7/-/acorn-es7-0.1.0.tgz#4a6de4522faacb4c31209e1b73b5f301ed2bb30a" dependencies: acorn "^2.6.4" -acorn-globals@^1.0.4: - version "1.0.9" - resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-1.0.9.tgz#55bb5e98691507b74579d0513413217c380c54cf" - dependencies: - acorn "^2.1.0" - acorn-globals@^3.0.0, acorn-globals@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-3.1.0.tgz#fd8270f71fbb4996b004fa880ee5d46573a731bf" @@ -178,7 +179,7 @@ acorn-jsx@^4.0.1: dependencies: acorn "^5.0.3" -acorn@^2.1.0, acorn@^2.4.0, acorn@^2.6.4: +acorn@^2.6.4: version "2.7.0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-2.7.0.tgz#ab6e7d9d886aaca8b085bc3312b79a198433f0e7" @@ -190,7 +191,7 @@ acorn@^4.0.1, acorn@^4.0.4, acorn@~4.0.2: version "4.0.13" resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.13.tgz#105495ae5361d697bd195c825192e1ad7f253787" -acorn@^5.0.1, acorn@^5.0.3: +acorn@^5.0.3, acorn@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.1.1.tgz#53fe161111f912ab999ee887a90a0bc52822fd75" @@ -247,6 +248,12 @@ amp@0.3.1, amp@~0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/amp/-/amp-0.3.1.tgz#6adf8d58a74f361e82c1fa8d389c079e139fc47d" +ansi-escape-sequences@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/ansi-escape-sequences/-/ansi-escape-sequences-4.0.0.tgz#e0ecb042958b71e42942d35c1fcf1d9b00a0f67e" + dependencies: + array-back "^2.0.0" + ansi-escapes@^1.1.0, ansi-escapes@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e" @@ -339,6 +346,18 @@ arr-flatten@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" +array-back@^1.0.3, array-back@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/array-back/-/array-back-1.0.4.tgz#644ba7f095f7ffcf7c43b5f0dc39d3c1f03c063b" + dependencies: + typical "^2.6.0" + +array-back@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/array-back/-/array-back-2.0.0.tgz#6877471d51ecc9c9bfa6136fb6c7d5fe69748022" + dependencies: + typical "^2.6.1" + array-equal@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93" @@ -455,24 +474,24 @@ axios@~0.16.2: follow-redirects "^1.2.3" is-buffer "^1.1.5" -babel-cli@~6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-cli/-/babel-cli-6.24.1.tgz#207cd705bba61489b2ea41b5312341cf6aca2283" +babel-cli@~6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-cli/-/babel-cli-6.26.0.tgz#502ab54874d7db88ad00b887a06383ce03d002f1" dependencies: - babel-core "^6.24.1" - babel-polyfill "^6.23.0" - babel-register "^6.24.1" - babel-runtime "^6.22.0" - commander "^2.8.1" - convert-source-map "^1.1.0" + babel-core "^6.26.0" + babel-polyfill "^6.26.0" + babel-register "^6.26.0" + babel-runtime "^6.26.0" + commander "^2.11.0" + convert-source-map "^1.5.0" fs-readdir-recursive "^1.0.0" - glob "^7.0.0" - lodash "^4.2.0" - output-file-sync "^1.1.0" - path-is-absolute "^1.0.0" + glob "^7.1.2" + lodash "^4.17.4" + output-file-sync "^1.1.2" + path-is-absolute "^1.0.1" slash "^1.0.0" - source-map "^0.5.0" - v8flags "^2.0.10" + source-map "^0.5.6" + v8flags "^2.1.1" optionalDependencies: chokidar "^1.6.1" @@ -484,6 +503,14 @@ babel-code-frame@^6.22.0: esutils "^2.0.2" js-tokens "^3.0.0" +babel-code-frame@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" + dependencies: + chalk "^1.1.3" + esutils "^2.0.2" + js-tokens "^3.0.2" + babel-core@^6.0.0, babel-core@^6.24.1: version "6.25.0" resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.25.0.tgz#7dd42b0463c742e9d5296deb3ec67a9322dad729" @@ -508,6 +535,30 @@ babel-core@^6.0.0, babel-core@^6.24.1: slash "^1.0.0" source-map "^0.5.0" +babel-core@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.0.tgz#af32f78b31a6fcef119c87b0fd8d9753f03a0bb8" + dependencies: + babel-code-frame "^6.26.0" + babel-generator "^6.26.0" + babel-helpers "^6.24.1" + babel-messages "^6.23.0" + babel-register "^6.26.0" + babel-runtime "^6.26.0" + babel-template "^6.26.0" + babel-traverse "^6.26.0" + babel-types "^6.26.0" + babylon "^6.18.0" + convert-source-map "^1.5.0" + debug "^2.6.8" + json5 "^0.5.1" + lodash "^4.17.4" + minimatch "^3.0.4" + path-is-absolute "^1.0.1" + private "^0.1.7" + slash "^1.0.0" + source-map "^0.5.6" + babel-generator@^6.18.0, babel-generator@^6.25.0: version "6.25.0" resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.25.0.tgz#33a1af70d5f2890aeb465a4a7793c1df6a9ea9fc" @@ -521,6 +572,19 @@ babel-generator@^6.18.0, babel-generator@^6.25.0: source-map "^0.5.0" trim-right "^1.0.1" +babel-generator@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.0.tgz#ac1ae20070b79f6e3ca1d3269613053774f20dc5" + dependencies: + babel-messages "^6.23.0" + babel-runtime "^6.26.0" + babel-types "^6.26.0" + detect-indent "^4.0.0" + jsesc "^1.3.0" + lodash "^4.17.4" + source-map "^0.5.6" + trim-right "^1.0.1" + babel-helper-call-delegate@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz#ece6aacddc76e41c3461f88bfc575bd0daa2df8d" @@ -815,7 +879,7 @@ babel-plugin-transform-strict-mode@^6.24.1: babel-runtime "^6.22.0" babel-types "^6.24.1" -babel-polyfill@6.23.0, babel-polyfill@^6.23.0: +babel-polyfill@6.23.0: version "6.23.0" resolved "https://registry.yarnpkg.com/babel-polyfill/-/babel-polyfill-6.23.0.tgz#8364ca62df8eafb830499f699177466c3b03499d" dependencies: @@ -823,6 +887,14 @@ babel-polyfill@6.23.0, babel-polyfill@^6.23.0: core-js "^2.4.0" regenerator-runtime "^0.10.0" +babel-polyfill@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-polyfill/-/babel-polyfill-6.26.0.tgz#379937abc67d7895970adc621f284cd966cf2153" + dependencies: + babel-runtime "^6.26.0" + core-js "^2.5.0" + regenerator-runtime "^0.10.5" + babel-preset-es2015@~6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz#d44050d6bc2c9feea702aaf38d727a0210538939" @@ -870,6 +942,18 @@ babel-register@^6.24.1: mkdirp "^0.5.1" source-map-support "^0.4.2" +babel-register@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.26.0.tgz#6ed021173e2fcb486d7acb45c6009a856f647071" + dependencies: + babel-core "^6.26.0" + babel-runtime "^6.26.0" + core-js "^2.5.0" + home-or-tmp "^2.0.0" + lodash "^4.17.4" + mkdirp "^0.5.1" + source-map-support "^0.4.15" + babel-runtime@^6.18.0, babel-runtime@^6.22.0: version "6.23.0" resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.23.0.tgz#0a9489f144de70efb3ce4300accdb329e2fc543b" @@ -877,6 +961,13 @@ babel-runtime@^6.18.0, babel-runtime@^6.22.0: core-js "^2.4.0" regenerator-runtime "^0.10.0" +babel-runtime@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" + dependencies: + core-js "^2.4.0" + regenerator-runtime "^0.11.0" + babel-template@^6.16.0, babel-template@^6.24.1, babel-template@^6.25.0: version "6.25.0" resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.25.0.tgz#665241166b7c2aa4c619d71e192969552b10c071" @@ -887,6 +978,16 @@ babel-template@^6.16.0, babel-template@^6.24.1, babel-template@^6.25.0: babylon "^6.17.2" lodash "^4.2.0" +babel-template@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02" + dependencies: + babel-runtime "^6.26.0" + babel-traverse "^6.26.0" + babel-types "^6.26.0" + babylon "^6.18.0" + lodash "^4.17.4" + babel-traverse@^6.18.0, babel-traverse@^6.24.1, babel-traverse@^6.25.0: version "6.25.0" resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.25.0.tgz#2257497e2fcd19b89edc13c4c91381f9512496f1" @@ -901,6 +1002,20 @@ babel-traverse@^6.18.0, babel-traverse@^6.24.1, babel-traverse@^6.25.0: invariant "^2.2.0" lodash "^4.2.0" +babel-traverse@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee" + dependencies: + babel-code-frame "^6.26.0" + babel-messages "^6.23.0" + babel-runtime "^6.26.0" + babel-types "^6.26.0" + babylon "^6.18.0" + debug "^2.6.8" + globals "^9.18.0" + invariant "^2.2.2" + lodash "^4.17.4" + babel-types@^6.18.0, babel-types@^6.19.0, babel-types@^6.24.1, babel-types@^6.25.0: version "6.25.0" resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.25.0.tgz#70afb248d5660e5d18f811d91c8303b54134a18e" @@ -910,10 +1025,23 @@ babel-types@^6.18.0, babel-types@^6.19.0, babel-types@^6.24.1, babel-types@^6.25 lodash "^4.2.0" to-fast-properties "^1.0.1" +babel-types@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497" + dependencies: + babel-runtime "^6.26.0" + esutils "^2.0.2" + lodash "^4.17.4" + to-fast-properties "^1.0.3" + babylon@^6.17.2, babylon@^6.17.4: version "6.17.4" resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.17.4.tgz#3e8b7402b88d22c3423e137a1577883b15ff869a" +babylon@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" + backo2@1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/backo2/-/backo2-1.0.2.tgz#31ab1ac8b129363463e35b3ebb69f4dfcfba7947" @@ -1102,7 +1230,7 @@ builtin-modules@^1.0.0, builtin-modules@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" -bunyan@^1.8.1, bunyan@^1.8.10, bunyan@^1.8.3, bunyan@~1.8.10: +bunyan@^1.8.1, bunyan@^1.8.10, bunyan@^1.8.3: version "1.8.10" resolved "https://registry.yarnpkg.com/bunyan/-/bunyan-1.8.10.tgz#201fedd26c7080b632f416072f53a90b9a52981c" optionalDependencies: @@ -1111,6 +1239,15 @@ bunyan@^1.8.1, bunyan@^1.8.10, bunyan@^1.8.3, bunyan@~1.8.10: mv "~2" safe-json-stringify "~1" +bunyan@~1.8.12: + version "1.8.12" + resolved "https://registry.yarnpkg.com/bunyan/-/bunyan-1.8.12.tgz#f150f0f6748abdd72aeae84f04403be2ef113797" + optionalDependencies: + dtrace-provider "~0.8" + moment "^2.10.6" + mv "~2" + safe-json-stringify "~1" + busboy@^0.2.11: version "0.2.14" resolved "https://registry.yarnpkg.com/busboy/-/busboy-0.2.14.tgz#6c2a622efcf47c57bbbe1e2a9c37ad36c7925453" @@ -1204,6 +1341,14 @@ chalk@^2.0.0, chalk@^2.0.1: escape-string-regexp "^1.0.5" supports-color "^4.0.0" +chalk@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.1.0.tgz#ac5becf14fa21b99c6c92ca7a7d7cfd5b17e743e" + dependencies: + ansi-styles "^3.1.0" + escape-string-regexp "^1.0.5" + supports-color "^4.0.0" + character-parser@^2.1.1: version "2.2.0" resolved "https://registry.yarnpkg.com/character-parser/-/character-parser-2.2.0.tgz#c7ce28f36d4bcd9744e5ffc2c5fcde1c73261fc0" @@ -1365,7 +1510,24 @@ combined-stream@^1.0.5, combined-stream@~1.0.5: dependencies: delayed-stream "~1.0.0" -commander@2.11.0, commander@^2.8.1, commander@^2.9.0: +command-line-args@^4.0.6: + version "4.0.7" + resolved "https://registry.yarnpkg.com/command-line-args/-/command-line-args-4.0.7.tgz#f8d1916ecb90e9e121eda6428e41300bfb64cc46" + dependencies: + array-back "^2.0.0" + find-replace "^1.0.3" + typical "^2.6.1" + +command-line-usage@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/command-line-usage/-/command-line-usage-4.0.1.tgz#d89cf16c8ae71e8e8a6e6aabae1652af76ff644e" + dependencies: + ansi-escape-sequences "^4.0.0" + array-back "^2.0.0" + table-layout "^0.4.1" + typical "^2.6.1" + +commander@2.11.0, commander@^2.11.0, commander@^2.9.0, commander@~2.11.0: version "2.11.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.11.0.tgz#157152fd1e7a6c8d98a5b715cf376df928004563" @@ -1375,12 +1537,6 @@ commander@2.8.x: dependencies: graceful-readlink ">= 1.0.0" -commander@~2.9.0: - version "2.9.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" - dependencies: - graceful-readlink ">= 1.0.0" - component-bind@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/component-bind/-/component-bind-1.0.0.tgz#00c608ab7dcd93897c0009651b1d3a8e1e73bbd1" @@ -1504,7 +1660,7 @@ continuation-local-storage@^3.1.4: async-listener "^0.6.0" emitter-listener "^1.0.1" -convert-source-map@^1.1.0, convert-source-map@^1.4.0: +convert-source-map@^1.1.0, convert-source-map@^1.4.0, convert-source-map@^1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.0.tgz#9acd70851c6d5dfdd93d9282e5edf94a03ff46b5" @@ -1542,6 +1698,10 @@ core-js@^2.4.0: version "2.4.1" resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.4.1.tgz#4de911e667b0eae9124e34254b53aea6fc618d3e" +core-js@^2.5.0: + version "2.5.1" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.1.tgz#ae6874dc66937789b80754ff5428df66819ca50b" + core-util-is@1.0.2, core-util-is@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" @@ -1608,11 +1768,11 @@ css-what@2.1: version "2.1.0" resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.0.tgz#9467d032c38cfaefb9f2d79501253062f87fa1bd" -cssom@0.3.x, "cssom@>= 0.3.0 < 0.4.0", "cssom@>= 0.3.2 < 0.4.0": +cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0": version "0.3.2" resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.2.tgz#b8036170c79f07a90ff2f16e22284027a243848b" -"cssstyle@>= 0.2.36 < 0.3.0", "cssstyle@>= 0.2.37 < 0.3.0": +"cssstyle@>= 0.2.37 < 0.3.0": version "0.2.37" resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-0.2.37.tgz#541097234cb2513c83ceed3acddc27ff27987d54" dependencies: @@ -1676,6 +1836,10 @@ deep-extend@~0.4.0: version "0.4.2" resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.2.tgz#48b699c27e334bf89f10892be432f6e4c7d34a7f" +deep-extend@~0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.5.0.tgz#6ef4a09b05f98b0e358d6d93d4ca3caec6672803" + deep-is@~0.1.3: version "0.1.3" resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" @@ -1720,6 +1884,10 @@ depd@1.1.0, depd@~1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.0.tgz#e1bd82c6aab6ced965b97b88b17ed3e528ca18c3" +depd@1.1.1, depd@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.1.tgz#5783b4e1c459f06fa5ca27f991f3d06e7a310359" + destroy@~1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" @@ -1969,7 +2137,7 @@ es6-promise@^3.0.2: version "3.3.1" resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-3.3.1.tgz#a08cdde84ccdbf34d027a1451bc91d4bcd28a613" -escape-html@~1.0.3: +escape-html@^1.0.3, escape-html@~1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" @@ -2049,19 +2217,19 @@ eslint-scope@^3.7.1: esrecurse "^4.1.0" estraverse "^4.1.1" -eslint@~4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-4.3.0.tgz#fcd7c96376bbf34c85ee67ed0012a299642b108f" +eslint@~4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-4.5.0.tgz#bb75d3b8bde97fb5e13efcd539744677feb019c3" dependencies: ajv "^5.2.0" babel-code-frame "^6.22.0" - chalk "^1.1.3" + chalk "^2.1.0" concat-stream "^1.6.0" cross-spawn "^5.1.0" debug "^2.6.8" doctrine "^2.0.0" eslint-scope "^3.7.1" - espree "^3.4.3" + espree "^3.5.0" esquery "^1.0.0" estraverse "^4.2.0" esutils "^2.0.2" @@ -2073,7 +2241,7 @@ eslint@~4.3.0: imurmurhash "^0.1.4" inquirer "^3.0.6" is-resolvable "^1.0.0" - js-yaml "^3.8.4" + js-yaml "^3.9.1" json-stable-stringify "^1.0.1" levn "^0.3.0" lodash "^4.17.4" @@ -2086,15 +2254,16 @@ eslint@~4.3.0: progress "^2.0.0" require-uncached "^1.0.3" semver "^5.3.0" + strip-ansi "^4.0.0" strip-json-comments "~2.0.1" table "^4.0.1" text-table "~0.2.0" -espree@^3.4.3: - version "3.4.3" - resolved "https://registry.yarnpkg.com/espree/-/espree-3.4.3.tgz#2910b5ccd49ce893c2ffffaab4fd8b3a31b82374" +espree@^3.5.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/espree/-/espree-3.5.0.tgz#98358625bdd055861ea27e2867ea729faf463d8d" dependencies: - acorn "^5.0.1" + acorn "^5.1.1" acorn-jsx "^3.0.0" esprima@^2.6.0, esprima@^2.7.1: @@ -2176,9 +2345,9 @@ execa@^0.5.0: signal-exit "^3.0.0" strip-eof "^1.0.0" -execa@~0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" +execa@~0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-0.8.0.tgz#d8d76bbc1b55217ed190fd6dd49d3c774ecfc8da" dependencies: cross-spawn "^5.0.1" get-stream "^3.0.0" @@ -2229,21 +2398,21 @@ express-brute@~0.5.0: dependencies: underscore "~1.5.1" -express-session@~1.15.3: - version "1.15.4" - resolved "https://registry.yarnpkg.com/express-session/-/express-session-1.15.4.tgz#5e2cdcf6defe3c1eda4e980f13b986cc58cfb954" +express-session@~1.15.5: + version "1.15.5" + resolved "https://registry.yarnpkg.com/express-session/-/express-session-1.15.5.tgz#f49a18227263b316f6f8544da5fee25a540259ec" dependencies: cookie "0.3.1" cookie-signature "1.0.6" crc "3.4.4" debug "2.6.8" - depd "~1.1.0" + depd "~1.1.1" on-headers "~1.0.1" parseurl "~1.3.1" uid-safe "~2.1.4" utils-merge "1.0.0" -express@^4.14.0, express@~4.15.3: +express@^4.14.0: version "4.15.3" resolved "https://registry.yarnpkg.com/express/-/express-4.15.3.tgz#bab65d0f03aa80c358408972fc700f916944b662" dependencies: @@ -2306,6 +2475,39 @@ express@~4.13.1: utils-merge "1.0.0" vary "~1.0.1" +express@~4.15.4: + version "4.15.4" + resolved "https://registry.yarnpkg.com/express/-/express-4.15.4.tgz#032e2253489cf8fce02666beca3d11ed7a2daed1" + dependencies: + accepts "~1.3.3" + array-flatten "1.1.1" + content-disposition "0.5.2" + content-type "~1.0.2" + cookie "0.3.1" + cookie-signature "1.0.6" + debug "2.6.8" + depd "~1.1.1" + encodeurl "~1.0.1" + escape-html "~1.0.3" + etag "~1.8.0" + finalhandler "~1.0.4" + fresh "0.5.0" + merge-descriptors "1.0.1" + methods "~1.1.2" + on-finished "~2.3.0" + parseurl "~1.3.1" + path-to-regexp "0.1.7" + proxy-addr "~1.1.5" + qs "6.5.0" + range-parser "~1.2.0" + send "0.15.4" + serve-static "1.12.4" + setprototypeof "1.0.3" + statuses "~1.3.1" + type-is "~1.6.15" + utils-merge "1.0.0" + vary "~1.1.1" + extend@^3.0.0, extend@~3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444" @@ -2410,9 +2612,9 @@ file-type@^3.1.0: version "3.9.0" resolved "https://registry.yarnpkg.com/file-type/-/file-type-3.9.0.tgz#257a078384d1db8087bc449d107d52a52672b9e9" -file-type@~5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/file-type/-/file-type-5.2.0.tgz#2ddbea7c73ffe36368dfae49dc338c058c2b8ad6" +file-type@~6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/file-type/-/file-type-6.1.0.tgz#5a7dba98138fa0abec7afc43e5a9a0b2aac729f1" filename-regex@^2.0.0: version "2.0.1" @@ -2460,10 +2662,29 @@ finalhandler@~1.0.3: statuses "~1.3.1" unpipe "~1.0.0" +finalhandler@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.0.4.tgz#18574f2e7c4b98b8ae3b230c21f201f31bdb3fb7" + dependencies: + debug "2.6.8" + encodeurl "~1.0.1" + escape-html "~1.0.3" + on-finished "~2.3.0" + parseurl "~1.3.1" + statuses "~1.3.1" + unpipe "~1.0.0" + find-line-column@^0.5.2: version "0.5.2" resolved "https://registry.yarnpkg.com/find-line-column/-/find-line-column-0.5.2.tgz#db00238ff868551a182e74a103416d295a98c8ca" +find-replace@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/find-replace/-/find-replace-1.0.3.tgz#b88e7364d2d9c959559f388c66670d6130441fa0" + dependencies: + array-back "^1.0.4" + test-value "^2.1.0" + find-up@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" @@ -2549,9 +2770,9 @@ fs-extra@^2.0.0: graceful-fs "^4.1.2" jsonfile "^2.1.0" -fs-extra@~4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.0.tgz#414fb4ca2d2170ba0014159d3a8aec3303418d9e" +fs-extra@~4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.1.tgz#7fc0c6c8957f983f57f306a24e5b9ddd8d0dd880" dependencies: graceful-fs "^4.1.2" jsonfile "^3.0.0" @@ -2597,12 +2818,13 @@ functional-red-black-tree@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" -fuse-box@~2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/fuse-box/-/fuse-box-2.2.1.tgz#444dc3bd01a47b8044210d7344495cae92d3af3a" +fuse-box@~2.2.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/fuse-box/-/fuse-box-2.2.2.tgz#eec3c4c49496dbfca08d43179a189fbfbce67fda" dependencies: acorn "^5.0.3" acorn-es7 "^0.1.0" + acorn-es7-plugin "^1.1.7" acorn-jsx "^4.0.1" ansi "^0.3.1" app-root-path "^2.0.1" @@ -2750,7 +2972,7 @@ global@~4.3.0: min-document "^2.19.0" process "~0.5.1" -globals@^9.0.0, globals@^9.17.0: +globals@^9.0.0, globals@^9.17.0, globals@^9.18.0: version "9.18.0" resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a" @@ -2970,6 +3192,15 @@ http-errors@~1.6.1: setprototypeof "1.0.3" statuses ">= 1.3.1 < 2" +http-errors@~1.6.2: + version "1.6.2" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.2.tgz#0a002cc85707192a7e7946ceedc11155f60ec736" + dependencies: + depd "1.1.1" + inherits "2.0.3" + setprototypeof "1.0.3" + statuses ">= 1.3.1 < 2" + http-signature@~1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf" @@ -2995,9 +3226,9 @@ i18next-xhr-backend@~1.4.2: version "1.4.2" resolved "https://registry.yarnpkg.com/i18next-xhr-backend/-/i18next-xhr-backend-1.4.2.tgz#7aa766292c46ca83ff6477bb55074b363a646a62" -i18next@~8.4.3: - version "8.4.3" - resolved "https://registry.yarnpkg.com/i18next/-/i18next-8.4.3.tgz#36b6ff516c4f992010eedcce24a36c4609e8c7dc" +i18next@~9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/i18next/-/i18next-9.0.0.tgz#a89ab0481b5b6b3964f55b12f03de9063d8f4500" iconv-lite@0.4.13: version "0.4.13" @@ -3007,7 +3238,7 @@ iconv-lite@0.4.15: version "0.4.15" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.15.tgz#fe265a218ac6a57cfe854927e9d04c19825eddeb" -iconv-lite@^0.4.13, iconv-lite@^0.4.17, iconv-lite@^0.4.4, iconv-lite@~0.4.13: +iconv-lite@^0.4.17, iconv-lite@^0.4.4, iconv-lite@~0.4.13: version "0.4.18" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.18.tgz#23d8656b16aae6742ac29732ea8f0336a4789cf2" @@ -3117,7 +3348,7 @@ intersect-arrays-to-stream@^0.0.3: version "0.0.3" resolved "https://registry.yarnpkg.com/intersect-arrays-to-stream/-/intersect-arrays-to-stream-0.0.3.tgz#fc0318953e872f12a12f3d33d04f4e7630e59f3b" -invariant@^2.2.0: +invariant@^2.2.0, invariant@^2.2.2: version "2.2.2" resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.2.tgz#9e1f56ac0acdb6bf303306f338be3b204ae60360" dependencies: @@ -3139,6 +3370,10 @@ ipaddr.js@1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.3.0.tgz#1e03a52fdad83a8bbb2b25cbf4998b4cffcd3dec" +ipaddr.js@1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.4.0.tgz#296aca878a821816e5b85d0a285a99bcff4582f0" + is-arrayish@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" @@ -3690,7 +3925,7 @@ js-stringify@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/js-stringify/-/js-stringify-1.0.2.tgz#1736fddfd9724f28a3682adc6230ae7e4e9679db" -js-tokens@^3.0.0: +js-tokens@^3.0.0, js-tokens@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" @@ -3701,13 +3936,20 @@ js-yaml@3.5.4: argparse "^1.0.2" esprima "^2.6.0" -js-yaml@^3.7.0, js-yaml@^3.8.4, js-yaml@~3.9.0: +js-yaml@^3.7.0: version "3.9.0" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.9.0.tgz#4ffbbf25c2ac963b8299dc74da7e3740de1c18ce" dependencies: argparse "^1.0.7" esprima "^4.0.0" +js-yaml@^3.9.1, js-yaml@~3.9.1: + version "3.9.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.9.1.tgz#08775cebdfdd359209f0d2acd383c8f86a6904a0" + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + jsbn@~0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" @@ -3716,32 +3958,7 @@ jschardet@^1.4.2: version "1.5.0" resolved "https://registry.yarnpkg.com/jschardet/-/jschardet-1.5.0.tgz#a61f310306a5a71188e1b1acd08add3cfbb08b1e" -"jsdom@7.0 - 9.8": - version "9.8.3" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-9.8.3.tgz#fde29c109c32a1131e0b6c65914e64198f97c370" - dependencies: - abab "^1.0.0" - acorn "^2.4.0" - acorn-globals "^1.0.4" - array-equal "^1.0.0" - content-type-parser "^1.0.1" - cssom ">= 0.3.0 < 0.4.0" - cssstyle ">= 0.2.36 < 0.3.0" - escodegen "^1.6.1" - html-encoding-sniffer "^1.0.1" - iconv-lite "^0.4.13" - nwmatcher ">= 1.3.7 < 2.0.0" - parse5 "^1.5.1" - request "^2.55.0" - sax "^1.1.4" - symbol-tree ">= 3.1.0 < 4.0.0" - tough-cookie "^2.3.1" - webidl-conversions "^3.0.1" - whatwg-encoding "^1.0.1" - whatwg-url "^3.0.0" - xml-name-validator ">= 2.0.1 < 3.0.0" - -jsdom@^9.12.0: +"jsdom@7.0 - 9.12", jsdom@^9.12.0: version "9.12.0" resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-9.12.0.tgz#e8c546fffcb06c00d4833ca84410fed7f8a097d4" dependencies: @@ -3795,7 +4012,7 @@ json5@0.5.0: version "0.5.0" resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.0.tgz#9b20715b026cbe3778fd769edccd822d8332a5b2" -json5@^0.5.0: +json5@^0.5.0, json5@^0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" @@ -3819,9 +4036,9 @@ jsonparse@^1.2.0: version "1.3.1" resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" -jsonwebtoken@~7.4.1: - version "7.4.1" - resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-7.4.1.tgz#7ca324f5215f8be039cd35a6c45bb8cb74a448fb" +jsonwebtoken@~7.4.3: + version "7.4.3" + resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-7.4.3.tgz#77f5021de058b605a1783fa1283e99812e645638" dependencies: joi "^6.10.1" jws "^3.1.4" @@ -3866,6 +4083,10 @@ kareem@1.4.2: version "1.4.2" resolved "https://registry.yarnpkg.com/kareem/-/kareem-1.4.2.tgz#3b4af5dbfaf3ac1c08b8e5518fdd81ba90c2ab72" +kareem@1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/kareem/-/kareem-1.5.0.tgz#e3e4101d9dcfde299769daf4b4db64d895d17448" + keygrip@~1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/keygrip/-/keygrip-1.0.1.tgz#b02fa4816eef21a8c4b35ca9e52921ffc89a30e9" @@ -3882,9 +4103,9 @@ kind-of@^4.0.0: dependencies: is-buffer "^1.1.5" -klaw@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/klaw/-/klaw-2.0.0.tgz#59c128e0dc5ce410201151194eeb9cbf858650f6" +klaw@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/klaw/-/klaw-2.1.0.tgz#694a269019f4321d9233fb1b9abdae21e38259fb" dependencies: graceful-fs "^4.1.9" @@ -3950,6 +4171,10 @@ level-codec@~6.1.0: version "6.1.0" resolved "https://registry.yarnpkg.com/level-codec/-/level-codec-6.1.0.tgz#f5df0a99582f76dac43855151ab6f4e4d0d60045" +level-codec@~7.0.0: + version "7.0.1" + resolved "https://registry.yarnpkg.com/level-codec/-/level-codec-7.0.1.tgz#341f22f907ce0f16763f24bddd681e395a0fb8a7" + level-errors@^1.0.3, level-errors@~1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/level-errors/-/level-errors-1.0.4.tgz#3585e623974c737a93755492a43c0267cda4425f" @@ -3975,7 +4200,7 @@ leveldown@^1.6.0, leveldown@^1.7.1: nan "~2.6.1" prebuild-install "^2.1.0" -levelup@^1.3.8, levelup@~1.3.8: +levelup@^1.3.8: version "1.3.8" resolved "https://registry.yarnpkg.com/levelup/-/levelup-1.3.8.tgz#fb442c488efbea1043f7eb9929a792a74fbd1da6" dependencies: @@ -3987,6 +4212,18 @@ levelup@^1.3.8, levelup@~1.3.8: semver "~5.1.0" xtend "~4.0.0" +levelup@~1.3.9: + version "1.3.9" + resolved "https://registry.yarnpkg.com/levelup/-/levelup-1.3.9.tgz#2dbcae845b2bb2b6bea84df334c475533bbd82ab" + dependencies: + deferred-leveldown "~1.2.1" + level-codec "~7.0.0" + level-errors "~1.0.3" + level-iterator-stream "~1.3.0" + prr "~1.0.1" + semver "~5.4.1" + xtend "~4.0.0" + leven@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/leven/-/leven-2.1.0.tgz#c2e7a9f772094dee9d34202ae8acce4687875580" @@ -4158,6 +4395,10 @@ lodash.once@^4.0.0: version "4.1.1" resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" +lodash.padend@^4.6.1: + version "4.6.1" + resolved "https://registry.yarnpkg.com/lodash.padend/-/lodash.padend-4.6.1.tgz#53ccba047d06e158d311f45da625f4e49e6f166e" + lodash.repeat@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/lodash.repeat/-/lodash.repeat-4.1.0.tgz#fc7de8131d8c8ac07e4b49f74ffe829d1f2bec44" @@ -4256,9 +4497,9 @@ markdown-it-anchor@~4.0.0: dependencies: string "^3.3.3" -markdown-it-attrs@~0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/markdown-it-attrs/-/markdown-it-attrs-0.9.0.tgz#dd4dfff1ad0b7acbf16bbfa3a97041da08c25fdd" +markdown-it-attrs@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/markdown-it-attrs/-/markdown-it-attrs-1.1.0.tgz#6f5c7bc8d0c29e628ef335bcc1e0bf454d204f5d" markdown-it-emoji@~1.4.0: version "1.4.0" @@ -4286,9 +4527,9 @@ markdown-it-task-lists@~2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/markdown-it-task-lists/-/markdown-it-task-lists-2.0.1.tgz#a9ce7f55cde9f45e0fca629071d11d3fd5a69416" -markdown-it@~8.3.1: - version "8.3.1" - resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-8.3.1.tgz#2f4b622948ccdc193d66f3ca2d43125ac4ac7323" +markdown-it@~8.4.0: + version "8.4.0" + resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-8.4.0.tgz#e2400881bf171f7018ed1bd9da441dac8af6306d" dependencies: argparse "^1.0.7" entities "~1.1.1" @@ -4300,11 +4541,11 @@ marked@*: version "0.3.6" resolved "https://registry.yarnpkg.com/marked/-/marked-0.3.6.tgz#b2c6c618fccece4ef86c4fc6cb8a7cbf5aeda8d7" -mathjax-node@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/mathjax-node/-/mathjax-node-1.1.0.tgz#96cce47fa2900245322e10cd79ec97f47f6a8ab6" +mathjax-node@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/mathjax-node/-/mathjax-node-1.2.0.tgz#538d01f85ca18b90f3cc6ce68c7caeed44bb9f7f" dependencies: - jsdom "7.0 - 9.8" + jsdom "7.0 - 9.12" mathjax "*" mathjax@*: @@ -4380,7 +4621,7 @@ micromatch@^2.1.5, micromatch@^2.3.11: parse-glob "^3.0.4" regex-cache "^0.4.2" -"mime-db@>= 1.27.0 < 2": +"mime-db@>= 1.27.0 < 2", mime-db@~1.29.0: version "1.29.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.29.0.tgz#48d26d235589651704ac5916ca06001914266878" @@ -4394,6 +4635,12 @@ mime-types@^2.1.12, mime-types@~2.1.11, mime-types@~2.1.15, mime-types@~2.1.6, m dependencies: mime-db "~1.27.0" +mime-types@~2.1.16: + version "2.1.16" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.16.tgz#2b858a52e5ecd516db897ac2be87487830698e23" + dependencies: + mime-db "~1.29.0" + mime@1.3.4: version "1.3.4" resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.4.tgz#115f9e3b6b3daf2959983cb38f149a2d40eb5d53" @@ -4480,6 +4727,13 @@ mongodb-core@2.1.14: bson "~1.0.4" require_optional "~1.0.0" +mongodb-core@2.1.15: + version "2.1.15" + resolved "https://registry.yarnpkg.com/mongodb-core/-/mongodb-core-2.1.15.tgz#841f53b87ffff4c7458189c35c8ae827e1169764" + dependencies: + bson "~1.0.4" + require_optional "~1.0.0" + mongodb@2.2.27: version "2.2.27" resolved "https://registry.yarnpkg.com/mongodb/-/mongodb-2.2.27.tgz#34122034db66d983bcf6ab5adb26a24a70fef6e6" @@ -4488,7 +4742,15 @@ mongodb@2.2.27: mongodb-core "2.1.11" readable-stream "2.2.7" -"mongodb@>= 1.2.0 <3.0.0", mongodb@~2.2.30: +mongodb@2.2.31, mongodb@~2.2.31: + version "2.2.31" + resolved "https://registry.yarnpkg.com/mongodb/-/mongodb-2.2.31.tgz#1940445c661e19217bb3bf8245d9854aaef548db" + dependencies: + es6-promise "3.2.1" + mongodb-core "2.1.15" + readable-stream "2.2.7" + +"mongodb@>= 1.2.0 <3.0.0": version "2.2.30" resolved "https://registry.yarnpkg.com/mongodb/-/mongodb-2.2.30.tgz#8ccd801f676c8172040c2f2b47e9602a0d5634ab" dependencies: @@ -4496,7 +4758,7 @@ mongodb@2.2.27: mongodb-core "2.1.14" readable-stream "2.2.7" -mongoose@*, mongoose@~4.11.1: +mongoose@*: version "4.11.3" resolved "https://registry.yarnpkg.com/mongoose/-/mongoose-4.11.3.tgz#f93d427b282c2e798b0fe1532fb41a7dde6e98d3" dependencies: @@ -4513,6 +4775,23 @@ mongoose@*, mongoose@~4.11.1: regexp-clone "0.0.1" sliced "1.0.1" +mongoose@~4.11.9: + version "4.11.9" + resolved "https://registry.yarnpkg.com/mongoose/-/mongoose-4.11.9.tgz#58f89a72e75674d9bcdfa4e65ebe1b49b4477637" + dependencies: + async "2.1.4" + bson "~1.0.4" + hooks-fixed "2.0.0" + kareem "1.5.0" + mongodb "2.2.31" + mpath "0.3.0" + mpromise "0.5.5" + mquery "2.3.1" + ms "2.0.0" + muri "1.2.2" + regexp-clone "0.0.1" + sliced "1.0.1" + mpath@0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/mpath/-/mpath-0.3.0.tgz#7a58f789e9b5fd3c94520634157960f26bd5ef44" @@ -4799,7 +5078,7 @@ number-is-nan@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" -"nwmatcher@>= 1.3.7 < 2.0.0", "nwmatcher@>= 1.3.9 < 2.0.0": +"nwmatcher@>= 1.3.9 < 2.0.0": version "1.4.1" resolved "https://registry.yarnpkg.com/nwmatcher/-/nwmatcher-1.4.1.tgz#7ae9b07b0ea804db7e25f05cb5fe4097d4e4949f" @@ -4936,7 +5215,7 @@ osenv@0, osenv@^0.1.0, osenv@^0.1.4: os-homedir "^1.0.0" os-tmpdir "^1.0.0" -output-file-sync@^1.1.0: +output-file-sync@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/output-file-sync/-/output-file-sync-1.1.2.tgz#d0a33eefe61a205facb90092e826598d5245ce76" dependencies: @@ -5149,9 +5428,9 @@ passport@~0.1.1: pause "0.0.1" pkginfo "0.2.x" -passport@~0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/passport/-/passport-0.3.2.tgz#9dd009f915e8fe095b0124a01b8f82da07510102" +passport@~0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/passport/-/passport-0.4.0.tgz#c5095691347bd5ad3b5e180238c3914d16f05811" dependencies: passport-strategy "1.x.x" pause "0.0.1" @@ -5166,7 +5445,7 @@ path-exists@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" -path-is-absolute@^1.0.0: +path-is-absolute@^1.0.0, path-is-absolute@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" @@ -5222,6 +5501,10 @@ pify@^2.0.0, pify@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" +pify@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" + pinkie-promise@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" @@ -5388,7 +5671,7 @@ prettysize@0.0.3: version "0.0.3" resolved "https://registry.yarnpkg.com/prettysize/-/prettysize-0.0.3.tgz#14afff6a645e591a4ddf1c72919c23b4146181a1" -private@^0.1.6: +private@^0.1.6, private@^0.1.7: version "0.1.7" resolved "https://registry.yarnpkg.com/private/-/private-0.1.7.tgz#68ce5e8a1ef0a23bb570cc28537b5332aba63ef1" @@ -5438,6 +5721,13 @@ proxy-addr@~1.1.4: forwarded "~0.1.0" ipaddr.js "1.3.0" +proxy-addr@~1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-1.1.5.tgz#71c0ee3b102de3f202f3b64f608d173fcba1a918" + dependencies: + forwarded "~0.1.0" + ipaddr.js "1.4.0" + prr@~0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/prr/-/prr-0.0.0.tgz#1a84b85908325501411853d0081ee3fa86e2926a" @@ -5481,15 +5771,15 @@ pug-error@^1.3.0, pug-error@^1.3.2: version "1.3.2" resolved "https://registry.yarnpkg.com/pug-error/-/pug-error-1.3.2.tgz#53ae7d9d29bb03cf564493a026109f54c47f5f26" -pug-filters@^2.1.3: - version "2.1.3" - resolved "https://registry.yarnpkg.com/pug-filters/-/pug-filters-2.1.3.tgz#d59767a220de797dd755489f66834cf9aa83aa54" +pug-filters@^2.1.4: + version "2.1.4" + resolved "https://registry.yarnpkg.com/pug-filters/-/pug-filters-2.1.4.tgz#ab247c0f58765414b61be7b54fe979e9f6fc898f" dependencies: clean-css "^3.3.0" constantinople "^3.0.1" jstransformer "1.0.0" pug-error "^1.3.2" - pug-walk "^1.1.3" + pug-walk "^1.1.4" resolve "^1.1.6" uglify-js "^2.6.1" @@ -5509,12 +5799,12 @@ pug-lexer@^3.1.0: is-expression "^3.0.0" pug-error "^1.3.2" -pug-linker@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/pug-linker/-/pug-linker-3.0.1.tgz#ba3f8ff213ca8f3a304859b44fed13ca7b9dfa19" +pug-linker@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/pug-linker/-/pug-linker-3.0.2.tgz#cc0780cf9f3f5522b270871785492b99588d3142" dependencies: pug-error "^1.3.2" - pug-walk "^1.1.3" + pug-walk "^1.1.4" pug-lint@~2.4.0: version "2.4.0" @@ -5534,16 +5824,16 @@ pug-lint@~2.4.0: strip-json-comments "^2.0.1" void-elements "^2.0.1" -pug-load@^2.0.7: - version "2.0.7" - resolved "https://registry.yarnpkg.com/pug-load/-/pug-load-2.0.7.tgz#531d0c6e11546010e984630d03df406367d2de77" +pug-load@^2.0.8: + version "2.0.8" + resolved "https://registry.yarnpkg.com/pug-load/-/pug-load-2.0.8.tgz#1df1c1716f3e68c70d71699cff9458472dc38b9b" dependencies: object-assign "^4.1.0" - pug-walk "^1.1.3" + pug-walk "^1.1.4" -pug-parser@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pug-parser/-/pug-parser-3.0.0.tgz#37c619dd800f642187ce4d6ce1a164cdd75487a3" +pug-parser@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/pug-parser/-/pug-parser-3.0.1.tgz#dc0c5dd6c9c2d89da6105abbdf3d1b0fb4d39b5e" dependencies: pug-error "^1.3.2" token-stream "0.0.1" @@ -5558,20 +5848,20 @@ pug-strip-comments@^1.0.2: dependencies: pug-error "^1.3.2" -pug-walk@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/pug-walk/-/pug-walk-1.1.3.tgz#d7cd5b23db3ca87c636c86a0973f9cd8e030436c" +pug-walk@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/pug-walk/-/pug-walk-1.1.4.tgz#29e5174af43b67e99c31b448632e1ff86ddd671c" -pug@~2.0.0-rc.2: - version "2.0.0-rc.2" - resolved "https://registry.yarnpkg.com/pug/-/pug-2.0.0-rc.2.tgz#07845527790ab2c6be67dcf5eb1f31804081f04a" +pug@~2.0.0-rc.3: + version "2.0.0-rc.3" + resolved "https://registry.yarnpkg.com/pug/-/pug-2.0.0-rc.3.tgz#553cb3c3a97bb54ec3cb1e08591dcae3b6f58891" dependencies: pug-code-gen "^1.1.1" - pug-filters "^2.1.3" + pug-filters "^2.1.4" pug-lexer "^3.1.0" - pug-linker "^3.0.1" - pug-load "^2.0.7" - pug-parser "^3.0.0" + pug-linker "^3.0.2" + pug-load "^2.0.8" + pug-parser "^3.0.1" pug-runtime "^2.0.3" pug-strip-comments "^1.0.2" @@ -5606,6 +5896,10 @@ qs@6.4.0, qs@~6.4.0: version "6.4.0" resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" +qs@6.5.0: + version "6.5.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.0.tgz#8d04954d364def3efc55b5a0793e1e2c8b1e6e49" + random-bytes@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/random-bytes/-/random-bytes-1.0.0.tgz#4f68a1dc0ae58bd3fb95848c30324db75d64360b" @@ -5653,11 +5947,12 @@ read-chunk@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/read-chunk/-/read-chunk-1.0.1.tgz#5f68cab307e663f19993527d9b589cace4661194" -read-chunk@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/read-chunk/-/read-chunk-2.0.0.tgz#3246e877829116cec059674c4d5f300f7a9261f3" +read-chunk@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/read-chunk/-/read-chunk-2.1.0.tgz#6a04c0928005ed9d42e1a6ac5600e19cbc7ff655" dependencies: - pify "^2.3.0" + pify "^3.0.0" + safe-buffer "^5.1.1" read-pkg-up@^1.0.1: version "1.0.1" @@ -5757,14 +6052,22 @@ redent@^1.0.0: indent-string "^2.1.0" strip-indent "^1.0.1" +reduce-flatten@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/reduce-flatten/-/reduce-flatten-1.0.1.tgz#258c78efd153ddf93cb561237f61184f3696e327" + regenerate@^1.2.1: version "1.3.2" resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.3.2.tgz#d1941c67bad437e1be76433add5b385f95b19260" -regenerator-runtime@^0.10.0: +regenerator-runtime@^0.10.0, regenerator-runtime@^0.10.5: version "0.10.5" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz#336c3efc1220adcedda2c9fab67b5a7955a33658" +regenerator-runtime@^0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.0.tgz#7e54fe5b5ccd5d6624ea6255c3473be090b802e1" + regenerator-transform@0.9.11: version "0.9.11" resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.9.11.tgz#3a7d067520cb7b7176769eb5ff868691befe1283" @@ -5808,9 +6111,9 @@ regjsparser@^0.1.4: dependencies: jsesc "~0.5.0" -remove-markdown@~0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/remove-markdown/-/remove-markdown-0.2.0.tgz#47f5efe3478db48c265db41e4706676a6820ec95" +remove-markdown@~0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/remove-markdown/-/remove-markdown-0.2.2.tgz#66b0ceeba9fb77ca9636bb1b0307ce21a32a12a6" remove-trailing-separator@^1.0.1: version "1.0.2" @@ -5836,7 +6139,7 @@ repeating@^2.0.0: dependencies: is-finite "^1.0.0" -request@2, request@^2.55.0, request@^2.65.0, request@^2.67.0, request@^2.79.0, request@^2.81.0, request@~2.81.0: +request@2, request@^2.65.0, request@^2.67.0, request@^2.79.0, request@^2.81.0, request@~2.81.0: version "2.81.0" resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0" dependencies: @@ -5952,7 +6255,7 @@ safe-buffer@5.0.1, safe-buffer@~5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.0.1.tgz#d263ca54696cd8a306b5ca6551e92de57918fbe7" -safe-buffer@5.1.1, safe-buffer@^5.0.1, safe-buffer@~5.1.0, safe-buffer@~5.1.1: +safe-buffer@5.1.1, safe-buffer@^5.0.1, safe-buffer@^5.1.1, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" @@ -5981,7 +6284,7 @@ sass-graph@^2.1.1: scss-tokenizer "^0.2.3" yargs "^7.0.0" -sax@>=0.6.0, sax@^1.1.4, sax@^1.2.1: +sax@>=0.6.0, sax@^1.2.1: version "1.2.4" resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" @@ -6040,6 +6343,10 @@ semver@~5.1.0: version "5.1.1" resolved "https://registry.yarnpkg.com/semver/-/semver-5.1.1.tgz#a3292a373e6f3e0798da0b20641b9a9c5bc47e19" +semver@~5.4.1: + version "5.4.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.4.1.tgz#e059c09d8571f0540823733433505d3a2f00b18e" + send@0.13.1: version "0.13.1" resolved "https://registry.yarnpkg.com/send/-/send-0.13.1.tgz#a30d5f4c82c8a9bae9ad00a1d9b1bdbe6f199ed7" @@ -6092,6 +6399,24 @@ send@0.15.3: range-parser "~1.2.0" statuses "~1.3.1" +send@0.15.4: + version "0.15.4" + resolved "https://registry.yarnpkg.com/send/-/send-0.15.4.tgz#985faa3e284b0273c793364a35c6737bd93905b9" + dependencies: + debug "2.6.8" + depd "~1.1.1" + destroy "~1.0.4" + encodeurl "~1.0.1" + escape-html "~1.0.3" + etag "~1.8.0" + fresh "0.5.0" + http-errors "~1.6.2" + mime "1.3.4" + ms "2.0.0" + on-finished "~2.3.0" + range-parser "~1.2.0" + statuses "~1.3.1" + serve-favicon@~2.4.3: version "2.4.3" resolved "https://registry.yarnpkg.com/serve-favicon/-/serve-favicon-2.4.3.tgz#5986b17b0502642b641c21f818b1acce32025d23" @@ -6111,6 +6436,15 @@ serve-static@1.12.3: parseurl "~1.3.1" send "0.15.3" +serve-static@1.12.4: + version "1.12.4" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.12.4.tgz#9b6aa98eeb7253c4eedc4c1f6fdbca609901a961" + dependencies: + encodeurl "~1.0.1" + escape-html "~1.0.3" + parseurl "~1.3.1" + send "0.15.4" + serve-static@~1.10.2: version "1.10.3" resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.10.3.tgz#ce5a6ecd3101fed5ec09827dac22a9c29bfb0535" @@ -6470,10 +6804,20 @@ supports-color@^4.0.0, supports-color@^4.2.0: dependencies: has-flag "^2.0.0" -"symbol-tree@>= 3.1.0 < 4.0.0", symbol-tree@^3.2.1: +symbol-tree@^3.2.1: version "3.2.2" resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.2.tgz#ae27db38f660a7ae2e1c3b7d1bc290819b8519e6" +table-layout@^0.4.1: + version "0.4.2" + resolved "https://registry.yarnpkg.com/table-layout/-/table-layout-0.4.2.tgz#10e9043c142a1e2d155da7257e478f0ef4981786" + dependencies: + array-back "^2.0.0" + deep-extend "~0.5.0" + lodash.padend "^4.6.1" + typical "^2.6.1" + wordwrapjs "^3.0.0" + table@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/table/-/table-4.0.1.tgz#a8116c133fac2c61f4a420ab6cdf5c4d61f0e435" @@ -6524,10 +6868,11 @@ tar@^2.0.0, tar@^2.2.1: fstream "^1.0.2" inherits "2" -tar@~3.1.5: - version "3.1.5" - resolved "https://registry.yarnpkg.com/tar/-/tar-3.1.5.tgz#4981e97ab7bad4cb1d5da9232047c9047a681aef" +tar@~4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/tar/-/tar-4.0.1.tgz#3f5b2e5289db30c2abe4c960f43d0d9fff96aaf0" dependencies: + chownr "^1.0.1" minipass "^2.0.2" minizlib "^1.0.3" mkdirp "^0.5.0" @@ -6553,6 +6898,13 @@ test-exclude@^4.1.1: read-pkg-up "^1.0.1" require-main-filename "^1.0.1" +test-value@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/test-value/-/test-value-2.1.0.tgz#11da6ff670f3471a73b625ca4f3fdcf7bb748291" + dependencies: + array-back "^1.0.3" + typical "^2.6.0" + text-table@~0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" @@ -6606,7 +6958,7 @@ to-array@0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/to-array/-/to-array-0.1.4.tgz#17e6c11f73dd4f3d74cda7a4ff3238e9ad9bf890" -to-fast-properties@^1.0.1: +to-fast-properties@^1.0.1, to-fast-properties@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47" @@ -6626,7 +6978,7 @@ touch@1.0.0: dependencies: nopt "~1.0.10" -tough-cookie@^2.3.1, tough-cookie@^2.3.2, tough-cookie@~2.3.0: +tough-cookie@^2.3.2, tough-cookie@~2.3.0: version "2.3.2" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.2.tgz#f081f76e4c85720e6c37a5faced737150d84072a" dependencies: @@ -6693,9 +7045,13 @@ typedarray@^0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" -typescript@~2.4.1: - version "2.4.2" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.4.2.tgz#f8395f85d459276067c988aa41837a8f82870844" +typescript@~2.5.2: + version "2.5.2" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.5.2.tgz#038a95f7d9bbb420b1bf35ba31d4c5c1dd3ffe34" + +typical@^2.6.0, typical@^2.6.1: + version "2.6.1" + resolved "https://registry.yarnpkg.com/typical/-/typical-2.6.1.tgz#5c080e5d661cbbe38259d2e70a3c7253e873881d" typo-js@*: version "1.0.3" @@ -6705,11 +7061,11 @@ uc.micro@^1.0.1, uc.micro@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/uc.micro/-/uc.micro-1.0.3.tgz#7ed50d5e0f9a9fb0a573379259f2a77458d50192" -uglify-es@~3.0.24: - version "3.0.25" - resolved "https://registry.yarnpkg.com/uglify-es/-/uglify-es-3.0.25.tgz#b5a1de9cd7b279f4487dbb136eb7097d3432af77" +uglify-es@~3.0.28: + version "3.0.28" + resolved "https://registry.yarnpkg.com/uglify-es/-/uglify-es-3.0.28.tgz#1cdedbbcdb7865223065281ad7b2347629851d4b" dependencies: - commander "~2.9.0" + commander "~2.11.0" source-map "~0.5.1" uglify-js@2.7.5: @@ -6849,7 +7205,7 @@ uws@~0.14.4: version "0.14.5" resolved "https://registry.yarnpkg.com/uws/-/uws-0.14.5.tgz#67aaf33c46b2a587a5f6666d00f7691328f149dc" -v8flags@^2.0.10: +v8flags@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-2.1.1.tgz#aab1a1fa30d45f88dd321148875ac02c0b55e5b4" dependencies: @@ -6874,9 +7230,9 @@ validator@^5.5.0: version "5.7.0" resolved "https://registry.yarnpkg.com/validator/-/validator-5.7.0.tgz#7a87a58146b695ac486071141c0c49d67da05e5c" -validator@~8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/validator/-/validator-8.0.0.tgz#00d6ec230ab5d3353ab1174162a96462b947bdbd" +validator@~8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/validator/-/validator-8.1.0.tgz#89cf6b512ff71eba886afd8d10d47f8dc800eac0" vary@^1, vary@~1.1.1: version "1.1.1" @@ -6892,9 +7248,9 @@ vasync@^1.6.4: dependencies: verror "1.6.0" -vee-validate@~2.0.0-rc.6: - version "2.0.0-rc.7" - resolved "https://registry.yarnpkg.com/vee-validate/-/vee-validate-2.0.0-rc.7.tgz#b3191ed25f7903d3b7408361f0e862f32cdf40ef" +vee-validate@~2.0.0-rc.14: + version "2.0.0-rc.14" + resolved "https://registry.yarnpkg.com/vee-validate/-/vee-validate-2.0.0-rc.14.tgz#ecbd3ddff33fa6a42ebb4a468c343e1eb5d2b38f" verror@1.3.6: version "1.3.6" @@ -6926,9 +7282,9 @@ void-elements@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-2.0.1.tgz#c066afb582bb1cb4128d60ea92392e94d5e9dbec" -vue-clipboards@~1.0.2: - version "1.0.4" - resolved "https://registry.yarnpkg.com/vue-clipboards/-/vue-clipboards-1.0.4.tgz#f920b34d1d2023b8ef999a6201a04c8dc8ee8ed6" +vue-clipboards@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/vue-clipboards/-/vue-clipboards-1.1.0.tgz#708d95b64e64f83e565f7fc464e7213fb6ef2d8a" dependencies: clipboard "^1.7.1" @@ -6957,9 +7313,9 @@ vue@~2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/vue/-/vue-2.4.2.tgz#a9855261f191c978cc0dc1150531b8d08149b58c" -vuex@~2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/vuex/-/vuex-2.3.1.tgz#cde8e997c1f9957719bc7dea154f9aa691d981a6" +vuex@~2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/vuex/-/vuex-2.4.0.tgz#e1d0430646282b40007fdd06ec6ae88a9f5a1e14" vxx@^1.2.0: version "1.2.2" @@ -6998,7 +7354,7 @@ watch@~0.10.0: version "0.10.0" resolved "https://registry.yarnpkg.com/watch/-/watch-0.10.0.tgz#77798b2da0f9910d595f1ace5b0c2258521f21dc" -webidl-conversions@^3.0.0, webidl-conversions@^3.0.1: +webidl-conversions@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" @@ -7016,13 +7372,6 @@ whatwg-fetch@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz#9c84ec2dcf68187ff00bc64e1274b442176e1c84" -whatwg-url@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-3.1.0.tgz#7bdcae490f921aef6451fb6739ec6bbd8e907bf6" - dependencies: - tr46 "~0.0.3" - webidl-conversions "^3.0.0" - whatwg-url@^4.3.0: version "4.8.0" resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-4.8.0.tgz#d2981aa9148c1e00a41c5a6131166ab4683bbcc0" @@ -7084,6 +7433,13 @@ wordwrap@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" +wordwrapjs@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/wordwrapjs/-/wordwrapjs-3.0.0.tgz#c94c372894cadc6feb1a66bff64e1d9af92c5d1e" + dependencies: + reduce-flatten "^1.0.1" + typical "^2.6.1" + worker-farm@^1.3.1: version "1.4.1" resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.4.1.tgz#a438bc993a7a7d133bcb6547c95eca7cff4897d8" @@ -7145,7 +7501,7 @@ xhr@^2.0.1: parse-headers "^2.0.0" xtend "^4.0.0" -"xml-name-validator@>= 2.0.1 < 3.0.0", xml-name-validator@^2.0.1: +xml-name-validator@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-2.0.1.tgz#4d8b8f1eccd3419aa362061becef515e1e559635" From 6e4fba8012003b1ca309c528d8ed3abe02656a33 Mon Sep 17 00:00:00 2001 From: Nicolas Giard Date: Mon, 4 Sep 2017 13:12:14 -0400 Subject: [PATCH 29/56] docs: updated milestones [ci skip] --- README.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 809b8b7c..efc2e507 100644 --- a/README.md +++ b/README.md @@ -61,14 +61,14 @@ Current and upcoming milestones *(major features only, see the [changelog](https - [x] Updated dependencies ### 2.0.0 - Dev -![Progress](http://progressed.io/bar/20) +![Progress](http://progressed.io/bar/25) **Breaking Changes**: MongoDB is being phased out in favor of PostgreSQL + Redis. An upgrade tool will be provided to migrate existing data to the new system. -- [ ] GraphQL API +- [x] GraphQL API - [x] Comments - [x] Documents - - [ ] Files + - [x] Files - [x] Folders - [x] Groups - [x] Rights @@ -76,6 +76,7 @@ Current and upcoming milestones *(major features only, see the [changelog](https - [x] Tags - [x] Users - [x] Migrate to PostgreSQL + Redis datastore +- [ ] New Login page - [ ] History / Revert to previous version - [ ] Optional Two-Steps Authentication (2FA) - [x] Docker support + Auto compile/publish to Docker Hub From 7957a12216d68623927bea2b2868360e39959721 Mon Sep 17 00:00:00 2001 From: Nicolas Giard Date: Thu, 14 Sep 2017 21:04:52 -0400 Subject: [PATCH 30/56] feat: Persian locale + RTL initial support + browser locales fixes --- CHANGELOG.md | 9 +++ README.md | 9 +-- client/scss/app.scss | 1 + client/scss/layout/_rtl.scss | 28 ++++++++ config.sample.yml | 5 +- package.json | 2 +- server/app/data.yml | 1 + server/locales/es/browser.json | 10 +++ server/locales/fa/admin.json | 82 +++++++++++++++++++++++ server/locales/fa/auth.json | 32 +++++++++ server/locales/fa/browser.json | 116 +++++++++++++++++++++++++++++++++ server/locales/fa/common.json | 51 +++++++++++++++ server/locales/fa/errors.json | 30 +++++++++ server/locales/fa/git.json | 6 ++ server/locales/ko/admin.json | 37 +++++++++-- server/locales/ko/browser.json | 104 ++++++++++++++++++++++++++++- server/locales/ko/common.json | 4 ++ server/locales/ko/errors.json | 2 +- server/locales/nl/admin.json | 8 +-- server/locales/nl/common.json | 2 +- server/locales/pt/admin.json | 2 +- server/locales/pt/common.json | 4 +- server/locales/tr/admin.json | 1 + server/locales/tr/auth.json | 1 + server/locales/tr/browser.json | 1 + server/locales/tr/common.json | 1 + server/locales/tr/errors.json | 1 + server/locales/tr/git.json | 1 + server/locales/zh/admin.json | 4 +- server/views/layout.pug | 2 +- tools/fuse_tasks.js | 2 +- 31 files changed, 535 insertions(+), 24 deletions(-) create mode 100644 client/scss/layout/_rtl.scss create mode 100644 server/locales/fa/admin.json create mode 100644 server/locales/fa/auth.json create mode 100644 server/locales/fa/browser.json create mode 100644 server/locales/fa/common.json create mode 100644 server/locales/fa/errors.json create mode 100644 server/locales/fa/git.json create mode 100644 server/locales/tr/admin.json create mode 100644 server/locales/tr/auth.json create mode 100644 server/locales/tr/browser.json create mode 100644 server/locales/tr/common.json create mode 100644 server/locales/tr/errors.json create mode 100644 server/locales/tr/git.json diff --git a/CHANGELOG.md b/CHANGELOG.md index 83bd69c4..f528f3d5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,14 @@ All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org/). +## [v1.0.9] - 2017-09-14 +### Added +- **Localization**: Persian (farsi) locale is now available (thanks to @ashkang) +- **UI**: Support for right-to-left languages + +### Fixed +- **i18n**: Browser locale files not generated properly (ported from dev branch) + ## [v1.0.8] - 2017-08-31 ### Changed - **Misc**: Updated dependencies @@ -217,6 +225,7 @@ This project adheres to [Semantic Versioning](http://semver.org/). ### Changed - Updated dependencies + snyk policy +[v1.0.9]: https://github.com/Requarks/wiki/releases/tag/v1.0.9 [v1.0.8]: https://github.com/Requarks/wiki/releases/tag/v1.0.8 [v1.0.7]: https://github.com/Requarks/wiki/releases/tag/v1.0.7 [v1.0.6]: https://github.com/Requarks/wiki/releases/tag/v1.0.6 diff --git a/README.md b/README.md index efc2e507..317aba7d 100644 --- a/README.md +++ b/README.md @@ -53,12 +53,12 @@ You can also use a Dockerfile ([see example](https://github.com/Requarks/wiki/bl Current and upcoming milestones *(major features only, see the [changelog](https://github.com/Requarks/wiki/blob/master/CHANGELOG.md) for complete list of features and bug fixes)*: -### 1.0.8 - Stable +### 1.0.9 - Stable ![Progress](http://progressed.io/bar/100) -- [x] Fix: Azure AD client Id is now referenced correctly ([#219](https://github.com/Requarks/wiki/issues/219)) -- [x] Fix: Git Branch is now referenced correctly ([#215](https://github.com/Requarks/wiki/issues/215)) -- [x] Updated dependencies +- [x] Persian (farsi) locale is now available (thanks to @ashkang) +- [x] Added Support for right-to-left languages +- [x] Fix: Browser locale files not generated properly (ported from dev branch) ### 2.0.0 - Dev ![Progress](http://progressed.io/bar/25) @@ -118,6 +118,7 @@ We are looking for translators to make Wiki.js available in multiple languages. - [x] French - [x] German - *Thanks to [@joetjengerdes](https://github.com/joetjengerdes)* - [x] Korean - *Thanks to [@junwonpk](https://github.com/junwonpk)* +- [x] Persian - *Thanks to [@ashkang](https://github.com/ashkang)* - [x] Portuguese - *Thanks to [@felipeplets](https://github.com/felipeplets)* - [x] Russian - *Thanks to [@efimlosev](https://github.com/efimlosev)* - [x] Spanish - *Thanks to [@MatiasArriola](https://github.com/MatiasArriola)* diff --git a/client/scss/app.scss b/client/scss/app.scss index 8bf44dd7..a86c88e8 100644 --- a/client/scss/app.scss +++ b/client/scss/app.scss @@ -41,6 +41,7 @@ $primary: 'indigo'; @import 'layout/_header'; @import 'layout/_loader'; +@import 'layout/_rtl'; @import 'pages/_welcome'; diff --git a/client/scss/layout/_rtl.scss b/client/scss/layout/_rtl.scss new file mode 100644 index 00000000..6ade7b0a --- /dev/null +++ b/client/scss/layout/_rtl.scss @@ -0,0 +1,28 @@ +.rtl { + direction: rtl; + + .button i { + margin-left: 8px; + margin-right: 0px; + } + + .nav-right .nav-item { + padding: 0 10px 0 0; + } + + .nav-item h1 i { + margin-left: 8px; + margin-right: 8px; + } + + .sidebar aside .sidebar-menu li a i { + margin-left: 7px; + margin-right: 0; + } + + .mkcontent { + ul { + padding: 10px 40px 10px 0; + } + } +} diff --git a/config.sample.yml b/config.sample.yml index 4ad45199..3cb51966 100644 --- a/config.sample.yml +++ b/config.sample.yml @@ -44,10 +44,13 @@ uploads: # --------------------------------------------------------------------- # Site Language # --------------------------------------------------------------------- -# Possible values: en, es, fr, ko, ru or zh +# Possible values: en, de, es, fa, fr, ko, nl, pt, ru, sr, tr or zh lang: en +# Enable for right to left languages (e.g. arabic): +langRtl: false + # --------------------------------------------------------------------- # Site Authentication # --------------------------------------------------------------------- diff --git a/package.json b/package.json index 8da2dacb..2f5a6f87 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "wiki", - "version": "1.0.8", + "version": "1.0.9", "description": "A modern, lightweight and powerful wiki app built on NodeJS, Git and Markdown", "main": "wiki.js", "scripts": { diff --git a/server/app/data.yml b/server/app/data.yml index 440f2057..c994a6bd 100644 --- a/server/app/data.yml +++ b/server/app/data.yml @@ -15,6 +15,7 @@ defaults: maxImageFileSize: 3, maxOtherFileSize: 100 lang: en + langRtl: false public: false auth: defaultReadAccess: false diff --git a/server/locales/es/browser.json b/server/locales/es/browser.json index 2fbc074c..ddfcdf66 100644 --- a/server/locales/es/browser.json +++ b/server/locales/es/browser.json @@ -45,6 +45,16 @@ "videosupportedtitle": "Los siguientes están soportados:", "videotitle": "Insertar Video" }, + "history": { + "pastversions": "Versiones Previas", + "timestamp": "Marca de tiempo", + "author": "Autor", + "commit": "Commit", + "comparewith": "Comparar con...", + "view": "Ver", + "reverttoversion": "Volver a la Versión", + "sidebyside": "Vista lado a lado" + }, "modal": { "abort": "Abortar", "anchorerror": "Falló la copia del Portapapeles. Copie la URL manualmente.", diff --git a/server/locales/fa/admin.json b/server/locales/fa/admin.json new file mode 100644 index 00000000..76b95519 --- /dev/null +++ b/server/locales/fa/admin.json @@ -0,0 +1,82 @@ +{ + "profile": { + "displayname": "نام کامل", + "displaynameexample": "علی علوی", + "email": "ایمیل", + "lastprofileupdate": "آخرین زمان به روز رسانی پروفایل", + "membersince": "تاریخ عضویت", + "password": "گذرواژه", + "passwordverify": "تایید گذرواژه", + "provider": "سرویس‌دهنده", + "savechanges": "ذخیره تغییرات", + "subtitle": "اطلاعات پروفایل و سیستم احراز هویت", + "tfa": "احراز هویت دو مرحله‌ای", + "tfadisable": "غیرفعال کردن سیستم احراز هویت دو مرحله‌ای", + "tfadisabled": "غیرفعال", + "tfaenable": "فعال کردن سیستم احراز هویت دو مرحله‌ای", + "tfaenabled": "فعال" + }, + "stats": { + "subtitle": "آمار کلی وبسایت", + "entries": "مدخل", + "uploads": "آپلودها", + "users": "کاربران" + }, + "settings": { + "subtitle": "مدیریت تنظیمات وبسایت" + }, + "system": { + "subtitle": "ابزارها و اطلاعات برای ویکی شما", + "systemversion": "نسخه سیستم", + "currentversion": "نسخه فعلی", + "latestversion": "آخرین نسخه", + "upgrade": "ارتقاء", + "reinstall": "نصب مجدد نسخه فعلی", + "versioncheckfailed": "امکان پیدا کردن آخرین نسخه نرم افزار وجود ندارد. لطفا بعدا امتحان کنید.", + "administrativetools": "ابزارهای مدیریت", + "flushcache": "پاک کردن کش و بازسازی فهرست‌ها", + "flushcachetext": "اگر به نظر میرسد محتوای وبسایت به روز نیست یا آخرین تغییرات در آن وجود ندارد، پاک کردن کش احتمالا میتواند به حل این مشکل کمک کند.", + "flushcachebtn": "پاک کردن و بازسازی", + "resetaccounts": "ریست کردن حسابهای کاربری سیستمی به حالت پیش‌فرض", + "resetaccountstext": "حسابهای کاربری سیستمی (مثل حساب مهمان) به حالت پیش‌فرض برخواهند گشت.", + "resetaccountsbtn": "ریست کردن حسابهای سیستمی", + "flushsessions": "پاک کردن نشست تمام کاربران آنلاین", + "flushsessionstext": "نشست تمام کاربرانی که در حال حاضر مشغول استفاده از وبسایت هستند پاک و باید مجددا وارد سیستم شوند.", + "flushsessionsbtn": "پاک‌کردن نشست‌ها", + "hostinfo": "اطلاعات مربوط به سیستم میزبان", + "os": "سیستم عامل", + "nodeversion": "نسخه نود‌جی‌اس", + "hostname": "نام میزبان", + "cores": "تعداد هسته‌های پردازنده", + "totalmem": "مجموع حافظه", + "cwd": "دایرکتوری کاری" + }, + "theme": { + "subtitle": "تغییر ظاهر وبسایت", + "primarycolor": "رنگ اصلی", + "primarycolordesc": "در نوار ناوبری بالا، سرساز، پیوند‌ها و غیره استفاده میشود.", + "altcolor": "رنگ دوم", + "altcolordesc": "در نوارابزار گوشه استفاده میشود (با رنگ کمی تیره‌تر)", + "footercolor": "رنگ پاورقی", + "footercolordesc": "برای پاورقی پایین صفحه استفاده میشود (با رنگ کمی روشن‌تر)", + "codeblock": { + "title": "قطعات کد", + "dark": "استفاده از تم تیره", + "colorize": "رنگ‌آمیزی کد بر اساس سینتکس" + }, + "savechanges": "ذخیره تغییرات", + "reset": "برگشت به وضعیت پیش‌فرض" + }, + "users": { + "createauthorize": "مدیریت کاربران", + "subtitle": "ایجاد یا تغییر دسترسی کاربران به وبسایت", + "name": "نام", + "email": "آدرس ایمیل", + "provider": "سرویس‌دهنده", + "createdon": "ساخته شده در تاریخ", + "updatedon": "به روز رسانی شده در تاریخ", + "returntousers": "بازگشت به لیست کاربران", + "edituser": "ویرایش کاربر", + "uniqueid": "شناسه یکتا" + } +} \ No newline at end of file diff --git a/server/locales/fa/auth.json b/server/locales/fa/auth.json new file mode 100644 index 00000000..f62105d8 --- /dev/null +++ b/server/locales/fa/auth.json @@ -0,0 +1,32 @@ +{ + "loginrequired": "باید وارد سیستم شوید", + "loginusing": "وارد شدن به وسیله...", + "loginusingalt": "یا وارد شدن به وسیله...", + "fields": { + "emailuser": "ایمیل/شناسه کاربری", + "password": "گذرواژه" + }, + "actions": { + "login": "ورود" + }, + "errors": { + "invalidlogin": "شناسه کاربری نادرست", + "invalidloginmsg": "آدرس ایمیل یا گذرواژه نادرست است.", + "invaliduseremail": "آدرس ایمیل نامعتبر", + "loginerror": "خطا در ورود به سیستم", + "notyetauthorized": "هنوز اجازه ورود به وبسایت به شما داده نشده است.", + "toomanyattempts": "تلاش‌های ناموفق زیاد!", + "toomanyattemptsmsg": "شما در مدت زمان کوتاهی تلاشهای ناموفق بسیاری کرده‌اید. لطفا مجددا بعد از {{time}} امتحان کنید.", + "usernotfound": "کاربر پیدا نشد" + }, + "providers": { + "local": "محلی", + "windowslive": "حساب مایکروسافت", + "azure": "حساب اکتیو دایرکتوری اژر مایکروسافت", + "google": "حساب گوگل", + "facebook": "فیسبوک", + "github": "گیتهاب", + "slack": "اسلک", + "ldap": "ال‌دپ/اکتیو دایرکتوری" + } +} \ No newline at end of file diff --git a/server/locales/fa/browser.json b/server/locales/fa/browser.json new file mode 100644 index 00000000..55ef09e0 --- /dev/null +++ b/server/locales/fa/browser.json @@ -0,0 +1,116 @@ +{ + "editor": { + "codeblockinsert": "قطعه کد را وارد کنید", + "codeblocklanguage": "زبان", + "codeblockloading": "در حال بارگیری سینتکس {{name}}", + "codeblockloadingerror": "خطا: امکان بارگیری سینتکس برای این زبان وجود ندارد.", + "codeblocksuccess": "قطعه کد شما درج شد.", + "codeblocktitle": "درج قطعه کد", + "discard": "دور انداختن", + "filedeleteaction": "حذف", + "filedeleteloading": "در حال حذف فایل...", + "filedeletedefault": "این فایل", + "filedeletesuccess": "فایل با موفقیت حذف شد.", + "fileerror": "امکان دریافت فهرست به روز رسانی شده وجود ندارد.", + "filefolderempty": "این پوشه خالی است.", + "fileinsert": "الصاق پیوند به فایل", + "fileloading": "در حال دریافت فایلها...", + "filemoveaction": "انتقال به...", + "filemoveerror": "خطا در انتقال: {{err}}", + "filemoveloading": "در حال انتقال فایل...", + "filemovesuccess": "فایل با موفقیت منتقل شد.", + "fileprocessing": "در حال پردازش...", + "filerenameaction": "تغییر نام", + "filesuccess": "پیوند به فایل درج شد.", + "filetitle": "الصاق فایل", + "fileupload": "بارگذاری فایل", + "fileuploaderror": "خطا در بارگذاری: {{err}}", + "fileuploadsuccess": "فایلها با موفقیت بارگذاری شدند.", + "folders": "پوشه‌ها", + "foldersloading": "در حال دریافت لیست پوشه‌ها...", + "imagetitle": "الصاق عکس", + "imageinsert": "الصاق عکس", + "imagesuccess": "عکس الصاق شد.", + "imageupload": "بارگذاری عکس", + "imagealignleft": "چپ (پیش‌فرض)", + "imagealigncenter": "مرکز", + "imagealignright": "راست", + "imagealignlogo": "لوگوی صفحه", + "newfolder": "پوشه جدید", + "videoanymp4file": "هر فایل ام‌پی‌۴ استاندارد", + "videoinsert": "الصاق ویدئو", + "videolinktitle": "برای قرار دادن ویدئوی توکار، پیوند ویدئو را وارد کنید:", + "videonotsupported": "این پیوند نادرست است یا پشتیبانی نمی‌شود.", + "videosuccess": "کد ویدئو الصاق شد.", + "videosupportedtitle": "موارد زیر پشتیبانی میشوند:", + "videotitle": "الصاق ویدئو" + }, + "history": { + "pastversions": "نسخه‌های پیشین", + "timestamp": "زمان", + "author": "نویسنده", + "commit": "کامیت", + "comparewith": "مقایسه کن با...", + "view": "نمایش", + "reverttoversion": "برگرداندن به نسخه", + "sidebyside": "نمایش پهلو به پهلو" + }, + "modal": { + "abort": "قطع کردن", + "anchorerror": "کپی از کلیپ‌برد امکان‌پذیر نیست. لطفا پیوند را دستی وارد کنید.", + "anchorsuccess": "پیوند در کلیپ‌برد کپی شد.", + "anchortitle": "پیوند به این قسمت را کپی کن", + "copyclipboard": "کپی در کلیپ‌برد", + "create": "ایجاد", + "createpageinvalid": "مسیر این صفحه نادرست است.", + "createpagepath": "مسیر جدید صفحه را وارد کنید:", + "createpagetitle": "ایجاد صفحه جدید", + "createuser": "ایجاد حساب کاربری", + "createuserauthorize": "دسترسی دادن به کاربر", + "createuseremail": "آدرس ایمیل:", + "createuseremailplaceholder": "مثلا john.doe@company.com", + "createusername": "نام و نام خانوادگی:", + "createusernameplaceholder": "مثلا علی علوی", + "createuserpassword": "گذرواژه:", + "createuserprovider": "سرویس‌دهنده:", + "createusertitle": "ساخت حساب کاربری", + "delete": "حذف", + "deletefiletitle": "حذف شود؟", + "deletefilewarn": "آیا مطمئن هستید که میخواهید حذف شود؟", + "deleteusertitle": "حساب کاربری حذف شود؟", + "deleteuserwarning": "آیا مطمئن هستید که میخواهید حساب کاربری حذف شود؟ این عمل قابل بازگشت نیست.", + "discard": "دور انداختن", + "discardpagecreate": "آیا مطمئن هستید که میخواهید این صفحه را ترک کنید؟ تمام چیزهایی که تا این لحظه نوشتید از بین خواهند رفت.", + "discardpageedit": "آیا مطمئن هستید که میخواهید این صفحه را ترک کنید؟ تغییرات شما از بین خواهند رفت.", + "discardpagestay": "در این صفحه بمان", + "discardpagetitle": "دور ریخته شود؟", + "move": "انتقال", + "movepageinvalid": "مسیر این صفحه مجاز نیست یا نامعتبر است", + "movepagepath": "مسیر جدید این صفحه را وارد کنید:", + "movepageplaceholder": "نام صفحه", + "movepagetitle": "انتقال صفحه", + "movepagewarning": "توجه کنید که تغییر نام یا انتقال صفحه موجب خراب شدن پیوندهای سایر صفحات به این صفحه میشود. مطمئن شوید که سایر پیوندها به این صفحه را پس از انجام این کار درست خواهید کرد.", + "newfolderinvalid": "نام پوشه نامعتبر است!", + "newfolderloading": "در حال ساخت پوشه جدید...", + "newfoldername": "نام پوشه جدید را وارد کنید:", + "newfoldernameplaceholder": "نام پوشه", + "newfoldersuccess": "پوشه جدید با نام {{name}} ایجاد شد.", + "newfoldertitle": "پوشه جدید", + "renamefile": "تغییر نام", + "renamefileerror": "خطا در تغییر نام: {{err}}", + "renamefileinvalid": "نام این فایل نامعتبر است!", + "renamefileloading": "در حال تغییر نام فایل...", + "renamefilename": "نام جدید این فایل را (بدون پسوند) وارد کنید:", + "renamefilenameplaceholder": "نام فایل", + "renamefiletitle": "تغییر نام فایل" + }, + "nav": { + "home": "خانه" + }, + "search": { + "didyoumean": "منظورتان این بود؟", + "nomatch": "نتیجه‌ای برای جست و جوی شما یافت نشد", + "placeholder": "جستجو...", + "results": "نتایج جستجو" + } +} \ No newline at end of file diff --git a/server/locales/fa/common.json b/server/locales/fa/common.json new file mode 100644 index 00000000..6d782c96 --- /dev/null +++ b/server/locales/fa/common.json @@ -0,0 +1,51 @@ +{ + "wiki": "ویکی", + "header": { + "overview": "بررسی اجمالی", + "createdoc": "ایجاد سند جدید" + }, + "footer": { + "poweredby": "ساخته شده به وسیله", + "home": "خانه", + "top": "بازگشت به بالای صفحه" + }, + "sidebar": { + "nav": "ناوبری", + "navigation": "ناوبری", + "pagecontents": "محتویات صفحه", + "pastversions": "نسخه های پیشین" + }, + "nav": { + "account": "حساب کاربری", + "allpages": "تمام صفحات", + "create": "ايجاد کردن", + "discard": "دور انداختن", + "edit": "ویرایش", + "history": "تاریخچه", + "login": "ورود", + "logout": "خروج", + "move": "انتقال", + "myprofile": "پروفایل من", + "normalview": "چشم‌انداز معمولی", + "root": "خانه", + "savechanges": "ذخیره تغییرات", + "savedocument": "ذخیره سند", + "settings": "تنظیمات", + "source": "منبع", + "stats": "آمار", + "sysinfo": "اطلاعات سیستم", + "syssettings": "تنظیمات سیستم", + "theme": "تم رنگ", + "users": "کاربران", + "viewlatest": "مشاهده آخرین" + }, + "welcome": { + "title": "به ویکی خودتان خوش آمدید!", + "subtitle": "شروع و ساختن صفحه اصلی", + "createhome": "ایجاد صفحه اصلی" + }, + "loading": { + "source": "درحال بارگیری منبع...", + "editor": "در حال بارگیری ویرایشگر..." + } +} \ No newline at end of file diff --git a/server/locales/fa/errors.json b/server/locales/fa/errors.json new file mode 100644 index 00000000..301004c4 --- /dev/null +++ b/server/locales/fa/errors.json @@ -0,0 +1,30 @@ +{ + "alreadyexists": "این ورودی از پیش وجود دارد!", + "debugmsg": "ردپای دقیق برای اشکال زدائی", + "fileexists": "فایل {{path}} از پیش وجود دارد.", + "forbidden": "ممنوع", + "forbiddendetail": "متاسفانه شما اجازه لازم برای دسترسی به این صفحه را ندارید.", + "generic": "اشتباهی رخ داد", + "invalidaction": "عمل نامعتبر", + "invaliddestfolder": "پوشه مقصد نامعتبر است!", + "invalidfiletype": "نوع فایل نامعتبر است", + "invalidfolder": "پوشه نامعتبر", + "invalidoperation": "عملیات نامعتبر!", + "invalidpath": "مسیر صفحه نامعتبر است", + "invaliduserid": "شناسه کاربری نامعتبر", + "newpasswordtooshort": "گذرواژه جدید بسیار کوتاه است!", + "notexist": "مدخل {{path}} وجود ندارد!", + "notexistdetail": "آیا میخواهید این مدخل را ایجاد کنید؟", + "parentinvalid": "مدخل والد یک فایل معتبر نیست", + "parentisroot": "مدخل والد ریشه است.", + "remotetoolarge": "فایل خارجی بسیار بزرگ است", + "reservedname": "نمیتوانید سندی با این نام ایجاد کنید، چرا که نام این سند توسط سیستم رزرو شده است.", + "savefailed": "ذخیره سند با مشکل مواجه شد", + "starterfailed": "محتوای آغازگر بارگیری نشد!", + "unauthorized": "غیر مجاز", + "actions": { + "create": "ايجاد كردن", + "gohome": "بازگشت به خانه", + "loginas": "ورود به سیستم به عنوان..." + } +} \ No newline at end of file diff --git a/server/locales/fa/git.json b/server/locales/fa/git.json new file mode 100644 index 00000000..8194d174 --- /dev/null +++ b/server/locales/fa/git.json @@ -0,0 +1,6 @@ +{ + "added": "مسیر {{path}} اضافه شد", + "deleted": "حذف/تغییرنام {{path}}", + "updated": "{{path}} به روز رسانی شد", + "uploaded": "مسیر {{path}} بارگذاری شد" +} \ No newline at end of file diff --git a/server/locales/ko/admin.json b/server/locales/ko/admin.json index 1b564cea..026f631a 100644 --- a/server/locales/ko/admin.json +++ b/server/locales/ko/admin.json @@ -1,15 +1,20 @@ { "profile": { "displayname": "이름", - "displaynameexample": "박준원", + "displaynameexample": "홍길동", "email": "이메일", "lastprofileupdate": "최근 프로필 업데이트", "membersince": "회원 가입일", "password": "비밀번호", "passwordverify": "비밀번호 확인", "provider": "제공자", - "savechanges": "변경 사항 저장", - "subtitle": "프로필 및 인증 정보" + "savechanges": "변경사항 저장", + "subtitle": "프로필 및 인증 정보", + "tfa": "이중 인증", + "tfadisable": "이중 인증 해제", + "tfadisabled": "사용중지", + "tfaenable": "이중 인증 사용", + "tfaenabled": "사용" }, "stats": { "subtitle": "사이트 전체 통계", @@ -21,6 +26,7 @@ "subtitle": "사이트 구성 관리" }, "system": { + "subtitle": "위키의 정보 및 유틸리티", "systemversion": "시스템 버전", "currentversion": "현재 버전", "latestversion": "최신 버전", @@ -36,7 +42,30 @@ "resetaccountsbtn": "시스템 계정들 재설정", "flushsessions": "모든 활성 사용자 세션 플러시", "flushsessionstext": "모든 유저들이 로그아웃 됩니다. 당신의 지금 세션도 영향 받습니다.", - "flushsessionsbtn": "세션 플러시" + "flushsessionsbtn": "세션 플러시", + "hostinfo": "서버 정보", + "os": "운영 체제", + "nodeversion": "Node.js 버전", + "hostname": "서버 이름", + "cores": "CPU 코어 개수", + "totalmem": "총 메모리", + "cwd": "작업 폴더" + }, + "theme": { + "subtitle": "위키의 색과 느낌을 바꿔보세요", + "primarycolor": "기본 색상", + "primarycolordesc": "상단 바, 제목, 링크 등에 쓰입니다.", + "altcolor": "포인트 색상", + "altcolordesc": "사이드 바에 쓰입니다 (어두운 톤)", + "footercolor": "하단 바 색상", + "footercolordesc": "하단 바에 쓰입니다 (밝은 톤)", + "codeblock": { + "title": "코드 블록", + "dark": "어두운 테마 사용", + "colorize": "코드 색상 강조하기" + }, + "savechanges": "변경사항 저장", + "reset": "기본값으로 되돌리기" }, "users": { "createauthorize": "사용자 생성 / 허가", diff --git a/server/locales/ko/browser.json b/server/locales/ko/browser.json index 6b3b523c..86b8a8f2 100644 --- a/server/locales/ko/browser.json +++ b/server/locales/ko/browser.json @@ -1,6 +1,108 @@ { + "editor": { + "codeblockinsert": "코드 블록 삽입", + "codeblocklanguage": "언어", + "codeblockloading": "{{name}} 코드 문법 로딩중", + "codeblockloadingerror": "오류; 언어 문법을 가져오지 못했습니다", + "codeblocksuccess": "코드 블록이 삽입되었습니다", + "codeblocktitle": "코드 블록 삽입", + "discard": "취소", + "filedeleteaction": "삭제", + "filedeleteloading": "파일 삭제 중..", + "filedeletedefault": "이 파일", + "filedeletesuccess": "파일이 성공적으로 삭제되었습니다.", + "fileerror": "업데이트된 목록을 가져올 수 없습니다.", + "filefolderempty": "이 폴더는 비어 있습니다.", + "fileinsert": "파일에 링크 삽입", + "fileloading": "파일을 불러오는중..", + "filemoveaction": "로 이동...", + "filemoveerror": "이동 실패 : {{err}}", + "filemoveloading": "파일 이동 중...", + "filemovesuccess": "파일을 성공적으로 이동했습니다.", + "fileprocessing": "처리중...", + "filerenameaction": "이름 바꾸기", + "filesuccess": "파일 링크가 삽입되었습니다.", + "filetitle": "파일 삽입", + "fileupload": "파일 업로드", + "fileuploaderror": "업로드 실패 : {{err}}", + "fileuploadsuccess": "파일이 성공적으로 업로드되었습니다.", + "folders": "폴더", + "foldersloading": "폴더 목록을 불러 오는 중...", + "imagetitle": "이미지 삽입", + "imageinsert": "이미지 삽입", + "imagesuccess": "이미지가 삽입되었습니다.", + "imageupload": "이미지 업로드", + "imagealignleft": "왼쪽 (기본)", + "imagealigncenter": "가운데", + "imagealignright": "오른쪽", + "imagealignlogo": "Page Logo", + "newfolder": "새 폴더", + "videoanymp4file": "표준 .MP4 파일", + "videoinsert": "영상 삽입", + "videolinktitle": "삽입할 영상의 링크를 입력하세요:", + "videonotsupported": "URL이 유효하지 않거나 지원되지 않는 형식입니다", + "videosuccess": "비디오 코드가 삽입되었습니다", + "videosupportedtitle": "아래 항목을 지원합니다:", + "videotitle": "영상 삽입" + }, + "history": { + "pastversions": "지난 버전들", + "timestamp": "생성일", + "author": "작성자", + "commit": "변경ID", + "comparewith": "비교하기", + "view": "시각화", + "reverttoversion": "이전 버전으로 되돌리기", + "sidebyside": "나란히보기" + }, "modal": { - "move": "이동" + "abort": "중단", + "anchorerror": "클립보드 복사 실패. 수동으로 URL을 복사하십시오.", + "anchorsuccess": "URL이 클립보드에 복사되었습니다.", + "anchortitle": "이 섹션에 링크 복사", + "copyclipboard": "클립보드에 복사", + "create": "추가", + "createpageinvalid": "페이지 경로가 유효하지 않습니다", + "createpagepath": "새 페이지의 경로를 입력하세요:", + "createpagetitle": "새 페이지 생성", + "createuser": "사용자 생성", + "createuserauthorize": "사용자 승인", + "createuseremail": "이메일 주소", + "createuseremailplaceholder": "예: john.doe@company.com", + "createusername": "성명", + "createusernameplaceholder": "예: 홍길동", + "createuserpassword": "비밀번호:", + "createuserprovider": "제공자:", + "createusertitle": "사용자 계정 생성 / 승인", + "delete": "삭제", + "deletefiletitle": "삭제하시겠습니까?", + "deletefilewarn": "정말로 삭제하시겠습니까?", + "deleteusertitle": "계정을 삭제하시겠습니까?", + "deleteuserwarning": "정말로 삭제하시겠습니까? 이 작업은 복구할 수 없습니다", + "discard": "취소", + "discardpagecreate": "지금까지 작성한 내용을 저장하지 않고 나가겠습니까?", + "discardpageedit": "변경 사항을 저장하지 않고 나가시겠습니까? ", + "discardpagestay": "페이지에 머무르기", + "discardpagetitle": "취소하시겠습니까?", + "move": "이동", + "movepageinvalid": "페이지 경로가 잘못되었거나 페이지 접근 권한이 없습니다", + "movepagepath": "새로운 페이지 경로 등록", + "movepageplaceholder": "페이지 이름", + "movepagetitle": "페이지 이동", + "movepagewarning": "페이지를 이동하거나 이름을 변경하면 해당 페이지를 참조하는 다른 페이지의 링크를 꼭 수정하세요!", + "newfolderinvalid": "폴더 이름이 유효하지 않습니다", + "newfolderloading": "새 폴더 생성 중...", + "newfoldername": "새로 만들 폴더의 이름을 입력하세요:", + "newfoldernameplaceholder": "폴더명", + "newfoldersuccess": "{{name}} 폴더 생성 완료", + "newfoldertitle": "새 폴더", + "renamefile": "이름 바꾸기", + "renamefileerror": "이름 바꾸기 실패 : {{err}}", + "renamefileinvalid": "파일 이름이 유효하지 않습니다", + "renamefileloading": "파일 이름 변경 중...", + "renamefilename": "새로운 파일명(확장자 없이)을 입력하세요", + "renamefilenameplaceholder": "파일명", + "renamefiletitle": "파일 이름 바꾸기" }, "nav": { "home": "홈으로" diff --git a/server/locales/ko/common.json b/server/locales/ko/common.json index f4ea022d..89d64fd3 100644 --- a/server/locales/ko/common.json +++ b/server/locales/ko/common.json @@ -27,11 +27,15 @@ "move": "이동", "myprofile": "내 프로필", "normalview": "기본 보기", + "root": "홈으로", "savechanges": "변경사항 저장", "savedocument": "문서 저장", + "settings": "설정", "source": "소스", "stats": "통계", + "sysinfo": "시스템 정보", "syssettings": "시스템 설정", + "theme": "색상 테마", "users": "사용자", "viewlatest": "최신 보기" }, diff --git a/server/locales/ko/errors.json b/server/locales/ko/errors.json index 381f345e..c5281e44 100644 --- a/server/locales/ko/errors.json +++ b/server/locales/ko/errors.json @@ -1,5 +1,5 @@ { - "alreadyexists": "이미 정보가 입력되었습니다.", + "alreadyexists": "이미 존재하는 문서입니다.", "debugmsg": "상세한 디버그 트레일", "fileexists": "{{path}} 이미 존재함", "forbidden": "접근 금지", diff --git a/server/locales/nl/admin.json b/server/locales/nl/admin.json index f2edaa93..c3012923 100644 --- a/server/locales/nl/admin.json +++ b/server/locales/nl/admin.json @@ -40,9 +40,9 @@ "resetaccounts": "Systeem gebruikers terugzetten naar fabrieksinstellingen", "resetaccountstext": "De systeem gebruikers (zoals Gast) zullen teruggezet worden naar hun originele instellingen.", "resetaccountsbtn": "Systeem accounts terugzetten", - "flushsessions": "Actieve gebruikerssessies sluiten", + "flushsessions": "Actieve gebruikerssessies beëindigen", "flushsessionstext": "Alle actieve gebruikerssessies zullen gesloten worden. Alle gebruikers zullen opnieuw moeten inloggen. Ook jouw huidige sessie zal be-eindigen.", - "flushsessionsbtn": "Sessies sluiten", + "flushsessionsbtn": "Sessies beëindigen", "hostinfo": "Host informatie", "os": "Besturingssysteem", "nodeversion": "Node.js versie", @@ -64,12 +64,12 @@ "dark": "Gebruik donkere thema", "colorize": "Gebruik kleuren syntax" }, - "savechanges": "Veranderingen opslaan", + "savechanges": "Opslaan", "reset": "Standaardinstellingen terugzetten" }, "users": { "createauthorize": "Gebruiker aanmaken ", - "subtitle": "Beheer gebruikersrechten", + "subtitle": "Gebruikers en gebruikersrechten beheren", "name": "Naam", "email": "E-mailadres", "provider": "Inlog dienst", diff --git a/server/locales/nl/common.json b/server/locales/nl/common.json index 77140506..77b4e5b2 100644 --- a/server/locales/nl/common.json +++ b/server/locales/nl/common.json @@ -28,7 +28,7 @@ "myprofile": "Profiel", "normalview": "Normaal uiterlijk", "root": "Home", - "savechanges": "Veranderingen opslaan", + "savechanges": "Opslaan", "savedocument": "Document opslaan", "settings": "Instellingen", "source": "Paginabron", diff --git a/server/locales/pt/admin.json b/server/locales/pt/admin.json index 048e7c4a..6ceed602 100644 --- a/server/locales/pt/admin.json +++ b/server/locales/pt/admin.json @@ -25,7 +25,7 @@ "currentversion": "Versão Atual", "latestversion": "Última Versão", "upgrade": "Atualizar", - "reinstall": "Reinstalar versão atual", + "reinstall": "Re-instalar versão atual", "versioncheckfailed": "Não é possível consultar a versão mais recente. Tente mais tarde.", "administrativetools": "Ferramentas Administrativas", "flushcache": "Limpar o cache e reconstruir índices", diff --git a/server/locales/pt/common.json b/server/locales/pt/common.json index 02fc20af..02791507 100644 --- a/server/locales/pt/common.json +++ b/server/locales/pt/common.json @@ -21,7 +21,7 @@ "create": "Criar", "discard": "Descartar", "edit": "Editar", - "history": "Histórico", + "history": "Historico", "login": "Login", "logout": "Sair", "move": "Mover", @@ -31,7 +31,7 @@ "savedocument": "Salvar Documento", "settings": "Configurações", "source": "Fonte", - "stats": "Estatísticas", + "stats": "Statatísticas", "syssettings": "Configurações do Sistema", "theme": "Tema de Cor", "users": "Usuários", diff --git a/server/locales/tr/admin.json b/server/locales/tr/admin.json new file mode 100644 index 00000000..6f31cf5a --- /dev/null +++ b/server/locales/tr/admin.json @@ -0,0 +1 @@ +{ } \ No newline at end of file diff --git a/server/locales/tr/auth.json b/server/locales/tr/auth.json new file mode 100644 index 00000000..6f31cf5a --- /dev/null +++ b/server/locales/tr/auth.json @@ -0,0 +1 @@ +{ } \ No newline at end of file diff --git a/server/locales/tr/browser.json b/server/locales/tr/browser.json new file mode 100644 index 00000000..6f31cf5a --- /dev/null +++ b/server/locales/tr/browser.json @@ -0,0 +1 @@ +{ } \ No newline at end of file diff --git a/server/locales/tr/common.json b/server/locales/tr/common.json new file mode 100644 index 00000000..6f31cf5a --- /dev/null +++ b/server/locales/tr/common.json @@ -0,0 +1 @@ +{ } \ No newline at end of file diff --git a/server/locales/tr/errors.json b/server/locales/tr/errors.json new file mode 100644 index 00000000..6f31cf5a --- /dev/null +++ b/server/locales/tr/errors.json @@ -0,0 +1 @@ +{ } \ No newline at end of file diff --git a/server/locales/tr/git.json b/server/locales/tr/git.json new file mode 100644 index 00000000..6f31cf5a --- /dev/null +++ b/server/locales/tr/git.json @@ -0,0 +1 @@ +{ } \ No newline at end of file diff --git a/server/locales/zh/admin.json b/server/locales/zh/admin.json index 3fa0fb87..a07d0024 100644 --- a/server/locales/zh/admin.json +++ b/server/locales/zh/admin.json @@ -56,9 +56,9 @@ "primarycolor": "原色", "primarycolordesc": "用于顶级导航栏,标题,链接等", "altcolor": "替代颜色", - "altcolordesc": "用于边栏(黑色)", + "altcolordesc": "用于边栏(暗色)", "footercolor": "页脚颜色", - "footercolordesc": "用于foter(较轻的音调)", + "footercolordesc": "用于页脚(浅色)", "codeblock": { "title": "代码块", "dark": "使用黑色主题", diff --git a/server/views/layout.pug b/server/views/layout.pug index 4e0f0a9f..36c75734 100644 --- a/server/views/layout.pug +++ b/server/views/layout.pug @@ -28,7 +28,7 @@ html block head - body + body(class={ 'rtl': appconfig.langRtl }) #root.has-stickynav(class=['is-primary-' + appconfig.theme.primary, 'is-alternate-' + appconfig.theme.alt]) include ./common/header.pug alert diff --git a/tools/fuse_tasks.js b/tools/fuse_tasks.js index e5160a6c..90e7b61b 100644 --- a/tools/fuse_tasks.js +++ b/tools/fuse_tasks.js @@ -76,7 +76,7 @@ module.exports = Promise.mapSeries([ return Promise.map(langs, lang => { console.info(colors.white(' ' + lang + '.json')) let outputPath = path.join('./assets/js/i18n', lang + '.json') - return fs.readJsonAsync(path.join('./server/locales', lang + 'browser.json'), 'utf8').then((content) => { + return fs.readJsonAsync(path.join('./server/locales', lang, 'browser.json'), 'utf8').then((content) => { return fs.outputJsonAsync(outputPath, _.defaultsDeep(content, enContent)) }).catch(err => { // eslint-disable-line handle-callback-err return fs.outputJsonAsync(outputPath, enContent) From 2bababff965a68c718470214f3826840ef889c65 Mon Sep 17 00:00:00 2001 From: Nicolas Giard Date: Sat, 23 Sep 2017 11:43:53 -0400 Subject: [PATCH 31/56] docs: added sponsor [ci skip] --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 317aba7d..7932929f 100644 --- a/README.md +++ b/README.md @@ -24,6 +24,10 @@ - [Translations](#translations) *(We need your help!)* - [Special Thanks](#special-thanks) + + Sponsor + + ## Requirements Wiki.js can run on virtually all platforms where Node.js can (Windows, Mac, Linux, etc.). From 686bfd371014f044e4ee758cc3921779df58d618 Mon Sep 17 00:00:00 2001 From: Nicolas Giard Date: Sun, 24 Sep 2017 23:31:30 -0400 Subject: [PATCH 32/56] docs: updated 2.0 milestones [ci skip] --- README.md | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 7932929f..c1c06c31 100644 --- a/README.md +++ b/README.md @@ -60,12 +60,20 @@ Current and upcoming milestones *(major features only, see the [changelog](https ### 1.0.9 - Stable ![Progress](http://progressed.io/bar/100) +**Note**: As 2.0 is under development, no new features are being developed in the 1.0 branch. + - [x] Persian (farsi) locale is now available (thanks to @ashkang) -- [x] Added Support for right-to-left languages +- [x] Added support for right-to-left languages - [x] Fix: Browser locale files not generated properly (ported from dev branch) ### 2.0.0 - Dev -![Progress](http://progressed.io/bar/25) +![Progress](http://progressed.io/bar/30) + +**Goals**: + - Decouple front-end and back-end completely. + - All operations and queries will be made via GraphQL API. + - New fully responsive layout, with better customization capabilities. + - Full localization support, especially for non-latin languages. **Breaking Changes**: MongoDB is being phased out in favor of PostgreSQL + Redis. An upgrade tool will be provided to migrate existing data to the new system. @@ -78,13 +86,14 @@ Current and upcoming milestones *(major features only, see the [changelog](https - [x] Rights - [x] Settings - [x] Tags + - [x] Translations - [x] Users - [x] Migrate to PostgreSQL + Redis datastore - [ ] New Login page - [ ] History / Revert to previous version - [ ] Optional Two-Steps Authentication (2FA) - [x] Docker support + Auto compile/publish to Docker Hub -- [ ] Support sub-directory installations (e.g. example.com/wiki) +- [x] Support sub-directory installations (e.g. example.com/wiki) - [ ] Persist system settings to database instead of file-based - [ ] User Groups + Better permissions management - [x] Make use of all available CPU cores, distributed jobs queue From 95c692cae5ad063b56f459cc7e43b2eb636c9b53 Mon Sep 17 00:00:00 2001 From: Nicolas Giard Date: Mon, 25 Sep 2017 22:17:08 -0400 Subject: [PATCH 33/56] docs: Added GH code of conduct [ci skip] --- .github/CODE_OF_CONDUCT.md | 46 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 .github/CODE_OF_CONDUCT.md diff --git a/.github/CODE_OF_CONDUCT.md b/.github/CODE_OF_CONDUCT.md new file mode 100644 index 00000000..0e642064 --- /dev/null +++ b/.github/CODE_OF_CONDUCT.md @@ -0,0 +1,46 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. + +## Our Standards + +Examples of behavior that contributes to creating a positive environment include: + +* Using welcoming and inclusive language +* Being respectful of differing viewpoints and experiences +* Gracefully accepting constructive criticism +* Focusing on what is best for the community +* Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +* The use of sexualized language or imagery and unwelcome sexual attention or advances +* Trolling, insulting/derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or electronic address, without explicit permission +* Other conduct which could reasonably be considered inappropriate in a professional setting + +## Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. + +## Scope + +This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at abuse@requarks.io. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version] + +[homepage]: http://contributor-covenant.org +[version]: http://contributor-covenant.org/version/1/4/ From f9989d1b9880c9615f47511cc23ca56a8bc23187 Mon Sep 17 00:00:00 2001 From: RPDeshaies Date: Wed, 27 Sep 2017 07:47:47 -0400 Subject: [PATCH 34/56] docs: updated milestone progress [ci skip] --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c1c06c31..e26267fe 100644 --- a/README.md +++ b/README.md @@ -67,7 +67,7 @@ Current and upcoming milestones *(major features only, see the [changelog](https - [x] Fix: Browser locale files not generated properly (ported from dev branch) ### 2.0.0 - Dev -![Progress](http://progressed.io/bar/30) +![Progress](http://progressed.io/bar/35) **Goals**: - Decouple front-end and back-end completely. From 6ff78729bed842db3cdd2b02cdd970481082e109 Mon Sep 17 00:00:00 2001 From: asood123 Date: Wed, 27 Sep 2017 11:22:22 -0400 Subject: [PATCH 35/56] misc: activating open collective [ci skip] --- .github/ISSUE_TEMPLATE.md | 3 ++ CONTRIBUTING.md | 67 +++++++++++++++++++++++++++++++++++++++ README.md | 34 ++++++++++++++++++-- package.json | 11 +++++-- 4 files changed, 111 insertions(+), 4 deletions(-) create mode 100644 CONTRIBUTING.md diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md index 045546d6..c37b311a 100644 --- a/.github/ISSUE_TEMPLATE.md +++ b/.github/ISSUE_TEMPLATE.md @@ -5,3 +5,6 @@ ### Steps to reproduce the behavior + + diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 00000000..1076c9bc --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,67 @@ +# Contribute + +## Introduction + +First, thank you for considering contributing to Wiki.js! It's people like you that make the open source community such a great community! 😊 + +We welcome any type of contribution, not only code. You can help with +- **QA**: file bug reports, the more details you can give the better (e.g. screenshots with the console open) +- **Marketing**: writing blog posts, howto's, printing stickers, ... +- **Community**: presenting the project at meetups, organizing a dedicated meetup for the local community, ... +- **Code**: take a look at the [open issues](issues). Even if you can't write code, commenting on them, showing that you care about a given issue matters. It helps us triage them. +- **Money**: we welcome financial contributions in full transparency on our [open collective](https://opencollective.com/wikijs). + +## Your First Contribution + +Working on your first Pull Request? You can learn how from this *free* series, [How to Contribute to an Open Source Project on GitHub](https://egghead.io/series/how-to-contribute-to-an-open-source-project-on-github). + +## Submitting code + +Any code change should be submitted as a pull request. The description should explain what the code does and give steps to execute it. The pull request should also contain tests. + +## Code review process + +The bigger the pull request, the longer it will take to review and merge. Try to break down large pull requests in smaller chunks that are easier to review and merge. +It is also always helpful to have some context for your pull request. What was the purpose? Why does it matter to you? + +## Financial contributions + +We also welcome financial contributions in full transparency on our [open collective](https://opencollective.com/wikijs). +Anyone can file an expense. If the expense makes sense for the development of the community, it will be "merged" in the ledger of our open collective by the core contributors and the person who filed the expense will be reimbursed. + +## Questions + +If you have any questions, create an [issue](issue) (protip: do a quick search first to see if someone else didn't ask the same question before!). +You can also reach us at hello@wikijs.opencollective.com. + +## Credits + +### Contributors + +Thank you to all the people who have already contributed to Wiki.js! + + + +### Backers + +Thank you to all our backers! [[Become a backer](https://opencollective.com/wikijs#backer)] + + + + +### Sponsors + +Thank you to all our sponsors! (please ask your company to also support this open source project by [becoming a sponsor](https://opencollective.com/wikijs#sponsor)) + + + + + + + + + + + + + diff --git a/README.md b/README.md index e26267fe..21e27978 100644 --- a/README.md +++ b/README.md @@ -2,14 +2,16 @@ [![Release](https://img.shields.io/github/release/Requarks/wiki.svg?style=flat-square&maxAge=3600)](https://github.com/Requarks/wiki/releases) [![License](https://img.shields.io/badge/license-AGPLv3-blue.svg?style=flat-square)](https://github.com/requarks/wiki/blob/master/LICENSE) +[![Backers on Open Collective](https://opencollective.com/wikijs/backers/badge.svg)](#backers) +[![Sponsors on Open Collective](https://opencollective.com/wikijs/sponsors/badge.svg)](#sponsors) [![npm](https://img.shields.io/badge/npm-wiki.js-blue.svg?style=flat-square)](https://www.npmjs.com/package/wiki.js) -[![Downloads](https://img.shields.io/github/downloads/Requarks/wiki/total.svg?style=flat-square)](https://www.npmjs.com/package/wiki.js) -[![Twitter Follow](https://img.shields.io/badge/follow-%40requarks-blue.svg?style=flat-square)](https://twitter.com/requarks) +[![Downloads](https://img.shields.io/github/downloads/Requarks/wiki/total.svg?style=flat-square)](https://www.npmjs.com/package/wiki.js) [![Build Status](https://app.wercker.com/status/fc8e75793b3cf12852314d6bfd83d148/s/master?style=flat-square)](https://app.wercker.com/project/byKey/fc8e75793b3cf12852314d6bfd83d148) [![Codacy Badge](https://img.shields.io/codacy/grade/1d0217a3153c4595bdedb322263e55c8/master.svg?style=flat-square)](https://www.codacy.com/app/Requarks/wiki) [![Dependency Status](https://img.shields.io/gemnasium/Requarks/wiki.svg?style=flat-square)](https://gemnasium.com/github.com/Requarks/wiki) [![Standard - JavaScript Style Guide](https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat-square)](http://standardjs.com/) [![Chat on Gitter](https://img.shields.io/badge/chat-on_gitter-CC2B5E.svg?style=flat-square&logo=image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAOCAMAAADUg/YpAAAABlBMVEUAAAD///%2Bl2Z/dAAAAAXRSTlMAQObYZgAAABVJREFUeAFjwAUYYTQByAAh0WicAAAFnwAYeB5bLwAAAABJRU5ErkJggg==)](https://gitter.im/Requarks/wiki) +[![Twitter Follow](https://img.shields.io/badge/follow-%40requarks-blue.svg?style=flat-square)](https://twitter.com/requarks) ##### A modern, lightweight and powerful wiki app built on NodeJS, Git and Markdown @@ -143,3 +145,31 @@ We are looking for translators to make Wiki.js available in multiple languages. ![DigitalOcean](https://wiki.js.org/assets/images/logo_digitalocean.png) [DigitalOcean](https://www.digitalocean.com/) for providing hosting of the Wiki.js documentation site. + +## Contributors + +This project exists thanks to all the people who contribute. [[Contribute]](CONTRIBUTING.md). + + +## Backers + +Thank you to all our backers! 🙏 [[Become a backer](https://opencollective.com/wikijs#backer)] + + + +## Sponsors + +Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [[Become a sponsor](https://opencollective.com/wikijs#sponsor)] + + + + + + + + + + + + + diff --git a/package.json b/package.json index 2f5a6f87..d553c9d2 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,8 @@ "build": "node tools/fuse", "dev": "node tools/fuse -d", "dev-configure": "node tools/fuse -c", - "test": "jest" + "test": "jest", + "postinstall": "opencollective postinstall" }, "bin": { "wiki": "wiki.js" @@ -93,6 +94,7 @@ "multer": "~1.3.0", "node-2fa": "~1.1.2", "node-graceful": "~0.2.3", + "opencollective": "~1.0.3", "ora": "~1.3.0", "passport": "~0.4.0", "passport-azure-ad-oauth2": "0.0.4", @@ -172,5 +174,10 @@ "**/?(*.)(spec|test).js?(x)" ], "verbose": true + }, + "collective": { + "type": "opencollective", + "url": "https://opencollective.com/wikijs", + "logo": "https://opencollective.com/opencollective/logo.txt" } -} +} \ No newline at end of file From af80404ee70948e94aa7777ab0e037fa7d33fcc5 Mon Sep 17 00:00:00 2001 From: Nicolas Giard Date: Sun, 1 Oct 2017 22:42:45 -0400 Subject: [PATCH 36/56] docs: updated links [ci skip] --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 21e27978..32104a73 100644 --- a/README.md +++ b/README.md @@ -143,8 +143,8 @@ We are looking for translators to make Wiki.js available in multiple languages. ![Browserstack](https://wiki.js.org/assets/images/logo_browserstack.png) [Browserstack](https://www.browserstack.com/) for providing access to their great cross-browser testing tools. -![DigitalOcean](https://wiki.js.org/assets/images/logo_digitalocean.png) -[DigitalOcean](https://www.digitalocean.com/) for providing hosting of the Wiki.js documentation site. +[![DigitalOcean](https://wiki.js.org/assets/images/logo_digitalocean.png)](https://m.do.co/c/5f7445bfa4d0) +[DigitalOcean](https://m.do.co/c/5f7445bfa4d0) for providing hosting of the Wiki.js documentation site. ## Contributors From 6c69098af2d08efe7e98b650a68fe910f181e468 Mon Sep 17 00:00:00 2001 From: Nicolas Giard Date: Sat, 7 Oct 2017 12:23:53 -0400 Subject: [PATCH 37/56] docs: fix badges [ci skip] --- README.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/README.md b/README.md index 32104a73..2a20eb7c 100644 --- a/README.md +++ b/README.md @@ -171,5 +171,3 @@ Support this project by becoming a sponsor. Your logo will show up here with a l - - From fc764b7e4c2b9626f03286a8e3d91df0d99cf763 Mon Sep 17 00:00:00 2001 From: Nicolas Giard Date: Sat, 7 Oct 2017 22:30:06 -0400 Subject: [PATCH 38/56] docs: badge fix (2) [ci skip] --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 2a20eb7c..a2d68643 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,6 @@ [![Downloads](https://img.shields.io/github/downloads/Requarks/wiki/total.svg?style=flat-square)](https://www.npmjs.com/package/wiki.js) [![Build Status](https://app.wercker.com/status/fc8e75793b3cf12852314d6bfd83d148/s/master?style=flat-square)](https://app.wercker.com/project/byKey/fc8e75793b3cf12852314d6bfd83d148) [![Codacy Badge](https://img.shields.io/codacy/grade/1d0217a3153c4595bdedb322263e55c8/master.svg?style=flat-square)](https://www.codacy.com/app/Requarks/wiki) -[![Dependency Status](https://img.shields.io/gemnasium/Requarks/wiki.svg?style=flat-square)](https://gemnasium.com/github.com/Requarks/wiki) [![Standard - JavaScript Style Guide](https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat-square)](http://standardjs.com/) [![Chat on Gitter](https://img.shields.io/badge/chat-on_gitter-CC2B5E.svg?style=flat-square&logo=image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAOCAMAAADUg/YpAAAABlBMVEUAAAD///%2Bl2Z/dAAAAAXRSTlMAQObYZgAAABVJREFUeAFjwAUYYTQByAAh0WicAAAFnwAYeB5bLwAAAABJRU5ErkJggg==)](https://gitter.im/Requarks/wiki) [![Twitter Follow](https://img.shields.io/badge/follow-%40requarks-blue.svg?style=flat-square)](https://twitter.com/requarks) From 516220bddaee6723ad8ff81084114d8990aaaa2b Mon Sep 17 00:00:00 2001 From: NGPixel Date: Mon, 9 Oct 2017 21:43:43 -0400 Subject: [PATCH 39/56] feat: delete a page --- client/js/app.js | 2 + client/js/components/modal-delete-page.vue | 66 ++++++++++++++++++++ client/js/store/index.js | 2 + client/js/store/modules/modal-delete-page.js | 14 +++++ client/scss/components/nav.scss | 6 +- server/controllers/pages.js | 25 ++++++++ server/libs/entries.js | 26 ++++++++ server/libs/git.js | 23 +++++++ server/locales/en/browser.json | 4 +- server/views/pages/view.pug | 3 + yarn.lock | 2 +- 11 files changed, 170 insertions(+), 3 deletions(-) create mode 100644 client/js/components/modal-delete-page.vue create mode 100644 client/js/store/modules/modal-delete-page.js diff --git a/client/js/app.js b/client/js/app.js index 7c4b5899..9a9c3b1b 100644 --- a/client/js/app.js +++ b/client/js/app.js @@ -38,6 +38,7 @@ import historyComponent from './components/history.vue' import loadingSpinnerComponent from './components/loading-spinner.vue' import modalCreatePageComponent from './components/modal-create-page.vue' import modalCreateUserComponent from './components/modal-create-user.vue' +import modalDeletePageComponent from './components/modal-delete-page.vue' import modalDeleteUserComponent from './components/modal-delete-user.vue' import modalDiscardPageComponent from './components/modal-discard-page.vue' import modalMovePageComponent from './components/modal-move-page.vue' @@ -86,6 +87,7 @@ Vue.component('history', historyComponent) Vue.component('loadingSpinner', loadingSpinnerComponent) Vue.component('modalCreatePage', modalCreatePageComponent) Vue.component('modalCreateUser', modalCreateUserComponent) +Vue.component('modalDeletePage', modalDeletePageComponent) Vue.component('modalDeleteUser', modalDeleteUserComponent) Vue.component('modalDiscardPage', modalDiscardPageComponent) Vue.component('modalMovePage', modalMovePageComponent) diff --git a/client/js/components/modal-delete-page.vue b/client/js/components/modal-delete-page.vue new file mode 100644 index 00000000..e188e794 --- /dev/null +++ b/client/js/components/modal-delete-page.vue @@ -0,0 +1,66 @@ + + + diff --git a/client/js/store/index.js b/client/js/store/index.js index cf151045..471c9d87 100644 --- a/client/js/store/index.js +++ b/client/js/store/index.js @@ -10,6 +10,7 @@ import editorVideo from './modules/editor-video' import modalCreatePage from './modules/modal-create-page' import modalCreateUser from './modules/modal-create-user' import modalDeleteUser from './modules/modal-delete-user' +import modalDeletePage from './modules/modal-delete-page' import modalDiscardPage from './modules/modal-discard-page' import modalMovePage from './modules/modal-move-page' import modalProfile2fa from './modules/modal-profile-2fa' @@ -39,6 +40,7 @@ export default new Vuex.Store({ editorVideo, modalCreatePage, modalCreateUser, + modalDeletePage, modalDeleteUser, modalDiscardPage, modalMovePage, diff --git a/client/js/store/modules/modal-delete-page.js b/client/js/store/modules/modal-delete-page.js new file mode 100644 index 00000000..7dc8d763 --- /dev/null +++ b/client/js/store/modules/modal-delete-page.js @@ -0,0 +1,14 @@ +export default { + namespaced: true, + state: { + shown: false + }, + getters: {}, + mutations: { + shownChange: (state, shownState) => { state.shown = shownState } + }, + actions: { + open({ commit }) { commit('shownChange', true) }, + close({ commit }) { commit('shownChange', false) } + } +} diff --git a/client/scss/components/nav.scss b/client/scss/components/nav.scss index c5a76ff3..0590ec37 100644 --- a/client/scss/components/nav.scss +++ b/client/scss/components/nav.scss @@ -173,7 +173,11 @@ &.is-outlined { background-color: mc($primary, '500'); color: mc($primary, '100'); - } + } + + &.is-icon-only i { + margin-right: 0; + } &:hover { background-color: mc($primary, '700'); diff --git a/server/controllers/pages.js b/server/controllers/pages.js index 951294e3..c974112c 100644 --- a/server/controllers/pages.js +++ b/server/controllers/pages.js @@ -288,4 +288,29 @@ router.put('/*', (req, res, next) => { }) }) +/** + * Delete document + */ +router.delete('/*', (req, res, next) => { + if (!res.locals.rights.write) { + return res.json({ + ok: false, + error: lang.t('errors:forbidden') + }) + } + + let safePath = entryHelper.parsePath(req.path) + + entries.remove(safePath, req.user).then(() => { + res.json({ + ok: true + }) + }).catch((err) => { + res.json({ + ok: false, + error: err.message + }) + }) +}) + module.exports = router diff --git a/server/libs/entries.js b/server/libs/entries.js index a5e7b830..af6f1104 100644 --- a/server/libs/entries.js +++ b/server/libs/entries.js @@ -388,6 +388,32 @@ module.exports = { }) }, + /** + * Delete a document + * + * @param {String} entryPath The current entry path + * @param {Object} author The author user object + * @return {Promise} Promise of the operation + */ + remove(entryPath, author) { + if (_.isEmpty(entryPath) || entryPath === 'home') { + return Promise.reject(new Error(lang.t('errors:invalidpath'))) + } + + return git.deleteDocument(entryPath, author).then(() => { + // Delete old cache version + + let oldEntryCachePath = entryHelper.getCachePath(entryPath) + fs.unlinkAsync(oldEntryCachePath).catch((err) => { return true }) // eslint-disable-line handle-callback-err + + // Delete old index entry + search.delete(entryPath) + + // Delete entry + return db.Entry.deleteOne({ _id: entryPath }) + }) + }, + /** * Generate a starter page content based on the entry path * diff --git a/server/libs/git.js b/server/libs/git.js index 805acb55..7787f37a 100644 --- a/server/libs/git.js +++ b/server/libs/git.js @@ -245,6 +245,29 @@ module.exports = { }) }, + /** + * Delete a document. + * + * @param {String} entryPath The entry path + * @return {Promise} Resolve on success + */ + deleteDocument(entryPath, author) { + let self = this + let gitFilePath = entryPath + '.md' + + return this._git.exec('rm', [gitFilePath]).then((cProc) => { + let out = cProc.stdout.toString() + if (_.includes(out, 'fatal')) { + let errorMsg = _.capitalize(_.head(_.split(_.replace(out, 'fatal: ', ''), ','))) + throw new Error(errorMsg) + } + let commitUsr = securityHelper.sanitizeCommitUser(author) + return self._git.exec('commit', ['-m', lang.t('git:deleted', { path: gitFilePath }), '--author="' + commitUsr.name + ' <' + commitUsr.email + '>"']).catch((err) => { + if (_.includes(err.stdout, 'nothing to commit')) { return true } + }) + }) + }, + /** * Commits uploads changes. * diff --git a/server/locales/en/browser.json b/server/locales/en/browser.json index 9d4e4f93..651fbd5f 100644 --- a/server/locales/en/browser.json +++ b/server/locales/en/browser.json @@ -77,6 +77,8 @@ "delete": "Delete", "deletefiletitle": "Delete?", "deletefilewarn": "Are you sure you want to delete", + "deletepagewarning": "Are you sure you want to delete this page? This action cannot be undone!", + "deletepagetitle": "Delete this page?", "deleteusertitle": "Delete User Account?", "deleteuserwarning": "Are you sure you want to delete this user account? This action cannot be undone!", "discard": "Discard", @@ -113,4 +115,4 @@ "placeholder": "Search...", "results": "Search Results" } -} \ No newline at end of file +} diff --git a/server/views/pages/view.pug b/server/views/pages/view.pug index 773f0b66..76462c38 100644 --- a/server/views/pages/view.pug +++ b/server/views/pages/view.pug @@ -12,6 +12,8 @@ block rootNavRight loading-spinner .nav-item if rights.write && pageData.meta.path !== 'home' + a.button.is-outlined.is-icon-only(@click='$store.dispatch("modalDeletePage/open")') + i.nc-icon-outline.ui-1_trash a.button.is-outlined(v-on:click='$store.dispatch("modalMovePage/open")') i.nc-icon-outline.arrows-1_shuffle-98 span= t('nav.move') @@ -83,4 +85,5 @@ block content modal-create-page(basepath=pageData.meta.path) modal-move-page(current-path=pageData.meta.path) + modal-delete-page(current-path=pageData.meta.path) anchor diff --git a/yarn.lock b/yarn.lock index 5c7a6749..65a2b572 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5137,7 +5137,7 @@ onetime@^2.0.0: dependencies: mimic-fn "^1.0.0" -opencollective@^1.0.3: +opencollective@^1.0.3, opencollective@~1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/opencollective/-/opencollective-1.0.3.tgz#aee6372bc28144583690c3ca8daecfc120dd0ef1" dependencies: From 7b9e83ebdcecdc19e2b9f667cad02e22f8470161 Mon Sep 17 00:00:00 2001 From: Nicolas Giard Date: Mon, 9 Oct 2017 21:49:44 -0400 Subject: [PATCH 40/56] docs: updated stable release [ci skip] --- README.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index a2d68643..1ccd03e9 100644 --- a/README.md +++ b/README.md @@ -58,14 +58,12 @@ You can also use a Dockerfile ([see example](https://github.com/Requarks/wiki/bl Current and upcoming milestones *(major features only, see the [changelog](https://github.com/Requarks/wiki/blob/master/CHANGELOG.md) for complete list of features and bug fixes)*: -### 1.0.9 - Stable +### 1.0.10 - Stable ![Progress](http://progressed.io/bar/100) **Note**: As 2.0 is under development, no new features are being developed in the 1.0 branch. -- [x] Persian (farsi) locale is now available (thanks to @ashkang) -- [x] Added support for right-to-left languages -- [x] Fix: Browser locale files not generated properly (ported from dev branch) +- [x] Delete a page from the UI ### 2.0.0 - Dev ![Progress](http://progressed.io/bar/35) From c47cd78f6a1c8e993a4f8443515365ece8478d82 Mon Sep 17 00:00:00 2001 From: Nicolas Giard Date: Mon, 9 Oct 2017 21:51:41 -0400 Subject: [PATCH 41/56] docs: updated changelog [ci skip] --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f528f3d5..b9c534f2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,10 @@ All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org/). +## [v1.0.10] - 2017-10-09 +### Added +- **Misc**: Ability to delete pages from the UI + ## [v1.0.9] - 2017-09-14 ### Added - **Localization**: Persian (farsi) locale is now available (thanks to @ashkang) @@ -225,6 +229,7 @@ This project adheres to [Semantic Versioning](http://semver.org/). ### Changed - Updated dependencies + snyk policy +[v1.0.10]: https://github.com/Requarks/wiki/releases/tag/v1.0.10 [v1.0.9]: https://github.com/Requarks/wiki/releases/tag/v1.0.9 [v1.0.8]: https://github.com/Requarks/wiki/releases/tag/v1.0.8 [v1.0.7]: https://github.com/Requarks/wiki/releases/tag/v1.0.7 From 0b893da414c2c63a3d46dfcb4c3c360fc446f576 Mon Sep 17 00:00:00 2001 From: Nicolas Giard Date: Sat, 14 Oct 2017 14:44:40 -0400 Subject: [PATCH 42/56] docs: updated latest release --- README.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 1ccd03e9..561fe06b 100644 --- a/README.md +++ b/README.md @@ -58,12 +58,14 @@ You can also use a Dockerfile ([see example](https://github.com/Requarks/wiki/bl Current and upcoming milestones *(major features only, see the [changelog](https://github.com/Requarks/wiki/blob/master/CHANGELOG.md) for complete list of features and bug fixes)*: -### 1.0.10 - Stable +### 1.0.11 - Stable ![Progress](http://progressed.io/bar/100) **Note**: As 2.0 is under development, no new features are being developed in the 1.0 branch. -- [x] Delete a page from the UI +- [x] Japanese localization +- [x] Fix for name search when using OpenLDAP +- [x] Added referrer policy header ### 2.0.0 - Dev ![Progress](http://progressed.io/bar/35) @@ -129,6 +131,7 @@ We are looking for translators to make Wiki.js available in multiple languages. - [x] Dutch - *Thanks to [@weirdwater](https://github.com/weirdwater)* - [x] French - [x] German - *Thanks to [@joetjengerdes](https://github.com/joetjengerdes)* +- [x] Japanese - *Thanks to [@johnnyshields](https://github.com/johnnyshields)* - [x] Korean - *Thanks to [@junwonpk](https://github.com/junwonpk)* - [x] Persian - *Thanks to [@ashkang](https://github.com/ashkang)* - [x] Portuguese - *Thanks to [@felipeplets](https://github.com/felipeplets)* From 3371651990b4ad7ee839de77832069075be2a0f8 Mon Sep 17 00:00:00 2001 From: Nicolas Giard Date: Sat, 14 Oct 2017 14:47:26 -0400 Subject: [PATCH 43/56] docs: updated changelog --- CHANGELOG.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b9c534f2..9ce5886c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,14 @@ All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org/). +## [v1.0.11] - 2017-10-14 +### Added +- **Localization**: Japanese locale is now available (thanks to @johnnyshields) +- **Misc**: Added referrer policy header + +## Fixed +- **Authentication**: Fix for name search when using OpenLDAP + ## [v1.0.10] - 2017-10-09 ### Added - **Misc**: Ability to delete pages from the UI From 1266e1f02bd446faf0f67669064b01e8ba5a180b Mon Sep 17 00:00:00 2001 From: Alexander Gebhard <20429006+fr0zenbits@users.noreply.github.com> Date: Thu, 12 Oct 2017 22:24:48 -0500 Subject: [PATCH 44/56] Added Referrer Policy --- server/middlewares/security.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/server/middlewares/security.js b/server/middlewares/security.js index 4a04056c..934fb38e 100644 --- a/server/middlewares/security.js +++ b/server/middlewares/security.js @@ -25,6 +25,9 @@ module.exports = function (req, res, next) { // -> Disable IE Compatibility Mode res.set('X-UA-Compatible', 'IE=edge') + + // -> Disables referrer header when navigating to a different origin + res.set('Referrer-Policy', 'same-origin') return next() } From f0722cfddf1c5bb6e993f194d432680fa6f6fd4c Mon Sep 17 00:00:00 2001 From: Nicolas Giard Date: Sat, 14 Oct 2017 14:32:57 -0400 Subject: [PATCH 45/56] fix: eslint error --- server/middlewares/security.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/middlewares/security.js b/server/middlewares/security.js index 934fb38e..3590cff4 100644 --- a/server/middlewares/security.js +++ b/server/middlewares/security.js @@ -25,7 +25,7 @@ module.exports = function (req, res, next) { // -> Disable IE Compatibility Mode res.set('X-UA-Compatible', 'IE=edge') - + // -> Disables referrer header when navigating to a different origin res.set('Referrer-Policy', 'same-origin') From 989a6de51a09e532fbdfec011e77c5018b1320be Mon Sep 17 00:00:00 2001 From: Johnny Shields Date: Sat, 14 Oct 2017 22:12:48 +0900 Subject: [PATCH 46/56] Japanese WIP --- server/locales/ja/admin.json | 82 +++++++++++++++++++++++ server/locales/ja/auth.json | 32 +++++++++ server/locales/ja/browser.json | 118 +++++++++++++++++++++++++++++++++ server/locales/ja/common.json | 51 ++++++++++++++ server/locales/ja/errors.json | 30 +++++++++ server/locales/ja/git.json | 6 ++ 6 files changed, 319 insertions(+) create mode 100644 server/locales/ja/admin.json create mode 100644 server/locales/ja/auth.json create mode 100644 server/locales/ja/browser.json create mode 100644 server/locales/ja/common.json create mode 100644 server/locales/ja/errors.json create mode 100644 server/locales/ja/git.json diff --git a/server/locales/ja/admin.json b/server/locales/ja/admin.json new file mode 100644 index 00000000..27a76adf --- /dev/null +++ b/server/locales/ja/admin.json @@ -0,0 +1,82 @@ +{ + "profile": { + "displayname": "表示する名前", + "displaynameexample": "山田 太郎", + "email": "Eメール", + "lastprofileupdate": "最後のプロファイル更新", + "membersince": "アカウント登録日", + "password": "パスポート", + "passwordverify": "パスポートの確認", + "provider": "プロバイダ", + "savechanges": "保存する", + "subtitle": "プロファイルと認証情報", + "tfa": "二段認証", + "tfadisable": "二段認証を無効にする", + "tfadisabled": "無効済み", + "tfaenable": "二段認証を有効にする", + "tfaenabled": "有効済み" + }, + "stats": { + "subtitle": "一般的なサイト統計", + "entries": "記事", + "uploads": "アップロード", + "users": "ユーザー" + }, + "setings": { + "subtitle": "サイト設定を管理する" + }, + "system": { + "subtitle": "Wikiの情報とユーティリティ", + "systemversion": "システムバージョン", + "currentversion": "現在のバージョン", + "latestversion": "最新バージョン", + "upgrade": "アップグレード", + "reinstall": "現在のバージョンを再インストールする", + "versioncheckfailed": "最新バージョンを照会できません。後で再試行してください。", + "administrativetools": "管理ツール", + "flushcache": "キャッシュをフラッシュしてインデックスを再構築する", + "flushcachetext": "コンテンツや検索結果の期限が滞っているか、最新のコンテンツがない場合は、キャッシュをフラッシュするとこれらの問題を解決できます。", + "flushcachebtn": "フラッシュと再構築する", + "resetaccounts": "システムアカウントをデフォルトにリセットする", + "resetaccountstext": "システムアカウント(ゲストアカウントなど)はデフォルト設定にリセットされます。", + "resetaccountsbtn": "システムアカウントをリセットする", + "flushsessions": "全てのユーザーセッションをフラッシュする", + "flushsessionstext": "全てのユーザーがログアウトし、再度ログインする必要があります。現在のセッションにも影響があります!", + "flushsessionsbtn": "セッションをフラッシュする", + "hostinfo": "ホスト情報", + "os": "オペレーティングシステム", + "nodeversion": "Node.jsバージョン", + "hostname": "ホスト名", + "cores": "CPUコア", + "totalmem": "合計メモリ", + "cwd": "作業ディレクトリ" + }, + "theme": { + "subtitle": "Wikiのテーマを変更する", + "primarycolor": "原色", + "primarycolordesc": "トップナビゲーションバー、ヘッダー、リンクなどに使用されます", + "altcolor": "代替色", + "altcolordesc": "サイドバーに使用されます(暗い色調)", + "footercolor": "フッターの色", + "footercolordesc": "フッターに使用されます(明るい色調)", + "codeblock": { + "title": "コードブロック", + "dark": "暗いテーマを使用する", + "colorize": "コードを色分けする" + }, + "savechanges": "保存する", + "reset": "デフォルトに戻す" + }, + "users": { + "createauthorize": "ユーザーの作成・承認", + "subtitle": "ユーザーとアクセス権限の管理", + "name": "名前", + "email": "Eメール", + "provider": "プロバイダ", + "createdon": "作成日", + "updatedon": "変更日", + "returntousers": "ユーザー画面へ", + "edituser": "ユーザーの編集", + "uniqueid": "一意なID" + } +} diff --git a/server/locales/ja/auth.json b/server/locales/ja/auth.json new file mode 100644 index 00000000..eade4c28 --- /dev/null +++ b/server/locales/ja/auth.json @@ -0,0 +1,32 @@ +{ + "loginrequired": "ログインが必要です", + "loginusing": "ログイン...", + "loginusingalt": "又は...", + "fields": { + "emailuser": "Eメール又はユーザー名", + "password": "パスワード" + }, + "actions": { + "login": "ログイン" + }, + "errors": { + "invalidlogin": "不正なログイン", + "invalidloginmsg": "Eメール又はパスワードが無効です。", + "invaliduseremail": "無効なユーザーEメール", + "lognerror": "ログインエラー", + "notyetauthorized": "まだこのサイトにログインする権限がありません。", + "toomanyattempts": "試行回数が多すぎます", + "toomanyattemptsmsg": "短期間に失敗した試行回数が多すぎます。{{time}}にもう一度お試しください。", + "usernotfound": "ユーザーが見つかりません" + }, + "providers": { + "local": "ローカル", + "windowslive": "Microsoft Account", + "azure": "Azure Active Directory", + "google": "Google ID", + "facebook": "Facebook", + "github": "GitHub", + "slack": "Slack", + "ldap": "LDAP / Active Directory" + } +} diff --git a/server/locales/ja/browser.json b/server/locales/ja/browser.json new file mode 100644 index 00000000..d85706d0 --- /dev/null +++ b/server/locales/ja/browser.json @@ -0,0 +1,118 @@ +{ + "editor": { + "codeblockinsert": "Insert Code Block", + "codeblocklanguage": "Language", + "codeblockloading": "Loading code syntax for {{name}}", + "codeblockloadingerror": "Error: Unable to load language syntax.", + "codeblocksuccess": "Your code block has been inserted.", + "codeblocktitle": "Insert Code Block", + "discard": "Discard", + "filedeleteaction": "Delete", + "filedeleteloading": "Deleting file...", + "filedeletedefault": "this file", + "filedeletesuccess": "File deleted successfully.", + "fileerror": "Unable to fetch updated listing.", + "filefolderempty": "This folder is empty.", + "fileinsert": "Insert Link to File", + "fileloading": "Fetching files...", + "filemoveaction": "Move to...", + "filemoveerror": "Move error: {{err}}", + "filemoveloading": "Moving file...", + "filemovesuccess": "File moved successfully.", + "fileprocessing": "Processing...", + "filerenameaction": "Rename", + "filesuccess": "File link has been inserted.", + "filetitle": "Insert File", + "fileupload": "Upload File(s)", + "fileuploaderror": "Upload Error: {{err}}", + "fileuploadsuccess": "File(s) uploaded successfully.", + "folders": "Folders", + "foldersloading": "Fetching folders list...", + "imagetitle": "Insert Image", + "imageinsert": "Insert Image", + "imagesuccess": "Image has been inserted.", + "imageupload": "Upload Image(s)", + "imagealignleft": "Left (default)", + "imagealigncenter": "Centered", + "imagealignright": "Right", + "imagealignlogo": "Page Logo", + "newfolder": "New Folder", + "videoanymp4file": "Any standard MP4 file", + "videoinsert": "Insert Video", + "videolinktitle": "Enter the link to the video to be embedded:", + "videonotsupported": "This URL is invalid or not supported!", + "videosuccess": "The video code has been inserted.", + "videosupportedtitle": "The following are supported:", + "videotitle": "Insert Video" + }, + "history": { + "pastversions": "Past Versions", + "timestamp": "Timestamp", + "author": "Author", + "commit": "Commit", + "comparewith": "Compare With...", + "view": "View", + "reverttoversion": "Revert to Version", + "sidebyside": "Side-by-side View" + }, + "modal": { + "abort": "Abort", + "anchorerror": "Clipboard copy failed. Copy the URL manually.", + "anchorsuccess": "The URL has been copied to your clipboard.", + "anchortitle": "Copy link to this section", + "copyclipboard": "Copy to Clipboard", + "create": "Create", + "createpageinvalid": "This page path is invalid!", + "createpagepath": "Enter the new page path:", + "createpagetitle": "Create New Page", + "createuser": "Create User", + "createuserauthorize": "Authorize User", + "createuseremail": "Email address:", + "createuseremailplaceholder": "e.g. john.doe@company.com", + "createusername": "Full Name:", + "createusernameplaceholder": "e.g. John Doe", + "createuserpassword": "Password:", + "createuserprovider": "Provider:", + "createusertitle": "Create / Authorize User", + "delete": "削除", + "deletefiletitle": "を削除する?", + "deletefilewarn": "本当に削除しますか?", + "deletepagewarning": "Are you sure you want to delete this page? This action cannot be undone!", + "deletepagetitle": "Delete this page?", + "deleteusertitle": "Delete User Account?", + "deleteuserwarning": "Are you sure you want to delete this user account? This action cannot be undone!", + "discard": "Discard", + "discardpagecreate": "Are you sure you want to leave this page and lose anything you wrote so far?", + "discardpageedit": "Are you sure you want to leave this page and lose any modifications?", + "discardpagestay": "Stay on page", + "discardpagetitle": "Discard?", + "move": "Move", + "movepageinvalid": "This page path is invalid or not allowed!", + "movepagepath": "Enter the new page path:", + "movepageplaceholder": "page-name", + "movepagetitle": "Move Page", + "movepagewarning": "Note that moving or renaming pages can lead to broken links. Make sure to edit any page that links to this page afterwards!", + "newfolderinvalid": "This folder name is invalid!", + "newfolderloading": "Creating new folder...", + "newfoldername": "Enter the new folder name:", + "newfoldernameplaceholder": "folder name", + "newfoldersuccess": "New folder {{name}} created.", + "newfoldertitle": "New Folder", + "renamefile": "Rename", + "renamefileerror": "Rename error: {{err}}", + "renamefileinvalid": "This filename is invalid!", + "renamefileloading": "Renaming file...", + "renamefilename": "Enter the new filename (without the extension) of the file:", + "renamefilenameplaceholder": "filename", + "renamefiletitle": "Rename File" + }, + "nav": { + "home": "ホーム" + }, + "search": { + "didyoumean": "Did you mean...?", + "nomatch": "No results matching your query", + "placeholder": "Search...", + "results": "Search Results" + } +} diff --git a/server/locales/ja/common.json b/server/locales/ja/common.json new file mode 100644 index 00000000..0944ce42 --- /dev/null +++ b/server/locales/ja/common.json @@ -0,0 +1,51 @@ +{ + "wiki": "Wiki", + "header": { + "overview": "概要", + "createdoc": "記事を作成する" + }, + "footer": { + "poweredby": "Powered by", + "home": "ホーム", + "top": "トップ" + }, + "sidebar": { + "nav": "ナビ", + "navigation": "ナビゲーション", + "pagecontents": "ページの内容", + "pastversions": "履歴" + }, + "nav": { + "account": "アカウント", + "allpages": "全ての記事", + "create": "作成", + "discard": "キャンセル", + "edit": "編集", + "history": "履歴", + "login": "ログイン", + "logout": "ログアウト", + "move": "移動", + "myprofile": "マイページ", + "normalview": "普通の画面", + "root": "ホーム", + "savechanges": "保存する", + "savedocument": "記事を保存する", + "settings": "設定", + "source": "ソースコード", + "stats": "統計", + "sysinfo": "システム内容", + "syssettings": "システム設定", + "theme": "カラーテーマ", + "users": "ユーザー", + "viewlatest": "最新を見る" + }, + "welcome": { + "title": "Wikiへよこそ!", + "subtitle": "ます、ホームページを作りましょう。", + "createhome": "ホームページの作成" + }, + "loading": { + "source": "ソースコードをロード中...", + "editor": "編集画面をロード中..." + } +} diff --git a/server/locales/ja/errors.json b/server/locales/ja/errors.json new file mode 100644 index 00000000..4ad60a3b --- /dev/null +++ b/server/locales/ja/errors.json @@ -0,0 +1,30 @@ +{ + "alreadyexists": "この記事は既に存在します", + "debugmsg": "詳細なデバッグトレイル", + "fileexists": "ファイル{{path}}は既に存在します。", + "forbidden": "禁じられました", + "forbiddendetail": "このページにアクセスするために必要な権限がありません。", + "generic": "エラーが発生しました", + "invalidaction": "無効なアクション.", + "invaliddestfolder": "無効なデスティネーションフォルダ", + "invalidfiletype": "無効なファイルタイプ", + "invalidfolder": "無効なフォルダ.", + "invalidoperation": "無効な操作", + "invalidpath": "無効なページパス", + "invaliduserid": "無効なユーザーID", + "newpasswordtooshort": "新しいパスワードが短すぎます", + "notexist": "記事{{path}}は存在しません", + "notexistdetail": "この記事を作成しますか?", + "parentinvalid": "親エントリは有効なファイルではありません。", + "parentisroot": "親エントリはトップです。", + "remotetoolarge": "モートファイルが大きすぎます", + "reservedname": "システムによって予約されているので、この名物名称で記事を作成することはできません。", + "savefailed": "記事の保存は失敗しました", + "starterfailed": "スターターコンテンツを読み込めませんでした", + "unauthorized": "無許可", + "actions": { + "create": "作成", + "gohome": "ホームへ", + "loginas": "ログイン..." + } +} diff --git a/server/locales/ja/git.json b/server/locales/ja/git.json new file mode 100644 index 00000000..b845cc13 --- /dev/null +++ b/server/locales/ja/git.json @@ -0,0 +1,6 @@ +{ + "added": "{{path}}を追加しました", + "deleted": "{{path}}を削除又は名称を変更する", + "updated": "{{path}}を変更しました", + "uploaded": "{{path}}をアップロード" +} From 5508f942d2dfeefc710924d162be550e78cad26a Mon Sep 17 00:00:00 2001 From: Johnny Shields Date: Sat, 14 Oct 2017 22:48:11 +0900 Subject: [PATCH 47/56] Finish Japanese translation --- server/locales/ja/browser.json | 201 ++++++++++++++++----------------- 1 file changed, 100 insertions(+), 101 deletions(-) diff --git a/server/locales/ja/browser.json b/server/locales/ja/browser.json index d85706d0..3c0822ec 100644 --- a/server/locales/ja/browser.json +++ b/server/locales/ja/browser.json @@ -1,118 +1,117 @@ { "editor": { - "codeblockinsert": "Insert Code Block", - "codeblocklanguage": "Language", - "codeblockloading": "Loading code syntax for {{name}}", - "codeblockloadingerror": "Error: Unable to load language syntax.", - "codeblocksuccess": "Your code block has been inserted.", - "codeblocktitle": "Insert Code Block", - "discard": "Discard", - "filedeleteaction": "Delete", - "filedeleteloading": "Deleting file...", - "filedeletedefault": "this file", - "filedeletesuccess": "File deleted successfully.", - "fileerror": "Unable to fetch updated listing.", - "filefolderempty": "This folder is empty.", - "fileinsert": "Insert Link to File", - "fileloading": "Fetching files...", - "filemoveaction": "Move to...", - "filemoveerror": "Move error: {{err}}", - "filemoveloading": "Moving file...", - "filemovesuccess": "File moved successfully.", - "fileprocessing": "Processing...", - "filerenameaction": "Rename", - "filesuccess": "File link has been inserted.", - "filetitle": "Insert File", - "fileupload": "Upload File(s)", - "fileuploaderror": "Upload Error: {{err}}", - "fileuploadsuccess": "File(s) uploaded successfully.", - "folders": "Folders", - "foldersloading": "Fetching folders list...", - "imagetitle": "Insert Image", - "imageinsert": "Insert Image", - "imagesuccess": "Image has been inserted.", - "imageupload": "Upload Image(s)", - "imagealignleft": "Left (default)", - "imagealigncenter": "Centered", - "imagealignright": "Right", - "imagealignlogo": "Page Logo", - "newfolder": "New Folder", - "videoanymp4file": "Any standard MP4 file", - "videoinsert": "Insert Video", - "videolinktitle": "Enter the link to the video to be embedded:", - "videonotsupported": "This URL is invalid or not supported!", - "videosuccess": "The video code has been inserted.", - "videosupportedtitle": "The following are supported:", - "videotitle": "Insert Video" + "codeblockinsert": "コードブロックを挿入する", + "codeblocklanguage": "言語", + "codeblockloading": "{{name}}言語の構文を読み込み中", + "codeblockloadingerror": "エラー:言語の構文を読み込めません。", + "codeblocksuccess": "コードブロックが挿入されました。", + "codeblocktitle": "コードブロックを挿入する", + "discard": "キャンセル", + "filedeleteaction": "削除", + "filedeleteloading": "ファイルを削除中...", + "filedeletedefault": "このファイル", + "filedeletesuccess": "ファイルが削除されました。", + "fileerror": "更新されたリスティングを読み込むことはできませんでした。", + "filefolderempty": "このフォルダは空いています。", + "fileinsert": "ファイルのリンクを挿入する", + "fileloading": "ファイルを読み込み中...", + "filemoveaction": "移動...", + "filemoveerror": "移動エラー:{{err}}", + "filemoveloading": "ファイルを移動中...", + "filemovesuccess": "ファイルが移動されました。", + "fileprocessing": "処理中...", + "filerenameaction": "名称の変更", + "filesuccess": "ファイルリンクが挿入されました。", + "filetitle": "ファイルを挿入する", + "fileupload": "ファイルをアップロードする", + "fileuploaderror": "アップロードエラー:{{err}}", + "fileuploadsuccess": "ファイルがアップロードされました。", + "folders": "フォルダ", + "foldersloading": "フォルダリストを読み込み中...", + "imagetitle": "画像を挿入する", + "imageinsert": "画像を挿入する", + "imagesuccess": "画像が挿入されました。", + "imageupload": "画像をアップロードする", + "imagealignleft": "左(デフォルト)", + "imagealigncenter": "中", + "imagealignright": "右", + "imagealignlogo": "ページロゴ", + "newfolder": "新しいフォルダ", + "videoanymp4file": "標準MP4ファイル", + "videoinsert": "ビデオを挿入する", + "videolinktitle": "埋め込むビデオへのリンクを入力してください:", + "videonotsupported": "このURLは無効かサポートされていません。", + "videosuccess": "ビデオコードが挿入されました。", + "videosupportedtitle": "以下がサポートされています:", + "videotitle": "ビデオを挿入する" }, "history": { - "pastversions": "Past Versions", - "timestamp": "Timestamp", - "author": "Author", - "commit": "Commit", - "comparewith": "Compare With...", - "view": "View", - "reverttoversion": "Revert to Version", - "sidebyside": "Side-by-side View" + "pastversions": "過去のバージョン", + "timestamp": "タイムスタンプ", + "author": "著者", + "commit": "コミット", + "comparewith": "比べる...", + "view": "見る", + "reverttoversion": "バージョンに戻す", + "sidebyside": "サイドバイサイド画面" }, "modal": { - "abort": "Abort", - "anchorerror": "Clipboard copy failed. Copy the URL manually.", - "anchorsuccess": "The URL has been copied to your clipboard.", - "anchortitle": "Copy link to this section", - "copyclipboard": "Copy to Clipboard", - "create": "Create", - "createpageinvalid": "This page path is invalid!", - "createpagepath": "Enter the new page path:", - "createpagetitle": "Create New Page", - "createuser": "Create User", - "createuserauthorize": "Authorize User", - "createuseremail": "Email address:", - "createuseremailplaceholder": "e.g. john.doe@company.com", - "createusername": "Full Name:", - "createusernameplaceholder": "e.g. John Doe", - "createuserpassword": "Password:", - "createuserprovider": "Provider:", - "createusertitle": "Create / Authorize User", + "abort": "中止する", + "anchorerror": "クリップボードからのコピーが失敗しました。手動でURLをコピーしてください。", + "anchorsuccess": "URLがクリップボードにコピーされました。", + "anchortitle": "このセクションへのリンクをコピーする", + "copyclipboard": "クリップボードにコピーする", + "create": "作成", + "createpageinvalid": "ページパスは無効です。", + "createpagepath": "新しいページパスを入力してください:", + "createpagetitle": "新しいページを作成する", + "createuser": "ユーザーを作成する", + "createuserauthorize": "ユーザーを承認する", + "createuseremail": "Eメール:", + "createuseremailplaceholder": "例:taro.yamada@company.com", + "createusername": "名前:", + "createusernameplaceholder": "例:山田 太郎", + "createuserpassword": "パスポート:", + "createuserprovider": "プロバイダ:", + "createusertitle": "ユーザーを作成・承認する", "delete": "削除", "deletefiletitle": "を削除する?", "deletefilewarn": "本当に削除しますか?", - "deletepagewarning": "Are you sure you want to delete this page? This action cannot be undone!", - "deletepagetitle": "Delete this page?", - "deleteusertitle": "Delete User Account?", - "deleteuserwarning": "Are you sure you want to delete this user account? This action cannot be undone!", - "discard": "Discard", - "discardpagecreate": "Are you sure you want to leave this page and lose anything you wrote so far?", - "discardpageedit": "Are you sure you want to leave this page and lose any modifications?", - "discardpagestay": "Stay on page", - "discardpagetitle": "Discard?", - "move": "Move", - "movepageinvalid": "This page path is invalid or not allowed!", - "movepagepath": "Enter the new page path:", + "deletepagewarning": "本当にこのページを削除しますか?この操作は元に戻すことはできません!", + "deletepagetitle": "このページを削除しますか?", + "deleteusertitle": "ユーザーアカウントの削除しますか?", + "deleteuserwarning": "本当にこのユーザーアカウントを削除しますか?この操作は元に戻すことはできません!", + "discard": "キャンセル", + "discardpagecreate": "本当にこのページを離れますか?これまでの書いたものは失われます!", + "discardpageedit": "本当にこのページを離れますか?これまでの変更は失われます!", + "discardpagestay": "ページに留まる", + "discardpagetitle": "キャンセル?", + "move": "移動する", + "movepageinvalid": "このページパスは無効又は許可されていません。", + "movepagepath": "新しいページパスを入力してください:", "movepageplaceholder": "page-name", - "movepagetitle": "Move Page", - "movepagewarning": "Note that moving or renaming pages can lead to broken links. Make sure to edit any page that links to this page afterwards!", - "newfolderinvalid": "This folder name is invalid!", - "newfolderloading": "Creating new folder...", - "newfoldername": "Enter the new folder name:", - "newfoldernameplaceholder": "folder name", - "newfoldersuccess": "New folder {{name}} created.", - "newfoldertitle": "New Folder", - "renamefile": "Rename", - "renamefileerror": "Rename error: {{err}}", - "renamefileinvalid": "This filename is invalid!", - "renamefileloading": "Renaming file...", - "renamefilename": "Enter the new filename (without the extension) of the file:", - "renamefilenameplaceholder": "filename", - "renamefiletitle": "Rename File" + "movepagetitle": "ページを移動する", + "movepagewarning": "ページを移動又はページ名を変更する場合、リンクが壊れる可能性があります。その後、このページにリンクしているページは必ず編集してください。", + "newfolderloading": "新しいフォルダを作成中...", + "newfoldername": "新しいフォルダ名を入力してください:", + "newfoldernameplaceholder": "folder-name", + "newfoldersuccess": "新しいフォルダ{{name}}が作成されました。", + "newfoldertitle": "新しいフォルダ", + "renamefile": "ファイル名を変更する", + "renamefileerror": "ファイル名の変更エラー:{{err}}", + "renamefileinvalid": "ファイル名は無効です", + "renamefileloading": "ファイル名を変更中...", + "renamefilename": "新しいファイル名(拡張子なし)を入力してください:", + "renamefilenameplaceholder": "ファイル名", + "renamefiletitle": "ファイルの名前を変更する" }, "nav": { "home": "ホーム" }, "search": { - "didyoumean": "Did you mean...?", - "nomatch": "No results matching your query", - "placeholder": "Search...", - "results": "Search Results" + "didyoumean": "もしかして...?", + "nomatch": "一致する結果はありません", + "placeholder": "検査...", + "results": "検査結果" } } From 4bedd45f58759f55bcb305959f39c9f7c49a8a6d Mon Sep 17 00:00:00 2001 From: Johnny Shields Date: Sat, 14 Oct 2017 22:55:40 +0900 Subject: [PATCH 48/56] Small change --- server/locales/ja/common.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/locales/ja/common.json b/server/locales/ja/common.json index 0944ce42..16349be6 100644 --- a/server/locales/ja/common.json +++ b/server/locales/ja/common.json @@ -35,7 +35,7 @@ "stats": "統計", "sysinfo": "システム内容", "syssettings": "システム設定", - "theme": "カラーテーマ", + "theme": "テーマ", "users": "ユーザー", "viewlatest": "最新を見る" }, From 96dda59fa0450fab5419b7833af19349253b8183 Mon Sep 17 00:00:00 2001 From: Eric Knibbe Date: Wed, 11 Oct 2017 14:20:03 -0400 Subject: [PATCH 49/56] also check "cn" attribute for display name LDAP queries to Open Directory on macOS Server don't include a "displayName" attribute, but the first name + surname combo is available in the "cn" attribute. --- server/models/user.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/models/user.js b/server/models/user.js index be3ab360..18b2e429 100644 --- a/server/models/user.js +++ b/server/models/user.js @@ -71,7 +71,7 @@ userSchema.statics.processProfile = (profile) => { email: primaryEmail, provider: profile.provider, providerId: profile.id, - name: profile.displayName || _.split(primaryEmail, '@')[0] + name: profile.displayName || profile.cn || _.split(primaryEmail, '@')[0] }, { new: true }).then((user) => { From 4db1c443d51c805c2dd8bade37e14f8c1d411afd Mon Sep 17 00:00:00 2001 From: Nicolas Giard Date: Sat, 14 Oct 2017 14:41:25 -0400 Subject: [PATCH 50/56] docs: updated version number --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index d553c9d2..296cf549 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "wiki", - "version": "1.0.9", + "version": "1.0.11", "description": "A modern, lightweight and powerful wiki app built on NodeJS, Git and Markdown", "main": "wiki.js", "scripts": { @@ -180,4 +180,4 @@ "url": "https://opencollective.com/wikijs", "logo": "https://opencollective.com/opencollective/logo.txt" } -} \ No newline at end of file +} From ae82e2e9d091130a2e09a9e5bd34d9d5029dab22 Mon Sep 17 00:00:00 2001 From: Nicolas Giard Date: Sat, 14 Oct 2017 14:59:18 -0400 Subject: [PATCH 51/56] feat: added japanese choice --- server/app/data.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/server/app/data.yml b/server/app/data.yml index c994a6bd..17c1e685 100644 --- a/server/app/data.yml +++ b/server/app/data.yml @@ -102,6 +102,9 @@ langs: - id: de name: German - Deutsch + - + id: ja + name: Japanese - 日本語 - id: ko name: Korean - 한국어 From ea0d2ff98686fbbe91fb25084837b0475523b6cc Mon Sep 17 00:00:00 2001 From: Nicolas Giard Date: Sat, 14 Oct 2017 14:59:58 -0400 Subject: [PATCH 52/56] feat: added japanese to lang list --- config.sample.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.sample.yml b/config.sample.yml index 3cb51966..2b96dac6 100644 --- a/config.sample.yml +++ b/config.sample.yml @@ -44,7 +44,7 @@ uploads: # --------------------------------------------------------------------- # Site Language # --------------------------------------------------------------------- -# Possible values: en, de, es, fa, fr, ko, nl, pt, ru, sr, tr or zh +# Possible values: en, de, es, fa, fr, ja, ko, nl, pt, ru, sr, tr or zh lang: en From 7b16a7ea6c3404a5fc81c1e864e4de76d1b5666d Mon Sep 17 00:00:00 2001 From: Nicolas Giard Date: Sat, 14 Oct 2017 15:03:49 -0400 Subject: [PATCH 53/56] docs: changelog link fix [ci skip] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9ce5886c..63458e51 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -237,6 +237,7 @@ This project adheres to [Semantic Versioning](http://semver.org/). ### Changed - Updated dependencies + snyk policy +[v1.0.11]: https://github.com/Requarks/wiki/releases/tag/v1.0.11 [v1.0.10]: https://github.com/Requarks/wiki/releases/tag/v1.0.10 [v1.0.9]: https://github.com/Requarks/wiki/releases/tag/v1.0.9 [v1.0.8]: https://github.com/Requarks/wiki/releases/tag/v1.0.8 From 35ef7fc6bb54fc3cc2f5fe99206b93497fe2d618 Mon Sep 17 00:00:00 2001 From: Nicolas Giard Date: Sat, 14 Oct 2017 15:32:48 -0400 Subject: [PATCH 54/56] docs: updated build badge ***NO_CI*** --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 561fe06b..a3c5eefc 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ [![Sponsors on Open Collective](https://opencollective.com/wikijs/sponsors/badge.svg)](#sponsors) [![npm](https://img.shields.io/badge/npm-wiki.js-blue.svg?style=flat-square)](https://www.npmjs.com/package/wiki.js) [![Downloads](https://img.shields.io/github/downloads/Requarks/wiki/total.svg?style=flat-square)](https://www.npmjs.com/package/wiki.js) -[![Build Status](https://app.wercker.com/status/fc8e75793b3cf12852314d6bfd83d148/s/master?style=flat-square)](https://app.wercker.com/project/byKey/fc8e75793b3cf12852314d6bfd83d148) +![Build Status](https://requarks.visualstudio.com/_apis/public/build/definitions/5850c090-02b9-4312-b4ce-0e1f5677b574/6/badge)] [![Codacy Badge](https://img.shields.io/codacy/grade/1d0217a3153c4595bdedb322263e55c8/master.svg?style=flat-square)](https://www.codacy.com/app/Requarks/wiki) [![Standard - JavaScript Style Guide](https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat-square)](http://standardjs.com/) [![Chat on Gitter](https://img.shields.io/badge/chat-on_gitter-CC2B5E.svg?style=flat-square&logo=image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAOCAMAAADUg/YpAAAABlBMVEUAAAD///%2Bl2Z/dAAAAAXRSTlMAQObYZgAAABVJREFUeAFjwAUYYTQByAAh0WicAAAFnwAYeB5bLwAAAABJRU5ErkJggg==)](https://gitter.im/Requarks/wiki) From 33d961cc3f8763ef2e62e1a5d4e6cdfacda6e0e4 Mon Sep 17 00:00:00 2001 From: Nicolas Giard Date: Sat, 14 Oct 2017 15:33:13 -0400 Subject: [PATCH 55/56] fix: build badge ***NO_CI*** --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a3c5eefc..15e9ae18 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ [![Sponsors on Open Collective](https://opencollective.com/wikijs/sponsors/badge.svg)](#sponsors) [![npm](https://img.shields.io/badge/npm-wiki.js-blue.svg?style=flat-square)](https://www.npmjs.com/package/wiki.js) [![Downloads](https://img.shields.io/github/downloads/Requarks/wiki/total.svg?style=flat-square)](https://www.npmjs.com/package/wiki.js) -![Build Status](https://requarks.visualstudio.com/_apis/public/build/definitions/5850c090-02b9-4312-b4ce-0e1f5677b574/6/badge)] +![Build Status](https://requarks.visualstudio.com/_apis/public/build/definitions/5850c090-02b9-4312-b4ce-0e1f5677b574/6/badge) [![Codacy Badge](https://img.shields.io/codacy/grade/1d0217a3153c4595bdedb322263e55c8/master.svg?style=flat-square)](https://www.codacy.com/app/Requarks/wiki) [![Standard - JavaScript Style Guide](https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat-square)](http://standardjs.com/) [![Chat on Gitter](https://img.shields.io/badge/chat-on_gitter-CC2B5E.svg?style=flat-square&logo=image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAOCAMAAADUg/YpAAAABlBMVEUAAAD///%2Bl2Z/dAAAAAXRSTlMAQObYZgAAABVJREFUeAFjwAUYYTQByAAh0WicAAAFnwAYeB5bLwAAAABJRU5ErkJggg==)](https://gitter.im/Requarks/wiki) From c2db365922652a999fd9706553882d5283d09bce Mon Sep 17 00:00:00 2001 From: NGPixel Date: Sat, 14 Oct 2017 23:56:51 -0400 Subject: [PATCH 56/56] refactor: Dockerfile for VSTS --- .gitignore | 3 +++ package.json | 8 ++++++ tools/build/Dockerfile | 15 +++++++++++ tools/build/supervisord.conf | 23 ++++++++++++++++ tools/semver_next.sh | 52 ------------------------------------ yarn.lock | 12 +++++++++ 6 files changed, 61 insertions(+), 52 deletions(-) create mode 100644 tools/build/Dockerfile create mode 100644 tools/build/supervisord.conf delete mode 100644 tools/semver_next.sh diff --git a/.gitignore b/.gitignore index 947bef18..148cd043 100644 --- a/.gitignore +++ b/.gitignore @@ -35,3 +35,6 @@ config.yml # IDE exclude .idea *.sublime-* + +# Test results +test-results/ diff --git a/package.json b/package.json index 296cf549..ef84b9e1 100644 --- a/package.json +++ b/package.json @@ -145,6 +145,7 @@ "fuse-box": "~2.2.2", "i18next-xhr-backend": "~1.4.2", "jest": "~20.0.4", + "jest-junit": "~3.1.0", "jquery": "~3.2.1", "jquery-contextmenu": "~2.5.0", "jquery-simple-upload": "~1.0.0", @@ -168,6 +169,7 @@ "vuex": "~2.4.0" }, "jest": { + "testResultsProcessor": "./node_modules/jest-junit", "collectCoverage": false, "testMatch": [ "**/test/**/*.js?(x)", @@ -175,6 +177,12 @@ ], "verbose": true }, + "jest-junit": { + "suiteName": "jest test", + "output": "./test-results/junit.xml", + "classNameTemplate": "{classname}-{title}", + "titleTemplate": "{classname}-{title}" + }, "collective": { "type": "opencollective", "url": "https://opencollective.com/wikijs", diff --git a/tools/build/Dockerfile b/tools/build/Dockerfile new file mode 100644 index 00000000..c3bf58be --- /dev/null +++ b/tools/build/Dockerfile @@ -0,0 +1,15 @@ +FROM node:8-alpine +LABEL maintainer="requarks.io" + +RUN apk update && \ + apk add bash curl git openssh supervisor --no-cache && \ + mkdir -p /var/wiki + +WORKDIR /var/wiki + +COPY supervisord.conf /etc/supervisord.conf +COPY . /var/wiki + +EXPOSE 3000 + +CMD ["supervisord", "--nodaemon", "-c", "/etc/supervisord.conf"] diff --git a/tools/build/supervisord.conf b/tools/build/supervisord.conf new file mode 100644 index 00000000..7ff97ef4 --- /dev/null +++ b/tools/build/supervisord.conf @@ -0,0 +1,23 @@ +[unix_http_server] +file=/var/run/supervisor.sock +chmod=0700 + +[supervisord] +logfile=/logs/supervisord.log +pidfile=/var/run/supervisord.pid +childlogdir=/logs + +[rpcinterface:supervisor] +supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface + +[supervisorctl] +serverurl=unix:///var/run/supervisor.sock + +[program:wikijs] +command = node server +autostart=true +autorestart=true +priority=5 +directory=/var/wiki +stdout_logfile=/logs/wiki-stdout.log +stderr_logfile=/logs/wiki-stderr.log diff --git a/tools/semver_next.sh b/tools/semver_next.sh deleted file mode 100644 index 1c39da9d..00000000 --- a/tools/semver_next.sh +++ /dev/null @@ -1,52 +0,0 @@ -#!/bin/bash - -# Increment a version string using Semantic Versioning (SemVer) terminology. - -# Parse command line options. - -while getopts ":Mmp" Option -do - case $Option in - M ) major=true;; - m ) minor=true;; - p ) patch=true;; - esac -done - -shift $(($OPTIND - 1)) - -version=$1 - -# Build array from version string. - -a=( ${version//./ } ) - -# If version string is missing or has the wrong number of members, show usage message. - -if [ ${#a[@]} -ne 3 ] -then - echo "usage: $(basename $0) [-Mmp] major.minor.patch" - exit 1 -fi - -# Increment version numbers as requested. - -if [ ! -z $major ] -then - ((a[0]++)) - a[1]=0 - a[2]=0 -fi - -if [ ! -z $minor ] -then - ((a[1]++)) - a[2]=0 -fi - -if [ ! -z $patch ] -then - ((a[2]++)) -fi - -echo "${a[0]}.${a[1]}.${a[2]}" diff --git a/yarn.lock b/yarn.lock index 65a2b572..e1e9f9f2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3753,6 +3753,14 @@ jest-jasmine2@^20.0.4: once "^1.4.0" p-map "^1.1.1" +jest-junit@~3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/jest-junit/-/jest-junit-3.1.0.tgz#3bd0b7a8bfd5b91f86376d44ff0f4c7f136f4287" + dependencies: + mkdirp "^0.5.1" + strip-ansi "^4.0.0" + xml "^1.0.1" + jest-matcher-utils@^20.0.3: version "20.0.3" resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-20.0.3.tgz#b3a6b8e37ca577803b0832a98b164f44b7815612" @@ -7516,6 +7524,10 @@ xml2js@^0.4.5: sax ">=0.6.0" xmlbuilder "^4.1.0" +xml@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/xml/-/xml-1.0.1.tgz#78ba72020029c5bc87b8a81a3cfcd74b4a2fc1e5" + xmlbuilder@^4.1.0: version "4.2.1" resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-4.2.1.tgz#aa58a3041a066f90eaa16c2f5389ff19f3f461a5"