From 9fe142335be19934d61d26bc46568f983c8d4c21 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=A5=9E=E5=A5=87=E8=BE=89?=
Date: Wed, 31 May 2017 11:03:22 +0800
Subject: [PATCH 01/33] =?UTF-8?q?Add=20=E9=81=97=E6=BC=8F=E7=9A=84=20gem?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
Gemfile | 2 ++
1 file changed, 2 insertions(+)
diff --git a/Gemfile b/Gemfile
index 66dff8d1..80ac417b 100644
--- a/Gemfile
+++ b/Gemfile
@@ -2,3 +2,5 @@ source 'https://rubygems.org'
gem 'github-pages'
gem 'sass'
+gem 'nokogiri'
+gem 'redcarpet'
From 54a2c502b70b9d16ab893078e1478037f84260f9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=A5=9E=E5=A5=87=E8=BE=89?=
Date: Wed, 31 May 2017 11:04:42 +0800
Subject: [PATCH 02/33] =?UTF-8?q?=E8=87=AA=E5=8A=A8=20package=20=E6=8E=92?=
=?UTF-8?q?=E5=BA=8F?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
package.json | 24 ++++++++++++------------
1 file changed, 12 insertions(+), 12 deletions(-)
diff --git a/package.json b/package.json
index bacfab55..789fda37 100644
--- a/package.json
+++ b/package.json
@@ -20,24 +20,24 @@
"dependencies": {
"jquery": "~2.1.4",
"simple-hotkeys": "~1.0.3",
- "simple-uploader": "~2.0.7",
- "simple-module": "~2.0.6"
+ "simple-module": "~2.0.6",
+ "simple-uploader": "~2.0.7"
},
"devDependencies": {
+ "express": "~3.3.4",
"grunt": "0.x",
- "grunt-contrib-sass": "0.x",
- "grunt-contrib-watch": "0.x",
+ "grunt-banner": "0.3.x",
+ "grunt-contrib-clean": "0.x",
"grunt-contrib-coffee": "0.x",
- "grunt-contrib-copy": "0.x",
- "grunt-contrib-uglify": "0.x",
"grunt-contrib-compress": "0.x",
- "grunt-contrib-clean": "0.x",
+ "grunt-contrib-copy": "0.x",
"grunt-contrib-jasmine": "0.x",
- "grunt-jekyll": "0.x",
- "grunt-umd": "2.3.x",
- "grunt-express": "1.4.0",
- "grunt-banner": "0.3.x",
+ "grunt-contrib-sass": "0.x",
+ "grunt-contrib-uglify": "0.x",
+ "grunt-contrib-watch": "0.x",
"grunt-curl": "2.1.x",
- "express": "~3.3.4"
+ "grunt-express": "1.4.0",
+ "grunt-jekyll": "0.x",
+ "grunt-umd": "2.3.x"
}
}
From 48ed8c3d62f164222a7a4a03e768276a183bceb4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=A5=9E=E5=A5=87=E8=BE=89?=
Date: Wed, 31 May 2017 11:04:49 +0800
Subject: [PATCH 03/33] add parallel
---
package.json | 1 +
1 file changed, 1 insertion(+)
diff --git a/package.json b/package.json
index 789fda37..5a9b5302 100644
--- a/package.json
+++ b/package.json
@@ -18,6 +18,7 @@
"main": "lib/simditor.js",
"homepage": "http://simditor.tower.im",
"dependencies": {
+ "grunt-parallel": "^0.5.1",
"jquery": "~2.1.4",
"simple-hotkeys": "~1.0.3",
"simple-module": "~2.0.6",
From 50516a0e992fdee1f448f8ceb0339b334d183f31 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=A5=9E=E5=A5=87=E8=BE=89?=
Date: Wed, 31 May 2017 13:55:23 +0800
Subject: [PATCH 04/33] Upload image callback func to img_path
---
src/buttons/image.coffee | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/buttons/image.coffee b/src/buttons/image.coffee
index 45e7780c..8a936add 100644
--- a/src/buttons/image.coffee
+++ b/src/buttons/image.coffee
@@ -187,6 +187,8 @@ class ImageButton extends Button
msg = result.msg || @_t('uploadFailed')
alert msg
img_path = @defaultImage
+ else if @editor.opts.upload.buildResultPath
+ img_path = @editor.opts.upload.buildResultPath(result)
else
img_path = result.file_path
From 80f034f20dfdb43a598260c6a6a6380281d70682 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=A5=9E=E5=A5=87=E8=BE=89?=
Date: Wed, 31 May 2017 13:55:33 +0800
Subject: [PATCH 05/33] =?UTF-8?q?=E5=9B=BE=E7=89=87=E4=B8=8D=E8=AE=BE?=
=?UTF-8?q?=E7=BD=AE=E9=AB=98=E5=BA=A6=E3=80=82?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/buttons/image.coffee | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/buttons/image.coffee b/src/buttons/image.coffee
index 8a936add..b3648560 100644
--- a/src/buttons/image.coffee
+++ b/src/buttons/image.coffee
@@ -282,7 +282,7 @@ class ImageButton extends Button
$img.attr
src: src,
width: width,
- height: height,
+ # height: height,
'data-image-size': width + ',' + height
.removeClass('loading')
From c419db1ebbe25122c55578b4b20c13991caaefa4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=A5=9E=E5=A5=87=E8=BE=89?=
Date: Wed, 31 May 2017 13:55:54 +0800
Subject: [PATCH 06/33] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=A8=A1=E6=9D=BF?=
=?UTF-8?q?=EF=BC=8C=E7=82=B9=E5=87=BB=E7=9A=84=E6=A8=A1=E6=9D=BF=E3=80=82?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/buttons/image.coffee | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/src/buttons/image.coffee b/src/buttons/image.coffee
index b3648560..55679481 100644
--- a/src/buttons/image.coffee
+++ b/src/buttons/image.coffee
@@ -360,10 +360,13 @@ class ImagePopover extends Popover
+
+
+
+
+
+
+
"""
@el.addClass('image-popover')
From 703642d6dba6d5020cd6be5081d3f2d9b2c43b1f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=A5=9E=E5=A5=87=E8=BE=89?=
Date: Wed, 31 May 2017 13:57:30 +0800
Subject: [PATCH 07/33] =?UTF-8?q?size=20=E9=80=89=E9=A1=B9change=E6=97=B6?=
=?UTF-8?q?=E5=80=99=E7=9B=B4=E6=8E=A5=E8=BF=9B=E8=A1=8Ccss=E4=BF=AE?=
=?UTF-8?q?=E6=94=B9=E3=80=82?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/buttons/image.coffee | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/src/buttons/image.coffee b/src/buttons/image.coffee
index 55679481..746875a8 100644
--- a/src/buttons/image.coffee
+++ b/src/buttons/image.coffee
@@ -397,6 +397,8 @@ class ImagePopover extends Popover
@widthEl = @el.find '#image-width'
@heightEl = @el.find '#image-height'
@altEl = @el.find '#image-alt'
+ @widthResponse = @el.find '#imageSize-response'
+ @widthOrigin = @el.find '#imageSize-origin'
@srcEl.on 'keydown', (e) =>
return unless e.which == 13 and !@target.hasClass('uploading')
@@ -412,6 +414,10 @@ class ImagePopover extends Popover
@_resizeImg $(e.currentTarget)
@el.data('popover').refresh()
+ @el.find('[name="imageSize"]').on 'change', (e) =>
+ @_resizeImg $(e.currentTarget)
+ @el.data('popover').refresh()
+
@el.find('.image-size').on 'keyup', (e) =>
inputEl = $(e.currentTarget)
unless e.which == 13 or e.which == 27 or e.which == 9
From 735c93781f4abcf0ccb959d8e600cf7344856c34 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=A5=9E=E5=A5=87=E8=BE=89?=
Date: Wed, 31 May 2017 14:03:46 +0800
Subject: [PATCH 08/33] _resizeImg fix
---
src/buttons/image.coffee | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/src/buttons/image.coffee b/src/buttons/image.coffee
index 746875a8..d109ad77 100644
--- a/src/buttons/image.coffee
+++ b/src/buttons/image.coffee
@@ -489,6 +489,7 @@ class ImagePopover extends Popover
createInput()
_resizeImg: (inputEl, onlySetVal = false) ->
+ ### 这是旧的
value = inputEl.val() * 1
return unless @target and ($.isNumeric(value) or value < 0)
@@ -506,6 +507,22 @@ class ImagePopover extends Popover
width: width
height: height
@editor.trigger 'valuechanged'
+ ###
+
+ value = inputEl.val()
+ return unless @target
+ if 'origin' is value
+ @target.css
+ width: 'auto'
+ @target.attr
+ width: 'auto'
+ else
+ @target.css
+ width: '100%'
+ @target.attr
+ width: '100%'
+ @editor.trigger 'valuechanged'
+ return
_restoreImg: ->
size = @target.data('image-size')?.split(",") || [@width, @height]
From 44ae3a71f1ab0e7d4b8ec9f889ef8eb1f6254859 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=A5=9E=E5=A5=87=E8=BE=89?=
Date: Wed, 31 May 2017 14:06:27 +0800
Subject: [PATCH 09/33] _restoreImg
---
src/buttons/image.coffee | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/src/buttons/image.coffee b/src/buttons/image.coffee
index d109ad77..67d0a973 100644
--- a/src/buttons/image.coffee
+++ b/src/buttons/image.coffee
@@ -525,6 +525,7 @@ class ImagePopover extends Popover
return
_restoreImg: ->
+ ### 这是旧的
size = @target.data('image-size')?.split(",") || [@width, @height]
@target.attr
width: size[0] * 1
@@ -533,6 +534,13 @@ class ImagePopover extends Popover
@heightEl.val(size[1])
@editor.trigger 'valuechanged'
+ ###
+
+ @target.attr
+ width: 'auto'
+ @target.css
+ width: 'auto'
+ @editor.trigger 'valuechanged'
_loadImage: (src, callback) ->
if /^data:image/.test(src) and not @editor.uploader
From 8291cf5424f0ca6e774f28cc3acbeeec58b38932 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=A5=9E=E5=A5=87=E8=BE=89?=
Date: Wed, 31 May 2017 14:08:10 +0800
Subject: [PATCH 10/33] _loadImage
---
src/buttons/image.coffee | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/src/buttons/image.coffee b/src/buttons/image.coffee
index 67d0a973..805c87fa 100644
--- a/src/buttons/image.coffee
+++ b/src/buttons/image.coffee
@@ -553,11 +553,15 @@ class ImagePopover extends Popover
return unless img
if @active
+ ### 这是旧的
@width = img.width
@height = img.height
@widthEl.val @width
@heightEl.val @height
+ ###
+ # 下面这行是新的
+ @widthResponse.attr('checked', true)
if /^data:image/.test(src)
blob = @editor.util.dataURLtoBlob src
From 6ba103c017146353c816690b57dd14db29f6adbd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=A5=9E=E5=A5=87=E8=BE=89?=
Date: Wed, 31 May 2017 14:11:49 +0800
Subject: [PATCH 11/33] =?UTF-8?q?Show=20=E5=87=BD=E6=95=B0=E4=BF=AE?=
=?UTF-8?q?=E6=94=B9=E3=80=82?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/buttons/image.coffee | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/src/buttons/image.coffee b/src/buttons/image.coffee
index 805c87fa..2074bfbe 100644
--- a/src/buttons/image.coffee
+++ b/src/buttons/image.coffee
@@ -574,6 +574,7 @@ class ImagePopover extends Popover
callback(img) if callback
+ # 旧的 show。会被覆盖。
show: (args...) ->
super args...
$img = @target
@@ -591,5 +592,23 @@ class ImagePopover extends Popover
@heightEl.val @height
@altEl.val @alt
+ # 新的的 show。
+ show: (args...) ->
+ super args...
+ $img = @target
+ @width = $img.attr('width') || $img.width()
+ @alt = $img.attr 'alt'
+ if $img.hasClass 'uploading'
+ @srcEl.val @_t('uploading')
+ .prop 'disabled', true
+ @widthResponse.attr('checked', true)
+ else
+ @srcEl.val $img.attr('src')
+ .prop 'disabled', false
+ if (''+ @width).endsWith('%')
+ @widthResponse.attr('checked', true)
+ else
+ @widthOrigin.attr('checked', true)
+
Simditor.Toolbar.addButton ImageButton
From 408d1041271497020a48d9288bf3314f4a90e0a0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=A5=9E=E5=A5=87=E8=BE=89?=
Date: Wed, 31 May 2017 14:13:22 +0800
Subject: [PATCH 12/33] =?UTF-8?q?src/i18n.coffee=20=E5=A2=9E=E5=8A=A0?=
=?UTF-8?q?=E5=9B=BE=E7=89=87=E5=A4=A7=E5=B0=8F=E7=9A=84=E8=AE=BE=E7=BD=AE?=
=?UTF-8?q?=E6=96=87=E6=A1=88=E3=80=82?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/i18n.coffee | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/src/i18n.coffee b/src/i18n.coffee
index 1161903f..f2208d36 100644
--- a/src/i18n.coffee
+++ b/src/i18n.coffee
@@ -10,10 +10,12 @@ Simditor.i18n =
'image': '插入图片'
'externalImage': '外链图片'
'uploadImage': '上传图片'
- 'uploadFailed': '上传失败了'
+ 'uploadFailed': '图片上传失败了'
'uploadError': '上传出错了'
'imageUrl': '图片地址'
'imageSize': '图片尺寸'
+ 'imageResponse': '自适应'
+ 'imageOrigin': '原图大小'
'imageAlt': '图片描述'
'restoreImageSize': '还原图片尺寸'
'uploading': '正在上传'
@@ -67,6 +69,8 @@ Simditor.i18n =
'uploadError': 'Error occurs during upload'
'imageUrl': 'Url'
'imageSize': 'Size'
+ 'imageResponse': 'Response'
+ 'imageOrigin': 'Origin'
'imageAlt': 'Alt'
'restoreImageSize': 'Restore Origin Size'
'uploading': 'Uploading'
From fa86a98c7b7f3d061033afe1ca2a504ffa036035 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=A5=9E=E5=A5=87=E8=BE=89?=
Date: Wed, 31 May 2017 14:13:57 +0800
Subject: [PATCH 13/33] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E5=9B=BE=E7=9A=84uploa?=
=?UTF-8?q?ding=E7=8A=B6=E6=80=81=EF=BC=8C=E4=BB=A5=E5=8F=8A=20label=20?=
=?UTF-8?q?=E5=BC=BA=E5=88=B6=E8=AE=BE=E7=BD=AEwidth=E8=A1=8C=E5=86=85?=
=?UTF-8?q?=E6=A0=B7=E5=BC=8F=E6=97=A0=E6=95=88=E7=9A=84=E6=A0=B7=E5=BC=8F?=
=?UTF-8?q?=E3=80=82?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
styles/editor.scss | 43 ++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 42 insertions(+), 1 deletion(-)
diff --git a/styles/editor.scss b/styles/editor.scss
index f713388e..8e439882 100644
--- a/styles/editor.scss
+++ b/styles/editor.scss
@@ -55,6 +55,7 @@ $simditor-button-width: 46px;
top: 0;
left: 0;
z-index: 2;
+ display: none!important;
.progress {
width: 100%;
@@ -111,7 +112,44 @@ $simditor-button-width: 46px;
img {
cursor: pointer;
-
+ &.uploading {
+ font-size: 0px;
+ padding-bottom: 4px;
+ background: repeating-linear-gradient(to right, #c6e8ef 0%, #3da0dc 50%, #c6e8ef 100%);
+ @keyframes SimditorImgUploadingAnimate {
+ 10% {
+ background: repeating-linear-gradient(to right, #c6e8ef 10%, #3da0dc 60%, #c6e8ef 110%);
+ }
+ 20% {
+ background: repeating-linear-gradient(to right, #c6e8ef 20%, #3da0dc 70%, #c6e8ef 120%);
+ }
+ 30% {
+ background: repeating-linear-gradient(to right, #c6e8ef 30%, #3da0dc 80%, #c6e8ef 130%);
+ }
+ 40% {
+ background: repeating-linear-gradient(to right, #c6e8ef 40%, #3da0dc 90%, #c6e8ef 140%);
+ }
+ 50% {
+ background: repeating-linear-gradient(to right, #c6e8ef 50%, #3da0dc 100%, #c6e8ef 150%);
+ }
+ 60% {
+ background: repeating-linear-gradient(to right, #c6e8ef 60%, #3da0dc 110%, #c6e8ef 160%);
+ }
+ 70% {
+ background: repeating-linear-gradient(to right, #c6e8ef 70%, #3da0dc 120%, #c6e8ef 170%);
+ }
+ 80% {
+ background: repeating-linear-gradient(to right, #c6e8ef 80%, #3da0dc 130%, #c6e8ef 180%);
+ }
+ 90% {
+ background: repeating-linear-gradient(to right, #c6e8ef 90%, #3da0dc 140%, #c6e8ef 190%);
+ }
+ 100% {
+ background: repeating-linear-gradient(to right, #c6e8ef 100%, #3da0dc 150%, #c6e8ef 200%);
+ }
+ }
+ animation: 1s SimditorImgUploadingAnimate ease infinite;
+ }
&.selected {
box-shadow: 0 0 0 4px #cccccc;
}
@@ -465,6 +503,9 @@ $simditor-button-width: 46px;
label {
display: inline-block;
margin: 0 5px 0 0;
+ &.auto {
+ width: auto!important;
+ }
}
input[type=text] {
From 96030c5e4f42d9c2557cd726b2534c3bac0a6441 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=A5=9E=E5=A5=87=E8=BE=89?=
Date: Wed, 31 May 2017 14:15:38 +0800
Subject: [PATCH 14/33] add img setting
---
site/index.html | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/site/index.html b/site/index.html
index 4af7ded5..a38d72ae 100644
--- a/site/index.html
+++ b/site/index.html
@@ -8,7 +8,9 @@
+
+Supported Browsers: IE10+、Chrome、Firefox、Safari.
- Download Zip
- Install with npm: $ npm install simditor
From 66a7b8a67e0efa7dfe438fb58057ed0ae310b84c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=A5=9E=E5=A5=87=E8=BE=89?=
Date: Wed, 31 May 2017 14:22:31 +0800
Subject: [PATCH 15/33] yarn lock
---
yarn.lock | 2368 +++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 2368 insertions(+)
create mode 100644 yarn.lock
diff --git a/yarn.lock b/yarn.lock
new file mode 100644
index 00000000..5aed8837
--- /dev/null
+++ b/yarn.lock
@@ -0,0 +1,2368 @@
+# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
+# yarn lockfile v1
+
+
+abbrev@1:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.0.tgz#d0554c2256636e2f56e7c2e5ad183f859428d81f"
+
+accepts@~1.2.12, accepts@~1.2.13:
+ version "1.2.13"
+ resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.2.13.tgz#e5f1f3928c6d95fd96558c36ec3d9d0de4a6ecea"
+ dependencies:
+ mime-types "~2.1.6"
+ negotiator "0.5.3"
+
+accepts@~1.3.0:
+ version "1.3.3"
+ resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.3.tgz#c3ca7434938648c3e0d9c1e328dd68b622c284ca"
+ dependencies:
+ mime-types "~2.1.11"
+ negotiator "0.6.1"
+
+align-text@^0.1.1, align-text@^0.1.3:
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117"
+ dependencies:
+ kind-of "^3.0.2"
+ longest "^1.0.1"
+ repeat-string "^1.5.2"
+
+alphabet@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/alphabet/-/alphabet-1.0.0.tgz#0d8f81ca3f78355126d724d145487e1e4ef377c0"
+
+amdefine@>=0.0.4:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5"
+
+annois@0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/annois/-/annois-0.3.0.tgz#05c5bc5900e8286817e88684b8e7e348a9e24344"
+
+annois@^0.3.2:
+ version "0.3.2"
+ resolved "https://registry.yarnpkg.com/annois/-/annois-0.3.2.tgz#6f6169ee374f84d0fd00db589c5b403db4f94b05"
+
+annotate@^0.9.1:
+ version "0.9.1"
+ resolved "https://registry.yarnpkg.com/annotate/-/annotate-0.9.1.tgz#38303e656844e4cc174760e3443b23bf65472bd3"
+ dependencies:
+ annois "0.3.0"
+
+annozip@^0.2.6:
+ version "0.2.6"
+ resolved "https://registry.yarnpkg.com/annozip/-/annozip-0.2.6.tgz#e18a2bc3e2871f061e0beca1c1d1a8cd0465099b"
+ dependencies:
+ annois "^0.3.2"
+ annotate "^0.9.1"
+
+ansi-regex@^0.2.0, ansi-regex@^0.2.1:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-0.2.1.tgz#0d8e946967a3d8143f93e24e298525fc1b2235f9"
+
+ansi-regex@^2.0.0:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
+
+ansi-styles@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-1.1.0.tgz#eaecbf66cd706882760b2f4691582b8f55d7a7de"
+
+ansi-styles@^2.2.1:
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
+
+archiver@^0.16.0:
+ version "0.16.0"
+ resolved "https://registry.yarnpkg.com/archiver/-/archiver-0.16.0.tgz#bb570346899d0865eb77ed66727ab3c634fc1a50"
+ dependencies:
+ async "~1.4.2"
+ buffer-crc32 "~0.2.1"
+ glob "~5.0.0"
+ lazystream "~0.1.0"
+ lodash "~3.10.0"
+ readable-stream "~1.0.26"
+ tar-stream "~1.2.1"
+ zip-stream "~0.6.0"
+
+"argparse@~ 0.1.11":
+ version "0.1.16"
+ resolved "https://registry.yarnpkg.com/argparse/-/argparse-0.1.16.tgz#cfd01e0fbba3d6caed049fbd758d40f65196f57c"
+ dependencies:
+ underscore "~1.7.0"
+ underscore.string "~2.4.0"
+
+array-find-index@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1"
+
+asn1@0.1.11:
+ version "0.1.11"
+ resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.1.11.tgz#559be18376d08a4ec4dbe80877d27818639b2df7"
+
+asn1@~0.2.3:
+ version "0.2.3"
+ resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86"
+
+assert-plus@1.0.0, assert-plus@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"
+
+assert-plus@^0.1.5:
+ version "0.1.5"
+ resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.1.5.tgz#ee74009413002d84cec7219c6ac811812e723160"
+
+assert-plus@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234"
+
+async@^0.9.0, async@~0.9.0:
+ version "0.9.2"
+ resolved "https://registry.yarnpkg.com/async/-/async-0.9.2.tgz#aea74d5e61c1f899613bf64bda66d4c78f2fd17d"
+
+async@^1.4.0, async@~1.4.2:
+ version "1.4.2"
+ resolved "https://registry.yarnpkg.com/async/-/async-1.4.2.tgz#6c9edcb11ced4f0dd2f2d40db0d49a109c088aab"
+
+async@^2.0.1:
+ version "2.4.1"
+ resolved "https://registry.yarnpkg.com/async/-/async-2.4.1.tgz#62a56b279c98a11d0987096a01cc3eeb8eb7bbd7"
+ dependencies:
+ lodash "^4.14.0"
+
+async@~0.1.22:
+ version "0.1.22"
+ resolved "https://registry.yarnpkg.com/async/-/async-0.1.22.tgz#0fc1aaa088a0e3ef0ebe2d8831bab0dcf8845061"
+
+async@~0.2.10, async@~0.2.6, async@~0.2.9:
+ version "0.2.10"
+ resolved "https://registry.yarnpkg.com/async/-/async-0.2.10.tgz#b6bbe0b0674b9d719708ca38de8c237cb526c3d1"
+
+aws-sign2@~0.5.0:
+ version "0.5.0"
+ resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.5.0.tgz#c57103f7a17fc037f02d7c2e64b602ea223f7d63"
+
+aws-sign2@~0.6.0:
+ version "0.6.0"
+ resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f"
+
+balanced-match@^0.4.1:
+ version "0.4.2"
+ resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838"
+
+base64-url@1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/base64-url/-/base64-url-1.2.1.tgz#199fd661702a0e7b7dcae6e0698bb089c52f6d78"
+
+basic-auth-connect@1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/basic-auth-connect/-/basic-auth-connect-1.0.0.tgz#fdb0b43962ca7b40456a7c2bb48fe173da2d2122"
+
+basic-auth@~1.0.3:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/basic-auth/-/basic-auth-1.0.4.tgz#030935b01de7c9b94a824b29f3fccb750d3a5290"
+
+batch@0.5.3:
+ version "0.5.3"
+ resolved "https://registry.yarnpkg.com/batch/-/batch-0.5.3.tgz#3f3414f380321743bfc1042f9a83ff1d5824d464"
+
+bcrypt-pbkdf@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d"
+ dependencies:
+ tweetnacl "^0.14.3"
+
+bl@^1.0.0:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/bl/-/bl-1.2.1.tgz#cac328f7bee45730d404b692203fcb590e172d5e"
+ dependencies:
+ readable-stream "^2.0.5"
+
+bl@~0.9.0:
+ version "0.9.5"
+ resolved "https://registry.yarnpkg.com/bl/-/bl-0.9.5.tgz#c06b797af085ea00bc527afc8efcf11de2232054"
+ dependencies:
+ readable-stream "~1.0.26"
+
+bl@~1.0.0:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/bl/-/bl-1.0.3.tgz#fc5421a28fd4226036c3b3891a66a25bc64d226e"
+ dependencies:
+ readable-stream "~2.0.5"
+
+body-parser@~1.13.3:
+ version "1.13.3"
+ resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.13.3.tgz#c08cf330c3358e151016a05746f13f029c97fa97"
+ dependencies:
+ bytes "2.1.0"
+ content-type "~1.0.1"
+ debug "~2.2.0"
+ depd "~1.0.1"
+ http-errors "~1.3.1"
+ iconv-lite "0.4.11"
+ on-finished "~2.3.0"
+ qs "4.0.0"
+ raw-body "~2.1.2"
+ type-is "~1.6.6"
+
+boom@0.4.x:
+ version "0.4.2"
+ resolved "https://registry.yarnpkg.com/boom/-/boom-0.4.2.tgz#7a636e9ded4efcefb19cef4947a3c67dfaee911b"
+ dependencies:
+ hoek "0.9.x"
+
+boom@2.x.x:
+ version "2.10.1"
+ resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f"
+ dependencies:
+ hoek "2.x.x"
+
+brace-expansion@^1.1.7:
+ version "1.1.7"
+ resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.7.tgz#3effc3c50e000531fb720eaff80f0ae8ef23cf59"
+ dependencies:
+ balanced-match "^0.4.1"
+ concat-map "0.0.1"
+
+buffer-crc32@0.2.1, buffer-crc32@~0.2.1:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.1.tgz#be3e5382fc02b6d6324956ac1af98aa98b08534c"
+
+buffer-shims@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/buffer-shims/-/buffer-shims-1.0.0.tgz#9978ce317388c649ad8793028c3477ef044a8b51"
+
+builtin-modules@^1.0.0:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f"
+
+bytes@0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/bytes/-/bytes-0.2.0.tgz#aad33ec14e3dc2ca74e8e7d451f9ba053ad4f7a0"
+
+bytes@2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/bytes/-/bytes-2.1.0.tgz#ac93c410e2ffc9cc7cf4b464b38289067f5e47b4"
+
+bytes@2.4.0:
+ version "2.4.0"
+ resolved "https://registry.yarnpkg.com/bytes/-/bytes-2.4.0.tgz#7d97196f9d5baf7f6935e25985549edd2a6c2339"
+
+camelcase-keys@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7"
+ dependencies:
+ camelcase "^2.0.0"
+ map-obj "^1.0.0"
+
+camelcase@^1.0.2:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39"
+
+camelcase@^2.0.0:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f"
+
+caseless@~0.11.0:
+ version "0.11.0"
+ resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.11.0.tgz#715b96ea9841593cc33067923f5ec60ebda4f7d7"
+
+caseless@~0.8.0:
+ version "0.8.0"
+ resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.8.0.tgz#5bca2881d41437f54b2407ebe34888c7b9ad4f7d"
+
+center-align@^0.1.1:
+ version "0.1.3"
+ resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad"
+ dependencies:
+ align-text "^0.1.3"
+ lazy-cache "^1.0.3"
+
+chalk@^0.5.1:
+ version "0.5.1"
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-0.5.1.tgz#663b3a648b68b55d04690d49167aa837858f2174"
+ dependencies:
+ ansi-styles "^1.1.0"
+ escape-string-regexp "^1.0.0"
+ has-ansi "^0.1.0"
+ strip-ansi "^0.3.0"
+ supports-color "^0.2.0"
+
+chalk@^1.0.0, chalk@^1.1.1:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
+ dependencies:
+ ansi-styles "^2.2.1"
+ escape-string-regexp "^1.0.2"
+ has-ansi "^2.0.0"
+ strip-ansi "^3.0.0"
+ supports-color "^2.0.0"
+
+cliui@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1"
+ dependencies:
+ center-align "^0.1.1"
+ right-align "^0.1.1"
+ wordwrap "0.0.2"
+
+clone-function@>=1.0.1:
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/clone-function/-/clone-function-1.0.6.tgz#428471937750bca9c48ecbfbc16f6e232f74a03d"
+
+coffee-script@~1.3.3:
+ version "1.3.3"
+ resolved "https://registry.yarnpkg.com/coffee-script/-/coffee-script-1.3.3.tgz#150d6b4cb522894369efed6a2101c20bc7f4a4f4"
+
+coffee-script@~1.9.1:
+ version "1.9.3"
+ resolved "https://registry.yarnpkg.com/coffee-script/-/coffee-script-1.9.3.tgz#596e6e83fcfcb67c5964ab70d444beff0ac04ac7"
+
+colors@~0.6.2:
+ version "0.6.2"
+ resolved "https://registry.yarnpkg.com/colors/-/colors-0.6.2.tgz#2423fe6678ac0c5dae8852e5d0e5be08c997abcc"
+
+combined-stream@^1.0.5, combined-stream@~1.0.5:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009"
+ dependencies:
+ delayed-stream "~1.0.0"
+
+combined-stream@~0.0.4, combined-stream@~0.0.5:
+ version "0.0.7"
+ resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-0.0.7.tgz#0137e657baa5a7541c57ac37ac5fc07d73b4dc1f"
+ dependencies:
+ delayed-stream "0.0.5"
+
+commander@1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/commander/-/commander-1.2.0.tgz#fd5713bfa153c7d6cc599378a5ab4c45c535029e"
+ dependencies:
+ keypress "0.1.x"
+
+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"
+
+compress-commons@~0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/compress-commons/-/compress-commons-0.3.0.tgz#97093e2e193f7567fa13203d4b8defcd5971a519"
+ dependencies:
+ buffer-crc32 "~0.2.1"
+ crc32-stream "~0.3.1"
+ node-int64 "~0.4.0"
+ readable-stream "~1.0.26"
+
+compressible@~2.0.5:
+ version "2.0.10"
+ resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.10.tgz#feda1c7f7617912732b29bf8cf26252a20b9eecd"
+ dependencies:
+ mime-db ">= 1.27.0 < 2"
+
+compression@~1.5.2:
+ version "1.5.2"
+ resolved "https://registry.yarnpkg.com/compression/-/compression-1.5.2.tgz#b03b8d86e6f8ad29683cba8df91ddc6ffc77b395"
+ dependencies:
+ accepts "~1.2.12"
+ bytes "2.1.0"
+ compressible "~2.0.5"
+ debug "~2.2.0"
+ on-headers "~1.0.0"
+ vary "~1.0.1"
+
+concat-map@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
+
+concat-stream@1.5.0:
+ version "1.5.0"
+ resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.5.0.tgz#53f7d43c51c5e43f81c8fdd03321c631be68d611"
+ dependencies:
+ inherits "~2.0.1"
+ readable-stream "~2.0.0"
+ typedarray "~0.0.5"
+
+connect-livereload@^0.4.0:
+ version "0.4.1"
+ resolved "https://registry.yarnpkg.com/connect-livereload/-/connect-livereload-0.4.1.tgz#0f8a1a816bc9baffae4637ccea917462fe35917a"
+
+connect-timeout@~1.6.2:
+ version "1.6.2"
+ resolved "https://registry.yarnpkg.com/connect-timeout/-/connect-timeout-1.6.2.tgz#de9a5ec61e33a12b6edaab7b5f062e98c599b88e"
+ dependencies:
+ debug "~2.2.0"
+ http-errors "~1.3.1"
+ ms "0.7.1"
+ on-headers "~1.0.0"
+
+connect@2.8.8:
+ version "2.8.8"
+ resolved "https://registry.yarnpkg.com/connect/-/connect-2.8.8.tgz#b9abf8caf0bd9773cb3dea29344119872582446d"
+ dependencies:
+ buffer-crc32 "0.2.1"
+ bytes "0.2.0"
+ cookie "0.1.0"
+ cookie-signature "1.0.1"
+ debug "*"
+ formidable "1.0.14"
+ fresh "0.2.0"
+ methods "0.0.1"
+ pause "0.0.1"
+ qs "0.6.5"
+ send "0.1.4"
+ uid2 "0.0.2"
+
+connect@^2.15.0:
+ version "2.30.2"
+ resolved "https://registry.yarnpkg.com/connect/-/connect-2.30.2.tgz#8da9bcbe8a054d3d318d74dfec903b5c39a1b609"
+ dependencies:
+ basic-auth-connect "1.0.0"
+ body-parser "~1.13.3"
+ bytes "2.1.0"
+ compression "~1.5.2"
+ connect-timeout "~1.6.2"
+ content-type "~1.0.1"
+ cookie "0.1.3"
+ cookie-parser "~1.3.5"
+ cookie-signature "1.0.6"
+ csurf "~1.8.3"
+ debug "~2.2.0"
+ depd "~1.0.1"
+ errorhandler "~1.4.2"
+ express-session "~1.11.3"
+ finalhandler "0.4.0"
+ fresh "0.3.0"
+ http-errors "~1.3.1"
+ method-override "~2.3.5"
+ morgan "~1.6.1"
+ multiparty "3.3.2"
+ on-headers "~1.0.0"
+ parseurl "~1.3.0"
+ pause "0.1.0"
+ qs "4.0.0"
+ response-time "~2.3.1"
+ serve-favicon "~2.3.0"
+ serve-index "~1.7.2"
+ serve-static "~1.10.0"
+ type-is "~1.6.6"
+ utils-merge "1.0.0"
+ vhost "~3.0.1"
+
+content-type@~1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.2.tgz#b7d113aee7a8dd27bd21133c4dc2529df1721eed"
+
+cookie-parser@~1.3.5:
+ version "1.3.5"
+ resolved "https://registry.yarnpkg.com/cookie-parser/-/cookie-parser-1.3.5.tgz#9d755570fb5d17890771227a02314d9be7cf8356"
+ dependencies:
+ cookie "0.1.3"
+ cookie-signature "1.0.6"
+
+cookie-signature@1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.1.tgz#44e072148af01e6e8e24afbf12690d68ae698ecb"
+
+cookie-signature@1.0.6:
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c"
+
+cookie@0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.1.0.tgz#90eb469ddce905c866de687efc43131d8801f9d0"
+
+cookie@0.1.3:
+ version "0.1.3"
+ resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.1.3.tgz#e734a5c1417fce472d5aef82c381cabb64d1a435"
+
+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"
+
+crc32-stream@~0.3.1:
+ version "0.3.4"
+ resolved "https://registry.yarnpkg.com/crc32-stream/-/crc32-stream-0.3.4.tgz#73bc25b45fac1db6632231a7bfce8927e9f06552"
+ dependencies:
+ buffer-crc32 "~0.2.1"
+ readable-stream "~1.0.24"
+
+crc@3.3.0:
+ version "3.3.0"
+ resolved "https://registry.yarnpkg.com/crc/-/crc-3.3.0.tgz#fa622e1bc388bf257309082d6b65200ce67090ba"
+
+cross-spawn@^0.2.3:
+ version "0.2.9"
+ resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-0.2.9.tgz#bd67f96c07efb6303b7fe94c1e979f88478e0a39"
+ dependencies:
+ lru-cache "^2.5.0"
+
+cryptiles@0.2.x:
+ version "0.2.2"
+ resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-0.2.2.tgz#ed91ff1f17ad13d3748288594f8a48a0d26f325c"
+ dependencies:
+ boom "0.4.x"
+
+cryptiles@2.x.x:
+ version "2.0.5"
+ resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8"
+ dependencies:
+ boom "2.x.x"
+
+csrf@~3.0.0:
+ version "3.0.6"
+ resolved "https://registry.yarnpkg.com/csrf/-/csrf-3.0.6.tgz#b61120ddceeafc91e76ed5313bb5c0b2667b710a"
+ dependencies:
+ rndm "1.2.0"
+ tsscmp "1.0.5"
+ uid-safe "2.1.4"
+
+csurf@~1.8.3:
+ version "1.8.3"
+ resolved "https://registry.yarnpkg.com/csurf/-/csurf-1.8.3.tgz#23f2a13bf1d8fce1d0c996588394442cba86a56a"
+ dependencies:
+ cookie "0.1.3"
+ cookie-signature "1.0.6"
+ csrf "~3.0.0"
+ http-errors "~1.3.1"
+
+ctype@0.5.3:
+ version "0.5.3"
+ resolved "https://registry.yarnpkg.com/ctype/-/ctype-0.5.3.tgz#82c18c2461f74114ef16c135224ad0b9144ca12f"
+
+currently-unhandled@^0.4.1:
+ version "0.4.1"
+ resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea"
+ dependencies:
+ array-find-index "^1.0.1"
+
+dargs@^4.0.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/dargs/-/dargs-4.1.0.tgz#03a9dbb4b5c2f139bf14ae53f0b8a2a6a86f4e17"
+ dependencies:
+ number-is-nan "^1.0.0"
+
+dashdash@^1.12.0:
+ version "1.14.1"
+ resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"
+ dependencies:
+ assert-plus "^1.0.0"
+
+dateformat@1.0.2-1.2.3:
+ version "1.0.2-1.2.3"
+ resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-1.0.2-1.2.3.tgz#b0220c02de98617433b72851cf47de3df2cdbee9"
+
+debug@*, debug@2.6.8:
+ version "2.6.8"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.8.tgz#e731531ca2ede27d188222427da17821d68ff4fc"
+ dependencies:
+ ms "2.0.0"
+
+debug@0.7.4, debug@~0.7.0:
+ version "0.7.4"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-0.7.4.tgz#06e1ea8082c2cb14e39806e22e2f6f757f92af39"
+
+debug@~2.2.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da"
+ dependencies:
+ ms "0.7.1"
+
+decamelize@^1.0.0, decamelize@^1.1.2:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
+
+delayed-stream@0.0.5:
+ version "0.0.5"
+ resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-0.0.5.tgz#d4b1f43a93e8296dfe02694f4680bc37a313c73f"
+
+delayed-stream@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
+
+depd@~1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/depd/-/depd-1.0.1.tgz#80aec64c9d6d97e65cc2a9caa93c0aa6abf73aaa"
+
+depd@~1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.0.tgz#e1bd82c6aab6ced965b97b88b17ed3e528ca18c3"
+
+destroy@~1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80"
+
+duplexer@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1"
+
+ecc-jsbn@~0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505"
+ dependencies:
+ jsbn "~0.1.0"
+
+ee-first@1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
+
+end-of-stream@^1.0.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.0.tgz#7a90d833efda6cfa6eac0f4949dbb0fad3a63206"
+ dependencies:
+ once "^1.4.0"
+
+error-ex@^1.2.0:
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.1.tgz#f855a86ce61adc4e8621c3cda21e7a7612c3a8dc"
+ dependencies:
+ is-arrayish "^0.2.1"
+
+errorhandler@~1.4.2:
+ version "1.4.3"
+ resolved "https://registry.yarnpkg.com/errorhandler/-/errorhandler-1.4.3.tgz#b7b70ed8f359e9db88092f2d20c0f831420ad83f"
+ dependencies:
+ accepts "~1.3.0"
+ escape-html "~1.0.3"
+
+es5-shim@^4.0.1:
+ version "4.5.9"
+ resolved "https://registry.yarnpkg.com/es5-shim/-/es5-shim-4.5.9.tgz#2a1e2b9e583ff5fed0c20a3ee2cbf3f75230a5c0"
+
+escape-html@1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.2.tgz#d77d32fa98e38c2f41ae85e9278e0e0e6ba1022c"
+
+escape-html@~1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
+
+escape-string-regexp@^1.0.0, escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
+
+"esprima@~ 1.0.2":
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/esprima/-/esprima-1.0.4.tgz#9f557e08fc3b4d26ece9dd34f8fbf476b62585ad"
+
+etag@~1.7.0:
+ version "1.7.0"
+ resolved "https://registry.yarnpkg.com/etag/-/etag-1.7.0.tgz#03d30b5f67dd6e632d2945d30d6652731a34d5d8"
+
+eventemitter2@^0.4.9, eventemitter2@~0.4.13:
+ version "0.4.14"
+ resolved "https://registry.yarnpkg.com/eventemitter2/-/eventemitter2-0.4.14.tgz#8f61b75cde012b2e9eb284d4545583b5643b61ab"
+
+exit@~0.1.1:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c"
+
+express-session@~1.11.3:
+ version "1.11.3"
+ resolved "https://registry.yarnpkg.com/express-session/-/express-session-1.11.3.tgz#5cc98f3f5ff84ed835f91cbf0aabd0c7107400af"
+ dependencies:
+ cookie "0.1.3"
+ cookie-signature "1.0.6"
+ crc "3.3.0"
+ debug "~2.2.0"
+ depd "~1.0.1"
+ on-headers "~1.0.0"
+ parseurl "~1.3.0"
+ uid-safe "~2.0.0"
+ utils-merge "1.0.0"
+
+express@~3.3.4:
+ version "3.3.8"
+ resolved "https://registry.yarnpkg.com/express/-/express-3.3.8.tgz#8e98ac30d81f4c95b85d71d2af6cf84f62ef19bd"
+ dependencies:
+ buffer-crc32 "0.2.1"
+ commander "1.2.0"
+ connect "2.8.8"
+ cookie "0.1.0"
+ cookie-signature "1.0.1"
+ debug "*"
+ fresh "0.2.0"
+ methods "0.0.1"
+ mkdirp "0.3.5"
+ range-parser "0.0.4"
+ send "0.1.4"
+
+extend@~3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444"
+
+extract-zip@~1.5.0:
+ version "1.5.0"
+ resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-1.5.0.tgz#92ccf6d81ef70a9fa4c1747114ccef6d8688a6c4"
+ dependencies:
+ concat-stream "1.5.0"
+ debug "0.7.4"
+ mkdirp "0.5.0"
+ yauzl "2.4.1"
+
+extsprintf@1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.0.2.tgz#e1080e0658e300b06294990cc70e1502235fd550"
+
+faye-websocket@~0.4.3:
+ version "0.4.4"
+ resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.4.4.tgz#c14c5b3bf14d7417ffbfd990c0a7495cd9f337bc"
+
+fd-slicer@~1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.0.1.tgz#8b5bcbd9ec327c5041bf9ab023fd6750f1177e65"
+ dependencies:
+ pend "~1.2.0"
+
+figures@^1.0.1:
+ version "1.7.0"
+ resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e"
+ dependencies:
+ escape-string-regexp "^1.0.5"
+ object-assign "^4.1.0"
+
+file-sync-cmp@^0.1.0:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/file-sync-cmp/-/file-sync-cmp-0.1.1.tgz#a5e7a8ffbfa493b43b923bbd4ca89a53b63b612b"
+
+finalhandler@0.4.0:
+ version "0.4.0"
+ resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-0.4.0.tgz#965a52d9e8d05d2b857548541fb89b53a2497d9b"
+ dependencies:
+ debug "~2.2.0"
+ escape-html "1.0.2"
+ on-finished "~2.3.0"
+ unpipe "~1.0.0"
+
+find-up@^1.0.0:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f"
+ dependencies:
+ path-exists "^2.0.0"
+ pinkie-promise "^2.0.0"
+
+findup-sync@~0.1.2:
+ version "0.1.3"
+ resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-0.1.3.tgz#7f3e7a97b82392c653bf06589bd85190e93c3683"
+ dependencies:
+ glob "~3.2.9"
+ lodash "~2.4.1"
+
+forever-agent@~0.5.0:
+ version "0.5.2"
+ resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.5.2.tgz#6d0e09c4921f94a27f63d3b49c5feff1ea4c5130"
+
+forever-agent@~0.6.1:
+ version "0.6.1"
+ resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
+
+form-data@~0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/form-data/-/form-data-0.2.0.tgz#26f8bc26da6440e299cbdcfb69035c4f77a6e466"
+ dependencies:
+ async "~0.9.0"
+ combined-stream "~0.0.4"
+ mime-types "~2.0.3"
+
+form-data@~1.0.0-rc3:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/form-data/-/form-data-1.0.1.tgz#ae315db9a4907fa065502304a66d7733475ee37c"
+ dependencies:
+ async "^2.0.1"
+ combined-stream "^1.0.5"
+ mime-types "^2.1.11"
+
+formidable@1.0.14:
+ version "1.0.14"
+ resolved "https://registry.yarnpkg.com/formidable/-/formidable-1.0.14.tgz#2b3f4c411cbb5fdd695c44843e2a23514a43231a"
+
+fresh@0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.2.0.tgz#bfd9402cf3df12c4a4c310c79f99a3dde13d34a7"
+
+fresh@0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.3.0.tgz#651f838e22424e7566de161d8358caa199f83d4f"
+
+fs-extra@~0.26.4:
+ version "0.26.7"
+ resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-0.26.7.tgz#9ae1fdd94897798edab76d0918cf42d0c3184fa9"
+ dependencies:
+ graceful-fs "^4.1.2"
+ jsonfile "^2.1.0"
+ klaw "^1.0.0"
+ path-is-absolute "^1.0.0"
+ rimraf "^2.2.8"
+
+gaze@~0.5.1:
+ version "0.5.2"
+ resolved "https://registry.yarnpkg.com/gaze/-/gaze-0.5.2.tgz#40b709537d24d1d45767db5a908689dfe69ac44f"
+ dependencies:
+ globule "~0.1.0"
+
+generate-function@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-2.0.0.tgz#6858fe7c0969b7d4e9093337647ac79f60dfbe74"
+
+generate-object-property@^1.1.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/generate-object-property/-/generate-object-property-1.2.0.tgz#9c0e1c40308ce804f4783618b937fa88f99d50d0"
+ dependencies:
+ is-property "^1.0.0"
+
+get-stdin@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe"
+
+getobject@~0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/getobject/-/getobject-0.1.0.tgz#047a449789fa160d018f5486ed91320b6ec7885c"
+
+getpass@^0.1.1:
+ version "0.1.7"
+ resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa"
+ dependencies:
+ assert-plus "^1.0.0"
+
+glob@~3.1.21:
+ version "3.1.21"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-3.1.21.tgz#d29e0a055dea5138f4d07ed40e8982e83c2066cd"
+ dependencies:
+ graceful-fs "~1.2.0"
+ inherits "1"
+ minimatch "~0.2.11"
+
+glob@~3.2.9:
+ version "3.2.11"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-3.2.11.tgz#4a973f635b9190f715d10987d5c00fd2815ebe3d"
+ dependencies:
+ inherits "2"
+ minimatch "0.3"
+
+glob@~5.0.0:
+ version "5.0.15"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1"
+ dependencies:
+ inflight "^1.0.4"
+ inherits "2"
+ minimatch "2 || 3"
+ once "^1.3.0"
+ path-is-absolute "^1.0.0"
+
+globule@~0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/globule/-/globule-0.1.0.tgz#d9c8edde1da79d125a151b79533b978676346ae5"
+ dependencies:
+ glob "~3.1.21"
+ lodash "~1.0.1"
+ minimatch "~0.2.11"
+
+graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9:
+ version "4.1.11"
+ resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658"
+
+graceful-fs@~1.2.0:
+ version "1.2.3"
+ resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-1.2.3.tgz#15a4806a57547cb2d2dbf27f42e89a8c3451b364"
+
+"graceful-readlink@>= 1.0.0":
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725"
+
+grunt-banner@0.3.x:
+ version "0.3.1"
+ resolved "https://registry.yarnpkg.com/grunt-banner/-/grunt-banner-0.3.1.tgz#c5e1273105334935f7ab11fb764d62b4f0d6b71f"
+
+grunt-contrib-clean@0.x:
+ version "0.7.0"
+ resolved "https://registry.yarnpkg.com/grunt-contrib-clean/-/grunt-contrib-clean-0.7.0.tgz#12fca70bbf525b918b73e5ccb1450f43beb629cd"
+ dependencies:
+ rimraf "^2.2.1"
+
+grunt-contrib-coffee@0.x:
+ version "0.13.0"
+ resolved "https://registry.yarnpkg.com/grunt-contrib-coffee/-/grunt-contrib-coffee-0.13.0.tgz#37644ff108bb88e9841febe0ec0337ad93e1994e"
+ dependencies:
+ chalk "^0.5.1"
+ coffee-script "~1.9.1"
+ lodash "^3.1.0"
+ uri-path "0.0.2"
+
+grunt-contrib-compress@0.x:
+ version "0.14.0"
+ resolved "https://registry.yarnpkg.com/grunt-contrib-compress/-/grunt-contrib-compress-0.14.0.tgz#556dae0bed3d8ccd7b4cfcbcc6bbdacdffb2be77"
+ dependencies:
+ archiver "^0.16.0"
+ chalk "^1.0.0"
+ pretty-bytes "^2.0.1"
+
+grunt-contrib-copy@0.x:
+ version "0.8.2"
+ resolved "https://registry.yarnpkg.com/grunt-contrib-copy/-/grunt-contrib-copy-0.8.2.tgz#df31c90ffcc409bc9fafe44ec0dd1e4259916fea"
+ dependencies:
+ chalk "^1.1.1"
+ file-sync-cmp "^0.1.0"
+
+grunt-contrib-jasmine@0.x:
+ version "0.9.2"
+ resolved "https://registry.yarnpkg.com/grunt-contrib-jasmine/-/grunt-contrib-jasmine-0.9.2.tgz#a8ca2f3b88024537213775fcbb988bd9d91f96ac"
+ dependencies:
+ chalk "^1.0.0"
+ es5-shim "^4.0.1"
+ grunt-lib-phantomjs "^0.7.1"
+ jasmine-core "^2.0.4"
+ lodash "~2.4.1"
+ rimraf "^2.1.4"
+
+grunt-contrib-sass@0.x:
+ version "0.9.2"
+ resolved "https://registry.yarnpkg.com/grunt-contrib-sass/-/grunt-contrib-sass-0.9.2.tgz#749f0e78284e91452c5a57fe044dde34489513c6"
+ dependencies:
+ async "^0.9.0"
+ chalk "^0.5.1"
+ cross-spawn "^0.2.3"
+ dargs "^4.0.0"
+ which "^1.0.5"
+
+grunt-contrib-uglify@0.x:
+ version "0.11.1"
+ resolved "https://registry.yarnpkg.com/grunt-contrib-uglify/-/grunt-contrib-uglify-0.11.1.tgz#5e22a2f676cd11d871fc2a0f08aa9b2973045325"
+ dependencies:
+ chalk "^1.0.0"
+ lodash "^4.0.1"
+ maxmin "^2.0.0"
+ uglify-js "~2.6.0"
+ uri-path "^1.0.0"
+
+grunt-contrib-watch@0.x, grunt-contrib-watch@^0.6.1:
+ version "0.6.1"
+ resolved "https://registry.yarnpkg.com/grunt-contrib-watch/-/grunt-contrib-watch-0.6.1.tgz#64fdcba25a635f5b4da1b6ce6f90da0aeb6e3f15"
+ dependencies:
+ async "~0.2.9"
+ gaze "~0.5.1"
+ lodash "~2.4.1"
+ tiny-lr-fork "0.0.5"
+
+grunt-curl@2.1.x:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/grunt-curl/-/grunt-curl-2.1.1.tgz#dcdffc95808ee5676259221442478d2c6a7ddbfe"
+ dependencies:
+ async "~0.2.10"
+ grunt-retro "~0.7.0"
+ lodash "~2.4.1"
+ request "~2.51.0"
+
+grunt-express@1.4.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/grunt-express/-/grunt-express-1.4.0.tgz#4adec141d30f52d6afc948268d9d83d1ac95482a"
+ dependencies:
+ connect "^2.15.0"
+ connect-livereload "^0.4.0"
+ grunt-contrib-watch "^0.6.1"
+ grunt-parallel "^0.3.1"
+ open "0.0.5"
+ sugar "^1.4.1"
+ temp "^0.7.0"
+ touch "0.0.3"
+
+grunt-jekyll@0.x:
+ version "0.4.6"
+ resolved "https://registry.yarnpkg.com/grunt-jekyll/-/grunt-jekyll-0.4.6.tgz#53bbade86ae9d141245218e0b3ab4c3340cd2067"
+ dependencies:
+ tmp "^0.0.31"
+
+grunt-legacy-log-utils@~0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/grunt-legacy-log-utils/-/grunt-legacy-log-utils-0.1.1.tgz#c0706b9dd9064e116f36f23fe4e6b048672c0f7e"
+ dependencies:
+ colors "~0.6.2"
+ lodash "~2.4.1"
+ underscore.string "~2.3.3"
+
+grunt-legacy-log@~0.1.0:
+ version "0.1.3"
+ resolved "https://registry.yarnpkg.com/grunt-legacy-log/-/grunt-legacy-log-0.1.3.tgz#ec29426e803021af59029f87d2f9cd7335a05531"
+ dependencies:
+ colors "~0.6.2"
+ grunt-legacy-log-utils "~0.1.1"
+ hooker "~0.2.3"
+ lodash "~2.4.1"
+ underscore.string "~2.3.3"
+
+grunt-legacy-util@~0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/grunt-legacy-util/-/grunt-legacy-util-0.2.0.tgz#93324884dbf7e37a9ff7c026dff451d94a9e554b"
+ dependencies:
+ async "~0.1.22"
+ exit "~0.1.1"
+ getobject "~0.1.0"
+ hooker "~0.2.3"
+ lodash "~0.9.2"
+ underscore.string "~2.2.1"
+ which "~1.0.5"
+
+grunt-lib-phantomjs@^0.7.1:
+ version "0.7.1"
+ resolved "https://registry.yarnpkg.com/grunt-lib-phantomjs/-/grunt-lib-phantomjs-0.7.1.tgz#a496ac104bc8e842e26893749d54c4905475e8fc"
+ dependencies:
+ eventemitter2 "^0.4.9"
+ phantomjs "^1.9.15"
+ semver "^4.3.0"
+ temporary "^0.0.8"
+
+grunt-parallel@^0.3.1:
+ version "0.3.1"
+ resolved "https://registry.yarnpkg.com/grunt-parallel/-/grunt-parallel-0.3.1.tgz#9d11a2872b44a7bba0ec816f03388a15fa564663"
+ dependencies:
+ grunt "~0.4.1"
+ lpad "~0.1.0"
+ q "~0.8.12"
+
+grunt-parallel@^0.5.1:
+ version "0.5.1"
+ resolved "https://registry.yarnpkg.com/grunt-parallel/-/grunt-parallel-0.5.1.tgz#5f7a3376f6185424128c4b2a2cf2e2d07c37f5d9"
+ dependencies:
+ lpad "~0.1.0"
+ q "~0.8.12"
+
+grunt-retro@~0.7.0:
+ version "0.7.0"
+ resolved "https://registry.yarnpkg.com/grunt-retro/-/grunt-retro-0.7.0.tgz#48f4844e76df5cd291629abb2358326fc53c0ca5"
+
+grunt-umd@2.3.x:
+ version "2.3.6"
+ resolved "https://registry.yarnpkg.com/grunt-umd/-/grunt-umd-2.3.6.tgz#ec585d7ce9bb00396fa8d4da52266f6bd6769a77"
+ dependencies:
+ libumd "^0.6.2"
+ xtend "^4.0.0"
+
+grunt@0.x, grunt@~0.4.1:
+ version "0.4.5"
+ resolved "https://registry.yarnpkg.com/grunt/-/grunt-0.4.5.tgz#56937cd5194324adff6d207631832a9d6ba4e7f0"
+ dependencies:
+ async "~0.1.22"
+ coffee-script "~1.3.3"
+ colors "~0.6.2"
+ dateformat "1.0.2-1.2.3"
+ eventemitter2 "~0.4.13"
+ exit "~0.1.1"
+ findup-sync "~0.1.2"
+ getobject "~0.1.0"
+ glob "~3.1.21"
+ grunt-legacy-log "~0.1.0"
+ grunt-legacy-util "~0.2.0"
+ hooker "~0.2.3"
+ iconv-lite "~0.2.11"
+ js-yaml "~2.0.5"
+ lodash "~0.9.2"
+ minimatch "~0.2.12"
+ nopt "~1.0.10"
+ rimraf "~2.2.8"
+ underscore.string "~2.2.1"
+ which "~1.0.5"
+
+gzip-size@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-3.0.0.tgz#546188e9bdc337f673772f81660464b389dce520"
+ dependencies:
+ duplexer "^0.1.1"
+
+handlebars@^4.0.2:
+ version "4.0.10"
+ resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.0.10.tgz#3d30c718b09a3d96f23ea4cc1f403c4d3ba9ff4f"
+ dependencies:
+ async "^1.4.0"
+ optimist "^0.6.1"
+ source-map "^0.4.4"
+ optionalDependencies:
+ uglify-js "^2.6"
+
+har-validator@~2.0.2:
+ version "2.0.6"
+ resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-2.0.6.tgz#cdcbc08188265ad119b6a5a7c8ab70eecfb5d27d"
+ dependencies:
+ chalk "^1.1.1"
+ commander "^2.9.0"
+ is-my-json-valid "^2.12.4"
+ pinkie-promise "^2.0.0"
+
+has-ansi@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-0.1.0.tgz#84f265aae8c0e6a88a12d7022894b7568894c62e"
+ dependencies:
+ ansi-regex "^0.2.0"
+
+has-ansi@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91"
+ dependencies:
+ ansi-regex "^2.0.0"
+
+hasha@^2.2.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/hasha/-/hasha-2.2.0.tgz#78d7cbfc1e6d66303fe79837365984517b2f6ee1"
+ dependencies:
+ is-stream "^1.0.1"
+ pinkie-promise "^2.0.0"
+
+hawk@1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/hawk/-/hawk-1.1.1.tgz#87cd491f9b46e4e2aeaca335416766885d2d1ed9"
+ dependencies:
+ boom "0.4.x"
+ cryptiles "0.2.x"
+ hoek "0.9.x"
+ sntp "0.2.x"
+
+hawk@~3.1.0:
+ version "3.1.3"
+ resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4"
+ dependencies:
+ boom "2.x.x"
+ cryptiles "2.x.x"
+ hoek "2.x.x"
+ sntp "1.x.x"
+
+hoek@0.9.x:
+ version "0.9.1"
+ resolved "https://registry.yarnpkg.com/hoek/-/hoek-0.9.1.tgz#3d322462badf07716ea7eb85baf88079cddce505"
+
+hoek@2.x.x:
+ version "2.16.3"
+ resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed"
+
+hooker@~0.2.3:
+ version "0.2.3"
+ resolved "https://registry.yarnpkg.com/hooker/-/hooker-0.2.3.tgz#b834f723cc4a242aa65963459df6d984c5d3d959"
+
+hosted-git-info@^2.1.4:
+ version "2.4.2"
+ resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.4.2.tgz#0076b9f46a270506ddbaaea56496897460612a67"
+
+http-errors@~1.3.1:
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.3.1.tgz#197e22cdebd4198585e8694ef6786197b91ed942"
+ dependencies:
+ inherits "~2.0.1"
+ statuses "1"
+
+http-signature@~0.10.0:
+ version "0.10.1"
+ resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-0.10.1.tgz#4fbdac132559aa8323121e540779c0a012b27e66"
+ dependencies:
+ asn1 "0.1.11"
+ assert-plus "^0.1.5"
+ ctype "0.5.3"
+
+http-signature@~1.1.0:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf"
+ dependencies:
+ assert-plus "^0.2.0"
+ jsprim "^1.2.2"
+ sshpk "^1.7.0"
+
+iconv-lite@0.4.11:
+ version "0.4.11"
+ resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.11.tgz#2ecb42fd294744922209a2e7c404dac8793d8ade"
+
+iconv-lite@0.4.13:
+ version "0.4.13"
+ resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.13.tgz#1f88aba4ab0b1508e8312acc39345f36e992e2f2"
+
+iconv-lite@~0.2.11:
+ version "0.2.11"
+ resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.2.11.tgz#1ce60a3a57864a292d1321ff4609ca4bb965adc8"
+
+indent-string@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80"
+ dependencies:
+ repeating "^2.0.0"
+
+inflight@^1.0.4:
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
+ dependencies:
+ once "^1.3.0"
+ wrappy "1"
+
+inherits@1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/inherits/-/inherits-1.0.2.tgz#ca4309dadee6b54cc0b8d247e8d7c7a0975bdc9b"
+
+inherits@2, inherits@~2.0.1:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
+
+is-arrayish@^0.2.1:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
+
+is-buffer@^1.1.5:
+ version "1.1.5"
+ resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.5.tgz#1f3b26ef613b214b88cbca23cc6c01d87961eecc"
+
+is-builtin-module@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe"
+ dependencies:
+ builtin-modules "^1.0.0"
+
+is-finite@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa"
+ dependencies:
+ number-is-nan "^1.0.0"
+
+is-my-json-valid@^2.12.4:
+ version "2.16.0"
+ resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.16.0.tgz#f079dd9bfdae65ee2038aae8acbc86ab109e3693"
+ dependencies:
+ generate-function "^2.0.0"
+ generate-object-property "^1.1.0"
+ jsonpointer "^4.0.0"
+ xtend "^4.0.0"
+
+is-property@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84"
+
+is-stream@^1.0.1:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
+
+is-typedarray@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
+
+is-utf8@^0.2.0:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72"
+
+isarray@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf"
+
+isarray@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
+
+isexe@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
+
+isstream@~0.1.2:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
+
+jasmine-core@^2.0.4:
+ version "2.6.2"
+ resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-2.6.2.tgz#74ea1f7cf428691af201107d631234027a09daab"
+
+jodid25519@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/jodid25519/-/jodid25519-1.0.2.tgz#06d4912255093419477d425633606e0e90782967"
+ dependencies:
+ jsbn "~0.1.0"
+
+jquery@2.x, jquery@~2.1.4:
+ version "2.1.4"
+ resolved "https://registry.yarnpkg.com/jquery/-/jquery-2.1.4.tgz#228bde698a0c61431dc2630a6a154f15890d2317"
+
+js-yaml@~2.0.5:
+ version "2.0.5"
+ resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-2.0.5.tgz#a25ae6509999e97df278c6719da11bd0687743a8"
+ dependencies:
+ argparse "~ 0.1.11"
+ esprima "~ 1.0.2"
+
+jsbn@~0.1.0:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"
+
+json-schema@0.2.3:
+ version "0.2.3"
+ resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13"
+
+json-stringify-safe@~5.0.0, json-stringify-safe@~5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
+
+jsonfile@^2.1.0:
+ version "2.4.0"
+ resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-2.4.0.tgz#3736a2b428b87bbda0cc83b53fa3d633a35c2ae8"
+ optionalDependencies:
+ graceful-fs "^4.1.6"
+
+jsonpointer@^4.0.0:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9"
+
+jsprim@^1.2.2:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.0.tgz#a3b87e40298d8c380552d8cc7628a0bb95a22918"
+ dependencies:
+ assert-plus "1.0.0"
+ extsprintf "1.0.2"
+ json-schema "0.2.3"
+ verror "1.3.6"
+
+kew@~0.7.0:
+ version "0.7.0"
+ resolved "https://registry.yarnpkg.com/kew/-/kew-0.7.0.tgz#79d93d2d33363d6fdd2970b335d9141ad591d79b"
+
+keypress@0.1.x:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/keypress/-/keypress-0.1.0.tgz#4a3188d4291b66b4f65edb99f806aa9ae293592a"
+
+kind-of@^3.0.2:
+ version "3.2.2"
+ resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64"
+ dependencies:
+ is-buffer "^1.1.5"
+
+klaw@^1.0.0:
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/klaw/-/klaw-1.3.1.tgz#4088433b46b3b1ba259d78785d8e96f73ba02439"
+ optionalDependencies:
+ graceful-fs "^4.1.9"
+
+lazy-cache@^1.0.3:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e"
+
+lazystream@~0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/lazystream/-/lazystream-0.1.0.tgz#1b25d63c772a4c20f0a5ed0a9d77f484b6e16920"
+ dependencies:
+ readable-stream "~1.0.2"
+
+libumd@^0.6.2:
+ version "0.6.4"
+ resolved "https://registry.yarnpkg.com/libumd/-/libumd-0.6.4.tgz#748a83c115ff2baa297a0788a882a5b064e535dd"
+ dependencies:
+ alphabet "^1.0.0"
+ annois "^0.3.2"
+ annozip "^0.2.6"
+ handlebars "^4.0.2"
+ object-merge "^2.5.1"
+
+load-json-file@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0"
+ dependencies:
+ graceful-fs "^4.1.2"
+ parse-json "^2.2.0"
+ pify "^2.0.0"
+ pinkie-promise "^2.0.0"
+ strip-bom "^2.0.0"
+
+lodash@^3.1.0, lodash@~3.10.0, lodash@~3.10.1:
+ version "3.10.1"
+ resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6"
+
+lodash@^4.0.1, lodash@^4.14.0:
+ version "4.17.4"
+ resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae"
+
+lodash@~0.9.2:
+ version "0.9.2"
+ resolved "https://registry.yarnpkg.com/lodash/-/lodash-0.9.2.tgz#8f3499c5245d346d682e5b0d3b40767e09f1a92c"
+
+lodash@~1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/lodash/-/lodash-1.0.2.tgz#8f57560c83b59fc270bd3d561b690043430e2551"
+
+lodash@~2.4.1:
+ version "2.4.2"
+ resolved "https://registry.yarnpkg.com/lodash/-/lodash-2.4.2.tgz#fadd834b9683073da179b3eae6d9c0d15053f73e"
+
+longest@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097"
+
+loud-rejection@^1.0.0:
+ version "1.6.0"
+ resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f"
+ dependencies:
+ currently-unhandled "^0.4.1"
+ signal-exit "^3.0.0"
+
+lpad@~0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/lpad/-/lpad-0.1.0.tgz#e4c60c29139321c5970de493b496ae0d774cd2a7"
+
+lru-cache@2, lru-cache@^2.5.0:
+ version "2.7.3"
+ resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-2.7.3.tgz#6d4524e8b955f95d4f5b58851ce21dd72fb4e952"
+
+map-obj@^1.0.0, map-obj@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d"
+
+maxmin@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/maxmin/-/maxmin-2.1.0.tgz#4d3b220903d95eee7eb7ac7fa864e72dc09a3166"
+ dependencies:
+ chalk "^1.0.0"
+ figures "^1.0.1"
+ gzip-size "^3.0.0"
+ pretty-bytes "^3.0.0"
+
+media-typer@0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"
+
+meow@^3.1.0:
+ version "3.7.0"
+ resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb"
+ dependencies:
+ camelcase-keys "^2.0.0"
+ decamelize "^1.1.2"
+ loud-rejection "^1.0.0"
+ map-obj "^1.0.1"
+ minimist "^1.1.3"
+ normalize-package-data "^2.3.4"
+ object-assign "^4.0.1"
+ read-pkg-up "^1.0.1"
+ redent "^1.0.0"
+ trim-newlines "^1.0.0"
+
+method-override@~2.3.5:
+ version "2.3.9"
+ resolved "https://registry.yarnpkg.com/method-override/-/method-override-2.3.9.tgz#bd151f2ce34cf01a76ca400ab95c012b102d8f71"
+ dependencies:
+ debug "2.6.8"
+ methods "~1.1.2"
+ parseurl "~1.3.1"
+ vary "~1.1.1"
+
+methods@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/methods/-/methods-0.0.1.tgz#277c90f8bef39709645a8371c51c3b6c648e068c"
+
+methods@~1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee"
+
+"mime-db@>= 1.27.0 < 2", mime-db@~1.27.0:
+ version "1.27.0"
+ resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.27.0.tgz#820f572296bbd20ec25ed55e5b5de869e5436eb1"
+
+mime-db@~1.12.0:
+ version "1.12.0"
+ resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.12.0.tgz#3d0c63180f458eb10d325aaa37d7c58ae312e9d7"
+
+mime-types@^2.1.11, mime-types@~2.1.11, mime-types@~2.1.15, mime-types@~2.1.6, mime-types@~2.1.7, mime-types@~2.1.9:
+ version "2.1.15"
+ resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.15.tgz#a4ebf5064094569237b8cf70046776d09fc92aed"
+ dependencies:
+ mime-db "~1.27.0"
+
+mime-types@~1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-1.0.2.tgz#995ae1392ab8affcbfcb2641dd054e943c0d5dce"
+
+mime-types@~2.0.3:
+ version "2.0.14"
+ resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.0.14.tgz#310e159db23e077f8bb22b748dabfa4957140aa6"
+ dependencies:
+ mime-db "~1.12.0"
+
+mime@1.3.4:
+ version "1.3.4"
+ resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.4.tgz#115f9e3b6b3daf2959983cb38f149a2d40eb5d53"
+
+mime@~1.2.9:
+ version "1.2.11"
+ resolved "https://registry.yarnpkg.com/mime/-/mime-1.2.11.tgz#58203eed86e3a5ef17aed2b7d9ebd47f0a60dd10"
+
+minimatch@0.3:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-0.3.0.tgz#275d8edaac4f1bb3326472089e7949c8394699dd"
+ dependencies:
+ lru-cache "2"
+ sigmund "~1.0.0"
+
+"minimatch@2 || 3":
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
+ dependencies:
+ brace-expansion "^1.1.7"
+
+minimatch@~0.2.11, minimatch@~0.2.12:
+ version "0.2.14"
+ resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-0.2.14.tgz#c74e780574f63c6f9a090e90efbe6ef53a6a756a"
+ dependencies:
+ lru-cache "2"
+ sigmund "~1.0.0"
+
+minimist@0.0.8:
+ version "0.0.8"
+ resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
+
+minimist@^1.1.3:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
+
+minimist@~0.0.1:
+ version "0.0.10"
+ resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf"
+
+mkdirp@0.3.5:
+ version "0.3.5"
+ resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.3.5.tgz#de3e5f8961c88c787ee1368df849ac4413eca8d7"
+
+mkdirp@0.5.0:
+ version "0.5.0"
+ resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.0.tgz#1d73076a6df986cd9344e15e71fcc05a4c9abf12"
+ dependencies:
+ minimist "0.0.8"
+
+morgan@~1.6.1:
+ version "1.6.1"
+ resolved "https://registry.yarnpkg.com/morgan/-/morgan-1.6.1.tgz#5fd818398c6819cba28a7cd6664f292fe1c0bbf2"
+ dependencies:
+ basic-auth "~1.0.3"
+ debug "~2.2.0"
+ depd "~1.0.1"
+ on-finished "~2.3.0"
+ on-headers "~1.0.0"
+
+ms@0.7.1:
+ version "0.7.1"
+ resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098"
+
+ms@0.7.2:
+ version "0.7.2"
+ resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.2.tgz#ae25cf2512b3885a1d95d7f037868d8431124765"
+
+ms@2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
+
+multiparty@3.3.2:
+ version "3.3.2"
+ resolved "https://registry.yarnpkg.com/multiparty/-/multiparty-3.3.2.tgz#35de6804dc19643e5249f3d3e3bdc6c8ce301d3f"
+ dependencies:
+ readable-stream "~1.1.9"
+ stream-counter "~0.2.0"
+
+negotiator@0.5.3:
+ version "0.5.3"
+ resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.5.3.tgz#269d5c476810ec92edbe7b6c2f28316384f9a7e8"
+
+negotiator@0.6.1:
+ version "0.6.1"
+ resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9"
+
+node-int64@~0.4.0:
+ version "0.4.0"
+ resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b"
+
+node-uuid@~1.4.0, node-uuid@~1.4.7:
+ version "1.4.8"
+ resolved "https://registry.yarnpkg.com/node-uuid/-/node-uuid-1.4.8.tgz#b040eb0923968afabf8d32fb1f17f1167fdab907"
+
+nopt@~1.0.10:
+ version "1.0.10"
+ resolved "https://registry.yarnpkg.com/nopt/-/nopt-1.0.10.tgz#6ddd21bd2a31417b92727dd585f8a6f37608ebee"
+ dependencies:
+ abbrev "1"
+
+nopt@~2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/nopt/-/nopt-2.0.0.tgz#ca7416f20a5e3f9c3b86180f96295fa3d0b52e0d"
+ dependencies:
+ abbrev "1"
+
+noptify@~0.0.3:
+ version "0.0.3"
+ resolved "https://registry.yarnpkg.com/noptify/-/noptify-0.0.3.tgz#58f654a73d9753df0c51d9686dc92104a67f4bbb"
+ dependencies:
+ nopt "~2.0.0"
+
+normalize-package-data@^2.3.2, normalize-package-data@^2.3.4:
+ version "2.3.8"
+ resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.3.8.tgz#d819eda2a9dedbd1ffa563ea4071d936782295bb"
+ dependencies:
+ hosted-git-info "^2.1.4"
+ is-builtin-module "^1.0.0"
+ semver "2 || 3 || 4 || 5"
+ validate-npm-package-license "^3.0.1"
+
+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"
+
+oauth-sign@~0.5.0:
+ version "0.5.0"
+ resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.5.0.tgz#d767f5169325620eab2e087ef0c472e773db6461"
+
+oauth-sign@~0.8.0:
+ version "0.8.2"
+ resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43"
+
+object-assign@^4.0.1, object-assign@^4.1.0:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
+
+object-foreach@>=0.1.2:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/object-foreach/-/object-foreach-0.1.2.tgz#d7421c5b40e3b6a3ef57ac624368d21d8f8d2dec"
+
+object-merge@^2.5.1:
+ version "2.5.1"
+ resolved "https://registry.yarnpkg.com/object-merge/-/object-merge-2.5.1.tgz#077e8915ce38ea7294788448c5dd339e34df4227"
+ dependencies:
+ clone-function ">=1.0.1"
+ object-foreach ">=0.1.2"
+
+on-finished@~2.3.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947"
+ dependencies:
+ ee-first "1.1.1"
+
+on-headers@~1.0.0, on-headers@~1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.1.tgz#928f5d0f470d49342651ea6794b0857c100693f7"
+
+once@^1.3.0, once@^1.4.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
+ dependencies:
+ wrappy "1"
+
+open@0.0.5:
+ version "0.0.5"
+ resolved "https://registry.yarnpkg.com/open/-/open-0.0.5.tgz#42c3e18ec95466b6bf0dc42f3a2945c3f0cad8fc"
+
+optimist@^0.6.1:
+ version "0.6.1"
+ resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686"
+ dependencies:
+ minimist "~0.0.1"
+ wordwrap "~0.0.2"
+
+os-tmpdir@~1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
+
+"package@>= 1.0.0 < 1.2.0":
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/package/-/package-1.0.1.tgz#d25a1f99e2506dcb27d6704b83dca8a312e4edcc"
+
+parse-json@^2.2.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9"
+ dependencies:
+ error-ex "^1.2.0"
+
+parseurl@~1.3.0, parseurl@~1.3.1:
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.1.tgz#c8ab8c9223ba34888aa64a297b28853bec18da56"
+
+path-exists@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b"
+ dependencies:
+ pinkie-promise "^2.0.0"
+
+path-is-absolute@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
+
+path-type@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441"
+ dependencies:
+ graceful-fs "^4.1.2"
+ pify "^2.0.0"
+ pinkie-promise "^2.0.0"
+
+pause@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/pause/-/pause-0.0.1.tgz#1d408b3fdb76923b9543d96fb4c9dfd535d9cb5d"
+
+pause@0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/pause/-/pause-0.1.0.tgz#ebc8a4a8619ff0b8a81ac1513c3434ff469fdb74"
+
+pend@~1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50"
+
+phantomjs@^1.9.15:
+ version "1.9.20"
+ resolved "https://registry.yarnpkg.com/phantomjs/-/phantomjs-1.9.20.tgz#4424aca20e14d255c0b0889af6f6b8973da10e0d"
+ dependencies:
+ extract-zip "~1.5.0"
+ fs-extra "~0.26.4"
+ hasha "^2.2.0"
+ kew "~0.7.0"
+ progress "~1.1.8"
+ request "~2.67.0"
+ request-progress "~2.0.1"
+ which "~1.2.2"
+
+pify@^2.0.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
+
+pinkie-promise@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa"
+ dependencies:
+ pinkie "^2.0.0"
+
+pinkie@^2.0.0:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870"
+
+pretty-bytes@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-2.0.1.tgz#155ec4d0036f41391e7045d6dbe4963d525d264f"
+ dependencies:
+ get-stdin "^4.0.1"
+ meow "^3.1.0"
+ number-is-nan "^1.0.0"
+
+pretty-bytes@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-3.0.1.tgz#27d0008d778063a0b4811bb35c79f1bd5d5fbccf"
+ dependencies:
+ number-is-nan "^1.0.0"
+
+process-nextick-args@~1.0.6:
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3"
+
+progress@~1.1.8:
+ version "1.1.8"
+ resolved "https://registry.yarnpkg.com/progress/-/progress-1.1.8.tgz#e260c78f6161cdd9b0e56cc3e0a85de17c7a57be"
+
+punycode@^1.4.1:
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e"
+
+q@~0.8.12:
+ version "0.8.12"
+ resolved "https://registry.yarnpkg.com/q/-/q-0.8.12.tgz#9162a91e11819c4bcda7da15cf5fefaad0778823"
+
+qs@0.6.5:
+ version "0.6.5"
+ resolved "https://registry.yarnpkg.com/qs/-/qs-0.6.5.tgz#294b268e4b0d4250f6dde19b3b8b34935dff14ef"
+
+qs@4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/qs/-/qs-4.0.0.tgz#c31d9b74ec27df75e543a86c78728ed8d4623607"
+
+qs@~0.5.2:
+ version "0.5.6"
+ resolved "https://registry.yarnpkg.com/qs/-/qs-0.5.6.tgz#31b1ad058567651c526921506b9a8793911a0384"
+
+qs@~2.3.1:
+ version "2.3.3"
+ resolved "https://registry.yarnpkg.com/qs/-/qs-2.3.3.tgz#e9e85adbe75da0bbe4c8e0476a086290f863b404"
+
+qs@~5.2.0:
+ version "5.2.1"
+ resolved "https://registry.yarnpkg.com/qs/-/qs-5.2.1.tgz#801fee030e0b9450d6385adc48a4cc55b44aedfc"
+
+random-bytes@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/random-bytes/-/random-bytes-1.0.0.tgz#4f68a1dc0ae58bd3fb95848c30324db75d64360b"
+
+range-parser@0.0.4:
+ version "0.0.4"
+ resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-0.0.4.tgz#c0427ffef51c10acba0782a46c9602e744ff620b"
+
+range-parser@~1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.0.3.tgz#6872823535c692e2c2a0103826afd82c2e0ff175"
+
+raw-body@~2.1.2:
+ version "2.1.7"
+ resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.1.7.tgz#adfeace2e4fb3098058014d08c072dcc59758774"
+ dependencies:
+ bytes "2.4.0"
+ iconv-lite "0.4.13"
+ unpipe "1.0.0"
+
+read-pkg-up@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02"
+ dependencies:
+ find-up "^1.0.0"
+ read-pkg "^1.0.0"
+
+read-pkg@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28"
+ dependencies:
+ load-json-file "^1.0.0"
+ normalize-package-data "^2.3.2"
+ path-type "^1.0.0"
+
+readable-stream@^2.0.0, readable-stream@^2.0.5:
+ version "2.2.9"
+ resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.9.tgz#cf78ec6f4a6d1eb43d26488cac97f042e74b7fc8"
+ dependencies:
+ buffer-shims "~1.0.0"
+ core-util-is "~1.0.0"
+ inherits "~2.0.1"
+ isarray "~1.0.0"
+ process-nextick-args "~1.0.6"
+ string_decoder "~1.0.0"
+ util-deprecate "~1.0.1"
+
+readable-stream@~1.0.2, readable-stream@~1.0.24, readable-stream@~1.0.26:
+ version "1.0.34"
+ resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c"
+ dependencies:
+ core-util-is "~1.0.0"
+ inherits "~2.0.1"
+ isarray "0.0.1"
+ string_decoder "~0.10.x"
+
+readable-stream@~1.1.8, readable-stream@~1.1.9:
+ version "1.1.14"
+ resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9"
+ dependencies:
+ core-util-is "~1.0.0"
+ inherits "~2.0.1"
+ isarray "0.0.1"
+ string_decoder "~0.10.x"
+
+readable-stream@~2.0.0, readable-stream@~2.0.5:
+ version "2.0.6"
+ resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.0.6.tgz#8f90341e68a53ccc928788dacfcd11b36eb9b78e"
+ dependencies:
+ core-util-is "~1.0.0"
+ inherits "~2.0.1"
+ isarray "~1.0.0"
+ process-nextick-args "~1.0.6"
+ string_decoder "~0.10.x"
+ util-deprecate "~1.0.1"
+
+redent@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde"
+ dependencies:
+ indent-string "^2.1.0"
+ strip-indent "^1.0.1"
+
+repeat-string@^1.5.2:
+ version "1.6.1"
+ resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637"
+
+repeating@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda"
+ dependencies:
+ is-finite "^1.0.0"
+
+request-progress@~2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/request-progress/-/request-progress-2.0.1.tgz#5d36bb57961c673aa5b788dbc8141fdf23b44e08"
+ dependencies:
+ throttleit "^1.0.0"
+
+request@~2.51.0:
+ version "2.51.0"
+ resolved "https://registry.yarnpkg.com/request/-/request-2.51.0.tgz#35d00bbecc012e55f907b1bd9e0dbd577bfef26e"
+ dependencies:
+ aws-sign2 "~0.5.0"
+ bl "~0.9.0"
+ caseless "~0.8.0"
+ combined-stream "~0.0.5"
+ forever-agent "~0.5.0"
+ form-data "~0.2.0"
+ hawk "1.1.1"
+ http-signature "~0.10.0"
+ json-stringify-safe "~5.0.0"
+ mime-types "~1.0.1"
+ node-uuid "~1.4.0"
+ oauth-sign "~0.5.0"
+ qs "~2.3.1"
+ stringstream "~0.0.4"
+ tough-cookie ">=0.12.0"
+ tunnel-agent "~0.4.0"
+
+request@~2.67.0:
+ version "2.67.0"
+ resolved "https://registry.yarnpkg.com/request/-/request-2.67.0.tgz#8af74780e2bf11ea0ae9aa965c11f11afd272742"
+ dependencies:
+ aws-sign2 "~0.6.0"
+ bl "~1.0.0"
+ caseless "~0.11.0"
+ combined-stream "~1.0.5"
+ extend "~3.0.0"
+ forever-agent "~0.6.1"
+ form-data "~1.0.0-rc3"
+ har-validator "~2.0.2"
+ hawk "~3.1.0"
+ http-signature "~1.1.0"
+ is-typedarray "~1.0.0"
+ isstream "~0.1.2"
+ json-stringify-safe "~5.0.1"
+ mime-types "~2.1.7"
+ node-uuid "~1.4.7"
+ oauth-sign "~0.8.0"
+ qs "~5.2.0"
+ stringstream "~0.0.4"
+ tough-cookie "~2.2.0"
+ tunnel-agent "~0.4.1"
+
+response-time@~2.3.1:
+ version "2.3.2"
+ resolved "https://registry.yarnpkg.com/response-time/-/response-time-2.3.2.tgz#ffa71bab952d62f7c1d49b7434355fbc68dffc5a"
+ dependencies:
+ depd "~1.1.0"
+ on-headers "~1.0.1"
+
+right-align@^0.1.1:
+ version "0.1.3"
+ resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef"
+ dependencies:
+ align-text "^0.1.1"
+
+rimraf@^2.1.4, rimraf@^2.2.1, rimraf@^2.2.8, rimraf@~2.2.6, rimraf@~2.2.8:
+ version "2.2.8"
+ resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.2.8.tgz#e439be2aaee327321952730f99a8929e4fc50582"
+
+rndm@1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/rndm/-/rndm-1.2.0.tgz#f33fe9cfb52bbfd520aa18323bc65db110a1b76c"
+
+safe-buffer@^5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.0.1.tgz#d263ca54696cd8a306b5ca6551e92de57918fbe7"
+
+"semver@2 || 3 || 4 || 5", semver@^4.3.0:
+ version "4.3.6"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-4.3.6.tgz#300bc6e0e86374f7ba61068b5b1ecd57fc6532da"
+
+send@0.1.4:
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/send/-/send-0.1.4.tgz#be70d8d1be01de61821af13780b50345a4f71abd"
+ dependencies:
+ debug "*"
+ fresh "0.2.0"
+ mime "~1.2.9"
+ range-parser "0.0.4"
+
+send@0.13.2:
+ version "0.13.2"
+ resolved "https://registry.yarnpkg.com/send/-/send-0.13.2.tgz#765e7607c8055452bba6f0b052595350986036de"
+ dependencies:
+ debug "~2.2.0"
+ depd "~1.1.0"
+ destroy "~1.0.4"
+ escape-html "~1.0.3"
+ etag "~1.7.0"
+ fresh "0.3.0"
+ http-errors "~1.3.1"
+ mime "1.3.4"
+ ms "0.7.1"
+ on-finished "~2.3.0"
+ range-parser "~1.0.3"
+ statuses "~1.2.1"
+
+serve-favicon@~2.3.0:
+ version "2.3.2"
+ resolved "https://registry.yarnpkg.com/serve-favicon/-/serve-favicon-2.3.2.tgz#dd419e268de012ab72b319d337f2105013f9381f"
+ dependencies:
+ etag "~1.7.0"
+ fresh "0.3.0"
+ ms "0.7.2"
+ parseurl "~1.3.1"
+
+serve-index@~1.7.2:
+ version "1.7.3"
+ resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.7.3.tgz#7a057fc6ee28dc63f64566e5fa57b111a86aecd2"
+ dependencies:
+ accepts "~1.2.13"
+ batch "0.5.3"
+ debug "~2.2.0"
+ escape-html "~1.0.3"
+ http-errors "~1.3.1"
+ mime-types "~2.1.9"
+ parseurl "~1.3.1"
+
+serve-static@~1.10.0:
+ version "1.10.3"
+ resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.10.3.tgz#ce5a6ecd3101fed5ec09827dac22a9c29bfb0535"
+ dependencies:
+ escape-html "~1.0.3"
+ parseurl "~1.3.1"
+ send "0.13.2"
+
+sigmund@~1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590"
+
+signal-exit@^3.0.0:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d"
+
+simple-hotkeys@~1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/simple-hotkeys/-/simple-hotkeys-1.0.3.tgz#47a5bc35362ca7339611bd09a84fa37818b0bbc6"
+ dependencies:
+ jquery "2.x"
+ simple-module "~2.0.5"
+
+simple-module@~2.0.5, simple-module@~2.0.6:
+ version "2.0.6"
+ resolved "https://registry.yarnpkg.com/simple-module/-/simple-module-2.0.6.tgz#cec8250325f8c7f575f4aa75c919b38396a6037b"
+ dependencies:
+ jquery "2.x"
+
+simple-uploader@~2.0.7:
+ version "2.0.8"
+ resolved "https://registry.yarnpkg.com/simple-uploader/-/simple-uploader-2.0.8.tgz#5fc4106c6d968b0b353293e3b16094aafde957ba"
+ dependencies:
+ jquery "2.x"
+ simple-module "~2.0.5"
+
+sntp@0.2.x:
+ version "0.2.4"
+ resolved "https://registry.yarnpkg.com/sntp/-/sntp-0.2.4.tgz#fb885f18b0f3aad189f824862536bceeec750900"
+ dependencies:
+ hoek "0.9.x"
+
+sntp@1.x.x:
+ version "1.0.9"
+ resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198"
+ dependencies:
+ hoek "2.x.x"
+
+source-map@^0.4.4:
+ version "0.4.4"
+ resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b"
+ dependencies:
+ amdefine ">=0.0.4"
+
+source-map@~0.5.1:
+ version "0.5.6"
+ resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412"
+
+spdx-correct@~1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-1.0.2.tgz#4b3073d933ff51f3912f03ac5519498a4150db40"
+ dependencies:
+ spdx-license-ids "^1.0.2"
+
+spdx-expression-parse@~1.0.0:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz#9bdf2f20e1f40ed447fbe273266191fced51626c"
+
+spdx-license-ids@^1.0.2:
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57"
+
+sshpk@^1.7.0:
+ version "1.13.0"
+ resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.13.0.tgz#ff2a3e4fd04497555fed97b39a0fd82fafb3a33c"
+ dependencies:
+ asn1 "~0.2.3"
+ assert-plus "^1.0.0"
+ dashdash "^1.12.0"
+ getpass "^0.1.1"
+ optionalDependencies:
+ bcrypt-pbkdf "^1.0.0"
+ ecc-jsbn "~0.1.1"
+ jodid25519 "^1.0.0"
+ jsbn "~0.1.0"
+ tweetnacl "~0.14.0"
+
+statuses@1:
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.3.1.tgz#faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e"
+
+statuses@~1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.2.1.tgz#dded45cc18256d51ed40aec142489d5c61026d28"
+
+stream-counter@~0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/stream-counter/-/stream-counter-0.2.0.tgz#ded266556319c8b0e222812b9cf3b26fa7d947de"
+ dependencies:
+ readable-stream "~1.1.8"
+
+string_decoder@~0.10.x:
+ version "0.10.31"
+ resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94"
+
+string_decoder@~1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.1.tgz#62e200f039955a6810d8df0a33ffc0f013662d98"
+ dependencies:
+ safe-buffer "^5.0.1"
+
+stringstream@~0.0.4:
+ version "0.0.5"
+ resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878"
+
+strip-ansi@^0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-0.3.0.tgz#25f48ea22ca79187f3174a4db8759347bb126220"
+ dependencies:
+ ansi-regex "^0.2.1"
+
+strip-ansi@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
+ dependencies:
+ ansi-regex "^2.0.0"
+
+strip-bom@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e"
+ dependencies:
+ is-utf8 "^0.2.0"
+
+strip-indent@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2"
+ dependencies:
+ get-stdin "^4.0.1"
+
+sugar@^1.4.1:
+ version "1.5.0"
+ resolved "https://registry.yarnpkg.com/sugar/-/sugar-1.5.0.tgz#d9d3fba10f7a887e06e6adfb078a27acb1fc0556"
+
+supports-color@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-0.2.0.tgz#d92de2694eb3f67323973d7ae3d8b55b4c22190a"
+
+supports-color@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
+
+tar-stream@~1.2.1:
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-1.2.2.tgz#9632f23d98fd33d41661bbdec05489120dec6028"
+ dependencies:
+ bl "^1.0.0"
+ end-of-stream "^1.0.0"
+ readable-stream "^2.0.0"
+ xtend "^4.0.0"
+
+temp@^0.7.0:
+ version "0.7.0"
+ resolved "https://registry.yarnpkg.com/temp/-/temp-0.7.0.tgz#d34bdc8e7f955da2a6a473fea07ad601d68ba78f"
+ dependencies:
+ rimraf "~2.2.6"
+
+temporary@^0.0.8:
+ version "0.0.8"
+ resolved "https://registry.yarnpkg.com/temporary/-/temporary-0.0.8.tgz#a18a981d28ba8ca36027fb3c30538c3ecb740ac0"
+ dependencies:
+ package ">= 1.0.0 < 1.2.0"
+
+throttleit@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/throttleit/-/throttleit-1.0.0.tgz#9e785836daf46743145a5984b6268d828528ac6c"
+
+tiny-lr-fork@0.0.5:
+ version "0.0.5"
+ resolved "https://registry.yarnpkg.com/tiny-lr-fork/-/tiny-lr-fork-0.0.5.tgz#1e99e1e2a8469b736ab97d97eefa98c71f76ed0a"
+ dependencies:
+ debug "~0.7.0"
+ faye-websocket "~0.4.3"
+ noptify "~0.0.3"
+ qs "~0.5.2"
+
+tmp@^0.0.31:
+ version "0.0.31"
+ resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.31.tgz#8f38ab9438e17315e5dbd8b3657e8bfb277ae4a7"
+ dependencies:
+ os-tmpdir "~1.0.1"
+
+touch@0.0.3:
+ version "0.0.3"
+ resolved "https://registry.yarnpkg.com/touch/-/touch-0.0.3.tgz#51aef3d449571d4f287a5d87c9c8b49181a0db1d"
+ dependencies:
+ nopt "~1.0.10"
+
+tough-cookie@>=0.12.0:
+ version "2.3.2"
+ resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.2.tgz#f081f76e4c85720e6c37a5faced737150d84072a"
+ dependencies:
+ punycode "^1.4.1"
+
+tough-cookie@~2.2.0:
+ version "2.2.2"
+ resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.2.2.tgz#c83a1830f4e5ef0b93ef2a3488e724f8de016ac7"
+
+trim-newlines@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613"
+
+tsscmp@1.0.5:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/tsscmp/-/tsscmp-1.0.5.tgz#7dc4a33af71581ab4337da91d85ca5427ebd9a97"
+
+tunnel-agent@~0.4.0, tunnel-agent@~0.4.1:
+ version "0.4.3"
+ resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.4.3.tgz#6373db76909fe570e08d73583365ed828a74eeeb"
+
+tweetnacl@^0.14.3, tweetnacl@~0.14.0:
+ version "0.14.5"
+ resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
+
+type-is@~1.6.6:
+ version "1.6.15"
+ resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.15.tgz#cab10fb4909e441c82842eafe1ad646c81804410"
+ dependencies:
+ media-typer "0.3.0"
+ mime-types "~2.1.15"
+
+typedarray@~0.0.5:
+ version "0.0.6"
+ resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
+
+uglify-js@^2.6, uglify-js@~2.6.0:
+ version "2.6.4"
+ resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.6.4.tgz#65ea2fb3059c9394692f15fed87c2b36c16b9adf"
+ dependencies:
+ async "~0.2.6"
+ source-map "~0.5.1"
+ uglify-to-browserify "~1.0.0"
+ yargs "~3.10.0"
+
+uglify-to-browserify@~1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7"
+
+uid-safe@2.1.4:
+ version "2.1.4"
+ resolved "https://registry.yarnpkg.com/uid-safe/-/uid-safe-2.1.4.tgz#3ad6f38368c6d4c8c75ec17623fb79aa1d071d81"
+ dependencies:
+ random-bytes "~1.0.0"
+
+uid-safe@~2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/uid-safe/-/uid-safe-2.0.0.tgz#a7f3c6ca64a1f6a5d04ec0ef3e4c3d5367317137"
+ dependencies:
+ base64-url "1.2.1"
+
+uid2@0.0.2:
+ version "0.0.2"
+ resolved "https://registry.yarnpkg.com/uid2/-/uid2-0.0.2.tgz#107fb155c82c1136620797ed4c88cf2b08f6aab8"
+
+underscore.string@~2.2.1:
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/underscore.string/-/underscore.string-2.2.1.tgz#d7c0fa2af5d5a1a67f4253daee98132e733f0f19"
+
+underscore.string@~2.3.3:
+ version "2.3.3"
+ resolved "https://registry.yarnpkg.com/underscore.string/-/underscore.string-2.3.3.tgz#71c08bf6b428b1133f37e78fa3a21c82f7329b0d"
+
+underscore.string@~2.4.0:
+ version "2.4.0"
+ resolved "https://registry.yarnpkg.com/underscore.string/-/underscore.string-2.4.0.tgz#8cdd8fbac4e2d2ea1e7e2e8097c42f442280f85b"
+
+underscore@~1.7.0:
+ version "1.7.0"
+ resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.7.0.tgz#6bbaf0877500d36be34ecaa584e0db9fef035209"
+
+unpipe@1.0.0, unpipe@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"
+
+uri-path@0.0.2:
+ version "0.0.2"
+ resolved "https://registry.yarnpkg.com/uri-path/-/uri-path-0.0.2.tgz#803eb01f2feb17927dcce0f6187e72b75f53f554"
+
+uri-path@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/uri-path/-/uri-path-1.0.0.tgz#9747f018358933c31de0fccfd82d138e67262e32"
+
+util-deprecate@~1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
+
+utils-merge@1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.0.tgz#0294fb922bb9375153541c4f7096231f287c8af8"
+
+validate-npm-package-license@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc"
+ dependencies:
+ spdx-correct "~1.0.0"
+ spdx-expression-parse "~1.0.0"
+
+vary@~1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/vary/-/vary-1.0.1.tgz#99e4981566a286118dfb2b817357df7993376d10"
+
+vary@~1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.1.tgz#67535ebb694c1d52257457984665323f587e8d37"
+
+verror@1.3.6:
+ version "1.3.6"
+ resolved "https://registry.yarnpkg.com/verror/-/verror-1.3.6.tgz#cff5df12946d297d2baaefaa2689e25be01c005c"
+ dependencies:
+ extsprintf "1.0.2"
+
+vhost@~3.0.1:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/vhost/-/vhost-3.0.2.tgz#2fb1decd4c466aa88b0f9341af33dc1aff2478d5"
+
+which@^1.0.5, which@~1.0.5:
+ version "1.0.9"
+ resolved "https://registry.yarnpkg.com/which/-/which-1.0.9.tgz#460c1da0f810103d0321a9b633af9e575e64486f"
+
+which@~1.2.2:
+ version "1.2.14"
+ resolved "https://registry.yarnpkg.com/which/-/which-1.2.14.tgz#9a87c4378f03e827cecaf1acdf56c736c01c14e5"
+ dependencies:
+ isexe "^2.0.0"
+
+window-size@0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d"
+
+wordwrap@0.0.2, wordwrap@~0.0.2:
+ version "0.0.2"
+ resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f"
+
+wrappy@1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
+
+xtend@^4.0.0:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af"
+
+yargs@~3.10.0:
+ version "3.10.0"
+ resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1"
+ dependencies:
+ camelcase "^1.0.2"
+ cliui "^2.1.0"
+ decamelize "^1.0.0"
+ window-size "0.1.0"
+
+yauzl@2.4.1:
+ version "2.4.1"
+ resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.4.1.tgz#9528f442dab1b2284e58b4379bb194e22e0c4005"
+ dependencies:
+ fd-slicer "~1.0.1"
+
+zip-stream@~0.6.0:
+ version "0.6.0"
+ resolved "https://registry.yarnpkg.com/zip-stream/-/zip-stream-0.6.0.tgz#ee933aed996fb18b344a91ae3b5d264cec5e812b"
+ dependencies:
+ compress-commons "~0.3.0"
+ lodash "~3.10.1"
+ readable-stream "~1.0.26"
From 6da0d601de5130552c52aea9a6677a49328d4232 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=A5=9E=E5=A5=87=E8=BE=89?=
Date: Wed, 31 May 2017 14:25:32 +0800
Subject: [PATCH 16/33] =?UTF-8?q?=E5=BC=BA=E5=88=B6=20bug=20fix=20?=
=?UTF-8?q?=EF=BC=8C=E6=9A=82=E6=97=B6=E4=B8=8D=E7=AE=A1=E4=BB=96=E3=80=82?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
site/assets/scripts/hotkeys.js | 1 +
site/assets/scripts/uploader.js | 3 ++-
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/site/assets/scripts/hotkeys.js b/site/assets/scripts/hotkeys.js
index de20b918..347e777f 100644
--- a/site/assets/scripts/hotkeys.js
+++ b/site/assets/scripts/hotkeys.js
@@ -12,6 +12,7 @@
} else {
root.simple = root.simple || {};
root.simple['hotkeys'] = factory(jQuery,SimpleModule);
+ root['simple.hotkeys'] = factory(jQuery,SimpleModule);
}
}(this, function ($, SimpleModule) {
diff --git a/site/assets/scripts/uploader.js b/site/assets/scripts/uploader.js
index d96860ec..dddae1dc 100644
--- a/site/assets/scripts/uploader.js
+++ b/site/assets/scripts/uploader.js
@@ -12,6 +12,7 @@
} else {
root.simple = root.simple || {};
root.simple['uploader'] = factory(jQuery,SimpleModule);
+ root['simple.uploader'] = factory(jQuery,SimpleModule);
}
}(this, function ($, SimpleModule) {
@@ -44,7 +45,7 @@ Uploader = (function(superClass) {
_this.files.splice($.inArray(file, _this.files), 1);
if (_this.queue.length > 0 && _this.files.length < _this.opts.connectionCount) {
return _this.upload(_this.queue.shift());
- } else {
+ } else if (_this.files.length === 0) {
return _this.uploading = false;
}
};
From 054ff175400dbc04a1b14fc412973e9a9dfb2ce6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=A5=9E=E5=A5=87=E8=BE=89?=
Date: Wed, 31 May 2017 16:32:14 +0800
Subject: [PATCH 17/33] Add page-demo config
---
site/assets/scripts/page-demo.js | 19 ++++++++++++++++---
1 file changed, 16 insertions(+), 3 deletions(-)
diff --git a/site/assets/scripts/page-demo.js b/site/assets/scripts/page-demo.js
index 7b4d69ff..f6bafbde 100644
--- a/site/assets/scripts/page-demo.js
+++ b/site/assets/scripts/page-demo.js
@@ -13,9 +13,22 @@
toolbar: toolbar,
pasteImage: true,
defaultImage: 'assets/images/image.png',
- upload: location.search === '?upload' ? {
- url: '/upload'
- } : false
+ // upload: location.search === '?upload' ? {
+ // url: '/upload'
+ // } : false,
+ upload: {
+ url: 'https:' === location.protocol ? 'https://up.qbox.me/' : 'http://up.qiniu.com',
+ connectionCount: 3,
+ leaveConfirm: '还在上传图片,确定要离开吗?',
+ buildResultPath: () => {
+ window.console.log('buildResultPath result', retusl);
+ return '';
+ },
+ params: () => {
+ window.console.log('params');
+ return {};
+ },
+ }
});
$preview = $('#preview');
if ($preview.length > 0) {
From 018e5255874200f77061a8aaa9978916761cb75a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=A5=9E=E5=A5=87=E8=BE=89?=
Date: Wed, 31 May 2017 16:34:22 +0800
Subject: [PATCH 18/33] Img setting
---
lib/simditor.js | 133 ++++++++++++++++++++++--------
package.json | 2 +-
site/assets/scripts/page-demo.js | 1 +
site/assets/scripts/simditor.js | 135 +++++++++++++++++++++++--------
site/assets/scripts/uploader.js | 1 -
site/assets/styles/simditor.css | 42 ++++++++++
src/buttons/image.coffee | 4 +-
styles/simditor.css | 44 +++++++++-
8 files changed, 288 insertions(+), 74 deletions(-)
diff --git a/lib/simditor.js b/lib/simditor.js
index 80bd66ba..e68aa3b1 100644
--- a/lib/simditor.js
+++ b/lib/simditor.js
@@ -1,7 +1,7 @@
/*!
* Simditor v2.3.6
* http://simditor.tower.im/
-* 2015-12-21
+* 2017-05-31
*/
(function (root, factory) {
if (typeof define === 'function' && define.amd) {
@@ -15,7 +15,7 @@
// like Node.
module.exports = factory(require("jquery"),require("simple-module"),require("simple-hotkeys"),require("simple-uploader"));
} else {
- root['Simditor'] = factory(jQuery,SimpleModule,simple.hotkeys,simple.uploader);
+ root['Simditor'] = factory(root["jQuery"],root["SimpleModule"],root["simple.hotkeys"],root["simple.uploader"]);
}
}(this, function ($, SimpleModule, simpleHotkeys, simpleUploader) {
@@ -2670,10 +2670,12 @@ Simditor.i18n = {
'image': '插入图片',
'externalImage': '外链图片',
'uploadImage': '上传图片',
- 'uploadFailed': '上传失败了',
+ 'uploadFailed': '图片上传失败了',
'uploadError': '上传出错了',
'imageUrl': '图片地址',
'imageSize': '图片尺寸',
+ 'imageResponse': '自适应',
+ 'imageOrigin': '原图大小',
'imageAlt': '图片描述',
'restoreImageSize': '还原图片尺寸',
'uploading': '正在上传',
@@ -2727,6 +2729,8 @@ Simditor.i18n = {
'uploadError': 'Error occurs during upload',
'imageUrl': 'Url',
'imageSize': 'Size',
+ 'imageResponse': 'Response',
+ 'imageOrigin': 'Origin',
'imageAlt': 'Alt',
'restoreImageSize': 'Restore Origin Size',
'uploading': 'Uploading',
@@ -4335,8 +4339,7 @@ ImageButton = (function(superClass) {
return $input = $('', {
type: 'file',
title: _this._t('uploadImage'),
- multiple: true,
- accept: 'image/*'
+ multiple: true
}).appendTo($uploadItem);
};
})(this);
@@ -4438,6 +4441,8 @@ ImageButton = (function(superClass) {
msg = result.msg || _this._t('uploadFailed');
alert(msg);
img_path = _this.defaultImage;
+ } else if (_this.editor.opts.upload.buildResultPath) {
+ img_path = _this.editor.opts.upload.buildResultPath(result);
} else {
img_path = result.file_path;
}
@@ -4545,7 +4550,6 @@ ImageButton = (function(superClass) {
$img.attr({
src: src,
width: width,
- height: height,
'data-image-size': width + ',' + height
}).removeClass('loading');
if ($img.hasClass('uploading')) {
@@ -4622,12 +4626,14 @@ ImagePopover = (function(superClass) {
ImagePopover.prototype.render = function() {
var tpl;
- tpl = "\n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n
×\n
\n
\n \n \n
\n
";
+ tpl = "";
this.el.addClass('image-popover').append(tpl);
this.srcEl = this.el.find('.image-src');
this.widthEl = this.el.find('#image-width');
this.heightEl = this.el.find('#image-height');
this.altEl = this.el.find('#image-alt');
+ this.widthResponse = this.el.find('#imageSize-response');
+ this.widthOrigin = this.el.find('#imageSize-origin');
this.srcEl.on('keydown', (function(_this) {
return function(e) {
var range;
@@ -4651,6 +4657,12 @@ ImagePopover = (function(superClass) {
return _this.el.data('popover').refresh();
};
})(this));
+ this.el.find('[name="imageSize"]').on('change', (function(_this) {
+ return function(e) {
+ _this._resizeImg($(e.currentTarget));
+ return _this.el.data('popover').refresh();
+ };
+ })(this));
this.el.find('.image-size').on('keyup', (function(_this) {
return function(e) {
var inputEl;
@@ -4731,8 +4743,7 @@ ImagePopover = (function(superClass) {
return _this.input = $('', {
type: 'file',
title: _this._t('uploadImage'),
- multiple: true,
- accept: 'image/*'
+ multiple: true
}).appendTo($uploadBtn);
};
})(this);
@@ -4752,41 +4763,70 @@ ImagePopover = (function(superClass) {
};
ImagePopover.prototype._resizeImg = function(inputEl, onlySetVal) {
- var height, value, width;
+ var value;
if (onlySetVal == null) {
onlySetVal = false;
}
- value = inputEl.val() * 1;
- if (!(this.target && ($.isNumeric(value) || value < 0))) {
+
+ /* 这是旧的
+ value = inputEl.val() * 1
+ return unless @target and ($.isNumeric(value) or value < 0)
+
+ if inputEl.is @widthEl
+ width = value
+ height = @height * value / @width
+ @heightEl.val height
+ else
+ height = value
+ width = @width * value / @height
+ @widthEl.val width
+
+ unless onlySetVal
+ @target.attr
+ width: width
+ height: height
+ @editor.trigger 'valuechanged'
+ */
+ value = inputEl.val();
+ if (!this.target) {
return;
}
- if (inputEl.is(this.widthEl)) {
- width = value;
- height = this.height * value / this.width;
- this.heightEl.val(height);
+ if ('origin' === value) {
+ this.target.css({
+ width: 'auto'
+ });
+ this.target.attr({
+ width: 'auto'
+ });
} else {
- height = value;
- width = this.width * value / this.height;
- this.widthEl.val(width);
- }
- if (!onlySetVal) {
+ this.target.css({
+ width: '100%'
+ });
this.target.attr({
- width: width,
- height: height
+ width: '100%'
});
- return this.editor.trigger('valuechanged');
}
+ this.editor.trigger('valuechanged');
};
ImagePopover.prototype._restoreImg = function() {
- var ref, size;
- size = ((ref = this.target.data('image-size')) != null ? ref.split(",") : void 0) || [this.width, this.height];
- this.target.attr({
- width: size[0] * 1,
+
+ /* 这是旧的
+ size = @target.data('image-size')?.split(",") || [@width, @height]
+ @target.attr
+ width: size[0] * 1
height: size[1] * 1
+ @widthEl.val(size[0])
+ @heightEl.val(size[1])
+
+ @editor.trigger 'valuechanged'
+ */
+ this.target.attr({
+ width: 'auto'
+ });
+ this.target.css({
+ width: 'auto'
});
- this.widthEl.val(size[0]);
- this.heightEl.val(size[1]);
return this.editor.trigger('valuechanged');
};
@@ -4807,10 +4847,15 @@ ImagePopover = (function(superClass) {
return;
}
if (_this.active) {
- _this.width = img.width;
- _this.height = img.height;
- _this.widthEl.val(_this.width);
- _this.heightEl.val(_this.height);
+
+ /* 这是旧的
+ @width = img.width
+ @height = img.height
+
+ @widthEl.val @width
+ @heightEl.val @height
+ */
+ _this.widthResponse.attr('checked', true);
}
if (/^data:image/.test(src)) {
blob = _this.editor.util.dataURLtoBlob(src);
@@ -4847,6 +4892,26 @@ ImagePopover = (function(superClass) {
}
};
+ ImagePopover.prototype.show = function() {
+ var $img, args;
+ args = 1 <= arguments.length ? slice.call(arguments, 0) : [];
+ ImagePopover.__super__.show.apply(this, args);
+ $img = this.target;
+ this.width = $img.attr('width') || $img.width();
+ this.alt = $img.attr('alt');
+ if ($img.hasClass('uploading')) {
+ this.srcEl.val(this._t('uploading')).prop('disabled', true);
+ return this.widthResponse.attr('checked', true);
+ } else {
+ this.srcEl.val($img.attr('src')).prop('disabled', false);
+ if (('' + this.width).endsWith('%')) {
+ return this.widthResponse.attr('checked', true);
+ } else {
+ return this.widthOrigin.attr('checked', true);
+ }
+ }
+ };
+
return ImagePopover;
})(Popover);
diff --git a/package.json b/package.json
index 5a9b5302..0d902ddb 100644
--- a/package.json
+++ b/package.json
@@ -22,7 +22,7 @@
"jquery": "~2.1.4",
"simple-hotkeys": "~1.0.3",
"simple-module": "~2.0.6",
- "simple-uploader": "~2.0.7"
+ "simple-uploader": "~3.0.0"
},
"devDependencies": {
"express": "~3.3.4",
diff --git a/site/assets/scripts/page-demo.js b/site/assets/scripts/page-demo.js
index f6bafbde..af16793e 100644
--- a/site/assets/scripts/page-demo.js
+++ b/site/assets/scripts/page-demo.js
@@ -30,6 +30,7 @@
},
}
});
+ window.editor = editor;
$preview = $('#preview');
if ($preview.length > 0) {
return editor.on('valuechanged', function(e) {
diff --git a/site/assets/scripts/simditor.js b/site/assets/scripts/simditor.js
index 0e066624..28368ca7 100644
--- a/site/assets/scripts/simditor.js
+++ b/site/assets/scripts/simditor.js
@@ -10,7 +10,7 @@
// like Node.
module.exports = factory(require("jquery"),require("simple-module"),require("simple-hotkeys"),require("simple-uploader"));
} else {
- root['Simditor'] = factory(jQuery,SimpleModule,simple.hotkeys,simple.uploader);
+ root['Simditor'] = factory(root["jQuery"],root["SimpleModule"],root["simple.hotkeys"],root["simple.uploader"]);
}
}(this, function ($, SimpleModule, simpleHotkeys, simpleUploader) {
@@ -2665,10 +2665,12 @@ Simditor.i18n = {
'image': '插入图片',
'externalImage': '外链图片',
'uploadImage': '上传图片',
- 'uploadFailed': '上传失败了',
+ 'uploadFailed': '图片上传失败了',
'uploadError': '上传出错了',
'imageUrl': '图片地址',
'imageSize': '图片尺寸',
+ 'imageResponse': '自适应',
+ 'imageOrigin': '原图大小',
'imageAlt': '图片描述',
'restoreImageSize': '还原图片尺寸',
'uploading': '正在上传',
@@ -2679,8 +2681,8 @@ Simditor.i18n = {
'linkText': '链接文字',
'linkUrl': '链接地址',
'linkTarget': '打开方式',
- 'openLinkInCurrentWindow': '在新窗口中打开',
- 'openLinkInNewWindow': '在当前窗口中打开',
+ 'openLinkInCurrentWindow': '在当前窗口中打开',
+ 'openLinkInNewWindow': '在新窗口中打开',
'removeLink': '移除链接',
'ol': '有序列表',
'ul': '无序列表',
@@ -2722,6 +2724,8 @@ Simditor.i18n = {
'uploadError': 'Error occurs during upload',
'imageUrl': 'Url',
'imageSize': 'Size',
+ 'imageResponse': 'Response',
+ 'imageOrigin': 'Origin',
'imageAlt': 'Alt',
'restoreImageSize': 'Restore Origin Size',
'uploading': 'Uploading',
@@ -4330,8 +4334,7 @@ ImageButton = (function(superClass) {
return $input = $('', {
type: 'file',
title: _this._t('uploadImage'),
- multiple: true,
- accept: 'image/*'
+ multiple: true
}).appendTo($uploadItem);
};
})(this);
@@ -4433,6 +4436,8 @@ ImageButton = (function(superClass) {
msg = result.msg || _this._t('uploadFailed');
alert(msg);
img_path = _this.defaultImage;
+ } else if (_this.editor.opts.upload.buildResultPath) {
+ img_path = _this.editor.opts.upload.buildResultPath(result);
} else {
img_path = result.file_path;
}
@@ -4540,7 +4545,6 @@ ImageButton = (function(superClass) {
$img.attr({
src: src,
width: width,
- height: height,
'data-image-size': width + ',' + height
}).removeClass('loading');
if ($img.hasClass('uploading')) {
@@ -4617,12 +4621,14 @@ ImagePopover = (function(superClass) {
ImagePopover.prototype.render = function() {
var tpl;
- tpl = "\n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n
×\n
\n
\n \n \n
\n
";
+ tpl = "";
this.el.addClass('image-popover').append(tpl);
this.srcEl = this.el.find('.image-src');
this.widthEl = this.el.find('#image-width');
this.heightEl = this.el.find('#image-height');
this.altEl = this.el.find('#image-alt');
+ this.widthResponse = this.el.find('#imageSize-response');
+ this.widthOrigin = this.el.find('#imageSize-origin');
this.srcEl.on('keydown', (function(_this) {
return function(e) {
var range;
@@ -4646,6 +4652,12 @@ ImagePopover = (function(superClass) {
return _this.el.data('popover').refresh();
};
})(this));
+ this.el.find('[name="imageSize"]').on('change', (function(_this) {
+ return function(e) {
+ _this._resizeImg($(e.currentTarget));
+ return _this.el.data('popover').refresh();
+ };
+ })(this));
this.el.find('.image-size').on('keyup', (function(_this) {
return function(e) {
var inputEl;
@@ -4726,8 +4738,7 @@ ImagePopover = (function(superClass) {
return _this.input = $('', {
type: 'file',
title: _this._t('uploadImage'),
- multiple: true,
- accept: 'image/*'
+ multiple: true
}).appendTo($uploadBtn);
};
})(this);
@@ -4747,41 +4758,70 @@ ImagePopover = (function(superClass) {
};
ImagePopover.prototype._resizeImg = function(inputEl, onlySetVal) {
- var height, value, width;
+ var value;
if (onlySetVal == null) {
onlySetVal = false;
}
- value = inputEl.val() * 1;
- if (!(this.target && ($.isNumeric(value) || value < 0))) {
+
+ /* 这是旧的
+ value = inputEl.val() * 1
+ return unless @target and ($.isNumeric(value) or value < 0)
+
+ if inputEl.is @widthEl
+ width = value
+ height = @height * value / @width
+ @heightEl.val height
+ else
+ height = value
+ width = @width * value / @height
+ @widthEl.val width
+
+ unless onlySetVal
+ @target.attr
+ width: width
+ height: height
+ @editor.trigger 'valuechanged'
+ */
+ value = inputEl.val();
+ if (!this.target) {
return;
}
- if (inputEl.is(this.widthEl)) {
- width = value;
- height = this.height * value / this.width;
- this.heightEl.val(height);
+ if ('origin' === value) {
+ this.target.css({
+ width: 'auto'
+ });
+ this.target.attr({
+ width: 'auto'
+ });
} else {
- height = value;
- width = this.width * value / this.height;
- this.widthEl.val(width);
- }
- if (!onlySetVal) {
+ this.target.css({
+ width: '100%'
+ });
this.target.attr({
- width: width,
- height: height
+ width: '100%'
});
- return this.editor.trigger('valuechanged');
}
+ this.editor.trigger('valuechanged');
};
ImagePopover.prototype._restoreImg = function() {
- var ref, size;
- size = ((ref = this.target.data('image-size')) != null ? ref.split(",") : void 0) || [this.width, this.height];
- this.target.attr({
- width: size[0] * 1,
+
+ /* 这是旧的
+ size = @target.data('image-size')?.split(",") || [@width, @height]
+ @target.attr
+ width: size[0] * 1
height: size[1] * 1
+ @widthEl.val(size[0])
+ @heightEl.val(size[1])
+
+ @editor.trigger 'valuechanged'
+ */
+ this.target.attr({
+ width: 'auto'
+ });
+ this.target.css({
+ width: 'auto'
});
- this.widthEl.val(size[0]);
- this.heightEl.val(size[1]);
return this.editor.trigger('valuechanged');
};
@@ -4802,10 +4842,15 @@ ImagePopover = (function(superClass) {
return;
}
if (_this.active) {
- _this.width = img.width;
- _this.height = img.height;
- _this.widthEl.val(_this.width);
- _this.heightEl.val(_this.height);
+
+ /* 这是旧的
+ @width = img.width
+ @height = img.height
+
+ @widthEl.val @width
+ @heightEl.val @height
+ */
+ _this.widthResponse.attr('checked', true);
}
if (/^data:image/.test(src)) {
blob = _this.editor.util.dataURLtoBlob(src);
@@ -4842,6 +4887,26 @@ ImagePopover = (function(superClass) {
}
};
+ ImagePopover.prototype.show = function() {
+ var $img, args;
+ args = 1 <= arguments.length ? slice.call(arguments, 0) : [];
+ ImagePopover.__super__.show.apply(this, args);
+ $img = this.target;
+ this.width = $img.attr('width') || $img.width();
+ this.alt = $img.attr('alt');
+ if ($img.hasClass('uploading')) {
+ this.srcEl.val(this._t('uploading')).prop('disabled', true);
+ return this.widthResponse.attr('checked', true);
+ } else {
+ this.srcEl.val($img.attr('src')).prop('disabled', false);
+ if (('' + this.width).endsWith('%')) {
+ return this.widthResponse.attr('checked', true);
+ } else {
+ return this.widthOrigin.attr('checked', true);
+ }
+ }
+ };
+
return ImagePopover;
})(Popover);
diff --git a/site/assets/scripts/uploader.js b/site/assets/scripts/uploader.js
index dddae1dc..b46d1ab1 100644
--- a/site/assets/scripts/uploader.js
+++ b/site/assets/scripts/uploader.js
@@ -12,7 +12,6 @@
} else {
root.simple = root.simple || {};
root.simple['uploader'] = factory(jQuery,SimpleModule);
- root['simple.uploader'] = factory(jQuery,SimpleModule);
}
}(this, function ($, SimpleModule) {
diff --git a/site/assets/styles/simditor.css b/site/assets/styles/simditor.css
index b83b0bdc..4f40ebd0 100644
--- a/site/assets/styles/simditor.css
+++ b/site/assets/styles/simditor.css
@@ -185,6 +185,7 @@
top: 0;
left: 0;
z-index: 2;
+ display: none !important;
}
.simditor .simditor-wrapper .simditor-image-loading .progress {
width: 100%;
@@ -233,6 +234,44 @@
.simditor .simditor-body img {
cursor: pointer;
}
+.simditor .simditor-body img.uploading {
+ font-size: 0px;
+ padding-bottom: 4px;
+ background: repeating-linear-gradient(to right, #c6e8ef 0%, #3da0dc 50%, #c6e8ef 100%);
+ animation: 1s SimditorImgUploadingAnimate ease infinite;
+}
+@keyframes SimditorImgUploadingAnimate {
+ 10% {
+ background: repeating-linear-gradient(to right, #c6e8ef 10%, #3da0dc 60%, #c6e8ef 110%);
+ }
+ 20% {
+ background: repeating-linear-gradient(to right, #c6e8ef 20%, #3da0dc 70%, #c6e8ef 120%);
+ }
+ 30% {
+ background: repeating-linear-gradient(to right, #c6e8ef 30%, #3da0dc 80%, #c6e8ef 130%);
+ }
+ 40% {
+ background: repeating-linear-gradient(to right, #c6e8ef 40%, #3da0dc 90%, #c6e8ef 140%);
+ }
+ 50% {
+ background: repeating-linear-gradient(to right, #c6e8ef 50%, #3da0dc 100%, #c6e8ef 150%);
+ }
+ 60% {
+ background: repeating-linear-gradient(to right, #c6e8ef 60%, #3da0dc 110%, #c6e8ef 160%);
+ }
+ 70% {
+ background: repeating-linear-gradient(to right, #c6e8ef 70%, #3da0dc 120%, #c6e8ef 170%);
+ }
+ 80% {
+ background: repeating-linear-gradient(to right, #c6e8ef 80%, #3da0dc 130%, #c6e8ef 180%);
+ }
+ 90% {
+ background: repeating-linear-gradient(to right, #c6e8ef 90%, #3da0dc 140%, #c6e8ef 190%);
+ }
+ 100% {
+ background: repeating-linear-gradient(to right, #c6e8ef 100%, #3da0dc 150%, #c6e8ef 200%);
+ }
+}
.simditor .simditor-body img.selected {
box-shadow: 0 0 0 4px #cccccc;
}
@@ -532,6 +571,9 @@
display: inline-block;
margin: 0 5px 0 0;
}
+.simditor .simditor-popover .settings-field label.auto {
+ width: auto !important;
+}
.simditor .simditor-popover .settings-field input[type=text] {
display: inline-block;
width: 200px;
diff --git a/src/buttons/image.coffee b/src/buttons/image.coffee
index 2074bfbe..9f55a466 100644
--- a/src/buttons/image.coffee
+++ b/src/buttons/image.coffee
@@ -104,7 +104,7 @@ class ImageButton extends Button
type: 'file'
title: @_t('uploadImage')
multiple: true
- accept: 'image/*'
+ # accept: 'image/*'
.appendTo($uploadItem)
createInput()
@@ -473,7 +473,7 @@ class ImagePopover extends Popover
type: 'file'
title: @_t('uploadImage')
multiple: true
- accept: 'image/*'
+ # accept: 'image/*'
.appendTo($uploadBtn)
createInput()
diff --git a/styles/simditor.css b/styles/simditor.css
index 341ae827..73b85408 100644
--- a/styles/simditor.css
+++ b/styles/simditor.css
@@ -1,7 +1,7 @@
/*!
* Simditor v2.3.6
* http://simditor.tower.im/
-* 2015-12-21
+* 2017-05-31
*/
@font-face {
font-family: 'Simditor';
@@ -190,6 +190,7 @@
top: 0;
left: 0;
z-index: 2;
+ display: none !important;
}
.simditor .simditor-wrapper .simditor-image-loading .progress {
width: 100%;
@@ -238,6 +239,44 @@
.simditor .simditor-body img {
cursor: pointer;
}
+.simditor .simditor-body img.uploading {
+ font-size: 0px;
+ padding-bottom: 4px;
+ background: repeating-linear-gradient(to right, #c6e8ef 0%, #3da0dc 50%, #c6e8ef 100%);
+ animation: 1s SimditorImgUploadingAnimate ease infinite;
+}
+@keyframes SimditorImgUploadingAnimate {
+ 10% {
+ background: repeating-linear-gradient(to right, #c6e8ef 10%, #3da0dc 60%, #c6e8ef 110%);
+ }
+ 20% {
+ background: repeating-linear-gradient(to right, #c6e8ef 20%, #3da0dc 70%, #c6e8ef 120%);
+ }
+ 30% {
+ background: repeating-linear-gradient(to right, #c6e8ef 30%, #3da0dc 80%, #c6e8ef 130%);
+ }
+ 40% {
+ background: repeating-linear-gradient(to right, #c6e8ef 40%, #3da0dc 90%, #c6e8ef 140%);
+ }
+ 50% {
+ background: repeating-linear-gradient(to right, #c6e8ef 50%, #3da0dc 100%, #c6e8ef 150%);
+ }
+ 60% {
+ background: repeating-linear-gradient(to right, #c6e8ef 60%, #3da0dc 110%, #c6e8ef 160%);
+ }
+ 70% {
+ background: repeating-linear-gradient(to right, #c6e8ef 70%, #3da0dc 120%, #c6e8ef 170%);
+ }
+ 80% {
+ background: repeating-linear-gradient(to right, #c6e8ef 80%, #3da0dc 130%, #c6e8ef 180%);
+ }
+ 90% {
+ background: repeating-linear-gradient(to right, #c6e8ef 90%, #3da0dc 140%, #c6e8ef 190%);
+ }
+ 100% {
+ background: repeating-linear-gradient(to right, #c6e8ef 100%, #3da0dc 150%, #c6e8ef 200%);
+ }
+}
.simditor .simditor-body img.selected {
box-shadow: 0 0 0 4px #cccccc;
}
@@ -537,6 +576,9 @@
display: inline-block;
margin: 0 5px 0 0;
}
+.simditor .simditor-popover .settings-field label.auto {
+ width: auto !important;
+}
.simditor .simditor-popover .settings-field input[type=text] {
display: inline-block;
width: 200px;
From 891326967fc35b2f23e6a975681ce48fa0d77c68 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=A5=9E=E5=A5=87=E8=BE=89?=
Date: Wed, 31 May 2017 16:46:09 +0800
Subject: [PATCH 19/33] Accept
---
src/buttons/image.coffee | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/buttons/image.coffee b/src/buttons/image.coffee
index 9f55a466..b01bc3a2 100644
--- a/src/buttons/image.coffee
+++ b/src/buttons/image.coffee
@@ -104,7 +104,7 @@ class ImageButton extends Button
type: 'file'
title: @_t('uploadImage')
multiple: true
- # accept: 'image/*'
+ accept: 'image/gif,image/jpeg,image/jpg,image/png'
.appendTo($uploadItem)
createInput()
@@ -473,7 +473,7 @@ class ImagePopover extends Popover
type: 'file'
title: @_t('uploadImage')
multiple: true
- # accept: 'image/*'
+ accept: 'image/gif,image/jpeg,image/jpg,image/png'
.appendTo($uploadBtn)
createInput()
From 3c1279d0c58852bc7dbc79dbcbcefac174487773 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=A5=9E=E5=A5=87=E8=BE=89?=
Date: Wed, 31 May 2017 16:48:40 +0800
Subject: [PATCH 20/33] Fix package
---
package.json | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/package.json b/package.json
index 0d902ddb..2723e434 100644
--- a/package.json
+++ b/package.json
@@ -18,11 +18,10 @@
"main": "lib/simditor.js",
"homepage": "http://simditor.tower.im",
"dependencies": {
- "grunt-parallel": "^0.5.1",
"jquery": "~2.1.4",
"simple-hotkeys": "~1.0.3",
"simple-module": "~2.0.6",
- "simple-uploader": "~3.0.0"
+ "simple-uploader": "~2.0.7"
},
"devDependencies": {
"express": "~3.3.4",
@@ -39,6 +38,7 @@
"grunt-curl": "2.1.x",
"grunt-express": "1.4.0",
"grunt-jekyll": "0.x",
+ "grunt-parallel": "^0.5.1",
"grunt-umd": "2.3.x"
}
}
From dfbda365d2379e647d8bd14fdea48ac35495d53e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=A5=9E=E5=A5=87=E8=BE=89?=
Date: Wed, 31 May 2017 16:54:37 +0800
Subject: [PATCH 21/33] Accept
---
lib/simditor.js | 11 ++++-------
1 file changed, 4 insertions(+), 7 deletions(-)
diff --git a/lib/simditor.js b/lib/simditor.js
index e68aa3b1..8d387345 100644
--- a/lib/simditor.js
+++ b/lib/simditor.js
@@ -1,8 +1,3 @@
-/*!
-* Simditor v2.3.6
-* http://simditor.tower.im/
-* 2017-05-31
-*/
(function (root, factory) {
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module unless amdModuleId is set
@@ -4339,7 +4334,8 @@ ImageButton = (function(superClass) {
return $input = $('', {
type: 'file',
title: _this._t('uploadImage'),
- multiple: true
+ multiple: true,
+ accept: 'image/gif,image/jpeg,image/jpg,image/png'
}).appendTo($uploadItem);
};
})(this);
@@ -4743,7 +4739,8 @@ ImagePopover = (function(superClass) {
return _this.input = $('', {
type: 'file',
title: _this._t('uploadImage'),
- multiple: true
+ multiple: true,
+ accept: 'image/gif,image/jpeg,image/jpg,image/png'
}).appendTo($uploadBtn);
};
})(this);
From c85c7e4619f1e581cb3e545c65bc772bc1e3c095 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=A5=9E=E5=A5=87=E8=BE=89?=
Date: Wed, 31 May 2017 16:55:40 +0800
Subject: [PATCH 22/33] site/assets/scripts/page-demo.js add
---
site/assets/scripts/page-demo.js | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/site/assets/scripts/page-demo.js b/site/assets/scripts/page-demo.js
index af16793e..fa412bc1 100644
--- a/site/assets/scripts/page-demo.js
+++ b/site/assets/scripts/page-demo.js
@@ -15,22 +15,21 @@
defaultImage: 'assets/images/image.png',
// upload: location.search === '?upload' ? {
// url: '/upload'
- // } : false,
+ // } : false
upload: {
url: 'https:' === location.protocol ? 'https://up.qbox.me/' : 'http://up.qiniu.com',
connectionCount: 3,
leaveConfirm: '还在上传图片,确定要离开吗?',
- buildResultPath: () => {
- window.console.log('buildResultPath result', retusl);
+ buildResultPath: (result) => {
+ window.console.log('buildResultPath result', result);
return '';
- },
+ }
params: () => {
window.console.log('params');
return {};
},
}
});
- window.editor = editor;
$preview = $('#preview');
if ($preview.length > 0) {
return editor.on('valuechanged', function(e) {
From 8d85d9cfa548fb732b29ba6812d82aa9b78bacc9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=A5=9E=E5=A5=87=E8=BE=89?=
Date: Wed, 31 May 2017 16:55:46 +0800
Subject: [PATCH 23/33] Accept fix
---
site/assets/scripts/simditor.js | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/site/assets/scripts/simditor.js b/site/assets/scripts/simditor.js
index 28368ca7..8d387345 100644
--- a/site/assets/scripts/simditor.js
+++ b/site/assets/scripts/simditor.js
@@ -4334,7 +4334,8 @@ ImageButton = (function(superClass) {
return $input = $('', {
type: 'file',
title: _this._t('uploadImage'),
- multiple: true
+ multiple: true,
+ accept: 'image/gif,image/jpeg,image/jpg,image/png'
}).appendTo($uploadItem);
};
})(this);
@@ -4738,7 +4739,8 @@ ImagePopover = (function(superClass) {
return _this.input = $('', {
type: 'file',
title: _this._t('uploadImage'),
- multiple: true
+ multiple: true,
+ accept: 'image/gif,image/jpeg,image/jpg,image/png'
}).appendTo($uploadBtn);
};
})(this);
From 8aac2ebb8483b9361a286376cde72a05880a6ceb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=A5=9E=E5=A5=87=E8=BE=89?=
Date: Wed, 31 May 2017 17:32:53 +0800
Subject: [PATCH 24/33] Upload config
---
site/assets/_coffee/page-demo.coffee | 11 +++++++++++
site/assets/scripts/page-demo.js | 18 +++++++++---------
2 files changed, 20 insertions(+), 9 deletions(-)
diff --git a/site/assets/_coffee/page-demo.coffee b/site/assets/_coffee/page-demo.coffee
index 2956280b..76d493c0 100644
--- a/site/assets/_coffee/page-demo.coffee
+++ b/site/assets/_coffee/page-demo.coffee
@@ -12,6 +12,17 @@ $ ->
pasteImage: true
defaultImage: 'assets/images/image.png'
upload: if location.search == '?upload' then {url: '/upload'} else false
+ upload: {
+ url: if 'https:' is location.protocol then 'https://up.qbox.me/' else 'http://up.qiniu.com'
+ connectionCount: 3
+ leaveConfirm: '还在上传图片,确定要离开吗?'
+ buildResultPath: () ->
+ console.log 'buildResultPath result', retust
+ return ''
+ params: () ->
+ console.log 'params'
+ return {}
+ }
$preview = $('#preview')
if $preview.length > 0
diff --git a/site/assets/scripts/page-demo.js b/site/assets/scripts/page-demo.js
index fa412bc1..8b7a32dd 100644
--- a/site/assets/scripts/page-demo.js
+++ b/site/assets/scripts/page-demo.js
@@ -13,21 +13,21 @@
toolbar: toolbar,
pasteImage: true,
defaultImage: 'assets/images/image.png',
- // upload: location.search === '?upload' ? {
- // url: '/upload'
- // } : false
+ upload: location.search === '?upload' ? {
+ url: '/upload'
+ } : false,
upload: {
url: 'https:' === location.protocol ? 'https://up.qbox.me/' : 'http://up.qiniu.com',
connectionCount: 3,
leaveConfirm: '还在上传图片,确定要离开吗?',
- buildResultPath: (result) => {
- window.console.log('buildResultPath result', result);
+ buildResultPath: function() {
+ console.log('buildResultPath result', retust);
return '';
- }
- params: () => {
- window.console.log('params');
- return {};
},
+ params: function() {
+ console.log('params');
+ return {};
+ }
}
});
$preview = $('#preview');
From 7deb46b00743465302a3b8b1fcbfd31147ea6516 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=A5=9E=E5=A5=87=E8=BE=89?=
Date: Wed, 31 May 2017 17:59:37 +0800
Subject: [PATCH 25/33] simpleHotkeys simpleUploader
---
Gruntfile.coffee | 2 +-
lib/simditor.js | 7 ++++++-
2 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/Gruntfile.coffee b/Gruntfile.coffee
index 6d13c4fc..9bbdcc7f 100644
--- a/Gruntfile.coffee
+++ b/Gruntfile.coffee
@@ -92,7 +92,7 @@ module.exports = (grunt) ->
amd: ['jquery', 'simple-module', 'simple-hotkeys', 'simple-uploader']
cjs: ['jquery', 'simple-module', 'simple-hotkeys', 'simple-uploader']
global:
- items: ['jQuery', 'SimpleModule', 'simple.hotkeys', 'simple.uploader']
+ items: ['jQuery', 'SimpleModule', 'simpleHotkeys', 'simpleUploader']
prefix: ''
copy:
diff --git a/lib/simditor.js b/lib/simditor.js
index 8d387345..d0df86e5 100644
--- a/lib/simditor.js
+++ b/lib/simditor.js
@@ -1,3 +1,8 @@
+/*!
+* Simditor v2.3.6
+* http://simditor.tower.im/
+* 2017-05-31
+*/
(function (root, factory) {
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module unless amdModuleId is set
@@ -10,7 +15,7 @@
// like Node.
module.exports = factory(require("jquery"),require("simple-module"),require("simple-hotkeys"),require("simple-uploader"));
} else {
- root['Simditor'] = factory(root["jQuery"],root["SimpleModule"],root["simple.hotkeys"],root["simple.uploader"]);
+ root['Simditor'] = factory(root["jQuery"],root["SimpleModule"],root["simpleHotkeys"],root["simpleUploader"]);
}
}(this, function ($, SimpleModule, simpleHotkeys, simpleUploader) {
From 5d7c056ca5d6a21739a9b7fd38e7b7c429fccac1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=A5=9E=E5=A5=87=E8=BE=89?=
Date: Wed, 31 May 2017 18:17:57 +0800
Subject: [PATCH 26/33] Params settings
---
site/assets/_coffee/page-demo.coffee | 12 +++++++++++-
site/assets/scripts/hotkeys.js | 11 +++++------
site/assets/scripts/page-demo.js | 13 ++++++++++++-
site/assets/scripts/simditor.js | 2 +-
site/assets/scripts/uploader.js | 18 ++++++++++++------
5 files changed, 41 insertions(+), 15 deletions(-)
diff --git a/site/assets/_coffee/page-demo.coffee b/site/assets/_coffee/page-demo.coffee
index 76d493c0..14c7e0d2 100644
--- a/site/assets/_coffee/page-demo.coffee
+++ b/site/assets/_coffee/page-demo.coffee
@@ -21,7 +21,17 @@ $ ->
return ''
params: () ->
console.log 'params'
- return {}
+ request = new XMLHttpRequest()
+ request.open('GET', 'https://api.github.com', false)
+ request.send(null)
+ window.r1 = request;
+
+ if request.status is 200
+ console.log(request.responseText)
+ console.log 'params sync request'
+ return {
+ a: request.responseText,
+ }
}
$preview = $('#preview')
diff --git a/site/assets/scripts/hotkeys.js b/site/assets/scripts/hotkeys.js
index 347e777f..89671304 100644
--- a/site/assets/scripts/hotkeys.js
+++ b/site/assets/scripts/hotkeys.js
@@ -2,7 +2,7 @@
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module unless amdModuleId is set
define('simple-hotkeys', ["jquery","simple-module"], function ($, SimpleModule) {
- return (root['hotkeys'] = factory($, SimpleModule));
+ return (root['simpleHotkeys'] = factory($, SimpleModule));
});
} else if (typeof exports === 'object') {
// Node. Does not work with strict CommonJS, but
@@ -11,12 +11,11 @@
module.exports = factory(require("jquery"),require("simple-module"));
} else {
root.simple = root.simple || {};
- root.simple['hotkeys'] = factory(jQuery,SimpleModule);
- root['simple.hotkeys'] = factory(jQuery,SimpleModule);
+ root['simpleHotkeys'] = factory(root["jQuery"],root["SimpleModule"]);
}
}(this, function ($, SimpleModule) {
-var Hotkeys, hotkeys,
+var Hotkeys, simpleHotkeys,
extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },
hasProp = {}.hasOwnProperty;
@@ -232,11 +231,11 @@ Hotkeys = (function(superClass) {
})(SimpleModule);
-hotkeys = function(opts) {
+simpleHotkeys = function(opts) {
return new Hotkeys(opts);
};
-return hotkeys;
+return simpleHotkeys;
}));
diff --git a/site/assets/scripts/page-demo.js b/site/assets/scripts/page-demo.js
index 8b7a32dd..55cbffd8 100644
--- a/site/assets/scripts/page-demo.js
+++ b/site/assets/scripts/page-demo.js
@@ -25,8 +25,19 @@
return '';
},
params: function() {
+ var request;
console.log('params');
- return {};
+ request = new XMLHttpRequest();
+ request.open('GET', 'https://api.github.com', false);
+ request.send(null);
+ window.r1 = request;
+ if (request.status === 200) {
+ console.log(request.responseText);
+ }
+ console.log('params sync request');
+ return {
+ a: request.responseText
+ };
}
}
});
diff --git a/site/assets/scripts/simditor.js b/site/assets/scripts/simditor.js
index 8d387345..b0159fd1 100644
--- a/site/assets/scripts/simditor.js
+++ b/site/assets/scripts/simditor.js
@@ -10,7 +10,7 @@
// like Node.
module.exports = factory(require("jquery"),require("simple-module"),require("simple-hotkeys"),require("simple-uploader"));
} else {
- root['Simditor'] = factory(root["jQuery"],root["SimpleModule"],root["simple.hotkeys"],root["simple.uploader"]);
+ root['Simditor'] = factory(root["jQuery"],root["SimpleModule"],root["simpleHotkeys"],root["simpleUploader"]);
}
}(this, function ($, SimpleModule, simpleHotkeys, simpleUploader) {
diff --git a/site/assets/scripts/uploader.js b/site/assets/scripts/uploader.js
index b46d1ab1..39ca3eaf 100644
--- a/site/assets/scripts/uploader.js
+++ b/site/assets/scripts/uploader.js
@@ -2,7 +2,7 @@
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module unless amdModuleId is set
define('simple-uploader', ["jquery","simple-module"], function ($, SimpleModule) {
- return (root['uploader'] = factory($, SimpleModule));
+ return (root['simpleUploader'] = factory($, SimpleModule));
});
} else if (typeof exports === 'object') {
// Node. Does not work with strict CommonJS, but
@@ -11,11 +11,11 @@
module.exports = factory(require("jquery"),require("simple-module"));
} else {
root.simple = root.simple || {};
- root.simple['uploader'] = factory(jQuery,SimpleModule);
+ root['simpleUploader'] = factory(root["jQuery"],root["SimpleModule"]);
}
}(this, function ($, SimpleModule) {
-var Uploader, uploader,
+var Uploader, simpleUploader,
extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },
hasProp = {}.hasOwnProperty;
@@ -108,15 +108,21 @@ Uploader = (function(superClass) {
Uploader.prototype.getFile = function(fileObj) {
var name, ref, ref1;
+ window.console.log('getFile entry');
if (fileObj instanceof window.File || fileObj instanceof window.Blob) {
name = (ref = fileObj.fileName) != null ? ref : fileObj.name;
} else {
return null;
}
+ window.console.log('getFile run');
+ if ($.isFunction(this.opts.params)) {
+ window.console.log('getFile @opts.params()');
+ this.opts.params();
+ }
return {
id: this.generateId(),
url: this.opts.url,
- params: this.opts.params,
+ params: $.isFunction(this.opts.params) ? this.opts.params() : this.opts.params,
fileKey: this.opts.fileKey,
name: name,
size: (ref1 = fileObj.fileSize) != null ? ref1 : fileObj.size,
@@ -252,10 +258,10 @@ Uploader = (function(superClass) {
})(SimpleModule);
-uploader = function(opts) {
+simpleUploader = function(opts) {
return new Uploader(opts);
};
-return uploader;
+return simpleUploader;
}));
From f0740f579a1d8f98006b0783d083394a7ca3af56 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=A5=9E=E5=A5=87=E8=BE=89?=
Date: Wed, 31 May 2017 18:19:48 +0800
Subject: [PATCH 27/33] Package
---
package.json | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/package.json b/package.json
index 2723e434..83b1932a 100644
--- a/package.json
+++ b/package.json
@@ -19,9 +19,9 @@
"homepage": "http://simditor.tower.im",
"dependencies": {
"jquery": "~2.1.4",
- "simple-hotkeys": "~1.0.3",
+ "simple-hotkeys": "github:pchange/simple-hotkeys#0ae78e4e3d326af65052bb2de009b6d61b450b51",
"simple-module": "~2.0.6",
- "simple-uploader": "~2.0.7"
+ "simple-uploader": "github:pchange/simple-uploader#e6e2bf82e376158703953c36dac81bb6cc02ab95",
},
"devDependencies": {
"express": "~3.3.4",
From 2e144deb9c16510a32b2058d7705ce870207a09f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=A5=9E=E5=A5=87=E8=BE=89?=
Date: Wed, 31 May 2017 18:30:54 +0800
Subject: [PATCH 28/33] Fix package
---
package.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/package.json b/package.json
index 83b1932a..1139e26c 100644
--- a/package.json
+++ b/package.json
@@ -21,7 +21,7 @@
"jquery": "~2.1.4",
"simple-hotkeys": "github:pchange/simple-hotkeys#0ae78e4e3d326af65052bb2de009b6d61b450b51",
"simple-module": "~2.0.6",
- "simple-uploader": "github:pchange/simple-uploader#e6e2bf82e376158703953c36dac81bb6cc02ab95",
+ "simple-uploader": "github:pchange/simple-uploader#e6e2bf82e376158703953c36dac81bb6cc02ab95"
},
"devDependencies": {
"express": "~3.3.4",
From 290357b2c5b5240f9cafe8fa10282c686916f8a7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=A5=9E=E5=A5=87=E8=BE=89?=
Date: Wed, 31 May 2017 18:45:28 +0800
Subject: [PATCH 29/33] Remove width
---
lib/simditor.js | 9 ---------
site/assets/scripts/simditor.js | 4 ----
src/buttons/image.coffee | 6 +++---
3 files changed, 3 insertions(+), 16 deletions(-)
diff --git a/lib/simditor.js b/lib/simditor.js
index d0df86e5..a8ddda3a 100644
--- a/lib/simditor.js
+++ b/lib/simditor.js
@@ -1,8 +1,3 @@
-/*!
-* Simditor v2.3.6
-* http://simditor.tower.im/
-* 2017-05-31
-*/
(function (root, factory) {
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module unless amdModuleId is set
@@ -4542,15 +4537,11 @@ ImageButton = (function(superClass) {
img = new Image();
img.onload = (function(_this) {
return function() {
- var height, width;
if (!$img.hasClass('loading') && !$img.hasClass('uploading')) {
return;
}
- width = img.width;
- height = img.height;
$img.attr({
src: src,
- width: width,
'data-image-size': width + ',' + height
}).removeClass('loading');
if ($img.hasClass('uploading')) {
diff --git a/site/assets/scripts/simditor.js b/site/assets/scripts/simditor.js
index b0159fd1..a8ddda3a 100644
--- a/site/assets/scripts/simditor.js
+++ b/site/assets/scripts/simditor.js
@@ -4537,15 +4537,11 @@ ImageButton = (function(superClass) {
img = new Image();
img.onload = (function(_this) {
return function() {
- var height, width;
if (!$img.hasClass('loading') && !$img.hasClass('uploading')) {
return;
}
- width = img.width;
- height = img.height;
$img.attr({
src: src,
- width: width,
'data-image-size': width + ',' + height
}).removeClass('loading');
if ($img.hasClass('uploading')) {
diff --git a/src/buttons/image.coffee b/src/buttons/image.coffee
index b01bc3a2..bcd99274 100644
--- a/src/buttons/image.coffee
+++ b/src/buttons/image.coffee
@@ -276,12 +276,12 @@ class ImageButton extends Button
img.onload = =>
return if !$img.hasClass('loading') and !$img.hasClass('uploading')
- width = img.width
- height = img.height
+ # width = img.width
+ # height = img.height
$img.attr
src: src,
- width: width,
+ # width: width,
# height: height,
'data-image-size': width + ',' + height
.removeClass('loading')
From 99efaf4a34abfccb35e96c0e0339511b87dc2e86 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=A5=9E=E5=A5=87=E8=BE=89?=
Date: Wed, 31 May 2017 19:32:35 +0800
Subject: [PATCH 30/33] Width
---
lib/simditor.js | 8 ++++++++
site/assets/scripts/simditor.js | 3 +++
src/buttons/image.coffee | 4 ++--
3 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/lib/simditor.js b/lib/simditor.js
index a8ddda3a..fa70b241 100644
--- a/lib/simditor.js
+++ b/lib/simditor.js
@@ -1,3 +1,8 @@
+/*!
+* Simditor v2.3.6
+* http://simditor.tower.im/
+* 2017-05-31
+*/
(function (root, factory) {
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module unless amdModuleId is set
@@ -4537,9 +4542,12 @@ ImageButton = (function(superClass) {
img = new Image();
img.onload = (function(_this) {
return function() {
+ var height, width;
if (!$img.hasClass('loading') && !$img.hasClass('uploading')) {
return;
}
+ width = img.width;
+ height = img.height;
$img.attr({
src: src,
'data-image-size': width + ',' + height
diff --git a/site/assets/scripts/simditor.js b/site/assets/scripts/simditor.js
index a8ddda3a..d3ef0b17 100644
--- a/site/assets/scripts/simditor.js
+++ b/site/assets/scripts/simditor.js
@@ -4537,9 +4537,12 @@ ImageButton = (function(superClass) {
img = new Image();
img.onload = (function(_this) {
return function() {
+ var height, width;
if (!$img.hasClass('loading') && !$img.hasClass('uploading')) {
return;
}
+ width = img.width;
+ height = img.height;
$img.attr({
src: src,
'data-image-size': width + ',' + height
diff --git a/src/buttons/image.coffee b/src/buttons/image.coffee
index bcd99274..8308ba97 100644
--- a/src/buttons/image.coffee
+++ b/src/buttons/image.coffee
@@ -276,8 +276,8 @@ class ImageButton extends Button
img.onload = =>
return if !$img.hasClass('loading') and !$img.hasClass('uploading')
- # width = img.width
- # height = img.height
+ width = img.width
+ height = img.height
$img.attr
src: src,
From e83e66cc30a056b60d7fafcc6cb1f5f3c3170498 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=A5=9E=E5=A5=87=E8=BE=89?=
Date: Tue, 22 Aug 2017 13:40:14 +0800
Subject: [PATCH 31/33] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=9B=BE=E7=89=87?=
=?UTF-8?q?=E9=80=89=E4=B8=AD=EF=BC=8C=E5=93=8D=E5=BA=94=E5=BC=8F=E7=9A=84?=
=?UTF-8?q?=E9=97=AE=E9=A2=98=E3=80=82?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
lib/simditor.js | 26 ++++++++++++++------------
site/assets/scripts/simditor.js | 21 ++++++++++++++-------
src/buttons/image.coffee | 9 +++++++--
styles/simditor.css | 2 +-
4 files changed, 36 insertions(+), 22 deletions(-)
diff --git a/lib/simditor.js b/lib/simditor.js
index fa70b241..37cc6a0f 100644
--- a/lib/simditor.js
+++ b/lib/simditor.js
@@ -1,8 +1,3 @@
-/*!
-* Simditor v2.3.6
-* http://simditor.tower.im/
-* 2017-05-31
-*/
(function (root, factory) {
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module unless amdModuleId is set
@@ -4625,8 +4620,9 @@ ImagePopover = (function(superClass) {
};
ImagePopover.prototype.render = function() {
- var tpl;
- tpl = "";
+ var random, tpl;
+ random = '' + Math.random();
+ tpl = "";
this.el.addClass('image-popover').append(tpl);
this.srcEl = this.el.find('.image-src');
this.widthEl = this.el.find('#image-width');
@@ -4843,7 +4839,7 @@ ImagePopover = (function(superClass) {
}
return this.button.loadImage(this.target, src, (function(_this) {
return function(img) {
- var blob;
+ var blob, ref;
if (!img) {
return;
}
@@ -4857,6 +4853,9 @@ ImagePopover = (function(superClass) {
@heightEl.val @height
*/
_this.widthResponse.attr('checked', true);
+ if ((ref = _this.widthResponse[0]) != null) {
+ ref.checked = true;
+ }
}
if (/^data:image/.test(src)) {
blob = _this.editor.util.dataURLtoBlob(src);
@@ -4894,7 +4893,7 @@ ImagePopover = (function(superClass) {
};
ImagePopover.prototype.show = function() {
- var $img, args;
+ var $img, args, ref, ref1, ref2;
args = 1 <= arguments.length ? slice.call(arguments, 0) : [];
ImagePopover.__super__.show.apply(this, args);
$img = this.target;
@@ -4902,13 +4901,16 @@ ImagePopover = (function(superClass) {
this.alt = $img.attr('alt');
if ($img.hasClass('uploading')) {
this.srcEl.val(this._t('uploading')).prop('disabled', true);
- return this.widthResponse.attr('checked', true);
+ this.widthResponse.attr('checked', true);
+ return (ref = this.widthResponse[0]) != null ? ref.checked = true : void 0;
} else {
this.srcEl.val($img.attr('src')).prop('disabled', false);
if (('' + this.width).endsWith('%')) {
- return this.widthResponse.attr('checked', true);
+ this.widthResponse.attr('checked', true);
+ return (ref1 = this.widthResponse[0]) != null ? ref1.checked = true : void 0;
} else {
- return this.widthOrigin.attr('checked', true);
+ this.widthOrigin.attr('checked', true);
+ return (ref2 = this.widthOrigin[0]) != null ? ref2.checked = true : void 0;
}
}
};
diff --git a/site/assets/scripts/simditor.js b/site/assets/scripts/simditor.js
index d3ef0b17..37cc6a0f 100644
--- a/site/assets/scripts/simditor.js
+++ b/site/assets/scripts/simditor.js
@@ -4620,8 +4620,9 @@ ImagePopover = (function(superClass) {
};
ImagePopover.prototype.render = function() {
- var tpl;
- tpl = "";
+ var random, tpl;
+ random = '' + Math.random();
+ tpl = "";
this.el.addClass('image-popover').append(tpl);
this.srcEl = this.el.find('.image-src');
this.widthEl = this.el.find('#image-width');
@@ -4838,7 +4839,7 @@ ImagePopover = (function(superClass) {
}
return this.button.loadImage(this.target, src, (function(_this) {
return function(img) {
- var blob;
+ var blob, ref;
if (!img) {
return;
}
@@ -4852,6 +4853,9 @@ ImagePopover = (function(superClass) {
@heightEl.val @height
*/
_this.widthResponse.attr('checked', true);
+ if ((ref = _this.widthResponse[0]) != null) {
+ ref.checked = true;
+ }
}
if (/^data:image/.test(src)) {
blob = _this.editor.util.dataURLtoBlob(src);
@@ -4889,7 +4893,7 @@ ImagePopover = (function(superClass) {
};
ImagePopover.prototype.show = function() {
- var $img, args;
+ var $img, args, ref, ref1, ref2;
args = 1 <= arguments.length ? slice.call(arguments, 0) : [];
ImagePopover.__super__.show.apply(this, args);
$img = this.target;
@@ -4897,13 +4901,16 @@ ImagePopover = (function(superClass) {
this.alt = $img.attr('alt');
if ($img.hasClass('uploading')) {
this.srcEl.val(this._t('uploading')).prop('disabled', true);
- return this.widthResponse.attr('checked', true);
+ this.widthResponse.attr('checked', true);
+ return (ref = this.widthResponse[0]) != null ? ref.checked = true : void 0;
} else {
this.srcEl.val($img.attr('src')).prop('disabled', false);
if (('' + this.width).endsWith('%')) {
- return this.widthResponse.attr('checked', true);
+ this.widthResponse.attr('checked', true);
+ return (ref1 = this.widthResponse[0]) != null ? ref1.checked = true : void 0;
} else {
- return this.widthOrigin.attr('checked', true);
+ this.widthOrigin.attr('checked', true);
+ return (ref2 = this.widthOrigin[0]) != null ? ref2.checked = true : void 0;
}
}
};
diff --git a/src/buttons/image.coffee b/src/buttons/image.coffee
index 8308ba97..e95312e3 100644
--- a/src/buttons/image.coffee
+++ b/src/buttons/image.coffee
@@ -350,6 +350,7 @@ class ImagePopover extends Popover
left: -4
render: ->
+ random = '' + Math.random()
tpl = """
@@ -381,11 +382,11 @@ class ImagePopover extends Popover
@@ -562,6 +563,7 @@ class ImagePopover extends Popover
###
# 下面这行是新的
@widthResponse.attr('checked', true)
+ @widthResponse[0]?.checked = true
if /^data:image/.test(src)
blob = @editor.util.dataURLtoBlob src
@@ -602,13 +604,16 @@ class ImagePopover extends Popover
@srcEl.val @_t('uploading')
.prop 'disabled', true
@widthResponse.attr('checked', true)
+ @widthResponse[0]?.checked = true
else
@srcEl.val $img.attr('src')
.prop 'disabled', false
if (''+ @width).endsWith('%')
@widthResponse.attr('checked', true)
+ @widthResponse[0]?.checked = true
else
@widthOrigin.attr('checked', true)
+ @widthOrigin[0]?.checked = true
Simditor.Toolbar.addButton ImageButton
diff --git a/styles/simditor.css b/styles/simditor.css
index 73b85408..6d53f09d 100644
--- a/styles/simditor.css
+++ b/styles/simditor.css
@@ -1,7 +1,7 @@
/*!
* Simditor v2.3.6
* http://simditor.tower.im/
-* 2017-05-31
+* 2017-08-22
*/
@font-face {
font-family: 'Simditor';
From 3d066bf218894cc6840df2baaec489f2edaa80e6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=A5=9E=E5=A5=87=E8=BE=89?=
Date: Tue, 22 Aug 2017 13:59:14 +0800
Subject: [PATCH 32/33] simditor 2.3.6-next1
---
bower.json | 2 +-
package.json | 2 +-
styles/simditor.css | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/bower.json b/bower.json
index 2ba7a192..1fdf98cf 100644
--- a/bower.json
+++ b/bower.json
@@ -1,6 +1,6 @@
{
"name": "simditor",
- "version": "2.3.6",
+ "version": "2.3.6-next1",
"homepage": "http://simditor.tower.im/",
"authors": [
"farthinker "
diff --git a/package.json b/package.json
index 1139e26c..ba9601c4 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "simditor",
- "version": "2.3.6",
+ "version": "2.3.6-next1",
"description": "A simple online editor",
"keywords": "editor simditor",
"repository": {
diff --git a/styles/simditor.css b/styles/simditor.css
index 6d53f09d..8984664d 100644
--- a/styles/simditor.css
+++ b/styles/simditor.css
@@ -1,5 +1,5 @@
/*!
-* Simditor v2.3.6
+* Simditor v2.3.6-next1
* http://simditor.tower.im/
* 2017-08-22
*/
From 6da8fc9dc94a6998ca0ad92d3e3d271fa0adcb0b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=A5=9E=E5=A5=87=E8=BE=89?=
Date: Tue, 22 Aug 2017 14:17:22 +0800
Subject: [PATCH 33/33] =?UTF-8?q?simditor=202.3.6-next2=20=E9=80=89?=
=?UTF-8?q?=E6=8B=A9=E5=99=A8=E9=97=AE=E9=A2=98=E3=80=82?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
bower.json | 2 +-
lib/simditor.js | 7 ++++++-
package.json | 2 +-
site/assets/scripts/simditor.js | 2 +-
src/buttons/image.coffee | 2 +-
styles/simditor.css | 2 +-
6 files changed, 11 insertions(+), 6 deletions(-)
diff --git a/bower.json b/bower.json
index 1fdf98cf..ca697211 100644
--- a/bower.json
+++ b/bower.json
@@ -1,6 +1,6 @@
{
"name": "simditor",
- "version": "2.3.6-next1",
+ "version": "2.3.6-next2",
"homepage": "http://simditor.tower.im/",
"authors": [
"farthinker "
diff --git a/lib/simditor.js b/lib/simditor.js
index 37cc6a0f..1db22820 100644
--- a/lib/simditor.js
+++ b/lib/simditor.js
@@ -1,3 +1,8 @@
+/*!
+* Simditor v2.3.6-next2
+* http://simditor.tower.im/
+* 2017-08-22
+*/
(function (root, factory) {
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module unless amdModuleId is set
@@ -4653,7 +4658,7 @@ ImagePopover = (function(superClass) {
return _this.el.data('popover').refresh();
};
})(this));
- this.el.find('[name="imageSize"]').on('change', (function(_this) {
+ this.el.find('[name^=imageSize]').on('change', (function(_this) {
return function(e) {
_this._resizeImg($(e.currentTarget));
return _this.el.data('popover').refresh();
diff --git a/package.json b/package.json
index ba9601c4..9f16a8ba 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "simditor",
- "version": "2.3.6-next1",
+ "version": "2.3.6-next2",
"description": "A simple online editor",
"keywords": "editor simditor",
"repository": {
diff --git a/site/assets/scripts/simditor.js b/site/assets/scripts/simditor.js
index 37cc6a0f..aace712f 100644
--- a/site/assets/scripts/simditor.js
+++ b/site/assets/scripts/simditor.js
@@ -4653,7 +4653,7 @@ ImagePopover = (function(superClass) {
return _this.el.data('popover').refresh();
};
})(this));
- this.el.find('[name="imageSize"]').on('change', (function(_this) {
+ this.el.find('[name^=imageSize]').on('change', (function(_this) {
return function(e) {
_this._resizeImg($(e.currentTarget));
return _this.el.data('popover').refresh();
diff --git a/src/buttons/image.coffee b/src/buttons/image.coffee
index e95312e3..5060ec31 100644
--- a/src/buttons/image.coffee
+++ b/src/buttons/image.coffee
@@ -415,7 +415,7 @@ class ImagePopover extends Popover
@_resizeImg $(e.currentTarget)
@el.data('popover').refresh()
- @el.find('[name="imageSize"]').on 'change', (e) =>
+ @el.find('[name^=imageSize]').on 'change', (e) =>
@_resizeImg $(e.currentTarget)
@el.data('popover').refresh()
diff --git a/styles/simditor.css b/styles/simditor.css
index 8984664d..210fcbae 100644
--- a/styles/simditor.css
+++ b/styles/simditor.css
@@ -1,5 +1,5 @@
/*!
-* Simditor v2.3.6-next1
+* Simditor v2.3.6-next2
* http://simditor.tower.im/
* 2017-08-22
*/