You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@weex.apache.org by cx...@apache.org on 2017/03/16 08:58:56 UTC
[01/50] incubator-weex git commit: Merge branch '0.11-dev' into dev
Repository: incubator-weex
Updated Branches:
refs/heads/master 6e7143776 -> 66e1b5a39
Merge branch '0.11-dev' into dev
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/27965734
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/27965734
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/27965734
Branch: refs/heads/master
Commit: 27965734ebde1d5be3437ac74ce8da370b81fa76
Parents: 6e71437 94d5649
Author: sospartan zheng <so...@apache.org>
Authored: Tue Feb 21 17:01:35 2017 +0800
Committer: GitHub <no...@github.com>
Committed: Tue Feb 21 17:01:35 2017 +0800
----------------------------------------------------------------------
.eslintrc | 1 +
.gitignore | 2 +
.travis.yml | 22 +-
Dangerfile | 55 ++
Gemfile | 15 +
Gemfile.lock | 122 +++++
README.md | 2 +-
android/.gitignore | 3 +-
android/commons/build.gradle | 12 +-
.../weex/commons/AbstractWeexActivity.java | 2 +-
android/playground/app/build.gradle | 8 +-
.../java/com/alibaba/weex/IndexActivity.java | 204 +++++++
.../java/com/alibaba/weex/SplashActivity.java | 204 +++++++
.../java/com/alibaba/weex/WXApplication.java | 204 +++++++
.../java/com/alibaba/weex/WXBaseActivity.java | 204 +++++++
.../java/com/alibaba/weex/WXDebugActivity.java | 204 +++++++
.../java/com/alibaba/weex/WXPageActivity.java | 204 +++++++
.../com/alibaba/weex/constants/Constants.java | 204 +++++++
.../alibaba/weex/extend/PlayDebugAdapter.java | 204 +++++++
.../extend/adapter/InterceptWXHttpAdapter.java | 204 +++++++
.../alibaba/weex/extend/component/RichText.java | 204 +++++++
.../extend/component/WXComponentSyncTest.java | 204 +++++++
.../weex/extend/module/GeolocationModule.java | 204 +++++++
.../alibaba/weex/extend/module/MyModule.java | 204 +++++++
.../weex/extend/module/RenderModule.java | 204 +++++++
.../weex/extend/module/SyncTestModule.java | 204 +++++++
.../weex/extend/module/WXEventModule.java | 204 +++++++
.../extend/module/location/DefaultLocation.java | 204 +++++++
.../weex/extend/module/location/ILocatable.java | 204 +++++++
.../extend/module/location/LocationFactory.java | 204 +++++++
.../alibaba/weex/https/HotRefreshManager.java | 204 +++++++
.../com/alibaba/weex/https/WXHttpManager.java | 204 +++++++
.../com/alibaba/weex/https/WXHttpResponse.java | 204 +++++++
.../java/com/alibaba/weex/https/WXHttpTask.java | 204 +++++++
.../alibaba/weex/https/WXOkHttpDispatcher.java | 204 +++++++
.../alibaba/weex/https/WXRequestListener.java | 204 +++++++
.../zxing/client/android/CaptureActivity.java | 1 +
.../com.taobao.taobao_2016.11.21_17.35.li | Bin 2415126 -> 0 bytes
android/sdk/assets/main.js | 14 +-
android/sdk/build.gradle | 49 +-
.../main/java/com/taobao/weex/WXSDKEngine.java | 2 +-
.../java/com/taobao/weex/WXSDKInstance.java | 3 +-
.../weex/appfram/pickers/WXPickersModule.java | 8 +-
.../appfram/storage/WXSQLiteOpenHelper.java | 2 -
.../com/taobao/weex/bridge/WXBridgeManager.java | 92 ++--
.../java/com/taobao/weex/common/Constants.java | 14 +-
.../com/taobao/weex/dom/CSSAlignConvert.java | 204 +++++++
.../weex/dom/CSSFlexDirectionConvert.java | 204 +++++++
.../com/taobao/weex/dom/CSSJustifyConvert.java | 204 +++++++
.../taobao/weex/dom/CSSPositionTypeConvert.java | 204 +++++++
.../com/taobao/weex/dom/CSSWrapConvert.java | 204 +++++++
.../main/java/com/taobao/weex/dom/WXAttr.java | 13 +
.../com/taobao/weex/dom/WXCustomStyleSpan.java | 207 +++++++-
.../java/com/taobao/weex/dom/WXDomHandler.java | 2 +-
.../java/com/taobao/weex/dom/WXDomManager.java | 6 +-
.../java/com/taobao/weex/dom/WXDomObject.java | 5 +-
.../main/java/com/taobao/weex/dom/WXStyle.java | 4 +-
.../com/taobao/weex/dom/WXTextDomObject.java | 206 +++++++-
.../com/taobao/weex/ui/WXRenderStatement.java | 14 +-
.../weex/ui/animation/WXAnimationModule.java | 4 +-
.../ui/component/AbstractEditComponent.java | 126 ++++-
.../taobao/weex/ui/component/Scrollable.java | 4 +-
.../taobao/weex/ui/component/WXComponent.java | 18 +-
.../taobao/weex/ui/component/WXScroller.java | 126 ++++-
.../ui/component/list/BasicListComponent.java | 141 ++++-
.../weex/ui/component/pesudo/PesudoStatus.java | 18 +-
.../taobao/weex/ui/module/WXTimerModule.java | 139 +++--
.../taobao/weex/ui/view/WXCircleViewPager.java | 38 +-
.../com/taobao/weex/ui/view/WXScrollView.java | 4 +
.../weex/ui/view/border/BorderDrawable.java | 30 +-
.../taobao/weex/ui/view/border/BorderEdge.java | 6 +-
.../weex/ui/view/border/BorderRadiusType.java | 222 ++++++++
.../view/border/BorderWidthStyleColorType.java | 224 ++++++++
.../listview/ExtendedLinearLayoutManager.java | 256 +++++++++
.../weex/ui/view/listview/WXRecyclerView.java | 3 +-
.../listview/adapter/ListBaseViewHolder.java | 10 +-
.../taobao/weex/utils/WXDataStructureUtil.java | 211 +++++++-
.../main/java/com/taobao/weex/utils/WXHack.java | 527 -------------------
.../ui/component/list/WXListComponentTest.java | 19 +-
.../weex/ui/module/WXTimerModuleTest.java | 151 ++++--
.../weex/ui/view/border/BorderDrawableTest.java | 4 +-
bin/dist-browser.sh | 2 +-
circle.yml | 3 +-
examples/vue/components/slider.vue | 18 +-
examples/vue/components/text.vue | 4 +-
html5/render/vue/components/index.js | 2 +
.../render/vue/components/scrollable/header.js | 49 +-
.../vue/components/scrollable/list/index.js | 6 +-
.../vue/components/scrollable/list/listMixin.js | 26 +
.../vue/components/scrollable/scroller.js | 6 +-
html5/render/vue/components/slider/index.js | 24 +-
html5/render/vue/components/slider/indicator.js | 69 ++-
html5/render/vue/components/text.js | 12 +-
html5/render/vue/env/index.js | 2 +-
html5/render/vue/mixins/style.js | 218 +++++---
html5/render/vue/styles/components.css | 13 +-
ios/playground/Podfile | 2 +-
ios/playground/WeexDemo.app.zip | Bin 0 -> 2561323 bytes
.../WeexDemo.xcodeproj/project.pbxproj | 23 +-
ios/playground/WeexDemo/AppDelegate.m | 6 +
ios/playground/WeexDemo/DemoDefine.h | 4 +-
ios/playground/WeexDemo/Info.plist | 9 +
ios/playground/WeexDemo/UIView+UIThreadCheck.h | 15 +
ios/playground/WeexDemo/UIView+UIThreadCheck.m | 42 ++
ios/playground/WeexDemo/WXDemoViewController.m | 5 +
ios/sdk/WeexSDK.xcodeproj/project.pbxproj | 32 +-
.../xcshareddata/xcschemes/WeexSDK.xcscheme | 2 +-
.../xcschemes/WeexSDKTests.xcscheme | 4 +-
.../WeexSDK/Sources/Bridge/WXBridgeContext.h | 5 +
.../WeexSDK/Sources/Bridge/WXBridgeContext.m | 11 +-
ios/sdk/WeexSDK/Sources/Bridge/WXBridgeMethod.m | 38 ++
ios/sdk/WeexSDK/Sources/Bridge/WXJSCoreBridge.m | 1 +
.../WeexSDK/Sources/Component/WXCellComponent.h | 1 +
.../WeexSDK/Sources/Component/WXCellComponent.m | 5 +
.../Sources/Component/WXComponent_internal.h | 4 +-
.../Sources/Component/WXImageComponent.m | 2 +-
.../WeexSDK/Sources/Component/WXListComponent.m | 39 +-
.../Sources/Component/WXLoadingComponent.m | 4 +-
.../Sources/Component/WXRefreshComponent.h | 6 +
.../Sources/Component/WXRefreshComponent.m | 22 +-
.../Sources/Component/WXScrollerComponent.m | 69 ++-
.../Sources/Component/WXSliderComponent.m | 73 ++-
.../Sources/Component/WXTextAreaComponent.m | 51 ++
.../WeexSDK/Sources/Component/WXTextComponent.m | 46 ++
.../Sources/Component/WXTextInputComponent.m | 50 +-
ios/sdk/WeexSDK/Sources/Component/WXTransform.h | 15 +-
ios/sdk/WeexSDK/Sources/Component/WXTransform.m | 313 ++++++-----
.../Sources/Component/WXVideoComponent.m | 2 +-
.../Sources/Controller/WXBaseViewController.h | 2 +-
.../Sources/Controller/WXRootViewController.h | 2 +-
ios/sdk/WeexSDK/Sources/Debug/WXDebugTool.h | 8 +
ios/sdk/WeexSDK/Sources/Debug/WXDebugTool.m | 52 +-
ios/sdk/WeexSDK/Sources/Engine/WXSDKEngine.h | 9 +-
ios/sdk/WeexSDK/Sources/Engine/WXSDKEngine.m | 37 +-
ios/sdk/WeexSDK/Sources/Engine/WXSDKError.h | 2 +-
.../WeexSDK/Sources/Events/WXComponent+Events.m | 8 +-
.../WeexSDK/Sources/Layout/WXComponent+Layout.m | 3 +-
.../WeexSDK/Sources/Manager/WXBridgeManager.h | 23 +-
.../WeexSDK/Sources/Manager/WXBridgeManager.m | 13 +
.../Sources/Manager/WXComponentManager.h | 4 +-
.../Sources/Manager/WXComponentManager.m | 12 +-
ios/sdk/WeexSDK/Sources/Manager/WXRuleManager.m | 7 +-
.../WeexSDK/Sources/Manager/WXServiceFactory.m | 2 +-
ios/sdk/WeexSDK/Sources/Model/WXComponent.h | 6 +-
ios/sdk/WeexSDK/Sources/Model/WXComponent.m | 2 +-
.../WeexSDK/Sources/Model/WXJSExceptionInfo.h | 60 +++
.../WeexSDK/Sources/Model/WXJSExceptionInfo.m | 39 ++
ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.h | 19 +-
ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m | 7 +-
.../WeexSDK/Sources/Module/WXAnimationModule.m | 268 +++++++---
.../WeexSDK/Sources/Module/WXClipboardModule.m | 4 +-
ios/sdk/WeexSDK/Sources/Module/WXDomModule.m | 53 +-
.../Sources/Module/WXGlobalEventModule.m | 8 +-
.../WeexSDK/Sources/Module/WXModalUIModule.m | 4 +-
.../WeexSDK/Sources/Module/WXNavigatorModule.m | 12 +-
ios/sdk/WeexSDK/Sources/Module/WXPickerModule.m | 34 +-
.../WeexSDK/Sources/Module/WXStorageModule.m | 72 ++-
ios/sdk/WeexSDK/Sources/Module/WXStreamModule.m | 24 +-
.../WeexSDK/Sources/Module/WXWebSocketModule.m | 4 +-
.../Sources/Protocol/WXImgLoaderProtocol.h | 2 +-
.../Sources/Protocol/WXJSExceptionProtocol.h | 21 +
.../Sources/Protocol/WXNavigationProtocol.h | 8 +-
.../Sources/Protocol/WXScrollerProtocol.h | 2 +-
ios/sdk/WeexSDK/Sources/Utility/WXAssert.h | 3 +
ios/sdk/WeexSDK/Sources/Utility/WXConvert.h | 3 +-
ios/sdk/WeexSDK/Sources/Utility/WXConvert.m | 25 +-
ios/sdk/WeexSDK/Sources/Utility/WXDefine.h | 3 +-
ios/sdk/WeexSDK/Sources/Utility/WXLength.h | 31 ++
ios/sdk/WeexSDK/Sources/Utility/WXLength.m | 61 +++
ios/sdk/WeexSDK/Sources/Utility/WXUtility.h | 59 ++-
ios/sdk/WeexSDK/Sources/Utility/WXUtility.m | 121 +++--
.../Sources/View/WXComponent+ViewManagement.m | 18 +-
ios/sdk/WeexSDK/Sources/WeexSDK.h | 6 +
ios/sdk/WeexSDK/dependency/SRWebSocket.m | 4 +-
ios/sdk/WeexSDKTests/WXComponentTests.m | 2 +-
ios/sdk/WeexSDKTests/WXFloatCompareTests.m | 82 +++
ios/sdk/WeexSDKTests/WXRootViewTests.m | 35 +-
ios/sdk/WeexSDKTests/WXStorageTests.m | 16 +-
ios/sdk/WeexSDKTests/WXStreamModuleTests.m | 30 --
package.json | 4 +
packages/weex-html5/LICENSE | 201 +++++++
packages/weex-html5/NOTICE | 7 +
packages/weex-html5/README.md | 158 ++++++
packages/weex-html5/demo/build/index.js | 111 ++++
packages/weex-html5/demo/index.we | 29 +
packages/weex-html5/index.html | 57 ++
packages/weex-html5/package.json | 23 +
test/ci-funcs.sh | 110 ++++
test/mocha.opts | 2 +
test/pages/components/input.we | 0
test/pages/dom-operation.we | 32 ++
test/pages/list-scroll.we | 31 ++
test/pages/scroller-scroll.we | 31 ++
test/run.sh | 47 +-
test/scripts/components/scroll-event.test.js | 92 ++++
test/scripts/dom.test.js | 73 +++
test/scripts/index.test.js | 46 +-
test/scripts/test.js | 1 -
test/scripts/util.js | 57 ++
test/scripts/weex-node-map.js | 17 -
test/scripts/weex.js | 129 -----
201 files changed, 11546 insertions(+), 1686 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/27965734/android/playground/app/src/main/java/com/alibaba/weex/WXApplication.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/27965734/android/sdk/src/main/java/com/taobao/weex/WXSDKEngine.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/27965734/android/sdk/src/main/java/com/taobao/weex/WXSDKInstance.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/27965734/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridgeManager.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/27965734/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java
----------------------------------------------------------------------
diff --cc android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java
index b7562aa,8b7b970..cd7a11b
--- a/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java
+++ b/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java
@@@ -225,8 -225,10 +225,9 @@@ public abstract class WXComponent<T ex
private Set<String> mAppendEvents = new HashSet<>();
private WXAnimationModule.AnimationHolder mAnimationHolder;
private PesudoStatus mPesudoStatus = new PesudoStatus();
- private boolean mIsDestoryed = false;
+ private boolean mIsDestroyed = false;
+ private boolean mCanRecycled = true;
-
//Holding the animation bean when component is uninitialized
public void postAnimation(WXAnimationModule.AnimationHolder holder) {
this.mAnimationHolder = holder;
@@@ -1460,6 -1463,10 +1462,10 @@@
return mStickyOffset;
}
+ public boolean canRecycled(){
+ return mCanRecycled;
+ }
-
++
/**
* Sets the offset for the sticky
* @param stickyOffset child[y]-parent[y]
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/27965734/ios/playground/WeexDemo.xcodeproj/project.pbxproj
----------------------------------------------------------------------
diff --cc ios/playground/WeexDemo.xcodeproj/project.pbxproj
index c88f61e,6db9e16..5fb8ccb
--- a/ios/playground/WeexDemo.xcodeproj/project.pbxproj
+++ b/ios/playground/WeexDemo.xcodeproj/project.pbxproj
@@@ -449,10 -453,9 +454,10 @@@
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
- shellScript = "myFile=\"XcodeCoverage/exportenv.sh\"\n\nif [ -f \"$myFile\" ]; then\nXcodeCoverage/exportenv.sh\nfi";
+ shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-WeexDemo/Pods-WeexDemo-resources.sh\"\n";
+ showEnvVarsInLog = 0;
};
- 567369891CE436EB000A646C /* ShellScript */ = {
+ 685399B3421CD1410375A2AD /* [CP] Embed Pods Frameworks */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/27965734/ios/playground/WeexDemo/Info.plist
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/27965734/package.json
----------------------------------------------------------------------
diff --cc package.json
index f3ee3a5,598ded6..ae91688
--- a/package.json
+++ b/package.json
@@@ -87,7 -87,8 +87,8 @@@
"semver": "^5.1.0",
"weex-components": "^0.2.0",
"weex-picker": "^0.1.0",
- "weex-rax-framework": "0.1.0",
+ "weex-rax-framework": "0.1.7",
+ "weex-styler":"0.1.8",
"weex-vue-framework": "2.1.8-weex.1"
},
"devDependencies": {
[04/50] incubator-weex git commit: Merge branch '0.11-dev' into dev
Posted by cx...@apache.org.
Merge branch '0.11-dev' into dev
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/a006f25a
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/a006f25a
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/a006f25a
Branch: refs/heads/master
Commit: a006f25a354b45033d334d952f2db25346d72c3a
Parents: 6c7e561 d049adc
Author: sospartan zheng <so...@apache.org>
Authored: Tue Feb 21 19:39:37 2017 +0800
Committer: GitHub <no...@github.com>
Committed: Tue Feb 21 19:39:37 2017 +0800
----------------------------------------------------------------------
package.json | 2 +-
test/run.sh | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/a006f25a/package.json
----------------------------------------------------------------------
[06/50] incubator-weex git commit: Merge branch 'dev' into website
Posted by cx...@apache.org.
Merge branch 'dev' into website
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/515324f2
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/515324f2
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/515324f2
Branch: refs/heads/master
Commit: 515324f2837162004a97f5d49e63ca4fde812704
Parents: 89dfb27 a006f25
Author: Yun Dong <yu...@gmail.com>
Authored: Wed Feb 22 11:06:35 2017 +0800
Committer: Yun Dong <yu...@gmail.com>
Committed: Wed Feb 22 11:06:35 2017 +0800
----------------------------------------------------------------------
.eslintignore | 2 +
.eslintrc | 1 +
.github/ISSUE_TEMPLATE.md | 30 +-
.github/PULL_REQUEST_TEMPLATE.md | 26 +-
.gitignore | 4 +
.travis.yml | 22 +-
.wwprc | 3 +-
Dangerfile | 55 +
Gemfile | 15 +
Gemfile.lock | 122 +
README.md | 39 +-
android/.gitignore | 3 +-
android/commons/build.gradle | 12 +-
.../weex/commons/AbstractWeexActivity.java | 2 +-
.../commons/adapter/JSExceptionAdapter.java | 222 +
android/playground/app/build.gradle | 8 +-
.../java/com/alibaba/weex/IndexActivity.java | 204 +
.../java/com/alibaba/weex/SplashActivity.java | 204 +
.../java/com/alibaba/weex/WXApplication.java | 206 +
.../java/com/alibaba/weex/WXBaseActivity.java | 204 +
.../java/com/alibaba/weex/WXDebugActivity.java | 204 +
.../java/com/alibaba/weex/WXPageActivity.java | 204 +
.../com/alibaba/weex/constants/Constants.java | 204 +
.../alibaba/weex/extend/PlayDebugAdapter.java | 204 +
.../extend/adapter/InterceptWXHttpAdapter.java | 204 +
.../alibaba/weex/extend/component/RichText.java | 204 +
.../extend/component/WXComponentSyncTest.java | 204 +
.../weex/extend/module/GeolocationModule.java | 204 +
.../alibaba/weex/extend/module/MyModule.java | 204 +
.../weex/extend/module/RenderModule.java | 204 +
.../weex/extend/module/SyncTestModule.java | 204 +
.../weex/extend/module/WXEventModule.java | 212 +-
.../extend/module/location/DefaultLocation.java | 204 +
.../weex/extend/module/location/ILocatable.java | 204 +
.../extend/module/location/LocationFactory.java | 204 +
.../alibaba/weex/https/HotRefreshManager.java | 204 +
.../com/alibaba/weex/https/WXHttpManager.java | 204 +
.../com/alibaba/weex/https/WXHttpResponse.java | 204 +
.../java/com/alibaba/weex/https/WXHttpTask.java | 204 +
.../alibaba/weex/https/WXOkHttpDispatcher.java | 204 +
.../alibaba/weex/https/WXRequestListener.java | 204 +
.../zxing/client/android/CaptureActivity.java | 1 +
.../com.taobao.taobao_2016.11.21_17.35.li | Bin 2415126 -> 0 bytes
android/run-ci.sh | 4 +
android/sdk/assets/main.js | 19932 +----------------
android/sdk/build.gradle | 52 +-
android/sdk/libs/armeabi/libweexv8.so | Bin 3583820 -> 3583820 bytes
android/sdk/libs/x86/libweexv8.so | Bin 4340864 -> 4340864 bytes
.../main/java/com/taobao/weex/InitConfig.java | 13 +
.../main/java/com/taobao/weex/WXSDKEngine.java | 7 +-
.../java/com/taobao/weex/WXSDKInstance.java | 17 +-
.../main/java/com/taobao/weex/WXSDKManager.java | 14 +
.../weex/adapter/IWXJSExceptionAdapter.java | 218 +
.../appfram/navigator/WXNavigatorModule.java | 88 +-
.../weex/appfram/pickers/WXPickersModule.java | 8 +-
.../appfram/storage/WXSQLiteOpenHelper.java | 2 -
.../com/taobao/weex/bridge/WXBridgeManager.java | 110 +-
.../com/taobao/weex/bridge/WXModuleManager.java | 31 +-
.../java/com/taobao/weex/common/Constants.java | 15 +-
.../taobao/weex/common/WXJSExceptionInfo.java | 331 +
.../java/com/taobao/weex/common/WXModule.java | 12 +-
.../com/taobao/weex/dom/CSSAlignConvert.java | 204 +
.../weex/dom/CSSFlexDirectionConvert.java | 204 +
.../com/taobao/weex/dom/CSSJustifyConvert.java | 204 +
.../taobao/weex/dom/CSSPositionTypeConvert.java | 204 +
.../com/taobao/weex/dom/CSSWrapConvert.java | 204 +
.../main/java/com/taobao/weex/dom/WXAttr.java | 13 +
.../com/taobao/weex/dom/WXCustomStyleSpan.java | 207 +-
.../java/com/taobao/weex/dom/WXDomHandler.java | 2 +-
.../java/com/taobao/weex/dom/WXDomManager.java | 6 +-
.../java/com/taobao/weex/dom/WXDomObject.java | 5 +-
.../main/java/com/taobao/weex/dom/WXStyle.java | 4 +-
.../com/taobao/weex/dom/WXTextDomObject.java | 206 +-
.../com/taobao/weex/http/WXStreamModule.java | 2 +-
.../com/taobao/weex/ui/WXRenderStatement.java | 14 +-
.../weex/ui/animation/WXAnimationModule.java | 4 +-
.../ui/component/AbstractEditComponent.java | 126 +-
.../taobao/weex/ui/component/Scrollable.java | 12 +-
.../java/com/taobao/weex/ui/component/WXA.java | 10 +-
.../taobao/weex/ui/component/WXComponent.java | 54 +-
.../com/taobao/weex/ui/component/WXImage.java | 14 +-
.../com/taobao/weex/ui/component/WXRefresh.java | 8 +-
.../taobao/weex/ui/component/WXScroller.java | 140 +-
.../weex/ui/component/WXSliderNeighbor.java | 93 +-
.../ui/component/list/BasicListComponent.java | 167 +-
.../component/list/HorizontalListComponent.java | 2 +-
.../weex/ui/component/pesudo/PesudoStatus.java | 18 +-
.../taobao/weex/ui/module/WXTimerModule.java | 139 +-
.../taobao/weex/ui/view/WXCircleViewPager.java | 38 +-
.../com/taobao/weex/ui/view/WXScrollView.java | 7 +
.../weex/ui/view/border/BorderDrawable.java | 30 +-
.../taobao/weex/ui/view/border/BorderEdge.java | 6 +-
.../weex/ui/view/border/BorderRadiusType.java | 222 +
.../view/border/BorderWidthStyleColorType.java | 224 +
.../taobao/weex/ui/view/gesture/WXGesture.java | 39 +
.../listview/ExtendedLinearLayoutManager.java | 256 +
.../weex/ui/view/listview/WXRecyclerView.java | 3 +-
.../listview/adapter/ListBaseViewHolder.java | 10 +-
.../adapter/WXRecyclerViewOnScrollListener.java | 6 +-
.../refresh/wrapper/BounceRecyclerView.java | 46 +-
.../taobao/weex/utils/WXDataStructureUtil.java | 211 +-
.../main/java/com/taobao/weex/utils/WXHack.java | 527 -
.../java/com/taobao/weex/utils/WXUtils.java | 200 +-
.../java/com/taobao/weex/utils/WXViewUtils.java | 8 +-
.../ui/component/list/WXListComponentTest.java | 19 +-
.../weex/ui/module/WXTimerModuleTest.java | 151 +-
.../weex/ui/view/border/BorderDrawableTest.java | 4 +-
.../java/com/taobao/weex/utils/WXUtilsTest.java | 125 +-
android/sdk/unittest.sh | 3 +-
bin/dist-browser.sh | 2 +-
build/build.js | 5 +
build/config.js | 5 +-
build/karma.vue.conf.js | 44 +
build/webpack.examples.web.config.js | 68 +
build/webpack.vue.config.js | 52 +
circle.yml | 3 +-
doc/advanced/extend-to-android.md | 175 +
doc/package.json | 5 +-
doc/source/cn/guide/intro/app-architecture.md | 34 +-
doc/source/cn/guide/intro/how-it-works.md | 38 +-
doc/source/cn/guide/intro/page-architecture.md | 18 +-
doc/source/cn/guide/intro/using-vue.md | 79 +-
doc/source/cn/guide/intro/web-dev-experience.md | 20 +-
.../cn/references/advanced/extend-to-android.md | 26 +
.../cn/references/advanced/extend-to-ios.md | 45 +-
.../cn/v-0.10/advanced/extend-to-android.md | 27 +-
doc/source/cn/v-0.10/advanced/extend-to-ios.md | 154 +-
doc/source/guide/intro/app-architecture.md | 57 +-
doc/source/guide/intro/how-it-works.md | 62 +-
doc/source/guide/intro/index.md | 4 +-
doc/source/guide/intro/page-architecture.md | 42 +-
doc/source/guide/intro/using-vue.md | 52 +-
doc/source/guide/intro/web-dev-experience.md | 29 +-
doc/source/guide/intro/write-once.md | 19 +-
doc/source/references/advanced/extend-jsfm.md | 2 +-
.../references/advanced/extend-to-android.md | 29 +-
.../references/advanced/extend-to-html5.md | 2 +-
doc/source/references/advanced/extend-to-ios.md | 80 +-
doc/source/references/advanced/index.md | 2 +-
.../advanced/integrate-devtool-to-android.md | 2 +-
.../advanced/integrate-devtool-to-ios.md | 2 +-
doc/source/references/components/cell.md | 6 +-
doc/source/references/gesture.md | 9 +-
doc/source/references/js-service/index.md | 114 +
doc/source/references/vue/difference-of-vuex.md | 2 +-
.../references/vue/difference-with-web.md | 2 +-
doc/source/references/vue/index.md | 2 +-
doc/source/v-0.10/advanced/extend-to-android.md | 57 +-
doc/source/v-0.10/advanced/extend-to-ios.md | 39 +
examples/component/lengthunitwx-demo.we | 68 +
examples/component/slider-neighbor/index.we | 28 +-
examples/component/text-demo.we | 17 +-
examples/index.we | 4 +-
examples/linear-gradient.we | 70 +
examples/showcase/pseudo-class.we | 102 +
examples/vue/animation.vue | 2 +-
examples/vue/components/input.vue | 2 +-
examples/vue/components/navigator.vue | 2 +-
examples/vue/components/slider.vue | 18 +-
examples/vue/components/text.vue | 4 +-
examples/vue/components/video.vue | 2 +-
examples/vue/components/web.vue | 2 +-
examples/vue/iconfont.vue | 2 +-
examples/vue/include/base-url.js | 2 +-
examples/vue/include/example-list-item.vue | 2 +-
examples/vue/include/marquee.vue | 2 +-
examples/vue/index.vue | 53 +-
examples/vue/modules/clipboard.vue | 4 +-
examples/vue/modules/modal.vue | 2 +-
examples/vue/modules/storage.vue | 2 +-
examples/vue/modules/stream.vue | 2 +-
examples/vue/showcase/calculator.vue | 2 +-
examples/vue/showcase/include/banner.vue | 2 +-
examples/vue/showcase/include/coupon.vue | 2 +-
examples/vue/showcase/include/link.vue | 2 +-
examples/vue/showcase/itemlist.vue | 2 +-
examples/vue/showcase/new-fashion.vue | 4 +-
examples/vue/syntax/script-instance.vue | 2 +-
examples/vue/syntax/script-module.vue | 4 +-
examples/vue/template.vue | 2 +-
html5/frameworks/legacy/app/ctrl/init.js | 2 -
html5/frameworks/legacy/app/ctrl/misc.js | 55 +-
html5/frameworks/legacy/app/instance.js | 14 +-
html5/frameworks/legacy/static/create.js | 6 +-
html5/render/browser/base/component/operate.js | 105 +-
.../browser/base/component/valueFilter.js | 26 +-
html5/render/browser/extend/api/globalEvent.js | 2 +-
.../browser/extend/components/richtext.js | 95 +
html5/render/browser/extend/components/text.js | 2 +-
html5/render/browser/render/index.js | 3 +-
html5/render/vue/.eslintrc | 5 +
html5/render/vue/README.md | 9 +
html5/render/vue/components/a.js | 24 +
html5/render/vue/components/div.js | 25 +
html5/render/vue/components/image.js | 39 +
html5/render/vue/components/index.js | 42 +
html5/render/vue/components/input.js | 53 +
.../render/vue/components/scrollable/header.js | 63 +
.../vue/components/scrollable/list/cell.js | 18 +
.../vue/components/scrollable/list/index.js | 71 +
.../vue/components/scrollable/list/listMixin.js | 117 +
.../components/scrollable/loading-indicator.js | 10 +
.../render/vue/components/scrollable/loading.js | 50 +
.../render/vue/components/scrollable/refresh.js | 51 +
.../vue/components/scrollable/scroller.js | 91 +
.../render/vue/components/scrollable/shared.js | 22 +
html5/render/vue/components/slider/index.js | 141 +
html5/render/vue/components/slider/indicator.js | 64 +
.../render/vue/components/slider/slideMixin.js | 113 +
html5/render/vue/components/switch.js | 57 +
html5/render/vue/components/text.js | 44 +
html5/render/vue/components/textarea.js | 43 +
html5/render/vue/components/video.js | 54 +
html5/render/vue/components/warning.js | 11 +
html5/render/vue/components/web.js | 52 +
html5/render/vue/env/WXEnvironment.js | 39 +
html5/render/vue/env/index.js | 24 +
html5/render/vue/env/viewport.js | 44 +
html5/render/vue/env/weex.js | 63 +
html5/render/vue/index.js | 43 +
html5/render/vue/mixins/base.js | 22 +
html5/render/vue/mixins/event.js | 76 +
html5/render/vue/mixins/index.js | 9 +
html5/render/vue/mixins/scrollable.js | 37 +
html5/render/vue/mixins/style.js | 167 +
html5/render/vue/modules/animation.js | 44 +
html5/render/vue/modules/dom.js | 86 +
html5/render/vue/modules/index.js | 38 +
html5/render/vue/modules/modal/alert.js | 44 +
html5/render/vue/modules/modal/confirm.js | 55 +
html5/render/vue/modules/modal/index.js | 48 +
html5/render/vue/modules/modal/modal.js | 62 +
html5/render/vue/modules/modal/prompt.js | 76 +
html5/render/vue/modules/modal/toast.js | 78 +
html5/render/vue/modules/navigator.js | 16 +
html5/render/vue/modules/webview.js | 21 +
html5/render/vue/styles/components.css | 506 +
html5/render/vue/styles/reset.css | 64 +
html5/render/vue/utils/component.js | 61 +
html5/render/vue/utils/event.js | 57 +
html5/render/vue/utils/func.js | 41 +
html5/render/vue/utils/index.js | 103 +
html5/render/vue/validator/check.js | 88 +
html5/render/vue/validator/index.js | 74 +
html5/render/vue/validator/prop.js | 4 +
html5/render/vue/validator/style.js | 109 +
html5/runtime/config.js | 4 +-
html5/runtime/init.js | 4 -
html5/runtime/task-center.js | 57 +
html5/services/amd/index.js | 18 +-
html5/test/case/prepare.js | 6 +-
html5/test/case/tester.js | 48 +-
html5/test/render/index.js | 3 +
html5/test/render/vue/components/image.js | 49 +
html5/test/render/vue/components/list.js | 21 +
html5/test/render/vue/components/switch.js | 87 +
html5/test/render/vue/components/text.js | 72 +
html5/test/render/vue/components/web.js | 29 +
html5/test/render/vue/examples/list-cell.js | 37 +
html5/test/render/vue/helper.js | 31 +
html5/test/render/vue/utils.js | 48 +
html5/test/render/vue/validator/check.js | 38 +
html5/test/render/vue/validator/index.js | 43 +
html5/test/render/vue/validator/prop.js | 14 +
html5/test/render/vue/validator/style.js | 271 +
html5/test/render/vue/vender/vue-2.0.0.js | 7 +
html5/test/render/vue/vender/vue-2.1.0.js | 8 +
html5/test/unit/default/app/ctrl.js | 14 +-
html5/test/unit/default/app/index.js | 28 +-
ios/playground/Podfile | 2 +-
ios/playground/WeexDemo.app.zip | Bin 0 -> 2561323 bytes
.../WeexDemo.xcodeproj/project.pbxproj | 60 +-
ios/playground/WeexDemo/AppDelegate.m | 18 +
.../AppIcon.appiconset/Icon-29.png | Bin 1682 -> 1614 bytes
.../AppIcon.appiconset/Icon-29@2x-1.png | Bin 2709 -> 2421 bytes
.../AppIcon.appiconset/Icon-29@2x.png | Bin 2709 -> 2421 bytes
.../AppIcon.appiconset/Icon-29@3x.png | Bin 3724 -> 3236 bytes
.../AppIcon.appiconset/Icon-40.png | Bin 2018 -> 1946 bytes
.../AppIcon.appiconset/Icon-40@2x-1.png | Bin 3368 -> 3016 bytes
.../AppIcon.appiconset/Icon-40@2x.png | Bin 3368 -> 3016 bytes
.../AppIcon.appiconset/Icon-40@3x.png | Bin 4715 -> 4172 bytes
.../AppIcon.appiconset/Icon-60@2x.png | Bin 4715 -> 4172 bytes
.../AppIcon.appiconset/Icon-60@3x.png | Bin 6892 -> 6017 bytes
.../AppIcon.appiconset/Icon-76.png | Bin 3324 -> 2918 bytes
.../AppIcon.appiconset/Icon-76@2x.png | Bin 5937 -> 5088 bytes
.../AppIcon.appiconset/Icon-83.5@2x.png | Bin 6942 -> 5537 bytes
ios/playground/WeexDemo/DemoDefine.h | 4 +-
ios/playground/WeexDemo/Info.plist | 20 +-
ios/playground/WeexDemo/UIView+UIThreadCheck.h | 15 +
ios/playground/WeexDemo/UIView+UIThreadCheck.m | 42 +
ios/playground/WeexDemo/WXDemoViewController.m | 5 +
ios/playground/bundlejs/animation.js | 3 +-
ios/playground/bundlejs/component/a-demo.js | 3 +-
.../bundlejs/component/countdown-demo.js | 3 +-
ios/playground/bundlejs/component/image-demo.js | 3 +-
ios/playground/bundlejs/component/input-demo.js | 3 +-
.../bundlejs/component/list/list-demo.js | 3 +-
.../bundlejs/component/marquee-demo.js | 3 +-
.../bundlejs/component/navigator-demo.js | 8 +-
.../bundlejs/component/process-bar-demo.js | 3 +-
.../bundlejs/component/scroller-demo.js | 3 +-
.../bundlejs/component/slider-neighbor/index.js | 264 +
.../slider-neighbor/silder-neighbor.js | 287 -
.../bundlejs/component/slider/index.js | 36 +-
.../bundlejs/component/tabbar/tabbar-demo.js | 5 +-
ios/playground/bundlejs/component/text-demo.js | 111 +-
ios/playground/bundlejs/component/video-demo.js | 3 +-
ios/playground/bundlejs/component/web-demo.js | 11 +-
ios/playground/bundlejs/error.js | 3 +-
ios/playground/bundlejs/index.js | 7 +-
ios/playground/bundlejs/linear-gradient.js | 367 +
ios/playground/bundlejs/module/clipboard.js | 20 +-
ios/playground/bundlejs/module/componentRect.js | 563 +
ios/playground/bundlejs/module/instance-api.js | 18 +-
ios/playground/bundlejs/module/modal.js | 22 +-
ios/playground/bundlejs/module/picker-demo.js | 22 +-
ios/playground/bundlejs/module/storage-demo.js | 18 +-
ios/playground/bundlejs/module/stream-demo.js | 22 +-
.../bundlejs/module/websocket-demo.js | 2409 ++
ios/playground/bundlejs/showcase/calculator.js | 25 +-
.../bundlejs/showcase/dropdown/dropdown-demo.js | 30 +-
.../bundlejs/showcase/dropdown/we-dropdown.js | 12 +-
ios/playground/bundlejs/showcase/minesweeper.js | 18 +-
.../bundlejs/showcase/new-fashion/banner.js | 8 +-
.../bundlejs/showcase/new-fashion/banners.js | 20 +-
.../bundlejs/showcase/new-fashion/brand.js | 36 +-
.../bundlejs/showcase/new-fashion/category.js | 24 +-
.../bundlejs/showcase/new-fashion/coupon.js | 12 +-
.../bundlejs/showcase/new-fashion/fashion.js | 38 +-
.../bundlejs/showcase/new-fashion/goods.js | 24 +-
.../bundlejs/showcase/new-fashion/headlines.js | 48 +-
.../bundlejs/showcase/new-fashion/image-demo.js | 3 +-
.../bundlejs/showcase/new-fashion/index.js | 27 +-
.../bundlejs/showcase/new-fashion/link.js | 8 +-
.../showcase/new-fashion/list/list-demo.js | 3 +-
.../bundlejs/showcase/new-fashion/main.js | 213 +-
.../bundlejs/showcase/new-fashion/match.js | 24 +-
.../bundlejs/showcase/new-fashion/resource.js | 38 +-
.../bundlejs/showcase/new-fashion/scene.js | 24 +-
.../bundlejs/showcase/pseudo-class.js | 2422 ++
ios/playground/bundlejs/showcase/ui.js | 28 +-
ios/playground/bundlejs/style/index.js | 80 +-
ios/playground/bundlejs/style/style-box.js | 44 +-
ios/playground/bundlejs/style/style-flex.js | 52 +-
ios/playground/bundlejs/style/style-item.js | 12 +-
ios/playground/bundlejs/syntax/hello-world-1.js | 4 +-
ios/playground/bundlejs/syntax/hello-world-2.js | 6 +-
ios/playground/bundlejs/syntax/hello-world-3.js | 10 +-
ios/playground/bundlejs/syntax/hello-world-4.js | 14 +-
ios/playground/bundlejs/syntax/hello-world-5.js | 14 +-
ios/playground/bundlejs/syntax/hello-world.js | 14 +-
ios/playground/bundlejs/syntax/index.js | 28 +-
.../bundlejs/syntax/script-component.js | 24 +-
ios/playground/bundlejs/syntax/script-data.js | 12 +-
ios/playground/bundlejs/syntax/script-events.js | 12 +-
.../bundlejs/syntax/script-instance.js | 12 +-
.../bundlejs/syntax/script-lifecycle.js | 12 +-
ios/playground/bundlejs/syntax/script-module.js | 12 +-
.../bundlejs/syntax/script-options.js | 12 +-
.../bundlejs/syntax/template-class.js | 12 +-
.../bundlejs/syntax/template-content.js | 20 +-
.../bundlejs/syntax/template-event.js | 12 +-
ios/playground/bundlejs/syntax/template-if.js | 12 +-
.../bundlejs/syntax/template-repeat-update.js | 12 +-
.../bundlejs/syntax/template-repeat.js | 12 +-
.../bundlejs/syntax/template-style.js | 8 +-
ios/playground/bundlejs/template.js | 15 +-
ios/playground/bundlejs/test.js | 128 +
ios/playground/bundlejs/vue/animation.js | 709 +
ios/playground/bundlejs/vue/components/a.js | 438 +
.../bundlejs/vue/components/countdown.js | 640 +
ios/playground/bundlejs/vue/components/image.js | 641 +
ios/playground/bundlejs/vue/components/input.js | 364 +
ios/playground/bundlejs/vue/components/list.js | 246 +
.../bundlejs/vue/components/marquee.js | 534 +
.../bundlejs/vue/components/navigator.js | 1059 +
.../bundlejs/vue/components/scroller.js | 304 +
.../bundlejs/vue/components/slider.js | 898 +
.../bundlejs/vue/components/tabbar.js | 599 +
ios/playground/bundlejs/vue/components/text.js | 513 +
ios/playground/bundlejs/vue/components/video.js | 396 +
ios/playground/bundlejs/vue/components/web.js | 459 +
ios/playground/bundlejs/vue/hello.js | 99 +
ios/playground/bundlejs/vue/iconfont.js | 204 +
ios/playground/bundlejs/vue/index.js | 496 +
.../bundlejs/vue/modules/clipboard.js | 691 +
.../bundlejs/vue/modules/instance-api.js | 304 +
ios/playground/bundlejs/vue/modules/modal.js | 581 +
ios/playground/bundlejs/vue/modules/storage.js | 381 +
ios/playground/bundlejs/vue/modules/stream.js | 477 +
.../bundlejs/vue/showcase/calculator.js | 340 +
.../bundlejs/vue/showcase/itemlist.js | 1062 +
.../bundlejs/vue/showcase/new-fashion.js | 3302 +++
.../bundlejs/vue/showcase/progress.js | 336 +
ios/playground/bundlejs/vue/style/index.js | 1566 ++
ios/playground/bundlejs/vue/style/style-box.js | 780 +
ios/playground/bundlejs/vue/style/style-flex.js | 919 +
ios/playground/bundlejs/vue/style/style-item.js | 155 +
.../bundlejs/vue/syntax/hello-world-1.js | 95 +
.../bundlejs/vue/syntax/hello-world-2.js | 112 +
.../bundlejs/vue/syntax/hello-world-3.js | 127 +
.../bundlejs/vue/syntax/hello-world-4.js | 167 +
.../bundlejs/vue/syntax/hello-world-5.js | 173 +
.../bundlejs/vue/syntax/hello-world.js | 183 +
.../bundlejs/vue/syntax/script-component.js | 224 +
.../bundlejs/vue/syntax/script-data.js | 214 +
.../bundlejs/vue/syntax/script-events.js | 161 +
.../bundlejs/vue/syntax/script-instance.js | 196 +
.../bundlejs/vue/syntax/script-lifecycle.js | 155 +
.../bundlejs/vue/syntax/script-module.js | 156 +
.../bundlejs/vue/syntax/script-options.js | 182 +
.../bundlejs/vue/syntax/template-class.js | 161 +
.../bundlejs/vue/syntax/template-content.js | 189 +
.../bundlejs/vue/syntax/template-event.js | 197 +
.../bundlejs/vue/syntax/template-if.js | 165 +
.../vue/syntax/template-repeat-update.js | 195 +
.../bundlejs/vue/syntax/template-repeat.js | 170 +
.../bundlejs/vue/syntax/template-style.js | 144 +
ios/playground/bundlejs/vue/template.js | 796 +
ios/sdk/WeexSDK.podspec | 2 +-
ios/sdk/WeexSDK.xcodeproj/project.pbxproj | 32 +-
.../xcshareddata/xcschemes/WeexSDK.xcscheme | 2 +-
.../xcschemes/WeexSDKTests.xcscheme | 4 +-
ios/sdk/WeexSDK/Resources/main.js | 14 +-
.../WeexSDK/Sources/Bridge/WXBridgeContext.h | 5 +
.../WeexSDK/Sources/Bridge/WXBridgeContext.m | 11 +-
ios/sdk/WeexSDK/Sources/Bridge/WXBridgeMethod.m | 38 +
ios/sdk/WeexSDK/Sources/Bridge/WXJSCoreBridge.m | 1 +
ios/sdk/WeexSDK/Sources/Bridge/WXModuleMethod.m | 12 +-
.../WeexSDK/Sources/Component/WXCellComponent.h | 1 +
.../WeexSDK/Sources/Component/WXCellComponent.m | 5 +
.../Sources/Component/WXComponent_internal.h | 4 +-
.../Sources/Component/WXImageComponent.m | 2 +-
.../WeexSDK/Sources/Component/WXListComponent.m | 39 +-
.../Sources/Component/WXLoadingComponent.m | 4 +-
.../Sources/Component/WXLoadingIndicator.h | 1 -
.../Sources/Component/WXLoadingIndicator.m | 81 +-
.../Sources/Component/WXRefreshComponent.h | 6 +
.../Sources/Component/WXRefreshComponent.m | 22 +-
.../Sources/Component/WXScrollerComponent.m | 69 +-
.../Sources/Component/WXSliderComponent.m | 80 +-
.../Sources/Component/WXTextAreaComponent.m | 51 +
.../WeexSDK/Sources/Component/WXTextComponent.m | 57 +-
.../Sources/Component/WXTextInputComponent.m | 50 +-
ios/sdk/WeexSDK/Sources/Component/WXTransform.h | 15 +-
ios/sdk/WeexSDK/Sources/Component/WXTransform.m | 310 +-
.../Sources/Component/WXVideoComponent.m | 2 +-
.../Sources/Controller/WXBaseViewController.h | 2 +-
.../Sources/Controller/WXRootViewController.h | 2 +-
ios/sdk/WeexSDK/Sources/Debug/WXDebugTool.h | 8 +
ios/sdk/WeexSDK/Sources/Debug/WXDebugTool.m | 52 +-
ios/sdk/WeexSDK/Sources/Engine/WXSDKEngine.h | 9 +-
ios/sdk/WeexSDK/Sources/Engine/WXSDKEngine.m | 37 +-
ios/sdk/WeexSDK/Sources/Engine/WXSDKError.h | 2 +-
.../WeexSDK/Sources/Events/WXComponent+Events.m | 8 +-
.../Sources/Handler/WXNavigationDefaultImpl.m | 6 +-
.../WeexSDK/Sources/Layout/WXComponent+Layout.m | 3 +-
.../WeexSDK/Sources/Manager/WXBridgeManager.h | 23 +-
.../WeexSDK/Sources/Manager/WXBridgeManager.m | 13 +
.../Sources/Manager/WXComponentManager.h | 4 +-
.../Sources/Manager/WXComponentManager.m | 12 +-
ios/sdk/WeexSDK/Sources/Manager/WXRuleManager.m | 7 +-
.../WeexSDK/Sources/Manager/WXServiceFactory.m | 2 +-
ios/sdk/WeexSDK/Sources/Model/WXComponent.h | 6 +-
ios/sdk/WeexSDK/Sources/Model/WXComponent.m | 2 +-
.../WeexSDK/Sources/Model/WXJSExceptionInfo.h | 60 +
.../WeexSDK/Sources/Model/WXJSExceptionInfo.m | 39 +
ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.h | 19 +-
ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m | 9 +-
.../WeexSDK/Sources/Module/WXAnimationModule.m | 272 +-
.../WeexSDK/Sources/Module/WXClipboardModule.m | 4 +-
ios/sdk/WeexSDK/Sources/Module/WXDomModule.m | 53 +-
.../Sources/Module/WXGlobalEventModule.m | 8 +-
.../WeexSDK/Sources/Module/WXModalUIModule.m | 4 +-
.../WeexSDK/Sources/Module/WXNavigatorModule.m | 22 +-
ios/sdk/WeexSDK/Sources/Module/WXPickerModule.m | 34 +-
.../WeexSDK/Sources/Module/WXStorageModule.m | 72 +-
ios/sdk/WeexSDK/Sources/Module/WXStreamModule.m | 24 +-
.../WeexSDK/Sources/Module/WXWebSocketModule.m | 4 +-
.../Sources/Protocol/WXImgLoaderProtocol.h | 2 +-
.../Sources/Protocol/WXJSExceptionProtocol.h | 21 +
.../Sources/Protocol/WXNavigationProtocol.h | 8 +-
.../Sources/Protocol/WXScrollerProtocol.h | 2 +-
ios/sdk/WeexSDK/Sources/Utility/WXAssert.h | 3 +
ios/sdk/WeexSDK/Sources/Utility/WXConvert.h | 3 +-
ios/sdk/WeexSDK/Sources/Utility/WXConvert.m | 25 +-
ios/sdk/WeexSDK/Sources/Utility/WXDefine.h | 3 +-
ios/sdk/WeexSDK/Sources/Utility/WXLength.h | 31 +
ios/sdk/WeexSDK/Sources/Utility/WXLength.m | 61 +
.../Utility/WXSimulatorShortcutManager.m | 12 +-
ios/sdk/WeexSDK/Sources/Utility/WXUtility.h | 63 +-
ios/sdk/WeexSDK/Sources/Utility/WXUtility.m | 131 +-
.../Sources/View/WXComponent+ViewManagement.m | 18 +-
ios/sdk/WeexSDK/Sources/WeexSDK.h | 6 +
ios/sdk/WeexSDK/dependency/SRWebSocket.m | 4 +-
ios/sdk/WeexSDKTests/WXComponentTests.m | 2 +-
ios/sdk/WeexSDKTests/WXFloatCompareTests.m | 82 +
ios/sdk/WeexSDKTests/WXRootViewTests.m | 35 +-
ios/sdk/WeexSDKTests/WXStorageTests.m | 16 +-
ios/sdk/WeexSDKTests/WXStreamModuleTests.m | 30 -
package.json | 37 +-
packages/weex-html5/LICENSE | 201 +
packages/weex-html5/NOTICE | 7 +
packages/weex-html5/README.md | 158 +
packages/weex-html5/demo/build/index.js | 111 +
packages/weex-html5/demo/index.we | 29 +
packages/weex-html5/index.html | 57 +
packages/weex-html5/package.json | 23 +
packages/weex-vue-render/README.md | 5 +
packages/weex-vue-render/package.json | 24 +
test/ci-funcs.sh | 110 +
test/mocha.opts | 2 +
test/pages/components/input.we | 0
test/pages/dom-operation.we | 32 +
test/pages/list-scroll.we | 31 +
test/pages/scroller-scroll.we | 31 +
test/run.sh | 47 +-
test/scripts/components/scroll-event.test.js | 92 +
test/scripts/dom.test.js | 73 +
test/scripts/index.test.js | 46 +-
test/scripts/test.js | 1 -
test/scripts/util.js | 57 +
test/scripts/weex-node-map.js | 17 -
test/scripts/weex.js | 129 -
vue.html | 43 +
525 files changed, 49698 insertions(+), 23175 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/515324f2/doc/source/cn/references/advanced/extend-to-android.md
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/515324f2/doc/source/cn/references/advanced/extend-to-ios.md
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/515324f2/doc/source/references/advanced/integrate-devtool-to-android.md
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/515324f2/doc/source/references/advanced/integrate-devtool-to-ios.md
----------------------------------------------------------------------
[07/50] incubator-weex git commit: * [doc] Fix typo.
Posted by cx...@apache.org.
* [doc] Fix typo.
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/537ab002
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/537ab002
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/537ab002
Branch: refs/heads/master
Commit: 537ab002aef27f14cc4de2dc790e86fd6b67c3e6
Parents: 515324f
Author: Yun Dong <yu...@gmail.com>
Authored: Wed Feb 22 11:23:32 2017 +0800
Committer: Yun Dong <yu...@gmail.com>
Committed: Wed Feb 22 11:23:32 2017 +0800
----------------------------------------------------------------------
doc/source/cn/references/modules/animation.md | 2 +-
doc/source/cn/references/modules/websocket.md | 224 +++++++++++++++++++++
doc/source/references/components/cell.md | 2 -
doc/source/references/components/div.md | 2 +-
doc/source/references/components/image.md | 4 +-
doc/source/references/components/indicator.md | 4 +-
doc/source/references/components/input.md | 2 -
doc/source/references/components/list.md | 2 -
doc/source/references/components/refresh.md | 2 -
doc/source/references/components/scroller.md | 4 -
doc/source/references/components/slider.md | 10 +-
doc/source/references/components/switch.md | 2 -
doc/source/references/components/textarea.md | 2 -
doc/source/references/components/video.md | 2 -
doc/source/references/components/web.md | 4 +-
doc/source/references/modules/globalevent.md | 2 +-
doc/source/references/modules/websocket.md | 223 ++++++++++++++++++++
17 files changed, 458 insertions(+), 35 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/537ab002/doc/source/cn/references/modules/animation.md
----------------------------------------------------------------------
diff --git a/doc/source/cn/references/modules/animation.md b/doc/source/cn/references/modules/animation.md
index 7de8d14..2ae020e 100644
--- a/doc/source/cn/references/modules/animation.md
+++ b/doc/source/cn/references/modules/animation.md
@@ -44,7 +44,7 @@ version: 2.1
| \u540d\u79f0 | \u63cf\u8ff0 | \u503c\u7c7b\u578b | \u9ed8\u8ba4\u503c | \u793a\u4f8b |
| ---- | ---- | ---- | ---- | ---- |
-| `translate`/`translateX`/`translateY` | \u6307\u5b9a\u5143\u7d20\u5c06\u5df2\u88ab\u79fb\u52a8\u5230\u7684\u65b0\u4f4d\u7f6e | \u50cf\u7d20\u503c\u6216\u767e\u5206\u6bd4 | \u65e0 |
+| `translate`/`translateX`/`translateY` | \u6307\u5b9a\u5143\u7d20\u79fb\u52a8\u7684\u504f\u79fb\u91cf | \u50cf\u7d20\u503c\u6216\u767e\u5206\u6bd4 | \u65e0 |
| `rotate` | \u6307\u5b9a\u5143\u7d20\u5c06\u88ab\u65cb\u8f6c\u7684\u89d2\u5ea6\uff0c\u5355\u4f4d\u662f\u5ea6 | number | \u65e0 |
| `scale`/`scaleX`/`scaleY` | \u6309\u6bd4\u4f8b\u653e\u5927\u6216\u7f29\u5c0f\u5143\u7d20 | number | \u65e0 |
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/537ab002/doc/source/cn/references/modules/websocket.md
----------------------------------------------------------------------
diff --git a/doc/source/cn/references/modules/websocket.md b/doc/source/cn/references/modules/websocket.md
new file mode 100644
index 0000000..4835e8e
--- /dev/null
+++ b/doc/source/cn/references/modules/websocket.md
@@ -0,0 +1,224 @@
+---
+title: WebSocket
+type: references
+order: 3.11
+version: 2.1
+---
+
+# WebSocket
+
+## Summary
+
+WebSockets \u662f\u4e00\u79cd\u5148\u8fdb\u7684\u6280\u672f, \u8fd9\u4f7f\u5f97\u5728\u7528\u6237\u7684 H5/iOS/Android \u548c\u4e00\u4e2a\u670d\u52a1\u5668\u4e4b\u95f4\u6253\u5f00\u4e00\u4e2a\u7684\u4ea4\u4e92\u5f0f\u901a\u4fe1\u4f1a\u8bdd\u6210\u4e3a\u53ef\u80fd, \u6709\u4e86\u8fd9\u4e2a API\uff0c\u4f60\u53ef\u4ee5\u5411\u670d\u52a1\u5668\u53d1\u9001\u6d88\u606f, \u5e76\u63a5\u6536\u4e8b\u4ef6\u9a71\u52a8\u7684\u54cd\u5e94, \u65e0\u9700\u8f6e\u8be2\u670d\u52a1\u5668\u7684\u54cd\u5e94
+
+## **\u6ce8\u610f\uff1a**
+- iOS\u548ch5\u63d0\u4f9b WebSockets \u7684 protocol \u9ed8\u8ba4\u5b9e\u73b0\uff0c\u5b89\u5353\u4f7f\u7528\u9700\u8981\u63d0\u4f9b\u81ea\u5b9a\u4e49 adapter \u5b9e\u73b0\uff0csource:
+ - [DefaultWebSocketAdapter.java](https://github.com/alibaba/weex/blob/dev/android/commons/src/main/java/com/alibaba/weex/commons/adapter/DefaultWebSocketAdapter.java);
+ - [DefaultWebSocketAdapterFactory.java](https://github.com/alibaba/weex/blob/dev/android/commons/src/main/java/com/alibaba/weex/commons/adapter/DefaultWebSocketAdapterFactory.java);
+ - \u96c6\u6210\u4f8b\u5b50\u53c2\u8003weex [playground](https://github.com/alibaba/weex/tree/dev/android/playground)
+
+- \u53ea\u5728.we\u6587\u4ef6\u652f\u6301\uff0c\u4e0d\u652f\u6301vue2.0
+
+## API
+### `WebSocket(url, protocol)`
+
+\u521b\u5efa WebSockets\uff0c\u5e76\u8fde\u63a5\u670d\u52a1\u5668
+
+#### Arguments
+
+- `url {string}`: \u8868\u793a\u8981\u8fde\u63a5\u7684 URL;
+- `protocol {string}`: WebSockets \u534f\u8bae
+
+### `send(data)`
+
+\u901a\u8fc7WebSocket\u8fde\u63a5\u5411\u670d\u52a1\u5668\u53d1\u9001\u6570\u636e
+
+#### Arguments
+
+- `data{string}`:\u8981\u53d1\u9001\u5230\u670d\u52a1\u5668\u7684\u6570\u636e
+
+### `close(code,reason)`
+
+\u5173\u95ed WebSockets \u7684\u94fe\u63a5
+
+#### Arguments
+
+- `code {number}`: \u5173\u95ed\u8fde\u63a5\u7684\u72b6\u6001\u53f7.
+- `reason {string}`: \u5173\u95ed\u7684\u539f\u56e0
+
+### `onopen(options)`
+
+\u94fe\u63a5\u6253\u5f00\u7684\u76d1\u542c
+
+#### Arguments
+
+- `options {object}`: \u4e00\u4e2a\u7a7a\u7684\u5bf9\u8c61
+
+### `onmessage(options)`
+
+\u6d88\u606f\u4e8b\u4ef6\u7684\u76d1\u542c\u5668
+
+#### Arguments
+
+- `options {object}`: \u670d\u52a1\u5668\u8fd4\u56de\u7684\u6d88\u606f\u5bf9\u8c61
+ - `data {string}`: \u76d1\u542c\u5668\u63a5\u6536\u7684\u5230\u7684\u6d88\u606f
+
+### `onclose(options)`
+
+\u5173\u95ed\u4e8b\u4ef6\u7684\u76d1\u542c\u5668
+
+#### Arguments
+
+- `options {object}`: \u76d1\u542c\u5668\u63a5\u6536\u5230\u7684\u5bf9\u8c61
+ - `code {number}`: \u670d\u52a1\u5668\u8fd4\u56de\u5173\u95ed\u7684\u72b6\u6001\u7801
+ - `reason {string}`: \u670d\u52a1\u5668\u8fd4\u56de\u7684\u5173\u95ed\u539f\u56e0
+ - `wasClean {boolen}`: \u662f\u5426\u5b8c\u5168\u5173\u95ed.
+
+### `onerror(options)`
+
+\u9519\u8bef\u4e8b\u4ef6\u7684\u76d1\u542c\u5668
+
+#### Arguments
+
+- `options {object}`: \u9519\u8bef\u4fe1\u606f\u7684\u4e8b\u4ef6
+ - `data {string}`: \u76d1\u542c\u5668\u63a5\u6536\u5230\u7684\u4fe1\u606f
+
+### Example
+
+```html
+<template>
+ <scroller>
+ <div>
+ <div style="background-color: #286090">
+ <text class="title" style="height: 80px ;padding: 20px;color: white">websocket</text>
+ </div>
+ <input
+ type="text"
+ placeholder="please input message to send"
+ class="input"
+ autofocus="false"
+ value=""
+ onchange="onchange"
+ oninput="oninput"
+ id = "input"
+ />
+ <div style="flex-direction: row; justify-content: center;">
+ <text class="button" onclick="{{connect}}">connect</text>
+ <text class="button" onclick="{{send}}">send</text>
+ <text class="button" onclick="{{close}}">close</text>
+ </div>
+
+ <div style="background-color: lightgray">
+ <text class="title" style="height: 80px ;padding: 20px;color: black">method = send</text>
+ </div>
+ <text style="color: black;height: 80px">{{sendinfo}}</text>
+
+
+ <div style="background-color: lightgray">
+ <text class="title" style="height: 80px ;padding: 20px;color: black">method = onopen</text>
+ </div>
+ <text style="color: black;height: 80px">{{onopeninfo}}</text>
+
+ <div style="background-color: lightgray">
+ <text class="title" style="height: 80px ;padding: 20px;color: black">method = onmessage</text>
+ </div>
+ <text style="color: black;height: 400px">{{onmessage}}</text>
+
+ <div style="background-color: lightgray">
+ <text class="title" style="height: 80px ;padding: 20px;color: black">method = onclose</text>
+ </div>
+ <text style="color: black;height: 80px">{{oncloseinfo}}</text>
+
+ <div style="background-color: lightgray">
+ <text class="title" style="height: 80px ;padding: 20px;color: black">method = onerror</text>
+ </div>
+ <text style="color: black;height: 80px">{{onerrorinfo}}</text>
+
+ <div style="background-color: lightgray">
+ <text class="title" style="height: 80px ;padding: 20px;color: black">method = close</text>
+ </div>
+ <text style="color: black;height: 80px">{{closeinfo}}</text>
+
+ </div>
+ </div>
+ </scroller>
+</template>
+
+<style>
+ .input {
+ font-size: 40px;
+ height: 80px;
+ width: 600px;
+ }
+ .button {
+ font-size: 36px;
+ width: 150px;
+ color: #41B883;
+ text-align: center;
+ padding-top: 25px;
+ padding-bottom: 25px;
+ border-width: 2px;
+ border-style: solid;
+ margin-right: 20px;
+ border-color: rgb(162, 217, 192);
+ background-color: rgba(162, 217, 192, 0.2);
+ }
+</style>
+
+<script>
+ var websocket = require('@weex-module/webSocket');
+ module.exports = {
+ data: {
+ connectinfo: '',
+ sendinfo: '',
+ onopeninfo: '',
+ onmessage: '',
+ oncloseinfo: '',
+ onerrorinfo: '',
+ closeinfo: '',
+ txtInput:'',
+ navBarHeight: 88,
+ title: 'Navigator',
+ dir: 'examples',
+ baseURL: '',
+ },
+ methods: {
+ connect:function() {
+ websocket.WebSocket('ws://115.29.193.48:8088','');
+ var self = this;
+ websocket.onopen = function(e)
+ {
+ self.onopeninfo = JSON.stringify(e);
+ }
+ websocket.onmessage = function(e)
+ {
+ self.onmessage = e.data;
+ }
+ websocket.onerror = function(e)
+ {
+ self.onerrorinfo = e.data;
+ }
+ websocket.onclose = function(e)
+ {
+ self.onerrorinfo = e.code;
+ }
+ },
+ send:function(e) {
+ var input = this.$el('input');
+ input.blur();
+ websocket.send(this.txtInput);
+ this.sendinfo = this.txtInput;
+
+ },
+ oninput: function(event) {
+ this.txtInput = event.value;
+ },
+ close:function(e) {
+ websocket.close();
+ },
+ }
+ };
+</script>
+```
+
+[Have a try](http://dotwe.org/weex/993f33173a712fecfb61c1c4b03bcb70)
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/537ab002/doc/source/references/components/cell.md
----------------------------------------------------------------------
diff --git a/doc/source/references/components/cell.md b/doc/source/references/components/cell.md
index 8820104..97fb7ed 100644
--- a/doc/source/references/components/cell.md
+++ b/doc/source/references/components/cell.md
@@ -17,8 +17,6 @@ This type of component supports all kinds of weex component as its child compone
### Attributes
-**common attributes**: check out the [common attributes](../common-attrs.html).
-
**Notes:** you can't give `<cell>` a `flex` value. Width of `<cell>` is equal to the width of its parent component `<list>`, and you don't need to specify its height.
### Styles
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/537ab002/doc/source/references/components/div.md
----------------------------------------------------------------------
diff --git a/doc/source/references/components/div.md b/doc/source/references/components/div.md
index 7bb0491..2531a31 100644
--- a/doc/source/references/components/div.md
+++ b/doc/source/references/components/div.md
@@ -19,7 +19,7 @@ This type of component supports all kinds of weex component as its child compone
### Attributes
-There is no specific attribute for this component other than the [common attributes](../common-attrs.html).
+There is no specific attribute for this component.
### Styles
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/537ab002/doc/source/references/components/image.md
----------------------------------------------------------------------
diff --git a/doc/source/references/components/image.md b/doc/source/references/components/image.md
index c4fab98..6d8fd3f 100644
--- a/doc/source/references/components/image.md
+++ b/doc/source/references/components/image.md
@@ -25,14 +25,12 @@ This component supports no child components.
- `resize`: <span class="api-version">v0.5+</span> <string> the 'ScaleType' of the component. The default value is ``stretch``, if this attribute is not specified. Possible values are ``cover``, ``contain``, each of which has the same meaning with w3c standard.
- `placeholder`: <span class="api-version">v0.9+</span> <string> image to display while the network image src is loading.
-Other attributes please check out the [common attributes](../common-attrs.html).
-
### Styles
- `width`: <length> the width of the component. This style should be specified.
- `height`: <length> the height of the component. This style should be specifed.
-**common styles**: check out the [common styles](../common-attrs.html)
+**common styles**: check out the [common styles](../common-style.html)
- support flexbox related styles
- support box model related styles
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/537ab002/doc/source/references/components/indicator.md
----------------------------------------------------------------------
diff --git a/doc/source/references/components/indicator.md b/doc/source/references/components/indicator.md
index d5c58d1..9093656 100644
--- a/doc/source/references/components/indicator.md
+++ b/doc/source/references/components/indicator.md
@@ -17,7 +17,7 @@ This component supports no child components.
### Attributes
-There is no specific attribute for this component other than the [common attributes](../common-attrs.html).
+There is no specific attribute for this component.
### Styles
@@ -25,7 +25,7 @@ There is no specific attribute for this component other than the [common attribu
- `item-selectedColor`: <colors> This style attribute sets the selected item color using either a named color or a color specified in the hexadecimal #RRGGBB format.
- `item-size`: <length> The size of the indicator elements, which is an float attribute.
-**common styles**: check out the [common styles](../common-attrs.html)
+**common styles**: check out the [common styles](../common-style.html)
- support flexbox related styles
- support box model related styles
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/537ab002/doc/source/references/components/input.md
----------------------------------------------------------------------
diff --git a/doc/source/references/components/input.md b/doc/source/references/components/input.md
index c7487aa..1033351 100644
--- a/doc/source/references/components/input.md
+++ b/doc/source/references/components/input.md
@@ -29,8 +29,6 @@ This component supports no child components.
* `maxlength`: <span class="api-version">v0.7+</span> a number value to specify maxlength of input.
-Other attributes please check out the�[common attributes](../common-attrs.html).
-
## Styles
* placeholder-color: the color of placeholder. Default value is�'#999999'.
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/537ab002/doc/source/references/components/list.md
----------------------------------------------------------------------
diff --git a/doc/source/references/components/list.md b/doc/source/references/components/list.md
index e3870a3..07f50ec 100644
--- a/doc/source/references/components/list.md
+++ b/doc/source/references/components/list.md
@@ -77,8 +77,6 @@ Notes: The list now supports the following child components: cell, header, refre
Please checkout [Scroller Component Attributes](./scroller.html) to have a look at the inherited attributes from direct parent.
-Other attributes please check out the [common attributes](../common-attrs.html).
-
### Styles
common styles: check out [common styles for components](../common-style.html)
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/537ab002/doc/source/references/components/refresh.md
----------------------------------------------------------------------
diff --git a/doc/source/references/components/refresh.md b/doc/source/references/components/refresh.md
index 2cfc08d..521e07c 100644
--- a/doc/source/references/components/refresh.md
+++ b/doc/source/references/components/refresh.md
@@ -23,8 +23,6 @@ Any other components, like the text and img components, can be put inside the re
* display has value of show or hide.
-Other attributes please check out the [common attributes](../common-attrs.html).
-
### Styles
common styles: check out [common styles for components](../common-style.html)
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/537ab002/doc/source/references/components/scroller.md
----------------------------------------------------------------------
diff --git a/doc/source/references/components/scroller.md b/doc/source/references/components/scroller.md
index 2b23253..1de3721 100644
--- a/doc/source/references/components/scroller.md
+++ b/doc/source/references/components/scroller.md
@@ -31,10 +31,6 @@ And there are two special components that can only be used inside scroller compo
* loadmoreretry : <number> default value 0\uff0cwhether to reset loadmore related UI when loadmore failed, will be deprecated in further release.
-Please checkout [Scroller Component Attributes]() to have a look at the inherited attributes from direct parent.
-
-Other attributes please check out the [common attributes](../common-attrs.html).
-
## Styles
common styles: check out [common styles for components](../common-style.html)
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/537ab002/doc/source/references/components/slider.md
----------------------------------------------------------------------
diff --git a/doc/source/references/components/slider.md b/doc/source/references/components/slider.md
index c50c700..e826a2f 100644
--- a/doc/source/references/components/slider.md
+++ b/doc/source/references/components/slider.md
@@ -21,11 +21,9 @@ It supports all kinds of weex components as its slides, especially the `indicato
- `interval`: <number> millisecond. This value determines time interval for each page displayed in slider.
- `index`: <number> . This value determines the index of current shown slide. The default value is `0`.
-Other attributes please check out the [common attributes](../references/common-attrs.html).
-
## Styles
-**common styles**: check out [common styles for components](../references/common-style.html)
+**common styles**: check out [common styles for components](../common-style.html)
- support flexbox related styles
- support box model related styles
@@ -36,10 +34,10 @@ Other attributes please check out the [common attributes](../references/common-a
- `change`: triggerd when the slide's index is changed. The event object contains the attribute of `index`, which is the index number of the currently shown slide.
-**common events**: check out the [common events](../references/common-event.html)
+**common events**: check out the [common events](../common-event.html)
-- support `click` event. Check out [common events](../references/common-event.html)
-- support `appear` / `disappear` event. Check out [common events](../references/common-event.html)
+- support `click` event. Check out [common events](../common-event.html)
+- support `appear` / `disappear` event. Check out [common events](../common-event.html)
### Example
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/537ab002/doc/source/references/components/switch.md
----------------------------------------------------------------------
diff --git a/doc/source/references/components/switch.md b/doc/source/references/components/switch.md
index 7a71264..8756441 100644
--- a/doc/source/references/components/switch.md
+++ b/doc/source/references/components/switch.md
@@ -21,8 +21,6 @@ There are no child components for the switch component.
* checked <boolean> true|false, default value is false, indicating whether the button is on or not.
* disabled <boolean> true|false, default value is false, indicating whether the button is enable or not.
-Other attributes please check out the [common attributes](../common-attrs.html).
-
## Styles
Notes: There are several style properties that you mustn't use on this component. And here are all the invalid properties:
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/537ab002/doc/source/references/components/textarea.md
----------------------------------------------------------------------
diff --git a/doc/source/references/components/textarea.md b/doc/source/references/components/textarea.md
index a15c149..827674c 100644
--- a/doc/source/references/components/textarea.md
+++ b/doc/source/references/components/textarea.md
@@ -27,8 +27,6 @@ This component supports no child components.
- `autofocus`: <boolean> a boolean attribute lets you specify that a form control should have input focus when the page loads.
- `rows:`<number> a number which can specify the height of textarea, default is `2`.
-Other attributes please check out the [common attributes](../common-attrs.html).
-
### Styles
**Pseudo-class**<span class="api-version">v0.9.5+</span>: `textarea` component support the following pseudo-classes:
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/537ab002/doc/source/references/components/video.md
----------------------------------------------------------------------
diff --git a/doc/source/references/components/video.md b/doc/source/references/components/video.md
index 04af1a4..9d13989 100644
--- a/doc/source/references/components/video.md
+++ b/doc/source/references/components/video.md
@@ -19,8 +19,6 @@ The video component can be used to embed video content in a weex page.
* play-status: <boolean> play | pause. Use it to control video's play/pause status. Default value is pause.
* auto-play: <boolean> true | false. Use it to control whether it is playing when the page initialization finished. Defalut value is false.
-Other attributes please check out the [common attributes](../common-attrs.html).
-
## Styles
common styles: check out [common styles for components](../common-style.html)
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/537ab002/doc/source/references/components/web.md
----------------------------------------------------------------------
diff --git a/doc/source/references/components/web.md b/doc/source/references/components/web.md
index d03406b..7d2aa39 100644
--- a/doc/source/references/components/web.md
+++ b/doc/source/references/components/web.md
@@ -18,8 +18,6 @@ This component supports no child components.
**src**(string): this attribute specifies the page source to load.
-Other attributes please check out the�[common attributes](../common-attrs.html).
-
## Styles
**width**(float): the width of the component, default value is 0. This style must be specified.
@@ -29,7 +27,7 @@ Other attributes please check out the�[common attributes](../common-attrs.html)
### common styles
-check out the�[common styles](../common-attrs.html).
+check out the�[common styles](../common-style.html).
support flexbox related styles
support box model related styles
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/537ab002/doc/source/references/modules/globalevent.md
----------------------------------------------------------------------
diff --git a/doc/source/references/modules/globalevent.md b/doc/source/references/modules/globalevent.md
index e102ea6..66df3a2 100644
--- a/doc/source/references/modules/globalevent.md
+++ b/doc/source/references/modules/globalevent.md
@@ -44,7 +44,7 @@ document.dispatchEvent(evt)
```java
Map<String,Object> params=new HashMap<>();
params.put("key","value");
-mWXSDKInstance.fireGlobalEventCallback("geolocation",params);
+mWXSDKInstance.fireGlobalEventCallback("geolocation", params);
```
#### iOS
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/537ab002/doc/source/references/modules/websocket.md
----------------------------------------------------------------------
diff --git a/doc/source/references/modules/websocket.md b/doc/source/references/modules/websocket.md
new file mode 100644
index 0000000..7868903
--- /dev/null
+++ b/doc/source/references/modules/websocket.md
@@ -0,0 +1,223 @@
+---
+title: WebSocket
+type: references
+order: 3.11
+version: 2.1
+---
+
+# WebSocket
+
+## Summary
+
+WebSockets is an advanced technology that makes it possible to open an interactive communication session between the user's H5/iOS/android and a server. With this API, you can send messages to a server and receive event-driven responses without having to poll the server for a reply
+
+## **Notes:**
+- iOS and h5 provide webSocket default handle. if you use webSocket in android environment . you should provide custom adapter implementation,source:
+ - [DefaultWebSocketAdapter.java](https://github.com/alibaba/weex/blob/dev/android/commons/src/main/java/com/alibaba/weex/commons/adapter/DefaultWebSocketAdapter.java);
+ - [DefaultWebSocketAdapterFactory.java](https://github.com/alibaba/weex/blob/dev/android/commons/src/main/java/com/alibaba/weex/commons/adapter/DefaultWebSocketAdapterFactory.java);
+ - refer: [weex playground](https://github.com/alibaba/weex/tree/dev/android/playground)
+- only support in .we file,not support in vue2.0
+
+## API
+### `WebSocket(url, protocol)`
+
+create websocket
+
+#### Arguments
+
+- `url {string}`:The URL to which to connect;
+- `protocol {string}`:the websocket protocol
+
+### `send(data)`
+
+Transmits data to the server over the WebSocket connection
+
+#### Arguments
+
+- `data {string}`:A text string to send to the server.
+
+### `close(code,reason)`
+
+Closes the WebSocket connection or connection attempt, if any. If the connection is already CLOSED, this method does nothing.
+
+#### Arguments
+
+- `code {number}`: the status code explaining why the connection is being closed.
+- `reason {string}`:a string explaining why the connection is closing
+
+### `onopen(options)`
+
+An event listener to be called when the WebSocket connection's readyState changes to OPEN; this indicates that the connection is ready to send and receive data.
+
+#### Arguments
+
+- `options {object}`:an empty object
+
+### `onmessage(options)`
+
+An event listener to be called when a message is received from the server
+
+#### Arguments
+
+- `options {object}`:the server message options
+ - `data {string}`: The listener received message
+
+### `onclose(options)`
+
+An event listener to be called when the WebSocket connection's readyState changes to CLOSED
+
+#### Arguments
+
+- `options {object}`:the CloseEvent is sent to clients using WebSockets when the connection is closed
+ - `code {number}`: Returns an unsigned short containing the close code send by the server
+ - `reason {string}`: Returns a string indicating the reason the server closed the connection
+ - `wasClean {boolen}`: Returns a Boolean that Indicates whether or not the connection was cleanly closed.
+
+### `onerror(options)`
+
+An event listener to be called when an error occurs.
+
+#### Arguments
+
+- `options {object}`:the error event
+ - `data {string}`: The listener received error data
+
+### Example
+
+```html
+<template>
+ <scroller>
+ <div>
+ <div style="background-color: #286090">
+ <text class="title" style="height: 80px ;padding: 20px;color: white">websocket</text>
+ </div>
+ <input
+ type="text"
+ placeholder="please input message to send"
+ class="input"
+ autofocus="false"
+ value=""
+ onchange="onchange"
+ oninput="oninput"
+ id = "input"
+ />
+ <div style="flex-direction: row; justify-content: center;">
+ <text class="button" onclick="{{connect}}">connect</text>
+ <text class="button" onclick="{{send}}">send</text>
+ <text class="button" onclick="{{close}}">close</text>
+ </div>
+
+ <div style="background-color: lightgray">
+ <text class="title" style="height: 80px ;padding: 20px;color: black">method = send</text>
+ </div>
+ <text style="color: black;height: 80px">{{sendinfo}}</text>
+
+
+ <div style="background-color: lightgray">
+ <text class="title" style="height: 80px ;padding: 20px;color: black">method = onopen</text>
+ </div>
+ <text style="color: black;height: 80px">{{onopeninfo}}</text>
+
+ <div style="background-color: lightgray">
+ <text class="title" style="height: 80px ;padding: 20px;color: black">method = onmessage</text>
+ </div>
+ <text style="color: black;height: 400px">{{onmessage}}</text>
+
+ <div style="background-color: lightgray">
+ <text class="title" style="height: 80px ;padding: 20px;color: black">method = onclose</text>
+ </div>
+ <text style="color: black;height: 80px">{{oncloseinfo}}</text>
+
+ <div style="background-color: lightgray">
+ <text class="title" style="height: 80px ;padding: 20px;color: black">method = onerror</text>
+ </div>
+ <text style="color: black;height: 80px">{{onerrorinfo}}</text>
+
+ <div style="background-color: lightgray">
+ <text class="title" style="height: 80px ;padding: 20px;color: black">method = close</text>
+ </div>
+ <text style="color: black;height: 80px">{{closeinfo}}</text>
+
+ </div>
+ </div>
+ </scroller>
+</template>
+
+<style>
+ .input {
+ font-size: 40px;
+ height: 80px;
+ width: 600px;
+ }
+ .button {
+ font-size: 36px;
+ width: 150px;
+ color: #41B883;
+ text-align: center;
+ padding-top: 25px;
+ padding-bottom: 25px;
+ border-width: 2px;
+ border-style: solid;
+ margin-right: 20px;
+ border-color: rgb(162, 217, 192);
+ background-color: rgba(162, 217, 192, 0.2);
+ }
+</style>
+
+<script>
+ var websocket = require('@weex-module/webSocket');
+ module.exports = {
+ data: {
+ connectinfo: '',
+ sendinfo: '',
+ onopeninfo: '',
+ onmessage: '',
+ oncloseinfo: '',
+ onerrorinfo: '',
+ closeinfo: '',
+ txtInput:'',
+ navBarHeight: 88,
+ title: 'Navigator',
+ dir: 'examples',
+ baseURL: '',
+ },
+ methods: {
+ connect:function() {
+ websocket.WebSocket('ws://115.29.193.48:8088','');
+ var self = this;
+ websocket.onopen = function(e)
+ {
+ self.onopeninfo = JSON.stringify(e);
+ }
+ websocket.onmessage = function(e)
+ {
+ self.onmessage = e.data;
+ }
+ websocket.onerror = function(e)
+ {
+ self.onerrorinfo = e.data;
+ }
+ websocket.onclose = function(e)
+ {
+ self.onerrorinfo = e.code;
+ }
+ },
+ send:function(e) {
+ var input = this.$el('input');
+ input.blur();
+ websocket.send(this.txtInput);
+ this.sendinfo = this.txtInput;
+
+ },
+ oninput: function(event) {
+ this.txtInput = event.value;
+ },
+ close:function(e) {
+ websocket.close();
+ },
+ }
+ };
+</script>
+```
+
+[Have a try](http://dotwe.org/weex/993f33173a712fecfb61c1c4b03bcb70)
[13/50] incubator-weex git commit: + [doc] translate the 'Using Vuex
and vue-router' into English
Posted by cx...@apache.org.
+ [doc] translate the 'Using Vuex and vue-router' into English
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/b8c627d0
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/b8c627d0
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/b8c627d0
Branch: refs/heads/master
Commit: b8c627d02d93c233e40009fb6da7b104ecdf5bc1
Parents: 9011361
Author: Hanks <zh...@gmail.com>
Authored: Thu Feb 23 15:41:57 2017 +0800
Committer: Hanks <zh...@gmail.com>
Committed: Thu Feb 23 15:41:57 2017 +0800
----------------------------------------------------------------------
doc/source/references/vue/difference-of-vuex.md | 85 +++++++++++++++++++-
1 file changed, 82 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b8c627d0/doc/source/references/vue/difference-of-vuex.md
----------------------------------------------------------------------
diff --git a/doc/source/references/vue/difference-of-vuex.md b/doc/source/references/vue/difference-of-vuex.md
index 62eabce..5929769 100644
--- a/doc/source/references/vue/difference-of-vuex.md
+++ b/doc/source/references/vue/difference-of-vuex.md
@@ -1,10 +1,89 @@
---
-title: Using Vuex & vue-router
+title: Using Vuex and vue-router
type: references
order: 10.2
version: 2.1
---
-# Using Vuex & vue-router
+# Using Vuex and vue-router
-Work in progresss.
\ No newline at end of file
+Vue.js also has many peripheral technology products such as [Vuex](https://github.com/vuejs/vuex) and [vue-router](https://github.com/vuejs/vue-router), etc. Those libraries can also works well in Weex.
+
+> We developed a complete project based on Weex and Vue.js which named [weex-hackernews](https://github.com/weepteam/web-ehackernews). We used Vuex and vue-loader in it, and it works well on both iOS, Android and web.
+
+## Using Vuex
+
+> [Official Vuex documents](https://vuex.vuejs.org/en/)
+
+
+
+Vuex is a state management pattern + library for Vue.js applications. it's also a library implementation tailored specifically for Vue.js to take advantage of its granular reactivity system for efficient updates. It serves as a centralized store for all the components in an application, with rules ensuring that the state can only be mutated in a predictable fashion.
+
+As a kind of state management library, Vuex is platform-independent, It also can be used in Weex. Read its [official documents](https://vuex.vuejs.org/en/) for more details.
+
+It also integrates with Vue's official [devtools extension](https://github.com/vuejs/vue-devtools) to provide advanced features on web platform, such as zero-config time-travel debugging and state snapshot export / import. (web platform only)
+
+## Using vue-router
+
+> [Official vue-router documents](https://router.vuejs.org/en/)
+
+Creating a Single-page Application with Vue.js + vue-router is dead simple. With Vue.js, you are already composing our application with components. When adding vue-router to the mix, all you need to do is map your components to the routes and let vue-router know where to render them.
+
+However, there are many difference between web and Android or iOS, some features of vue-router are limited in Weex.
+
+### Router mode
+
+vue-router provides three routing modes:
+
++ `hash`: uses the URL hash for routing. Works in all Vue-supported browsers, including those that do not support HTML5 History API. (**default**)
++ `history`: requires HTML5 History API and server config. See [HTML5 History Mode](https://router.vuejs.org/en/essentials/history-mode.html).
++ `abstract`: works in all JavaScript environments, e.g. server-side with Node.js.
+
+You can pass the `mode` parameter when creating a router:
+
+```js
+new Router({
+ mode: 'abstract',
+ // ...
+})
+```
+
+Obviously "hash" mode and "history" mode are only available on the web, and have no effect in Weex. That is, you have to use "abstract" mode in Android and iOS. However, **vue-router will automatically be forced into "abstract" mode if no browser API is present.** so, just don't set the `mode` option, or set it to "abstract".
+
+### Programmatic navigation
+
+vue-router use `<router-link>` to create a navigation link, but in which some of the features based on the DOM events, it doesn't work well in the native environment. In Weex, you must use the [Programmatic Navigation](https://router.vuejs.org/en/essentials/navigation.html) to manage the router.
+
+Here is an basic example using `<router-link>`:
+
+```html
+<!-- Can only be used on the web, it takes no effects on Android or iOS! -->
+<template>
+ <div>
+ <router-link to="profile">
+ <text>Profile</text>
+ </router-link>
+ </div>
+</template>
+```
+
+For native platforms, you have to use the `router.push`:
+
+```html
+<template>
+ <div>
+ <text @click="jump">Profile</text>
+ </div>
+</template>
+
+<script>
+ import router from './path/to/router'
+ export default {
+ methods: {
+ jump () {
+ router.push('profile')
+ }
+ }
+ }
+</script>
+```
[33/50] incubator-weex git commit: Merge branch 'dev' of
github.com:alibaba/weex into dev
Posted by cx...@apache.org.
Merge branch 'dev' of github.com:alibaba/weex into dev
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/ba53882d
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/ba53882d
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/ba53882d
Branch: refs/heads/master
Commit: ba53882da021a37106c362bb49cba87bf36cb6fe
Parents: de4286a 4733936
Author: sospartan <so...@gmail.com>
Authored: Thu Mar 2 11:30:46 2017 +0800
Committer: sospartan <so...@gmail.com>
Committed: Thu Mar 2 11:30:46 2017 +0800
----------------------------------------------------------------------
examples/module/websocket-demo.we | 88 ++++++++++++----------
ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m | 4 +-
ios/sdk/WeexSDK/Sources/Utility/WXUtility.m | 16 +++-
3 files changed, 64 insertions(+), 44 deletions(-)
----------------------------------------------------------------------
[31/50] incubator-weex git commit: * [doc] Migrate examples to dotwe.
Posted by cx...@apache.org.
* [doc] Migrate examples to dotwe.
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/2c47e81c
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/2c47e81c
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/2c47e81c
Branch: refs/heads/master
Commit: 2c47e81ce10f9cd92f21e4f738f0c12c7314a243
Parents: 16ba148
Author: Yun Dong <yu...@gmail.com>
Authored: Thu Mar 2 11:11:22 2017 +0800
Committer: Yun Dong <yu...@gmail.com>
Committed: Thu Mar 2 11:11:22 2017 +0800
----------------------------------------------------------------------
doc/source/cn/references/components/a.md | 8 ++++----
doc/source/cn/references/components/cell.md | 2 +-
doc/source/cn/references/components/div.md | 2 +-
doc/source/cn/references/components/image.md | 2 +-
doc/source/cn/references/components/indicator.md | 2 +-
doc/source/cn/references/components/input.md | 2 +-
doc/source/cn/references/components/list.md | 2 +-
doc/source/cn/references/components/loading.md | 2 ++
doc/source/cn/references/components/refresh.md | 2 +-
doc/source/cn/references/components/scroller.md | 2 +-
doc/source/cn/references/components/slider.md | 2 +-
doc/source/cn/references/components/switch.md | 2 +-
doc/source/cn/references/components/text.md | 2 +-
doc/source/cn/references/components/textarea.md | 2 +-
doc/source/cn/references/components/video.md | 2 +-
doc/source/cn/references/components/web.md | 2 +-
doc/source/cn/references/modules/animation.md | 2 +-
doc/source/cn/references/modules/clipboard.md | 2 +-
doc/source/cn/references/modules/dom.md | 4 ++--
doc/source/cn/references/modules/modal.md | 2 +-
doc/source/cn/references/modules/navigator.md | 2 +-
doc/source/cn/references/modules/storage.md | 2 +-
doc/source/cn/references/modules/stream.md | 2 +-
doc/source/cn/references/modules/webview.md | 2 +-
doc/source/references/components/a.md | 2 +-
doc/source/references/components/div.md | 2 +-
doc/source/references/components/image.md | 2 +-
doc/source/references/components/indicator.md | 2 +-
doc/source/references/components/input.md | 2 +-
doc/source/references/components/list.md | 2 +-
doc/source/references/components/refresh.md | 2 +-
doc/source/references/components/scroller.md | 2 +-
doc/source/references/components/slider.md | 2 +-
doc/source/references/components/switch.md | 2 +-
doc/source/references/components/text.md | 2 +-
doc/source/references/components/textarea.md | 2 +-
doc/source/references/components/video.md | 2 +-
doc/source/references/components/web.md | 2 +-
doc/source/references/modules/animation.md | 2 +-
doc/source/references/modules/clipboard.md | 2 +-
doc/source/references/modules/dom.md | 4 ++--
doc/source/references/modules/modal.md | 2 +-
doc/source/references/modules/navigator.md | 2 +-
doc/source/references/modules/storage.md | 2 +-
doc/source/references/modules/stream.md | 2 +-
doc/source/references/modules/webview.md | 2 +-
46 files changed, 52 insertions(+), 50 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2c47e81c/doc/source/cn/references/components/a.md
----------------------------------------------------------------------
diff --git a/doc/source/cn/references/components/a.md b/doc/source/cn/references/components/a.md
index ce2dcf1..f6fd610 100644
--- a/doc/source/cn/references/components/a.md
+++ b/doc/source/cn/references/components/a.md
@@ -43,7 +43,7 @@ version: 2.1
## \u7ea6\u675f
-1. **\u4e0d\u80fd**\u76f4\u63a5\u5728 `<a>` \u4e2d\u6dfb\u52a0\u6587\u672c\u3002
+- **\u4e0d\u80fd**\u76f4\u63a5\u5728 `<a>` \u4e2d\u6dfb\u52a0\u6587\u672c\u3002
\u9519\u8bef\u793a\u4f8b\uff0c\u201cclick\u201d \u65e0\u6cd5\u88ab\u6b63\u5e38\u6e32\u67d3\u3002
```html
@@ -62,9 +62,9 @@ version: 2.1
</style>
```
-[\u4f53\u9a8c\u4e00\u4e0b](http://dotwe.org/0a22d65138691a208e3fb1f8f6392b38)
+ [\u4f53\u9a8c\u4e00\u4e0b](http://dotwe.org/0a22d65138691a208e3fb1f8f6392b38)
-2. \u8bf7\u4e0d\u8981\u4e3a `<a>` \u6dfb\u52a0 `click` \u4e8b\u4ef6\u3002\u6211\u4eec\u4e0d\u80fd\u786e\u4fdd `click` \u4e8b\u4ef6\u548c `href` \u8df3\u8f6c\u7684\u6267\u884c\u987a\u5e8f\u3002
+- \u8bf7\u4e0d\u8981\u4e3a `<a>` \u6dfb\u52a0 `click` \u4e8b\u4ef6\u3002\u6211\u4eec\u4e0d\u80fd\u786e\u4fdd `click` \u4e8b\u4ef6\u548c `href` \u8df3\u8f6c\u7684\u6267\u884c\u987a\u5e8f\u3002
## \u793a\u4f8b
@@ -101,4 +101,4 @@ version: 2.1
</style>
```
-[try it](../../../examples/a.html)
+[try it](http://dotwe.org/vue/025db54e37123ab5336a4b848397660f)
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2c47e81c/doc/source/cn/references/components/cell.md
----------------------------------------------------------------------
diff --git a/doc/source/cn/references/components/cell.md b/doc/source/cn/references/components/cell.md
index f7ecbe4..8f90d9c 100644
--- a/doc/source/cn/references/components/cell.md
+++ b/doc/source/cn/references/components/cell.md
@@ -102,4 +102,4 @@ version: 2.1
</style>
```
-[try it](../../../examples/list.html)
+[try it](http://dotwe.org/vue/d31c85e7cd2dc54fa098e920a5376c38)
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2c47e81c/doc/source/cn/references/components/div.md
----------------------------------------------------------------------
diff --git a/doc/source/cn/references/components/div.md b/doc/source/cn/references/components/div.md
index 2790c2c..79cfae0 100644
--- a/doc/source/cn/references/components/div.md
+++ b/doc/source/cn/references/components/div.md
@@ -113,4 +113,4 @@ version: 2.1
</style>
```
-[try it](../../../examples/div.html)
+[try it](http://dotwe.org/vue/edfbd1806508cb86254b03dc0b8e28ac)
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2c47e81c/doc/source/cn/references/components/image.md
----------------------------------------------------------------------
diff --git a/doc/source/cn/references/components/image.md b/doc/source/cn/references/components/image.md
index 4743414..1c70f10 100644
--- a/doc/source/cn/references/components/image.md
+++ b/doc/source/cn/references/components/image.md
@@ -158,4 +158,4 @@ version: 2.1
</style>
```
-[try it](../../../examples/image.html)
+[try it](http://dotwe.org/vue/e2122bc245beafb0348d79bfd1274904)
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2c47e81c/doc/source/cn/references/components/indicator.md
----------------------------------------------------------------------
diff --git a/doc/source/cn/references/components/indicator.md b/doc/source/cn/references/components/indicator.md
index 5425af0..7980bb5 100644
--- a/doc/source/cn/references/components/indicator.md
+++ b/doc/source/cn/references/components/indicator.md
@@ -132,4 +132,4 @@ version: 2.1
</script>
```
-[try it](../../../examples/indicator.html)
+[try it](http://dotwe.org/vue/d2a654c4b75f1b4d80336c8a5fe133b9)
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2c47e81c/doc/source/cn/references/components/input.md
----------------------------------------------------------------------
diff --git a/doc/source/cn/references/components/input.md b/doc/source/cn/references/components/input.md
index 97d4787..a73db32 100644
--- a/doc/source/cn/references/components/input.md
+++ b/doc/source/cn/references/components/input.md
@@ -178,4 +178,4 @@ Weex \u5185\u7f6e\u7684 `<input>` \u7ec4\u4ef6\u7528\u6765\u521b\u5efa\u63a5\u6536\u7528\u6237\u8f93\u5165\u5b57\u7b26\u7684\u8f93\u5165\u7ec4
</style>
```
-[try it](../../../examples/input.html)
+[try it](http://dotwe.org/vue/c1b1a5fdcf0937df1d847f8812a7ccb2)
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2c47e81c/doc/source/cn/references/components/list.md
----------------------------------------------------------------------
diff --git a/doc/source/cn/references/components/list.md b/doc/source/cn/references/components/list.md
index 453108c..2cb0a90 100644
--- a/doc/source/cn/references/components/list.md
+++ b/doc/source/cn/references/components/list.md
@@ -155,4 +155,4 @@ version: 2.1
</style>
```
-[try it](../../../examples/list.html)
+[try it](http://dotwe.org/vue/d31c85e7cd2dc54fa098e920a5376c38)
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2c47e81c/doc/source/cn/references/components/loading.md
----------------------------------------------------------------------
diff --git a/doc/source/cn/references/components/loading.md b/doc/source/cn/references/components/loading.md
index ca28405..cd630c3 100644
--- a/doc/source/cn/references/components/loading.md
+++ b/doc/source/cn/references/components/loading.md
@@ -123,3 +123,5 @@ version: 2.1
}
</style>
```
+
+[Try it](http://dotwe.org/vue/d5c1b2336a703a6e6e47c303af41ffcd)
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2c47e81c/doc/source/cn/references/components/refresh.md
----------------------------------------------------------------------
diff --git a/doc/source/cn/references/components/refresh.md b/doc/source/cn/references/components/refresh.md
index 1eba39c..a6eb6fb 100644
--- a/doc/source/cn/references/components/refresh.md
+++ b/doc/source/cn/references/components/refresh.md
@@ -120,6 +120,6 @@ version: 2.1
</style>
```
-[try it](../../../examples/refresh.html)
+[try it](http://dotwe.org/vue/d3db5f344220a6339de044a5e33c502b)
\u66f4\u591a\u793a\u4f8b\u53ef\u67e5\u770b [`<list>`](./list.html)
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2c47e81c/doc/source/cn/references/components/scroller.md
----------------------------------------------------------------------
diff --git a/doc/source/cn/references/components/scroller.md b/doc/source/cn/references/components/scroller.md
index acd49d4..4bb9f4b 100644
--- a/doc/source/cn/references/components/scroller.md
+++ b/doc/source/cn/references/components/scroller.md
@@ -171,4 +171,4 @@ version: 2.1
</style>
```
-[try it](../../../examples/scroller.html)
+[try it](http://dotwe.org/vue/2f22f14fb711d88515e63c3f67bed46a)
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2c47e81c/doc/source/cn/references/components/slider.md
----------------------------------------------------------------------
diff --git a/doc/source/cn/references/components/slider.md b/doc/source/cn/references/components/slider.md
index 745c66c..190e01d 100644
--- a/doc/source/cn/references/components/slider.md
+++ b/doc/source/cn/references/components/slider.md
@@ -102,4 +102,4 @@ version: 2.1
</script>
```
-[try it](../../../examples/slider.html)
+[try it](http://dotwe.org/vue/0c43ffd743c90b3bd9f5371062652e60)
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2c47e81c/doc/source/cn/references/components/switch.md
----------------------------------------------------------------------
diff --git a/doc/source/cn/references/components/switch.md b/doc/source/cn/references/components/switch.md
index 01c61e1..42b24d9 100644
--- a/doc/source/cn/references/components/switch.md
+++ b/doc/source/cn/references/components/switch.md
@@ -130,4 +130,4 @@ version: 2.1
</style>
```
-[try it](../../../examples/switch.html)
+[try it](http://dotwe.org/vue/06b1d740fb69d04f9ebe9eaf730974d1)
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2c47e81c/doc/source/cn/references/components/text.md
----------------------------------------------------------------------
diff --git a/doc/source/cn/references/components/text.md b/doc/source/cn/references/components/text.md
index dfb34d6..ac43eea 100644
--- a/doc/source/cn/references/components/text.md
+++ b/doc/source/cn/references/components/text.md
@@ -98,4 +98,4 @@ version: 2.1
</style>
```
-[try it](../../../examples/text.html)
+[try it](http://dotwe.org/vue/154e20171d350a081fba7878c53cf7d2)
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2c47e81c/doc/source/cn/references/components/textarea.md
----------------------------------------------------------------------
diff --git a/doc/source/cn/references/components/textarea.md b/doc/source/cn/references/components/textarea.md
index d09956d..a5ec4d4 100644
--- a/doc/source/cn/references/components/textarea.md
+++ b/doc/source/cn/references/components/textarea.md
@@ -159,4 +159,4 @@ version: 2.1
</style>
```
-[try it](../../../examples/textarea.html)
+[try it](http://dotwe.org/vue/a1877866e8b91ffa1e6ea9bc66c200fa)
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2c47e81c/doc/source/cn/references/components/video.md
----------------------------------------------------------------------
diff --git a/doc/source/cn/references/components/video.md b/doc/source/cn/references/components/video.md
index 54fb715..eee6eb9 100644
--- a/doc/source/cn/references/components/video.md
+++ b/doc/source/cn/references/components/video.md
@@ -91,4 +91,4 @@ version: 2.1
</script>
```
-[try it](../../../examples/video.html)
+[try it](http://dotwe.org/vue/01d3d27073a471bb234b1a76e130d197)
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2c47e81c/doc/source/cn/references/components/web.md
----------------------------------------------------------------------
diff --git a/doc/source/cn/references/components/web.md b/doc/source/cn/references/components/web.md
index 72bf4c0..fb48aa9 100644
--- a/doc/source/cn/references/components/web.md
+++ b/doc/source/cn/references/components/web.md
@@ -151,4 +151,4 @@ version: 2.1
</style>
```
-[try it](../../../examples/web.html)
+[try it](http://dotwe.org/vue/154c7fa8ac13e87ff4e7bf9862147d50)
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2c47e81c/doc/source/cn/references/modules/animation.md
----------------------------------------------------------------------
diff --git a/doc/source/cn/references/modules/animation.md b/doc/source/cn/references/modules/animation.md
index 2ae020e..7e6def6 100644
--- a/doc/source/cn/references/modules/animation.md
+++ b/doc/source/cn/references/modules/animation.md
@@ -93,4 +93,4 @@ version: 2.1
</style>
```
-[try it](../../../examples/animation.html)
+[try it](http://dotwe.org/vue/2d1b61bef061448c1a5a13eac9624410)
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2c47e81c/doc/source/cn/references/modules/clipboard.md
----------------------------------------------------------------------
diff --git a/doc/source/cn/references/modules/clipboard.md b/doc/source/cn/references/modules/clipboard.md
index 3fc012e..300340c 100644
--- a/doc/source/cn/references/modules/clipboard.md
+++ b/doc/source/cn/references/modules/clipboard.md
@@ -98,4 +98,4 @@ version: 2.1
</style>
```
-[try it](../../../examples/clipboard.html)
+[try it](http://dotwe.org/vue/126d3cfc5533393e28943978b07aa5c1)
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2c47e81c/doc/source/cn/references/modules/dom.md
----------------------------------------------------------------------
diff --git a/doc/source/cn/references/modules/dom.md b/doc/source/cn/references/modules/dom.md
index b7473c2..2fa153a 100644
--- a/doc/source/cn/references/modules/dom.md
+++ b/doc/source/cn/references/modules/dom.md
@@ -120,7 +120,7 @@ version: 2.1
</style>
```
-[try it](../../../examples/dom-scroll.html)
+[try it](http://dotwe.org/vue/56e0d256cbb26facd958dbd6424f42b2)
### getComponentRect(ref, callback) <span class="api-version">v0.9.4+</span>
@@ -203,7 +203,7 @@ version: 2.1
</style>
```
-[try it](../../../examples/dom-rect.html)
+[try it](http://dotwe.org/vue/87d4ed571de129ab28052b06a5d65fc8)
## \u5176\u4ed6
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2c47e81c/doc/source/cn/references/modules/modal.md
----------------------------------------------------------------------
diff --git a/doc/source/cn/references/modules/modal.md b/doc/source/cn/references/modules/modal.md
index bc9d610..614d249 100644
--- a/doc/source/cn/references/modules/modal.md
+++ b/doc/source/cn/references/modules/modal.md
@@ -136,4 +136,4 @@ version: 2.1
</style>
```
-[try it](../../../examples/modal.html)
+[try it](http://dotwe.org/vue/a7dddfb24edb72be947fc4eec3803f1d)
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2c47e81c/doc/source/cn/references/modules/navigator.md
----------------------------------------------------------------------
diff --git a/doc/source/cn/references/modules/navigator.md b/doc/source/cn/references/modules/navigator.md
index fd258b1..fdfa55d 100644
--- a/doc/source/cn/references/modules/navigator.md
+++ b/doc/source/cn/references/modules/navigator.md
@@ -87,4 +87,4 @@ version: 2.1
</style>
```
-[try it](../../../examples/navigator.html)
+[try it](http://dotwe.org/vue/5c670b07735ee6d08de5c8eb93f91f11)
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2c47e81c/doc/source/cn/references/modules/storage.md
----------------------------------------------------------------------
diff --git a/doc/source/cn/references/modules/storage.md b/doc/source/cn/references/modules/storage.md
index d344281..e0c8637 100644
--- a/doc/source/cn/references/modules/storage.md
+++ b/doc/source/cn/references/modules/storage.md
@@ -176,7 +176,7 @@ version: 2.1
</style>
```
-[try it](../../../examples/storage.html)
+[try it](http://dotwe.org/vue/3fdd3e2d1646ca41199d80c7be799858)
## \u5176\u5b83\u53c2\u8003
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2c47e81c/doc/source/cn/references/modules/stream.md
----------------------------------------------------------------------
diff --git a/doc/source/cn/references/modules/stream.md b/doc/source/cn/references/modules/stream.md
index d6b20c3..2ec1695 100644
--- a/doc/source/cn/references/modules/stream.md
+++ b/doc/source/cn/references/modules/stream.md
@@ -121,4 +121,4 @@ version: 2.1
</style>
```
-[try it](../../../examples/stream.html)
+[try it](http://dotwe.org/vue/29bbf2d49fc8a204f98240044bbe211a)
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2c47e81c/doc/source/cn/references/modules/webview.md
----------------------------------------------------------------------
diff --git a/doc/source/cn/references/modules/webview.md b/doc/source/cn/references/modules/webview.md
index 9a2e4e6..30a1a42 100644
--- a/doc/source/cn/references/modules/webview.md
+++ b/doc/source/cn/references/modules/webview.md
@@ -134,4 +134,4 @@ version: 2.1
</style>
```
-[try it](../../../examples/web.html)
+[try it](http://dotwe.org/vue/154c7fa8ac13e87ff4e7bf9862147d50)
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2c47e81c/doc/source/references/components/a.md
----------------------------------------------------------------------
diff --git a/doc/source/references/components/a.md b/doc/source/references/components/a.md
index 3b94a1e..ae436bb 100644
--- a/doc/source/references/components/a.md
+++ b/doc/source/references/components/a.md
@@ -68,4 +68,4 @@ We can't guarantee the order of execution between onclick function and href. we
</style>
```
-[try it](../../examples/a.html)
+[try it](http://dotwe.org/vue/025db54e37123ab5336a4b848397660f)
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2c47e81c/doc/source/references/components/div.md
----------------------------------------------------------------------
diff --git a/doc/source/references/components/div.md b/doc/source/references/components/div.md
index d82ad0d..1bcc162 100644
--- a/doc/source/references/components/div.md
+++ b/doc/source/references/components/div.md
@@ -60,5 +60,5 @@ There is no specific attribute for this component.
</style>
```
-[try it](../../examples/div.html)
+[try it](http://dotwe.org/vue/edfbd1806508cb86254b03dc0b8e28ac)
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2c47e81c/doc/source/references/components/image.md
----------------------------------------------------------------------
diff --git a/doc/source/references/components/image.md b/doc/source/references/components/image.md
index 6d8fd3f..7cf9814 100644
--- a/doc/source/references/components/image.md
+++ b/doc/source/references/components/image.md
@@ -102,4 +102,4 @@ This component supports no child components.
</style>
```
-[try it](../../examples/image.html)
\ No newline at end of file
+[try it](http://dotwe.org/vue/e2122bc245beafb0348d79bfd1274904)
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2c47e81c/doc/source/references/components/indicator.md
----------------------------------------------------------------------
diff --git a/doc/source/references/components/indicator.md b/doc/source/references/components/indicator.md
index 9093656..29f4454 100644
--- a/doc/source/references/components/indicator.md
+++ b/doc/source/references/components/indicator.md
@@ -118,4 +118,4 @@ There is no specific attribute for this component.
</script>
```
-[try it](../../examples/indicator.html)
\ No newline at end of file
+[try it](http://dotwe.org/vue/d2a654c4b75f1b4d80336c8a5fe133b9)
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2c47e81c/doc/source/references/components/input.md
----------------------------------------------------------------------
diff --git a/doc/source/references/components/input.md b/doc/source/references/components/input.md
index 1033351..837c867 100644
--- a/doc/source/references/components/input.md
+++ b/doc/source/references/components/input.md
@@ -151,4 +151,4 @@ does not support the common-event�'click'. Please listen to the�'input'�or�'
</style>
```
-[try it](../../examples/input.html)
\ No newline at end of file
+[try it](http://dotwe.org/vue/c1b1a5fdcf0937df1d847f8812a7ccb2)
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2c47e81c/doc/source/references/components/list.md
----------------------------------------------------------------------
diff --git a/doc/source/references/components/list.md b/doc/source/references/components/list.md
index 07f50ec..a524c7f 100644
--- a/doc/source/references/components/list.md
+++ b/doc/source/references/components/list.md
@@ -170,4 +170,4 @@ For example, a vertical list nested in a vertical list or scroller is not allowe
</style>
```
-[try it](../../examples/list.html)
\ No newline at end of file
+[try it](http://dotwe.org/vue/d31c85e7cd2dc54fa098e920a5376c38)
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2c47e81c/doc/source/references/components/refresh.md
----------------------------------------------------------------------
diff --git a/doc/source/references/components/refresh.md b/doc/source/references/components/refresh.md
index 521e07c..8aaecbb 100644
--- a/doc/source/references/components/refresh.md
+++ b/doc/source/references/components/refresh.md
@@ -211,4 +211,4 @@ common styles: check out [common styles for components](../common-style.html)
</style>
```
-[try it](../../examples/refresh.html)
\ No newline at end of file
+[try it](http://dotwe.org/vue/d3db5f344220a6339de044a5e33c502b)
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2c47e81c/doc/source/references/components/scroller.md
----------------------------------------------------------------------
diff --git a/doc/source/references/components/scroller.md b/doc/source/references/components/scroller.md
index 1de3721..1b65907 100644
--- a/doc/source/references/components/scroller.md
+++ b/doc/source/references/components/scroller.md
@@ -145,4 +145,4 @@ For example, a vertical list nested in a vertical list or scroller is not allowe
</style>
```
-[try it](../../examples/scroller.html)
\ No newline at end of file
+[try it](http://dotwe.org/vue/2f22f14fb711d88515e63c3f67bed46a)
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2c47e81c/doc/source/references/components/slider.md
----------------------------------------------------------------------
diff --git a/doc/source/references/components/slider.md b/doc/source/references/components/slider.md
index e826a2f..a88ff22 100644
--- a/doc/source/references/components/slider.md
+++ b/doc/source/references/components/slider.md
@@ -88,4 +88,4 @@ It supports all kinds of weex components as its slides, especially the `indicato
</script>
```
-[try it](../../examples/slider.html)
\ No newline at end of file
+[try it](http://dotwe.org/vue/0c43ffd743c90b3bd9f5371062652e60)
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2c47e81c/doc/source/references/components/switch.md
----------------------------------------------------------------------
diff --git a/doc/source/references/components/switch.md b/doc/source/references/components/switch.md
index 8756441..8281c5f 100644
--- a/doc/source/references/components/switch.md
+++ b/doc/source/references/components/switch.md
@@ -112,4 +112,4 @@ common styles: check out [common styles for components](../common-style.html)
</style>
```
-[try it](../../examples/switch.html)
\ No newline at end of file
+[try it](http://dotwe.org/vue/06b1d740fb69d04f9ebe9eaf730974d1)
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2c47e81c/doc/source/references/components/text.md
----------------------------------------------------------------------
diff --git a/doc/source/references/components/text.md b/doc/source/references/components/text.md
index fc84214..cfed19b 100644
--- a/doc/source/references/components/text.md
+++ b/doc/source/references/components/text.md
@@ -95,4 +95,4 @@ check out [common events](../common-event.html)
</style>
```
-[try it](../../examples/text.html)
\ No newline at end of file
+[try it](http://dotwe.org/vue/154e20171d350a081fba7878c53cf7d2)
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2c47e81c/doc/source/references/components/textarea.md
----------------------------------------------------------------------
diff --git a/doc/source/references/components/textarea.md b/doc/source/references/components/textarea.md
index 827674c..9b995da 100644
--- a/doc/source/references/components/textarea.md
+++ b/doc/source/references/components/textarea.md
@@ -137,4 +137,4 @@ This component supports no child components.
</style>
```
-[try it](../../examples/textarea.html)
\ No newline at end of file
+[try it](http://dotwe.org/vue/a1877866e8b91ffa1e6ea9bc66c200fa)
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2c47e81c/doc/source/references/components/video.md
----------------------------------------------------------------------
diff --git a/doc/source/references/components/video.md b/doc/source/references/components/video.md
index 9d13989..d73c616 100644
--- a/doc/source/references/components/video.md
+++ b/doc/source/references/components/video.md
@@ -84,4 +84,4 @@ common styles: check out [common styles for components](../common-style.html)
</script>
```
-[try it](../../examples/video.html)
\ No newline at end of file
+[try it](http://dotwe.org/vue/01d3d27073a471bb234b1a76e130d197)
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2c47e81c/doc/source/references/components/web.md
----------------------------------------------------------------------
diff --git a/doc/source/references/components/web.md b/doc/source/references/components/web.md
index 7d2aa39..b96097d 100644
--- a/doc/source/references/components/web.md
+++ b/doc/source/references/components/web.md
@@ -144,4 +144,4 @@ We use a simple Browser Demo to show how to use web component and webview module
</style>
```
-[try it](../../examples/web.html)
\ No newline at end of file
+[try it](http://dotwe.org/vue/154c7fa8ac13e87ff4e7bf9862147d50)
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2c47e81c/doc/source/references/modules/animation.md
----------------------------------------------------------------------
diff --git a/doc/source/references/modules/animation.md b/doc/source/references/modules/animation.md
index a456f12..4a9b7ec 100644
--- a/doc/source/references/modules/animation.md
+++ b/doc/source/references/modules/animation.md
@@ -103,4 +103,4 @@ properties of `transform`:
</style>
```
-[try it](../../examples/animation.html)
\ No newline at end of file
+[try it](http://dotwe.org/vue/2d1b61bef061448c1a5a13eac9624410)
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2c47e81c/doc/source/references/modules/clipboard.md
----------------------------------------------------------------------
diff --git a/doc/source/references/modules/clipboard.md b/doc/source/references/modules/clipboard.md
index db582b0..5728cc4 100644
--- a/doc/source/references/modules/clipboard.md
+++ b/doc/source/references/modules/clipboard.md
@@ -95,4 +95,4 @@ sets the text to clipboard, having the same effect as copying manually.
</style>
```
-[try it](../../examples/clipboard.html)
\ No newline at end of file
+[try it](http://dotwe.org/vue/126d3cfc5533393e28943978b07aa5c1)
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2c47e81c/doc/source/references/modules/dom.md
----------------------------------------------------------------------
diff --git a/doc/source/references/modules/dom.md b/doc/source/references/modules/dom.md
index bfd80e0..cd5651e 100644
--- a/doc/source/references/modules/dom.md
+++ b/doc/source/references/modules/dom.md
@@ -114,7 +114,7 @@ Scroll the page to the specified node. This API should only be used on the eleme
</style>
```
-[try it](../../examples/dom-scroll.html)
+[try it](http://dotwe.org/vue/56e0d256cbb26facd958dbd6424f42b2)
### getComponentRect(ref,callback) <span class="api-version">v0.9.4+</span>
@@ -201,4 +201,4 @@ Example Useage:
</style>
```
-[try it](../../examples/dom-rect.html)
\ No newline at end of file
+[try it](http://dotwe.org/vue/87d4ed571de129ab28052b06a5d65fc8)
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2c47e81c/doc/source/references/modules/modal.md
----------------------------------------------------------------------
diff --git a/doc/source/references/modules/modal.md b/doc/source/references/modules/modal.md
index ea60982..32ffab6 100644
--- a/doc/source/references/modules/modal.md
+++ b/doc/source/references/modules/modal.md
@@ -141,4 +141,4 @@ When a prompt box pops up, the user will have to click either confirm or cancel
</style>
```
-[try it](../../examples/modal.html)
\ No newline at end of file
+[try it](http://dotwe.org/vue/a7dddfb24edb72be947fc4eec3803f1d)
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2c47e81c/doc/source/references/modules/navigator.md
----------------------------------------------------------------------
diff --git a/doc/source/references/modules/navigator.md b/doc/source/references/modules/navigator.md
index b33dd0c..e3ce51a 100644
--- a/doc/source/references/modules/navigator.md
+++ b/doc/source/references/modules/navigator.md
@@ -86,4 +86,4 @@ pop a weex page onto the navigator stack, you can specify whether apply animatio
</style>
```
-[try it](../../examples/navigator.html)
\ No newline at end of file
+[try it](http://dotwe.org/vue/5c670b07735ee6d08de5c8eb93f91f11)
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2c47e81c/doc/source/references/modules/storage.md
----------------------------------------------------------------------
diff --git a/doc/source/references/modules/storage.md b/doc/source/references/modules/storage.md
index b7bcf43..faac53c 100644
--- a/doc/source/references/modules/storage.md
+++ b/doc/source/references/modules/storage.md
@@ -169,4 +169,4 @@ Returns an array that contains all keys stored in Storage object.
</style>
```
-[try it](../../examples/storage.html)
\ No newline at end of file
+[try it](http://dotwe.org/vue/3fdd3e2d1646ca41199d80c7be799858)
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2c47e81c/doc/source/references/modules/stream.md
----------------------------------------------------------------------
diff --git a/doc/source/references/modules/stream.md b/doc/source/references/modules/stream.md
index 09abb3b..986ccdb 100644
--- a/doc/source/references/modules/stream.md
+++ b/doc/source/references/modules/stream.md
@@ -128,4 +128,4 @@ Start a network request, use two callbacks to receive server's response data.
</style>
```
-[try it](../../examples/stream.html)
\ No newline at end of file
+[try it](http://dotwe.org/vue/29bbf2d49fc8a204f98240044bbe211a)
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2c47e81c/doc/source/references/modules/webview.md
----------------------------------------------------------------------
diff --git a/doc/source/references/modules/webview.md b/doc/source/references/modules/webview.md
index d5dfbdd..1ca1b5e 100644
--- a/doc/source/references/modules/webview.md
+++ b/doc/source/references/modules/webview.md
@@ -152,4 +152,4 @@ webview.reload(webElement.ref);
</style>
```
-[try it](../../examples/web.html)
\ No newline at end of file
+[try it](http://dotwe.org/vue/154c7fa8ac13e87ff4e7bf9862147d50)
\ No newline at end of file
[19/50] incubator-weex git commit: Merge pull request #2745 from
Hanks10100/doc-en
Posted by cx...@apache.org.
Merge pull request #2745 from Hanks10100/doc-en
[doc] Translate some docs into English
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/4df066ef
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/4df066ef
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/4df066ef
Branch: refs/heads/master
Commit: 4df066ef46c4593e3e25259aecc5ded7ad685ba9
Parents: f2ceb28 1a71f13
Author: \u52fe\u4e09\u80a1\u56db <zh...@me.com>
Authored: Fri Feb 24 16:54:39 2017 +0800
Committer: GitHub <no...@github.com>
Committed: Fri Feb 24 16:54:39 2017 +0800
----------------------------------------------------------------------
.../cn/references/vue/difference-with-web.md | 7 +-
doc/source/references/platfrom-difference.md | 11 ++
doc/source/references/vue/difference-of-vuex.md | 85 ++++++++++-
.../references/vue/difference-with-web.md | 143 ++++++++++++++++++-
4 files changed, 237 insertions(+), 9 deletions(-)
----------------------------------------------------------------------
[34/50] incubator-weex git commit: * [android] Android support emoji
now.
Posted by cx...@apache.org.
* [android] Android support emoji now.
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/9086af4a
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/9086af4a
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/9086af4a
Branch: refs/heads/master
Commit: 9086af4a0564e475de266a0020adf6ec1511064f
Parents: ba53882
Author: YorkShen <sh...@gmail.com>
Authored: Thu Mar 2 11:10:06 2017 +0800
Committer: YorkShen <sh...@gmail.com>
Committed: Thu Mar 2 11:50:19 2017 +0800
----------------------------------------------------------------------
doc/source/cn/faq.md | 4 ----
doc/source/faq.md | 3 ---
2 files changed, 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/9086af4a/doc/source/cn/faq.md
----------------------------------------------------------------------
diff --git a/doc/source/cn/faq.md b/doc/source/cn/faq.md
index 6ef3f75..871a857 100644
--- a/doc/source/cn/faq.md
+++ b/doc/source/cn/faq.md
@@ -82,10 +82,6 @@ modal.toast({message: 'hello'})
`overflow` \u6837\u5f0f\u5728 Android \u9ed8\u8ba4\u4e3a `hidden` \u5e76\u4e14\u65e0\u6cd5\u4fee\u6539\uff0c\u539f\u56e0\u662f Android View framework \u9650\u5236\u3002\u8fd9\u4e2a\u95ee\u9898\u53ea\u51fa\u73b0\u5728 Android \u7aef\uff0ciOS \u7aef\u548c H5 \u6b63\u5e38\u3002
-## Android \u4e0d\u652f\u6301 emoji
-
-\u7531\u4e8e Android NDK \u4ec5\u652f\u6301 Modified UTF-8\uff0c\u56e0\u6b64\u4e0d\u652f\u6301 emoji\u3002Android 6.0 \u4ee5\u4e0b\u4f7f\u7528 emoji \u53ef\u80fd\u4f1a\u5bfc\u81f4\u5d29\u6e83\uff0c\u5728 Android 6.0 \u4ee5\u4e0a\u5219\u53ef\u80fd\u51fa\u73b0\u610f\u5916\u7684\u884c\u4e3a\u3002\u53ea\u80fd\u4f7f\u7528 Modified UTF-8\uff0c**\u4e0d\u8981\u4f7f\u7528 emoji**\u3002
-
## \u5982\u4f55\u53d6\u6d88 750 \u50cf\u7d20\u81ea\u9002\u5e94\u5e76\u4ee5\u5bbd\u9ad8\u6bd4\u8ba1\u7b97\u771f\u5b9e\u50cf\u7d20\uff1f
`this.$getConfig()` \u65b9\u6cd5\u4f1a\u8fd4\u56de\u4e00\u4e2a\u5bf9\u8c61\uff0c\u8fd9\u4e2a\u5bf9\u8c61\u7684 `deviceHeight` \u548c `deviceWidth` \u5c5e\u6027\u5373\u5b9e\u9645\u8bbe\u5907\u5bbd\u5ea6/\u9ad8\u5ea6\uff08\u4ee5\u50cf\u7d20\u4e3a\u5355\u4f4d\uff09\uff0c\u800c\u4e0d\u662f\u4ee5 750 \u9002\u914d\u7684\u3002
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/9086af4a/doc/source/faq.md
----------------------------------------------------------------------
diff --git a/doc/source/faq.md b/doc/source/faq.md
index d3e5ea2..4c21d20 100644
--- a/doc/source/faq.md
+++ b/doc/source/faq.md
@@ -75,9 +75,6 @@ We will bring a better syntax design in the future.
## Android only support `overflow:hidden`
The `overflow` style in android is `hidden` and cannot be changed. This is the result of Android View framework. This only happens on Android, iOS will work as expected.
-## Android do not support emoji
-As Android NDK only supports Modified UTF-8, emoji is not support yet. Any attemp to use emoji may cause crash in case of lower than Android 6.0, and unexpected behavior when it is higher than 6.0. Only use Modified UTF-8, **do not** use emoji.
-
## How to get rid of 750 adaption and calculate width/height in real pixels\uff1f
The deviceHeight and deviceWidth got in `this.$getConfig()` is the real device width/height in pixels, not the ones with 750-adapted.
[23/50] incubator-weex git commit: * [ios] update websocket demo
Posted by cx...@apache.org.
* [ios] update websocket demo
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/bfb19cbd
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/bfb19cbd
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/bfb19cbd
Branch: refs/heads/master
Commit: bfb19cbd1a2d1f9babfa56abec1550993cf3130d
Parents: 2ef5840
Author: kfeagle <su...@163.com>
Authored: Fri Feb 24 21:33:06 2017 +0800
Committer: kfeagle <su...@163.com>
Committed: Fri Feb 24 21:33:06 2017 +0800
----------------------------------------------------------------------
examples/module/websocket-demo.we | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/bfb19cbd/examples/module/websocket-demo.we
----------------------------------------------------------------------
diff --git a/examples/module/websocket-demo.we b/examples/module/websocket-demo.we
index 5dbed7d..74ad8a6 100644
--- a/examples/module/websocket-demo.we
+++ b/examples/module/websocket-demo.we
@@ -30,7 +30,7 @@
<div style="background-color: lightgray">
<text class="title" style="height: 80px ;padding: 20px;color: black">method = onmessage</text>
</div>
- <text style="color: black;height: 400px">{{onmessage}}</text>
+ <text style="color: black;height: 100px">{{onmessage}}</text>
<div style="background-color: lightgray">
<text class="title" style="height: 80px ;padding: 20px;color: black">method = onclose</text>
</div>
@@ -86,7 +86,7 @@
},
methods: {
connect:function() {
- websocket.WebSocket('ws://echo.websocket.org');
+ websocket.WebSocket('ws://echo.websocket.org','');
var self = this;
self.onopeninfo = 'connecting...'
websocket.onopen = function(e)
[20/50] incubator-weex git commit: Merge pull request #2763 from
DoranYun/website
Posted by cx...@apache.org.
Merge pull request #2763 from DoranYun/website
Update docs
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/5529bb14
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/5529bb14
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/5529bb14
Branch: refs/heads/master
Commit: 5529bb146dccdd7e708116869714fe33a2eecda5
Parents: 4df066e 8bd70c4
Author: \u52fe\u4e09\u80a1\u56db <zh...@me.com>
Authored: Fri Feb 24 16:55:11 2017 +0800
Committer: GitHub <no...@github.com>
Committed: Fri Feb 24 16:55:11 2017 +0800
----------------------------------------------------------------------
doc/advanced/extend-to-android.md | 2 +-
doc/source/cn/guide/index.md | 30 +-
.../cn/references/advanced/extend-jsfm.md | 2 +-
.../cn/references/advanced/extend-to-android.md | 22 +-
.../cn/references/advanced/extend-to-html5.md | 2 +-
.../cn/references/advanced/extend-to-ios.md | 4 +-
doc/source/cn/references/advanced/index.md | 2 +-
.../advanced/integrate-devtool-to-android.md | 6 +-
.../advanced/integrate-devtool-to-ios.md | 8 +-
doc/source/cn/references/android-apis.md | 25 +-
doc/source/cn/references/components/a.md | 2 +-
doc/source/cn/references/components/refresh.md | 2 +-
doc/source/cn/references/ios-apis.md | 4 +-
doc/source/cn/references/js-service/index.md | 118 ++++++++
.../cn/references/migration/difference.md | 2 +-
doc/source/cn/references/migration/index.md | 2 +-
.../references/migration/migration-from-weex.md | 2 +-
doc/source/cn/references/modules/animation.md | 2 +-
doc/source/cn/references/modules/dom.md | 4 +-
doc/source/cn/references/modules/index.md | 2 +-
doc/source/cn/references/modules/websocket.md | 224 +++++++++++++++
doc/source/cn/references/path.md | 32 ++-
.../cn/references/vue/difference-of-vuex.md | 2 +-
.../cn/references/vue/difference-with-web.md | 2 +-
doc/source/cn/references/vue/index.md | 2 +-
doc/source/guide/index.md | 71 ++++-
doc/source/guide/integrate-to-your-app.md | 272 ++++++++++++++++++-
doc/source/references/advanced/extend-jsfm.md | 159 ++++++++++-
.../references/advanced/extend-to-android.md | 20 +-
.../references/advanced/extend-to-html5.md | 88 +++++-
.../advanced/integrate-devtool-to-android.md | 137 +++++++++-
.../advanced/integrate-devtool-to-ios.md | 184 ++++++++++++-
doc/source/references/android-apis.md | 211 +++++++++++++-
doc/source/references/components/cell.md | 2 -
doc/source/references/components/div.md | 4 +-
doc/source/references/components/image.md | 4 +-
doc/source/references/components/indicator.md | 4 +-
doc/source/references/components/input.md | 2 -
doc/source/references/components/list.md | 2 -
doc/source/references/components/refresh.md | 2 -
doc/source/references/components/scroller.md | 4 -
doc/source/references/components/slider.md | 10 +-
doc/source/references/components/switch.md | 2 -
doc/source/references/components/textarea.md | 2 -
doc/source/references/components/video.md | 2 -
doc/source/references/components/web.md | 4 +-
doc/source/references/ios-apis.md | 70 ++++-
doc/source/references/modules/dom.md | 4 +-
doc/source/references/modules/globalevent.md | 4 +-
doc/source/references/modules/storage.md | 2 +-
doc/source/references/modules/websocket.md | 223 +++++++++++++++
doc/source/references/modules/webview.md | 6 +-
doc/source/references/native-dom-api.md | 203 +++++++++++++-
doc/source/references/weex-variable.md | 41 ++-
doc/themes/weex/layout/_partial/footer.ejs | 8 +-
doc/themes/weex/layout/_partial/head.ejs | 43 +++
doc/themes/weex/source/js/common.js | 68 ++++-
57 files changed, 2232 insertions(+), 131 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/5529bb14/doc/source/cn/references/vue/difference-with-web.md
----------------------------------------------------------------------
[48/50] incubator-weex git commit: * [ios] remove dlsym for jscore
garbage Collection
Posted by cx...@apache.org.
* [ios] remove dlsym for jscore garbage Collection
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/2d7b8682
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/2d7b8682
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/2d7b8682
Branch: refs/heads/master
Commit: 2d7b86823d18923a46b5c784ff9928dd8b2e63d7
Parents: 1e4105f
Author: acton393 <zh...@gmail.com>
Authored: Fri Mar 10 11:24:54 2017 +0800
Committer: acton393 <zh...@gmail.com>
Committed: Fri Mar 10 11:24:54 2017 +0800
----------------------------------------------------------------------
ios/sdk/WeexSDK/Sources/Bridge/WXJSCoreBridge.m | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2d7b8682/ios/sdk/WeexSDK/Sources/Bridge/WXJSCoreBridge.m
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Bridge/WXJSCoreBridge.m b/ios/sdk/WeexSDK/Sources/Bridge/WXJSCoreBridge.m
index 1ebfa6b..593ed27 100644
--- a/ios/sdk/WeexSDK/Sources/Bridge/WXJSCoreBridge.m
+++ b/ios/sdk/WeexSDK/Sources/Bridge/WXJSCoreBridge.m
@@ -211,15 +211,15 @@ typedef void (*WXJSCGarbageCollect)(JSContextRef);
- (void)garbageCollect
{
// for dev and debug only!!
- char str[80];
- strcpy(str, "JSSynchron");
- strcat(str, "ousGarbageColl");
- strcat(str, "ectForDebugging");
- WXJSCGarbageCollect garbageCollect = dlsym(RTLD_DEFAULT, str);
-
- if (garbageCollect != NULL) {
- garbageCollect(_jsContext.JSGlobalContextRef);
- }
+// char str[80];
+// strcpy(str, "JSSynchron");
+// strcat(str, "ousGarbageColl");
+// strcat(str, "ectForDebugging");
+// WXJSCGarbageCollect garbageCollect = dlsym(RTLD_DEFAULT, str);
+//
+// if (garbageCollect != NULL) {
+// garbageCollect(_jsContext.JSGlobalContextRef);
+// }
}
#pragma mark - Private
[50/50] incubator-weex git commit: Merge branch 'fix-capital-error'
of https://github.com/lforme/incubator-weex
Posted by cx...@apache.org.
Merge branch 'fix-capital-error' of https://github.com/lforme/incubator-weex
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/66e1b5a3
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/66e1b5a3
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/66e1b5a3
Branch: refs/heads/master
Commit: 66e1b5a395c91ee98ba039e335f2e92fdcd1cb54
Parents: 2d7b868 56b1df4
Author: cxfeng <cx...@apache.org>
Authored: Thu Mar 16 16:56:21 2017 +0800
Committer: cxfeng <cx...@apache.org>
Committed: Thu Mar 16 16:56:21 2017 +0800
----------------------------------------------------------------------
----------------------------------------------------------------------
[12/50] incubator-weex git commit: * [doc] Fix website bug.
Posted by cx...@apache.org.
* [doc] Fix website bug.
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/c55b9dfd
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/c55b9dfd
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/c55b9dfd
Branch: refs/heads/master
Commit: c55b9dfd3fafbd6a9a176654f09bcb45652cb7cc
Parents: 46e1b28
Author: Yun Dong <yu...@gmail.com>
Authored: Thu Feb 23 15:19:53 2017 +0800
Committer: Yun Dong <yu...@gmail.com>
Committed: Thu Feb 23 15:19:53 2017 +0800
----------------------------------------------------------------------
doc/themes/weex/layout/_partial/head.ejs | 32 ++++++++++++++++++++++-----
doc/themes/weex/source/js/common.js | 4 ++--
2 files changed, 28 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/c55b9dfd/doc/themes/weex/layout/_partial/head.ejs
----------------------------------------------------------------------
diff --git a/doc/themes/weex/layout/_partial/head.ejs b/doc/themes/weex/layout/_partial/head.ejs
index 259979d..f3d428c 100644
--- a/doc/themes/weex/layout/_partial/head.ejs
+++ b/doc/themes/weex/layout/_partial/head.ejs
@@ -32,16 +32,36 @@
currentLang = navigator.browserLanguage;
}
- if (window.localStorage) {
- selectedLang = window.localStorage.getItem('lang')
+ if (window.sessionStorage) {
+ selectedLang = window.sessionStorage.getItem('lang')
}
- if (currentLang.indexOf('zh') >= 0
- && currentPathname.indexOf('/cn/') != 0
- && !selectedLang) {
- location.href = currentOrigin + '/cn' + currentPathname;
+ if (!selectedLang) {
+ if (currentLang.indexOf('zh') >= 0 && currentPathname.indexOf('/cn/') != 0) {
+ location.href = getUrl('cn', currentOrigin, currentPathname);
+ } else if (currentLang.indexOf('en') >= 0 && currentPathname.indexOf('/cn/') == 0) {
+ location.href = getUrl('en', currentOrigin, currentPathname);
+ }
}
+ function getUrl (lang, origin, path) {
+ if (lang == 'en') {
+ if (path.indexOf('/cn/') == 0) {
+ return origin + path.substr(3)
+ } else {
+ return origin + path
+ }
+ } else {
+ var langPath = '/' + lang + '/'
+ var pathStart = path.indexOf(langPath)
+
+ if (pathStart == 0) {
+ return origin + path
+ } else {
+ return origin + langPath + path.substr(1)
+ }
+ }
+ }
})();
</script>
<%- open_graph({twitter_id: theme.twitter, google_plus: theme.google_plus, fb_admins: theme.fb_admins, fb_app_id: theme.fb_app_id}) %>
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/c55b9dfd/doc/themes/weex/source/js/common.js
----------------------------------------------------------------------
diff --git a/doc/themes/weex/source/js/common.js b/doc/themes/weex/source/js/common.js
index 12a569f..1eddfc6 100644
--- a/doc/themes/weex/source/js/common.js
+++ b/doc/themes/weex/source/js/common.js
@@ -87,8 +87,8 @@
if (pick.contains(target)) {
var lang = target.getAttribute('data-lang')
- if (window.localStorage) {
- window.localStorage.setItem('lang', lang)
+ if (window.sessionStorage) {
+ window.sessionStorage.setItem('lang', lang)
}
location.href = target.href
[47/50] incubator-weex git commit: * [ios] fix default handler
override
Posted by cx...@apache.org.
* [ios] fix default handler override
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/1e4105f6
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/1e4105f6
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/1e4105f6
Branch: refs/heads/master
Commit: 1e4105f633693b26f7d73b818418ce643040de60
Parents: ca43fa3
Author: acton393 <zh...@gmail.com>
Authored: Fri Mar 10 11:23:47 2017 +0800
Committer: acton393 <zh...@gmail.com>
Committed: Fri Mar 10 11:23:47 2017 +0800
----------------------------------------------------------------------
ios/sdk/WeexSDK/Sources/Engine/WXSDKEngine.m | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/1e4105f6/ios/sdk/WeexSDK/Sources/Engine/WXSDKEngine.m
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Engine/WXSDKEngine.m b/ios/sdk/WeexSDK/Sources/Engine/WXSDKEngine.m
index e804aea..dfbdb1b 100644
--- a/ios/sdk/WeexSDK/Sources/Engine/WXSDKEngine.m
+++ b/ios/sdk/WeexSDK/Sources/Engine/WXSDKEngine.m
@@ -217,9 +217,14 @@
+ (void)registerDefaults
{
- [self _registerDefaultComponents];
- [self _registerDefaultModules];
- [self _registerDefaultHandlers];
+ static dispatch_once_t onceToken;
+ dispatch_once(&onceToken, ^{
+ [self _registerDefaultComponents];
+ [self _registerDefaultModules];
+ [self _registerDefaultHandlers];
+ });
+
+ [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"taobao://"]];
}
+ (NSString*)SDKEngineVersion
[24/50] incubator-weex git commit: Merge pull request #2760 from
willice9527/iOS-bugfix-renderOptions
Posted by cx...@apache.org.
Merge pull request #2760 from willice9527/iOS-bugfix-renderOptions
* [iOS] model WXSDKInstance update _options property
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/539d60bf
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/539d60bf
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/539d60bf
Branch: refs/heads/master
Commit: 539d60bffadd3dd82b5aa35db70f50e2003ce82b
Parents: 5529bb1 0e8f171
Author: \u9690\u5c0f\u98ce <cx...@gmail.com>
Authored: Sun Feb 26 19:50:31 2017 +0800
Committer: GitHub <no...@github.com>
Committed: Sun Feb 26 19:50:31 2017 +0800
----------------------------------------------------------------------
ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
[16/50] incubator-weex git commit: * [iOS] model WXSDKInstance update
_options property
Posted by cx...@apache.org.
* [iOS] model WXSDKInstance update _options property
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/0e8f171a
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/0e8f171a
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/0e8f171a
Branch: refs/heads/master
Commit: 0e8f171adc386e75c40168b41f8c2c0cb3a98de1
Parents: 5d8f468
Author: jinlin.liu <ji...@ele.me>
Authored: Fri Feb 24 14:59:20 2017 +0800
Committer: jinlin.liu <ji...@ele.me>
Committed: Fri Feb 24 14:59:20 2017 +0800
----------------------------------------------------------------------
ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/0e8f171a/ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m b/ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m
index 35e9c0f..c0e67f7 100644
--- a/ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m
+++ b/ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m
@@ -187,7 +187,6 @@ typedef enum : NSUInteger {
{
NSURL *url = request.URL;
_scriptURL = url;
- _options = options;
_jsData = data;
NSMutableDictionary *newOptions = [options mutableCopy] ?: [NSMutableDictionary new];
@@ -199,7 +198,8 @@ typedef enum : NSUInteger {
WXLogWarning(@"Error type in options with key:bundleUrl, should be of type NSString, not NSURL!");
newOptions[bundleUrlOptionKey] = ((NSURL*)newOptions[bundleUrlOptionKey]).absoluteString;
}
-
+ _options = [newOptions copy];
+
if (!self.pageName || [self.pageName isEqualToString:@""]) {
self.pageName = [WXUtility urlByDeletingParameters:url].absoluteString ? : @"";
}
[11/50] incubator-weex git commit: * [doc] Update some en docs.
Posted by cx...@apache.org.
* [doc] Update some en docs.
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/46e1b28f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/46e1b28f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/46e1b28f
Branch: refs/heads/master
Commit: 46e1b28fd3292e4f97bb806d89402cb629957ae9
Parents: 537ab00
Author: Yun Dong <yu...@gmail.com>
Authored: Thu Feb 23 12:01:26 2017 +0800
Committer: Yun Dong <yu...@gmail.com>
Committed: Thu Feb 23 12:01:26 2017 +0800
----------------------------------------------------------------------
.../cn/references/advanced/extend-to-android.md | 18 ++
doc/source/cn/references/android-apis.md | 25 +-
doc/source/cn/references/ios-apis.md | 4 +-
doc/source/guide/index.md | 50 +++-
doc/source/guide/integrate-to-your-app.md | 272 ++++++++++++++++++-
doc/source/references/advanced/extend-jsfm.md | 159 ++++++++++-
.../references/advanced/extend-to-android.md | 18 ++
.../references/advanced/extend-to-html5.md | 88 +++++-
doc/source/references/android-apis.md | 211 +++++++++++++-
doc/source/references/ios-apis.md | 70 ++++-
doc/source/references/native-dom-api.md | 203 +++++++++++++-
doc/source/references/weex-variable.md | 41 ++-
doc/themes/weex/layout/_partial/footer.ejs | 6 +-
doc/themes/weex/layout/_partial/head.ejs | 23 ++
doc/themes/weex/source/js/common.js | 25 ++
15 files changed, 1187 insertions(+), 26 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/46e1b28f/doc/source/cn/references/advanced/extend-to-android.md
----------------------------------------------------------------------
diff --git a/doc/source/cn/references/advanced/extend-to-android.md b/doc/source/cn/references/advanced/extend-to-android.md
index 4c57613..71c642d 100644
--- a/doc/source/cn/references/advanced/extend-to-android.md
+++ b/doc/source/cn/references/advanced/extend-to-android.md
@@ -55,6 +55,24 @@ JS \u8c03\u7528\u5982\u4e0b\uff1a
</script>
```
+#### \u652f\u6301 synchronous/asynchronous \u56de\u8c03
+
+\u4f60\u53ef\u4ee5\u6dfb\u52a0 `@JSMethod(uiThread = false\u6216true)` \u6ce8\u91ca\u6765\u9009\u62e9 moudle \u7684\u56de\u8c03\u6a21\u5f0f\u3002\u8bf7\u53c2\u89c1\u4ee5\u4e0b\u793a\u4f8b\uff1a
+
+```java
+ // as sync-callback mode
+@JSMethod (uiThread = false)
+public void testSyncCall(){
+ WXLogUtils.d("WXComponentSyncTest : Thread.currentThread().getName());
+}
+
+// as async-callback mode
+@JSMethod (uiThread = true)
+public void testAsyncCall(){
+ WXLogUtils.e("WXComponentASynTest : Thread.currentThread().getName() );
+}
+```
+
## Component \u6269\u5c55
1. Component \u6269\u5c55\u7c7b\u5fc5\u987b\u96c6\u6210 WXComponent.
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/46e1b28f/doc/source/cn/references/android-apis.md
----------------------------------------------------------------------
diff --git a/doc/source/cn/references/android-apis.md b/doc/source/cn/references/android-apis.md
index 52de02a..4247673 100644
--- a/doc/source/cn/references/android-apis.md
+++ b/doc/source/cn/references/android-apis.md
@@ -18,7 +18,9 @@ Weex \u521d\u6b65\u63a5\u5165\u8bf7\u53c2\u8003\uff1ahttps://github.com/weexteam/article/issues/25
## Adapter \u4ecb\u7ecd
Weex \u4e3a\u4e86\u91cd\u7528 Native \u901a\u7528\u5e93\u63d0\u4f9b\u4e86\u5bf9\u5e94\u7684\u63a5\u53e3\u8fdb\u884c\u8bbe\u7f6e\u3002
-1. IWXImgLoaderAdapter \u56fe\u7247\u9002\u914d\u5668\u3002Weex \u4f1a\u628a\u9700\u8981\u8bbe\u7f6e\u56fe\u7247\u7684 View \u548c URL \u900f\u9732\u51fa\u6765\uff0cNative \u7aef\u9700\u8981\u5b9e\u73b0\u8fd9\u4e2a\u63a5\u53e3\u8fdb\u884c\u56fe\u7247\u4e0b\u8f7d\u3002 Weex \u6ca1\u6709\u63d0\u4f9b\u56fe\u7247\u9ed8\u8ba4\u5b9e\u73b0\u3002
+1. IWXImgLoaderAdapter \u56fe\u7247\u9002\u914d\u5668\u3002
+
+ Weex \u4f1a\u628a\u9700\u8981\u8bbe\u7f6e\u56fe\u7247\u7684 View \u548c URL \u900f\u9732\u51fa\u6765\uff0cNative \u7aef\u9700\u8981\u5b9e\u73b0\u8fd9\u4e2a\u63a5\u53e3\u8fdb\u884c\u56fe\u7247\u4e0b\u8f7d\u3002 Weex \u6ca1\u6709\u63d0\u4f9b\u56fe\u7247\u9ed8\u8ba4\u5b9e\u73b0\u3002
\u63a5\u53e3\u5b9a\u4e49\u5982\u4e0b\uff1a
@@ -28,9 +30,11 @@ Weex \u4e3a\u4e86\u91cd\u7528 Native \u901a\u7528\u5e93\u63d0\u4f9b\u4e86\u5bf9\u5e94\u7684\u63a5\u53e3\u8fdb\u884c\u8bbe\u7f6e\u3002
}
```
- WXImageQuality \u8868\u793a\u56fe\u7247\u7684\u8d28\u91cf\uff0cWXImageQuality \u53d6\u5982\u4e0b\u503c LOW, NORMAL, HIGH, ORIGINAL \u56fe\u7247\u8d28\u91cf\u4f9d\u6b21\u53d8\u9ad8\u3002\u9ed8\u8ba4\u4e3a LOW\u3002WXImageStrategy \u4e3a\u6269\u5c55\u7c7b\uff0c\u8868\u793a\u4e86\u56fe\u7247\u662f\u5426\u53ef\u4ee5\u88c1\u526a (isClipping) \u9510\u5316 (isSharpen) \u5360\u4f4d\u7b26 (placeHolder) \u7b49\u3002
+ `WXImageQuality` \u8868\u793a\u56fe\u7247\u7684\u8d28\u91cf\uff0c`WXImageQuality` \u53d6\u5982\u4e0b\u503c `LOW`, `NORMAL`, `HIGH`, `ORIGINAL` \u56fe\u7247\u8d28\u91cf\u4f9d\u6b21\u53d8\u9ad8\u3002\u9ed8\u8ba4\u4e3a `LOW`\u3002`WXImageStrategy` \u4e3a\u6269\u5c55\u7c7b\uff0c\u8868\u793a\u4e86\u56fe\u7247\u662f\u5426\u53ef\u4ee5\u88c1\u526a (isClipping) \u9510\u5316 (isSharpen) \u5360\u4f4d\u7b26 (placeHolder) \u7b49\u3002
+
+2. IWXHttpAdapter \u7f51\u7edc\u4e0b\u8f7d\u9002\u914d\u5668\u3002
-2. IWXHttpAdapter \u7f51\u7edc\u4e0b\u8f7d\u9002\u914d\u5668\u3002Weex \u81ea\u5b9a\u4e49\u4e86 WXRequest \u548c OnHttpListener\uff0cNative \u91cd\u8f7d\u63a5\u53e3\u540e\u53ef\u4ee5\u4ece Request \u4e2d\u83b7\u53d6URL\uff0cHeader \u7b49\u53c2\u6570\uff0c\u7f51\u7edc\u8bf7\u6c42\u5b8c\u6210\u540e\u53ef\u4ee5\u901a\u8fc7 OnHttpListener \u8fdb\u884c\u56de\u8c03\u901a\u77e5\u3002Weex \u63d0\u4f9b\u4e86\u9ed8\u8ba4\u7f51\u7edc\u8bf7\u6c42\uff1aDefaultWXHttpAdapter\uff0c \u4f7f\u7528\u7684\u662f HttpURLConnection \u8fdb\u884c\u7f51\u7edc\u8bf7\u6c42\u3002
+ Weex \u81ea\u5b9a\u4e49\u4e86 `WXRequest` \u548c `OnHttpListener`\uff0cNative \u91cd\u8f7d\u63a5\u53e3\u540e\u53ef\u4ee5\u4ece Request \u4e2d\u83b7\u53d6URL\uff0cHeader \u7b49\u53c2\u6570\uff0c\u7f51\u7edc\u8bf7\u6c42\u5b8c\u6210\u540e\u53ef\u4ee5\u901a\u8fc7 `OnHttpListener` \u8fdb\u884c\u56de\u8c03\u901a\u77e5\u3002Weex \u63d0\u4f9b\u4e86\u9ed8\u8ba4\u7f51\u7edc\u8bf7\u6c42\uff1a`DefaultWXHttpAdapter`\uff0c \u4f7f\u7528\u7684\u662f `HttpURLConnection` \u8fdb\u884c\u7f51\u7edc\u8bf7\u6c42\u3002
\u63a5\u53e3\u5b9a\u4e49\u5982\u4e0b\uff1a
@@ -40,9 +44,9 @@ Weex \u4e3a\u4e86\u91cd\u7528 Native \u901a\u7528\u5e93\u63d0\u4f9b\u4e86\u5bf9\u5e94\u7684\u63a5\u53e3\u8fdb\u884c\u8bbe\u7f6e\u3002
}
```
- WXRequest \u5b9a\u4e49\u4e86\u7f51\u7edc\u8bf7\u6c42\u76f8\u5173\u7684\u53c2\u6570\uff0c\u8bf7\u6c42\u65b9\u6cd5\uff0c\u8bf7\u6c42\u4e3b\u4f53\uff0c\u8d85\u65f6\u65f6\u95f4\u3002Weex\u9ed8\u8ba4\u8d85\u65f6\u65f6\u95f4\u662f3000.
+ `WXRequest` \u5b9a\u4e49\u4e86\u7f51\u7edc\u8bf7\u6c42\u76f8\u5173\u7684\u53c2\u6570\uff0c\u8bf7\u6c42\u65b9\u6cd5\uff0c\u8bf7\u6c42\u4e3b\u4f53\uff0c\u8d85\u65f6\u65f6\u95f4\u3002Weex\u9ed8\u8ba4\u8d85\u65f6\u65f6\u95f4\u662f3000.
- OnHttpListener \u5b9a\u4e49\u4e86\u7f51\u7edc\u8bf7\u6c42\u7ed3\u675f\u540e\u5bf9\u5e94\u65b9\u6cd5\u3002\u5b9a\u4e49\u5982\u4e0b\uff1a
+ `OnHttpListener` \u5b9a\u4e49\u4e86\u7f51\u7edc\u8bf7\u6c42\u7ed3\u675f\u540e\u5bf9\u5e94\u65b9\u6cd5\u3002\u5b9a\u4e49\u5982\u4e0b\uff1a
```java
interface OnHttpListener {
@@ -85,7 +89,7 @@ Weex \u4e3a\u4e86\u91cd\u7528 Native \u901a\u7528\u5e93\u63d0\u4f9b\u4e86\u5bf9\u5e94\u7684\u63a5\u53e3\u8fdb\u884c\u8bbe\u7f6e\u3002
void commit(Context context, String eventId, String type, WXPerformance perf, Map<String, Serializable> params);
}
```
- Native \u5b9e\u73b0\u63a5\u53e3\u540e\u53ef\u4ee5\u901a\u8fc7 WXPerformance \u548c params \u83b7\u53d6\u5bf9\u5e94\u7684\u4fe1\u606f\u3002
+ Native \u5b9e\u73b0\u63a5\u53e3\u540e\u53ef\u4ee5\u901a\u8fc7 `WXPerformance` \u548c `params` \u83b7\u53d6\u5bf9\u5e94\u7684\u4fe1\u606f\u3002
WXPerformane \u5bf9\u5e94\u5b57\u6bb5\u8868\u793a\u542b\u4e49\u8bf7\u53c2\u8003\u6587\u6863\uff1ahttps://github.com/weexteam/article/issues/124
\u540e\u7eed\u968f\u7740\u5f00\u53d1 Weex \u8fd8\u4f1a\u5b9a\u4e49\u66f4\u591a\u7684 Adapter\uff0c\u6b64\u6587\u6863\u4e5f\u4f1a\u5b9a\u65f6\u66f4\u65b0\u3002
@@ -111,8 +115,11 @@ Weex \u4e3a\u4e86\u91cd\u7528 Native \u901a\u7528\u5e93\u63d0\u4f9b\u4e86\u5bf9\u5e94\u7684\u63a5\u53e3\u8fdb\u884c\u8bbe\u7f6e\u3002
```
`elementRef`\uff1a\u4e8b\u4ef6\u53d1\u751f\u7684\u63a7\u4ef6 ID\u3002
+
`type`: \u81ea\u5b9a\u4e49\u4e8b\u4ef6\uff0cWeex \u9ed8\u8ba4\u4ee5 onXxxxx \u5f00\u5934\u4e3a\u81ea\u5b9a\u4e49\u4e8b\u4ef6\u3002onPullDown (\u4e0b\u62c9\u4e8b\u4ef6)\u3002
+
`data`: \u9700\u8981\u900f\u51fa\u7684\u53c2\u6570\uff0c\u4f8b\u5982\u5f53\u524d\u63a7\u4ef6\u7684\u5927\u5c0f\uff0c\u5750\u6807\u7b49\u5176\u4ed6\u4fe1\u606f\u3002
+
`domChanges`\uff1a\u66f4\u65b0 ref \u5bf9\u5e94\u63a7\u4ef6\u7684 Attribute \u548c Style\u3002
2. \u4e8b\u4ef6\u56de\u8c03
@@ -140,7 +147,7 @@ Weex \u4e3a\u4e86\u91cd\u7528 Native \u901a\u7528\u5e93\u63d0\u4f9b\u4e86\u5bf9\u5e94\u7684\u63a5\u53e3\u8fdb\u884c\u8bbe\u7f6e\u3002
## \u6ce8\u518c\u6ed1\u52a8\u4e8b\u4ef6
-Weex \u83b7\u53d6\u6ed1\u52a8\u4e8b\u4ef6\u53ef\u4ee5\u901a\u8fc7 WXSDKInstance \u6ce8\u518c registerOnWXScrollListener \u76d1\u542c
+Weex \u83b7\u53d6\u6ed1\u52a8\u4e8b\u4ef6\u53ef\u4ee5\u901a\u8fc7 `WXSDKInstance` \u6ce8\u518c `registerOnWXScrollListener` \u76d1\u542c
\u63a5\u53e3\u5b9a\u4e49\u5982\u4e0b\uff1a
@@ -181,7 +188,7 @@ public interface OnWXScrollListener {
## \u81ea\u5b9a\u4e49NavBar
-Weex \u63d0\u4f9b\u4e86 WXNavigatorModule \u8fdb\u884c\u5bfc\u822a\u63a7\u5236\uff0c\u5bf9\u5e94\u7684\u65b9\u6cd5\u53ef\u4ee5\u901a\u8fc7\u8bbe\u7f6e IActivityNavBarSetter \u63a5\u53e3\u8fdb\u884c\u5b9a\u5236\u3002
+Weex \u63d0\u4f9b\u4e86 `WXNavigatorModule` \u8fdb\u884c\u5bfc\u822a\u63a7\u5236\uff0c\u5bf9\u5e94\u7684\u65b9\u6cd5\u53ef\u4ee5\u901a\u8fc7\u8bbe\u7f6e `IActivityNavBarSetter` \u63a5\u53e3\u8fdb\u884c\u5b9a\u5236\u3002
\u4f7f\u7528\u65b9\u6cd5:
@@ -211,4 +218,4 @@ Weex \u5904\u4e8e\u53d1\u5c55\u9636\u6bb5\u4f1a\u589e\u52a0\u4e00\u4e9b\u65b0\u7684\u7279\u6027\u548c\u529f\u80fd\uff0c\u4f46\u662f\u8fd9\u4e9b\u65b0\u7684
\u6240\u8c13\u964d\u7ea7\u529f\u80fd\u5c31\u662f Weex \u65e0\u6cd5\u8fd0\u884c\u7684\u7248\u672c\u6216\u8005\u624b\u673a\uff0c\u53ef\u4ee5\u7528 Weex h5 \u6765\u4ee3\u66ff\u3002
-Native \u7aef\u53ef\u4ee5\u901a\u8fc7\u63a5\u53e3 IWXRenderListener \u4e2d\u7684 onException \u65b9\u6cd5\u8fdb\u884c\u5904\u7406\uff0c\u5982\u679c\u662f\u4e3b\u52a8\u964d\u7ea7 errCode \u662f\u4ee5\u201c|\u201d\u5206\u5272\u7684\u5b57\u7b26\u3002\u201c|"\u524d\u9762\u7684\u5b57\u7b26\u4e3a1\u8868\u793a\u4e3b\u52a8\u964d\u7ea7\uff0cNative \u7aef\u53ef\u4ee5\u8df3\u8f6c\u5230\u5bf9\u5e94\u7684 H5 \u9875\u9762\u3002\u6216\u8005\u7528\u5176\u4ed6\u7684\u65b9\u5f0f\u63d0\u793a\u7528\u6237\u5f53\u524d\u73af\u5883\u4e0d\u652f\u6301 Weex\u3002
+Native \u7aef\u53ef\u4ee5\u901a\u8fc7\u63a5\u53e3 `IWXRenderListener` \u4e2d\u7684 `onException` \u65b9\u6cd5\u8fdb\u884c\u5904\u7406\uff0c\u5982\u679c\u662f\u4e3b\u52a8\u964d\u7ea7 errCode \u662f\u4ee5\u201c|\u201d\u5206\u5272\u7684\u5b57\u7b26\u3002\u201c|"\u524d\u9762\u7684\u5b57\u7b26\u4e3a1\u8868\u793a\u4e3b\u52a8\u964d\u7ea7\uff0cNative \u7aef\u53ef\u4ee5\u8df3\u8f6c\u5230\u5bf9\u5e94\u7684 H5 \u9875\u9762\u3002\u6216\u8005\u7528\u5176\u4ed6\u7684\u65b9\u5f0f\u63d0\u793a\u7528\u6237\u5f53\u524d\u73af\u5883\u4e0d\u652f\u6301 Weex\u3002
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/46e1b28f/doc/source/cn/references/ios-apis.md
----------------------------------------------------------------------
diff --git a/doc/source/cn/references/ios-apis.md b/doc/source/cn/references/ios-apis.md
index 5ff9d3d..0668923 100644
--- a/doc/source/cn/references/ios-apis.md
+++ b/doc/source/cn/references/ios-apis.md
@@ -15,7 +15,7 @@ version: 2.1
## Handler (\u5bf9\u5e94\u4e8e Android \u7684 Adapter) \u4ecb\u7ecd
-- WXImgLoaderDefaultImpl \u56fe\u7247\u4e0b\u8f7d handler\u3002Weex \u4f1a\u628a\u9700\u8981\u8bbe\u7f6e\u56fe\u7247\u7684 View \u548c URL \u900f\u9732\u51fa\u6765\uff0cNative \u7aef\u9700\u8981\u5b9e\u73b0\u8fd9\u4e2a\u63a5\u53e3\u8fdb\u884c\u56fe\u7247\u4e0b\u8f7d\u3002WeexSDK kernel \u672c\u8eab\u6ca1\u6709\u63d0\u4f9b\u56fe\u7247\u4e0b\u8f7d\u7684\u9ed8\u8ba4\u5b9e\u73b0\u3002
+- `WXImgLoaderDefaultImpl` \u56fe\u7247\u4e0b\u8f7d handler\u3002Weex \u4f1a\u628a\u9700\u8981\u8bbe\u7f6e\u56fe\u7247\u7684 View \u548c URL \u900f\u9732\u51fa\u6765\uff0cNative \u7aef\u9700\u8981\u5b9e\u73b0\u8fd9\u4e2a\u63a5\u53e3\u8fdb\u884c\u56fe\u7247\u4e0b\u8f7d\u3002WeexSDK kernel \u672c\u8eab\u6ca1\u6709\u63d0\u4f9b\u56fe\u7247\u4e0b\u8f7d\u7684\u9ed8\u8ba4\u5b9e\u73b0\u3002
\u63a5\u53e3\u5b9a\u4e49\u5982\u4e0b\uff1a
@@ -86,6 +86,6 @@ Weex \u5904\u4e8e\u53d1\u5c55\u9636\u6bb5\u4f1a\u589e\u52a0\u4e00\u4e9b\u65b0\u7684\u7279\u6027\u548c\u529f\u80fd\uff0c\u4f46\u662f\u8fd9\u4e9b\u65b0\u7684
\u6240\u8c13\u964d\u7ea7\u529f\u80fd\u5c31\u662f Weex \u65e0\u6cd5\u8fd0\u884c\u7684\u7248\u672c\u6216\u8005\u624b\u673a\uff0c\u53ef\u4ee5\u7528 Weex h5 \u6765\u4ee3\u66ff\u3002
-Native \u7aef\u53ef\u4ee5\u901a\u8fc7\u63a5\u53e3 WXSDKInstance \u4e2d\u7684 onFailed \u56de\u8c03\u8fdb\u884c\u5904\u7406\uff0c\u5982\u679c\u662f\u4e3b\u52a8\u964d\u7ea7\u5219\u8fd4\u56de\u7684\u9519\u8bef domain \u4e3a TemplateErrorType \u8868\u793a\u4e3b\u52a8\u964d\u7ea7\uff0cNative \u7aef\u53ef\u4ee5\u8df3\u8f6c\u5230\u5bf9\u5e94\u7684 H5 \u9875\u9762\uff0c\u6216\u8005\u7528\u5176\u4ed6\u7684\u65b9\u5f0f\u63d0\u793a\u7528\u6237\u5f53\u524d\u73af\u5883\u4e0d\u652f\u6301 Weex\u3002
+Native \u7aef\u53ef\u4ee5\u901a\u8fc7\u63a5\u53e3 WXSDKInstance \u4e2d\u7684 onFailed \u56de\u8c03\u8fdb\u884c\u5904\u7406\uff0c\u5982\u679c\u662f\u4e3b\u52a8\u964d\u7ea7\u5219\u8fd4\u56de\u7684\u9519\u8bef domain \u4e3a `TemplateErrorType`\uff0cNative \u7aef\u53ef\u4ee5\u8df3\u8f6c\u5230\u5bf9\u5e94\u7684 H5 \u9875\u9762\uff0c\u6216\u8005\u7528\u5176\u4ed6\u7684\u65b9\u5f0f\u63d0\u793a\u7528\u6237\u5f53\u524d\u73af\u5883\u4e0d\u652f\u6301 Weex\u3002
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/46e1b28f/doc/source/guide/index.md
----------------------------------------------------------------------
diff --git a/doc/source/guide/index.md b/doc/source/guide/index.md
index 0912608..0abde32 100644
--- a/doc/source/guide/index.md
+++ b/doc/source/guide/index.md
@@ -29,4 +29,52 @@ It's too easy\uff0cright? Let's focus on the syntax, obviously this is vue.
You can try to modify the Hello World, then generate a new QR code to scan.
-If you're curious to learn more about technical details, continue on to the next. And don't forget to write code at [dotWe](https://dotwe.org) and preview at anytime.
\ No newline at end of file
+## Set up development environment
+
+You will need Node.js and the Weex CLi.
+
+You can installing Node using [nvm](https://github.com/creationix/nvm) (Simple bash script to manage multiple active node.js versions). Run the following commands in a Terminal after installing nvm:
+
+```bash
+$ nvm install 6.10.0
+$ nvm use 6.10.0
+```
+
+Node.js comes with npm, which lets you install the Weex Cli.
+
+Run the following command in a Terminal:
+
+```bash
+$ npm install -g weex-toolkit@beta
+```
+
+**NOTE: ** If you get an error like "permission error", try installing with `sudo`.
+
+
+Then you can use the weex command to verify that the installation is successful:
+
+
+
+### Generate a new Weex project
+
+You can use CLi to generate a Weex project called "awesome-project". Run the following command in a Terminal:
+
+```bash
+$ weex init awesome-project
+```
+
+Then we enter the awesome-project folder, the CLi has been for us to generate a standard project structure.
+
+### Usage
+
+We enter the awesome-project folder and install dependencies with the following commands:
+
+```bash
+npm install
+```
+
+Then we run `npm run dev` and `npm run serve` to start watch mode and static server.
+
+Finally, we can see the Weex page in `http://localhost:8080/index.html`.
+
+If you're curious to learn more about technical details, continue on to the next. And don't forget to write code at [dotWe](https://dotwe.org) and preview at anytime.
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/46e1b28f/doc/source/guide/integrate-to-your-app.md
----------------------------------------------------------------------
diff --git a/doc/source/guide/integrate-to-your-app.md b/doc/source/guide/integrate-to-your-app.md
index dc25ef4..7d67d84 100644
--- a/doc/source/guide/integrate-to-your-app.md
+++ b/doc/source/guide/integrate-to-your-app.md
@@ -2,10 +2,278 @@
title: Integrate to Your App
type: guide
order: 3
+has_chapter_content: false
+chapter_title: Intro
version: 2.1
-has_chapter_content: true
---
# Integrate to Your App
-Work in progresss.
\ No newline at end of file
+## Integrate to Android
+Tip\uff1aThe following documents assume that you already have a certain Android development experience.
+
+### Android has tow ways to integrate weex
+1.using source code: Can quickly use the latest features of WEEX, according to your own characteristics of the project. So, you can do some related improvements.
+
+2.using SDK: WEEX will regularly release a stable version at jcenter.[jcenter](https://bintray.com/alibabaweex/maven/weex_sdk/view)
+
+### Prerequisites
+Make sure the following configuration is complete:
+
++ [JDK](http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html) version >= 1.7 , and configure the environment variable
++ Android SDK installed and configure the environment variable
++ Android SDK version 23 (compileSdkVersion in build.gradle)
++ SDK build tools version 23.0.1 (buildToolsVersion in build.gradle)
++ Android Support Repository >= 17 (for Android Support Library)
+
+### Quick to use
+If you are the first time to try or have a higher demand for stability, you can use the way to dependence on the SDK.
+The steps are as follows:
+
+1. Create an Android project. There is nothing to be specified, according to your habits to.
+2. Update build.gradle by adding the following dependencies:
+
+```java
+compile 'com.android.support:recyclerview-v7:23.1.1'
+compile 'com.android.support:support-v4:23.1.1'
+compile 'com.android.support:appcompat-v7:23.1.1'
+compile 'com.alibaba:fastjson:1.1.46.android'
+compile 'com.taobao.android:weex_sdk:0.5.1@aar'
+```
+
+Note: the version can be high can not be low.
+
+#### Start writing code
+
+Note: There is a complete code address in the appendix
+
++ Implement the picture download interface, set the initialization.
+
+```java
+package com.weex.sample;
+import android.widget.ImageView;
+import com.taobao.weex.adapter.IWXImgLoaderAdapter;
+import com.taobao.weex.common.WXImageStrategy;
+import com.taobao.weex.dom.WXImageQuality;
+/**
+* Created by lixinke on 16/6/1.
+*/
+public class ImageAdapter implements IWXImgLoaderAdapter {
+ @Override
+ public void setImage(String url, ImageView view, WXImageQuality quality, WXImageStrategy strategy) {
+ //To implement picture download interface, otherwise the picture can not be displayed.
+ }
+}
+```
+
++ initialization
+
+```java
+package com.weex.sample;
+import android.app.Application;
+import com.taobao.weex.InitConfig;
+import com.taobao.weex.WXSDKEngine;
+
+/**
+* Note: add android:name=".WXApplication" into Manifest file
+* To implement ImageAdapter, otherwise the picture can not be downloaded
+* Gradle must add some dependencies, otherwise the initialization will fail.
+* compile 'com.android.support:recyclerview-v7:23.1.1'
+* compile 'com.android.support:support-v4:23.1.1'
+* compile 'com.android.support:appcompat-v7:23.1.1'
+* compile 'com.alibaba:fastjson:1.1.45'
+*/
+
+public class WXApplication extends Application {
+ @Override
+ public void onCreate() {
+ super.onCreate();
+ InitConfig config=new InitConfig.Builder().setImgAdapter(new ImageAdapter()).build();
+ WXSDKEngine.initialize(this,config);
+ }
+}
+```
+
++ Start rendering
+
+```java
+package com.weex.sample;
+import android.os.Bundle;
+import android.support.v7.app.AppCompatActivity;
+import android.view.View;
+import com.taobao.weex.IWXRenderListener;
+import com.taobao.weex.WXSDKInstance;
+import com.taobao.weex.common.WXRenderStrategy;
+import com.taobao.weex.utils.WXFileUtils;
+public class MainActivity extends AppCompatActivity implements IWXRenderListener {
+ WXSDKInstance mWXSDKInstance;
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_main);
+ mWXSDKInstance = new WXSDKInstance(this);
+ mWXSDKInstance.registerRenderListener(this);
+ /**
+ * WXSample can be replaced by any string
+ * Template is js file that .we converted
+ * Option can be empty, or through the option passed js required parameters. Such as the address of the bundle js.
+ * JsonInitData can be empty.
+ * width is -1 , default full screen, you can customize it.
+ * height is -1 , default full screen, you can customize it.
+ */
+ mWXSDKInstance.render("WXSample", WXFileUtils.loadFileContent("hello.js", this), null, null, -1, -1, WXRenderStrategy.APPEND_ASYNC);
+ }
+ @Override
+ public void onViewCreated(WXSDKInstance instance, View view) {
+ setContentView(view);
+ }
+ @Override
+ public void onRenderSuccess(WXSDKInstance instance, int width, int height) {
+ }
+ @Override
+ public void onRefreshSuccess(WXSDKInstance instance, int width, int height) {
+ }
+ @Override
+ public void onException(WXSDKInstance instance, String errCode, String msg) {
+ }
+ @Override
+ protected void onResume() {
+ super.onResume();
+ if(mWXSDKInstance!=null){
+ mWXSDKInstance.onActivityResume();
+ }
+ }
+ @Override
+ protected void onPause() {
+ super.onPause();
+ if(mWXSDKInstance!=null){
+ mWXSDKInstance.onActivityPause();
+ }
+ }
+ @Override
+ protected void onStop() {
+ super.onStop();
+ if(mWXSDKInstance!=null){
+ mWXSDKInstance.onActivityStop();
+ }
+ }
+ @Override
+ protected void onDestroy() {
+ super.onDestroy();
+ if(mWXSDKInstance!=null){
+ mWXSDKInstance.onActivityDestroy();
+ }
+ }
+}
+```
+
+### Dependence on source code (IDE Android Studio)
+1.Download source code. git clone https://github.com/alibaba/weex.
+2.Create an android project.
+3.Import the SDK Module through the following path:
+` File->New-Import Module-> chose WEEX SDK Module(weex/android/sdk) -> Finish`
+4.Add the following dependencies: compile project (': weex_sdk') to build.gradle file.
+5.Other settings please refer to the above "Quick to use".
+
+Appendix: [WXSample address](https://github.com/xkli/WXSample.git) `https://github.com/xkli/WXSample.git`
+
+
+## Integrated to iOS
+
+Through the cocoaPods integrated Weex iOS SDK to the project.
+First assume that you have finished installing the [iOS development environment](https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppStoreDistributionTutorial/Setup/Setup.html) and [CocoaPods](https://guides.cocoapods.org/using/getting-started.html).
+
+### Step 1: Add Dependencies
+Import Weex iOS SDK to your existing project, if not, you can create a new project.
+Before proceeding, make sure that the Podfile file is under the project file. If not, create one and open with text editor.
+
++ Integration framework
+
+WeexSDK The latest version on cocoaPods can be obtained [here](https://cocoapods.org/pods/WeexSDK) .
+Add the following to the Podfile file:
+
+```object-c
+source 'git@github.com:CocoaPods/Specs.git'
+target 'YourTarget' do
+ platform :ios, '7.0'
+ pod 'WeexSDK', '0.9.5' ## Suggest using latest Weex SDK
+end
+```
+
++ Integrate with source code
+
+First copy the ios / sdk directory to your existing project directory (here to copy the root directory of your existing project as an example), and then add the Podfile file.
+
+```object-c
+source 'git@github.com:CocoaPods/Specs.git'
+target 'YourTarget' do
+ platform :ios, '7.0'
+ pod 'WeexSDK', :path=>'./sdk/'
+end
+```
+
+### Step 2: Install Dependencies
+
+Open the command line, switch to the directory of the Podfile file, and run the pod install command. If there are no errors, it means that the environment has been configured.
+
+### Step 3: Initialize the Weex environment
+In the AppDelegate.m file to do the initialization operation, usually in the didFinishLaunchingWithOptions method as follows to add.
+
+```object-c
+//business configuration
+[WXAppConfiguration setAppGroup:@"AliApp"];
+[WXAppConfiguration setAppName:@"WeexDemo"];
+[WXAppConfiguration setAppVersion:@"1.0.0"];
+//init sdk enviroment
+[WXSDKEngine initSDKEnviroment];
+//register custom module and component\uff0coptional
+[WXSDKEngine registerComponent:@"MyView" withClass:[MyViewComponent class]];
+[WXSDKEngine registerModule:@"event" withClass:[WXEventModule class]];
+//register the implementation of protocol, optional
+[WXSDKEngine registerHandler:[WXNavigationDefaultImpl new] withProtocol:@protocol(WXNavigationProtocol)];
+//set the log level
+[WXLog setLogLevel: WXLogLevelAll];
+```
+
+### Step 4: Render weex Instance
+
+Weex supports both full page rendering and partial rendering. What you need to do is render Weex's view with the specified URL and add it to its parent container. The parent container is generally a viewController.
+
+```object-c
+#import <WeexSDK/WXSDKInstance.h>
+- (void)viewDidLoad
+{
+ [super viewDidLoad];
+ _instance = [[WXSDKInstance alloc] init];
+ _instance.viewController = self;
+ _instance.frame = self.view.frame;
+ __weak typeof(self) weakSelf = self;
+ _instance.onCreate = ^(UIView *view) {
+ [weakSelf.weexView removeFromSuperview];
+ [weakSelf.view addSubview:weakSelf.weexView];
+ };
+ _instance.onFailed = ^(NSError *error) {
+ //process failure
+ };
+ _instance.renderFinish = ^ (UIView *view) {
+ //process renderFinish
+ };
+ [_instance renderWithURL:self.url options:@{@"bundleUrl":[self.url absoluteString]} data:nil];
+}
+```
+
+WXSDKInstance is a very important class that provides a basic method and some callbacks, such as renderWithURL, onCreate, onFailed, etc., can be found in WXSDKInstance.h.
+
+### Step 5: Destroy Weex Instance
+In the dealloc phase of the viewController destroyed Weex instance, can play a role in avoiding memory leaks.
+
+```object-c
+- (void)dealloc
+{
+ [_instance destroyInstance];
+}
+```
+
+#### Import the Weex SDK framework to the project.
+The Weex SDK can be compiled from the source code. You can try the latest feature in the new feature or bugfix branch.
+Refer to [here](https://open.taobao.com/doc2/detail?spm=a219a.7629140.0.0.tFddsV&&docType=1&articleId=104829) for direct import of weexSDK.
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/46e1b28f/doc/source/references/advanced/extend-jsfm.md
----------------------------------------------------------------------
diff --git a/doc/source/references/advanced/extend-jsfm.md b/doc/source/references/advanced/extend-jsfm.md
index b6d9c9d..fc0fd79 100644
--- a/doc/source/references/advanced/extend-jsfm.md
+++ b/doc/source/references/advanced/extend-jsfm.md
@@ -7,4 +7,161 @@ version: 2.1
# Extend JS framework
-Work in progresss.
\ No newline at end of file
+This part of the extension of JS framework is still in the discussion, may be adjusted at any time, please pay attention.
+
+Weex wants to be able to respect as many developer development habits as possible.So, in addition to Weex official support Vue 2.0, the developer can also customize and horizontally extension their own or their favorite JS Framework.The steps to customize the JS Framework are as follows:
+
++ First you have a complete set of JS Framework.
++ Learn about Weex's JS engine feature support.
++ Adapting Weex's native DOM APIs.
++ Adapting Weex's initialization portal and multi-instance management mechanism.
++ Add your own JS Framework to the framework configuration of the Weex JS runtime. Then pack it.
++ Build JS bundles based on the JS Framework. You need to add a specific prefix comment so that the Weex JS runtime can recognize it.
+
+## Weex JS engine features support
+
++ Under iOS, Weex uses the JavaScriptCore that comes with the system, so the ES support depends on the version of the operating system.
+The current conservative judgments, ES5 features on the market mainstream iOS devices are perfectly supported, but some of the features of ES6 + is not supported.
+
++ Under Android, Weex uses the v8 kernel provided by UC. For performance and stability considerations, we are not using the latest version of the v8 kernel.The same conservative judgment, the ES5 feature can all support, including strict mode `Object.freeze` and so on.
+
++ The Weex JS engine does not support HTML DOM APIs and HTML5 JS APIs, including `document`, `set`Timeout`, and so on.
+
++ We added `Promise`'s polyfill, as well as the `console`'s polyfill.
+
++ In addition, in order to ensure that the JS engine can manage memory as much as possible, we have a generic global object for the `Object.freeze ()` freeze operation, which includes:
+
+ - `Object`
+ - `Object.prototype`
+ - `Array`
+ - `Array.prototype`
+ - `String.prototype`
+ - `Number.prototype`
+ - `Boolean.prototype`
+ - `Error.prototype`
+ - `Date.prototype`
+ - `RegExp.prototype`
+
+## Adapt to Weex's initial entry and multi-instance management mechanism
+
+The JS Framework provided by the developer needs to be packaged as a **CommonJS** package, and the package needs to be extension to the following methods:
+
+### Framework initialization
+
++ `init(config)`
+ - `config`
+ - `Document`
+ - `Element`
+ - `Comment`
+ - `TaskSender`
+ - `CallbackManager`
+
+This method places the Native DOM class and two auxiliary classes provided by Weex in the `config` parameter and allows the framework itself to be initialized.
+
+Tip: At the same time, the author can pass in a different `config` in the framework of the initialization time. This allows for framework testing or environmental simulation.
+
+#### Introduction to parameter format
+
++ `TaskSender`: wip\u2026
++ `CallbackManager`: wip\u2026
+
+### Register available native components and modules
+
++ `registerComponents(components)`
++ `registerModules(modules)`
+
+These two methods are called immediately after the frame is initialized. This framework will be able to know which components and modules the current client supports.
+
+#### Introduction to parameter format
+
++ `components: Array`: Describe the array of components, each of which includes:
+ + `type: string`: Component name, for example `div`\u3002
+ + `methods: string[]`: Optional, a list of method names supported by this component. These methods can follow the native DOM APIs call.
++ `modules: Object`: Describe the hash table of a series of modules. Key is the module name, the value is an array. The elements of the array describe a method in the module. The information of the method includes:
+ + `name: string`: Method name
+ + `args: string[]`: Parameter number and type description
+
+**E.g:**
+
+```javascript
+registerComponents([
+ { type: 'web', methods: ['goBack', 'goForward', 'refresh']}
+])
+registerModules({
+ event: [
+ {name: 'openURL', args: ['string']}
+ ]
+})
+```
+
+### Multi - instance lifecycle management
+
++ `createInstance(instanceId, code, config, data, env)`
++ `refreshInstance(instanceId, data)`
++ `destroyInstance(instanceId)`
+
+Each Weex page has two stages: created and destroyed. At the same time in the Weex page running process, native can send messages to the Weex page. Different frameworks can follow their own ideas to achieve the message.
+
+#### Introduction to parameter format
+
++ `instanceId: string`: The unique id of the Weex page is generated by native.
++ `code: string`:The Wex page's JS bundle's code is passed through native.
++ `config: Object?`: The configuration information for the Wex page, such as the bundleUrl representing the bundle address, is generated by the native configuration. It has nothing to do with the contents of the JS bundle itself.
++ `data: Object?`: Native can import an external data when creating a Weex page. The JS framework can also generate different page content for the same JS bundle with different data.
++ `env: Object?`:The current environment information about the Weex page, the meaning of each field:
+ - `info: Object`: Framework information, see the "JS Bundle format requirements" later.
+ - `config: Object`:Equivalent to the third parameter of the method `config`
+ - `callbacks: CallbackManager`: only `CallbackManager`instance of Weex page.
+ - `created: number`:The number of seconds that the Wex page was created.
+ - `framework: string`:The name of the framework used by the Wex page. Equivalent to `info.framework`.
+
+### Native communication
+
++ `receiveTasks(instanceId, tasks)`
+
+Native can use the `refreshInstance` method to send a message to the JS framework layer. But in many cases will use `receiveTasks` to send user events or methods callback to the JS framework.
+
+For example, if the user clicks on a button, native will send a `fireEvent` type of task to the JS framework, and then the JS framework will handle the corresponding event logic. This part of the working mechanism is related to the design of the `addEvent` in the native DOM interface.
+
+Another example is the user using fetch to send network requests. When the request is done at the native end, it will be sent to the JS framework with a callback type of task. Since native can not pass the function in JavaScript, it actually only sends a callbackId to the JS framework. This part of the working mechanism is related to the design of CallbackManager.
+
+#### Auxiliary method
+
++ `getRoot(instanceId): JSON`
+
+This method returns the full JSON description of the document body node. Developers can view the full native DOM tree as a result. The format of the specific return value is the same as the return method of the toJSON () method in the native DOM interface. This feature is used extensively as a developer tool extension.
+
+## Configure the JS Framework in WeexSDK
+### Prepare your JS Framework code
+
+```javascript
+// your-own-js-framework.js
+export function init (config) { ... }
+export function registerComponents (components) { ... }
+export function registerModules (modules) { ... }
+export function createInstance (id, code, config, data, env) { ... }
+export function destroyInstance (id) { ... }
+export function refreshInstance (id, data) { ... }
+export function recieveTasks (id, tasks) { ... }
+export function getRoot (id) { ... }
+```
+
+### Register a JS Framework
+
+```javascript
+import * as Vue from '...'
+import * as React from '...'
+import * as Angular from '...'
+export default { Vue, React, Angular };
+```
+And then packaged JS runtime, integrated into WeexSDK.
+
+#### JS Bundle format requirements
+
+**Framework info**
+The note(alias framework info) at the beginning of the JS Bundle file is very important. The format is as follows:
+
+```javascript
+// { "framework": "Vue" }
+```
+So that the Weex JS engine will know that the JS bundle needs to use the Vue framework to resolve.Similarly, Weex supports multiple frameworks.It will be based on js bundle notes to select the corresponding framework resolution.
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/46e1b28f/doc/source/references/advanced/extend-to-android.md
----------------------------------------------------------------------
diff --git a/doc/source/references/advanced/extend-to-android.md b/doc/source/references/advanced/extend-to-android.md
index 42cf90e..d4d2b6d 100644
--- a/doc/source/references/advanced/extend-to-android.md
+++ b/doc/source/references/advanced/extend-to-android.md
@@ -37,6 +37,24 @@ public class WXEventModule extends WXModule{
}
```
+#### Support synchronous/asynchronous callback
+
+You can add `@JSMethod (uiThread = false or true)` annotation to choose the callback mode of moudle. See the follow example.
+
+```java
+ // as sync-callback mode
+@JSMethod (uiThread = false)
+public void testSyncCall(){
+ WXLogUtils.d("WXComponentSyncTest : Thread.currentThread().getName());
+}
+
+// as async-callback mode
+@JSMethod (uiThread = true)
+public void testAsyncCall(){
+ WXLogUtils.e("WXComponentASynTest : Thread.currentThread().getName() );
+}
+```
+
### Register the moulde
```java
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/46e1b28f/doc/source/references/advanced/extend-to-html5.md
----------------------------------------------------------------------
diff --git a/doc/source/references/advanced/extend-to-html5.md b/doc/source/references/advanced/extend-to-html5.md
index 839b05a..cc9acf3 100644
--- a/doc/source/references/advanced/extend-to-html5.md
+++ b/doc/source/references/advanced/extend-to-html5.md
@@ -7,4 +7,90 @@ version: 2.1
# Extend to HTML5
-Work in progresss.
\ No newline at end of file
+Weex itself offers a lot of built-in components and modules, but also has the ability to expand horizontally. It allows developers to expand and customize themselves. But it is important to note that Weex is a cross-platform solution. When extending its built-in components or modules, you need to implement it on the three ends (Android, iOS, Web).
+
+
+After Weex switches the kernel to Vue 2.x, it will be easier to extend the Vue component on the Web side.
+
+## Extend Web components
+
+Vue.js is an independent front-end framework. In the browser, you can not use the Weex container for page rendering. So, the two things are the same: (1) for the Weex platform to expand Vue.js Web components. (2) directly using Vue.js to develop a Web component. The development of components can refer to its documentation: [component](https://vuejs.org/v2/guide/components.html). It is also recommended to use the ```.vue``` file to write components. How to use it: [Single file component](https://vuejs.org/v2/guide/single-file-components.html).
+
+### Example of component extension
+To extend ```<sidebar>``` as an example, you should first write the logic of the component itself:
+
+```html
+<!-- sidebar.vue -->
+<template>
+ <div class="sidebar">
+ <slot></slot>
+ </div>
+</template>
+<style scoped>
+ .sidebar {
+ /* ... */
+ }
+</style>
+<script>
+ export default {
+ props: [],
+ data () {
+ return {}
+ }
+ }
+</script>
+```
+
+And then register the ```<sidebar>``` component globally before using it:
+
+```javascript
+import Vue from 'vue'
+import Sidebar from './path/to/sidebar.vue'
+// register the ```<sidebar>``` component globally
+Vue.component('sidebar', Sidebar)
+```
+
+When you extend the Weex component, if you only use the built-in components provided by Weex and use the styles that Weex supports, it is no different from the normal custom component and does not need to be implemented at the Native side.
+
+If you find a component that does not support labels and styles that are not supported by Weex, you will need to really extend the Weex component. At the same time, you also need to extend in the Android side and the iOS side, or will lead to rendering exception.
+
+## Extend the Web module
+
+In addition to the common components, Weex also provides a common module, you can easily call the native API. In general, the registered Weex module requires three ends to be implemented, otherwise it will affect its normal use.
+
+### Register the module
+If we import the ```weex-vue-render``` library, we can get the weex variable globally. You can register the module using the ```registerModule```method.
+
+#### API format
++ `registerModule`
+
+ 1.```name```: {String} Required, module name.
+ 2.```define```: {Object} Required, module definition.
+
+#### The example of register module
+The following code registers a module called guide:
+
+```javascript
+weex.registerModule('guide', {
+ greeting () {
+ console.log('Hello, nice to meet you. I am your guide.')
+ },
+ farewell () {
+ console.log('Goodbye, I am always at your service.')
+ }
+})
+```
+
+### Use the module
+
+Weex provides the require method for getting registered modules. You only need to pass the module name directly:
+
+```javascript
+//import module
+const guide = weex.requireModule('guide')
+// use the methods of module
+guide.greeting()
+guide.farewell()
+```
+
+The above wording is as useful as the native end, except that the methods in the module are provided by Native.
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/46e1b28f/doc/source/references/android-apis.md
----------------------------------------------------------------------
diff --git a/doc/source/references/android-apis.md b/doc/source/references/android-apis.md
index f359148..963371c 100644
--- a/doc/source/references/android-apis.md
+++ b/doc/source/references/android-apis.md
@@ -7,4 +7,213 @@ version: 2.1
# Android APIs
-Work in progresss.
\ No newline at end of file
+## WXSDKEngine
+
+1. Set up various adapters
+
+```java
+WXSDKEngine.initialize(this, new InitConfig.Builder().setImgAdapter(new ImageAdapter()).setDebugAdapter(new PlayDebugAdapter()).build());
+```
+
+2. Register the module and component
+
+```java
+WXSDKEngine.registerComponent("richtext", RichText.class);
+WXSDKEngine.registerModule("event", WXEventModule.class);
+```
+3. Overloading framework
+
+```java
+WXSDKEngine.reload(this,framework,false);
+```
+
+## Adapter
+
+1. IWXImgLoaderAdapter
+
+ Weex need to implement this interface to download the picture
+ The interface is defined as follows:
+
+ ```java
+ public interface IWXImgLoaderAdapter {
+
+ void setImage(String url, ImageView view, WXImageQuality quality, WXImageStrategy strategy);
+ }
+ ```
+
+ `WXImageQuality` that the quality of the picture variables, take the following values `LOW`, `NORMAL`, `HIGH`, `ORIGINAL` picture quality in turn higher. The default is `LOW`.
+
+ `WXImageStrategy` is an extension class that indicates whether the image can be cut (isClipping) sharpening (isSharpen) placeholder (placeHolder) and so on.
+
+2. IWXHttpAdapter
+
+ Weex custom `WXRequest` and `OnHttpListener`, Native reload interface can be obtained from the Request URL, Header and other parameters, the network request can be completed through `OnHttpListener` callback notification. Weex provides the default network request: `DefaultWXHttpAdapter`, using `HttpURLConnection` for network requests.
+
+ The interface is defined as follows:
+
+ ```java
+ public interface IWXHttpAdapter {
+ void sendRequest(WXRequest request, OnHttpListener listener);
+ }
+ ```
+
+ `WXRequest` defines the parameters related to the network request, the request method, the request body, and the timeout time. Weex default timeout is 3000.
+
+ `OnHttpListener` defines the corresponding method after the network request ends. Defined as follows:
+
+ ```java
+ interface OnHttpListener {
+
+ /**
+ * start request
+ */
+ void onHttpStart();
+
+ /**
+ * headers received
+ */
+ void onHeadersReceived(int statusCode,Map<String,List<String>> headers);
+
+ /**
+ * post progress
+ * @param uploadProgress
+ */
+ void onHttpUploadProgress(int uploadProgress);
+
+ /**
+ * response loaded length (bytes), full length should read from headers (content-length)
+ * @param loadedLength
+ */
+ void onHttpResponseProgress(int loadedLength);
+
+ /**
+ * http response finish
+ * @param response
+ */
+ void onHttpFinish(WXResponse response);
+ }
+ ```
+3. IWXUserTrackAdapter
+
+ Weex related performance data (first screen loading time, JS-Native communication time, dom update time, etc.) and other general information (JSLib file size, Weex SDK version number, etc.).
+ Interface definition:
+
+
+ ```java
+ public interface IWXUserTrackAdapter {
+ void commit(Context context, String eventId, String type, WXPerformance perf, Map<String, Serializable> params);
+ }
+ ```
+
+ Native implementation interface can be obtained through `WXPerformance` and `params` corresponding information.
+
+## Native interacts with JavaScript
+
+### Custom events
+
+Used for a custom control for event notifications, such as custom click events, response drop events, and so on.
+
+`WXSDKInstance.java `
+
+```java
+ public void fireEvent(String elementRef,final String type, final Map<String, Object> data,final Map<String, Object> domChanges){ }
+
+ public void fireEvent(String elementRef,final String type, final Map<String, Object> data){
+ fireEvent(elementRef,type,data,null);
+ }
+
+ public void fireEvent(String elementRef, String type){
+ fireEvent(ref,type,new HashMap<String, Object>());
+ }
+```
+
+`elementRef`\uff1aThe event occurred for the control ID\u3002
+
+`type`: Custom events, Weex defaults to a custom event starting with onXxxxx. OnPullDown (drop-down event)
+
+`data`: Need to reveal the parameters, such as the current control of the size, coordinates and other information\u3002
+
+`domChanges`\uff1aUpdate ref for the control's Attribute and Style
+
+## Event callback
+Used for Module callback, for example, after the completion of positioning Module need to notify JS. Use as follows:
+
+```java
+public class WXLocation extends WXModule {
+
+ @JSMethod
+ public void getLocation(JSCallback callback){
+ //Get the code for the location information .....
+ Map<String,String> data=new HashMap<>();
+ data.put("x","x");
+ data.put("y","y");
+ //notify once
+ callback.invoke(data);
+ //Continuous connection
+ callback.invokeAndKeepAlive(data);
+
+ //Invoke method and invokeAndKeepAlive two methods of choice }
+}
+```
+
+# OnWXScrollListener
+
+Weex gets the scroll event You can register `registerOnWXScrollListener` via `WXSDKInstance`
+The interface is defined as follows:
+
+```java
+public interface OnWXScrollListener {
+
+ /**
+ * The view is not currently scrolling.
+ */
+ int IDLE = RecyclerView.SCROLL_STATE_IDLE;
+ /**
+ * The view is currently being dragged by outside input such as user touch input.
+ */
+ int DRAGGING = RecyclerView.SCROLL_STATE_DRAGGING;
+ /**
+ * The view is currently animating to a final position while not under
+ * outside control.
+ */
+ int SETTLING = RecyclerView.SCROLL_STATE_SETTLING;
+
+ /**
+ * Callback method to be invoked when the view has been scrolled. This will be
+ * called after the scroll has completed.
+ * <p>
+ * This callback will also be called if visible item range changes after a layout
+ * calculation. In that case, dx and dy will be 0.
+ *
+ */
+ void onScrolled(View view, int x, int y);
+
+ /**
+ * Callback method to be invoked when view's scroll state changes.
+ *
+ */
+ void onScrollStateChanged(View view, int x, int y, int newState);
+}
+```
+
+## IActivityNavBarSetter
+
+Weex provides `WXNavigatorModule` for navigation control, and the corresponding method can be customized by setting the `IActivityNavBarSetter` interface.
+
+Instructions:
+
+```java
+ WXSDKEngine.setActivityNavBarSetter(new IActivityNavBarSetter(){
+});
+```
+
+## Other Introduction
+### setSize
+
+You can use the `mWXSDKInstance.setSize()` method to change the size of the Weex container.
+
+### Downgrade
+
+Weex in the development stage will add some new features and new methods, but these new features and functions must be upgraded to achieve the SDK, for the application should not be upgraded how to deal with it? You can use the downgrade feature.
+
+Native can be handled by the `onException` method in interface `IWXRenderListener`, and if it is an active demoulding errCode is a character that is divided by "|". "|" The preceding character is 1 for active demotion, and the Native side can jump to the corresponding H5 page. Or otherwise prompted the user's current environment does not support Weex.
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/46e1b28f/doc/source/references/ios-apis.md
----------------------------------------------------------------------
diff --git a/doc/source/references/ios-apis.md b/doc/source/references/ios-apis.md
index f6e7367..071644e 100644
--- a/doc/source/references/ios-apis.md
+++ b/doc/source/references/ios-apis.md
@@ -3,10 +3,74 @@ title: iOS APIs
type: references
order: 1.1
version: 2.1
-has_chapter_content: false
-chapter_title: Common Options
---
# iOS APIs
-Work in progresss.
\ No newline at end of file
+## Handler(like Android Adapter)
+
+- `WXImgLoaderDefaultImpl` Image load handler. Weex need to implement this interface to download the picture. The interface is defined as follows:
+
+ ```object-c
+ @protocol WXImgLoaderProtocol <WXModuleProtocol>
+ /**
+ * @abstract Creates a image download handler with a given URL
+ *
+ * @param imageUrl The URL of the image to download
+ *
+ * @param imageFrame The frame of the image you want to set
+ *
+ * @param options : The options to be used for this download
+ *
+ * @param completedBlock : A block called once the download is completed.
+ * image : the image which has been download to local.
+ * error : the error which has happened in download.
+ * finished : a Boolean value indicating whether download action has finished.
+ */
+ - (id<WXImageOperationProtocol>)downloadImageWithURL:(NSString *)url imageFrame:(CGRect)imageFrame userInfo:(NSDictionary *)options completed:(void(^)(UIImage *image, NSError *error, BOOL finished))completedBlock;
+ @end
+ ```
+
+## Native interacts with JavaScript
+
+- Custom events
+
+ Used for a custom control for event notifications, such as custom click events, response drop events, and so on. This is a method in the component base class that can be used directly.
+
+ ```object-c
+ /**
+ * @abstract Fire an event to the component and tell Javascript which value has been changed.
+ * @param eventName
+ * @param params
+ * @param domChanges
+ **/
+ - (void)fireEvent:(NSString *)eventName params:(NSDictionary *)params domChanges:(NSDictionary *)domChanges
+ ```
+
+- Event callback
+
+ Used for Module callback. There are two types of callback:
+
+ - `WXModuleCallback`: For performance reasons, the callback can only callback js once, and then will be released.
+
+ - `WXModuleKeepAliveCallback`: This callback can be set to multiple callbacks, multiple callbacks of the scene such as continually listen scrolls event and return to js.
+
+ ```object-c
+ @implementation WXEchoModule
+ @synthesize weexInstance;
+ WX_EXPORT_METHOD(@selector(echo:))
+ - (void)echo:(NSString *)param callback:(WXModuleKeepAliveCallback)callback
+ {
+ callback(param,ture);
+ }
+ ```
+
+## Set size of the Weex container
+
+You can use the `setFrame(CGRect)` method to change the size of the Weex container.
+
+## Downgrade
+
+Weex in the development stage will add some new features and new methods, but these new features and functions must be upgraded to achieve the SDK, for the application should not be upgraded how to deal with it? You can use the downgrade feature.
+
+Native can be handled by the `onFailed` method in interface `WXSDKInstance`, and if it is an active demoulding error domain is `TemplateErrorType`, and the Native side can jump to the corresponding H5 page. Or otherwise prompted the user\u2019s current environment does not support Weex.
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/46e1b28f/doc/source/references/native-dom-api.md
----------------------------------------------------------------------
diff --git a/doc/source/references/native-dom-api.md b/doc/source/references/native-dom-api.md
index e13a5bd..37729a2 100644
--- a/doc/source/references/native-dom-api.md
+++ b/doc/source/references/native-dom-api.md
@@ -8,4 +8,205 @@ has_chapter_content: true
# Native DOM APIs
-Work in progresss.
\ No newline at end of file
+Weex in the JS engine, for each page provides a set of Native DOM APIs. This interface is very close to the HTML DOM APIs. Using this interface we can control native rendering logic via JavaScript. And Weex upper layer of Vue 2.0 is based on this interface to adapt.
+
+In most cases, the JS framework will encapsulate native DOM APIs. That way, the developer does not need to work directly on the Native DOM.
+
++ `Document` class: full page document.
++ `Node` class: the base class of nodes.
++ `Element` class: element node, inherited from Node, single view unit.
++ `Comment` class: comment node, inherited from Node, no practical meaning, usually used as placeholders.
+
+Each Weex page has a `weex.document` object, which is an instance of the Document class and is the starting point for all the following interface calls.
+
+Let's take a look at their usage in detail:
+
+## `Document` class
+Each `Document` instance will automatically have a `documentElement` property when it is created. This attribute represents the document node. The document node can have a body, which is the main node of the document.
+
+Note: The document node body only accepts `<div>`, `<list>`, or `<scroller>` three types of element nodes.
+
+### Constructor
+`new Document(id: string, url: string?)`
+
+### Member method
+`createElement(tagName: string, props: Object?): Element`
+
++ Creates an `Element` instance of a specific type `tagName`, which is an element node. Props can contain attr objects and style objects. Such as `createBody ('div', {style: {backgroundColor: '#ffffff'}})`.
+
+`createComment(text: string): Comment`
+
++ Create an instance of �`Comment`, which is a comment node and set a text description.
+
+`createBody(tagName: string, props: Object?): Element`
+
++ Create a document body node and automatically mount it under `documentElement`.
+
+`fireEvent(el: Element, type: string, e: Object?, domChanges: Object?)`
+Triggers a particular type of event. When the event modifies the DOM's properties or styles during the generation process, the fourth argument is used to describe the changes, and the parameter format is the same as the format of the `createElement` method above.
+
+`destroy()`
+
++ Destroy the current document. Once the document is destroyed, it will no longer work.
+
+### Read-only member variables
+`id: string`
+
++ Each `Document` instance has a unique id. This is also the only id that each Weex page has.
+
+`URL: string?`
+
++ If the current Weex page has a JS bundle URL, the URL will be returned here.
+
+`body: Element`
+
++ The main body of the document, the concept similar to the HTML DOM document.body.
+
+`documentElement: Element`
+
++ Document node, the concept similar to the HTML DOM document.documentElement.
++ The relationship between body and documentElement is: documentElement is the parent of the body.
+
+`getRef(id): Node`
+
++ Get the node based on the node id.
+
+## `Node` Class
+### Constructor
+`new Node()`
+
+### Member method
+`destroy()`
+
+### Read-only member variables or methods
+`ref: string`
+
++ Each `Node` instance has its own unique ref value in the entire `Document instance.
+
+`nextSibling: Node?`
+
+`previousSibling: Node?`
+
+`parentNode: Node?`
+
++ The three interfaces are consistent with the definition of HTML DOM.
+
+`children: Node[]`
+
++ The node has an array of all child nodes.
+
+`pureChildren: Node[]`
+
+The node has an array of all the child elements. The difference between it and `children` is that `pureChildren` contains only the `Element` instance and not the `Comment` instance.
+
+
+## `Element` class, inherited from `Node`
+### Constructor
+`new Element(type: string, props: Object?)`
+
++ Creates an element node of a particular type `type`, and the `props` parameter can contain an `attr` object or a `style` object.
+
+### DOM tree operation
+`appendChild(node: Node)`
+`insertBefore(node: Node, before: Node?)`
+
++ The two interfaces are similar to HTML DOM.
+
+`insertAfter(node: Node, after: Node?)`
+
++ Insert a new node before a child node.
+
+`removeChild(node: Node, preserved: boolean?)`
+
++ Delete the child node node. Parameters `preserved` whether it is immediately removed from memory or temporarily retained.
+
+`clear()`
+
++ Clear all child nodes.
+
+### The DOM property itself operates
+
+`setAttr(key: string, value: string, silent: boolean?)`
+
+`setStyle(key: string, value: string, silent: boolean?)`
+
++ In the above two interfaces, when `silent` is true, the node only updates itself, does not pass the command to the client render layer. This parameter is used to handle user events that have changed the node-related properties at the time of occurrence, and will not send commands repeatedly to the client after the Native DOM has changed.
+
+`addEvent(type: string, handler: Function)`
+
+`removeEvent(type: string)`
+
+`fireEvent(type: string, e: any)`
+
++ Bind events, unbind events, trigger events.
+
+#### Component method for a specific component type
+
+Special: Different component types can have their own unique methods, such as `<web>` components support `refresh` method. You can see the description of each component. In this case, we will generate a specific component type of class, such as `WebElement`, which inherited from `Element`.
+
+Such as:
+
+>`WebElement` inherited from `Element`
+>Indicates that a webview is embedded in the Wex page
+
+>`Refresh ()`: Refreshes the current webview
+
+
+### Read-only member variables or methods
+
+`ref`, `nextSibling`, `previousSibling`, `parentNode`
+
++ Inherited from `Node`.
+
+`nodeType: number`
+
++ The number is always 1.
+
+
+`type: string`
+
++ Consistent with the `type` in the constructor.
+
+`attr: Object`
+
++ The key pair of all the characteristics of the current node. It is recommended to use the `setAttr ()` method to modify, rather than directly modify the object here.
+
+`style: Object`
+
++ The value of all the keys of the current node. It is recommended to modify the `setStyle ()` method, rather than directly modify the object here.
+
+`event: Object`
+
++ All events of the current node are bound. Each event type corresponds to an event handler method. It is recommended to use the `addEvent () / removeEvent ()` method to modify, rather than directly modify the object here.
+
+`toJSON(): Object`
+
++ Returns a JSON object that describes the element's node, such as: `{ref: string, type: string, attr: Object, style: Object, event: Array (string), children: Array}`.
+
+
+## `Comment` class, inherited from `Node`
+
+### Constructor
+`new Comment(value: string)`
+
+### Read-only member variables or methods
+
+`ref`, `nextSibling`, `previousSibling`, `parentNode`
+
++ Inherited from `Node`.
+
+`nodeType: number`
+
++ The number is always 8.
+
+`type: string`
+
++ The type is always `'comment'`
+
+`value: string`
+
++ Consistent with the value in the constructor.
+
+`toJSON(): Object`
+
++ Returns a JSON object describing the annotation node. For example: `<! - value ->`.
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/46e1b28f/doc/source/references/weex-variable.md
----------------------------------------------------------------------
diff --git a/doc/source/references/weex-variable.md b/doc/source/references/weex-variable.md
index eee96a7..35b4da4 100644
--- a/doc/source/references/weex-variable.md
+++ b/doc/source/references/weex-variable.md
@@ -5,6 +5,43 @@ order: 7
version: 2.1
---
-# Weex Variable
+# Weex instance variable
-Work in progresss.
\ No newline at end of file
+Each Weex page has a separate weex variable, which exists in the JS context. They hold a single instance or method of the current Weex page.
+
+`weex.config`
+
+This variable contains all the environment information for the current Weex page, including not only:
+
++ `BundleUrl`: string: The URL of the JS bundle.
++ `Env: Object`: environment object.
++ `WeexVersion: string`: Weex sdk version.
++ `AppName: string`: application name.
++ `AppVersion: string`: app version.
++ `Platform: string`: platform information, that is iOS, Android or Web.
++ `OsVersion: string`: system version.
++ `DeviceModel: string`: device model (native application only).
++ `DeviceWidth: number`: device width, default 750.
++ `DeviceHeight: number`: device height.
+
+`weex.requireModule(module: string): Object`
+
+Get all the methods of a native module, such as:
+
+```html
+<template>
+ <div><text>Hello World</text></div>
+</template>
+<script>
+ var modal = weex.requireModule('modal')
+ modal.toast({
+ message: 'I am a toast.',
+ duration: 3
+ })
+</script>
+```
+
+
+`weex.document: Document`
+
+Returns the document object of the current Weex page.
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/46e1b28f/doc/themes/weex/layout/_partial/footer.ejs
----------------------------------------------------------------------
diff --git a/doc/themes/weex/layout/_partial/footer.ejs b/doc/themes/weex/layout/_partial/footer.ejs
index 72fd6a1..8e36aec 100644
--- a/doc/themes/weex/layout/_partial/footer.ejs
+++ b/doc/themes/weex/layout/_partial/footer.ejs
@@ -8,12 +8,12 @@
Language
<span class="caret"></span>
</a>
- <ul class="dropdown-menu">
+ <ul class="dropdown-menu pick-lang">
<li>
- <a href="<%= pick_lang('en') %>">English</a>
+ <a href="<%= pick_lang('en') %>" data-lang="en">English</a>
</li>
<li>
- <a href="<%= pick_lang('cn') %>">\u4e2d\u6587</a>
+ <a href="<%= pick_lang('cn') %>" data-lang="cn">\u4e2d\u6587</a>
</li>
</ul>
</div>
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/46e1b28f/doc/themes/weex/layout/_partial/head.ejs
----------------------------------------------------------------------
diff --git a/doc/themes/weex/layout/_partial/head.ejs b/doc/themes/weex/layout/_partial/head.ejs
index e3f7962..259979d 100644
--- a/doc/themes/weex/layout/_partial/head.ejs
+++ b/doc/themes/weex/layout/_partial/head.ejs
@@ -21,6 +21,29 @@
%>
<title><% if (title){ %><%= title %> | <% } %><%= config.title %></title>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+ <script>
+ ;(function(){
+ var currentOrigin = location.origin,
+ currentPathname = location.pathname,
+ currentLang = navigator.language,
+ selectedLang = '';
+
+ if (!currentLang) {
+ currentLang = navigator.browserLanguage;
+ }
+
+ if (window.localStorage) {
+ selectedLang = window.localStorage.getItem('lang')
+ }
+
+ if (currentLang.indexOf('zh') >= 0
+ && currentPathname.indexOf('/cn/') != 0
+ && !selectedLang) {
+ location.href = currentOrigin + '/cn' + currentPathname;
+ }
+
+ })();
+ </script>
<%- open_graph({twitter_id: theme.twitter, google_plus: theme.google_plus, fb_admins: theme.fb_admins, fb_app_id: theme.fb_app_id}) %>
<% if (theme.rss){ %>
<link rel="alternate" href="<%- theme.rss %>" title="<%= config.title %>" type="application/atom+xml">
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/46e1b28f/doc/themes/weex/source/js/common.js
----------------------------------------------------------------------
diff --git a/doc/themes/weex/source/js/common.js b/doc/themes/weex/source/js/common.js
index f130c0f..12a569f 100644
--- a/doc/themes/weex/source/js/common.js
+++ b/doc/themes/weex/source/js/common.js
@@ -73,6 +73,31 @@
initSidebar()
/**
+ * Pick lang
+ */
+ function initPickLang () {
+ var pick = document.querySelector('.pick-lang')
+ var elements = document.querySelectorAll('.pick-lang a')
+
+ pick.addEventListener('click', function (e) {
+ e.preventDefault()
+ e.stopPropagation()
+
+ var target = e.target;
+ if (pick.contains(target)) {
+ var lang = target.getAttribute('data-lang')
+
+ if (window.localStorage) {
+ window.localStorage.setItem('lang', lang)
+ }
+
+ location.href = target.href
+ }
+ })
+ }
+ initPickLang()
+
+ /**
* Search
*/
function initSearch() {
[32/50] incubator-weex git commit: Merge branch 'feature-new-doc' of
http://github.com/DoranYun/incubator-weex into dev This closes #16
Posted by cx...@apache.org.
Merge branch 'feature-new-doc' of http://github.com/DoranYun/incubator-weex into dev
This closes #16
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/de4286ae
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/de4286ae
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/de4286ae
Branch: refs/heads/master
Commit: de4286ae17951b86b8339ba33e076cb06e453861
Parents: b6d8ab0 2c47e81
Author: sospartan <so...@gmail.com>
Authored: Thu Mar 2 11:29:33 2017 +0800
Committer: sospartan <so...@gmail.com>
Committed: Thu Mar 2 11:29:33 2017 +0800
----------------------------------------------------------------------
doc/source/cn/guide/index.md | 35 +++++++-
doc/source/cn/references/components/a.md | 8 +-
doc/source/cn/references/components/cell.md | 2 +-
doc/source/cn/references/components/div.md | 2 +-
doc/source/cn/references/components/image.md | 2 +-
.../cn/references/components/indicator.md | 2 +-
doc/source/cn/references/components/input.md | 2 +-
doc/source/cn/references/components/list.md | 2 +-
doc/source/cn/references/components/loading.md | 2 +
doc/source/cn/references/components/refresh.md | 2 +-
doc/source/cn/references/components/scroller.md | 2 +-
doc/source/cn/references/components/slider.md | 2 +-
doc/source/cn/references/components/switch.md | 2 +-
doc/source/cn/references/components/text.md | 2 +-
doc/source/cn/references/components/textarea.md | 2 +-
doc/source/cn/references/components/video.md | 2 +-
doc/source/cn/references/components/web.md | 2 +-
doc/source/cn/references/modules/animation.md | 2 +-
doc/source/cn/references/modules/clipboard.md | 2 +-
doc/source/cn/references/modules/dom.md | 4 +-
doc/source/cn/references/modules/index.md | 31 +++----
doc/source/cn/references/modules/modal.md | 2 +-
doc/source/cn/references/modules/navigator.md | 2 +-
doc/source/cn/references/modules/storage.md | 2 +-
doc/source/cn/references/modules/stream.md | 2 +-
doc/source/cn/references/modules/websocket.md | 75 +++++++---------
doc/source/cn/references/modules/webview.md | 2 +-
doc/source/guide/index.md | 34 +++++++-
doc/source/references/components/a.md | 2 +-
doc/source/references/components/div.md | 2 +-
doc/source/references/components/image.md | 2 +-
doc/source/references/components/indicator.md | 2 +-
doc/source/references/components/input.md | 2 +-
doc/source/references/components/list.md | 2 +-
doc/source/references/components/refresh.md | 2 +-
doc/source/references/components/scroller.md | 2 +-
doc/source/references/components/slider.md | 2 +-
doc/source/references/components/switch.md | 2 +-
doc/source/references/components/text.md | 2 +-
doc/source/references/components/textarea.md | 2 +-
doc/source/references/components/video.md | 2 +-
doc/source/references/components/web.md | 2 +-
doc/source/references/modules/animation.md | 2 +-
doc/source/references/modules/clipboard.md | 2 +-
doc/source/references/modules/dom.md | 4 +-
doc/source/references/modules/index.md | 31 +++----
doc/source/references/modules/modal.md | 2 +-
doc/source/references/modules/navigator.md | 2 +-
doc/source/references/modules/storage.md | 2 +-
doc/source/references/modules/stream.md | 2 +-
doc/source/references/modules/websocket.md | 91 +++++++++-----------
doc/source/references/modules/webview.md | 2 +-
doc/themes/weex/languages/cn.yml | 2 +-
doc/themes/weex/languages/en.yml | 2 +-
doc/themes/weex/layout/_partial/footer.ejs | 2 +-
doc/themes/weex/layout/_partial/head.ejs | 43 ---------
doc/themes/weex/layout/_partial/header.ejs | 16 ++++
doc/themes/weex/layout/_partial/search-form.ejs | 2 +-
doc/themes/weex/layout/_partial/sidebar.ejs | 2 +-
doc/themes/weex/layout/index.ejs | 29 ++++++-
doc/themes/weex/source/css/index.scss | 4 +-
doc/themes/weex/source/css/media-queries.scss | 3 +
doc/themes/weex/source/css/partial/footer.scss | 1 +
doc/themes/weex/source/css/partial/header.scss | 32 ++++++-
.../weex/source/css/partial/search-form.scss | 3 -
doc/themes/weex/source/css/partial/sidebar.scss | 1 +
doc/themes/weex/source/js/common.js | 37 ++++----
doc/themes/weex/source/js/example.js | 2 +-
68 files changed, 320 insertions(+), 260 deletions(-)
----------------------------------------------------------------------
[26/50] incubator-weex git commit: Merge pull request #2772 from
kfeagle/ios-bugfix-dev-keyboard-1
Posted by cx...@apache.org.
Merge pull request #2772 from kfeagle/ios-bugfix-dev-keyboard-1
* [ios] fix bug uifont lead crash in iOS system less than 8.2
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/a26f4778
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/a26f4778
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/a26f4778
Branch: refs/heads/master
Commit: a26f4778787516142ff406113da5bb06858e879e
Parents: 539d60b 59eba97
Author: \u9690\u5c0f\u98ce <cx...@gmail.com>
Authored: Mon Feb 27 13:32:01 2017 +0800
Committer: GitHub <no...@github.com>
Committed: Mon Feb 27 13:32:01 2017 +0800
----------------------------------------------------------------------
ios/sdk/WeexSDK/Sources/Utility/WXUtility.m | 16 ++++++++++++----
1 file changed, 12 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
[28/50] incubator-weex git commit: * [doc] auto switch language only
on the landing page.
Posted by cx...@apache.org.
* [doc] auto switch language only on the landing page.
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/83bfe648
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/83bfe648
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/83bfe648
Branch: refs/heads/master
Commit: 83bfe6481d0309b412343fff831a5f25603ee719
Parents: 5529bb1
Author: Yun Dong <yu...@gmail.com>
Authored: Wed Mar 1 10:32:03 2017 +0800
Committer: Yun Dong <yu...@gmail.com>
Committed: Wed Mar 1 10:32:03 2017 +0800
----------------------------------------------------------------------
doc/source/cn/guide/index.md | 35 ++++++++-
doc/source/cn/references/modules/websocket.md | 75 ++++++++----------
doc/source/guide/index.md | 34 +++++++-
doc/source/references/modules/websocket.md | 91 ++++++++++------------
doc/themes/weex/languages/cn.yml | 2 +-
doc/themes/weex/languages/en.yml | 2 +-
doc/themes/weex/layout/_partial/footer.ejs | 2 +-
doc/themes/weex/layout/_partial/head.ejs | 43 ----------
doc/themes/weex/layout/index.ejs | 29 ++++++-
doc/themes/weex/source/css/index.scss | 4 +-
doc/themes/weex/source/js/common.js | 33 ++++----
11 files changed, 190 insertions(+), 160 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/83bfe648/doc/source/cn/guide/index.md
----------------------------------------------------------------------
diff --git a/doc/source/cn/guide/index.md b/doc/source/cn/guide/index.md
index 1fdc4ce..e2d43e4 100644
--- a/doc/source/cn/guide/index.md
+++ b/doc/source/cn/guide/index.md
@@ -12,7 +12,7 @@ Weex \u662f\u4e00\u5957\u7b80\u5355\u6613\u7528\u7684\u8de8\u5e73\u53f0\u5f00\u53d1\u65b9\u6848\uff0c\u80fd\u4ee5 web \u7684\u5f00\u53d1\u4f53\u9a8c
## Vue \u662f\u4ec0\u4e48\uff1f
-Vue.js \u662f Evan You \u5f00\u53d1\u7684\u6e10\u8fdb\u5f0f JavaScript \u6846\u67b6\uff0c\u5728\u6613\u7528\u6027\u3001\u7075\u6d3b\u6027\u548c\u6027\u80fd\u7b49\u65b9\u9762\u90fd\u975e\u5e38\u4f18\u79c0\u3002\u5f00\u53d1\u8005\u80fd\u591f\u901a\u8fc7\u64b0\u5199 `*.vue` \u6587\u4ef6\uff0c\u57fa\u4e8e `<template>`, `<style>`, `<script>` \u5feb\u901f\u6784\u5efa\u7ec4\u4ef6\u5316\u7684 web \u5e94\u7528\u3002
+Vue.js \u662f Evan You \u5f00\u53d1\u7684\u6e10\u8fdb\u5f0f JavaScript \u6846\u67b6\u3002\u5f00\u53d1\u8005\u80fd\u591f\u901a\u8fc7\u64b0\u5199 `*.vue` \u6587\u4ef6\uff0c\u57fa\u4e8e `<template>`, `<style>`, `<script>` \u5feb\u901f\u6784\u5efa\u7ec4\u4ef6\u5316\u7684 web \u5e94\u7528\u3002
## Hello World
@@ -21,13 +21,44 @@ Vue.js \u662f Evan You \u5f00\u53d1\u7684\u6e10\u8fdb\u5f0f JavaScript \u6846\u67b6\uff0c\u5728\u6613\u7528\u6027\u3001\u7075\u6d3b
- \u4e3a\u4f60\u7684\u624b\u673a\u5b89\u88c5 [Playground App](https://alibaba.github.io/weex/download.html)\uff0c\u5f53\u7136\uff0cWeex \u662f\u8de8\u5e73\u53f0\u7684\u6846\u67b6\uff0c\u4f60\u4f9d\u7136\u53ef\u4ee5\u4f7f\u7528\u6d4f\u89c8\u5668\u8fdb\u884c\u9884\u89c8\uff0c\u53ea\u662f\u8fd9\u6837\u4f60\u5c31\u65e0\u6cd5\u611f\u53d7\u5230 native \u4f18\u79c0\u7684\u4f53\u9a8c\u4e86\u3002
- \u5728\u65b0\u6807\u7b7e\u9875\u4e2d\u6253\u5f00 [Hello World](http://dotwe.org/vue/4d5a0471ece3daabd4681bc6d703c4c1) \u4f8b\u5b50\uff0c\u70b9\u51fb\u9884\u89c8\uff0c\u7136\u540e\u7528 Playground \u626b\u7801\u5373\u53ef\u3002
+\u5728\u8fd9\u4e2a\u4f8b\u5b50\u4e2d\uff0c\u6211\u4eec\u770b\u5230\u4e86\u719f\u6089\u7684 HTML \u8bed\u4e49\u5316\u6807\u7b7e\u3001CSS \u6837\u5f0f\u548c Javascript \u4ee3\u7801\u3002\u8fd9\u662f\u4e00\u4e2a\u6700\u7b80\u5355\u7684 Weex \u793a\u4f8b\uff0c\u5b83\u5728\u9875\u9762\u4e2d\u6e32\u67d3\u4e86\u4e00\u4e2a \u201cHello World\u201d\u3002\u8bf7\u6ce8\u610f\uff0c\u8fd9\u4e0d\u662f\u4e00\u4e2a H5 \u9875\u9762\uff0c\u800c\u662f native \u7684\u3002

-\u5f88\u7b80\u5355\uff0c\u6211\u4eec\u53ef\u4ee5\u770b\u5230\u8bed\u6cd5\u5c31\u662f\u6211\u4eec\u719f\u6089\u7684 Vue\u3002\u4f60\u53ef\u4ee5\u4fee\u6539\u8fd9\u4e2a\u4f8b\u5b50\uff0c\u518d\u6b21\u626b\u7801\u5c1d\u8bd5\u3002
+### \u53d1\u751f\u4e86\u4ec0\u4e48\uff1f
+
+\u5c31\u5982\u793a\u4f8b\u4ee3\u7801\u6240\u793a\uff1a
+
+```html
+<template>
+ <div>
+ <text class="text">{{text}}</text>
+ </div>
+</template>
+
+<style>
+ .text {
+ font-size: 50;
+ }
+</style>
+
+<script>
+ export default {
+ data () {
+ return {
+ text: 'Hello World.'
+ }
+ }
+ }
+</script>
+```
+
+\u6211\u4eec\u6682\u65f6\u4e0d\u53bb\u5173\u5fc3 Weex \u7684\u6280\u672f\u7ec6\u8282\uff0c\u4ec5\u770b\u5927\u81f4\u7684\u4ee3\u7801\u7ed3\u6784\uff0c\u6211\u4eec\u53ef\u4ee5\u770b\u5230\u8bed\u6cd5\u5c31\u662f\u6211\u4eec\u719f\u6089\u7684 Vue\u3002\u4f60\u53ef\u4ee5\u4fee\u6539\u8fd9\u4e2a\u4f8b\u5b50\uff0c\u518d\u6b21\u626b\u7801\u5c1d\u8bd5\u3002
## \u642d\u5efa\u5f00\u53d1\u73af\u5883
+\u4f7f\u7528 dotWe \u5bf9 Weex \u5c1d\u9c9c\u662f\u4e00\u4e2a\u4e0d\u9519\u7684\u9009\u62e9\uff0c\u4f46\u5982\u679c\u4f60\u60f3\u66f4\u4e13\u4e1a\u7684\u5f00\u53d1 Weex\uff0c dotWe \u5c31\u4e0d\u600e\u4e48\u591f\u7528\u4e86\u3002\u672c\u8282\u4f1a\u6559\u4f60\u5982\u4f55\u642d\u5efa\u672c\u5730\u5f00\u53d1\u73af\u5883\u8fdb\u884c Weex \u5f00\u53d1\u3002
+
### \u7b2c\u4e00\u6b65\uff1a\u5b89\u88c5\u4f9d\u8d56
Weex \u5b98\u65b9\u63d0\u4f9b\u4e86 weex-toolkit \u7684\u811a\u624b\u67b6\u5de5\u5177\u6765\u8f85\u52a9\u5f00\u53d1\u548c\u8c03\u8bd5\u3002\u9996\u5148\uff0c\u4f60\u9700\u8981 Node.js \u548c weex-toolkit\u3002
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/83bfe648/doc/source/cn/references/modules/websocket.md
----------------------------------------------------------------------
diff --git a/doc/source/cn/references/modules/websocket.md b/doc/source/cn/references/modules/websocket.md
index 4835e8e..8efaaa6 100644
--- a/doc/source/cn/references/modules/websocket.md
+++ b/doc/source/cn/references/modules/websocket.md
@@ -90,7 +90,7 @@ WebSockets \u662f\u4e00\u79cd\u5148\u8fdb\u7684\u6280\u672f, \u8fd9\u4f7f\u5f97\u5728\u7528\u6237\u7684 H5/iOS/Android \u548c\u4e00
<scroller>
<div>
<div style="background-color: #286090">
- <text class="title" style="height: 80px ;padding: 20px;color: white">websocket</text>
+ <text class="title" style="height: 80 ;padding: 20;color: #FFFFFF">websocket</text>
</div>
<input
type="text"
@@ -107,64 +107,54 @@ WebSockets \u662f\u4e00\u79cd\u5148\u8fdb\u7684\u6280\u672f, \u8fd9\u4f7f\u5f97\u5728\u7528\u6237\u7684 H5/iOS/Android \u548c\u4e00
<text class="button" onclick="{{send}}">send</text>
<text class="button" onclick="{{close}}">close</text>
</div>
-
- <div style="background-color: lightgray">
- <text class="title" style="height: 80px ;padding: 20px;color: black">method = send</text>
+ <div style="background-color: #D3D3D3;margin-top: 20">
+ <text class="title" style="height: 80 ;padding: 20;color: #000000">method = send</text>
</div>
- <text style="color: black;height: 80px">{{sendinfo}}</text>
-
-
- <div style="background-color: lightgray">
- <text class="title" style="height: 80px ;padding: 20px;color: black">method = onopen</text>
+ <text style="color: #000000;height: 80">{{sendinfo}}</text>
+ <div style="background-color: #D3D3D3">
+ <text class="title" style="height: 80 ;padding: 20;color: #000000">method = onopen</text>
</div>
- <text style="color: black;height: 80px">{{onopeninfo}}</text>
-
- <div style="background-color: lightgray">
- <text class="title" style="height: 80px ;padding: 20px;color: black">method = onmessage</text>
+ <text style="color: #000000;height: 80">{{onopeninfo}}</text>
+ <div style="background-color: #D3D3D3">
+ <text class="title" style="height: 80 ;padding: 20;color: #000000">method = onmessage</text>
</div>
- <text style="color: black;height: 400px">{{onmessage}}</text>
-
- <div style="background-color: lightgray">
- <text class="title" style="height: 80px ;padding: 20px;color: black">method = onclose</text>
+ <text style="color: #000000;height: 100">{{onmessage}}</text>
+ <div style="background-color: #D3D3D3">
+ <text class="title" style="height: 80 ;padding: 20;color: #000000">method = onclose</text>
</div>
- <text style="color: black;height: 80px">{{oncloseinfo}}</text>
-
- <div style="background-color: lightgray">
- <text class="title" style="height: 80px ;padding: 20px;color: black">method = onerror</text>
+ <text style="color: #000000;height: 80">{{oncloseinfo}}</text>
+ <div style="background-color: #D3D3D3">
+ <text class="title" style="height: 80 ;padding: 20;color: #000000">method = onerror</text>
</div>
- <text style="color: black;height: 80px">{{onerrorinfo}}</text>
-
- <div style="background-color: lightgray">
- <text class="title" style="height: 80px ;padding: 20px;color: black">method = close</text>
+ <text style="color: #000000;height: 80">{{onerrorinfo}}</text>
+ <div style="background-color: #D3D3D3">
+ <text class="title" style="height: 80 ;padding: 20;color: #000000">method = close</text>
</div>
- <text style="color: black;height: 80px">{{closeinfo}}</text>
-
+ <text style="color: #000000;height: 80">{{closeinfo}}</text>
</div>
</div>
</scroller>
</template>
-
<style>
.input {
- font-size: 40px;
- height: 80px;
- width: 600px;
+ font-size: 40;
+ height: 80;
+ width: 600;
}
.button {
- font-size: 36px;
- width: 150px;
+ font-size: 36;
+ width: 150;
color: #41B883;
text-align: center;
- padding-top: 25px;
- padding-bottom: 25px;
- border-width: 2px;
+ padding-top: 10;
+ padding-bottom: 10;
+ border-width: 2;
border-style: solid;
- margin-right: 20px;
+ margin-right: 20;
border-color: rgb(162, 217, 192);
background-color: rgba(162, 217, 192, 0.2);
}
</style>
-
<script>
var websocket = require('@weex-module/webSocket');
module.exports = {
@@ -184,11 +174,12 @@ WebSockets \u662f\u4e00\u79cd\u5148\u8fdb\u7684\u6280\u672f, \u8fd9\u4f7f\u5f97\u5728\u7528\u6237\u7684 H5/iOS/Android \u548c\u4e00
},
methods: {
connect:function() {
- websocket.WebSocket('ws://115.29.193.48:8088','');
+ websocket.WebSocket('ws://echo.websocket.org','');
var self = this;
+ self.onopeninfo = 'connecting...'
websocket.onopen = function(e)
{
- self.onopeninfo = JSON.stringify(e);
+ self.onopeninfo = 'websocket open';
}
websocket.onmessage = function(e)
{
@@ -200,6 +191,7 @@ WebSockets \u662f\u4e00\u79cd\u5148\u8fdb\u7684\u6280\u672f, \u8fd9\u4f7f\u5f97\u5728\u7528\u6237\u7684 H5/iOS/Android \u548c\u4e00
}
websocket.onclose = function(e)
{
+ self.onopeninfo = '';
self.onerrorinfo = e.code;
}
},
@@ -208,7 +200,6 @@ WebSockets \u662f\u4e00\u79cd\u5148\u8fdb\u7684\u6280\u672f, \u8fd9\u4f7f\u5f97\u5728\u7528\u6237\u7684 H5/iOS/Android \u548c\u4e00
input.blur();
websocket.send(this.txtInput);
this.sendinfo = this.txtInput;
-
},
oninput: function(event) {
this.txtInput = event.value;
@@ -221,4 +212,4 @@ WebSockets \u662f\u4e00\u79cd\u5148\u8fdb\u7684\u6280\u672f, \u8fd9\u4f7f\u5f97\u5728\u7528\u6237\u7684 H5/iOS/Android \u548c\u4e00
</script>
```
-[Have a try](http://dotwe.org/weex/993f33173a712fecfb61c1c4b03bcb70)
+[Have a try](http://dotwe.org/weex/0256bbfc448f0fdbe8b10ba311c947b4)
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/83bfe648/doc/source/guide/index.md
----------------------------------------------------------------------
diff --git a/doc/source/guide/index.md b/doc/source/guide/index.md
index 0abde32..6c11d54 100644
--- a/doc/source/guide/index.md
+++ b/doc/source/guide/index.md
@@ -12,7 +12,7 @@ Weex is a framework for building Mobile cross-platform high performance UI. Deve
## What is Vue?
-[Vue.js](https://vuejs.org/) is an excellent progressive JavaScript framework written by [Evan You](https://twitter.com/youyuxi) which is very ease and flexible to use. Developers can write `*.vue` files with friendly `<template>`, `<style>`, `<script>` tags to build componentized web app. Now Weex and Vue has supported each other officially. Weex put Vue 2.x as its built-in JS Framework, and Vue has already been able to develop native mobile app.
+[Vue.js](https://vuejs.org/) is an excellent progressive JavaScript framework written by [Evan You](https://twitter.com/youyuxi). Now Weex and Vue has supported each other officially. Weex put Vue 2.x as its built-in JS Framework, and Vue has already been able to develop native mobile app.
## Hello world
@@ -21,16 +21,46 @@ The easiest way to try Weex is to use the [Playground App](../playground.html) a
- Install the [Playground App](../playground.html) for your phone.
- Open [the Hello World example](http://dotwe.org/vue/4d5a0471ece3daabd4681bc6d703c4c1) in a new tab, click run, and then use the Playground App to scan the QR code.
-Nailed it!
+Nailed it! In this case, We can see HTML semantic tags, CSS styles and Javascript code. This is one of the simplest Weex examples. It rendered a "Hello World" in the page. Please note that this is not a Web page.

+### What happened?
+
+As shown in the following code\uff1a
+
+```html
+<template>
+ <div>
+ <text class="text">{{text}}</text>
+ </div>
+</template>
+
+<style>
+ .text {
+ font-size: 50;
+ }
+</style>
+
+<script>
+ export default {
+ data () {
+ return {
+ text: 'Hello World.'
+ }
+ }
+ }
+</script>
+```
+
It's too easy\uff0cright? Let's focus on the syntax, obviously this is vue.
You can try to modify the Hello World, then generate a new QR code to scan.
## Set up development environment
+Use dotWe is a good choice, But if you want to develop locally on your own machine, you will set up your development environment.
+
You will need Node.js and the Weex CLi.
You can installing Node using [nvm](https://github.com/creationix/nvm) (Simple bash script to manage multiple active node.js versions). Run the following commands in a Terminal after installing nvm:
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/83bfe648/doc/source/references/modules/websocket.md
----------------------------------------------------------------------
diff --git a/doc/source/references/modules/websocket.md b/doc/source/references/modules/websocket.md
index 7868903..b2752f4 100644
--- a/doc/source/references/modules/websocket.md
+++ b/doc/source/references/modules/websocket.md
@@ -89,81 +89,71 @@ An event listener to be called when an error occurs.
<scroller>
<div>
<div style="background-color: #286090">
- <text class="title" style="height: 80px ;padding: 20px;color: white">websocket</text>
+ <text class="title" style="height: 80 ;padding: 20;color: #FFFFFF">websocket</text>
</div>
<input
- type="text"
- placeholder="please input message to send"
- class="input"
- autofocus="false"
- value=""
- onchange="onchange"
- oninput="oninput"
- id = "input"
+ type="text"
+ placeholder="please input message to send"
+ class="input"
+ autofocus="false"
+ value=""
+ onchange="onchange"
+ oninput="oninput"
+ id = "input"
/>
<div style="flex-direction: row; justify-content: center;">
<text class="button" onclick="{{connect}}">connect</text>
<text class="button" onclick="{{send}}">send</text>
<text class="button" onclick="{{close}}">close</text>
</div>
-
- <div style="background-color: lightgray">
- <text class="title" style="height: 80px ;padding: 20px;color: black">method = send</text>
+ <div style="background-color: #D3D3D3;margin-top: 20">
+ <text class="title" style="height: 80 ;padding: 20;color: #000000">method = send</text>
</div>
- <text style="color: black;height: 80px">{{sendinfo}}</text>
-
-
- <div style="background-color: lightgray">
- <text class="title" style="height: 80px ;padding: 20px;color: black">method = onopen</text>
+ <text style="color: #000000;height: 80">{{sendinfo}}</text>
+ <div style="background-color: #D3D3D3">
+ <text class="title" style="height: 80 ;padding: 20;color: #000000">method = onopen</text>
</div>
- <text style="color: black;height: 80px">{{onopeninfo}}</text>
-
- <div style="background-color: lightgray">
- <text class="title" style="height: 80px ;padding: 20px;color: black">method = onmessage</text>
+ <text style="color: #000000;height: 80">{{onopeninfo}}</text>
+ <div style="background-color: #D3D3D3">
+ <text class="title" style="height: 80 ;padding: 20;color: #000000">method = onmessage</text>
</div>
- <text style="color: black;height: 400px">{{onmessage}}</text>
-
- <div style="background-color: lightgray">
- <text class="title" style="height: 80px ;padding: 20px;color: black">method = onclose</text>
+ <text style="color: #000000;height: 100">{{onmessage}}</text>
+ <div style="background-color: #D3D3D3">
+ <text class="title" style="height: 80 ;padding: 20;color: #000000">method = onclose</text>
</div>
- <text style="color: black;height: 80px">{{oncloseinfo}}</text>
-
- <div style="background-color: lightgray">
- <text class="title" style="height: 80px ;padding: 20px;color: black">method = onerror</text>
+ <text style="color: #000000;height: 80">{{oncloseinfo}}</text>
+ <div style="background-color: #D3D3D3">
+ <text class="title" style="height: 80 ;padding: 20;color: #000000">method = onerror</text>
</div>
- <text style="color: black;height: 80px">{{onerrorinfo}}</text>
-
- <div style="background-color: lightgray">
- <text class="title" style="height: 80px ;padding: 20px;color: black">method = close</text>
+ <text style="color: #000000;height: 80">{{onerrorinfo}}</text>
+ <div style="background-color: #D3D3D3">
+ <text class="title" style="height: 80 ;padding: 20;color: #000000">method = close</text>
</div>
- <text style="color: black;height: 80px">{{closeinfo}}</text>
-
+ <text style="color: #000000;height: 80">{{closeinfo}}</text>
</div>
</div>
</scroller>
</template>
-
<style>
.input {
- font-size: 40px;
- height: 80px;
- width: 600px;
+ font-size: 40;
+ height: 80;
+ width: 600;
}
.button {
- font-size: 36px;
- width: 150px;
+ font-size: 36;
+ width: 150;
color: #41B883;
text-align: center;
- padding-top: 25px;
- padding-bottom: 25px;
- border-width: 2px;
+ padding-top: 10;
+ padding-bottom: 10;
+ border-width: 2;
border-style: solid;
- margin-right: 20px;
+ margin-right: 20;
border-color: rgb(162, 217, 192);
background-color: rgba(162, 217, 192, 0.2);
}
</style>
-
<script>
var websocket = require('@weex-module/webSocket');
module.exports = {
@@ -183,11 +173,12 @@ An event listener to be called when an error occurs.
},
methods: {
connect:function() {
- websocket.WebSocket('ws://115.29.193.48:8088','');
+ websocket.WebSocket('ws://echo.websocket.org','');
var self = this;
+ self.onopeninfo = 'connecting...'
websocket.onopen = function(e)
{
- self.onopeninfo = JSON.stringify(e);
+ self.onopeninfo = 'websocket open';
}
websocket.onmessage = function(e)
{
@@ -199,6 +190,7 @@ An event listener to be called when an error occurs.
}
websocket.onclose = function(e)
{
+ self.onopeninfo = '';
self.onerrorinfo = e.code;
}
},
@@ -207,7 +199,6 @@ An event listener to be called when an error occurs.
input.blur();
websocket.send(this.txtInput);
this.sendinfo = this.txtInput;
-
},
oninput: function(event) {
this.txtInput = event.value;
@@ -220,4 +211,4 @@ An event listener to be called when an error occurs.
</script>
```
-[Have a try](http://dotwe.org/weex/993f33173a712fecfb61c1c4b03bcb70)
+[Have a try](http://dotwe.org/weex/0256bbfc448f0fdbe8b10ba311c947b4)
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/83bfe648/doc/themes/weex/languages/cn.yml
----------------------------------------------------------------------
diff --git a/doc/themes/weex/languages/cn.yml b/doc/themes/weex/languages/cn.yml
index b158e53..67f72e6 100644
--- a/doc/themes/weex/languages/cn.yml
+++ b/doc/themes/weex/languages/cn.yml
@@ -79,7 +79,7 @@ menu:
advanced: \u9ad8\u9636\u77e5\u8bc6
baichuan: \u963f\u91cc\u767e\u5ddd
github: GitHub
- legacy: \u65e7\u6587\u6863
+ legacy: \u65e7\u8bed\u6cd5\u6587\u6863
playground:
content: Weex Native \u8fd0\u884c\u65f6\u5b9e\u4f8b & Weex \u6587\u4ef6\u9884\u89c8\u5de5\u5177\u3002
categories: Categories
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/83bfe648/doc/themes/weex/languages/en.yml
----------------------------------------------------------------------
diff --git a/doc/themes/weex/languages/en.yml b/doc/themes/weex/languages/en.yml
index d5a0015..47ca0ec 100644
--- a/doc/themes/weex/languages/en.yml
+++ b/doc/themes/weex/languages/en.yml
@@ -80,7 +80,7 @@ menu:
advanced: Advanced
baichuan: AliBaichuan
github: GitHub
- legacy: Legacy
+ legacy: Old Syntax Doc
playground:
content: Weex Native Runtime showcase & Weex we file preview.
categories: Categories
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/83bfe648/doc/themes/weex/layout/_partial/footer.ejs
----------------------------------------------------------------------
diff --git a/doc/themes/weex/layout/_partial/footer.ejs b/doc/themes/weex/layout/_partial/footer.ejs
index 8e36aec..80fdc14 100644
--- a/doc/themes/weex/layout/_partial/footer.ejs
+++ b/doc/themes/weex/layout/_partial/footer.ejs
@@ -13,7 +13,7 @@
<a href="<%= pick_lang('en') %>" data-lang="en">English</a>
</li>
<li>
- <a href="<%= pick_lang('cn') %>" data-lang="cn">\u4e2d\u6587</a>
+ <a href="<%= pick_lang('cn') %>" data-lang="zh-cn">\u4e2d\u6587</a>
</li>
</ul>
</div>
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/83bfe648/doc/themes/weex/layout/_partial/head.ejs
----------------------------------------------------------------------
diff --git a/doc/themes/weex/layout/_partial/head.ejs b/doc/themes/weex/layout/_partial/head.ejs
index f3d428c..e3f7962 100644
--- a/doc/themes/weex/layout/_partial/head.ejs
+++ b/doc/themes/weex/layout/_partial/head.ejs
@@ -21,49 +21,6 @@
%>
<title><% if (title){ %><%= title %> | <% } %><%= config.title %></title>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
- <script>
- ;(function(){
- var currentOrigin = location.origin,
- currentPathname = location.pathname,
- currentLang = navigator.language,
- selectedLang = '';
-
- if (!currentLang) {
- currentLang = navigator.browserLanguage;
- }
-
- if (window.sessionStorage) {
- selectedLang = window.sessionStorage.getItem('lang')
- }
-
- if (!selectedLang) {
- if (currentLang.indexOf('zh') >= 0 && currentPathname.indexOf('/cn/') != 0) {
- location.href = getUrl('cn', currentOrigin, currentPathname);
- } else if (currentLang.indexOf('en') >= 0 && currentPathname.indexOf('/cn/') == 0) {
- location.href = getUrl('en', currentOrigin, currentPathname);
- }
- }
-
- function getUrl (lang, origin, path) {
- if (lang == 'en') {
- if (path.indexOf('/cn/') == 0) {
- return origin + path.substr(3)
- } else {
- return origin + path
- }
- } else {
- var langPath = '/' + lang + '/'
- var pathStart = path.indexOf(langPath)
-
- if (pathStart == 0) {
- return origin + path
- } else {
- return origin + langPath + path.substr(1)
- }
- }
- }
- })();
- </script>
<%- open_graph({twitter_id: theme.twitter, google_plus: theme.google_plus, fb_admins: theme.fb_admins, fb_app_id: theme.fb_app_id}) %>
<% if (theme.rss){ %>
<link rel="alternate" href="<%- theme.rss %>" title="<%= config.title %>" type="application/atom+xml">
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/83bfe648/doc/themes/weex/layout/index.ejs
----------------------------------------------------------------------
diff --git a/doc/themes/weex/layout/index.ejs b/doc/themes/weex/layout/index.ejs
index d112ba7..01c964a 100644
--- a/doc/themes/weex/layout/index.ejs
+++ b/doc/themes/weex/layout/index.ejs
@@ -1,3 +1,30 @@
+<script>
+ ;(function(){
+ var currentOrigin = location.origin || 'https://weex-project.io',
+ currentPathname = location.pathname,
+ currentLang = navigator.language || navigator.browserLanguage || 'en',
+ selectedLang = '';
+
+ if (window.localStorage) {
+ selectedLang = window.localStorage.getItem('lang')
+ currentLang = selectedLang ? selectedLang : currentLang
+ }
+
+ if (/zh|cn/i.test(currentLang)) { // Chinese
+ if (currentPathname.indexOf('/cn/') != 0) {
+ location.href = currentOrigin + '/cn/'
+ }
+ } else if (/en/i.test(currentLang)) { // English
+ if (!/^\/$|^\/index/.test(currentPathname)) {
+ location.href = currentOrigin
+ }
+ } else { // Other
+ if (!/^\/$|^\/index/.test(currentPathname)) {
+ location.href = currentOrigin
+ }
+ }
+ })();
+</script>
<div class="scene header" style="background: #00BDFF;">
<div class="scene-container">
<div class="galaxy left">
@@ -206,6 +233,6 @@ var swiper = new Swiper('.swiper-container', {
loop: false,
autoplay: false,
autoplayDisableOnInteraction: false
-})
+});
</script>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/83bfe648/doc/themes/weex/source/css/index.scss
----------------------------------------------------------------------
diff --git a/doc/themes/weex/source/css/index.scss b/doc/themes/weex/source/css/index.scss
index a11852c..8eb4e76 100644
--- a/doc/themes/weex/source/css/index.scss
+++ b/doc/themes/weex/source/css/index.scss
@@ -13,12 +13,12 @@
height: 100%;
height: calc(100% - 72px);
- &:nth-child(odd) {
+ &:nth-child(even) {
background: $bg-gray;
color: $text-blue;
}
- &:nth-child(even) {
+ &:nth-child(odd) {
background: $bg-blue;
color: $text-white;
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/83bfe648/doc/themes/weex/source/js/common.js
----------------------------------------------------------------------
diff --git a/doc/themes/weex/source/js/common.js b/doc/themes/weex/source/js/common.js
index 1eddfc6..70dc2dc 100644
--- a/doc/themes/weex/source/js/common.js
+++ b/doc/themes/weex/source/js/common.js
@@ -73,34 +73,37 @@
initSidebar()
/**
- * Pick lang
+ * Switch language
*/
function initPickLang () {
- var pick = document.querySelector('.pick-lang')
- var elements = document.querySelectorAll('.pick-lang a')
+ document.addEventListener('DOMContentLoaded', function (e) {
+ var pick = document.querySelector('.pick-lang')
+ var elements = document.querySelectorAll('.pick-lang a')
- pick.addEventListener('click', function (e) {
- e.preventDefault()
- e.stopPropagation()
+ pick.addEventListener('click', function (e) {
+ e.preventDefault()
+ e.stopPropagation()
- var target = e.target;
- if (pick.contains(target)) {
- var lang = target.getAttribute('data-lang')
+ var target = e.target;
+ if (pick.contains(target)) {
+ var lang = target.getAttribute('data-lang')
- if (window.sessionStorage) {
- window.sessionStorage.setItem('lang', lang)
- }
+ if (window.localStorage) {
+ window.localStorage.setItem('lang', lang)
+ }
- location.href = target.href
- }
+ location.href = target.href
+ }
+ })
})
}
+
initPickLang()
/**
* Search
*/
- function initSearch() {
+ function initSearch () {
var form = document.querySelector('.search-form')
var inputElements = document.querySelectorAll('.search-input')
[08/50] incubator-weex git commit: * [ios] fix custom font memory leak
Posted by cx...@apache.org.
* [ios] fix custom font memory leak
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/df7cdb4e
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/df7cdb4e
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/df7cdb4e
Branch: refs/heads/master
Commit: df7cdb4e9b0af5e7637f429b416264cfe698a5f7
Parents: 1b79066
Author: acton393 <zh...@gmail.com>
Authored: Wed Feb 22 21:41:25 2017 +0800
Committer: acton393 <zh...@gmail.com>
Committed: Wed Feb 22 21:41:25 2017 +0800
----------------------------------------------------------------------
ios/sdk/WeexSDK/Sources/Utility/WXUtility.m | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/df7cdb4e/ios/sdk/WeexSDK/Sources/Utility/WXUtility.m
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Utility/WXUtility.m b/ios/sdk/WeexSDK/Sources/Utility/WXUtility.m
index b5fa3b3..345eb9c 100644
--- a/ios/sdk/WeexSDK/Sources/Utility/WXUtility.m
+++ b/ios/sdk/WeexSDK/Sources/Utility/WXUtility.m
@@ -348,7 +348,7 @@ static BOOL WXNotStat;
CGDataProviderRelease(fontDataProvider);
CTFontRef smallFont = CTFontCreateWithGraphicsFont(graphicFont, size, NULL, NULL);
CFRelease(graphicFont);
- font = (__bridge UIFont*)smallFont;
+ font = (__bridge_transfer UIFont*)smallFont;
}else {
[[WXRuleManager sharedInstance] removeRule:@"fontFace" rule:@{@"fontFamily": fontFamily}];
}
[22/50] incubator-weex git commit: * [ios] bug fix: change websocket
demo server
Posted by cx...@apache.org.
* [ios] bug fix: change websocket demo server
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/2ef5840a
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/2ef5840a
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/2ef5840a
Branch: refs/heads/master
Commit: 2ef5840a9921a19d3189db2a5c10d77a98466db1
Parents: 5529bb1
Author: kfeagle <su...@163.com>
Authored: Fri Feb 24 21:24:44 2017 +0800
Committer: kfeagle <su...@163.com>
Committed: Fri Feb 24 21:24:44 2017 +0800
----------------------------------------------------------------------
examples/module/websocket-demo.we | 88 +++++++++++++++++++---------------
1 file changed, 50 insertions(+), 38 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2ef5840a/examples/module/websocket-demo.we
----------------------------------------------------------------------
diff --git a/examples/module/websocket-demo.we b/examples/module/websocket-demo.we
index 11d9c11..5dbed7d 100644
--- a/examples/module/websocket-demo.we
+++ b/examples/module/websocket-demo.we
@@ -1,6 +1,9 @@
<template>
<scroller>
- <wxc-panel title="websocket" type="primary">
+ <div>
+ <div style="background-color: #286090">
+ <text class="title" style="height: 80px ;padding: 20px;color: white">websocket</text>
+ </div>
<input
type="text"
placeholder="please input message to send"
@@ -12,51 +15,59 @@
id = "input"
/>
<div style="flex-direction: row; justify-content: center;">
- <wxc-button value="connect" size="small" type="primary" onclick="{{connect}}"></wxc-button>
- <wxc-button value="send" size="small" onclick="{{send}}" type="primary" style="margin-left:20px;"></wxc-button>
- <wxc-button value="close" size="small" onclick="{{close}}" type="primary" style="margin-left:20px;"></wxc-button>
-
+ <text class="button" onclick="{{connect}}">connect</text>
+ <text class="button" onclick="{{send}}">send</text>
+ <text class="button" onclick="{{close}}">close</text>
+ </div>
+ <div style="background-color: lightgray;margin-top: 20px">
+ <text class="title" style="height: 80px ;padding: 20px;color: black">method = send</text>
+ </div>
+ <text style="color: black;height: 80px">{{sendinfo}}</text>
+ <div style="background-color: lightgray">
+ <text class="title" style="height: 80px ;padding: 20px;color: black">method = onopen</text>
+ </div>
+ <text style="color: black;height: 80px">{{onopeninfo}}</text>
+ <div style="background-color: lightgray">
+ <text class="title" style="height: 80px ;padding: 20px;color: black">method = onmessage</text>
</div>
-
- <wxc-panel title="method = send">
- <text>{{sendinfo}}</text>
- </wxc-panel>
-
- <wxc-panel title="method = onopen">
- <text>{{onopeninfo}}</text>
- </wxc-panel>
-
- <wxc-panel title="method = onmessage">
- <text>{{onmessage}}</text>
- </wxc-panel>
-
- <wxc-panel title="method = onclose">
- <text>{{oncloseinfo}}</text>
- </wxc-panel>
-
- <wxc-panel title="method = onerror">
- <text>{{onerrorinfo}}</text>
- </wxc-panel>
-
- <wxc-panel title="method = close">
- <text>{{closeinfo}}</text>
- </wxc-panel>
- </wxc-panel>
+ <text style="color: black;height: 400px">{{onmessage}}</text>
+ <div style="background-color: lightgray">
+ <text class="title" style="height: 80px ;padding: 20px;color: black">method = onclose</text>
+ </div>
+ <text style="color: black;height: 80px">{{oncloseinfo}}</text>
+ <div style="background-color: lightgray">
+ <text class="title" style="height: 80px ;padding: 20px;color: black">method = onerror</text>
+ </div>
+ <text style="color: black;height: 80px">{{onerrorinfo}}</text>
+ <div style="background-color: lightgray">
+ <text class="title" style="height: 80px ;padding: 20px;color: black">method = close</text>
+ </div>
+ <text style="color: black;height: 80px">{{closeinfo}}</text>
+ </div>
+ </div>
</scroller>
</template>
-
<style>
.input {
font-size: 40px;
height: 80px;
width: 600px;
}
+ .button {
+ font-size: 36px;
+ width: 150px;
+ color: #41B883;
+ text-align: center;
+ padding-top: 10px;
+ padding-bottom: 10px;
+ border-width: 2px;
+ border-style: solid;
+ margin-right: 20px;
+ border-color: rgb(162, 217, 192);
+ background-color: rgba(162, 217, 192, 0.2);
+ }
</style>
-
<script>
- require('weex-components');
- var navigator = require('@weex-module/navigator');
- var modal = require('@weex-module/modal');
var websocket = require('@weex-module/webSocket');
module.exports = {
data: {
@@ -75,11 +86,12 @@
},
methods: {
connect:function() {
- websocket.WebSocket('ws://115.29.193.48:8088','');
+ websocket.WebSocket('ws://echo.websocket.org');
var self = this;
+ self.onopeninfo = 'connecting...'
websocket.onopen = function(e)
{
- self.onopeninfo = e;
+ self.onopeninfo = 'websocket open';
}
websocket.onmessage = function(e)
{
@@ -91,6 +103,7 @@
}
websocket.onclose = function(e)
{
+ self.onopeninfo = '';
self.onerrorinfo = e.code;
}
},
@@ -99,7 +112,6 @@
input.blur();
websocket.send(this.txtInput);
this.sendinfo = this.txtInput;
-
},
oninput: function(event) {
this.txtInput = event.value;
[29/50] incubator-weex git commit: * [doc] add language selector on
the header.
Posted by cx...@apache.org.
* [doc] add language selector on the header.
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/6e72a242
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/6e72a242
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/6e72a242
Branch: refs/heads/master
Commit: 6e72a2429e26b48159933a2415c29451f1c25c3d
Parents: 83bfe64
Author: Yun Dong <yu...@gmail.com>
Authored: Wed Mar 1 16:37:43 2017 +0800
Committer: Yun Dong <yu...@gmail.com>
Committed: Wed Mar 1 16:37:43 2017 +0800
----------------------------------------------------------------------
doc/source/cn/references/modules/index.md | 31 +++++++------------
doc/source/references/modules/index.md | 31 +++++++------------
doc/themes/weex/layout/_partial/header.ejs | 16 ++++++++++
doc/themes/weex/layout/_partial/search-form.ejs | 2 +-
doc/themes/weex/layout/_partial/sidebar.ejs | 2 +-
doc/themes/weex/source/css/media-queries.scss | 3 ++
doc/themes/weex/source/css/partial/footer.scss | 1 +
doc/themes/weex/source/css/partial/header.scss | 32 +++++++++++++++++---
.../weex/source/css/partial/search-form.scss | 3 --
doc/themes/weex/source/css/partial/sidebar.scss | 1 +
doc/themes/weex/source/js/common.js | 28 +++++++++--------
11 files changed, 89 insertions(+), 61 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/6e72a242/doc/source/cn/references/modules/index.md
----------------------------------------------------------------------
diff --git a/doc/source/cn/references/modules/index.md b/doc/source/cn/references/modules/index.md
index 8171de2..543b9d2 100644
--- a/doc/source/cn/references/modules/index.md
+++ b/doc/source/cn/references/modules/index.md
@@ -8,23 +8,14 @@ version: 2.1
# \u5185\u5efa\u6a21\u5757
-## \u5982\u4f55\u4f7f\u7528
-
-\u4f60\u53ef\u4ee5\u7b80\u5355\u7684\u901a\u8fc7\u7c7b\u4f3c `weex.requireModule('name')` \u8fd9\u6837\u7684\u8bed\u6cd5\u83b7\u53d6\u4e00\u4e2a\u6a21\u5757\u7684 API\uff0c\u6bd4\u5982\uff1a
-
-```html
-<script>
- const modal = weex.requireModule('modal')
-
- module.exports = {
- data: {},
- methods: {
- toast: function () {
- modal.toast({
- message: 'props: ' + event.data.join(', ')
- })
- }
- }
- }
-</script>
-```
+- [animation](./animation.html)
+- [WebSocket](./websocket.html)
+- [picker](./picker.html)
+- [clipboard](./clipboard.html)
+- [dom](./dom.html)
+- [modal](./modal.html)
+- [navigator](./navigator.html)
+- [storage](./storage.html)
+- [stream](./stream.html)
+- [webview](./webview.html)
+- [globalEvent](./globalevent.html)
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/6e72a242/doc/source/references/modules/index.md
----------------------------------------------------------------------
diff --git a/doc/source/references/modules/index.md b/doc/source/references/modules/index.md
index ec3b4a0..444ec81 100644
--- a/doc/source/references/modules/index.md
+++ b/doc/source/references/modules/index.md
@@ -7,23 +7,14 @@ version: 2.1
# Built-in Modules
-## How to use
-
-You can use a simply way like `requireModule('name')` to access the apis of module. e.g.
-
-```html
-<script>
- const modal = weex.requireModule('modal')
-
- module.exports = {
- data: {},
- methods: {
- toast: function () {
- modal.toast({
- message: 'props: ' + event.data.join(', ')
- })
- }
- }
- }
-</script>
-```
\ No newline at end of file
+- [animation](./animation.html)
+- [WebSocket](./websocket.html)
+- [picker](./picker.html)
+- [clipboard](./clipboard.html)
+- [dom](./dom.html)
+- [modal](./modal.html)
+- [navigator](./navigator.html)
+- [storage](./storage.html)
+- [stream](./stream.html)
+- [webview](./webview.html)
+- [globalEvent](./globalevent.html)
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/6e72a242/doc/themes/weex/layout/_partial/header.ejs
----------------------------------------------------------------------
diff --git a/doc/themes/weex/layout/_partial/header.ejs b/doc/themes/weex/layout/_partial/header.ejs
index a1d42cd..9b2cdb6 100644
--- a/doc/themes/weex/layout/_partial/header.ejs
+++ b/doc/themes/weex/layout/_partial/header.ejs
@@ -36,6 +36,22 @@
<li>
<%- partial('_partial/search-form', {id_name: 'search-input-header'}) %>
</li>
+ <li>
+ <div class="dropdown select-lang">
+ <a href="javascript:;" class="dropdown-toggle">
+ Language
+ <span class="caret"></span>
+ </a>
+ <ul class="dropdown-menu pick-lang">
+ <li>
+ <a href="<%= pick_lang('en') %>" data-lang="en">English</a>
+ </li>
+ <li>
+ <a href="<%= pick_lang('cn') %>" data-lang="zh-cn">\u4e2d\u6587</a>
+ </li>
+ </ul>
+ </div>
+ </li>
<!--<li></li>-->
</ul>
</div>
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/6e72a242/doc/themes/weex/layout/_partial/search-form.ejs
----------------------------------------------------------------------
diff --git a/doc/themes/weex/layout/_partial/search-form.ejs b/doc/themes/weex/layout/_partial/search-form.ejs
index 347c341..7331be5 100644
--- a/doc/themes/weex/layout/_partial/search-form.ejs
+++ b/doc/themes/weex/layout/_partial/search-form.ejs
@@ -1,6 +1,6 @@
<div class="search">
<form id="search-form" class="search-form"> <!-- \u641c\u7d22\u6846\u76f8\u5173 -->
- <input type="text" id="<%= id_name %>" name="q" results="0" placeholder="search..." class="form-control search-input" autocomplete="off" autocorrect="off"/>
+ <input type="text" id="<%= id_name %>" name="q" results="0" class="form-control search-input" autocomplete="off" autocorrect="off"/>
<span class="iconfont icon-search"></span>
</form>
<div class="results-panel">
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/6e72a242/doc/themes/weex/layout/_partial/sidebar.ejs
----------------------------------------------------------------------
diff --git a/doc/themes/weex/layout/_partial/sidebar.ejs b/doc/themes/weex/layout/_partial/sidebar.ejs
index a6c0968..2287671 100644
--- a/doc/themes/weex/layout/_partial/sidebar.ejs
+++ b/doc/themes/weex/layout/_partial/sidebar.ejs
@@ -19,7 +19,7 @@
</a>
</li>
<li>
- <a href="<%= url_for_lang('faq') %>">
+ <a href="<%= url_for_lang('faq.html') %>">
<%= _p('menu.faq') %>
</a>
</li>
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/6e72a242/doc/themes/weex/source/css/media-queries.scss
----------------------------------------------------------------------
diff --git a/doc/themes/weex/source/css/media-queries.scss b/doc/themes/weex/source/css/media-queries.scss
index 6aa9a79..f461e84 100644
--- a/doc/themes/weex/source/css/media-queries.scss
+++ b/doc/themes/weex/source/css/media-queries.scss
@@ -31,6 +31,9 @@
#footer {
padding: 0 20px;
+ .select-lang {
+ display: block;
+ }
}
/***********************************************
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/6e72a242/doc/themes/weex/source/css/partial/footer.scss
----------------------------------------------------------------------
diff --git a/doc/themes/weex/source/css/partial/footer.scss b/doc/themes/weex/source/css/partial/footer.scss
index 959d3c5..3c4d976 100644
--- a/doc/themes/weex/source/css/partial/footer.scss
+++ b/doc/themes/weex/source/css/partial/footer.scss
@@ -18,6 +18,7 @@
}
.select-lang {
+ display: none;
width: 105px;
height: 25px;
line-height: 25px;
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/6e72a242/doc/themes/weex/source/css/partial/header.scss
----------------------------------------------------------------------
diff --git a/doc/themes/weex/source/css/partial/header.scss b/doc/themes/weex/source/css/partial/header.scss
index 85d8a29..f109404 100644
--- a/doc/themes/weex/source/css/partial/header.scss
+++ b/doc/themes/weex/source/css/partial/header.scss
@@ -79,12 +79,17 @@
}
.info li {
- margin-left: 50px;
+ margin-left: 40px;
}
- .tools li {
- position: relative;
- margin-left: 4em;
+ .tools {
+ > li {
+ margin-left: 30px;
+ position: relative;
+ }
+ .search-form {
+ width: 120px;
+ }
}
.dropdown {
@@ -101,4 +106,23 @@
}
}
}
+
+ .select-lang {
+ width: 90px;
+ }
+
+ .select-lang .dropdown-toggle {
+ color: #00293D;
+ }
+
+ .select-lang .dropdown-menu {
+ width: 105px;
+ left: 0;
+ }
+
+ .caret {
+ display: inline-block;
+ margin-left: 2px;
+ @include triangle-down($border-gray, 4px);
+ }
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/6e72a242/doc/themes/weex/source/css/partial/search-form.scss
----------------------------------------------------------------------
diff --git a/doc/themes/weex/source/css/partial/search-form.scss b/doc/themes/weex/source/css/partial/search-form.scss
index 0bed6df..1f18e6c 100644
--- a/doc/themes/weex/source/css/partial/search-form.scss
+++ b/doc/themes/weex/source/css/partial/search-form.scss
@@ -25,9 +25,6 @@
}
}
- /*.search-label {
- display: block;
- }*/
.icon-search {
position: absolute;
font-size: 14px;
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/6e72a242/doc/themes/weex/source/css/partial/sidebar.scss
----------------------------------------------------------------------
diff --git a/doc/themes/weex/source/css/partial/sidebar.scss b/doc/themes/weex/source/css/partial/sidebar.scss
index aba94e4..6e681b1 100644
--- a/doc/themes/weex/source/css/partial/sidebar.scss
+++ b/doc/themes/weex/source/css/partial/sidebar.scss
@@ -64,6 +64,7 @@
.summary {
display: block;
+ margin-top: 20px;
}
.results-panel {
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/6e72a242/doc/themes/weex/source/js/common.js
----------------------------------------------------------------------
diff --git a/doc/themes/weex/source/js/common.js b/doc/themes/weex/source/js/common.js
index 70dc2dc..d4177dd 100644
--- a/doc/themes/weex/source/js/common.js
+++ b/doc/themes/weex/source/js/common.js
@@ -77,23 +77,27 @@
*/
function initPickLang () {
document.addEventListener('DOMContentLoaded', function (e) {
- var pick = document.querySelector('.pick-lang')
+ var pickers = document.querySelectorAll('.pick-lang')
var elements = document.querySelectorAll('.pick-lang a')
+ var pickersArr = Array.prototype.slice.call(pickers)
- pick.addEventListener('click', function (e) {
- e.preventDefault()
- e.stopPropagation()
+ pickersArr.forEach(function (picker) {
+ picker.addEventListener('click', function (e) {
+ e.preventDefault()
+ e.stopPropagation()
- var target = e.target;
- if (pick.contains(target)) {
- var lang = target.getAttribute('data-lang')
+ var target = e.target;
- if (window.localStorage) {
- window.localStorage.setItem('lang', lang)
- }
+ if (picker.contains(target)) {
+ var lang = target.getAttribute('data-lang')
- location.href = target.href
- }
+ if (window.localStorage) {
+ window.localStorage.setItem('lang', lang)
+ }
+
+ location.href = target.href
+ }
+ })
})
})
}
[18/50] incubator-weex git commit: Merge pull request #2699 from
x-yao/jsfm-feature-20170221
Posted by cx...@apache.org.
Merge pull request #2699 from x-yao/jsfm-feature-20170221
* [doc] bugfix fix guide-intro using-vue doc
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/f2ceb283
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/f2ceb283
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/f2ceb283
Branch: refs/heads/master
Commit: f2ceb28324c8022e67e0ac21ec1a387189e063bd
Parents: 5d8f468 14b6906
Author: \u52fe\u4e09\u80a1\u56db <zh...@me.com>
Authored: Fri Feb 24 16:53:43 2017 +0800
Committer: GitHub <no...@github.com>
Committed: Fri Feb 24 16:53:43 2017 +0800
----------------------------------------------------------------------
doc/source/cn/guide/intro/using-vue.md | 2 +-
doc/source/guide/intro/using-vue.md | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
[02/50] incubator-weex git commit: * [ios] CAAnimationDelegate is not
available before iOS 10 SDK
Posted by cx...@apache.org.
* [ios] CAAnimationDelegate is not available before iOS 10 SDK
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/6c7e5611
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/6c7e5611
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/6c7e5611
Branch: refs/heads/master
Commit: 6c7e5611cf59184f823ad38cf0947cc41b04db7a
Parents: 2796573
Author: \u9690\u5c0f\u98ce <cx...@gmail.com>
Authored: Tue Feb 21 19:32:18 2017 +0800
Committer: GitHub <no...@github.com>
Committed: Tue Feb 21 19:32:18 2017 +0800
----------------------------------------------------------------------
ios/sdk/WeexSDK/Sources/Module/WXAnimationModule.m | 5 +++++
1 file changed, 5 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/6c7e5611/ios/sdk/WeexSDK/Sources/Module/WXAnimationModule.m
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Module/WXAnimationModule.m b/ios/sdk/WeexSDK/Sources/Module/WXAnimationModule.m
index 3eafce0..c1fea40 100644
--- a/ios/sdk/WeexSDK/Sources/Module/WXAnimationModule.m
+++ b/ios/sdk/WeexSDK/Sources/Module/WXAnimationModule.m
@@ -45,7 +45,12 @@
@end
+#if __IPHONE_OS_VERSION_MAX_ALLOWED < 100000
+// CAAnimationDelegate is not available before iOS 10 SDK
+@interface WXAnimationDelegate : NSObject
+#else
@interface WXAnimationDelegate : NSObject <CAAnimationDelegate>
+#endif
@property (nonatomic, copy) void (^finishBlock)(BOOL);
@property (nonatomic, strong) WXAnimationInfo *animationInfo;
[03/50] incubator-weex git commit: * [test] fix travis
Posted by cx...@apache.org.
* [test] fix travis
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/d049adce
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/d049adce
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/d049adce
Branch: refs/heads/master
Commit: d049adce9f970f7db780bd8398bfbe00626268fa
Parents: 94d5649
Author: sospartan <so...@gmail.com>
Authored: Tue Feb 21 19:38:45 2017 +0800
Committer: sospartan <so...@gmail.com>
Committed: Tue Feb 21 19:38:45 2017 +0800
----------------------------------------------------------------------
package.json | 2 +-
test/run.sh | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/d049adce/package.json
----------------------------------------------------------------------
diff --git a/package.json b/package.json
index 598ded6..b69c423 100644
--- a/package.json
+++ b/package.json
@@ -93,7 +93,7 @@
},
"devDependencies": {
"xml2map": "^1.0.2",
- "weex-wd": "^1.0.10",
+ "weex-wd": "^1.0.11",
"macaca-utils": "^0.1.9",
"babel-core": "^6.17.0",
"babel-istanbul": "^0.11.0",
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/d049adce/test/run.sh
----------------------------------------------------------------------
diff --git a/test/run.sh b/test/run.sh
index 40e9fb7..6c0edd0 100755
--- a/test/run.sh
+++ b/test/run.sh
@@ -39,7 +39,7 @@ function runiOS {
sleep 1m
echo 'killAll Simulator......'
killAll Simulator || echo 'killall failed'
- ps -ef
+ # ps -ef
platform=ios macaca run -d $1
}
[05/50] incubator-weex git commit: * [doc] Update some en docs.
Posted by cx...@apache.org.
* [doc] Update some en docs.
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/89dfb274
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/89dfb274
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/89dfb274
Branch: refs/heads/master
Commit: 89dfb274443fb3b1b92bd39eb40832dd3cfc6695
Parents: f83ae19
Author: Yun Dong <yu...@gmail.com>
Authored: Wed Feb 22 11:03:32 2017 +0800
Committer: Yun Dong <yu...@gmail.com>
Committed: Wed Feb 22 11:03:32 2017 +0800
----------------------------------------------------------------------
doc/source/references/ios-apis.md | 3 +-
doc/source/references/modules/globalevent.md | 2 +-
doc/themes/weex/source/js/common.js | 43 +++++++++++++++++------
3 files changed, 34 insertions(+), 14 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/89dfb274/doc/source/references/ios-apis.md
----------------------------------------------------------------------
diff --git a/doc/source/references/ios-apis.md b/doc/source/references/ios-apis.md
index e2353ba..f6e7367 100644
--- a/doc/source/references/ios-apis.md
+++ b/doc/source/references/ios-apis.md
@@ -9,5 +9,4 @@ chapter_title: Common Options
# iOS APIs
-## Native APIs
-
+Work in progresss.
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/89dfb274/doc/source/references/modules/globalevent.md
----------------------------------------------------------------------
diff --git a/doc/source/references/modules/globalevent.md b/doc/source/references/modules/globalevent.md
index 2bb61a8..e102ea6 100644
--- a/doc/source/references/modules/globalevent.md
+++ b/doc/source/references/modules/globalevent.md
@@ -69,7 +69,7 @@ register global event.
var globalEvent = require('@weex-module/globalEvent');
globalEvent.addEventListener("geolocation", function (e) {
console.log("get geolocation")
- });
+});
```
### removeEventListener(String eventName)
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/89dfb274/doc/themes/weex/source/js/common.js
----------------------------------------------------------------------
diff --git a/doc/themes/weex/source/js/common.js b/doc/themes/weex/source/js/common.js
index 5af57fc..f130c0f 100644
--- a/doc/themes/weex/source/js/common.js
+++ b/doc/themes/weex/source/js/common.js
@@ -101,9 +101,10 @@
input.addEventListener('input', function (e) {
var target = e.target,
panel = target.parentElement && target.parentElement.nextElementSibling,
- keywords = target.value.trim().split(/[\s\-\\uff0c\\/]+/)
+ value = target.value.trim()
+ keywords = value.split(/[\s\-\\uff0c\\/]+/)
- if (target.value.trim() !== '') {
+ if (value !== '') {
var matchingPosts = searchFromJSON(resp.pages, keywords)
var html = ''
@@ -149,7 +150,7 @@
if(postTitle !== '' && postContent !== '') {
keywords.forEach(function(keyword, i) {
- var regEx = new RegExp(keyword, "gi")
+ var regEx = new RegExp('(' + escapeReg(keyword) + ')', 'gi')
var indexTitle = -1,
indexContent = -1,
indexTitle = postTitle.search(regEx),
@@ -176,7 +177,7 @@
var matchContent = '...' +
postContent
.substring(start, end)
- .replace(regEx, "<em class=\"search-keyword\">" + keyword + "</em>") +
+ .replace(regEx, '<em class="search-keyword">$1</em>') +
'...'
resultStr += matchContent
@@ -203,14 +204,14 @@
return matchingResults
}
- function escapeHtml(string) {
+ function escapeHtml (string) {
var entityMap = {
- "&": "&",
- "<": "<",
- ">": ">",
- '"': '"',
- "'": ''',
- "/": '/'
+ '&': '&',
+ '<': '<',
+ '>': '>',
+ '': '"',
+ '': ''',
+ '/': '/'
}
return String(string).replace(/[&<>"'\/]/g, function (s) {
@@ -218,6 +219,26 @@
})
}
+ function escapeReg (string) {
+ var entityMap = {
+ '.': '\\.',
+ '^': '\\^',
+ '$': '\\$',
+ '*': '\\*',
+ '?': '\\?',
+ '|': '\\|',
+ '(': '\\(',
+ ')': '\\)',
+ '[': '\\[',
+ ']': '\\]',
+ '+': '\\+'
+ }
+
+ return String(string).replace(/[\.\^\$\*\?\|\(\)\[\]\+]/g, function (s) {
+ return entityMap[s];
+ })
+ }
+
initSearch()
/*
* LANDINGPAGE
[36/50] incubator-weex git commit: * [doc] Add document for behavior
of border-radius clipping.
Posted by cx...@apache.org.
* [doc] Add document for behavior of border-radius clipping.
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/18aa8f02
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/18aa8f02
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/18aa8f02
Branch: refs/heads/master
Commit: 18aa8f027fbaabdf486da41a560077b880b5dc49
Parents: 687f3b1
Author: YorkShen <sh...@gmail.com>
Authored: Thu Mar 2 11:48:49 2017 +0800
Committer: YorkShen <sh...@gmail.com>
Committed: Thu Mar 2 11:50:19 2017 +0800
----------------------------------------------------------------------
doc/source/cn/references/common-style.md | 11 +++++++++--
doc/source/references/common-style.md | 15 ++++++++++-----
2 files changed, 19 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/18aa8f02/doc/source/cn/references/common-style.md
----------------------------------------------------------------------
diff --git a/doc/source/cn/references/common-style.md b/doc/source/cn/references/common-style.md
index 96f6d9d..033a45c 100644
--- a/doc/source/cn/references/common-style.md
+++ b/doc/source/cn/references/common-style.md
@@ -90,10 +90,17 @@ Weex \u5bf9\u4e8e\u957f\u5ea6\u503c\u76ee\u524d\u53ea\u652f\u6301*\u50cf\u7d20*\u503c\uff0c\u4e0d\u652f\u6301\u76f8\u5bf9\u5355\u4f4d\uff08`em`\u3001
- `border-top-right-radius {length}`\uff1a\uff0c\u975e\u8d1f\u503c, \u9ed8\u8ba4\u503c 0
-\u6ce8\u610f\uff1a\u76ee\u524d\u5728 `<image>` \u7ec4\u4ef6\u4e0a\u5c1a\u65e0\u6cd5\u53ea\u5b9a\u4e49\u4e00\u4e2a\u6216\u51e0\u4e2a\u89d2\u7684 `border-radius`\u3002\u6bd4\u5982\u4f60\u65e0\u6cd5\u5728\u8fd9\u4e24\u4e2a\u7ec4\u4ef6\u4e0a\u4f7f\u7528 `border-top-left-radius`\u3002\u8be5\u7ea6\u675f\u53ea\u5bf9iOS\u751f\u6548\uff0cAndroid\u5e76\u4e0d\u53d7\u6b64\u9650\u5236\u3002
-
+### \u6ce8\u610f\uff1a
Weex \u76d2\u6a21\u578b\u7684 `box-sizing` \u9ed8\u8ba4\u4e3a `border-box`\uff0c\u5373\u76d2\u5b50\u7684\u5bbd\u9ad8\u5305\u542b\u5185\u5bb9\u3001\u5185\u8fb9\u8ddd\u548c\u8fb9\u6846\u7684\u5bbd\u5ea6\uff0c\u4e0d\u5305\u542b\u5916\u8fb9\u8ddd\u7684\u5bbd\u5ea6\u3002
+\u76ee\u524d\u5728 `<image>` \u7ec4\u4ef6\u4e0a\u5c1a\u65e0\u6cd5\u53ea\u5b9a\u4e49\u4e00\u4e2a\u6216\u51e0\u4e2a\u89d2\u7684 `border-radius`\u3002\u6bd4\u5982\u4f60\u65e0\u6cd5\u5728\u8fd9\u4e24\u4e2a\u7ec4\u4ef6\u4e0a\u4f7f\u7528 `border-top-left-radius`\u3002\u8be5\u7ea6\u675f\u53ea\u5bf9iOS\u751f\u6548\uff0cAndroid\u5e76\u4e0d\u53d7\u6b64\u9650\u5236\u3002
+
+\u5c3d\u7ba1 `overflow:hidden` \u5728android\u4e0a\u662f\u9ed8\u8ba4\u884c\u4e3a\uff0c\u4f46\u53ea\u6709\u4e0b\u5217\u6761\u4ef6\u90fd\u6ee1\u8db3\u65f6\uff0c\u4e00\u4e2a\u7236view\u624d\u4f1a\u53bbclip\u5b83\u7684\u5b50view\u3002\u8fd9\u4e2a\u9650\u5236\u53ea\u5bf9Android\u751f\u6548\uff0ciOS\u4e0d\u53d7\u5f71\u54cd\u3002
+* \u7236view\u662f`div`, `a`, `cell`, `refresh` \u6216 `loading`\u3002
+* \u7cfb\u7edf\u7248\u672c\u662fAndroid 4.3\u6216\u66f4\u9ad8\u3002
+* \u7cfb\u7edf\u7248\u672c\u4e0d\u662fAndorid 7.0\u3002
+* \u7236view\u6ca1\u6709`background-image`\u5c5e\u6027\u6216\u7cfb\u7edf\u7248\u672c\u662fAndroid 5.0\u6216\u66f4\u9ad8\u3002
+
### \u793a\u4f8b\uff1a
```html
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/18aa8f02/doc/source/references/common-style.md
----------------------------------------------------------------------
diff --git a/doc/source/references/common-style.md b/doc/source/references/common-style.md
index 14da29b..24fac44 100644
--- a/doc/source/references/common-style.md
+++ b/doc/source/references/common-style.md
@@ -46,18 +46,23 @@ you can use the definition below in weex box model.
- `border-right-color`: `color` type, default value `#000000`
- `border-bottom-color`: `color` type, default value `#000000`
- `border-radius`: `length` type, default value `0`, (rounded borders to elements , default value is 0 meaning right angle )
-
- Although the the default overflow style is `overflow:hidden` in android, a view will not be clipped by its parents' `border-radius`. This only happens on Android, it works fine on iOS.
- `border-bottom-left-radius`: `length` type, non-negative, default value `0`
- `border-bottom-right-radius`: `length` type, non-negative, default value `0`
- `border-top-left-radius`: `length` type, non-negative, default value `0`
- `border-top-right-radius`: `length` type, non-negative, default value `0`
-Notes: The rule of border-radius for a specific corner such as `border-top-left-radius` is not currently supported for component `<image>`in iOS. This only happens to iOS, it works fine on Android.
-
+### Notes
Weex box model uses `border-box` as the default value of `box-sizing`, meaning the width and height properties includes content, padding and border, but not the margin.
-example:
+The rule of border-radius for a specific corner such as `border-top-left-radius` is not currently supported for component `<image>`in iOS. This only happens to iOS, it works fine on Android.
+
+Although `overflow:hidden` is default on android, a view **will not** clip its children according to `border-radius` unless all the following condtions met. This only happens on Android, it works fine on iOS.
+* The view type is `div`, `a`, `cell`, `refresh` or `loading`.
+* OS version is Android 4.3 or higher.
+* OS version is **not** Andorid 7.0
+* A view **does not** have `background-image` property nor OS version is Android 5.0 or higher.
+
+### Example
```html
<template>
[45/50] incubator-weex git commit: Merge branch 'dev-cell-doc' of
https://github.com/xkli/incubator-weex into dev This closes #29
Posted by cx...@apache.org.
Merge branch 'dev-cell-doc' of https://github.com/xkli/incubator-weex into dev
This closes #29
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/20d9d5f0
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/20d9d5f0
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/20d9d5f0
Branch: refs/heads/master
Commit: 20d9d5f068e50eb32f410d5b1e3aca19a234707d
Parents: 422e6e9 dbe45be
Author: Jinjiang <zh...@me.com>
Authored: Wed Mar 8 14:03:03 2017 +0800
Committer: Jinjiang <zh...@me.com>
Committed: Wed Mar 8 14:03:03 2017 +0800
----------------------------------------------------------------------
doc/source/cn/references/components/cell.md | 3 +++
doc/source/references/components/cell.md | 2 ++
2 files changed, 5 insertions(+)
----------------------------------------------------------------------
[37/50] incubator-weex git commit: * [doc] Add doc for scroller,
which exists in
https://github.com/alibaba/weex/blob/doc/doc/components/scroller.md#attributes
, and disappears for a reason that no one knows.
Posted by cx...@apache.org.
* [doc] Add doc for scroller, which exists in https://github.com/alibaba/weex/blob/doc/doc/components/scroller.md#attributes , and disappears for a reason that no one knows.
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/6dc87a74
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/6dc87a74
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/6dc87a74
Branch: refs/heads/master
Commit: 6dc87a74fabb014f08e2e7dccd501bbf51e5e4d1
Parents: 18aa8f0
Author: YorkShen <sh...@gmail.com>
Authored: Thu Mar 2 17:00:44 2017 +0800
Committer: YorkShen <sh...@gmail.com>
Committed: Thu Mar 2 17:00:44 2017 +0800
----------------------------------------------------------------------
doc/source/cn/references/components/scroller.md | 4 ++++
doc/source/references/components/scroller.md | 4 ++++
2 files changed, 8 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/6dc87a74/doc/source/cn/references/components/scroller.md
----------------------------------------------------------------------
diff --git a/doc/source/cn/references/components/scroller.md b/doc/source/cn/references/components/scroller.md
index 4bb9f4b..694ce87 100644
--- a/doc/source/cn/references/components/scroller.md
+++ b/doc/source/cn/references/components/scroller.md
@@ -33,6 +33,10 @@ version: 2.1
- `show-scrollbar {boolean}`\uff1a\u53ef\u9009\u503c\u4e3a `true`/ `false`\uff0c\u9ed8\u8ba4\u503c\u4e3a `true`\u3002\u63a7\u5236\u662f\u5426\u51fa\u73b0\u6eda\u52a8\u6761\u3002
- `scroll-direction {string}`\uff1a\u53ef\u9009\u4e3a `horizontal` \u6216\u8005 `vertical`\uff0c\u9ed8\u8ba4\u503c\u4e3a `vertical` \u3002\u5b9a\u4e49\u6eda\u52a8\u7684\u65b9\u5411\u3002
+ - `scroll-direction`\u5b9a\u4e49\u4e86scroller\u7684\u6eda\u52a8\u65b9\u5411\uff0c`flex-direction`\u5b9a\u4e49\u4e86scroller\u7684\u5e03\u5c40\u65b9\u5411\uff0c\u4e24\u4e2a\u65b9\u5411\u5fc5\u987b\u4e00\u81f4\u3002
+ - `scroll-direction`\u7684\u9ed8\u8ba4\u503c\u662f`vertical`,`flex-direction`\u7684\u9ed8\u8ba4\u503c\u662f`row`\u3002
+ - \u5f53\u9700\u8981\u4e00\u4e2a\u6c34\u5e73\u65b9\u5411\u7684scroller\u65f6\uff0c\u4f7f\u7528`scroll-direction:horizontal`\u548c`flex-direction: row`\u3002
+ - \u5f53\u9700\u8981\u4e00\u4e2a\u7ad6\u76f4\u65b9\u5411\u7684scroller\u65f6\uff0c\u4f7f\u7528`scroll-direction:vertical`\u548c`flex-direction: column`\u3002\u7531\u4e8e\u8fd9\u4e24\u4e2a\u503c\u5747\u662f\u9ed8\u8ba4\u503c\uff0c\u5f53\u9700\u8981\u4e00\u4e2a\u7ad6\u76f4\u65b9\u5411\u7684scroller\u65f6\uff0c\u8fd9\u4e24\u4e2a\u503c\u53ef\u4ee5\u4e0d\u8bbe\u7f6e\u3002
- `loadmoreoffset {number}`\uff1a\u9ed8\u8ba4\u503c\u4e3a 0\uff0c\u89e6\u53d1 `loadmore` \u4e8b\u4ef6\u6240\u9700\u8981\u7684\u5782\u76f4\u504f\u79fb\u8ddd\u79bb\uff08\u8bbe\u5907\u5c4f\u5e55\u5e95\u90e8\u4e0e\u9875\u9762\u5e95\u90e8\u4e4b\u95f4\u7684\u8ddd\u79bb\uff09\u3002\u5f53\u9875\u9762\u7684\u6eda\u52a8\u6761\u6eda\u52a8\u5230\u8db3\u591f\u63a5\u8fd1\u9875\u9762\u5e95\u90e8\u65f6\u5c06\u4f1a\u89e6\u53d1 `loadmore` \u8fd9\u4e2a\u4e8b\u4ef6\u3002

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/6dc87a74/doc/source/references/components/scroller.md
----------------------------------------------------------------------
diff --git a/doc/source/references/components/scroller.md b/doc/source/references/components/scroller.md
index 1b65907..2f637d0 100644
--- a/doc/source/references/components/scroller.md
+++ b/doc/source/references/components/scroller.md
@@ -27,6 +27,10 @@ And there are two special components that can only be used inside scroller compo
* show-scrollbar: true/false whether show the scroll bar or not, default value is true
* scroll-direction: <string> define scroll direction of component, horizontal or vertical
+ * `scroll-direction` defines the scrollable axis of scroller and `flex-direction` defines the layout axis of scroller. `scroll-direction` and `flex-direction` must be set to the same direction, otherwise, undefined behavior may happen.
+ * Default value for `scroll-direction` is vertical, and for `flex-direction` is row .
+ * Use `scroll-direction:horizontal` and `flex-direction: row` when a horizontal layout and scrollable scroller is expected.
+ * Use `scroll-direction:vertical` and `flex-direction: column` when a vertical layout and scrollable scroller is expected. But thoes two values are default, if you don't set them, it also works fine.
* loadmoreoffset : <number> default value is 0. The loadmore event will be triggered when the list is loadmoreoffset left to reach the bottom of the list view. e.g. a list has total content length of 1000, and the loadmoreoffset is set to 400, the loadmore event will be triggered when 600 has beed scrolled and there is less than 400 left.
* loadmoreretry : <number> default value 0\uff0cwhether to reset loadmore related UI when loadmore failed, will be deprecated in further release.
[42/50] incubator-weex git commit: * [doc] Change the guide directory
structure: Add a new type 'tools'.
Posted by cx...@apache.org.
* [doc] Change the guide directory structure: Add a new type 'tools'.
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/9dd6bdd4
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/9dd6bdd4
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/9dd6bdd4
Branch: refs/heads/master
Commit: 9dd6bdd42130d12a7e9f3201d38c079914175381
Parents: 6dc87a7
Author: Yun Dong <yu...@gmail.com>
Authored: Mon Mar 6 15:47:27 2017 +0800
Committer: Yun Dong <yu...@gmail.com>
Committed: Mon Mar 6 15:47:27 2017 +0800
----------------------------------------------------------------------
doc/source/cn/guide/dev-with-weexpack.md | 11 -
doc/source/cn/guide/index.md | 114 ------
doc/source/cn/guide/intro/app-architecture.md | 2 +-
doc/source/cn/guide/intro/devtools.md | 99 -----
doc/source/cn/guide/intro/how-it-works.md | 2 +-
doc/source/cn/guide/intro/index.md | 2 +-
doc/source/cn/guide/intro/page-architecture.md | 2 +-
doc/source/cn/guide/intro/using-vue.md | 2 +-
doc/source/cn/guide/intro/web-dev-experience.md | 2 +-
doc/source/cn/guide/intro/write-once.md | 2 +-
doc/source/cn/guide/set-up-env.md | 126 ++++++
doc/source/cn/guide/tools/devtools.md | 111 ++++++
doc/source/cn/guide/tools/index.md | 11 +
doc/source/cn/guide/tools/weexpack.md | 388 +++++++++++++++++++
doc/source/cn/references/common-style.md | 11 +-
doc/source/cn/references/components/scroller.md | 8 +-
doc/source/guide/dev-with-weexpack.md | 12 -
doc/source/guide/index.md | 52 ---
doc/source/guide/intro/app-architecture.md | 2 +-
doc/source/guide/intro/devtools.md | 2 +-
doc/source/guide/intro/how-it-works.md | 2 +-
doc/source/guide/intro/index.md | 2 +-
doc/source/guide/intro/page-architecture.md | 2 +-
doc/source/guide/intro/using-vue.md | 2 +-
doc/source/guide/intro/web-dev-experience.md | 2 +-
doc/source/guide/intro/write-once.md | 2 +-
doc/source/guide/set-up-env.md | 93 +++++
doc/source/guide/tools/devtools.md | 100 +++++
doc/source/guide/tools/index.md | 11 +
doc/source/guide/tools/weexpack.md | 298 ++++++++++++++
30 files changed, 1163 insertions(+), 312 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/9dd6bdd4/doc/source/cn/guide/dev-with-weexpack.md
----------------------------------------------------------------------
diff --git a/doc/source/cn/guide/dev-with-weexpack.md b/doc/source/cn/guide/dev-with-weexpack.md
deleted file mode 100644
index 2f39204..0000000
--- a/doc/source/cn/guide/dev-with-weexpack.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-title: \u6784\u5efa\u5168\u65b0\u5e94\u7528
-type: guide
-order: 2
-version: 2.1
-has_chapter_content: true
----
-
-# \u6784\u5efa\u5168\u65b0\u5e94\u7528
-
-Work in process.
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/9dd6bdd4/doc/source/cn/guide/index.md
----------------------------------------------------------------------
diff --git a/doc/source/cn/guide/index.md b/doc/source/cn/guide/index.md
index e2d43e4..22670ed 100644
--- a/doc/source/cn/guide/index.md
+++ b/doc/source/cn/guide/index.md
@@ -54,117 +54,3 @@ Vue.js \u662f Evan You \u5f00\u53d1\u7684\u6e10\u8fdb\u5f0f JavaScript \u6846\u67b6\u3002\u5f00\u53d1\u8005\u80fd\u591f\u901a\u8fc7
```
\u6211\u4eec\u6682\u65f6\u4e0d\u53bb\u5173\u5fc3 Weex \u7684\u6280\u672f\u7ec6\u8282\uff0c\u4ec5\u770b\u5927\u81f4\u7684\u4ee3\u7801\u7ed3\u6784\uff0c\u6211\u4eec\u53ef\u4ee5\u770b\u5230\u8bed\u6cd5\u5c31\u662f\u6211\u4eec\u719f\u6089\u7684 Vue\u3002\u4f60\u53ef\u4ee5\u4fee\u6539\u8fd9\u4e2a\u4f8b\u5b50\uff0c\u518d\u6b21\u626b\u7801\u5c1d\u8bd5\u3002
-
-## \u642d\u5efa\u5f00\u53d1\u73af\u5883
-
-\u4f7f\u7528 dotWe \u5bf9 Weex \u5c1d\u9c9c\u662f\u4e00\u4e2a\u4e0d\u9519\u7684\u9009\u62e9\uff0c\u4f46\u5982\u679c\u4f60\u60f3\u66f4\u4e13\u4e1a\u7684\u5f00\u53d1 Weex\uff0c dotWe \u5c31\u4e0d\u600e\u4e48\u591f\u7528\u4e86\u3002\u672c\u8282\u4f1a\u6559\u4f60\u5982\u4f55\u642d\u5efa\u672c\u5730\u5f00\u53d1\u73af\u5883\u8fdb\u884c Weex \u5f00\u53d1\u3002
-
-### \u7b2c\u4e00\u6b65\uff1a\u5b89\u88c5\u4f9d\u8d56
-
-Weex \u5b98\u65b9\u63d0\u4f9b\u4e86 weex-toolkit \u7684\u811a\u624b\u67b6\u5de5\u5177\u6765\u8f85\u52a9\u5f00\u53d1\u548c\u8c03\u8bd5\u3002\u9996\u5148\uff0c\u4f60\u9700\u8981 Node.js \u548c weex-toolkit\u3002
-
-\u5b89\u88c5 Node.js \u65b9\u5f0f\u591a\u79cd\u591a\u6837\uff0c\u6700\u7b80\u5355\u7684\u65b9\u5f0f\u662f\u5728 [Node.js \u5b98\u7f51](https://nodejs.org/en/) \u4e0b\u8f7d\u53ef\u6267\u884c\u7a0b\u5e8f\u76f4\u63a5\u5b89\u88c5\u5373\u53ef\u3002
-
-\u5bf9\u4e8e Mac\uff0c\u53ef\u4ee5\u4f7f\u7528 [Homebrew](http://brew.sh/) \u8fdb\u884c\u5b89\u88c5\uff1a
-
-```bash
-brew install node
-```
-
-> \u66f4\u591a\u5b89\u88c5\u65b9\u5f0f\u53ef\u53c2\u8003 [Node.js \u5b98\u65b9\u4fe1\u606f](https://nodejs.org/en/download/)
-
-\u5b89\u88c5\u5b8c\u6210\u540e\uff0c\u53ef\u4ee5\u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4\u68c0\u6d4b\u662f\u5426\u5b89\u88c5\u6210\u529f\uff1a
-
-```bash
-$ node -v
-v6.3.1
-$ npm -v
-3.10.3
-```
-
-\u901a\u5e38\uff0c\u5b89\u88c5\u4e86 Node.js \u73af\u5883\uff0cnpm \u5305\u7ba1\u7406\u5de5\u5177\u4e5f\u968f\u4e4b\u5b89\u88c5\u4e86\u3002\u56e0\u6b64\uff0c\u76f4\u63a5\u4f7f\u7528 npm \u6765\u5b89\u88c5 weex-toolkit\u3002
-
-> npm \u662f\u4e00\u4e2a JavaScript \u5305\u7ba1\u7406\u5de5\u5177\uff0c\u5b83\u53ef\u4ee5\u8ba9\u5f00\u53d1\u8005\u8f7b\u677e\u5171\u4eab\u548c\u91cd\u7528\u4ee3\u7801\u3002Weex \u5f88\u591a\u4f9d\u8d56\u6765\u81ea\u793e\u533a\uff0c\u540c\u6837\uff0cWeex \u4e5f\u5c06\u5f88\u591a\u5de5\u5177\u53d1\u5e03\u5230\u793e\u533a\u65b9\u4fbf\u5f00\u53d1\u8005\u4f7f\u7528\u3002
-
-**\u6ce8\u610f: ** weex-toolkit \u76ee\u524d\u4ec5\u6709\u6700\u65b0\u7684 beta \u7248\u672c\u5f00\u59cb\u624d\u652f\u6301\u521d\u59cb\u5316 Vue \u9879\u76ee\uff0c\u4f7f\u7528\u524d\u8bf7\u786e\u8ba4\u7248\u672c\u662f\u5426\u6b63\u786e\u3002
-
-```bash
-$ npm install -g weex-toolkit@beta
-```
-
-\u56fd\u5185\u5f00\u53d1\u8005\u53ef\u4ee5\u8003\u8651\u4f7f\u7528\u6dd8\u5b9d\u7684 npm \u955c\u50cf \u2014\u2014 [cnpm](https://npm.taobao.org/) \u5b89\u88c5 weex-toolkit
-
-```bash
-$ npm install -g cnpm
-$ cnpm install -g weex-toolkit@beta
-```
-
-*\u63d0\u793a\uff1a*
-
-\u5982\u679c\u63d0\u793a\u6743\u9650\u9519\u8bef\uff08*permission error*\uff09\uff0c\u4f7f\u7528 `sudo` \u5173\u952e\u5b57\u8fdb\u884c\u5b89\u88c5
-
-```bash
-$ sudo cnpm install -g weex-toolkit@beta
-```
-
-\u5b89\u88c5\u7ed3\u675f\u540e\u4f60\u53ef\u4ee5\u76f4\u63a5\u4f7f\u7528 `weex` \u547d\u4ee4\u9a8c\u8bc1\u662f\u5426\u5b89\u88c5\u6210\u529f\uff0c\u5b83\u4f1a\u663e\u793a `weex` \u547d\u4ee4\u884c\u5de5\u5177\u5404\u53c2\u6570\uff1a
-
-
-
-### \u7b2c\u4e8c\u6b65\uff1a\u521d\u59cb\u5316
-
-\u7136\u540e\u521d\u59cb\u5316 Weex \u9879\u76ee\uff1a
-
-```bash
-$ weex init awesome-project
-```
-
-\u6267\u884c\u5b8c\u547d\u4ee4\u540e\uff0c\u5728 `awesome-project` \u76ee\u5f55\u4e2d\u5c31\u521b\u5efa\u4e86\u4e00\u4e2a\u4f7f\u7528 Weex \u548c Vue \u7684\u6a21\u677f\u9879\u76ee\u3002
-
-### \u7b2c\u4e09\u6b65\uff1a\u5f00\u53d1
-
-\u4e4b\u540e\u6211\u4eec\u8fdb\u5165\u9879\u76ee\u6240\u5728\u8def\u5f84\uff0cweex-toolkit \u5df2\u7ecf\u4e3a\u6211\u4eec\u751f\u6210\u4e86\u6807\u51c6\u9879\u76ee\u7ed3\u6784\u3002
-
-\u5728 `package.json` \u4e2d\uff0c\u5df2\u7ecf\u914d\u7f6e\u597d\u4e86\u51e0\u4e2a\u5e38\u7528\u7684 npm script\uff0c\u5206\u522b\u662f\uff1a
-
-- `build`: \u6e90\u7801\u6253\u5305\uff0c\u751f\u6210 JS Bundle
-- `dev`: webpack watch \u6a21\u5f0f\uff0c\u65b9\u4fbf\u5f00\u53d1
-- `serve`: \u5f00\u542f\u9759\u6001\u670d\u52a1\u5668
-- `debug`: \u8c03\u8bd5\u6a21\u5f0f
-
-\u6211\u4eec\u5148\u901a\u8fc7 `npm install` \u5b89\u88c5\u9879\u76ee\u4f9d\u8d56\u3002\u4e4b\u540e\u8fd0\u884c `npm run dev` \u548c `npm run serve` \u5f00\u542fwatch \u6a21\u5f0f\u548c\u9759\u6001\u670d\u52a1\u5668\u3002
-
-\u7136\u540e\u6211\u4eec\u6253\u5f00\u6d4f\u89c8\u5668\uff0c\u8fdb\u5165 `http://localhost:8080/index.html` \u5373\u53ef\u770b\u5230 weex h5 \u9875\u9762\u3002
-
-\u521d\u59cb\u5316\u65f6\u5df2\u7ecf\u4e3a\u6211\u4eec\u521b\u5efa\u4e86\u57fa\u672c\u7684\u793a\u4f8b\uff0c\u6211\u4eec\u53ef\u4ee5\u5728 `src/foo.vue` \u4e2d\u67e5\u770b\u3002
-
-\u4ee3\u7801\u5982\u4e0b\u6240\u793a\uff1a
-
-```html
-<template>
- <div class="wrapper">
- <text class="weex">Hello Weex !</text>
- <text class="vue">Hello Vue !</text>
- </div>
-</template>
-
-<style scoped>
- .wrapper {
- flex-direction: column;
- justify-content: center;
- }
- .weex {
- font-size: 60px;
- text-align: center;
- color: #1B90F7;
- }
- .vue {
- font-size: 60px;
- text-align: center;
- margin-top: 30px;
- color: #41B883;
- }
-</style>
-```
-
-\u5173\u4e8e Weex \u8bed\u6cd5\u90e8\u5206\uff0c\u4f60\u53ef\u4ee5\u76f4\u63a5\u53c2\u8003 [Vue Guide](https://vuejs.org/v2/guide/)\uff0c\u8fd9\u91cc\u4e0d\u518d\u91cd\u590d\u4ecb\u7ecd\u3002\u5982\u679c\u60a8\u60f3\u4e86\u89e3\u6709\u5173\u6280\u672f\u8be6\u60c5\u7684\u66f4\u591a\u4fe1\u606f\uff0c\u8bf7\u7ee7\u7eed\u9605\u8bfb\u4e0b\u4e00\u8282\u3002\u5e76\u4e14\u4e0d\u8981\u5fd8\u8bb0\u5728 dotWe \u5199\u4ee3\u7801\u5e76\u968f\u65f6\u9884\u89c8\u3002
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/9dd6bdd4/doc/source/cn/guide/intro/app-architecture.md
----------------------------------------------------------------------
diff --git a/doc/source/cn/guide/intro/app-architecture.md b/doc/source/cn/guide/intro/app-architecture.md
index a3f39ce..22fc35c 100644
--- a/doc/source/cn/guide/intro/app-architecture.md
+++ b/doc/source/cn/guide/intro/app-architecture.md
@@ -1,7 +1,7 @@
---
title: \u7528 Weex \u6784\u5efa\u79fb\u52a8\u5e94\u7528
type: guide
-order: 4.5
+order: 5.5
version: 2.1
---
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/9dd6bdd4/doc/source/cn/guide/intro/devtools.md
----------------------------------------------------------------------
diff --git a/doc/source/cn/guide/intro/devtools.md b/doc/source/cn/guide/intro/devtools.md
deleted file mode 100644
index 4935e13..0000000
--- a/doc/source/cn/guide/intro/devtools.md
+++ /dev/null
@@ -1,99 +0,0 @@
----
-title: \u4f7f\u7528 Devtools
-type: guide
-order: 4.7
-version: 2.1
----
-
-# Devtools
-
-**weex devtools**\u662f\u4e13\u95e8\u4e3aweex\u5b9a\u5236\u7684\u4e00\u6b3e\u5b9e\u73b0\u4e86[**Chrome Debugging Protocol**](https://developer.chrome.com/devtools/docs/debugger-protocol)\u7684inspect/debug\u5de5\u5177\uff0c\u80fd\u591f\u5e2e\u52a9\u4f60\u5feb\u901f\u67e5\u770bapp\u8fd0\u884c\u72b6\u6001\u548c\u8c03\u8bd5weex\u4e2d\u7684Javascript\u4ee3\u7801\uff0c\u5f53\u524d\u652f\u6301**IOS**\u548c**Android**\u4e24\u4e2a\u5e73\u53f0\u3002
-## \u5b89\u88c5
-
-```
-$ npm install -g weex-toolkit
-```
-
-## \u7528\u6cd5
-
- weex debug [options] [we_file|bundles_dir]
-
- \u9009\u9879:
-
-```
--h, --help \u663e\u793a\u5e2e\u52a9
--V, --verbose \u663e\u793adebug\u670d\u52a1\u5668\u8fd0\u884c\u65f6\u7684\u5404\u79cdlog
--v, --version \u663e\u793a\u7248\u672c
--p, --port [port] \u8bbe\u7f6edebug\u670d\u52a1\u5668\u7aef\u53e3\u53f7 \u9ed8\u8ba4\u4e3a8088
--e, --entry [entry] debug\u4e00\u4e2a\u76ee\u5f55\u65f6,\u8fd9\u4e2a\u53c2\u6570\u6307\u5b9a\u6574\u4e2a\u76ee\u5f55\u7684\u5165\u53e3bundle\u6587\u4ef6,\u8fd9\u4e2abundle\u6587\u4ef6\u7684\u5730\u5740\u4f1a\u663e\u793a\u5728debug\u4e3b\u9875\u4e0a(\u4f5c\u4e3a\u4e8c\u7ef4\u7801)
--m, --mode [mode] \u8bbe\u7f6e\u6784\u5efawe\u6587\u4ef6\u7684\u65b9\u5f0f,transformer \u6700\u57fa\u7840\u7684\u98ce\u683c\u9002\u5408\u5355\u6587\u4ef6,loader:wepack\u98ce\u683c \u9002\u5408\u6a21\u5757\u5316\u7684\u591a\u6587\u4ef6.\u9ed8\u8ba4\u4e3atransformer
-```
-#### \u5f00\u542f\u8c03\u8bd5
-
-```
-$weex debug
-```
-
-\u5355\u7eaf\u542f\u52a8\u4e00\u4e2a\u8c03\u8bd5\u670d\u52a1\u5668,\u5e76\u540c\u65f6\u5524\u8d77chrome\u6d4f\u89c8\u5668\u6253\u5f00`\u8c03\u8bd5\u4e3b\u9875`.
-\u8fd9\u4e2a`\u8c03\u8bd5\u4e3b\u9875`\u4e0a\u4f1a\u6709\u4e00\u4e2a\u4e8c\u7ef4\u7801,\u4f7f\u7528Playground App\u626b\u8fd9\u4e2a\u4e8c\u7ef4\u7801\u53ef\u4ee5\u5f00\u542fPlayground\u8c03\u8bd5.
-\u5f00\u542f\u8c03\u8bd5\u540e,\u8bbe\u5907\u5217\u8868\u4e2d\u4f1a\u51fa\u73b0\u60a8\u7684\u8bbe\u5907,\u6839\u636e\u63d0\u793a\u8fdb\u884c\u540e\u7eed\u7684\u8c03\u8bd5\u64cd\u4f5c
-#### \u8c03\u8bd5 we\u6587\u4ef6
-
-```
-$weex debug your_weex.we
-```
-
-\u8fd9\u4e2a\u547d\u4ee4\u4f1a\u5c06your_weex.we\u7f16\u8bd1\u6210bundlejs\u6587\u4ef6 \u90e8\u7f72\u5230debug\u670d\u52a1\u5668
-\u5e76\u542f\u52a8debug\u670d\u52a1\u5668\u5982\u4e0a\u8ff0\u547d\u4ee4\u90a3\u6837.\u6253\u5f00\u7684`\u8c03\u8bd5\u4e3b\u9875`\u4f1a\u591a\u663e\u793a\u4e00\u4e2a\u4e8c\u7ef4\u7801,\u4f7f\u7528playground app
-\u626b\u8fd9\u4e2a\u7801\u53ef\u4ee5\u52a0\u8f7dyour_weex.we.(\u6ce8\u610f\u8981\u5148\u626b\u63cf\u5f00\u542f\u8c03\u8bd5\u7684\u90a3\u4e2a\u7801)
-\u8fd9\u4e2a\u547d\u4ee4\u4f1a\u81ea\u52a8\u68c0\u6d4byour_weex.we\u6587\u4ef6\u53d8\u52a8,\u5982\u679c\u53d1\u73b0\u5185\u5bb9\u88ab\u4fee\u6539\u5219\u7acb\u5373\u91cd\u65b0\u7f16\u8bd1\u90e8\u7f72,\u5e76\u5237\u65b0debugger\u9875\u9762
-.
-#### \u8c03\u8bd5\u6574\u4e2abundle/we\u6587\u4ef6\u5939
-
-```
-$weex debug your/we/path -e index.we
-```
-
-\u8fd9\u4e2a\u547d\u4ee4\u4f1a\u7f16\u8bd1\u4f60\u6307\u5b9a\u76ee\u5f55\u4e0b\u7684\u6240\u6709\u7684we\u6587\u4ef6,\u5e76\u628a\u7f16\u8bd1\u597d\u7684bundlejs\u90e8\u7f72\u5230debug\u670d\u52a1\u5668,\u4ed6\u4eec\u7684\u5730\u5740\u4f1a\u6620\u5c04\u5230 http://lcoalhost:8088/weex/ \u4e0b
-\u6bd4\u5982 your/we/path/`index.we` \u53ef\u4ee5\u901a\u8fc7http://lcoalhost:8088/weex/index.js\u8bbf\u95ee
-your/we/path/`demo/test.we` \u53ef\u4ee5\u901a\u8fc7http://lcoalhost:8088/weex/demo/index.js
-
--e\u53c2\u6570\u53ef\u4ee5\u6307\u5b9a\u4e00\u4e2a\u5165\u53e3\u7684we\u6587\u4ef6,\u8fd9\u4e2a\u6587\u4ef6\u7684\u5730\u5740\u4f1a\u663e\u793a\u5728`\u8c03\u8bd5\u4e3b\u9875`\u4e0a(\u4f5c\u4e3a\u4e8c\u7ef4\u7801)
-## \u7279\u6027
-### \u8fde\u63a5\u8bbe\u5907
-
-
-### Inspector
-
- Inspector \u80fd\u591f\u7528\u6765\u67e5\u770b `Element` \ `NetWork` \ `Console log` \ `ScreenCast` \ `BoxModel` \ `Native View` \u7b49\u3002
-
-
-#### Element
-
-
-#### NetWork
-##### \u67e5\u770b\u7f51\u7edc\u8bf7\u6c42\u7684\u603b\u8017\u65f6\u548c\u5ef6\u65f6
-
-
-##### \u67e5\u770b\u7f51\u7edc\u8bf7\u6c42\u7684header\u548cresponse
-
-
-#### \u63a7\u5236\u53f0
-
-
-#### \u8d44\u6e90
-
-
-### Debugger
-
- \u8c03\u8bd5\u5668\u7528\u6765\u8c03\u8bd5weex\u4e2d\u7684js\u4ee3\u7801\uff0c\u80fd\u591f\u8bbe\u7f6e\u65ad\u70b9\u3001\u67e5\u770b\u8c03\u7528\u6808\u3002
-
-
-##### Breakpoint and CallStack
-
-
-#### \u96c6\u6210devtools
-- Android
- - \u8bf7\u53c2\u8003\u6587\u6863 [Weex devtools (Android)](../../references/advanced/integrate-devtool-to-android.html), \u5176\u4e2d\u6709\u8be6\u7ec6\u8bf4\u660e\u3002
-- IOS
- - \u8bf7\u53c2\u8003\u6587\u6863 [Weex devtools (iOS)](../../references/advanced/integrate-devtool-to-ios.html), \u5176\u4e2d\u6709\u8be6\u7ec6\u8bf4\u660e\u3002
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/9dd6bdd4/doc/source/cn/guide/intro/how-it-works.md
----------------------------------------------------------------------
diff --git a/doc/source/cn/guide/intro/how-it-works.md b/doc/source/cn/guide/intro/how-it-works.md
index 4480005..51319e1 100644
--- a/doc/source/cn/guide/intro/how-it-works.md
+++ b/doc/source/cn/guide/intro/how-it-works.md
@@ -1,7 +1,7 @@
---
title: \u5de5\u4f5c\u539f\u7406
type: guide
-order: 4.1
+order: 5.1
has_chapter_content: false
chapter_title: \u4f18\u52bf\u4ecb\u7ecd
version: 2.1
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/9dd6bdd4/doc/source/cn/guide/intro/index.md
----------------------------------------------------------------------
diff --git a/doc/source/cn/guide/intro/index.md b/doc/source/cn/guide/intro/index.md
index 1ebcb4b..90e01a4 100644
--- a/doc/source/cn/guide/intro/index.md
+++ b/doc/source/cn/guide/intro/index.md
@@ -1,7 +1,7 @@
---
title: \u4ecb\u7ecd
type: guide
-order: 4
+order: 5
version: 2.1
---
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/9dd6bdd4/doc/source/cn/guide/intro/page-architecture.md
----------------------------------------------------------------------
diff --git a/doc/source/cn/guide/intro/page-architecture.md b/doc/source/cn/guide/intro/page-architecture.md
index 296ee98..17b7d16 100644
--- a/doc/source/cn/guide/intro/page-architecture.md
+++ b/doc/source/cn/guide/intro/page-architecture.md
@@ -1,7 +1,7 @@
---
title: Weex \u9875\u9762\u7ed3\u6784
type: guide
-order: 4.6
+order: 5.6
version: 2.1
---
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/9dd6bdd4/doc/source/cn/guide/intro/using-vue.md
----------------------------------------------------------------------
diff --git a/doc/source/cn/guide/intro/using-vue.md b/doc/source/cn/guide/intro/using-vue.md
index 3083340..42ad984 100644
--- a/doc/source/cn/guide/intro/using-vue.md
+++ b/doc/source/cn/guide/intro/using-vue.md
@@ -1,7 +1,7 @@
---
title: \u4f7f\u7528 Vue \u5f00\u53d1 Weex \u9875\u9762
type: guide
-order: 4.3
+order: 5.3
version: 2.1
---
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/9dd6bdd4/doc/source/cn/guide/intro/web-dev-experience.md
----------------------------------------------------------------------
diff --git a/doc/source/cn/guide/intro/web-dev-experience.md b/doc/source/cn/guide/intro/web-dev-experience.md
index 03d33e4..d7f6163 100644
--- a/doc/source/cn/guide/intro/web-dev-experience.md
+++ b/doc/source/cn/guide/intro/web-dev-experience.md
@@ -1,7 +1,7 @@
---
title: Web \u5f00\u53d1\u4f53\u9a8c
type: guide
-order: 4.2
+order: 5.2
version: 2.1
---
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/9dd6bdd4/doc/source/cn/guide/intro/write-once.md
----------------------------------------------------------------------
diff --git a/doc/source/cn/guide/intro/write-once.md b/doc/source/cn/guide/intro/write-once.md
index b5ecf07..e880f48 100644
--- a/doc/source/cn/guide/intro/write-once.md
+++ b/doc/source/cn/guide/intro/write-once.md
@@ -1,7 +1,7 @@
---
title: \u4e00\u6b21\u64b0\u5199\uff0c\u591a\u7aef\u8fd0\u884c
type: guide
-order: 4.4
+order: 5.4
version: 2.1
---
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/9dd6bdd4/doc/source/cn/guide/set-up-env.md
----------------------------------------------------------------------
diff --git a/doc/source/cn/guide/set-up-env.md b/doc/source/cn/guide/set-up-env.md
new file mode 100644
index 0000000..79ff249
--- /dev/null
+++ b/doc/source/cn/guide/set-up-env.md
@@ -0,0 +1,126 @@
+---
+title: \u642d\u5efa\u5f00\u53d1\u73af\u5883
+type: guide
+order: 2
+version: 2.1
+has_chapter_content: true
+---
+
+# \u642d\u5efa\u5f00\u53d1\u73af\u5883
+
+\u4f7f\u7528 dotWe \u5bf9 Weex \u5c1d\u9c9c\u662f\u4e00\u4e2a\u4e0d\u9519\u7684\u9009\u62e9\uff0c\u4f46\u5982\u679c\u4f60\u60f3\u66f4\u4e13\u4e1a\u7684\u5f00\u53d1 Weex\uff0c dotWe \u5c31\u4e0d\u600e\u4e48\u591f\u7528\u4e86\u3002\u672c\u8282\u4f1a\u6559\u4f60\u5982\u4f55\u642d\u5efa\u672c\u5730\u5f00\u53d1\u73af\u5883\u8fdb\u884c Weex \u5f00\u53d1\u3002
+
+## \u7b2c\u4e00\u6b65\uff1a\u5b89\u88c5\u4f9d\u8d56
+
+Weex \u5b98\u65b9\u63d0\u4f9b\u4e86 weex-toolkit \u7684\u811a\u624b\u67b6\u5de5\u5177\u6765\u8f85\u52a9\u5f00\u53d1\u548c\u8c03\u8bd5\u3002\u9996\u5148\uff0c\u4f60\u9700\u8981 Node.js \u548c weex-toolkit\u3002
+
+\u5b89\u88c5 Node.js \u65b9\u5f0f\u591a\u79cd\u591a\u6837\uff0c\u6700\u7b80\u5355\u7684\u65b9\u5f0f\u662f\u5728 [Node.js \u5b98\u7f51](https://nodejs.org/en/) \u4e0b\u8f7d\u53ef\u6267\u884c\u7a0b\u5e8f\u76f4\u63a5\u5b89\u88c5\u5373\u53ef\u3002
+
+\u5bf9\u4e8e Mac\uff0c\u53ef\u4ee5\u4f7f\u7528 [Homebrew](http://brew.sh/) \u8fdb\u884c\u5b89\u88c5\uff1a
+
+```bash
+brew install node
+```
+
+> \u66f4\u591a\u5b89\u88c5\u65b9\u5f0f\u53ef\u53c2\u8003 [Node.js \u5b98\u65b9\u4fe1\u606f](https://nodejs.org/en/download/)
+
+\u5b89\u88c5\u5b8c\u6210\u540e\uff0c\u53ef\u4ee5\u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4\u68c0\u6d4b\u662f\u5426\u5b89\u88c5\u6210\u529f\uff1a
+
+```bash
+$ node -v
+v6.3.1
+$ npm -v
+3.10.3
+```
+
+\u901a\u5e38\uff0c\u5b89\u88c5\u4e86 Node.js \u73af\u5883\uff0cnpm \u5305\u7ba1\u7406\u5de5\u5177\u4e5f\u968f\u4e4b\u5b89\u88c5\u4e86\u3002\u56e0\u6b64\uff0c\u76f4\u63a5\u4f7f\u7528 npm \u6765\u5b89\u88c5 weex-toolkit\u3002
+
+> npm \u662f\u4e00\u4e2a JavaScript \u5305\u7ba1\u7406\u5de5\u5177\uff0c\u5b83\u53ef\u4ee5\u8ba9\u5f00\u53d1\u8005\u8f7b\u677e\u5171\u4eab\u548c\u91cd\u7528\u4ee3\u7801\u3002Weex \u5f88\u591a\u4f9d\u8d56\u6765\u81ea\u793e\u533a\uff0c\u540c\u6837\uff0cWeex \u4e5f\u5c06\u5f88\u591a\u5de5\u5177\u53d1\u5e03\u5230\u793e\u533a\u65b9\u4fbf\u5f00\u53d1\u8005\u4f7f\u7528\u3002
+
+**\u6ce8\u610f: ** weex-toolkit \u5728 1.0.1 \u4e4b\u540e\u624d\u652f\u6301\u521d\u59cb\u5316 Vue \u9879\u76ee\uff0c\u4f7f\u7528\u524d\u8bf7\u786e\u8ba4\u7248\u672c\u662f\u5426\u6b63\u786e\u3002
+
+```bash
+$ npm install -g weex-toolkit
+$ weex -v
+
+v1.0.3
+weex-builder : v0.2.4
+weex-previewer : v1.3.4
+```
+
+\u56fd\u5185\u5f00\u53d1\u8005\u53ef\u4ee5\u8003\u8651\u4f7f\u7528\u6dd8\u5b9d\u7684 npm \u955c\u50cf \u2014\u2014 [cnpm](https://npm.taobao.org/) \u5b89\u88c5 weex-toolkit
+
+```bash
+$ npm install -g cnpm
+$ cnpm install -g weex-toolkit
+```
+
+*\u63d0\u793a\uff1a*
+
+\u5982\u679c\u63d0\u793a\u6743\u9650\u9519\u8bef\uff08*permission error*\uff09\uff0c\u4f7f\u7528 `sudo` \u5173\u952e\u5b57\u8fdb\u884c\u5b89\u88c5
+
+```bash
+$ sudo cnpm install -g weex-toolkit
+```
+
+\u5b89\u88c5\u7ed3\u675f\u540e\u4f60\u53ef\u4ee5\u76f4\u63a5\u4f7f\u7528 `weex` \u547d\u4ee4\u9a8c\u8bc1\u662f\u5426\u5b89\u88c5\u6210\u529f\uff0c\u5b83\u4f1a\u663e\u793a `weex` \u547d\u4ee4\u884c\u5de5\u5177\u5404\u53c2\u6570\uff1a
+
+
+
+## \u7b2c\u4e8c\u6b65\uff1a\u521d\u59cb\u5316
+
+\u7136\u540e\u521d\u59cb\u5316 Weex \u9879\u76ee\uff1a
+
+```bash
+$ weex init awesome-project
+```
+
+\u6267\u884c\u5b8c\u547d\u4ee4\u540e\uff0c\u5728 `awesome-project` \u76ee\u5f55\u4e2d\u5c31\u521b\u5efa\u4e86\u4e00\u4e2a\u4f7f\u7528 Weex \u548c Vue \u7684\u6a21\u677f\u9879\u76ee\u3002
+
+## \u7b2c\u4e09\u6b65\uff1a\u5f00\u53d1
+
+\u4e4b\u540e\u6211\u4eec\u8fdb\u5165\u9879\u76ee\u6240\u5728\u8def\u5f84\uff0cweex-toolkit \u5df2\u7ecf\u4e3a\u6211\u4eec\u751f\u6210\u4e86\u6807\u51c6\u9879\u76ee\u7ed3\u6784\u3002
+
+\u5728 `package.json` \u4e2d\uff0c\u5df2\u7ecf\u914d\u7f6e\u597d\u4e86\u51e0\u4e2a\u5e38\u7528\u7684 npm script\uff0c\u5206\u522b\u662f\uff1a
+
+- `build`: \u6e90\u7801\u6253\u5305\uff0c\u751f\u6210 JS Bundle
+- `dev`: webpack watch \u6a21\u5f0f\uff0c\u65b9\u4fbf\u5f00\u53d1
+- `serve`: \u5f00\u542f\u9759\u6001\u670d\u52a1\u5668
+- `debug`: \u8c03\u8bd5\u6a21\u5f0f
+
+\u6211\u4eec\u5148\u901a\u8fc7 `npm install` \u5b89\u88c5\u9879\u76ee\u4f9d\u8d56\u3002\u4e4b\u540e\u8fd0\u884c `npm run dev` \u548c `npm run serve` \u5f00\u542fwatch \u6a21\u5f0f\u548c\u9759\u6001\u670d\u52a1\u5668\u3002
+
+\u7136\u540e\u6211\u4eec\u6253\u5f00\u6d4f\u89c8\u5668\uff0c\u8fdb\u5165 `http://localhost:8080/index.html` \u5373\u53ef\u770b\u5230 weex h5 \u9875\u9762\u3002
+
+\u521d\u59cb\u5316\u65f6\u5df2\u7ecf\u4e3a\u6211\u4eec\u521b\u5efa\u4e86\u57fa\u672c\u7684\u793a\u4f8b\uff0c\u6211\u4eec\u53ef\u4ee5\u5728 `src/foo.vue` \u4e2d\u67e5\u770b\u3002
+
+\u4ee3\u7801\u5982\u4e0b\u6240\u793a\uff1a
+
+```html
+<template>
+ <div class="wrapper">
+ <text class="weex">Hello Weex !</text>
+ <text class="vue">Hello Vue !</text>
+ </div>
+</template>
+
+<style scoped>
+ .wrapper {
+ flex-direction: column;
+ justify-content: center;
+ }
+ .weex {
+ font-size: 60px;
+ text-align: center;
+ color: #1B90F7;
+ }
+ .vue {
+ font-size: 60px;
+ text-align: center;
+ margin-top: 30px;
+ color: #41B883;
+ }
+</style>
+```
+
+\u5173\u4e8e Weex \u8bed\u6cd5\u90e8\u5206\uff0c\u4f60\u53ef\u4ee5\u76f4\u63a5\u53c2\u8003 [Vue Guide](https://vuejs.org/v2/guide/)\uff0c\u8fd9\u91cc\u4e0d\u518d\u91cd\u590d\u4ecb\u7ecd\u3002\u5982\u679c\u60a8\u60f3\u4e86\u89e3\u6709\u5173\u6280\u672f\u8be6\u60c5\u7684\u66f4\u591a\u4fe1\u606f\uff0c\u8bf7\u7ee7\u7eed\u9605\u8bfb\u4e0b\u4e00\u8282\u3002\u5e76\u4e14\u4e0d\u8981\u5fd8\u8bb0\u5728 dotWe \u5199\u4ee3\u7801\u5e76\u968f\u65f6\u9884\u89c8\u3002
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/9dd6bdd4/doc/source/cn/guide/tools/devtools.md
----------------------------------------------------------------------
diff --git a/doc/source/cn/guide/tools/devtools.md b/doc/source/cn/guide/tools/devtools.md
new file mode 100644
index 0000000..f1c4dbc
--- /dev/null
+++ b/doc/source/cn/guide/tools/devtools.md
@@ -0,0 +1,111 @@
+---
+title: \u4f7f\u7528 Devtools
+type: guide
+order: 4.1
+version: 2.1
+has_chapter_content: true
+---
+
+# Devtools
+
+**weex devtools** \u662f\u4e13\u95e8\u4e3a Weex \u5b9a\u5236\u7684\u4e00\u6b3e\u5b9e\u73b0\u4e86 [**Chrome Debugging Protocol**](https://developer.chrome.com/devtools/docs/debugger-protocol) \u7684 inspect/debug \u5de5\u5177\uff0c\u80fd\u591f\u5e2e\u52a9\u4f60\u5feb\u901f\u67e5\u770b app \u8fd0\u884c\u72b6\u6001\u548c\u8c03\u8bd5 weex \u4e2d\u7684 Javascript \u4ee3\u7801\uff0c\u5f53\u524d\u652f\u6301 **iOS** \u548c **Android** \u4e24\u4e2a\u5e73\u53f0\u3002
+
+1. \u652f\u6301 Android \u548c iOS \u8c03\u8bd5
+2. \u652f\u6301\u771f\u673a\u548c\u6a21\u62df\u5668
+3. \u53ef\u4ee5\u68c0\u67e5 native Elements, vdom, network, Console, Resource
+4. \u53ef\u4ee5\u8c03\u8bd5 js/wx/Rx \u7b49\u524d\u7aef\u6e90\u7801\u6587\u4ef6
+5. \u652f\u6301\u540c\u65f6\u5728\u524d\u7aef\u6587\u4ef6\u548c native (Android\uff0fiOS) \u6587\u4ef6\u4e0a\u65ad\u70b9\u8c03\u8bd5
+6. \u652f\u6301\u8fdc\u7a0b\u8c03\u8bd5\uff0c\u4e0d\u9700\u8981\u771f\u673a USB \u8fde\u63a5\u7535\u8111
+7. \u652f\u6301 screencast \u548c select element \u529f\u80fd
+8. \u652f\u6301\u540c\u65f6\u8c03\u8bd5\u591a\u4e2a\u5e94\u7528\u548c\u5ba2\u6237\u7aef
+
+## \u5b89\u88c5
+
+```
+$ npm install -g weex-toolkit
+```
+
+## \u7528\u6cd5
+
+ weex debug [options] [we_file|bundles_dir]
+
+ \u9009\u9879:
+
+```
+-h, --help \u663e\u793a\u5e2e\u52a9
+-V, --verbose \u663e\u793a debug \u670d\u52a1\u5668\u8fd0\u884c\u65f6\u7684\u5404\u79cd log
+-v, --version \u663e\u793a\u7248\u672c
+-p, --port [port] \u8bbe\u7f6e debug \u670d\u52a1\u5668\u7aef\u53e3\u53f7 \u9ed8\u8ba4\u4e3a 8088
+-e, --entry [entry] debug \u4e00\u4e2a\u76ee\u5f55\u65f6,\u8fd9\u4e2a\u53c2\u6570\u6307\u5b9a\u6574\u4e2a\u76ee\u5f55\u7684\u5165\u53e3 bundle \u6587\u4ef6,\u8fd9\u4e2a bundle \u6587\u4ef6\u7684\u5730\u5740\u4f1a\u663e\u793a\u5728debug\u4e3b\u9875\u4e0a(\u4f5c\u4e3a\u4e8c\u7ef4\u7801)
+-m, --mode [mode] \u8bbe\u7f6e\u6784\u5efawe\u6587\u4ef6\u7684\u65b9\u5f0f, transformer \u6700\u57fa\u7840\u7684\u98ce\u683c\u9002\u5408\u5355\u6587\u4ef6, loader:wepack \u98ce\u683c \u9002\u5408\u6a21\u5757\u5316\u7684\u591a\u6587\u4ef6\u3002\u9ed8\u8ba4\u4e3a transformer
+```
+
+#### \u5f00\u542f\u8c03\u8bd5
+
+```
+$ weex debug
+```
+
+\u5355\u7eaf\u542f\u52a8\u4e00\u4e2a\u8c03\u8bd5\u670d\u52a1\u5668,\u5e76\u540c\u65f6\u5524\u8d77chrome\u6d4f\u89c8\u5668\u6253\u5f00`\u8c03\u8bd5\u4e3b\u9875`.
+\u8fd9\u4e2a`\u8c03\u8bd5\u4e3b\u9875`\u4e0a\u4f1a\u6709\u4e00\u4e2a\u4e8c\u7ef4\u7801,\u4f7f\u7528Playground App\u626b\u8fd9\u4e2a\u4e8c\u7ef4\u7801\u53ef\u4ee5\u5f00\u542fPlayground\u8c03\u8bd5.
+\u5f00\u542f\u8c03\u8bd5\u540e,\u8bbe\u5907\u5217\u8868\u4e2d\u4f1a\u51fa\u73b0\u60a8\u7684\u8bbe\u5907,\u6839\u636e\u63d0\u793a\u8fdb\u884c\u540e\u7eed\u7684\u8c03\u8bd5\u64cd\u4f5c
+#### \u8c03\u8bd5 we\u6587\u4ef6
+
+```
+$weex debug your_weex.we
+```
+
+\u8fd9\u4e2a\u547d\u4ee4\u4f1a\u5c06your_weex.we\u7f16\u8bd1\u6210bundlejs\u6587\u4ef6 \u90e8\u7f72\u5230debug\u670d\u52a1\u5668
+\u5e76\u542f\u52a8debug\u670d\u52a1\u5668\u5982\u4e0a\u8ff0\u547d\u4ee4\u90a3\u6837.\u6253\u5f00\u7684`\u8c03\u8bd5\u4e3b\u9875`\u4f1a\u591a\u663e\u793a\u4e00\u4e2a\u4e8c\u7ef4\u7801,\u4f7f\u7528playground app
+\u626b\u8fd9\u4e2a\u7801\u53ef\u4ee5\u52a0\u8f7dyour_weex.we.(\u6ce8\u610f\u8981\u5148\u626b\u63cf\u5f00\u542f\u8c03\u8bd5\u7684\u90a3\u4e2a\u7801)
+\u8fd9\u4e2a\u547d\u4ee4\u4f1a\u81ea\u52a8\u68c0\u6d4byour_weex.we\u6587\u4ef6\u53d8\u52a8,\u5982\u679c\u53d1\u73b0\u5185\u5bb9\u88ab\u4fee\u6539\u5219\u7acb\u5373\u91cd\u65b0\u7f16\u8bd1\u90e8\u7f72,\u5e76\u5237\u65b0debugger\u9875\u9762
+.
+#### \u8c03\u8bd5\u6574\u4e2abundle/we\u6587\u4ef6\u5939
+
+```
+$weex debug your/we/path -e index.we
+```
+
+\u8fd9\u4e2a\u547d\u4ee4\u4f1a\u7f16\u8bd1\u4f60\u6307\u5b9a\u76ee\u5f55\u4e0b\u7684\u6240\u6709\u7684we\u6587\u4ef6,\u5e76\u628a\u7f16\u8bd1\u597d\u7684bundlejs\u90e8\u7f72\u5230debug\u670d\u52a1\u5668,\u4ed6\u4eec\u7684\u5730\u5740\u4f1a\u6620\u5c04\u5230 http://lcoalhost:8088/weex/ \u4e0b
+\u6bd4\u5982 your/we/path/`index.we` \u53ef\u4ee5\u901a\u8fc7http://lcoalhost:8088/weex/index.js\u8bbf\u95ee
+your/we/path/`demo/test.we` \u53ef\u4ee5\u901a\u8fc7http://lcoalhost:8088/weex/demo/index.js
+
+-e\u53c2\u6570\u53ef\u4ee5\u6307\u5b9a\u4e00\u4e2a\u5165\u53e3\u7684we\u6587\u4ef6,\u8fd9\u4e2a\u6587\u4ef6\u7684\u5730\u5740\u4f1a\u663e\u793a\u5728`\u8c03\u8bd5\u4e3b\u9875`\u4e0a(\u4f5c\u4e3a\u4e8c\u7ef4\u7801)
+## \u7279\u6027
+### \u8fde\u63a5\u8bbe\u5907
+
+
+### Inspector
+
+ Inspector \u80fd\u591f\u7528\u6765\u67e5\u770b `Element` \ `NetWork` \ `Console log` \ `ScreenCast` \ `BoxModel` \ `Native View` \u7b49\u3002
+
+
+#### Element
+
+
+#### NetWork
+##### \u67e5\u770b\u7f51\u7edc\u8bf7\u6c42\u7684\u603b\u8017\u65f6\u548c\u5ef6\u65f6
+
+
+##### \u67e5\u770b\u7f51\u7edc\u8bf7\u6c42\u7684header\u548cresponse
+
+
+#### \u63a7\u5236\u53f0
+
+
+#### \u8d44\u6e90
+
+
+### Debugger
+
+ \u8c03\u8bd5\u5668\u7528\u6765\u8c03\u8bd5weex\u4e2d\u7684js\u4ee3\u7801\uff0c\u80fd\u591f\u8bbe\u7f6e\u65ad\u70b9\u3001\u67e5\u770b\u8c03\u7528\u6808\u3002
+
+
+##### Breakpoint and CallStack
+
+
+#### \u96c6\u6210devtools
+- Android
+ - \u8bf7\u53c2\u8003\u6587\u6863 [Weex devtools (Android)](../../references/advanced/integrate-devtool-to-android.html), \u5176\u4e2d\u6709\u8be6\u7ec6\u8bf4\u660e\u3002
+- IOS
+ - \u8bf7\u53c2\u8003\u6587\u6863 [Weex devtools (iOS)](../../references/advanced/integrate-devtool-to-ios.html), \u5176\u4e2d\u6709\u8be6\u7ec6\u8bf4\u660e\u3002
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/9dd6bdd4/doc/source/cn/guide/tools/index.md
----------------------------------------------------------------------
diff --git a/doc/source/cn/guide/tools/index.md b/doc/source/cn/guide/tools/index.md
new file mode 100644
index 0000000..a9c5a26
--- /dev/null
+++ b/doc/source/cn/guide/tools/index.md
@@ -0,0 +1,11 @@
+---
+title: \u5468\u8fb9\u5de5\u5177
+type: guide
+order: 4
+version: 2.1
+---
+
+# \u5468\u8fb9\u5de5\u5177
+
+- [Devtools](./devtools.html)
+- [Weexpack](./weexpack.html)
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/9dd6bdd4/doc/source/cn/guide/tools/weexpack.md
----------------------------------------------------------------------
diff --git a/doc/source/cn/guide/tools/weexpack.md b/doc/source/cn/guide/tools/weexpack.md
new file mode 100644
index 0000000..ac64dd7
--- /dev/null
+++ b/doc/source/cn/guide/tools/weexpack.md
@@ -0,0 +1,388 @@
+---
+title: \u4f7f\u7528 Weexpack
+type: guide
+order: 4.2
+version: 2.1
+---
+
+# \u4f7f\u7528 Weexpack
+
+## weexpack \u4ecb\u7ecd
+
+weexpack \u662f weex \u65b0\u4e00\u4ee3\u7684\u5de5\u7a0b\u5f00\u53d1\u5957\u4ef6\uff0c\u662f\u57fa\u4e8e weex \u5feb\u901f\u642d\u5efa\u5e94\u7528\u539f\u578b\u7684\u5229\u5668\u3002\u5b83\u80fd\u591f\u5e2e\u52a9\u5f00\u53d1\u8005\u901a\u8fc7\u547d\u4ee4\u884c\u521b\u5efa Weex \u5de5\u7a0b\uff0c\u6dfb\u52a0\u76f8\u5e94\u5e73\u53f0\u7684 Weex app \u6a21\u7248\uff0c\u5e76\u57fa\u4e8e\u6a21\u7248\u4ece\u672c\u5730\u3001GitHub \u6216\u8005 Weex \u5e94\u7528\u5e02\u573a\u5b89\u88c5\u63d2\u4ef6\uff0c\u5feb\u901f\u6253\u5305 Weex \u5e94\u7528\u5e76\u5b89\u88c5\u5230\u624b\u673a\u8fd0\u884c\uff0c\u5bf9\u4e8e\u5177\u6709\u5206\u4eab\u7cbe\u795e\u7684\u5f00\u53d1\u8005\u800c\u8a00\u8fd8\u80fd\u591f\u521b\u5efa Weex \u63d2\u4ef6\u6a21\u7248\u5e76\u53d1\u5e03\u63d2\u4ef6\u5230 Weex \u5e94\u7528\u5e02\u573a\u3002
+
+**\u6ce8\u610f\uff1a** weexpack \u76ee\u524d\u6682\u4e0d\u652f\u6301\u642d\u5efa Vue 2.0 \u7248\u672c\u7684 Weex\u3002
+
+weexpack \u6240\u63d0\u4f9b\u7684\u547d\u4ee4\u5927\u81f4\u53ef\u5206\u4e3a\u4e09\u7ec4\uff0c\u5206\u522b\u662f\uff1a
+
+* \u6253\u5305\u547d\u4ee4
+ * **weexpack create** \u2014 \u521b\u5efa Weex \u5de5\u7a0b\u9879\u76ee\u3002
+ * **weexpack platform add/remove** \u2014 \u5b89\u88c5\uff0f\u79fb\u9664 Weex \u5e94\u7528\u6a21\u7248\uff0c\u9ed8\u8ba4\u6a21\u7248\u652f\u6301 Weex bundle \u8c03\u8bd5\u548c\u63d2\u4ef6\u673a\u5236\u3002
+ * **weexpack platform list** \u2014 \u67e5\u770b\u5df2\u5b89\u88c5\u7684\u5e73\u53f0\u6a21\u7248\u53ca\u7248\u672c\u3002
+ * **weexpack platform run** - \u6253\u5305\u5e94\u7528\u5e76\u5b89\u88c5\u5230\u8bbe\u5907\u8fd0\u884c\u3002
+
+
+* \u63d2\u4ef6\u4f7f\u7528\u8005\u547d\u4ee4
+ * **weexpack plugin add/remove** \u2014 \u5b89\u88c5\uff0f\u79fb\u9664 Weex \u63d2\u4ef6\uff0c\u652f\u6301\u4ece\u672c\u5730\u3001GitHub \u6216\u8005 Weex \u5e94\u7528\u5e02\u573a\u5b89\u88c5\u63d2\u4ef6\u3002
+
+ * **weexpack plugin list** \u2014 \u67e5\u770b\u5df2\u5b89\u88c5\u7684\u63d2\u4ef6\u53ca\u7248\u672c\u3002
+
+
+* \u63d2\u4ef6\u5f00\u53d1\u8005\u547d\u4ee4
+
+ * **weexpack plugin create** - \u751f\u6210 Weex \u63d2\u4ef6\u6a21\u7248\uff0c\u4e3b\u8981\u662f\u914d\u7f6e\u6587\u4ef6\u548c\u5fc5\u9700\u7684\u76ee\u5f55\u3002
+ * **weexpack plugin publish** - \u53d1\u5e03\u63d2\u4ef6\u5230 Weex \u63d2\u4ef6\u5e02\u573a\u3002
+
+
+## \u5b89\u88c5
+
+### \u73af\u5883\u8981\u6c42
+
+ - \u76ee\u524d\u652f\u6301 Mac\u3001windows\u3001linux \u5e73\u53f0 ( windows \u4e0b\u4ec5\u80fd\u6253\u5305 android )\u3002
+ - \u914d\u7f6e [Node.js][1] \u73af\u5883\uff0c\u5e76\u4e14\u5b89\u88c5 [npm][2] \u5305\u7ba1\u7406\u5668 (`\u9700\u8981 node6.0+`)\u3002
+ - \u5982\u679c\u8981\u652f\u6301 iOS \u5e73\u53f0\u5219\u9700\u8981\u914d\u7f6e iOS \u5f00\u53d1\u73af\u5883\uff1a
+ - \u5b89\u88c5 [Xcode IDE][3] \uff0c\u542f\u52a8\u4e00\u6b21 Xcode \uff0c\u4f7f Xcode \u81ea\u52a8\u5b89\u88c5\u5f00\u53d1\u8005\u5de5\u5177\u548c\u786e\u8ba4\u4f7f\u7528\u534f\u8bae\u3002
+ - \u5b89\u88c5 cocoaPods\u3002
+ - \u5982\u679c\u8981\u652f\u6301 Android \u5e73\u53f0\u5219\u9700\u8981\u914d\u7f6e Android \u5f00\u53d1\u73af\u5883\uff1a
+ - \u5b89\u88c5 [Android Studio][4]\uff08\u63a8\u8350\uff09\u6216\u8005 [Android SDK][7]\u3002\u6253\u5f00 [AVD Manager][5] \uff0c\u65b0\u5efa Android \u6a21\u62df\u5668\u5e76\u542f\u52a8\uff08\u5982\u679c\u6709\u5b89\u88c5 [Docker][6] \uff0c\u8bf7\u5173\u95ed Docker Server \uff09\u3002
+ - \u4fdd\u8bc1 Android build-tool \u7684\u7248\u672c\u4e3a 23.0.2\u3002
+
+#### \u5b89\u88c5\u547d\u4ee4
+
+\u9996\u5148\uff0c\u5168\u5c40\u5b89\u88c5 weex-pack \u547d\u4ee4\uff1a
+
+```bash
+$ npm install -g weexpack
+```
+
+\u6216\u8005 \u5728 clone \u7684 weexpack \u6839\u76ee\u5f55\u4e0b\u6267\u884c
+
+```bash
+$ npm install
+```
+
+## \u6253\u5305\u53ca\u63d2\u4ef6\u4f7f\u7528
+
+\u6253\u5305\u4e3b\u8981\u8fc7\u7a0b\u5982\u4e0b\u56fe\u6240\u793a\uff0c\u5176\u4e2d\u63d2\u4ef6\u64cd\u4f5c\u662f\u6253\u5305\u8fc7\u7a0b\u7684\u53ef\u9009\u9879\uff0c\u4e0d\u662f\u5fc5\u987b\u7684\u3002
+
+
+
+### \u8be6\u7ec6\u6b65\u9aa4
+
+#### 1. \u521b\u5efa weexpack \u5de5\u7a0b
+
+```bash
+$ weexpack create appName
+```
+
+\u751f\u6210\u5de5\u7a0b\u7684\u76ee\u5f55\u5982\u4e0b\uff1a
+
+```
+WeexProject
+\u251c\u2500\u2500 README.md
+\u251c\u2500\u2500 android.config.json
+\u251c\u2500\u2500 config.xml
+\u251c\u2500\u2500 hooks
+\u2502�� \u2514\u2500\u2500 README.md
+\u251c\u2500\u2500 ios.config.json
+\u251c\u2500\u2500 package.json
+\u251c\u2500\u2500 platforms // \u5e73\u53f0\u6a21\u7248\u76ee\u5f55
+\u251c\u2500\u2500 plugins // \u63d2\u4ef6\u4e0b\u8f7d\u76ee\u5f55
+\u2502�� \u2514\u2500\u2500 README.md
+\u251c\u2500\u2500 src // \u4e1a\u52a1\u4ee3\u7801\uff08we\u6587\u4ef6\uff09\u76ee\u5f55
+\u2502�� \u2514\u2500\u2500 index.we
+\u251c\u2500\u2500 start
+\u251c\u2500\u2500 start.bat
+\u251c\u2500\u2500 tools
+\u2502�� \u2514\u2500\u2500 webpack.config.plugin.js
+\u251c\u2500\u2500 web
+\u2502�� \u251c\u2500\u2500 index.html
+\u2502�� \u251c\u2500\u2500 index.js
+\u2502�� \u2514\u2500\u2500 js
+\u2502�� \u2514\u2500\u2500 init.js
+\u2514\u2500\u2500 webpack.config.js
+```
+
+\u901a\u8fc7 create \u547d\u4ee4\u521b\u5efa\u7684\u5de5\u7a0b\u9ed8\u8ba4\u4e0d\u5305\u542b iOS \u548c Android \u5de5\u7a0b\u6a21\u7248\uff0c\u521b\u5efa\u5b8c\u6210\u4e4b\u540e\u5c31\u53ef\u4ee5\u5207\u6362\u5230 appName \u76ee\u5f55\u4e0b\u5e76\u5b89\u88c5\u4f9d\u8d56\u3002
+
+```bash
+$ cd appName && npm install
+```
+
+#### 2. \u5b89\u88c5 Weex \u5e94\u7528\u6a21\u7248
+
+\u6dfb\u52a0\u5e94\u7528\u6a21\u7248\uff0c\u5b98\u65b9\u63d0\u4f9b\u7684\u6a21\u7248\u9ed8\u8ba4\u652f\u6301 Weex bundle \u8c03\u8bd5\u548c\u63d2\u4ef6\u673a\u5236\uff0c\u6ce8\u610f\u6a21\u7248\u540d\u79f0\u5747\u4e3a\u5c0f\u5199\uff0c\u6a21\u7248\u88ab\u5b89\u88c5\u5230 platforms \u76ee\u5f55\u4e0b\u3002
+
+* android \u6a21\u7248
+
+ ```bash
+ $ weexpack platform add android
+ ```
+
+* iOS \u6a21\u7248
+
+ ```bash
+ $ weexpack platform add ios
+ ```
+
+android \u5e73\u53f0\uff0c\u5b89\u88c5\u540e platforms \u76ee\u5f55\u5982\u4e0b
+
+```
+platforms
+\u2514\u2500\u2500 android
+ \u251c\u2500\u2500 LICENSE
+ \u251c\u2500\u2500 NOTICE
+ \u251c\u2500\u2500 README.md
+ \u251c\u2500\u2500 app
+ \u2502�� \u251c\u2500\u2500 build
+ \u2502�� \u251c\u2500\u2500 build.gradle
+ \u2502�� \u251c\u2500\u2500 proguard-rules.pro
+ \u2502�� \u2514\u2500\u2500 src
+ \u251c\u2500\u2500 appframework
+ \u2502�� \u251c\u2500\u2500 build
+ \u2502�� \u251c\u2500\u2500 build.gradle
+ \u2502�� \u251c\u2500\u2500 proguard-rules.pro
+ \u2502�� \u2514\u2500\u2500 src
+ \u251c\u2500\u2500 build
+ \u2502�� \u2514\u2500\u2500 generated
+ \u251c\u2500\u2500 build.gradle
+ \u251c\u2500\u2500 codeStyleSettings.xml
+ \u251c\u2500\u2500 gradle
+ \u2502�� \u2514\u2500\u2500 wrapper
+ \u251c\u2500\u2500 gradle.properties
+ \u251c\u2500\u2500 gradlew
+ \u251c\u2500\u2500 gradlew.bat
+ \u251c\u2500\u2500 settings.gradle
+ \u2514\u2500\u2500 weexplugin
+ \u251c\u2500\u2500 build.gradle
+ \u251c\u2500\u2500 proguard-rules.pro
+ \u2514\u2500\u2500 src
+
+```
+
+ios\u5e73\u53f0\uff0c\u5b89\u88c5\u540e platforms \u76ee\u5f55\u5982\u4e0b
+
+```
+platforms
+�� \u2514\u2500\u2500 ios
+�� \u251c\u2500\u2500 LICENSE
+�� \u251c\u2500\u2500 Podfile
+�� \u251c\u2500\u2500 README.md
+�� \u251c\u2500\u2500 WeexDemo
+�� \u2502�� \u251c\u2500\u2500 AppDelegate.h
+�� \u2502�� \u251c\u2500\u2500 AppDelegate.m
+�� \u2502�� \u251c\u2500\u2500 Assets.xcassets
+�� \u2502�� \u251c\u2500\u2500 DemoDefine.h
+�� \u2502�� \u251c\u2500\u2500 Images.xcassets
+�� \u2502�� \u251c\u2500\u2500 WeexConfig
+�� \u2502�� \u251c\u2500\u2500 WeexDemo-Info.plist
+�� \u2502�� \u251c\u2500\u2500 WeexScanner
+�� \u2502�� \u251c\u2500\u2500 config.xml
+�� \u2502�� \u251c\u2500\u2500 main.m
+�� \u2502�� \u2514\u2500\u2500 weex-icon.png
+�� \u251c\u2500\u2500 WeexDemo.xcodeproj
+�� \u2502�� \u251c\u2500\u2500 project.pbxproj
+�� \u2502�� \u251c\u2500\u2500 project.xcworkspace
+�� \u2502�� \u251c\u2500\u2500 xcshareddata
+�� \u2502�� \u2514\u2500\u2500 xcuserdata
+�� \u251c\u2500\u2500 WeexDemo.xcworkspace
+�� \u2502�� \u251c\u2500\u2500 contents.xcworkspacedata
+�� \u2502�� \u251c\u2500\u2500 xcshareddata
+�� \u2502�� \u2514\u2500\u2500 xcuserdata
+�� \u251c\u2500\u2500 WeexDemoTests
+�� \u2502�� \u251c\u2500\u2500 Info.plist
+�� \u2502�� \u2514\u2500\u2500 WeexDemoTests.m
+�� \u251c\u2500\u2500 WeexUITestDemo-Info.plist
+�� \u251c\u2500\u2500 WeexUITestDemoUITests
+�� \u2502�� \u251c\u2500\u2500 Info.plist
+�� \u2502�� \u2514\u2500\u2500 WeexUITestDemoUITests.m
+�� \u251c\u2500\u2500 Weexplugin
+�� \u2502�� \u251c\u2500\u2500 Podfile
+�� \u2502�� \u251c\u2500\u2500 Weexplugin
+�� \u2502�� \u251c\u2500\u2500 Weexplugin.podspec
+�� \u2502�� \u251c\u2500\u2500 Weexplugin.xcodeproj
+�� \u2502�� \u2514\u2500\u2500 WeexpluginTests
+�� \u251c\u2500\u2500 bundlejs
+
+ ```
+
+\u5bf9\u4e8e\u5df2\u5b89\u88c5\u7684\u6a21\u7248\u53ef\u4ee5\u4f7f\u7528 weexpack platform list \u547d\u4ee4\u67e5\u770b\u3002
+
+* \u67e5\u770b\u5df2\u5b89\u88c5\u6a21\u7248
+
+ ```bash
+ $ weexpack platform list
+ ```
+
+ \u793a\u4f8b\u7ed3\u679c\uff1a
+
+ ```
+ Installed platforms:
+ android
+ Available platforms:
+ android ^6.2.1
+ ```
+
+\u5982\u679c\u60f3\u8981\u5220\u9664\u67d0\u4e2a\u4e0d\u9700\u8981\u7684\u5e73\u53f0\u53ef\u4ee5\u4f7f\u7528 weexpack platform remove \u79fb\u9664\uff0c\u6bd4\u5982 Windows \u5e73\u53f0\u7528\u6237\u662f\u4e0d\u9700\u8981 iOS \u6a21\u7248\u7684\uff0c\u53ef\u7528\u5982\u4e0b\u547d\u4ee4\u79fb\u9664\u3002
+
+
+* \u79fb\u9664\u76f8\u5e94\u5e73\u53f0\u6a21\u7248
+
+ ```bash
+ $ weexpack platform remove ios
+ ```
+
+#### 3. \u5b89\u88c5 Weex \u63d2\u4ef6\uff08\u53ef\u9009\u9879\uff09
+
+\u6dfb\u52a0\u60f3\u8981\u4f7f\u7528\u7684\u63d2\u4ef6\uff0c\u652f\u6301\u4ece\u672c\u5730\u6216\u8005 Weex \u5e94\u7528\u5e02\u573a\u5b89\u88c5\u63d2\u4ef6\u3002
+
+* \u4ece\u672c\u5730\u6dfb\u52a0\u63d2\u4ef6\uff0c\u5728\u5f00\u53d1\u63d2\u4ef6\u65f6\u4f1a\u7ecf\u5e38\u7528\u5230
+
+ ```bash
+ $ weexpack plugin add path/to/plugin
+ ```
+
+* \u4ece\u63d2\u4ef6\u5e02\u573a\u6dfb\u52a0\u63d2\u4ef6\uff0c\u4f8b\u5982 weex-chart\u3002
+
+ ```bash
+ $ weexpack plugin add weex-chart
+ ```
+
+\u6a21\u7248\u7684 weexplugin \u662f\u63d2\u4ef6\u5b89\u88c5\u7684\u76ee\u6807\u5de5\u7a0b\u3002\u4ee5 Android \u4e3a\u4f8b\uff0c\u5176\u76ee\u5f55\u5982\u4e0b\uff1a
+
+```
+weexplugin
+\u251c\u2500\u2500 build.gradle // \u63d2\u4ef6\u7f16\u8bd1\u811a\u672c\uff0c\u5de5\u5177\u81ea\u52a8\u7ef4\u62a4
+\u251c\u2500\u2500 libs
+\u251c\u2500\u2500 proguard-rules.pro
+\u251c\u2500\u2500 src
+\u2502 \u2514\u2500\u2500 main
+\u2502 \u251c\u2500\u2500 AndroidManifest.xml // \u63d2\u4ef6android manifest\u914d\u7f6e\u6587\u4ef6
+\u2502 \u251c\u2500\u2500 java
+\u2502 \u2502 \u251c\u2500\u2500 // \u63d2\u4ef6src\u5b89\u88c5\u76ee\u5f55
+\u2502 \u2502 \u2514\u2500\u2500 com
+\u2502 \u2502 \u2514\u2500\u2500 alibaba
+\u2502 \u2502 \u2514\u2500\u2500 weex
+\u2502 \u2502 \u2514\u2500\u2500 plugin
+\u2502 \u2502 \u251c\u2500\u2500 ConfigXmlParser.java // \u914d\u7f6e\u6587\u4ef6\u89e3\u6790\u5668
+\u2502 \u2502 \u251c\u2500\u2500 PluginConfig.java // \u5916\u90e8\u63a5\u53e3
+\u2502 \u2502 \u251c\u2500\u2500 PluginEntry.java // \u63d2\u4ef6\u63cf\u8ff0
+\u2502 \u2502 \u2514\u2500\u2500 PluginManager.java // \u63d2\u4ef6\u7ba1\u7406\u5668
+\u2502 \u2514\u2500\u2500 res // \u63d2\u4ef6\u8d44\u6e90\u5b89\u88c5\u76ee\u5f55
+\u2502 \u251c\u2500\u2500 drawable
+\u2502 \u251c\u2500\u2500 values
+\u2502 \u2502 \u2514\u2500\u2500 strings.xml
+\u2502 \u2514\u2500\u2500 xml
+\u2502 \u2514\u2500\u2500 config.xml // \u63d2\u4ef6\u914d\u7f6e\u6587\u4ef6\uff0cPluginManager \u89e3\u6790\u914d\u7f6e\u6587\u4ef6\u52a0\u8f7d\u63d2\u4ef6
+```
+
+\u5bf9\u4e8e\u5df2\u5b89\u88c5\u7684\u63d2\u4ef6\u53ef\u4ee5\u4f7f\u7528 weexpack plugin list \u547d\u4ee4\u67e5\u770b\u3002
+
+* \u67e5\u770b\u5df2\u5b89\u88c5\u63d2\u4ef6
+
+ ```bash
+ $ weexpack plugin list
+ ```
+
+\u5982\u679c\u60f3\u8981\u5220\u9664\u67d0\u4e2a\u4e0d\u9700\u8981\u7684\u63d2\u4ef6\u53ef\u4ee5\u4f7f\u7528 weexpack plugin remove \u79fb\u9664\uff0c\u6bd4\u5982 weex-chart
+
+* \u79fb\u9664\u63d2\u4ef6\uff0c\u4f8b\u5982 weex-chart
+
+ ```bash
+ $ weexpack plugin remove weex-chart
+ ```
+
+
+
+#### 4. \u6253\u5305\u5e94\u7528\u5e76\u5b89\u88c5\u8fd0\u884c
+
+\u5b8c\u6210\u4ee5\u4e0a\u6b65\u9aa4\u5e76 Weex \u4ee3\u7801\u653e\u5728 src \u76ee\u5f55\u4e0b\uff0c\u5c31\u53ef\u4ee5\u6253\u5305\u8fd0\u884c\u4e86\uff0c\u6253\u5305\u8fc7\u7a0b\u4e2d\u53ef\u80fd\u8981\u4e0b\u8f7d\u4f9d\u8d56\u548c\u7f16\u8bd1\u5de5\u5177\uff0c\u8fd9\u4f1a\u662f\u4e2a\u8f83\u4e3a\u8017\u65f6\u7684\u8fc7\u7a0b\uff0c\u5b89\u88c5\u8fd0\u884c\u9700\u8981\u6253\u5f00\u6a21\u62df\u5668\u6216\u8005\u8fde\u63a5\u8bbe\u5907\u3002
+
+* \u6253\u5305\u8fd0\u884c android \u5e94\u7528
+
+ ```bash
+ $ weexpack run android
+ ```
+
+ \u4f60\u53ef\u4ee5\u66f4\u6539\u9879\u76ee\u76ee\u5f55\u4e0b\u7684 android.config.json
+ * AppName: \u5e94\u7528\u540d
+ * AppId: application_id \u5305\u540d
+ * SplashText: \u6b22\u8fce\u9875\u4e0a\u9762\u7684\u6587\u5b57
+ * WeexBundle: \u6307\u5b9a\u7684 Weex bundle \u6587\u4ef6\uff08\u652f\u6301\u6587\u4ef6\u540d\u548c url \u7684\u5f62\u5f0f\uff09
+
+ \u6587\u4ef6\u540d\u5219\u4ee5\u672c\u5730\u6587\u4ef6\u7684\u65b9\u5f0f\u52a0\u8f7d bundle, url \u5219\u4ee5\u8fdc\u7a0b\u7684\u65b9\u5f0f\u52a0\u8f7d bundle
+ \u5982\u679c\u4ee5\u672c\u5730\u65b9\u5f0f\u6307\u5b9a bundle, `.we` \u6587\u4ef6\u8bf7\u653e\u5230 src \u76ee\u5f55\u3002
+
+* \u6253\u5305\u8fd0\u884c iOS \u5e94\u7528
+ * \u6a21\u62df\u5668\u8fd0\u884c
+
+ ```bash
+ $ weexpack run ios
+ ```
+
+ * \u6784\u5efa ipa \u5305
+
+ ```bash
+ $ weexpack build ios
+ ```
+
+ \u6784\u5efa\u5305\u7684\u8fc7\u7a0b\u4e2d\uff0c\u5c06\u4f1a\u63d0\u793a\u8ba9\u60a8\u8f93\u5165 `CodeSign\uff08\u8bc1\u4e66\uff09`\uff0c`Profile(provisioning profile)`,`AppId`\uff0c\u53ea\u6709\u8f93\u5165\u771f\u5b9e\u7684\u8fd9\u4e9b\u4fe1\u606f\u624d\u80fd\u6210\u529f\u6253\u5305\u3002
+ \u5176\u4f59\u5982 AppName , \u548c\u5165\u53e3 Weex bundle \u6587\u4ef6\u53ef\u4ee5\u7f16\u8f91\u9879\u76ee\u76ee\u5f55\u4e0b\u7684 ios.config.json \u914d\u7f6e\u3002
+ \u6253\u5b8c\u5305\u6210\u529f\u4e4b\u540e\uff0c\u53ef\u4ee5\u5728 `/playground/build/ipa_build/` \u76ee\u5f55\u4e0b\u83b7\u53d6 ipa \u6587\u4ef6
+
+ **\u6ce8\uff1a\u8bc1\u4e66\u9700\u8981\u9884\u5148\u5b89\u88c5\u5230 keychain \u4e2d\uff0c\u5728 keychain \u4e2d\u70b9\u51fb\u53f3\u952e\u83b7\u53d6\u8bc1\u4e66 `id`\uff08\u8bc1\u4e66\u540d\u79f0\uff09\uff0c`provisioning profile` \u6587\u4ef6\uff08*mobileprovision\uff09\u9700\u8981\u83b7\u53d6 UUID\uff0c\u8fdb\u5165[\u76ee\u5f55](https://github.com/weexteam/weex-pack/tree/dev/generator/platforms/templates) \u53ef\u4ee5\u770b\u5230 `mobileprovision_UUID.sh` \u6587\u4ef6\uff0c\u6b64\u6587\u4ef6\u53ef\u4ee5\u83b7\u53d6\u5230 UUID**
+
+ `mobileprovision_UUID.sh` \u7528\u6cd5\u5982\u4e0b\uff1a
+
+ ```bash
+ $ ./mobileprovision_UUID.sh � \*mobileprovision
+ ```
+
+ \u53c2\u6570\uff08\*mobileprovision\uff09\u4e3a `provisioning profile` \u6587\u4ef6\u8def\u5f84
+
+* \u6253\u5305 Web \u5e73\u53f0\uff1a
+
+ ```bash
+ $ weexpack build web
+ ```
+
+ \u8fd9\u6837\u4f60\u53ef\u4ee5\u628a\u6253\u5305\u540e\u7684\u8d44\u6e90\u4e0a\u4f20\u5230 CDN \u670d\u52a1\u5668\uff0c\u7136\u540e\u4e0a\u7ebf\u4f60\u7684 Web \u9879\u76ee\u3002
+
+* \u5728 Web \u5e73\u53f0\u8fd0\u884c\uff1a
+
+ ```bash
+ $ weexpack run web
+ ```
+
+#### 5.\u73b0\u6709\u5e94\u7528\u96c6\u6210\u63d2\u4ef6 \u2014\u2014 \u7ec4\u4ef6\u5bb9\u5668
+
+* \u7ec4\u4ef6\u5bb9\u5668\u4f5c\u7528
+
+ �\u63d2\u4ef6\u53ef\u4ee5\u901a\u8fc7\u7ec4\u4ef6\u5bb9\u5668\u7684\u65b9\u5f0f\u96c6\u6210\u5230\u5ba2\u6237\u7aef\uff08app\uff09\uff0c\u7ec4\u4ef6\u5bb9\u5668\u53ef\u4ee5\u65b9\u4fbf\u751f\u6210\u4e8c\u8fdb\u5236\u5305\uff0c\u73b0\u6709\u5e94\u7528\u53ef\u4ee5\u901a\u8fc7\u5404\u79cd\u5f62\u5f0f\u628a\u4e8c\u8fdb\u5236\u5305\u6216\u6e90\u7801\u96c6\u6210\u8fdb\u53bb\uff0c\u6bd4\u5982 iOS \u53ef\u4ee5\u901a\u8fc7 pod \u4f9d\u8d56 � \u7684\u5f62\u5f0f\u7b49\u3002\u5728 weexpack \u521b\u5efa\u7684\u6839\u76ee\u5f55\u4e0b\uff0c\u8fd0\u884c weexpack plugin add/remove \u547d\u4ee4\u76f4\u63a5\u5b89\u88c5/\u5220\u9664 Weex plugin \u5230\u7ec4\u4ef6\u5bb9\u5668\u4e2d\u3002
+
+* \u7ec4\u4ef6\u5bb9\u5668\u83b7\u53d6
+ * \u65b9\u5f0f1\uff1a\u901a\u8fc7\u7b2c\u4e8c\u6b65<sup>[[link](#weex-plugin)]</sup>\u751f\u6210\u7684 Android/iOS \u76ee\u5f55\u4e2d\u5305\u542b Weexplugin \u76ee\u5f55\uff0c\u6b64\u76ee\u5f55\u662f\u7ec4\u4ef6\u5bb9\u5668
+ * \u65b9\u5f0f2\uff1a\u901a\u8fc7 repo \u5730\u5740 clone \u4ee3\u7801 [iOS\u5730\u5740](https://github.com/weexteam/weexpluginContainer-iOS) [Android \u5730\u5740](https://github.com/weexteam/weexplugin-android)
+
+## \u63d2\u4ef6\u53d1\u5e03
+
+\u5bf9\u4e8e\u63d2\u4ef6\u5f00\u53d1\u8005\u6765\u8bf4\uff0c\u4e5f\u6709\u4e00\u7ec4\u7528\u4e8e\u521b\u5efa\u548c\u53d1\u5e03\u63d2\u4ef6\u7684\u547d\u4ee4\uff0c[\u524d\u5f80](./README_plugin.md) \u67e5\u770b\u8be6\u7ec6\u6587\u6863
+
+
+
+## \u63d2\u4ef6\u5f00\u53d1\u6587\u6863
+
++ [\u5f00\u53d1 web \u7684\u63d2\u4ef6\u6559\u7a0b](./doc/plugin-devloping-web.md)
+
+
+## \u793a\u4f8b
+[\u4f7f\u7528 Weexpack \u6253\u5305\u51fa\u4e00\u4e2a Weex \u7248\u7684 \u300aOne App\u300b](https://github.com/weexteam/weex-pack/wiki/Create-Weex-One-App-with-Weexpack)
+
+[1]: https://nodejs.org/
+[2]: https://www.npmjs.com/
+[3]: https://itunes.apple.com/us/app/xcode/id497799835?mt=12
+[4]: https://developer.android.com/studio/install.html
+[5]: https://developer.android.com/studio/run/managing-avds.html
+[6]: https://www.docker.com/
+[7]: https://developer.android.com/studio/releases/sdk-tools.html
+[8]: https://developer.android.com/studio/run/managing-avds.html
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/9dd6bdd4/doc/source/cn/references/common-style.md
----------------------------------------------------------------------
diff --git a/doc/source/cn/references/common-style.md b/doc/source/cn/references/common-style.md
index 033a45c..4c12380 100644
--- a/doc/source/cn/references/common-style.md
+++ b/doc/source/cn/references/common-style.md
@@ -91,15 +91,16 @@ Weex \u5bf9\u4e8e\u957f\u5ea6\u503c\u76ee\u524d\u53ea\u652f\u6301*\u50cf\u7d20*\u503c\uff0c\u4e0d\u652f\u6301\u76f8\u5bf9\u5355\u4f4d\uff08`em`\u3001
### \u6ce8\u610f\uff1a
+
Weex \u76d2\u6a21\u578b\u7684 `box-sizing` \u9ed8\u8ba4\u4e3a `border-box`\uff0c\u5373\u76d2\u5b50\u7684\u5bbd\u9ad8\u5305\u542b\u5185\u5bb9\u3001\u5185\u8fb9\u8ddd\u548c\u8fb9\u6846\u7684\u5bbd\u5ea6\uff0c\u4e0d\u5305\u542b\u5916\u8fb9\u8ddd\u7684\u5bbd\u5ea6\u3002
-\u76ee\u524d\u5728 `<image>` \u7ec4\u4ef6\u4e0a\u5c1a\u65e0\u6cd5\u53ea\u5b9a\u4e49\u4e00\u4e2a\u6216\u51e0\u4e2a\u89d2\u7684 `border-radius`\u3002\u6bd4\u5982\u4f60\u65e0\u6cd5\u5728\u8fd9\u4e24\u4e2a\u7ec4\u4ef6\u4e0a\u4f7f\u7528 `border-top-left-radius`\u3002\u8be5\u7ea6\u675f\u53ea\u5bf9iOS\u751f\u6548\uff0cAndroid\u5e76\u4e0d\u53d7\u6b64\u9650\u5236\u3002
+\u76ee\u524d\u5728 `<image>` \u7ec4\u4ef6\u4e0a\u5c1a\u65e0\u6cd5\u53ea\u5b9a\u4e49\u4e00\u4e2a\u6216\u51e0\u4e2a\u89d2\u7684 `border-radius`\u3002\u6bd4\u5982\u4f60\u65e0\u6cd5\u5728\u8fd9\u4e24\u4e2a\u7ec4\u4ef6\u4e0a\u4f7f\u7528 `border-top-left-radius`\u3002\u8be5\u7ea6\u675f\u53ea\u5bf9 iOS \u751f\u6548\uff0cAndroid \u5e76\u4e0d\u53d7\u6b64\u9650\u5236\u3002
-\u5c3d\u7ba1 `overflow:hidden` \u5728android\u4e0a\u662f\u9ed8\u8ba4\u884c\u4e3a\uff0c\u4f46\u53ea\u6709\u4e0b\u5217\u6761\u4ef6\u90fd\u6ee1\u8db3\u65f6\uff0c\u4e00\u4e2a\u7236view\u624d\u4f1a\u53bbclip\u5b83\u7684\u5b50view\u3002\u8fd9\u4e2a\u9650\u5236\u53ea\u5bf9Android\u751f\u6548\uff0ciOS\u4e0d\u53d7\u5f71\u54cd\u3002
+\u5c3d\u7ba1 `overflow:hidden` \u5728 Android \u4e0a\u662f\u9ed8\u8ba4\u884c\u4e3a\uff0c\u4f46\u53ea\u6709\u4e0b\u5217\u6761\u4ef6\u90fd\u6ee1\u8db3\u65f6\uff0c\u4e00\u4e2a\u7236 view \u624d\u4f1a\u53bb clip \u5b83\u7684\u5b50 view\u3002\u8fd9\u4e2a\u9650\u5236\u53ea\u5bf9 Android \u751f\u6548\uff0ciOS \u4e0d\u53d7\u5f71\u54cd\u3002
* \u7236view\u662f`div`, `a`, `cell`, `refresh` \u6216 `loading`\u3002
-* \u7cfb\u7edf\u7248\u672c\u662fAndroid 4.3\u6216\u66f4\u9ad8\u3002
-* \u7cfb\u7edf\u7248\u672c\u4e0d\u662fAndorid 7.0\u3002
-* \u7236view\u6ca1\u6709`background-image`\u5c5e\u6027\u6216\u7cfb\u7edf\u7248\u672c\u662fAndroid 5.0\u6216\u66f4\u9ad8\u3002
+* \u7cfb\u7edf\u7248\u672c\u662f Android 4.3 \u6216\u66f4\u9ad8\u3002
+* \u7cfb\u7edf\u7248\u672c\u4e0d\u662f Andorid 7.0\u3002
+* \u7236 view \u6ca1\u6709 `background-image` \u5c5e\u6027\u6216\u7cfb\u7edf\u7248\u672c\u662f Android 5.0 \u6216\u66f4\u9ad8\u3002
### \u793a\u4f8b\uff1a
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/9dd6bdd4/doc/source/cn/references/components/scroller.md
----------------------------------------------------------------------
diff --git a/doc/source/cn/references/components/scroller.md b/doc/source/cn/references/components/scroller.md
index 694ce87..297f712 100644
--- a/doc/source/cn/references/components/scroller.md
+++ b/doc/source/cn/references/components/scroller.md
@@ -33,10 +33,10 @@ version: 2.1
- `show-scrollbar {boolean}`\uff1a\u53ef\u9009\u503c\u4e3a `true`/ `false`\uff0c\u9ed8\u8ba4\u503c\u4e3a `true`\u3002\u63a7\u5236\u662f\u5426\u51fa\u73b0\u6eda\u52a8\u6761\u3002
- `scroll-direction {string}`\uff1a\u53ef\u9009\u4e3a `horizontal` \u6216\u8005 `vertical`\uff0c\u9ed8\u8ba4\u503c\u4e3a `vertical` \u3002\u5b9a\u4e49\u6eda\u52a8\u7684\u65b9\u5411\u3002
- - `scroll-direction`\u5b9a\u4e49\u4e86scroller\u7684\u6eda\u52a8\u65b9\u5411\uff0c`flex-direction`\u5b9a\u4e49\u4e86scroller\u7684\u5e03\u5c40\u65b9\u5411\uff0c\u4e24\u4e2a\u65b9\u5411\u5fc5\u987b\u4e00\u81f4\u3002
- - `scroll-direction`\u7684\u9ed8\u8ba4\u503c\u662f`vertical`,`flex-direction`\u7684\u9ed8\u8ba4\u503c\u662f`row`\u3002
- - \u5f53\u9700\u8981\u4e00\u4e2a\u6c34\u5e73\u65b9\u5411\u7684scroller\u65f6\uff0c\u4f7f\u7528`scroll-direction:horizontal`\u548c`flex-direction: row`\u3002
- - \u5f53\u9700\u8981\u4e00\u4e2a\u7ad6\u76f4\u65b9\u5411\u7684scroller\u65f6\uff0c\u4f7f\u7528`scroll-direction:vertical`\u548c`flex-direction: column`\u3002\u7531\u4e8e\u8fd9\u4e24\u4e2a\u503c\u5747\u662f\u9ed8\u8ba4\u503c\uff0c\u5f53\u9700\u8981\u4e00\u4e2a\u7ad6\u76f4\u65b9\u5411\u7684scroller\u65f6\uff0c\u8fd9\u4e24\u4e2a\u503c\u53ef\u4ee5\u4e0d\u8bbe\u7f6e\u3002
+ - `scroll-direction`\u5b9a\u4e49\u4e86 scroller \u7684\u6eda\u52a8\u65b9\u5411\uff0c`flex-direction` \u5b9a\u4e49\u4e86 scroller \u7684\u5e03\u5c40\u65b9\u5411\uff0c\u4e24\u4e2a\u65b9\u5411\u5fc5\u987b\u4e00\u81f4\u3002
+ - `scroll-direction` \u7684\u9ed8\u8ba4\u503c\u662f `vertical`, `flex-direction` \u7684\u9ed8\u8ba4\u503c\u662f `row`\u3002
+ - \u5f53\u9700\u8981\u4e00\u4e2a\u6c34\u5e73\u65b9\u5411\u7684 scroller \u65f6\uff0c\u4f7f\u7528 `scroll-direction:horizontal` \u548c `flex-direction: row`\u3002
+ - \u5f53\u9700\u8981\u4e00\u4e2a\u7ad6\u76f4\u65b9\u5411\u7684 scroller \u65f6\uff0c\u4f7f\u7528 `scroll-direction:vertical` \u548c `flex-direction: column`\u3002\u7531\u4e8e\u8fd9\u4e24\u4e2a\u503c\u5747\u662f\u9ed8\u8ba4\u503c\uff0c\u5f53\u9700\u8981\u4e00\u4e2a\u7ad6\u76f4\u65b9\u5411\u7684 scroller \u65f6\uff0c\u8fd9\u4e24\u4e2a\u503c\u53ef\u4ee5\u4e0d\u8bbe\u7f6e\u3002
- `loadmoreoffset {number}`\uff1a\u9ed8\u8ba4\u503c\u4e3a 0\uff0c\u89e6\u53d1 `loadmore` \u4e8b\u4ef6\u6240\u9700\u8981\u7684\u5782\u76f4\u504f\u79fb\u8ddd\u79bb\uff08\u8bbe\u5907\u5c4f\u5e55\u5e95\u90e8\u4e0e\u9875\u9762\u5e95\u90e8\u4e4b\u95f4\u7684\u8ddd\u79bb\uff09\u3002\u5f53\u9875\u9762\u7684\u6eda\u52a8\u6761\u6eda\u52a8\u5230\u8db3\u591f\u63a5\u8fd1\u9875\u9762\u5e95\u90e8\u65f6\u5c06\u4f1a\u89e6\u53d1 `loadmore` \u8fd9\u4e2a\u4e8b\u4ef6\u3002

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/9dd6bdd4/doc/source/guide/dev-with-weexpack.md
----------------------------------------------------------------------
diff --git a/doc/source/guide/dev-with-weexpack.md b/doc/source/guide/dev-with-weexpack.md
deleted file mode 100644
index 9dd9b42..0000000
--- a/doc/source/guide/dev-with-weexpack.md
+++ /dev/null
@@ -1,12 +0,0 @@
----
-title: Build A New App
-type: guide
-order: 2
-version: 2.1
-has_chapter_content: true
----
-
-# Build a New App
-
-
-Work in progress.
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/9dd6bdd4/doc/source/guide/index.md
----------------------------------------------------------------------
diff --git a/doc/source/guide/index.md b/doc/source/guide/index.md
index 6c11d54..c43176a 100644
--- a/doc/source/guide/index.md
+++ b/doc/source/guide/index.md
@@ -56,55 +56,3 @@ As shown in the following code\uff1a
It's too easy\uff0cright? Let's focus on the syntax, obviously this is vue.
You can try to modify the Hello World, then generate a new QR code to scan.
-
-## Set up development environment
-
-Use dotWe is a good choice, But if you want to develop locally on your own machine, you will set up your development environment.
-
-You will need Node.js and the Weex CLi.
-
-You can installing Node using [nvm](https://github.com/creationix/nvm) (Simple bash script to manage multiple active node.js versions). Run the following commands in a Terminal after installing nvm:
-
-```bash
-$ nvm install 6.10.0
-$ nvm use 6.10.0
-```
-
-Node.js comes with npm, which lets you install the Weex Cli.
-
-Run the following command in a Terminal:
-
-```bash
-$ npm install -g weex-toolkit@beta
-```
-
-**NOTE: ** If you get an error like "permission error", try installing with `sudo`.
-
-
-Then you can use the weex command to verify that the installation is successful:
-
-
-
-### Generate a new Weex project
-
-You can use CLi to generate a Weex project called "awesome-project". Run the following command in a Terminal:
-
-```bash
-$ weex init awesome-project
-```
-
-Then we enter the awesome-project folder, the CLi has been for us to generate a standard project structure.
-
-### Usage
-
-We enter the awesome-project folder and install dependencies with the following commands:
-
-```bash
-npm install
-```
-
-Then we run `npm run dev` and `npm run serve` to start watch mode and static server.
-
-Finally, we can see the Weex page in `http://localhost:8080/index.html`.
-
-If you're curious to learn more about technical details, continue on to the next. And don't forget to write code at [dotWe](https://dotwe.org) and preview at anytime.
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/9dd6bdd4/doc/source/guide/intro/app-architecture.md
----------------------------------------------------------------------
diff --git a/doc/source/guide/intro/app-architecture.md b/doc/source/guide/intro/app-architecture.md
index d7b3bc6..5dd1e1f 100644
--- a/doc/source/guide/intro/app-architecture.md
+++ b/doc/source/guide/intro/app-architecture.md
@@ -1,7 +1,7 @@
---
title: Mobile App Architecture
type: guide
-order: 4.5
+order: 5.5
version: 2.1
---
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/9dd6bdd4/doc/source/guide/intro/devtools.md
----------------------------------------------------------------------
diff --git a/doc/source/guide/intro/devtools.md b/doc/source/guide/intro/devtools.md
index 3104e02..f9b32b4 100644
--- a/doc/source/guide/intro/devtools.md
+++ b/doc/source/guide/intro/devtools.md
@@ -1,7 +1,7 @@
---
title: Using Devtools
type: guide
-order: 4.7
+order: 5.7
version: 2.1
---
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/9dd6bdd4/doc/source/guide/intro/how-it-works.md
----------------------------------------------------------------------
diff --git a/doc/source/guide/intro/how-it-works.md b/doc/source/guide/intro/how-it-works.md
index f67f8b4..e66ead8 100644
--- a/doc/source/guide/intro/how-it-works.md
+++ b/doc/source/guide/intro/how-it-works.md
@@ -1,7 +1,7 @@
---
title: How it works
type: guide
-order: 4.1
+order: 5.1
has_chapter_content: false
chapter_title: Intro
version: 2.1
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/9dd6bdd4/doc/source/guide/intro/index.md
----------------------------------------------------------------------
diff --git a/doc/source/guide/intro/index.md b/doc/source/guide/intro/index.md
index 24c8236..54117fc 100644
--- a/doc/source/guide/intro/index.md
+++ b/doc/source/guide/intro/index.md
@@ -1,7 +1,7 @@
---
title: Intro
type: guide
-order: 4
+order: 5
has_chapter_content: false
chapter_title: Intro
version: 2.1
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/9dd6bdd4/doc/source/guide/intro/page-architecture.md
----------------------------------------------------------------------
diff --git a/doc/source/guide/intro/page-architecture.md b/doc/source/guide/intro/page-architecture.md
index a9d8014..77085f9 100644
--- a/doc/source/guide/intro/page-architecture.md
+++ b/doc/source/guide/intro/page-architecture.md
@@ -1,7 +1,7 @@
---
title: Weex Page Architecture
type: guide
-order: 4.6
+order: 5.6
version: 2.1
---
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/9dd6bdd4/doc/source/guide/intro/using-vue.md
----------------------------------------------------------------------
diff --git a/doc/source/guide/intro/using-vue.md b/doc/source/guide/intro/using-vue.md
index 9d981ee..0f08498 100644
--- a/doc/source/guide/intro/using-vue.md
+++ b/doc/source/guide/intro/using-vue.md
@@ -1,7 +1,7 @@
---
title: Using Vue
type: guide
-order: 4.3
+order: 5.3
version: 2.1
---
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/9dd6bdd4/doc/source/guide/intro/web-dev-experience.md
----------------------------------------------------------------------
diff --git a/doc/source/guide/intro/web-dev-experience.md b/doc/source/guide/intro/web-dev-experience.md
index 81d0ff2..c24c8cc 100644
--- a/doc/source/guide/intro/web-dev-experience.md
+++ b/doc/source/guide/intro/web-dev-experience.md
@@ -1,7 +1,7 @@
---
title: Web Dev Experience
type: guide
-order: 4.2
+order: 5.2
version: 2.1
---
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/9dd6bdd4/doc/source/guide/intro/write-once.md
----------------------------------------------------------------------
diff --git a/doc/source/guide/intro/write-once.md b/doc/source/guide/intro/write-once.md
index 382b7b4..9507d21 100644
--- a/doc/source/guide/intro/write-once.md
+++ b/doc/source/guide/intro/write-once.md
@@ -1,7 +1,7 @@
---
title: Write once, Run Everywhere
type: guide
-order: 4.4
+order: 5.4
version: 2.1
---
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/9dd6bdd4/doc/source/guide/set-up-env.md
----------------------------------------------------------------------
diff --git a/doc/source/guide/set-up-env.md b/doc/source/guide/set-up-env.md
new file mode 100644
index 0000000..338502b
--- /dev/null
+++ b/doc/source/guide/set-up-env.md
@@ -0,0 +1,93 @@
+---
+title: Set Up Development Environment
+type: guide
+order: 2
+version: 2.1
+has_chapter_content: true
+---
+
+# Set up development environment
+
+Use dotWe is a good choice, But if you want to develop locally on your own machine, you will set up your development environment.
+
+You will need Node.js and the Weex CLi.
+
+You can installing Node using [nvm](https://github.com/creationix/nvm) (Simple bash script to manage multiple active node.js versions). Run the following commands in a Terminal after installing nvm:
+
+```bash
+$ nvm install 6.10.0
+$ nvm use 6.10.0
+```
+
+Node.js comes with npm, which lets you install the Weex Cli.
+
+Run the following command in a Terminal:
+
+```bash
+$ npm install -g weex-toolkit
+$ weex -v
+
+v1.0.3
+weex-builder : v0.2.4
+weex-previewer : v1.3.4
+```
+
+**NOTE: ** If you get an error like "permission error", try installing with `sudo`.
+
+
+Then you can use the weex command to verify that the installation is successful:
+
+
+
+### Generate a new Weex project
+
+You can use CLi to generate a Weex project called "awesome-project". Run the following command in a Terminal:
+
+```bash
+$ weex init awesome-project
+```
+
+Then we enter the awesome-project folder, the CLi has been for us to generate a standard project structure.
+
+### Usage
+
+We enter the awesome-project folder and install dependencies with the following commands:
+
+```bash
+npm install
+```
+
+Then we run `npm run dev` and `npm run serve` to start watch mode and static server.
+
+Finally, we can see the Weex page in `http://localhost:8080/index.html`.
+
+You can modify this page in `src/foo.vue`. The code is shown below:
+
+```html
+<template>
+ <div class="wrapper">
+ <text class="weex">Hello Weex !</text>
+ <text class="vue">Hello Vue !</text>
+ </div>
+</template>
+
+<style scoped>
+ .wrapper {
+ flex-direction: column;
+ justify-content: center;
+ }
+ .weex {
+ font-size: 60px;
+ text-align: center;
+ color: #1B90F7;
+ }
+ .vue {
+ font-size: 60px;
+ text-align: center;
+ margin-top: 30px;
+ color: #41B883;
+ }
+</style>
+```
+
+If you're curious to learn more about technical details, continue on to the next. And don't forget to write code at [dotWe](https://dotwe.org) and preview at anytime.
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/9dd6bdd4/doc/source/guide/tools/devtools.md
----------------------------------------------------------------------
diff --git a/doc/source/guide/tools/devtools.md b/doc/source/guide/tools/devtools.md
new file mode 100644
index 0000000..9fd9de3
--- /dev/null
+++ b/doc/source/guide/tools/devtools.md
@@ -0,0 +1,100 @@
+---
+title: Using Devtools
+type: guide
+order: 4.1
+version: 2.1
+---
+
+# Devtools
+
+Weex devtools is a custom devtools for weex that implements [Chrome Debugging Protocol](https://developer.chrome.com/devtools/docs/debugger-protocol), it is designed to help you quickly inspect your app and debug your JS bundle source in a chrome web page, both Android and IOS platform are supported.
+
+## Install
+
+```
+ $ npm install -g weex-toolkit
+```
+#### usage
+```
+weex debug [options] [we_file|bundles_dir]
+
+ Options:
+
+ -h, --help output usage information
+ -V, --verbose display logs of debugger server
+ -v, --version display version
+ -p, --port [port] set debugger server port
+ -e, --entry [entry] set the entry bundlejs path when you specific the bundle server root path
+ -m, --mode [mode] set build mode [transformer|loader]
+ -w, --watch watch we file changes auto build them and refresh debugger page![default enabled]
+```
+
+#### start debugger
+```
+$weex debug
+```
+this command will start debug server and launch a chrome opening `DeviceList` page.
+this page will display a qrcode ,you can use `Playground App` scan it for starting debug.
+
+#### start debugger with a we file
+```
+$weex debug your_weex.we
+```
+this command will compile `your_weex.we` to `your_weex.js` and start the debug server as upon command.
+`your_weex.js` will deploy on the server and displayed in `DeviceList` page as another qrcode contain the url of your_weex.js
+
+
+#### start debugger with a directory of we files
+```
+$weex debug your/we/path -e index.we
+```
+this command will build every file in your/we/path and deploy them on the bundle server. your directory will mapping to http://localhost:port/weex/
+use -e to set the entry of these bundles. and the url of "index.we" will display on device list page as another qrcode.
+
+## Features
+
+### Connect devices
+ devices")
+
+### Inspector
+ Inspector can be used to show your `Element` \ `Network` \ `Console log` \ `ScreenCast` \ `BoxModel` \ `Native View` and so on.
+
+
+
+#### Element
+##### native view element
+
+
+##### weex dom element
+
+
+#### Network
+
+##### show the total time and latency
+
+
+##### show the header and response
+
+
+#### Console
+
+
+#### Resource
+
+
+### Debugger
+
+ Debugger can be used to debug your bundle js source, you can set `Breakpoint` \ watch `CallStack`.
+
+
+
+#### Breakpoint and CallStack
+
+
+
+## Integrate devtools
+
+* Android
+ * See the doc [Weex devtools (Android)](../../references/advanced/integrate-devtool-to-android.html), it will lead you to config and use it step by step.
+* IOS
+ * See the doc [Weex devtools (iOS)](../../references/advanced/integrate-devtool-to-ios.html), it will lead you to config and use it step by step.
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/9dd6bdd4/doc/source/guide/tools/index.md
----------------------------------------------------------------------
diff --git a/doc/source/guide/tools/index.md b/doc/source/guide/tools/index.md
new file mode 100644
index 0000000..8a2de8e
--- /dev/null
+++ b/doc/source/guide/tools/index.md
@@ -0,0 +1,11 @@
+---
+title: Tools
+type: guide
+order: 4
+version: 2.1
+---
+
+# Tools
+
+- [Devtools](./devtools.html)
+- [Weexpack](./weexpack.html)
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/9dd6bdd4/doc/source/guide/tools/weexpack.md
----------------------------------------------------------------------
diff --git a/doc/source/guide/tools/weexpack.md b/doc/source/guide/tools/weexpack.md
new file mode 100644
index 0000000..699431f
--- /dev/null
+++ b/doc/source/guide/tools/weexpack.md
@@ -0,0 +1,298 @@
+---
+title: Using Weexpack
+type: guide
+order: 4.2
+version: 2.1
+---
+
+# Using Weexpack
+
+## Weexpack introduction
+
+Weexpack is our next generation of engineering development kits, it helps to setup wWex application from scratch quickly. With simple commands, developers could create a Weex project, add different platform template, could install plugins from local, GitHub or Weex market, could pack up his application project and run on mobile. For those who would like to share his own plugins, he could publish them to the Weex market.
+
+weexpack commands can be grouped to three parts:
+* application package
+ * **weexpack create** \u2014 create Weex project.
+ * **weexpack platform add/remove** \u2014 add\uff0fremove Weex platform template\uff0cit support plugins and Weex bundle debugging by default.
+ * **weexpack platform list** \u2014 query installed platforms and its version.
+ * **weexpack platform run** - pack/build/run application.
+
+* plugin usuage
+ * **weexpack plugin add/remove** \u2014 add/remove Weex plugin, support to install from local, Github or market.
+ * **weexpack plugin list** \u2014 query installed plugins and its version.
+
+* plugin development
+ * **weexpack plugin create** - create plugin template with necessary config file and directory.
+ * **weexpack plugin publish** - publish plugin to market.
+
+
+## Installation
+### pre-environmental requirements
+
+- Supported on Mac linux windows.
+- Configure the [Node.js] [1] environment and install the [npm] [2] package manager.(need node 6.0+)
+- Configure iOS development environment:
+ - Install [Xcode IDE] [3] to launch Xcode once so that Xcode automatically installs the Developer Tools and confirms the usage protocol.
+ - Install cocoaPods
+- Configure the Android development environment:
+ - Install [Android Studio] [4] and open the new project. Open the menu bar, open the [AVD Manager] [5], the new Android emulator and start. (If you have installed [Docker] [6], close the Docker Server.)
+ - Or just download the [Android SDK] [7], run the command line [AVD Manager] [8], create a new Android emulator and launch it.
+ - Make sure that Android build-tool version is 23.0.2
+
+### Instructions
+
+First, install the weex-pack command globally:
+
+```bash
+$ npm install -g weexpack
+```
+
+or run the following command under the root path of your cloned weexpack repo
+
+```bash
+$ npm install
+```
+
+## Pack application (and plugin usuage)
+
+Following graph shows how to pack a application, plugin related parts werenot a must.
+
+
+
+### Steps in detail
+
+#### 1. create a weexpack project
+
+```bash
+$ weexpack create appName
+```
+
+will create directory as follows\uff1a
+
+```
+WeexProject
+\u251c\u2500\u2500 README.md
+\u251c\u2500\u2500 android.config.json
+\u251c\u2500\u2500 config.xml
+\u251c\u2500\u2500 hooks
+\u2502�� \u2514\u2500\u2500 README.md
+\u251c\u2500\u2500 ios.config.json
+\u251c\u2500\u2500 package.json
+\u251c\u2500\u2500 platforms // platform template directory
+\u251c\u2500\u2500 plugins // plugins download to here
+\u2502�� \u2514\u2500\u2500 README.md
+\u251c\u2500\u2500 src // application\uff08we/vue file\uff09directory
+\u2502�� \u2514\u2500\u2500 index.we
+\u251c\u2500\u2500 start
+\u251c\u2500\u2500 start.bat
+\u251c\u2500\u2500 tools
+\u2502�� \u2514\u2500\u2500 webpack.config.plugin.js
+\u251c\u2500\u2500 web
+\u2502�� \u251c\u2500\u2500 index.html
+\u2502�� \u251c\u2500\u2500 index.js
+\u2502�� \u2514\u2500\u2500 js
+\u2502�� \u2514\u2500\u2500 init.js
+\u2514\u2500\u2500 webpack.config.js
+```
+
+Above project template has no ios/android directory by default, you should change to appName path to install necessary dependency.
+
+```bash
+$ cd appName && npm install
+```
+
+#### 2. install Weex application template
+
+Application template by default support Weex plugins and Weex bundle debugging. Please note template name are in lower-case, template was installed under platforms directory.
+
+* android template
+
+```bash
+$ weexpack platform add android
+```
+
+* ios template
+
+```bash
+$ weexpack platform add ios
+```
+
+Take android platform as example\uff0cthe directory under platforms looks as following:
+
+```
+platforms
+\u2514\u2500\u2500 android
+ \u251c\u2500\u2500 LICENSE
+ \u251c\u2500\u2500 NOTICE
+ \u251c\u2500\u2500 README.md
+ \u251c\u2500\u2500 app
+ \u2502�� \u251c\u2500\u2500 build
+ \u2502�� \u251c\u2500\u2500 build.gradle
+ \u2502�� \u251c\u2500\u2500 proguard-rules.pro
+ \u2502�� \u2514\u2500\u2500 src
+ \u251c\u2500\u2500 appframework
+ \u2502�� \u251c\u2500\u2500 build
+ \u2502�� \u251c\u2500\u2500 build.gradle
+ \u2502�� \u251c\u2500\u2500 proguard-rules.pro
+ \u2502�� \u2514\u2500\u2500 src
+ \u251c\u2500\u2500 build
+ \u2502�� \u2514\u2500\u2500 generated
+ \u251c\u2500\u2500 build.gradle
+ \u251c\u2500\u2500 codeStyleSettings.xml
+ \u251c\u2500\u2500 gradle
+ \u2502�� \u2514\u2500\u2500 wrapper
+ \u251c\u2500\u2500 gradle.properties
+ \u251c\u2500\u2500 gradlew
+ \u251c\u2500\u2500 gradlew.bat
+ \u251c\u2500\u2500 settings.gradle
+ \u2514\u2500\u2500 weexplugin
+ \u251c\u2500\u2500 build.gradle
+ \u251c\u2500\u2500 proguard-rules.pro
+ \u2514\u2500\u2500 src
+
+```
+
+* query installed platforms
+
+ ```bash
+ $ weexpack platform list
+ ```
+
+ you will get result like\uff1a
+
+ ```
+ Installed platforms:
+ android
+ Available platforms:
+ android ^6.2.1
+ ```
+
+* remove platform template
+
+ Please use remove command to remove unnecessary platform, for example user want to remove ios template in windows platform.
+
+ ```bash
+ $ weexpack platform remove ios
+ ```
+
+#### 3. install Weex plugin\uff08optional\uff09
+
+* add plugins from local
+
+ ```bash
+ $ weexpack plugin add path/to/plugin
+ ```
+
+* add plugins from Weex market\uff0cfor example weex-chart
+
+ ```bash
+ $ weexpack plugin add weex-chart
+ ```
+
+ weexplugin directory was the target directory where plugin was installed. Take android as an example\uff1a
+
+ ```
+ weexplugin
+ \u251c\u2500\u2500 build.gradle // plugin build script, maintained by weexpack tool
+ \u251c\u2500\u2500 libs
+ \u251c\u2500\u2500 proguard-rules.pro
+ \u251c\u2500\u2500 src
+ \u2502 \u2514\u2500\u2500 main
+ \u2502 \u251c\u2500\u2500 AndroidManifest.xml // plugin android manifest file
+ \u2502 \u251c\u2500\u2500 java
+ \u2502 \u2502 \u251c\u2500\u2500 // \u63d2\u4ef6src\u5b89\u88c5\u76ee\u5f55
+ \u2502 \u2502 \u2514\u2500\u2500 com
+ \u2502 \u2502 \u2514\u2500\u2500 alibaba
+ \u2502 \u2502 \u2514\u2500\u2500 weex
+ \u2502 \u2502 \u2514\u2500\u2500 plugin
+ \u2502 \u2502 \u251c\u2500\u2500 ConfigXmlParser.java // config file parser
+ \u2502 \u2502 \u251c\u2500\u2500 PluginConfig.java // external interface
+ \u2502 \u2502 \u251c\u2500\u2500 PluginEntry.java // plugin description
+ \u2502 \u2502 \u2514\u2500\u2500 PluginManager.java // plugin manager
+ \u2502 \u2514\u2500\u2500 res // plugin resource path
+ \u2502 \u251c\u2500\u2500 drawable
+ \u2502 \u251c\u2500\u2500 values
+ \u2502 \u2502 \u2514\u2500\u2500 strings.xml
+ \u2502 \u2514\u2500\u2500 xml
+ \u2502 \u2514\u2500\u2500 config.xml // plugin config file, which used by PluginManager when install
+ ```
+
+* query installed plugins
+
+ ```bash
+ $ weexpack plugin list
+ ```
+
+* remove installed plugin\uff0cfor example weex-chart
+
+ ```bash
+ $ weexpack plugin remove weex-chart
+ ```
+
+#### 4. pack application and run
+
+After all above steps, you could modify your application we/vue files under src directory. And then, use run command to pack and run your application. Run command will download building tools and all dependencies which may take a while, and open monitor or connect to mobile device to execute your application afterwards.
+
+* for android application
+
+ ```bash
+ $ weexpack run android
+ ```
+
+ You could modify your project information in android.config.json file:
+
+ - AppName: the name of the project
+ - AppId: application_id the name of the package
+ - SplashText: the text in welcome page
+ - WeexBundle: the bundle file (could be local file or remote url). For Local file please put your we/vue files under the src directory
+
+* for ios platform
+
+ * simulator
+
+ ```bash
+ $ weexpack run ios
+ ```
+
+ * Build ipa
+
+ ```bash
+ $ weexpack build ios
+ ```
+
+ this command will prompt for CodeSign, Profile(provisioning profile), AppId to build ipa. Other information like AppName, Weex bundle could be configured as you like in the file ios.config.json. After this command, ipa file could be created under the directory `/playground/build/ipa_build/`.
+
+ Note: For details about various requirements to deploy to a device, refer to the Launch Your App On Devices section of Apple's [About App Distribution Workflows][9]. Briefly, you need to do the following before deploying:
+
+ 1. CodeSign should be installed to keychain, click keychain to get the id;
+ 2. provisioning profile need UUID. you could use the file mobileprovision_UUID.sh to generate UUID as follows:
+
+ ```
+ $ ./mobileprovision_UUID.sh abcpath
+ ```
+ abcpath is the path of provisioning profile file.
+
+* for Web platform
+
+ ```bash
+ $ weexpack run web
+ ```
+
+## Plugin development and publishment
+
+
+
+## Examples
+
+ [Create Weex One App with Weexpack](https://github.com/weexteam/weex-pack/wiki/Create-Weex-One-App-with-Weexpack)
+
+ [1]: https://nodejs.org/
+ [2]: https://www.npmjs.com/
+ [3]: https://itunes.apple.com/us/app/xcode/id497799835?mt=12
+ [4]: https://developer.android.com/studio/install.html
+ [5]: https://developer.android.com/studio/run/managing-avds.html
+ [6]: https://www.docker.com/
+ [7]: https://developer.android.com/studio/releases/sdk-tools.html
+ [8]: https://developer.android.com/studio/run/managing-avds.html
+ [9]: https://developer.apple.com/library/content/documentation/IDEs/Conceptual/AppDistributionGuide/Introduction/Introduction.html
[43/50] incubator-weex git commit: fix the weex-loader url broken in
vue/difference-with-web
Posted by cx...@apache.org.
fix the weex-loader url broken in vue/difference-with-web
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/422e6e98
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/422e6e98
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/422e6e98
Branch: refs/heads/master
Commit: 422e6e984cba8d1ae5a54351c48e12be45837b1c
Parents: 0cd033c
Author: luxp <lu...@gmail.com>
Authored: Mon Mar 6 17:58:05 2017 +0800
Committer: luxp <lu...@gmail.com>
Committed: Mon Mar 6 17:58:05 2017 +0800
----------------------------------------------------------------------
doc/source/references/vue/difference-with-web.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/422e6e98/doc/source/references/vue/difference-with-web.md
----------------------------------------------------------------------
diff --git a/doc/source/references/vue/difference-with-web.md b/doc/source/references/vue/difference-with-web.md
index ff328f4..2af11f9 100644
--- a/doc/source/references/vue/difference-with-web.md
+++ b/doc/source/references/vue/difference-with-web.md
@@ -114,7 +114,7 @@ In addition, you should also pay attention to the following points:
Because of the platform difference, you have to compile your source file in two different ways:
+ For the web, you can compile source files in any official way, such as Webpack + vue-loader or Browserify + vueify. and require the [weex-vue-render](https://www.npmjs.com/package/weex-vue-render), which is a group of Weex build-in components.
-+ For Android and iOS, we've provided [weex-loader](https://github.com/weepteam/weep-loader) to compile the `.vue` files. That is, use Webpack + weex-loader to generate the js bundle that is available for the native.
++ For Android and iOS, we've provided [weex-loader](https://github.com/weexteam/weex-loader) to compile the `.vue` files. That is, use Webpack + weex-loader to generate the js bundle that is available for the native.
### Use weex-loader
[38/50] incubator-weex git commit: * [doc] update cell doc
Posted by cx...@apache.org.
* [doc] update cell doc
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/ea30e052
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/ea30e052
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/ea30e052
Branch: refs/heads/master
Commit: ea30e052519270d2f13474408e76cb25b7812e27
Parents: 6dc87a7
Author: xkli <56...@qq.com>
Authored: Fri Mar 3 17:03:37 2017 +0800
Committer: xkli <56...@qq.com>
Committed: Fri Mar 3 17:03:37 2017 +0800
----------------------------------------------------------------------
doc/source/cn/references/components/cell.md | 3 +++
doc/source/references/components/cell.md | 2 ++
2 files changed, 5 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ea30e052/doc/source/cn/references/components/cell.md
----------------------------------------------------------------------
diff --git a/doc/source/cn/references/components/cell.md b/doc/source/cn/references/components/cell.md
index 8f90d9c..5fadf5d 100644
--- a/doc/source/cn/references/components/cell.md
+++ b/doc/source/cn/references/components/cell.md
@@ -13,6 +13,9 @@ version: 2.1
\u652f\u6301\u6240\u6709 Weex \u7684\u7ec4\u4ef6\u4f5c\u4e3a\u5b83\u7684\u5b50\u7ec4\u4ef6\u3002
+## \u5c5e\u6027
+* `keep-scroll-position`: <span class="api-version">v0.11+</span> <boolen> List \u63d2\u5165\u6570\u636e\u540e\u662f\u5426\u4fdd\u6301\u4e0a\u6b21\u6eda\u52a8\u7684\u4f4d\u7f6e
+
## \u6837\u5f0f
**\u6ce8\u610f\uff1a**
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ea30e052/doc/source/references/components/cell.md
----------------------------------------------------------------------
diff --git a/doc/source/references/components/cell.md b/doc/source/references/components/cell.md
index 97fb7ed..38cfd9b 100644
--- a/doc/source/references/components/cell.md
+++ b/doc/source/references/components/cell.md
@@ -19,6 +19,8 @@ This type of component supports all kinds of weex component as its child compone
**Notes:** you can't give `<cell>` a `flex` value. Width of `<cell>` is equal to the width of its parent component `<list>`, and you don't need to specify its height.
+* `keep-scroll-position`: <span class="api-version">v0.11+</span> <boolen> List Whether to keep the last sliding position after inserting the Cell
+
### Styles
**common styles**: check out the [common styles](../common-style.html)
[10/50] incubator-weex git commit: Merge branch 'dev' of
https://github.com/alibaba/weex into doc-en
Posted by cx...@apache.org.
Merge branch 'dev' of https://github.com/alibaba/weex into doc-en
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/90113615
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/90113615
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/90113615
Branch: refs/heads/master
Commit: 9011361594d1afec40a0ebe7e5a86a3586fbc24c
Parents: cd542a5 5d8f468
Author: Hanks <zh...@gmail.com>
Authored: Thu Feb 23 11:43:56 2017 +0800
Committer: Hanks <zh...@gmail.com>
Committed: Thu Feb 23 11:43:56 2017 +0800
----------------------------------------------------------------------
.eslintignore | 2 +
.eslintrc | 1 +
.gitignore | 4 +
.travis.yml | 22 +-
.wwprc | 3 +-
Dangerfile | 55 +
Gemfile | 15 +
Gemfile.lock | 122 +
README.md | 2 +-
android/.gitignore | 3 +-
android/commons/build.gradle | 12 +-
.../weex/commons/AbstractWeexActivity.java | 2 +-
.../commons/adapter/JSExceptionAdapter.java | 222 +
android/playground/app/build.gradle | 8 +-
.../java/com/alibaba/weex/IndexActivity.java | 204 +
.../java/com/alibaba/weex/SplashActivity.java | 204 +
.../java/com/alibaba/weex/WXApplication.java | 206 +
.../java/com/alibaba/weex/WXBaseActivity.java | 204 +
.../java/com/alibaba/weex/WXDebugActivity.java | 204 +
.../java/com/alibaba/weex/WXPageActivity.java | 204 +
.../com/alibaba/weex/constants/Constants.java | 204 +
.../alibaba/weex/extend/PlayDebugAdapter.java | 204 +
.../extend/adapter/InterceptWXHttpAdapter.java | 204 +
.../alibaba/weex/extend/component/RichText.java | 204 +
.../extend/component/WXComponentSyncTest.java | 204 +
.../weex/extend/module/GeolocationModule.java | 204 +
.../alibaba/weex/extend/module/MyModule.java | 204 +
.../weex/extend/module/RenderModule.java | 204 +
.../weex/extend/module/SyncTestModule.java | 204 +
.../weex/extend/module/WXEventModule.java | 212 +-
.../extend/module/location/DefaultLocation.java | 204 +
.../weex/extend/module/location/ILocatable.java | 204 +
.../extend/module/location/LocationFactory.java | 204 +
.../alibaba/weex/https/HotRefreshManager.java | 204 +
.../com/alibaba/weex/https/WXHttpManager.java | 204 +
.../com/alibaba/weex/https/WXHttpResponse.java | 204 +
.../java/com/alibaba/weex/https/WXHttpTask.java | 204 +
.../alibaba/weex/https/WXOkHttpDispatcher.java | 204 +
.../alibaba/weex/https/WXRequestListener.java | 204 +
.../zxing/client/android/CaptureActivity.java | 1 +
.../com.taobao.taobao_2016.11.21_17.35.li | Bin 2415126 -> 0 bytes
android/run-ci.sh | 4 +
android/sdk/assets/main.js | 19932 +----------------
android/sdk/build.gradle | 52 +-
android/sdk/libs/armeabi/libweexv8.so | Bin 3583820 -> 3583820 bytes
android/sdk/libs/x86/libweexv8.so | Bin 4340864 -> 4340864 bytes
.../main/java/com/taobao/weex/InitConfig.java | 13 +
.../main/java/com/taobao/weex/WXSDKEngine.java | 7 +-
.../java/com/taobao/weex/WXSDKInstance.java | 17 +-
.../main/java/com/taobao/weex/WXSDKManager.java | 14 +
.../weex/adapter/IWXJSExceptionAdapter.java | 218 +
.../appfram/navigator/WXNavigatorModule.java | 88 +-
.../weex/appfram/pickers/WXPickersModule.java | 8 +-
.../appfram/storage/WXSQLiteOpenHelper.java | 2 -
.../com/taobao/weex/bridge/WXBridgeManager.java | 110 +-
.../com/taobao/weex/bridge/WXModuleManager.java | 31 +-
.../java/com/taobao/weex/common/Constants.java | 15 +-
.../taobao/weex/common/WXJSExceptionInfo.java | 331 +
.../java/com/taobao/weex/common/WXModule.java | 12 +-
.../com/taobao/weex/dom/CSSAlignConvert.java | 204 +
.../weex/dom/CSSFlexDirectionConvert.java | 204 +
.../com/taobao/weex/dom/CSSJustifyConvert.java | 204 +
.../taobao/weex/dom/CSSPositionTypeConvert.java | 204 +
.../com/taobao/weex/dom/CSSWrapConvert.java | 204 +
.../main/java/com/taobao/weex/dom/WXAttr.java | 13 +
.../com/taobao/weex/dom/WXCustomStyleSpan.java | 207 +-
.../java/com/taobao/weex/dom/WXDomHandler.java | 2 +-
.../java/com/taobao/weex/dom/WXDomManager.java | 6 +-
.../java/com/taobao/weex/dom/WXDomObject.java | 5 +-
.../main/java/com/taobao/weex/dom/WXStyle.java | 4 +-
.../com/taobao/weex/dom/WXTextDomObject.java | 206 +-
.../com/taobao/weex/http/WXStreamModule.java | 2 +-
.../com/taobao/weex/ui/WXRenderStatement.java | 14 +-
.../weex/ui/animation/WXAnimationModule.java | 4 +-
.../ui/component/AbstractEditComponent.java | 126 +-
.../taobao/weex/ui/component/Scrollable.java | 12 +-
.../java/com/taobao/weex/ui/component/WXA.java | 10 +-
.../taobao/weex/ui/component/WXComponent.java | 54 +-
.../com/taobao/weex/ui/component/WXImage.java | 14 +-
.../com/taobao/weex/ui/component/WXRefresh.java | 8 +-
.../taobao/weex/ui/component/WXScroller.java | 140 +-
.../weex/ui/component/WXSliderNeighbor.java | 93 +-
.../ui/component/list/BasicListComponent.java | 167 +-
.../component/list/HorizontalListComponent.java | 2 +-
.../weex/ui/component/pesudo/PesudoStatus.java | 18 +-
.../taobao/weex/ui/module/WXTimerModule.java | 139 +-
.../taobao/weex/ui/view/WXCircleViewPager.java | 38 +-
.../com/taobao/weex/ui/view/WXScrollView.java | 7 +
.../weex/ui/view/border/BorderDrawable.java | 30 +-
.../taobao/weex/ui/view/border/BorderEdge.java | 6 +-
.../weex/ui/view/border/BorderRadiusType.java | 222 +
.../view/border/BorderWidthStyleColorType.java | 224 +
.../taobao/weex/ui/view/gesture/WXGesture.java | 39 +
.../listview/ExtendedLinearLayoutManager.java | 256 +
.../weex/ui/view/listview/WXRecyclerView.java | 3 +-
.../listview/adapter/ListBaseViewHolder.java | 10 +-
.../adapter/WXRecyclerViewOnScrollListener.java | 6 +-
.../refresh/wrapper/BounceRecyclerView.java | 46 +-
.../taobao/weex/utils/WXDataStructureUtil.java | 211 +-
.../main/java/com/taobao/weex/utils/WXHack.java | 527 -
.../java/com/taobao/weex/utils/WXUtils.java | 200 +-
.../java/com/taobao/weex/utils/WXViewUtils.java | 8 +-
.../ui/component/list/WXListComponentTest.java | 19 +-
.../weex/ui/module/WXTimerModuleTest.java | 151 +-
.../weex/ui/view/border/BorderDrawableTest.java | 4 +-
.../java/com/taobao/weex/utils/WXUtilsTest.java | 125 +-
android/sdk/unittest.sh | 3 +-
bin/dist-browser.sh | 2 +-
build/build.js | 5 +
build/config.js | 5 +-
build/karma.vue.conf.js | 44 +
build/webpack.examples.web.config.js | 68 +
build/webpack.vue.config.js | 52 +
circle.yml | 3 +-
doc/advanced/extend-to-android.md | 175 +
doc/source/cn/guide/intro/app-architecture.md | 34 +-
doc/source/cn/guide/intro/how-it-works.md | 38 +-
doc/source/cn/guide/intro/page-architecture.md | 18 +-
doc/source/cn/guide/intro/using-vue.md | 79 +-
doc/source/cn/guide/intro/web-dev-experience.md | 20 +-
.../cn/references/advanced/extend-to-android.md | 26 +
.../cn/references/advanced/extend-to-ios.md | 45 +-
.../cn/v-0.10/advanced/extend-to-android.md | 27 +-
doc/source/cn/v-0.10/advanced/extend-to-ios.md | 154 +-
doc/source/guide/intro/app-architecture.md | 57 +-
doc/source/guide/intro/how-it-works.md | 62 +-
doc/source/guide/intro/index.md | 4 +-
doc/source/guide/intro/page-architecture.md | 42 +-
doc/source/guide/intro/using-vue.md | 52 +-
doc/source/guide/intro/web-dev-experience.md | 29 +-
doc/source/guide/intro/write-once.md | 19 +-
.../references/advanced/extend-to-android.md | 27 +
doc/source/references/advanced/extend-to-ios.md | 78 +-
doc/source/references/components/cell.md | 6 +-
doc/source/references/gesture.md | 9 +-
doc/source/v-0.10/advanced/extend-to-android.md | 57 +-
doc/source/v-0.10/advanced/extend-to-ios.md | 39 +
examples/component/lengthunitwx-demo.we | 68 +
examples/component/slider-neighbor/index.we | 28 +-
examples/component/text-demo.we | 17 +-
examples/index.we | 4 +-
examples/linear-gradient.we | 70 +
examples/showcase/pseudo-class.we | 102 +
examples/vue/animation.vue | 2 +-
examples/vue/components/input.vue | 2 +-
examples/vue/components/navigator.vue | 2 +-
examples/vue/components/slider.vue | 18 +-
examples/vue/components/text.vue | 4 +-
examples/vue/components/video.vue | 2 +-
examples/vue/components/web.vue | 2 +-
examples/vue/iconfont.vue | 2 +-
examples/vue/include/base-url.js | 2 +-
examples/vue/include/example-list-item.vue | 2 +-
examples/vue/include/marquee.vue | 2 +-
examples/vue/index.vue | 53 +-
examples/vue/modules/clipboard.vue | 4 +-
examples/vue/modules/modal.vue | 2 +-
examples/vue/modules/storage.vue | 2 +-
examples/vue/modules/stream.vue | 2 +-
examples/vue/showcase/calculator.vue | 2 +-
examples/vue/showcase/include/banner.vue | 2 +-
examples/vue/showcase/include/coupon.vue | 2 +-
examples/vue/showcase/include/link.vue | 2 +-
examples/vue/showcase/itemlist.vue | 2 +-
examples/vue/showcase/new-fashion.vue | 4 +-
examples/vue/syntax/script-instance.vue | 2 +-
examples/vue/syntax/script-module.vue | 4 +-
examples/vue/template.vue | 2 +-
html5/frameworks/legacy/app/ctrl/init.js | 2 -
html5/frameworks/legacy/app/ctrl/misc.js | 55 +-
html5/frameworks/legacy/app/instance.js | 14 +-
html5/frameworks/legacy/static/create.js | 6 +-
html5/render/browser/base/component/operate.js | 105 +-
.../browser/base/component/valueFilter.js | 26 +-
html5/render/browser/extend/api/globalEvent.js | 2 +-
.../browser/extend/components/richtext.js | 95 +
html5/render/browser/extend/components/text.js | 2 +-
html5/render/browser/render/index.js | 3 +-
html5/render/vue/.eslintrc | 5 +
html5/render/vue/README.md | 9 +
html5/render/vue/components/a.js | 24 +
html5/render/vue/components/div.js | 25 +
html5/render/vue/components/image.js | 39 +
html5/render/vue/components/index.js | 42 +
html5/render/vue/components/input.js | 53 +
.../render/vue/components/scrollable/header.js | 63 +
.../vue/components/scrollable/list/cell.js | 18 +
.../vue/components/scrollable/list/index.js | 71 +
.../vue/components/scrollable/list/listMixin.js | 117 +
.../components/scrollable/loading-indicator.js | 10 +
.../render/vue/components/scrollable/loading.js | 50 +
.../render/vue/components/scrollable/refresh.js | 51 +
.../vue/components/scrollable/scroller.js | 91 +
.../render/vue/components/scrollable/shared.js | 22 +
html5/render/vue/components/slider/index.js | 141 +
html5/render/vue/components/slider/indicator.js | 64 +
.../render/vue/components/slider/slideMixin.js | 113 +
html5/render/vue/components/switch.js | 57 +
html5/render/vue/components/text.js | 44 +
html5/render/vue/components/textarea.js | 43 +
html5/render/vue/components/video.js | 54 +
html5/render/vue/components/warning.js | 11 +
html5/render/vue/components/web.js | 52 +
html5/render/vue/env/WXEnvironment.js | 39 +
html5/render/vue/env/index.js | 24 +
html5/render/vue/env/viewport.js | 44 +
html5/render/vue/env/weex.js | 63 +
html5/render/vue/index.js | 43 +
html5/render/vue/mixins/base.js | 22 +
html5/render/vue/mixins/event.js | 76 +
html5/render/vue/mixins/index.js | 9 +
html5/render/vue/mixins/scrollable.js | 37 +
html5/render/vue/mixins/style.js | 167 +
html5/render/vue/modules/animation.js | 44 +
html5/render/vue/modules/dom.js | 86 +
html5/render/vue/modules/index.js | 38 +
html5/render/vue/modules/modal/alert.js | 44 +
html5/render/vue/modules/modal/confirm.js | 55 +
html5/render/vue/modules/modal/index.js | 48 +
html5/render/vue/modules/modal/modal.js | 62 +
html5/render/vue/modules/modal/prompt.js | 76 +
html5/render/vue/modules/modal/toast.js | 78 +
html5/render/vue/modules/navigator.js | 16 +
html5/render/vue/modules/webview.js | 21 +
html5/render/vue/styles/components.css | 506 +
html5/render/vue/styles/reset.css | 64 +
html5/render/vue/utils/component.js | 61 +
html5/render/vue/utils/event.js | 57 +
html5/render/vue/utils/func.js | 41 +
html5/render/vue/utils/index.js | 103 +
html5/render/vue/validator/check.js | 88 +
html5/render/vue/validator/index.js | 74 +
html5/render/vue/validator/prop.js | 4 +
html5/render/vue/validator/style.js | 109 +
html5/runtime/config.js | 4 +-
html5/runtime/init.js | 4 -
html5/runtime/task-center.js | 57 +
html5/services/amd/index.js | 18 +-
html5/test/case/prepare.js | 6 +-
html5/test/case/tester.js | 48 +-
html5/test/render/index.js | 3 +
html5/test/render/vue/components/image.js | 49 +
html5/test/render/vue/components/list.js | 21 +
html5/test/render/vue/components/switch.js | 87 +
html5/test/render/vue/components/text.js | 72 +
html5/test/render/vue/components/web.js | 29 +
html5/test/render/vue/examples/list-cell.js | 37 +
html5/test/render/vue/helper.js | 31 +
html5/test/render/vue/utils.js | 48 +
html5/test/render/vue/validator/check.js | 38 +
html5/test/render/vue/validator/index.js | 43 +
html5/test/render/vue/validator/prop.js | 14 +
html5/test/render/vue/validator/style.js | 271 +
html5/test/render/vue/vender/vue-2.0.0.js | 7 +
html5/test/render/vue/vender/vue-2.1.0.js | 8 +
html5/test/unit/default/app/ctrl.js | 14 +-
html5/test/unit/default/app/index.js | 28 +-
ios/playground/Podfile | 2 +-
ios/playground/WeexDemo.app.zip | Bin 0 -> 2561323 bytes
.../WeexDemo.xcodeproj/project.pbxproj | 60 +-
ios/playground/WeexDemo/AppDelegate.m | 18 +
.../AppIcon.appiconset/Icon-29.png | Bin 1682 -> 1614 bytes
.../AppIcon.appiconset/Icon-29@2x-1.png | Bin 2709 -> 2421 bytes
.../AppIcon.appiconset/Icon-29@2x.png | Bin 2709 -> 2421 bytes
.../AppIcon.appiconset/Icon-29@3x.png | Bin 3724 -> 3236 bytes
.../AppIcon.appiconset/Icon-40.png | Bin 2018 -> 1946 bytes
.../AppIcon.appiconset/Icon-40@2x-1.png | Bin 3368 -> 3016 bytes
.../AppIcon.appiconset/Icon-40@2x.png | Bin 3368 -> 3016 bytes
.../AppIcon.appiconset/Icon-40@3x.png | Bin 4715 -> 4172 bytes
.../AppIcon.appiconset/Icon-60@2x.png | Bin 4715 -> 4172 bytes
.../AppIcon.appiconset/Icon-60@3x.png | Bin 6892 -> 6017 bytes
.../AppIcon.appiconset/Icon-76.png | Bin 3324 -> 2918 bytes
.../AppIcon.appiconset/Icon-76@2x.png | Bin 5937 -> 5088 bytes
.../AppIcon.appiconset/Icon-83.5@2x.png | Bin 6942 -> 5537 bytes
ios/playground/WeexDemo/DemoDefine.h | 4 +-
ios/playground/WeexDemo/Info.plist | 20 +-
ios/playground/WeexDemo/UIView+UIThreadCheck.h | 15 +
ios/playground/WeexDemo/UIView+UIThreadCheck.m | 42 +
ios/playground/WeexDemo/WXDemoViewController.m | 5 +
ios/playground/bundlejs/animation.js | 3 +-
ios/playground/bundlejs/component/a-demo.js | 3 +-
.../bundlejs/component/countdown-demo.js | 3 +-
ios/playground/bundlejs/component/image-demo.js | 3 +-
ios/playground/bundlejs/component/input-demo.js | 3 +-
.../bundlejs/component/list/list-demo.js | 3 +-
.../bundlejs/component/marquee-demo.js | 3 +-
.../bundlejs/component/navigator-demo.js | 8 +-
.../bundlejs/component/process-bar-demo.js | 3 +-
.../bundlejs/component/scroller-demo.js | 3 +-
.../bundlejs/component/slider-neighbor/index.js | 264 +
.../slider-neighbor/silder-neighbor.js | 287 -
.../bundlejs/component/slider/index.js | 36 +-
.../bundlejs/component/tabbar/tabbar-demo.js | 5 +-
ios/playground/bundlejs/component/text-demo.js | 111 +-
ios/playground/bundlejs/component/video-demo.js | 3 +-
ios/playground/bundlejs/component/web-demo.js | 11 +-
ios/playground/bundlejs/error.js | 3 +-
ios/playground/bundlejs/index.js | 7 +-
ios/playground/bundlejs/linear-gradient.js | 367 +
ios/playground/bundlejs/module/clipboard.js | 20 +-
ios/playground/bundlejs/module/componentRect.js | 563 +
ios/playground/bundlejs/module/instance-api.js | 18 +-
ios/playground/bundlejs/module/modal.js | 22 +-
ios/playground/bundlejs/module/picker-demo.js | 22 +-
ios/playground/bundlejs/module/storage-demo.js | 18 +-
ios/playground/bundlejs/module/stream-demo.js | 22 +-
.../bundlejs/module/websocket-demo.js | 2409 ++
ios/playground/bundlejs/showcase/calculator.js | 25 +-
.../bundlejs/showcase/dropdown/dropdown-demo.js | 30 +-
.../bundlejs/showcase/dropdown/we-dropdown.js | 12 +-
ios/playground/bundlejs/showcase/minesweeper.js | 18 +-
.../bundlejs/showcase/new-fashion/banner.js | 8 +-
.../bundlejs/showcase/new-fashion/banners.js | 20 +-
.../bundlejs/showcase/new-fashion/brand.js | 36 +-
.../bundlejs/showcase/new-fashion/category.js | 24 +-
.../bundlejs/showcase/new-fashion/coupon.js | 12 +-
.../bundlejs/showcase/new-fashion/fashion.js | 38 +-
.../bundlejs/showcase/new-fashion/goods.js | 24 +-
.../bundlejs/showcase/new-fashion/headlines.js | 48 +-
.../bundlejs/showcase/new-fashion/image-demo.js | 3 +-
.../bundlejs/showcase/new-fashion/index.js | 27 +-
.../bundlejs/showcase/new-fashion/link.js | 8 +-
.../showcase/new-fashion/list/list-demo.js | 3 +-
.../bundlejs/showcase/new-fashion/main.js | 213 +-
.../bundlejs/showcase/new-fashion/match.js | 24 +-
.../bundlejs/showcase/new-fashion/resource.js | 38 +-
.../bundlejs/showcase/new-fashion/scene.js | 24 +-
.../bundlejs/showcase/pseudo-class.js | 2422 ++
ios/playground/bundlejs/showcase/ui.js | 28 +-
ios/playground/bundlejs/style/index.js | 80 +-
ios/playground/bundlejs/style/style-box.js | 44 +-
ios/playground/bundlejs/style/style-flex.js | 52 +-
ios/playground/bundlejs/style/style-item.js | 12 +-
ios/playground/bundlejs/syntax/hello-world-1.js | 4 +-
ios/playground/bundlejs/syntax/hello-world-2.js | 6 +-
ios/playground/bundlejs/syntax/hello-world-3.js | 10 +-
ios/playground/bundlejs/syntax/hello-world-4.js | 14 +-
ios/playground/bundlejs/syntax/hello-world-5.js | 14 +-
ios/playground/bundlejs/syntax/hello-world.js | 14 +-
ios/playground/bundlejs/syntax/index.js | 28 +-
.../bundlejs/syntax/script-component.js | 24 +-
ios/playground/bundlejs/syntax/script-data.js | 12 +-
ios/playground/bundlejs/syntax/script-events.js | 12 +-
.../bundlejs/syntax/script-instance.js | 12 +-
.../bundlejs/syntax/script-lifecycle.js | 12 +-
ios/playground/bundlejs/syntax/script-module.js | 12 +-
.../bundlejs/syntax/script-options.js | 12 +-
.../bundlejs/syntax/template-class.js | 12 +-
.../bundlejs/syntax/template-content.js | 20 +-
.../bundlejs/syntax/template-event.js | 12 +-
ios/playground/bundlejs/syntax/template-if.js | 12 +-
.../bundlejs/syntax/template-repeat-update.js | 12 +-
.../bundlejs/syntax/template-repeat.js | 12 +-
.../bundlejs/syntax/template-style.js | 8 +-
ios/playground/bundlejs/template.js | 15 +-
ios/playground/bundlejs/test.js | 128 +
ios/playground/bundlejs/vue/animation.js | 709 +
ios/playground/bundlejs/vue/components/a.js | 438 +
.../bundlejs/vue/components/countdown.js | 640 +
ios/playground/bundlejs/vue/components/image.js | 641 +
ios/playground/bundlejs/vue/components/input.js | 364 +
ios/playground/bundlejs/vue/components/list.js | 246 +
.../bundlejs/vue/components/marquee.js | 534 +
.../bundlejs/vue/components/navigator.js | 1059 +
.../bundlejs/vue/components/scroller.js | 304 +
.../bundlejs/vue/components/slider.js | 898 +
.../bundlejs/vue/components/tabbar.js | 599 +
ios/playground/bundlejs/vue/components/text.js | 513 +
ios/playground/bundlejs/vue/components/video.js | 396 +
ios/playground/bundlejs/vue/components/web.js | 459 +
ios/playground/bundlejs/vue/hello.js | 99 +
ios/playground/bundlejs/vue/iconfont.js | 204 +
ios/playground/bundlejs/vue/index.js | 496 +
.../bundlejs/vue/modules/clipboard.js | 691 +
.../bundlejs/vue/modules/instance-api.js | 304 +
ios/playground/bundlejs/vue/modules/modal.js | 581 +
ios/playground/bundlejs/vue/modules/storage.js | 381 +
ios/playground/bundlejs/vue/modules/stream.js | 477 +
.../bundlejs/vue/showcase/calculator.js | 340 +
.../bundlejs/vue/showcase/itemlist.js | 1062 +
.../bundlejs/vue/showcase/new-fashion.js | 3302 +++
.../bundlejs/vue/showcase/progress.js | 336 +
ios/playground/bundlejs/vue/style/index.js | 1566 ++
ios/playground/bundlejs/vue/style/style-box.js | 780 +
ios/playground/bundlejs/vue/style/style-flex.js | 919 +
ios/playground/bundlejs/vue/style/style-item.js | 155 +
.../bundlejs/vue/syntax/hello-world-1.js | 95 +
.../bundlejs/vue/syntax/hello-world-2.js | 112 +
.../bundlejs/vue/syntax/hello-world-3.js | 127 +
.../bundlejs/vue/syntax/hello-world-4.js | 167 +
.../bundlejs/vue/syntax/hello-world-5.js | 173 +
.../bundlejs/vue/syntax/hello-world.js | 183 +
.../bundlejs/vue/syntax/script-component.js | 224 +
.../bundlejs/vue/syntax/script-data.js | 214 +
.../bundlejs/vue/syntax/script-events.js | 161 +
.../bundlejs/vue/syntax/script-instance.js | 196 +
.../bundlejs/vue/syntax/script-lifecycle.js | 155 +
.../bundlejs/vue/syntax/script-module.js | 156 +
.../bundlejs/vue/syntax/script-options.js | 182 +
.../bundlejs/vue/syntax/template-class.js | 161 +
.../bundlejs/vue/syntax/template-content.js | 189 +
.../bundlejs/vue/syntax/template-event.js | 197 +
.../bundlejs/vue/syntax/template-if.js | 165 +
.../vue/syntax/template-repeat-update.js | 195 +
.../bundlejs/vue/syntax/template-repeat.js | 170 +
.../bundlejs/vue/syntax/template-style.js | 144 +
ios/playground/bundlejs/vue/template.js | 796 +
ios/sdk/WeexSDK.podspec | 2 +-
ios/sdk/WeexSDK.xcodeproj/project.pbxproj | 32 +-
.../xcshareddata/xcschemes/WeexSDK.xcscheme | 2 +-
.../xcschemes/WeexSDKTests.xcscheme | 4 +-
ios/sdk/WeexSDK/Resources/main.js | 14 +-
.../WeexSDK/Sources/Bridge/WXBridgeContext.h | 5 +
.../WeexSDK/Sources/Bridge/WXBridgeContext.m | 11 +-
ios/sdk/WeexSDK/Sources/Bridge/WXBridgeMethod.m | 38 +
ios/sdk/WeexSDK/Sources/Bridge/WXJSCoreBridge.m | 1 +
ios/sdk/WeexSDK/Sources/Bridge/WXModuleMethod.m | 12 +-
.../WeexSDK/Sources/Component/WXCellComponent.h | 1 +
.../WeexSDK/Sources/Component/WXCellComponent.m | 5 +
.../Sources/Component/WXComponent_internal.h | 4 +-
.../Sources/Component/WXImageComponent.m | 2 +-
.../WeexSDK/Sources/Component/WXListComponent.m | 39 +-
.../Sources/Component/WXLoadingComponent.m | 4 +-
.../Sources/Component/WXLoadingIndicator.h | 1 -
.../Sources/Component/WXLoadingIndicator.m | 81 +-
.../Sources/Component/WXRefreshComponent.h | 6 +
.../Sources/Component/WXRefreshComponent.m | 22 +-
.../Sources/Component/WXScrollerComponent.m | 69 +-
.../Sources/Component/WXSliderComponent.m | 80 +-
.../Sources/Component/WXTextAreaComponent.m | 51 +
.../WeexSDK/Sources/Component/WXTextComponent.m | 57 +-
.../Sources/Component/WXTextInputComponent.m | 50 +-
ios/sdk/WeexSDK/Sources/Component/WXTransform.h | 15 +-
ios/sdk/WeexSDK/Sources/Component/WXTransform.m | 310 +-
.../Sources/Component/WXVideoComponent.m | 2 +-
.../Sources/Controller/WXBaseViewController.h | 2 +-
.../Sources/Controller/WXRootViewController.h | 2 +-
ios/sdk/WeexSDK/Sources/Debug/WXDebugTool.h | 8 +
ios/sdk/WeexSDK/Sources/Debug/WXDebugTool.m | 52 +-
ios/sdk/WeexSDK/Sources/Engine/WXSDKEngine.h | 9 +-
ios/sdk/WeexSDK/Sources/Engine/WXSDKEngine.m | 37 +-
ios/sdk/WeexSDK/Sources/Engine/WXSDKError.h | 2 +-
.../WeexSDK/Sources/Events/WXComponent+Events.m | 8 +-
.../Sources/Handler/WXNavigationDefaultImpl.m | 6 +-
.../WeexSDK/Sources/Layout/WXComponent+Layout.m | 3 +-
.../WeexSDK/Sources/Manager/WXBridgeManager.h | 23 +-
.../WeexSDK/Sources/Manager/WXBridgeManager.m | 13 +
.../Sources/Manager/WXComponentManager.h | 4 +-
.../Sources/Manager/WXComponentManager.m | 12 +-
ios/sdk/WeexSDK/Sources/Manager/WXRuleManager.m | 7 +-
.../WeexSDK/Sources/Manager/WXServiceFactory.m | 2 +-
ios/sdk/WeexSDK/Sources/Model/WXComponent.h | 6 +-
ios/sdk/WeexSDK/Sources/Model/WXComponent.m | 2 +-
.../WeexSDK/Sources/Model/WXJSExceptionInfo.h | 60 +
.../WeexSDK/Sources/Model/WXJSExceptionInfo.m | 39 +
ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.h | 19 +-
ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m | 9 +-
.../WeexSDK/Sources/Module/WXAnimationModule.m | 272 +-
.../WeexSDK/Sources/Module/WXClipboardModule.m | 4 +-
ios/sdk/WeexSDK/Sources/Module/WXDomModule.m | 53 +-
.../Sources/Module/WXGlobalEventModule.m | 8 +-
.../WeexSDK/Sources/Module/WXModalUIModule.m | 4 +-
.../WeexSDK/Sources/Module/WXNavigatorModule.m | 22 +-
ios/sdk/WeexSDK/Sources/Module/WXPickerModule.m | 34 +-
.../WeexSDK/Sources/Module/WXStorageModule.m | 72 +-
ios/sdk/WeexSDK/Sources/Module/WXStreamModule.m | 24 +-
.../WeexSDK/Sources/Module/WXWebSocketModule.m | 4 +-
.../Sources/Protocol/WXImgLoaderProtocol.h | 2 +-
.../Sources/Protocol/WXJSExceptionProtocol.h | 21 +
.../Sources/Protocol/WXNavigationProtocol.h | 8 +-
.../Sources/Protocol/WXScrollerProtocol.h | 2 +-
ios/sdk/WeexSDK/Sources/Utility/WXAssert.h | 3 +
ios/sdk/WeexSDK/Sources/Utility/WXConvert.h | 3 +-
ios/sdk/WeexSDK/Sources/Utility/WXConvert.m | 25 +-
ios/sdk/WeexSDK/Sources/Utility/WXDefine.h | 3 +-
ios/sdk/WeexSDK/Sources/Utility/WXLength.h | 31 +
ios/sdk/WeexSDK/Sources/Utility/WXLength.m | 61 +
.../Utility/WXSimulatorShortcutManager.m | 12 +-
ios/sdk/WeexSDK/Sources/Utility/WXUtility.h | 63 +-
ios/sdk/WeexSDK/Sources/Utility/WXUtility.m | 133 +-
.../Sources/View/WXComponent+ViewManagement.m | 18 +-
ios/sdk/WeexSDK/Sources/WeexSDK.h | 6 +
ios/sdk/WeexSDK/dependency/SRWebSocket.m | 4 +-
ios/sdk/WeexSDKTests/WXComponentTests.m | 2 +-
ios/sdk/WeexSDKTests/WXFloatCompareTests.m | 82 +
ios/sdk/WeexSDKTests/WXRootViewTests.m | 35 +-
ios/sdk/WeexSDKTests/WXStorageTests.m | 16 +-
ios/sdk/WeexSDKTests/WXStreamModuleTests.m | 30 -
package.json | 37 +-
packages/weex-html5/LICENSE | 201 +
packages/weex-html5/NOTICE | 7 +
packages/weex-html5/README.md | 158 +
packages/weex-html5/demo/build/index.js | 111 +
packages/weex-html5/demo/index.we | 29 +
packages/weex-html5/index.html | 57 +
packages/weex-html5/package.json | 23 +
packages/weex-vue-render/README.md | 5 +
packages/weex-vue-render/package.json | 24 +
test/ci-funcs.sh | 110 +
test/mocha.opts | 2 +
test/pages/components/input.we | 0
test/pages/dom-operation.we | 32 +
test/pages/list-scroll.we | 31 +
test/pages/scroller-scroll.we | 31 +
test/run.sh | 47 +-
test/scripts/components/scroll-event.test.js | 92 +
test/scripts/dom.test.js | 73 +
test/scripts/index.test.js | 46 +-
test/scripts/test.js | 1 -
test/scripts/util.js | 57 +
test/scripts/weex-node-map.js | 17 -
test/scripts/weex.js | 129 -
vue.html | 43 +
513 files changed, 49501 insertions(+), 23142 deletions(-)
----------------------------------------------------------------------
[25/50] incubator-weex git commit: * [website] updated website deploy
config
Posted by cx...@apache.org.
* [website] updated website deploy config
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/b6d8ab0e
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/b6d8ab0e
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/b6d8ab0e
Branch: refs/heads/master
Commit: b6d8ab0e681752a6bb542a4e1a6cf11cd1559bfd
Parents: 5529bb1
Author: Jinjiang <zh...@me.com>
Authored: Sun Feb 26 23:54:43 2017 +0800
Committer: Jinjiang <zh...@me.com>
Committed: Sun Feb 26 23:54:43 2017 +0800
----------------------------------------------------------------------
doc/_config.yml | 7 ++++---
doc/package.json | 2 +-
2 files changed, 5 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b6d8ab0e/doc/_config.yml
----------------------------------------------------------------------
diff --git a/doc/_config.yml b/doc/_config.yml
index 7be4798..adeb1fd 100644
--- a/doc/_config.yml
+++ b/doc/_config.yml
@@ -54,12 +54,13 @@ jsonContent:
## Docs: https://hexo.io/docs/deployment.html
deploy:
type: git
- repo: git@github.com:DoranYun/weex.git
- branch: gh-pages
+ repo: http://git-wip-us.apache.org/repos/asf/incubator-weex-site.git
+ branch: asf-site
+ target_dir: content
# URL
## If your site is put in a subdirectory, set url as 'http://yoursite.com/child' and root as '/child/'
-url: https://weex-project.io
+url: https://weex.apache.org
root: /
permalink_defaults:
lang: en
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b6d8ab0e/doc/package.json
----------------------------------------------------------------------
diff --git a/doc/package.json b/doc/package.json
index e923d62..7a12cba 100644
--- a/doc/package.json
+++ b/doc/package.json
@@ -11,7 +11,7 @@
"dependencies": {
"hexo": "^3.2.2",
"hexo-autoprefixer": "^1.0.0",
- "hexo-deployer-git": "^0.2.0",
+ "hexo-deployer-git": "git@github.com:Jinjiang/hexo-deployer-git.git",
"hexo-generator-alias": "git+https://github.com/hexojs/hexo-generator-alias.git",
"hexo-generator-archive": "^0.1.4",
"hexo-generator-category": "^0.1.3",
[41/50] incubator-weex git commit: fix a typo in gesture reference doc
Posted by cx...@apache.org.
fix a typo in gesture reference doc
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/0cd033cb
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/0cd033cb
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/0cd033cb
Branch: refs/heads/master
Commit: 0cd033cbf6055caaeb63df5691c6c40d646a3a85
Parents: 6dc87a7
Author: luxp <lu...@gmail.com>
Authored: Mon Mar 6 14:11:17 2017 +0800
Committer: luxp <lu...@gmail.com>
Committed: Mon Mar 6 14:11:17 2017 +0800
----------------------------------------------------------------------
doc/source/references/gesture.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/0cd033cb/doc/source/references/gesture.md
----------------------------------------------------------------------
diff --git a/doc/source/references/gesture.md b/doc/source/references/gesture.md
index eae045a..d93d836 100644
--- a/doc/source/references/gesture.md
+++ b/doc/source/references/gesture.md
@@ -27,7 +27,7 @@ For now, there are four types of gestures:
* `horizontalpan`
* `verticalpan`
* **Swipe**. Swipe is fired when user swipe a touch point on the screen. A serial of motion will only trigger one Swipe gesture.
-* **LongPress**. Swipe is fired when a touch point is held for 500 ms or more.
+* **LongPress**. LongPress is fired when a touch point is held for 500 ms or more.
The Touch gesture and Pan is very close to each other, with following features hold:
[49/50] incubator-weex git commit: [ios] fix wrong spelling caused
compile error on Xcode version 8.2.1(8C1002)
Posted by cx...@apache.org.
[ios] fix wrong spelling caused compile error on Xcode version 8.2.1(8C1002)
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/56b1df4c
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/56b1df4c
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/56b1df4c
Branch: refs/heads/master
Commit: 56b1df4c03163c9a67d4df712ad84decdabe62f6
Parents: 6e71437
Author: \u6728\u74dc <mu...@uoko.com>
Authored: Thu Mar 16 16:39:50 2017 +0800
Committer: \u6728\u74dc <mu...@uoko.com>
Committed: Thu Mar 16 16:39:50 2017 +0800
----------------------------------------------------------------------
ios/sdk/WeexSDK/Sources/Engine/WXSDKError.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/56b1df4c/ios/sdk/WeexSDK/Sources/Engine/WXSDKError.h
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Engine/WXSDKError.h b/ios/sdk/WeexSDK/Sources/Engine/WXSDKError.h
index ba4846d..851194d 100644
--- a/ios/sdk/WeexSDK/Sources/Engine/WXSDKError.h
+++ b/ios/sdk/WeexSDK/Sources/Engine/WXSDKError.h
@@ -7,7 +7,7 @@
*/
#import <Foundation/Foundation.h>
-#import "WXSDkInstance.h"
+#import "WXSDKInstance.h"
typedef NS_ENUM(int, WXSDKErrCode)
{
[39/50] incubator-weex git commit: * [doc] update cell attrabute
Posted by cx...@apache.org.
* [doc] update cell attrabute
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/be6801e2
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/be6801e2
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/be6801e2
Branch: refs/heads/master
Commit: be6801e20bef35d01193f49c359184fc7204a3ba
Parents: ea30e05
Author: xkli <56...@qq.com>
Authored: Mon Mar 6 10:53:35 2017 +0800
Committer: xkli <56...@qq.com>
Committed: Mon Mar 6 10:53:35 2017 +0800
----------------------------------------------------------------------
doc/source/cn/references/components/cell.md | 2 +-
doc/source/references/components/cell.md | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/be6801e2/doc/source/cn/references/components/cell.md
----------------------------------------------------------------------
diff --git a/doc/source/cn/references/components/cell.md b/doc/source/cn/references/components/cell.md
index 5fadf5d..95a3e83 100644
--- a/doc/source/cn/references/components/cell.md
+++ b/doc/source/cn/references/components/cell.md
@@ -14,7 +14,7 @@ version: 2.1
\u652f\u6301\u6240\u6709 Weex \u7684\u7ec4\u4ef6\u4f5c\u4e3a\u5b83\u7684\u5b50\u7ec4\u4ef6\u3002
## \u5c5e\u6027
-* `keep-scroll-position`: <span class="api-version">v0.11+</span> <boolen> List \u63d2\u5165\u6570\u636e\u540e\u662f\u5426\u4fdd\u6301\u4e0a\u6b21\u6eda\u52a8\u7684\u4f4d\u7f6e
+* `keep-scroll-position {boolen}`: <span class="api-version">v0.11+</span> List \u63d2\u5165\u6570\u636e\u540e\u662f\u5426\u4fdd\u6301\u4e0a\u6b21\u6eda\u52a8\u7684\u4f4d\u7f6e
## \u6837\u5f0f
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/be6801e2/doc/source/references/components/cell.md
----------------------------------------------------------------------
diff --git a/doc/source/references/components/cell.md b/doc/source/references/components/cell.md
index 38cfd9b..14b2572 100644
--- a/doc/source/references/components/cell.md
+++ b/doc/source/references/components/cell.md
@@ -19,7 +19,7 @@ This type of component supports all kinds of weex component as its child compone
**Notes:** you can't give `<cell>` a `flex` value. Width of `<cell>` is equal to the width of its parent component `<list>`, and you don't need to specify its height.
-* `keep-scroll-position`: <span class="api-version">v0.11+</span> <boolen> List Whether to keep the last sliding position after inserting the Cell
+* `keep-scroll-position {boolen}`: <span class="api-version">v0.11+</span> List Whether to keep the last sliding position after inserting the Cell
### Styles
[21/50] incubator-weex git commit: * [ios] fix bug uifont lead crash
in iOS system less than 8.2 #2769
Posted by cx...@apache.org.
* [ios] fix bug uifont lead crash in iOS system less than 8.2 #2769
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/59eba970
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/59eba970
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/59eba970
Branch: refs/heads/master
Commit: 59eba97035be5062515ee749e31a06c6c924535d
Parents: 5529bb1
Author: kfeagle <su...@163.com>
Authored: Fri Feb 24 18:14:45 2017 +0800
Committer: kfeagle <su...@163.com>
Committed: Fri Feb 24 18:14:45 2017 +0800
----------------------------------------------------------------------
ios/sdk/WeexSDK/Sources/Utility/WXUtility.m | 16 ++++++++++++----
1 file changed, 12 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/59eba970/ios/sdk/WeexSDK/Sources/Utility/WXUtility.m
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Utility/WXUtility.m b/ios/sdk/WeexSDK/Sources/Utility/WXUtility.m
index dde3ffb..23b1b1b 100644
--- a/ios/sdk/WeexSDK/Sources/Utility/WXUtility.m
+++ b/ios/sdk/WeexSDK/Sources/Utility/WXUtility.m
@@ -356,19 +356,27 @@ static BOOL WXNotStat;
if (!font) {
if (fontFamily) {
font = [UIFont fontWithName:fontFamily size:fontSize];
- if (!font) {
+ }
+ if (!font) {
+ if (fontFamily) {
WXLogWarning(@"Unknown fontFamily:%@", fontFamily);
+ }
+ if(WX_SYS_VERSION_LESS_THAN(@"8.2")) {
+ font = [UIFont systemFontOfSize:fontSize];
+ } else {
font = [UIFont systemFontOfSize:fontSize weight:textWeight];
}
- } else {
- font = [UIFont systemFontOfSize:fontSize weight:textWeight];
}
}
UIFontDescriptor *fontD = font.fontDescriptor;
UIFontDescriptorSymbolicTraits traits = 0;
traits = (textStyle == WXTextStyleItalic) ? (traits | UIFontDescriptorTraitItalic) : traits;
- traits = (fabs(textWeight-(WX_SYS_VERSION_LESS_THAN(@"8.2")?0.4:UIFontWeightBold)) <= 1e-6) ? (traits | UIFontDescriptorTraitBold) : traits;
+ if (WX_SYS_VERSION_LESS_THAN(@"8.2")) {
+ traits = ((textWeight-0.4) >= 0.0) ? (traits | UIFontDescriptorTraitBold) : traits;
+ }else {
+ traits = (textWeight-UIFontWeightBold >= 0.0) ? (traits | UIFontDescriptorTraitBold) : traits;
+ }
if (traits != 0) {
fontD = [fontD fontDescriptorWithSymbolicTraits:traits];
UIFont *tempFont = [UIFont fontWithDescriptor:fontD size:0];
[44/50] incubator-weex git commit: * [doc] Update cn docs,
all changes are shown below:
Posted by cx...@apache.org.
* [doc] Update cn docs, all changes are shown below:
- Weex supports horizontalpan/verticalpan currently;
- weex-toolkit@release supports Vue 2.0 template;
- Fix typo.
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/f6838783
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/f6838783
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/f6838783
Branch: refs/heads/master
Commit: f683878399471b8171127983ec078cf22879328b
Parents: 9dd6bdd
Author: Yun Dong <yu...@gmail.com>
Authored: Tue Mar 7 14:31:02 2017 +0800
Committer: Yun Dong <yu...@gmail.com>
Committed: Tue Mar 7 14:31:02 2017 +0800
----------------------------------------------------------------------
doc/source/cn/guide/set-up-env.md | 8 +-
doc/source/cn/guide/tools/weexpack.md | 2 +-
.../cn/references/advanced/extend-to-ios.md | 231 ++++++++++---------
doc/source/cn/references/components/cell.md | 2 +-
doc/source/cn/references/gesture.md | 3 +-
doc/source/guide/intro/devtools.md | 100 --------
doc/source/guide/set-up-env.md | 2 +-
doc/source/guide/tools/weexpack.md | 2 +
8 files changed, 131 insertions(+), 219 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/f6838783/doc/source/cn/guide/set-up-env.md
----------------------------------------------------------------------
diff --git a/doc/source/cn/guide/set-up-env.md b/doc/source/cn/guide/set-up-env.md
index 79ff249..5d77a45 100644
--- a/doc/source/cn/guide/set-up-env.md
+++ b/doc/source/cn/guide/set-up-env.md
@@ -12,7 +12,7 @@ has_chapter_content: true
## \u7b2c\u4e00\u6b65\uff1a\u5b89\u88c5\u4f9d\u8d56
-Weex \u5b98\u65b9\u63d0\u4f9b\u4e86 weex-toolkit \u7684\u811a\u624b\u67b6\u5de5\u5177\u6765\u8f85\u52a9\u5f00\u53d1\u548c\u8c03\u8bd5\u3002\u9996\u5148\uff0c\u4f60\u9700\u8981 Node.js \u548c weex-toolkit\u3002
+Weex \u5b98\u65b9\u63d0\u4f9b\u4e86 weex-toolkit \u7684\u811a\u624b\u67b6\u5de5\u5177\u6765\u8f85\u52a9\u5f00\u53d1\u548c\u8c03\u8bd5\u3002\u9996\u5148\uff0c\u4f60\u9700\u8981 Node.js \u548c [Weex CLi](https://github.com/weexteam/weex-toolkit)\u3002
\u5b89\u88c5 Node.js \u65b9\u5f0f\u591a\u79cd\u591a\u6837\uff0c\u6700\u7b80\u5355\u7684\u65b9\u5f0f\u662f\u5728 [Node.js \u5b98\u7f51](https://nodejs.org/en/) \u4e0b\u8f7d\u53ef\u6267\u884c\u7a0b\u5e8f\u76f4\u63a5\u5b89\u88c5\u5373\u53ef\u3002
@@ -46,12 +46,14 @@ $ weex -v
v1.0.3
weex-builder : v0.2.4
weex-previewer : v1.3.4
-```
+```
+
\u56fd\u5185\u5f00\u53d1\u8005\u53ef\u4ee5\u8003\u8651\u4f7f\u7528\u6dd8\u5b9d\u7684 npm \u955c\u50cf \u2014\u2014 [cnpm](https://npm.taobao.org/) \u5b89\u88c5 weex-toolkit
+
```bash
-$ npm install -g cnpm
+$ npm install -g cnpm --registry=https://registry.npm.taobao.org
$ cnpm install -g weex-toolkit
```
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/f6838783/doc/source/cn/guide/tools/weexpack.md
----------------------------------------------------------------------
diff --git a/doc/source/cn/guide/tools/weexpack.md b/doc/source/cn/guide/tools/weexpack.md
index ac64dd7..ee1a26c 100644
--- a/doc/source/cn/guide/tools/weexpack.md
+++ b/doc/source/cn/guide/tools/weexpack.md
@@ -372,7 +372,7 @@ weexplugin
## \u63d2\u4ef6\u5f00\u53d1\u6587\u6863
-+ [\u5f00\u53d1 web \u7684\u63d2\u4ef6\u6559\u7a0b](./doc/plugin-devloping-web.md)
++ [\u5f00\u53d1 web \u7684\u63d2\u4ef6\u6559\u7a0b](https://github.com/weexteam/weex-pack/blob/master/doc/plugin-devloping-web.md)
## \u793a\u4f8b
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/f6838783/doc/source/cn/references/advanced/extend-to-ios.md
----------------------------------------------------------------------
diff --git a/doc/source/cn/references/advanced/extend-to-ios.md b/doc/source/cn/references/advanced/extend-to-ios.md
index 4edecf4..25872bb 100644
--- a/doc/source/cn/references/advanced/extend-to-ios.md
+++ b/doc/source/cn/references/advanced/extend-to-ios.md
@@ -11,119 +11,126 @@ version: 2.1
Weex SDK \u53ea\u63d0\u4f9b\u6e32\u67d3\uff0c\u800c\u4e0d\u662f\u5176\u4ed6\u7684\u80fd\u529b\uff0c\u5982\u679c\u4f60\u9700\u8981 \u50cf\u7f51\u7edc\uff0c\u56fe\u7247\uff0cURL\u8df3\u8f6c\u8fd9\u4e9b\u7279\u6027\uff0c\u9700\u8981\u81ea\u5df1\u52a8\u624b\u5b9e\u73b0\u4ed6\u4eec
\u4f8b\u5982\uff0c\u5982\u679c\u4f60\u60f3\u5b9e\u73b0\u4e00\u4e2aurl\u5730\u5740\u8df3\u8f6c\u51fd\u6570\uff0c\u4f60\u53ef\u4ee5\u6309\u7167\u5982\u4e0b\u6b65\u9aa4\u5b9e\u73b0\u4e00\u4e2a Module
-1. **\u81ea\u5b9a\u4e49module\u7684\u6b65\u9aa4**
- 1. \u81ea\u5b9a\u4e49\u7684module\u7c7b \u5fc5\u987b\u5b9e\u73b0 `WXModuleProtocol`
- 2. \u5fc5\u987b\u6dfb\u52a0\u5b8f`WX_EXPORT_METHOD`, \u5b83\u53ef\u4ee5\u88abweex\u8bc6\u522b\uff0c\u5b83\u7684\u53c2\u6570\u662f JavaScript\u8c03\u7528 module\u6307\u5b9a\u65b9\u6cd5\u7684\u53c2\u6570
- 3. \u6dfb\u52a0`@synthesized weexInstance`\uff0c\u6bcf\u4e2amoudle\u5bf9\u8c61\u88ab\u7ed1\u5b9a\u5230\u4e00\u4e2a\u6307\u5b9a\u7684\u5b9e\u4f8b\u4e0a
- 4. Module \u65b9\u6cd5\u4f1a\u5728UI\u7ebf\u7a0b\u4e2d\u88ab\u8c03\u7528\uff0c\u6240\u4ee5\u4e0d\u8981\u505a\u592a\u591a\u8017\u65f6\u7684\u4efb\u52a1\u5728\u8fd9\u91cc\uff0c\u5982\u679c\u8981\u5728\u5176\u4ed6\u7ebf\u7a0b\u6267\u884c\u6574\u4e2amodule \u65b9\u6cd5\uff0c\u9700\u8981\u5b9e\u73b0`WXModuleProtocol`\u4e2d`- (NSThread *)targetExecuteThread`\u7684\u65b9\u6cd5\uff0c\u8fd9\u6837\uff0c\u5206\u53d1\u5230\u8fd9\u4e2amodule\u7684\u4efb\u52a1\u4f1a\u5728\u6307\u5b9a\u7684\u7ebf\u7a0b\u4e2d\u8fd0\u884c
- 5. Weex \u7684\u53c2\u6570\u53ef\u4ee5\u662f String \u6216\u8005Map
- 6. Module \u652f\u6301\u8fd4\u56de\u503c\u7ed9 JavaScript\u4e2d\u7684\u56de\u8c03\uff0c\u56de\u8c03\u7684\u7c7b\u578b\u662f`WXModuleCallback`,\u56de\u8c03\u7684\u53c2\u6570\u53ef\u4ee5\u662fString\u6216\u8005Map
-
- ```object-c
- @implementation WXEventModule
- @synthesize weexInstance;
- WX_EXPORT_METHOD(@selector(openURL:callback))
- - (void)openURL:(NSString *)url callback:(WXModuleCallback)callback
- {
- NSString *newURL = url;
- if ([url hasPrefix:@"//"]) {
- newURL = [NSString stringWithFormat:@"http:%@", url];
- } else if (![url hasPrefix:@"http"]) {
- newURL = [NSURL URLWithString:url relativeToURL:weexInstance.scriptURL].absoluteString;
- }
-
- UIViewController *controller = [[WXDemoViewController alloc] init];
- ((WXDemoViewController *)controller).url = [NSURL URLWithString:newURL];
-
- [[weexInstance.viewController navigationController] pushViewController:controller animated:YES];
- callback(@{@"result":@"success"});
- }
-
- @end
- ```
-2. **Register the module**
- \u901a\u8fc7\u8c03\u7528 WXSDKEngine \u4e2d\u7684 `registerModule:withClass`\u65b9\u6cd5\u6765\u6ce8\u518c\u81ea\u5df1\u7684module
-
- ```object-c
- WXSDKEngine.h
- /**
- * @abstract Registers a module for a given name
- * @param name The module name to register
- * @param clazz The module class to register
- **/
- + (void)registerModule:(NSString *)name withClass:(Class)clazz;
- [WXSDKEngine registerModule:@"event" withClass:[WXEventModule class]];
- ```
-3. **\u4f7f\u7528\u81ea\u5df1\u7684module**
- \u8fd9\u91cc\u7684 require \u91cc\u9762\u7684event \u5c31\u662f\u5728 \u4e0a\u4e00\u6b65\u8c03\u7528`registerModule:` \u6ce8\u518cmodule \u65f6\u5019\u7684name
-
- ```javascript
- var eventModule = weex.requireModule('event');
- eventModule.openURL('url',function(ret) {
- nativeLog(ret);
- });
- ```
-
- Weex SDK\u6ca1\u6709 \u56fe\u7247\u4e0b\u8f7d\uff0cnavigation \u64cd\u4f5c\u7684\u80fd\u529b\uff0c\u8bf7\u5927\u5bb6\u81ea\u5df1\u5b9e\u73b0\u8fd9\u4e9b protocol
-
-4. **WXImgLoaderProtocol**
-
- weexSDK \u6ca1\u6709\u56fe\u7247\u4e0b\u8f7d\u7684\u80fd\u529b\uff0c\u9700\u8981\u5b9e\u73b0 WXImgLoaderProtocol,\u53c2\u8003\u4e0b\u9762\u7684\u4f8b\u5b50
-
- ```object-c
- WXImageLoaderProtocol.h
- @protocol WXImgLoaderProtocol <WXModuleProtocol>
- /**
- * @abstract Creates a image download handler with a given URL
- * @param imageUrl The URL of the image to download
- * @param imageFrame The frame of the image you want to set
- * @param options : The options to be used for this download
- * @param completedBlock : A block called once the download is completed.
- image : the image which has been download to local.
- error : the error which has happened in download.
- finished : a Boolean value indicating whether download action has finished.
- */
- -(id<WXImageOperationProtocol>)downloadImageWithURL:(NSString *)url imageFrame:(CGRect)imageFrame userInfo:(NSDictionary *)options completed:(void(^)(UIImage *image, NSError *error, BOOL finished))completedBlock;
- @end
- ```
-
- \u5b9e\u73b0\u4e0a\u8ff0\u534f\u8bae
-
- ```object-c
- @implementation WXImgLoaderDefaultImpl
- #pragma mark -
- #pragma mark WXImgLoaderProtocol
-
- - (id<WXImageOperationProtocol>)downloadImageWithURL:(NSString *)url imageFrame:(CGRect)imageFrame userInfo:(NSDictionary *)userInfo completed:(void(^)(UIImage *image, NSError *error, BOOL finished))completedBlock
- {
- if ([url hasPrefix:@"//"]) {
- url = [@"http:" stringByAppendingString:url];
- }
- return (id<WXImageOperationProtocol>)[[SDWebImageManager sharedManager] downloadImageWithURL:[NSURL URLWithString:url] options:0 progress:^(NSInteger receivedSize, NSInteger expectedSize) {
- } completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, BOOL finished, NSURL *imageURL) {
- if (completedBlock) {
- completedBlock(image, error, finished);
- }
- }];
- }
- @end
- ```
-
-5. **handler\u6ce8\u518c**
+
+### **\u81ea\u5b9a\u4e49module\u7684\u6b65\u9aa4**
+1. \u81ea\u5b9a\u4e49\u7684module\u7c7b \u5fc5\u987b\u5b9e\u73b0 `WXModuleProtocol`
+2. \u5fc5\u987b\u6dfb\u52a0\u5b8f`WX_EXPORT_METHOD`, \u5b83\u53ef\u4ee5\u88abweex\u8bc6\u522b\uff0c\u5b83\u7684\u53c2\u6570\u662f JavaScript\u8c03\u7528 module\u6307\u5b9a\u65b9\u6cd5\u7684\u53c2\u6570
+3. \u6dfb\u52a0`@synthesized weexInstance`\uff0c\u6bcf\u4e2amoudle\u5bf9\u8c61\u88ab\u7ed1\u5b9a\u5230\u4e00\u4e2a\u6307\u5b9a\u7684\u5b9e\u4f8b\u4e0a
+4. Module \u65b9\u6cd5\u4f1a\u5728UI\u7ebf\u7a0b\u4e2d\u88ab\u8c03\u7528\uff0c\u6240\u4ee5\u4e0d\u8981\u505a\u592a\u591a\u8017\u65f6\u7684\u4efb\u52a1\u5728\u8fd9\u91cc\uff0c\u5982\u679c\u8981\u5728\u5176\u4ed6\u7ebf\u7a0b\u6267\u884c\u6574\u4e2amodule \u65b9\u6cd5\uff0c\u9700\u8981\u5b9e\u73b0`WXModuleProtocol`\u4e2d`- (NSThread *)targetExecuteThread`\u7684\u65b9\u6cd5\uff0c\u8fd9\u6837\uff0c\u5206\u53d1\u5230\u8fd9\u4e2amodule\u7684\u4efb\u52a1\u4f1a\u5728\u6307\u5b9a\u7684\u7ebf\u7a0b\u4e2d\u8fd0\u884c
+5. Weex \u7684\u53c2\u6570\u53ef\u4ee5\u662f String \u6216\u8005Map
+6. Module \u652f\u6301\u8fd4\u56de\u503c\u7ed9 JavaScript\u4e2d\u7684\u56de\u8c03\uff0c\u56de\u8c03\u7684\u7c7b\u578b\u662f`WXModuleCallback`,\u56de\u8c03\u7684\u53c2\u6570\u53ef\u4ee5\u662fString\u6216\u8005Map
+
+ ```object-c
+ @implementation WXEventModule
+ @synthesize weexInstance;
+ WX_EXPORT_METHOD(@selector(openURL:callback))
+ - (void)openURL:(NSString *)url callback:(WXModuleCallback)callback
+ {
+ NSString *newURL = url;
+ if ([url hasPrefix:@"//"]) {
+ newURL = [NSString stringWithFormat:@"http:%@", url];
+ } else if (![url hasPrefix:@"http"]) {
+ newURL = [NSURL URLWithString:url relativeToURL:weexInstance.scriptURL].absoluteString;
+ }
+
+ UIViewController *controller = [[WXDemoViewController alloc] init];
+ ((WXDemoViewController *)controller).url = [NSURL URLWithString:newURL];
+
+ [[weexInstance.viewController navigationController] pushViewController:controller animated:YES];
+ callback(@{@"result":@"success"});
+ }
+
+ @end
+ ```
+
+\u53e6\u5916\uff0c`0.10.0` \u5f00\u59cb\u652f\u6301\u540c\u6b65\u6a21\u5757 API \u8c03\u7528\uff0c\u60a8\u53ef\u4ee5\u4f7f\u7528\u5b8f `WX_EXPORT_METHOD_SYNC` \u5bfc\u51fa\u6a21\u5757\u65b9\u6cd5\uff0c\u8fd9\u4e9b\u65b9\u6cd5\u53ef\u4ee5\u4f7f JavaScript \u63a5\u53d7\u4ece native \u8fd4\u56de\u7684\u503c\uff0c\u5b83\u53ea\u80fd\u5728 JS \u7ebf\u7a0b\u88ab\u8c03\u7528\u3002
+
+### \u6ce8\u518c module
+
+\u901a\u8fc7\u8c03\u7528 WXSDKEngine \u4e2d\u7684 `registerModule:withClass`\u65b9\u6cd5\u6765\u6ce8\u518c\u81ea\u5df1\u7684module
+
+```object-c
+WXSDKEngine.h
+/**
+* @abstract Registers a module for a given name
+* @param name The module name to register
+* @param clazz The module class to register
+**/
++ (void)registerModule:(NSString *)name withClass:(Class)clazz;
+[WXSDKEngine registerModule:@"event" withClass:[WXEventModule class]];
+```
+
+### \u4f7f\u7528\u81ea\u5df1\u7684 module
+
+\u8fd9\u91cc\u7684 require \u91cc\u9762\u7684 event \u5c31\u662f\u5728 \u4e0a\u4e00\u6b65\u8c03\u7528 `registerModule:` \u6ce8\u518c module \u65f6\u5019\u7684 name
+
+```javascript
+var eventModule = weex.requireModule('event');
+eventModule.openURL('url',function(ret) {
+ nativeLog(ret);
+});
+```
+
+Weex SDK \u6ca1\u6709 \u56fe\u7247\u4e0b\u8f7d\uff0cnavigation \u64cd\u4f5c\u7684\u80fd\u529b\uff0c\u8bf7\u5927\u5bb6\u81ea\u5df1\u5b9e\u73b0\u8fd9\u4e9b protocol
+
+## WXImgLoaderProtocol
+
+weexSDK \u6ca1\u6709\u56fe\u7247\u4e0b\u8f7d\u7684\u80fd\u529b\uff0c\u9700\u8981\u5b9e\u73b0 WXImgLoaderProtocol, \u53c2\u8003\u4e0b\u9762\u7684\u4f8b\u5b50
+
+```object-c
+WXImageLoaderProtocol.h
+@protocol WXImgLoaderProtocol <WXModuleProtocol>
+/**
+* @abstract Creates a image download handler with a given URL
+* @param imageUrl The URL of the image to download
+* @param imageFrame The frame of the image you want to set
+* @param options : The options to be used for this download
+* @param completedBlock : A block called once the download is completed.
+ image : the image which has been download to local.
+ error : the error which has happened in download.
+ finished : a Boolean value indicating whether download action has finished.
+*/
+-(id<WXImageOperationProtocol>)downloadImageWithURL:(NSString *)url imageFrame:(CGRect)imageFrame userInfo:(NSDictionary *)options completed:(void(^)(UIImage *image, NSError *error, BOOL finished))completedBlock;
+@end
+```
+
+\u5b9e\u73b0\u4e0a\u8ff0\u534f\u8bae
+
+```object-c
+@implementation WXImgLoaderDefaultImpl
+#pragma mark -
+#pragma mark WXImgLoaderProtocol
+
+- (id<WXImageOperationProtocol>)downloadImageWithURL:(NSString *)url imageFrame:(CGRect)imageFrame userInfo:(NSDictionary *)userInfo completed:(void(^)(UIImage *image, NSError *error, BOOL finished))completedBlock
+{
+ if ([url hasPrefix:@"//"]) {
+ url = [@"http:" stringByAppendingString:url];
+ }
+ return (id<WXImageOperationProtocol>)[[SDWebImageManager sharedManager] downloadImageWithURL:[NSURL URLWithString:url] options:0 progress:^(NSInteger receivedSize, NSInteger expectedSize) {
+ } completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, BOOL finished, NSURL *imageURL) {
+ if (completedBlock) {
+ completedBlock(image, error, finished);
+ }
+ }];
+}
+@end
+```
+
+### handler\u6ce8\u518c
- \u4f60\u53ef\u4ee5\u901a\u8fc7WXSDKEngine \u4e2d\u7684 `registerHandler:withProtocol`\u6ce8\u518chandler
-
- ```object-c
- WXSDKEngine.h
- /**
- * @abstract Registers a handler for a given handler instance and specific protocol
- * @param handler The handler instance to register
- * @param protocol The protocol to confirm
- */
- + (void)registerHandler:(id)handler withProtocol:(Protocol *)protocol;
-
- [WXSDKEngine registerHandler:[WXImgLoaderDefaultImpl new] withProtocol:@protocol(WXImgLoaderProtocol)]
- ```
+\u4f60\u53ef\u4ee5\u901a\u8fc7WXSDKEngine \u4e2d\u7684 `registerHandler:withProtocol`\u6ce8\u518chandler
+
+```object-c
+WXSDKEngine.h
+/**
+* @abstract Registers a handler for a given handler instance and specific protocol
+* @param handler The handler instance to register
+* @param protocol The protocol to confirm
+*/
++ (void)registerHandler:(id)handler withProtocol:(Protocol *)protocol;
+
+[WXSDKEngine registerHandler:[WXImgLoaderDefaultImpl new] withProtocol:@protocol(WXImgLoaderProtocol)]
+```
## Components \u6269\u5c55
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/f6838783/doc/source/cn/references/components/cell.md
----------------------------------------------------------------------
diff --git a/doc/source/cn/references/components/cell.md b/doc/source/cn/references/components/cell.md
index 8f90d9c..f4baaae 100644
--- a/doc/source/cn/references/components/cell.md
+++ b/doc/source/cn/references/components/cell.md
@@ -17,7 +17,7 @@ version: 2.1
**\u6ce8\u610f\uff1a**
-\u4f60\u4e0d\u80fd\u7ed9 `<cell>` \u8bbe\u5b9a`flex`\u503c\u3002 `<cell>`\u7684\u5bbd\u5ea6\u7b49\u4e8e\u7236\u7ec4\u4ef6 `<list>` \u7684\u5bbd\u5ea6\uff0c\u5e76\u4e14 `<cell>` \u9ad8\u5ea6\u81ea\u9002\u5e94\u3002
+\u7531\u4e8e `<cell>` \u672c\u8eab\u662f\u4e00\u4e2a\u5bb9\u5668\uff0c\u5176\u5e03\u5c40\u7531 `<list>` \u8fdb\u884c\u7ba1\u7406\uff0c\u4f60\u4e0d\u80fd\u7ed9 `<cell>` \u8bbe\u5b9a`flex`\u503c\u3002 `<cell>`\u7684\u5bbd\u5ea6\u7b49\u4e8e\u7236\u7ec4\u4ef6 `<list>` \u7684\u5bbd\u5ea6\uff0c\u5e76\u4e14 `<cell>` \u9ad8\u5ea6\u81ea\u9002\u5e94\uff0c\u6307\u5b9a `margin` \u6837\u5f0f\u4e5f\u4e0d\u8d77\u4f5c\u7528\u3002
- \u901a\u7528\u6837\u5f0f\uff1a\u652f\u6301\u6240\u6709\u901a\u7528\u6837\u5f0f
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/f6838783/doc/source/cn/references/gesture.md
----------------------------------------------------------------------
diff --git a/doc/source/cn/references/gesture.md b/doc/source/cn/references/gesture.md
index f4d566d..be81e45 100644
--- a/doc/source/cn/references/gesture.md
+++ b/doc/source/cn/references/gesture.md
@@ -26,7 +26,8 @@ Weex \u5c01\u88c5\u4e86\u539f\u751f\u7684\u89e6\u6478\u4e8b\u4ef6\u4ee5\u63d0\u4f9b\u624b\u52bf\u7cfb\u7edf\u3002\u4f7f\u7528\u624b\u52bf\u7c7b\u4f3c\u4e8e
- `panstart`
- `panmove`
- `panend`
-
+ - `horizontalpan` <span class="api-version">v0.10+</span>\uff1a\u624b\u52bf\u7684 `start/move/end` \u72b6\u6001\u4fdd\u5b58\u5728 `state` \u7279\u6027\u4e2d\u3002\u76ee\u524d\u8be5\u624b\u52bf\u5728 Android \u4e0b\u4f1a\u4e0e click \u4e8b\u4ef6\u51b2\u7a81\u3002
+ - `verticalpan` <span class="api-version">v0.10+</span>\uff1a\u52bf\u7684 `start/move/end` \u72b6\u6001\u4fdd\u5b58\u5728 `state` \u7279\u6027\u4e2d\u3002\u76ee\u524d\u8be5\u624b\u52bf\u5728 Android \u4e0b\u4f1a\u4e0e click \u4e8b\u4ef6\u51b2\u7a81\u3002
- **Swipe**\uff1a`swipe` \u5c06\u4f1a\u5728\u7528\u6237\u5728\u5c4f\u5e55\u4e0a\u6ed1\u52a8\u65f6\u89e6\u53d1\uff0c\u4e00\u6b21\u8fde\u7eed\u7684\u6ed1\u52a8\u53ea\u4f1a\u89e6\u53d1\u4e00\u6b21 `swiper` \u624b\u52bf\u3002
- **LongPress**\uff1a`LongPress` \u5c06\u4f1a\u5728\u89e6\u6478\u70b9\u8fde\u7eed\u4fdd\u6301 500 ms\u4ee5\u4e0a\u65f6\u89e6\u53d1\u3002
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/f6838783/doc/source/guide/intro/devtools.md
----------------------------------------------------------------------
diff --git a/doc/source/guide/intro/devtools.md b/doc/source/guide/intro/devtools.md
deleted file mode 100644
index f9b32b4..0000000
--- a/doc/source/guide/intro/devtools.md
+++ /dev/null
@@ -1,100 +0,0 @@
----
-title: Using Devtools
-type: guide
-order: 5.7
-version: 2.1
----
-
-# Devtools
-
-Weex devtools is a custom devtools for weex that implements [Chrome Debugging Protocol](https://developer.chrome.com/devtools/docs/debugger-protocol), it is designed to help you quickly inspect your app and debug your JS bundle source in a chrome web page, both Android and IOS platform are supported.
-
-## Install
-
-```
- $ npm install -g weex-toolkit
-```
-#### usage
-```
-weex debug [options] [we_file|bundles_dir]
-
- Options:
-
- -h, --help output usage information
- -V, --verbose display logs of debugger server
- -v, --version display version
- -p, --port [port] set debugger server port
- -e, --entry [entry] set the entry bundlejs path when you specific the bundle server root path
- -m, --mode [mode] set build mode [transformer|loader]
- -w, --watch watch we file changes auto build them and refresh debugger page![default enabled]
-```
-
-#### start debugger
-```
-$weex debug
-```
-this command will start debug server and launch a chrome opening `DeviceList` page.
-this page will display a qrcode ,you can use `Playground App` scan it for starting debug.
-
-#### start debugger with a we file
-```
-$weex debug your_weex.we
-```
-this command will compile `your_weex.we` to `your_weex.js` and start the debug server as upon command.
-`your_weex.js` will deploy on the server and displayed in `DeviceList` page as another qrcode contain the url of your_weex.js
-
-
-#### start debugger with a directory of we files
-```
-$weex debug your/we/path -e index.we
-```
-this command will build every file in your/we/path and deploy them on the bundle server. your directory will mapping to http://localhost:port/weex/
-use -e to set the entry of these bundles. and the url of "index.we" will display on device list page as another qrcode.
-
-## Features
-
-### Connect devices
- devices")
-
-### Inspector
- Inspector can be used to show your `Element` \ `Network` \ `Console log` \ `ScreenCast` \ `BoxModel` \ `Native View` and so on.
-
-
-
-#### Element
-##### native view element
-
-
-##### weex dom element
-
-
-#### Network
-
-##### show the total time and latency
-
-
-##### show the header and response
-
-
-#### Console
-
-
-#### Resource
-
-
-### Debugger
-
- Debugger can be used to debug your bundle js source, you can set `Breakpoint` \ watch `CallStack`.
-
-
-
-#### Breakpoint and CallStack
-
-
-
-## Integrate devtools
-
-* Android
- * See the doc [Weex devtools (Android)](../../references/advanced/integrate-devtool-to-android.html), it will lead you to config and use it step by step.
-* IOS
- * See the doc [Weex devtools (iOS)](../../references/advanced/integrate-devtool-to-ios.html), it will lead you to config and use it step by step.
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/f6838783/doc/source/guide/set-up-env.md
----------------------------------------------------------------------
diff --git a/doc/source/guide/set-up-env.md b/doc/source/guide/set-up-env.md
index 338502b..71ad2fd 100644
--- a/doc/source/guide/set-up-env.md
+++ b/doc/source/guide/set-up-env.md
@@ -10,7 +10,7 @@ has_chapter_content: true
Use dotWe is a good choice, But if you want to develop locally on your own machine, you will set up your development environment.
-You will need Node.js and the Weex CLi.
+You will need Node.js and the [Weex CLi](https://github.com/weexteam/weex-toolkit).
You can installing Node using [nvm](https://github.com/creationix/nvm) (Simple bash script to manage multiple active node.js versions). Run the following commands in a Terminal after installing nvm:
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/f6838783/doc/source/guide/tools/weexpack.md
----------------------------------------------------------------------
diff --git a/doc/source/guide/tools/weexpack.md b/doc/source/guide/tools/weexpack.md
index 699431f..dd0ee36 100644
--- a/doc/source/guide/tools/weexpack.md
+++ b/doc/source/guide/tools/weexpack.md
@@ -283,6 +283,8 @@ After all above steps, you could modify your application we/vue files under src

+[Plugin development guide](https://github.com/weexteam/weex-pack/blob/master/doc/plugin-devloping-web.md)
+
## Examples
[Create Weex One App with Weexpack](https://github.com/weexteam/weex-pack/wiki/Create-Weex-One-App-with-Weexpack)
[40/50] incubator-weex git commit: * [doc] update boolean
Posted by cx...@apache.org.
* [doc] update boolean
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/dbe45be8
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/dbe45be8
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/dbe45be8
Branch: refs/heads/master
Commit: dbe45be85d6d2568d12369a032def1a70d81b10e
Parents: be6801e
Author: xkli <56...@qq.com>
Authored: Mon Mar 6 10:58:36 2017 +0800
Committer: xkli <56...@qq.com>
Committed: Mon Mar 6 10:58:36 2017 +0800
----------------------------------------------------------------------
doc/source/cn/references/components/cell.md | 2 +-
doc/source/references/components/cell.md | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/dbe45be8/doc/source/cn/references/components/cell.md
----------------------------------------------------------------------
diff --git a/doc/source/cn/references/components/cell.md b/doc/source/cn/references/components/cell.md
index 95a3e83..b06e9fc 100644
--- a/doc/source/cn/references/components/cell.md
+++ b/doc/source/cn/references/components/cell.md
@@ -14,7 +14,7 @@ version: 2.1
\u652f\u6301\u6240\u6709 Weex \u7684\u7ec4\u4ef6\u4f5c\u4e3a\u5b83\u7684\u5b50\u7ec4\u4ef6\u3002
## \u5c5e\u6027
-* `keep-scroll-position {boolen}`: <span class="api-version">v0.11+</span> List \u63d2\u5165\u6570\u636e\u540e\u662f\u5426\u4fdd\u6301\u4e0a\u6b21\u6eda\u52a8\u7684\u4f4d\u7f6e
+* `keep-scroll-position {boolean}`: <span class="api-version">v0.11+</span> List \u63d2\u5165\u6570\u636e\u540e\u662f\u5426\u4fdd\u6301\u4e0a\u6b21\u6eda\u52a8\u7684\u4f4d\u7f6e
## \u6837\u5f0f
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/dbe45be8/doc/source/references/components/cell.md
----------------------------------------------------------------------
diff --git a/doc/source/references/components/cell.md b/doc/source/references/components/cell.md
index 14b2572..a018c00 100644
--- a/doc/source/references/components/cell.md
+++ b/doc/source/references/components/cell.md
@@ -19,7 +19,7 @@ This type of component supports all kinds of weex component as its child compone
**Notes:** you can't give `<cell>` a `flex` value. Width of `<cell>` is equal to the width of its parent component `<list>`, and you don't need to specify its height.
-* `keep-scroll-position {boolen}`: <span class="api-version">v0.11+</span> List Whether to keep the last sliding position after inserting the Cell
+* `keep-scroll-position {boolean}`: <span class="api-version">v0.11+</span> List Whether to keep the last sliding position after inserting the Cell
### Styles
[27/50] incubator-weex git commit: Merge pull request #2774 from
kfeagle/ios-bugfix-update-websocketdemo
Posted by cx...@apache.org.
Merge pull request #2774 from kfeagle/ios-bugfix-update-websocketdemo
* [example] bug fix: change websocket demo server
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/47339362
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/47339362
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/47339362
Branch: refs/heads/master
Commit: 473393625c5a1b97f1b3beed3c1615353eae0576
Parents: a26f477 bfb19cb
Author: \u9690\u5c0f\u98ce <cx...@gmail.com>
Authored: Mon Feb 27 13:32:23 2017 +0800
Committer: GitHub <no...@github.com>
Committed: Mon Feb 27 13:32:23 2017 +0800
----------------------------------------------------------------------
examples/module/websocket-demo.we | 88 +++++++++++++++++++---------------
1 file changed, 50 insertions(+), 38 deletions(-)
----------------------------------------------------------------------
[46/50] incubator-weex git commit: Merge branch 'feature-tools-doc'
of https://github.com/DoranYun/incubator-weex into dev This closes #54
Posted by cx...@apache.org.
Merge branch 'feature-tools-doc' of https://github.com/DoranYun/incubator-weex into dev
This closes #54
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/ca43fa3c
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/ca43fa3c
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/ca43fa3c
Branch: refs/heads/master
Commit: ca43fa3c705abde1f0fc8411d0c4af4de20f13ec
Parents: 20d9d5f f683878
Author: Jinjiang <zh...@me.com>
Authored: Wed Mar 8 14:04:50 2017 +0800
Committer: Jinjiang <zh...@me.com>
Committed: Wed Mar 8 14:04:50 2017 +0800
----------------------------------------------------------------------
doc/source/cn/guide/dev-with-weexpack.md | 11 -
doc/source/cn/guide/index.md | 114 ------
doc/source/cn/guide/intro/app-architecture.md | 2 +-
doc/source/cn/guide/intro/devtools.md | 99 -----
doc/source/cn/guide/intro/how-it-works.md | 2 +-
doc/source/cn/guide/intro/index.md | 2 +-
doc/source/cn/guide/intro/page-architecture.md | 2 +-
doc/source/cn/guide/intro/using-vue.md | 2 +-
doc/source/cn/guide/intro/web-dev-experience.md | 2 +-
doc/source/cn/guide/intro/write-once.md | 2 +-
doc/source/cn/guide/set-up-env.md | 128 ++++++
doc/source/cn/guide/tools/devtools.md | 111 ++++++
doc/source/cn/guide/tools/index.md | 11 +
doc/source/cn/guide/tools/weexpack.md | 388 +++++++++++++++++++
.../cn/references/advanced/extend-to-ios.md | 231 +++++------
doc/source/cn/references/common-style.md | 11 +-
doc/source/cn/references/components/cell.md | 2 +-
doc/source/cn/references/components/scroller.md | 8 +-
doc/source/cn/references/gesture.md | 3 +-
doc/source/guide/dev-with-weexpack.md | 12 -
doc/source/guide/index.md | 52 ---
doc/source/guide/intro/app-architecture.md | 2 +-
doc/source/guide/intro/devtools.md | 100 -----
doc/source/guide/intro/how-it-works.md | 2 +-
doc/source/guide/intro/index.md | 2 +-
doc/source/guide/intro/page-architecture.md | 2 +-
doc/source/guide/intro/using-vue.md | 2 +-
doc/source/guide/intro/web-dev-experience.md | 2 +-
doc/source/guide/intro/write-once.md | 2 +-
doc/source/guide/set-up-env.md | 93 +++++
doc/source/guide/tools/devtools.md | 100 +++++
doc/source/guide/tools/index.md | 11 +
doc/source/guide/tools/weexpack.md | 300 ++++++++++++++
33 files changed, 1288 insertions(+), 525 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ca43fa3c/doc/source/cn/references/components/cell.md
----------------------------------------------------------------------
[14/50] incubator-weex git commit: * [doc] update get_started.md
Posted by cx...@apache.org.
* [doc] update get_started.md
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/4fed11df
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/4fed11df
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/4fed11df
Branch: refs/heads/master
Commit: 4fed11df13fc003238b79026683f076ce0509ec9
Parents: c55b9df
Author: Yun Dong <yu...@gmail.com>
Authored: Thu Feb 23 15:47:07 2017 +0800
Committer: Yun Dong <yu...@gmail.com>
Committed: Thu Feb 23 15:47:07 2017 +0800
----------------------------------------------------------------------
doc/source/cn/guide/index.md | 30 ++++++++++++++++++++++--------
1 file changed, 22 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/4fed11df/doc/source/cn/guide/index.md
----------------------------------------------------------------------
diff --git a/doc/source/cn/guide/index.md b/doc/source/cn/guide/index.md
index 90f4d56..1fdc4ce 100644
--- a/doc/source/cn/guide/index.md
+++ b/doc/source/cn/guide/index.md
@@ -8,11 +8,27 @@ has_chapter_content: true
# \u5feb\u901f\u4e0a\u624b
-[Vue.js](https://vuejs.org/) is an excellent progressive JavaScript framework written by [Evan You](https://twitter.com/youyuxi) which is very ease and flexible to use. Developers can write `*.vue` files with friendly `<template>`, `<style>`, `<script>` tags to build componentized web app.\u672c\u7ae0\u4f1a\u6559\u4f60\u5982\u4f55\u642d\u5efa\u672c\u5730\u5f00\u53d1\u73af\u5883\u8fdb\u884c Weex \u5f00\u53d1\u3002
+Weex \u662f\u4e00\u5957\u7b80\u5355\u6613\u7528\u7684\u8de8\u5e73\u53f0\u5f00\u53d1\u65b9\u6848\uff0c\u80fd\u4ee5 web \u7684\u5f00\u53d1\u4f53\u9a8c\u6784\u5efa\u9ad8\u6027\u80fd\u3001\u53ef\u6269\u5c55\u7684 native \u5e94\u7528\uff0c\u4e3a\u4e86\u505a\u5230\u8fd9\u4e9b\uff0cWeex \u4e0e Vue \u5408\u4f5c\uff0c\u4f7f\u7528 Vue \u4f5c\u4e3a\u4e0a\u5c42\u6846\u67b6\uff0c\u5e76\u9075\u5faa W3C \u6807\u51c6\u5b9e\u73b0\u4e86\u7edf\u4e00\u7684 JSEngine \u548c DOM API\uff0c\u8fd9\u6837\u4e00\u6765\uff0c\u4f60\u751a\u81f3\u53ef\u4ee5\u4f7f\u7528\u5176\u4ed6\u6846\u67b6\u9a71\u52a8 Weex\uff0c\u6253\u9020\u4e09\u7aef\u4e00\u81f4\u7684 native \u5e94\u7528\u3002
-\u5f00\u59cb\u4e4b\u524d\uff0c\u5e0c\u671b\u4f60\u80fd\u5bf9 Weex \u548c Vue \u6709\u57fa\u672c\u7684\u4e86\u89e3\uff0c\u63a8\u8350\u9605\u8bfb Weex Tutorial \u548c Vue Introduction \u4e86\u89e3\u66f4\u591a\u4fe1\u606f\u3002
+## Vue \u662f\u4ec0\u4e48\uff1f
-## \u7b2c\u4e00\u6b65\uff1a\u5b89\u88c5\u4f9d\u8d56
+Vue.js \u662f Evan You \u5f00\u53d1\u7684\u6e10\u8fdb\u5f0f JavaScript \u6846\u67b6\uff0c\u5728\u6613\u7528\u6027\u3001\u7075\u6d3b\u6027\u548c\u6027\u80fd\u7b49\u65b9\u9762\u90fd\u975e\u5e38\u4f18\u79c0\u3002\u5f00\u53d1\u8005\u80fd\u591f\u901a\u8fc7\u64b0\u5199 `*.vue` \u6587\u4ef6\uff0c\u57fa\u4e8e `<template>`, `<style>`, `<script>` \u5feb\u901f\u6784\u5efa\u7ec4\u4ef6\u5316\u7684 web \u5e94\u7528\u3002
+
+## Hello World
+
+\u5c1d\u8bd5 Weex \u6700\u7b80\u5355\u7684\u65b9\u6cd5\u662f\u4f7f\u7528 [Playground App](https://alibaba.github.io/weex/download.html) \u548c\u5728 [dotWe](http://dotwe.org) \u7f16\u5199\u4e00\u4e2a [Hello World](http://dotwe.org/vue/4d5a0471ece3daabd4681bc6d703c4c1) \u4f8b\u5b50\u3002\u4f60\u4e0d\u9700\u8981\u8003\u8651\u5b89\u88c5\u5f00\u53d1\u73af\u5883\u6216\u7f16\u5199 native \u4ee3\u7801\uff0c\u53ea\u9700\u8981\u505a\u4e0b\u9762\u4e24\u4ef6\u4e8b\uff1a
+
+- \u4e3a\u4f60\u7684\u624b\u673a\u5b89\u88c5 [Playground App](https://alibaba.github.io/weex/download.html)\uff0c\u5f53\u7136\uff0cWeex \u662f\u8de8\u5e73\u53f0\u7684\u6846\u67b6\uff0c\u4f60\u4f9d\u7136\u53ef\u4ee5\u4f7f\u7528\u6d4f\u89c8\u5668\u8fdb\u884c\u9884\u89c8\uff0c\u53ea\u662f\u8fd9\u6837\u4f60\u5c31\u65e0\u6cd5\u611f\u53d7\u5230 native \u4f18\u79c0\u7684\u4f53\u9a8c\u4e86\u3002
+- \u5728\u65b0\u6807\u7b7e\u9875\u4e2d\u6253\u5f00 [Hello World](http://dotwe.org/vue/4d5a0471ece3daabd4681bc6d703c4c1) \u4f8b\u5b50\uff0c\u70b9\u51fb\u9884\u89c8\uff0c\u7136\u540e\u7528 Playground \u626b\u7801\u5373\u53ef\u3002
+
+
+
+
+\u5f88\u7b80\u5355\uff0c\u6211\u4eec\u53ef\u4ee5\u770b\u5230\u8bed\u6cd5\u5c31\u662f\u6211\u4eec\u719f\u6089\u7684 Vue\u3002\u4f60\u53ef\u4ee5\u4fee\u6539\u8fd9\u4e2a\u4f8b\u5b50\uff0c\u518d\u6b21\u626b\u7801\u5c1d\u8bd5\u3002
+
+## \u642d\u5efa\u5f00\u53d1\u73af\u5883
+
+### \u7b2c\u4e00\u6b65\uff1a\u5b89\u88c5\u4f9d\u8d56
Weex \u5b98\u65b9\u63d0\u4f9b\u4e86 weex-toolkit \u7684\u811a\u624b\u67b6\u5de5\u5177\u6765\u8f85\u52a9\u5f00\u53d1\u548c\u8c03\u8bd5\u3002\u9996\u5148\uff0c\u4f60\u9700\u8981 Node.js \u548c weex-toolkit\u3002
@@ -64,7 +80,7 @@ $ sudo cnpm install -g weex-toolkit@beta

-## \u7b2c\u4e8c\u6b65\uff1a\u521d\u59cb\u5316
+### \u7b2c\u4e8c\u6b65\uff1a\u521d\u59cb\u5316
\u7136\u540e\u521d\u59cb\u5316 Weex \u9879\u76ee\uff1a
@@ -74,7 +90,7 @@ $ weex init awesome-project
\u6267\u884c\u5b8c\u547d\u4ee4\u540e\uff0c\u5728 `awesome-project` \u76ee\u5f55\u4e2d\u5c31\u521b\u5efa\u4e86\u4e00\u4e2a\u4f7f\u7528 Weex \u548c Vue \u7684\u6a21\u677f\u9879\u76ee\u3002
-## \u7b2c\u4e09\u6b65\uff1a\u5f00\u53d1
+### \u7b2c\u4e09\u6b65\uff1a\u5f00\u53d1
\u4e4b\u540e\u6211\u4eec\u8fdb\u5165\u9879\u76ee\u6240\u5728\u8def\u5f84\uff0cweex-toolkit \u5df2\u7ecf\u4e3a\u6211\u4eec\u751f\u6210\u4e86\u6807\u51c6\u9879\u76ee\u7ed3\u6784\u3002
@@ -120,6 +136,4 @@ $ weex init awesome-project
</style>
```
-\u6211\u4eec\u6682\u65f6\u4e0d\u53bb\u5173\u5fc3 Weex \u7684\u6280\u672f\u7ec6\u8282\uff0c\u4ec5\u770b\u5927\u81f4\u7684\u4ee3\u7801\u7ed3\u6784\u3002\u662f\u4e0d\u662f\u89c9\u5f97\u8fd9\u4e9b\u8bed\u6cd5\u6709\u4e9b\u773c\u719f\uff1f\u6ca1\u9519\uff0cWeex \u8bed\u6cd5\u540c [Vue](https://github.com/vuejs/vue) \u5b8c\u5168\u4e00\u6837\uff0c\u751a\u81f3\u8fde\u6587\u4ef6\u540d\u4e5f\u662f `.vue`\uff0c\u5982\u679c\u4f60\u719f\u6089 Vue\uff0c\u4f60\u4f1a\u5f88\u5feb\u9002\u5e94 Weex \u7684\u5f00\u53d1\u3002
-
-\u5173\u4e8e Weex \u8bed\u6cd5\u90e8\u5206\uff0c\u4f60\u53ef\u4ee5\u76f4\u63a5\u53c2\u8003 [Vue Guide](https://vuejs.org/v2/guide/)\uff0c\u8fd9\u91cc\u4e0d\u518d\u91cd\u590d\u4ecb\u7ecd\u3002
\ No newline at end of file
+\u5173\u4e8e Weex \u8bed\u6cd5\u90e8\u5206\uff0c\u4f60\u53ef\u4ee5\u76f4\u63a5\u53c2\u8003 [Vue Guide](https://vuejs.org/v2/guide/)\uff0c\u8fd9\u91cc\u4e0d\u518d\u91cd\u590d\u4ecb\u7ecd\u3002\u5982\u679c\u60a8\u60f3\u4e86\u89e3\u6709\u5173\u6280\u672f\u8be6\u60c5\u7684\u66f4\u591a\u4fe1\u606f\uff0c\u8bf7\u7ee7\u7eed\u9605\u8bfb\u4e0b\u4e00\u8282\u3002\u5e76\u4e14\u4e0d\u8981\u5fd8\u8bb0\u5728 dotWe \u5199\u4ee3\u7801\u5e76\u968f\u65f6\u9884\u89c8\u3002
\ No newline at end of file
[15/50] incubator-weex git commit: * [doc] finish the
difference-with-web doc
Posted by cx...@apache.org.
* [doc] finish the difference-with-web doc
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/1a71f13b
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/1a71f13b
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/1a71f13b
Branch: refs/heads/master
Commit: 1a71f13bcc72515f8df00e8a96bf82221705295c
Parents: b8c627d
Author: Hanks <zh...@gmail.com>
Authored: Thu Feb 23 16:51:30 2017 +0800
Committer: Hanks <zh...@gmail.com>
Committed: Thu Feb 23 16:51:30 2017 +0800
----------------------------------------------------------------------
doc/source/references/platfrom-difference.md | 11 ++++++++++
.../references/vue/difference-with-web.md | 23 ++++++++------------
2 files changed, 20 insertions(+), 14 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/1a71f13b/doc/source/references/platfrom-difference.md
----------------------------------------------------------------------
diff --git a/doc/source/references/platfrom-difference.md b/doc/source/references/platfrom-difference.md
new file mode 100644
index 0000000..0aadfae
--- /dev/null
+++ b/doc/source/references/platfrom-difference.md
@@ -0,0 +1,11 @@
+---
+title: Platform Differences Between Weex and Web
+type: references
+order: 12
+version: 2.1
+has_chapter_content: true
+---
+
+# Platform Differences Between Weex and Web
+
+Work in progresss.
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/1a71f13b/doc/source/references/vue/difference-with-web.md
----------------------------------------------------------------------
diff --git a/doc/source/references/vue/difference-with-web.md b/doc/source/references/vue/difference-with-web.md
index b0808f3..ff328f4 100644
--- a/doc/source/references/vue/difference-with-web.md
+++ b/doc/source/references/vue/difference-with-web.md
@@ -9,10 +9,9 @@ version: 2.1
## Platform Differences
-> TODO
-Vue.js was designed for the Web platform at the begining, although it can be based on Weex development of native applications, but Web development and native development, after all, different in the function and development experience there are some differences, these differences are essentially the original development platform and Differences between Web platforms can be found in the [Platform Differences Between Weex and Web](../ platform-difference.html) for more details.
+Vue.js was designed for the Web platform at the begining. Although it can be based on Weex to develop native applications, there are still many differences between web and native. See [Platform Differences Between Weex and Web](../ platform-difference.html) for more details.
-Due to the differences between Web platform, Weex doesn't support those features in Vue.js (mostly are DOM-related):
+Due to those differences, Weex doesn't support those features in Vue.js (mostly are DOM-related):
+ Event bubbling and capturing are not supported. Event modifiers, such as `.prevent`,` .capture`, `.stop`,` .self` are meaningless in the native environment.
+ The keyboard event modifiers, like `.{KeyCode | keyAlias}` is also meaningless. (see [docs in Vue.js](https://vuejs.org/v2/guide/events.html#Key-Modifiers))
@@ -35,8 +34,7 @@ The specific differences are:
### Isolate the context of multiple pages
-> TODO
-Weex in the native use of the "multi-page" implementation, different js bundle will be implemented in different native pages; that is, different js bundles will be shared between different js variables. Even the `Vue` variable, in a different page also corresponds to a different reference.
+Weex use the "multiple-pages" concept in native, different js bundle will be run in different native views, there context is isolated. Even the `Vue` variable is not the same instance between js bundles. (However, all the js bundle will share the same Weex runtime.)
Based on this feature, the global configurations in `Vue` will only take effect on the current page:
@@ -113,12 +111,10 @@ In addition, you should also pay attention to the following points:
## Differences in development
-> TODO
-Vex.js in Weex, you need to pay attention to the operating platform in addition to the Web and Android and iOS, in the development and compilation environment there are some differences. For the Web and native platform, the Vue project source files compiled into the target file, there are two different ways:
+Because of the platform difference, you have to compile your source file in two different ways:
-> TODO
-+ For the Web platform, as with the regular Vue 2.X project, you can compile source files in any official way, such as Webpack + vue-loader or Browserify + vueify.
-+ For the Android and iOS platforms, we've provided the [weex-loader] (https://github.com/weepteam/weep-loader) tool to support the single file component that compiles the `.vue` format; that is, Use the Webpack + weex-loader to generate the js bundle that is available at the native end.
++ For the web, you can compile source files in any official way, such as Webpack + vue-loader or Browserify + vueify. and require the [weex-vue-render](https://www.npmjs.com/package/weex-vue-render), which is a group of Weex build-in components.
++ For Android and iOS, we've provided [weex-loader](https://github.com/weepteam/weep-loader) to compile the `.vue` files. That is, use Webpack + weex-loader to generate the js bundle that is available for the native.
### Use weex-loader
@@ -146,9 +142,8 @@ module.exports = {
**You don't need to write those additional parameters if you are using `.js` file as entry file.** We recommend using javascript files as the entry file of webpack config.
-### Setup native development environment
+### Setup native development environments
-> TODO
-The Weex project generates native applications and learns some of the basics of developing native applications that will help you develop the Weex project.
+Since your are using Weex to develop native apps, setup native development environments, both Android and iOS, would be very useful.
-Refer to [Integrating Weex to the existing application](../../guide/ integrate-to-your-app.html) for more information.
+See [Integrating Weex to the existing application](../../guide/integrate-to-your-app.html) for more information.
[35/50] incubator-weex git commit: * [android] support 1px border &
border-x-y-radius for android. Android now supports 1 px border.
https://github.com/apache/incubator-weex/pull/9 border-x-y-radius works fine
on Android, it is not supported by image on
Posted by cx...@apache.org.
* [android] support 1px border & border-x-y-radius for android.
Android now supports 1 px border. https://github.com/apache/incubator-weex/pull/9
border-x-y-radius works fine on Android, it is not supported by image on iOS.
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/687f3b14
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/687f3b14
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/687f3b14
Branch: refs/heads/master
Commit: 687f3b14223a2fd2c1a15d44eb817f97ec2c8aed
Parents: 9086af4
Author: YorkShen <sh...@gmail.com>
Authored: Thu Mar 2 11:12:37 2017 +0800
Committer: YorkShen <sh...@gmail.com>
Committed: Thu Mar 2 11:50:19 2017 +0800
----------------------------------------------------------------------
doc/source/cn/references/common-style.md | 2 +-
doc/source/references/common-style.md | 3 +--
2 files changed, 2 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/687f3b14/doc/source/cn/references/common-style.md
----------------------------------------------------------------------
diff --git a/doc/source/cn/references/common-style.md b/doc/source/cn/references/common-style.md
index 7abe9d3..96f6d9d 100644
--- a/doc/source/cn/references/common-style.md
+++ b/doc/source/cn/references/common-style.md
@@ -90,7 +90,7 @@ Weex \u5bf9\u4e8e\u957f\u5ea6\u503c\u76ee\u524d\u53ea\u652f\u6301*\u50cf\u7d20*\u503c\uff0c\u4e0d\u652f\u6301\u76f8\u5bf9\u5355\u4f4d\uff08`em`\u3001
- `border-top-right-radius {length}`\uff1a\uff0c\u975e\u8d1f\u503c, \u9ed8\u8ba4\u503c 0
-\u6ce8\u610f\uff1a\u76ee\u524d\u5728 `<image>` \u548c `<text>` \u7ec4\u4ef6\u4e0a\u5c1a\u65e0\u6cd5\u53ea\u5b9a\u4e49\u4e00\u4e2a\u6216\u51e0\u4e2a\u89d2\u7684 `border-radius`\u3002\u6bd4\u5982\u4f60\u65e0\u6cd5\u5728\u8fd9\u4e24\u4e2a\u7ec4\u4ef6\u4e0a\u4f7f\u7528 `border-top-left-radius`\u3002
+\u6ce8\u610f\uff1a\u76ee\u524d\u5728 `<image>` \u7ec4\u4ef6\u4e0a\u5c1a\u65e0\u6cd5\u53ea\u5b9a\u4e49\u4e00\u4e2a\u6216\u51e0\u4e2a\u89d2\u7684 `border-radius`\u3002\u6bd4\u5982\u4f60\u65e0\u6cd5\u5728\u8fd9\u4e24\u4e2a\u7ec4\u4ef6\u4e0a\u4f7f\u7528 `border-top-left-radius`\u3002\u8be5\u7ea6\u675f\u53ea\u5bf9iOS\u751f\u6548\uff0cAndroid\u5e76\u4e0d\u53d7\u6b64\u9650\u5236\u3002
Weex \u76d2\u6a21\u578b\u7684 `box-sizing` \u9ed8\u8ba4\u4e3a `border-box`\uff0c\u5373\u76d2\u5b50\u7684\u5bbd\u9ad8\u5305\u542b\u5185\u5bb9\u3001\u5185\u8fb9\u8ddd\u548c\u8fb9\u6846\u7684\u5bbd\u5ea6\uff0c\u4e0d\u5305\u542b\u5916\u8fb9\u8ddd\u7684\u5bbd\u5ea6\u3002
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/687f3b14/doc/source/references/common-style.md
----------------------------------------------------------------------
diff --git a/doc/source/references/common-style.md b/doc/source/references/common-style.md
index 6cae589..14da29b 100644
--- a/doc/source/references/common-style.md
+++ b/doc/source/references/common-style.md
@@ -36,7 +36,6 @@ you can use the definition below in weex box model.
- `border-right-style`: values `solid` | `dashed` | `dotted`, default value `solid`
- `border-bottom-style`: values `solid` | `dashed` | `dotted`, default value `solid`
- `border-width`: `length` type, non-negative, default value `0`
- **DO NOT** use `border-width:1`. There is a default viewport `<viewport width="750">`, if the actual width of a device is 720px, then `border-width:1` will be `border-width:0.96`. As weex **do not** support sub-pixel, this border would not be rendered.
- `border-left-width`: `length` type, non-negative, default value `0`
- `border-top-width`: `length` type, non-negative, default value `0`
- `border-right-width`: `length` type, non-negative, default value `0`
@@ -54,7 +53,7 @@ you can use the definition below in weex box model.
- `border-top-left-radius`: `length` type, non-negative, default value `0`
- `border-top-right-radius`: `length` type, non-negative, default value `0`
-Notes: The rule of border-radius for a specific corner such as `border-top-left-radius` is not currently supported for component `<image>` and `<text>`.
+Notes: The rule of border-radius for a specific corner such as `border-top-left-radius` is not currently supported for component `<image>`in iOS. This only happens to iOS, it works fine on Android.
Weex box model uses `border-box` as the default value of `box-sizing`, meaning the width and height properties includes content, padding and border, but not the margin.
[09/50] incubator-weex git commit: Merge pull request #2729 from
acton393/dev
Posted by cx...@apache.org.
Merge pull request #2729 from acton393/dev
* [ios] fix custom font memory leak
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/5d8f4680
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/5d8f4680
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/5d8f4680
Branch: refs/heads/master
Commit: 5d8f46804ad2c848e986eecc5f00361d605dbbba
Parents: a006f25 df7cdb4
Author: \u9690\u5c0f\u98ce <cx...@gmail.com>
Authored: Wed Feb 22 21:45:37 2017 +0800
Committer: GitHub <no...@github.com>
Committed: Wed Feb 22 21:45:37 2017 +0800
----------------------------------------------------------------------
ios/sdk/WeexSDK/Sources/Utility/WXUtility.m | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/5d8f4680/ios/sdk/WeexSDK/Sources/Utility/WXUtility.m
----------------------------------------------------------------------
[17/50] incubator-weex git commit: * [doc] Fix typo.
Posted by cx...@apache.org.
* [doc] Fix typo.
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/8bd70c4f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/8bd70c4f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/8bd70c4f
Branch: refs/heads/master
Commit: 8bd70c4f5d51067b9255f772440a3b149ab4a065
Parents: 4fed11d
Author: Yun Dong <yu...@gmail.com>
Authored: Fri Feb 24 15:12:30 2017 +0800
Committer: Yun Dong <yu...@gmail.com>
Committed: Fri Feb 24 15:12:30 2017 +0800
----------------------------------------------------------------------
doc/advanced/extend-to-android.md | 2 +-
doc/source/cn/references/advanced/extend-to-android.md | 2 +-
doc/source/cn/references/advanced/extend-to-ios.md | 2 +-
doc/source/cn/references/components/a.md | 2 +-
doc/source/cn/references/components/refresh.md | 2 +-
doc/source/cn/references/modules/dom.md | 4 ++--
doc/source/cn/references/modules/index.md | 2 +-
doc/source/references/advanced/extend-to-android.md | 2 +-
doc/source/references/components/div.md | 2 +-
doc/source/references/modules/dom.md | 4 ++--
doc/source/references/modules/storage.md | 2 +-
doc/source/references/modules/webview.md | 6 +++---
12 files changed, 16 insertions(+), 16 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/8bd70c4f/doc/advanced/extend-to-android.md
----------------------------------------------------------------------
diff --git a/doc/advanced/extend-to-android.md b/doc/advanced/extend-to-android.md
index 1d49dfd..336f5df 100644
--- a/doc/advanced/extend-to-android.md
+++ b/doc/advanced/extend-to-android.md
@@ -57,7 +57,7 @@ you can add `` @JSMethod (uiThread = false or true ) `` annotation to choose th
Now `event` moudle is avaiable in weex, use the module like this:
```javascript
-var event = require('@weex-module/event');
+var event = weex.requireModule('event');
event.openURL("http://www.github.com");
```
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/8bd70c4f/doc/source/cn/references/advanced/extend-to-android.md
----------------------------------------------------------------------
diff --git a/doc/source/cn/references/advanced/extend-to-android.md b/doc/source/cn/references/advanced/extend-to-android.md
index 71c642d..e2d654c 100644
--- a/doc/source/cn/references/advanced/extend-to-android.md
+++ b/doc/source/cn/references/advanced/extend-to-android.md
@@ -48,7 +48,7 @@ JS \u8c03\u7528\u5982\u4e0b\uff1a
module.exports = {
methods: {
click: function() {
- require('@weex-module/myModule').printLog("\u6211\u662f\u4e00\u4e2a\u6d4b\u8bd5!");
+ weex.requireModule('myModule').printLog("\u6211\u662f\u4e00\u4e2a\u6d4b\u8bd5!");
}
}
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/8bd70c4f/doc/source/cn/references/advanced/extend-to-ios.md
----------------------------------------------------------------------
diff --git a/doc/source/cn/references/advanced/extend-to-ios.md b/doc/source/cn/references/advanced/extend-to-ios.md
index af6c4fd..4edecf4 100644
--- a/doc/source/cn/references/advanced/extend-to-ios.md
+++ b/doc/source/cn/references/advanced/extend-to-ios.md
@@ -58,7 +58,7 @@ Weex SDK \u53ea\u63d0\u4f9b\u6e32\u67d3\uff0c\u800c\u4e0d\u662f\u5176\u4ed6\u7684\u80fd\u529b\uff0c\u5982\u679c\u4f60\u9700\u8981 \u50cf\u7f51\u7edc
\u8fd9\u91cc\u7684 require \u91cc\u9762\u7684event \u5c31\u662f\u5728 \u4e0a\u4e00\u6b65\u8c03\u7528`registerModule:` \u6ce8\u518cmodule \u65f6\u5019\u7684name
```javascript
- var eventModule = require('@weex-module/event');
+ var eventModule = weex.requireModule('event');
eventModule.openURL('url',function(ret) {
nativeLog(ret);
});
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/8bd70c4f/doc/source/cn/references/components/a.md
----------------------------------------------------------------------
diff --git a/doc/source/cn/references/components/a.md b/doc/source/cn/references/components/a.md
index 5cac8dc..ce2dcf1 100644
--- a/doc/source/cn/references/components/a.md
+++ b/doc/source/cn/references/components/a.md
@@ -46,7 +46,7 @@ version: 2.1
1. **\u4e0d\u80fd**\u76f4\u63a5\u5728 `<a>` \u4e2d\u6dfb\u52a0\u6587\u672c\u3002
\u9519\u8bef\u793a\u4f8b\uff0c\u201cclick\u201d \u65e0\u6cd5\u88ab\u6b63\u5e38\u6e32\u67d3\u3002
- ```HTML
+ ```html
<template>
<div class="wrapper">
<a href="http://dotwe.org/raw/dist/a468998152ee680413588c38bd61c29e.js">
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/8bd70c4f/doc/source/cn/references/components/refresh.md
----------------------------------------------------------------------
diff --git a/doc/source/cn/references/components/refresh.md b/doc/source/cn/references/components/refresh.md
index 48c89ac..1eba39c 100644
--- a/doc/source/cn/references/components/refresh.md
+++ b/doc/source/cn/references/components/refresh.md
@@ -19,7 +19,7 @@ version: 2.1
## \u7279\u6027
-- `display {string}`\uff1a\u53ef\u9009\u503c\u4e3a `show` \u6216\u8005 `hide`\uff0c\u4ec5\u9690\u85cf `<indicator>`\uff0c`<loading>` \u5176\u4ed6\u5b50\u7ec4\u4ef6\u4f9d\u7136\u53ef\u89c1\uff0c`<loading>` \u4e8b\u4ef6\u4ecd\u4f1a\u88ab\u89e6\u53d1\u3002
+- `display {string}`\uff1a\u53ef\u9009\u503c\u4e3a `show` \u6216\u8005 `hide`\uff0c\u4ec5\u9690\u85cf `<indicator>`\uff0c`<refresh>` \u5176\u4ed6\u5b50\u7ec4\u4ef6\u4f9d\u7136\u53ef\u89c1\uff0c`<refresh>` \u4e8b\u4ef6\u4ecd\u4f1a\u88ab\u89e6\u53d1\u3002
## \u6837\u5f0f
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/8bd70c4f/doc/source/cn/references/modules/dom.md
----------------------------------------------------------------------
diff --git a/doc/source/cn/references/modules/dom.md b/doc/source/cn/references/modules/dom.md
index f6180d1..b7473c2 100644
--- a/doc/source/cn/references/modules/dom.md
+++ b/doc/source/cn/references/modules/dom.md
@@ -24,7 +24,7 @@ version: 2.1
~~\u8fd9\u4e2aAPI\u4e5f\u80fd\u901a\u8fc7\u8c03\u7528VM\u7684\u65b9\u6cd5 `$scrollTo` \u6765\u4f7f\u7528\uff08\u5df2\u5f03\u7528\uff09~~
-\u8981\u5728\u4f60\u7684 `.we` \u6587\u4ef6\u4e2d\u4f7f\u7528\u8fd9\u4e2a API\uff0c\u53ef\u4ee5\u4f7f\u7528 `require('@weex-module/dom').scrollToElement`\u3002
+\u8981\u5728\u4f60\u7684 `.vue` \u6587\u4ef6\u4e2d\u4f7f\u7528\u8fd9\u4e2a API\uff0c\u53ef\u4ee5\u4f7f\u7528 `weex.requireModule('dom').scrollToElement`\u3002
#### \u53c2\u6570
- `node {Node}`\uff1a\u4f60\u8981\u6eda\u52a8\u5230\u7684\u90a3\u4e2a\u8282\u70b9
@@ -122,7 +122,7 @@ version: 2.1
[try it](../../../examples/dom-scroll.html)
-### getComponentRect(ref, callback)<sup>v0.9.4+</sup>
+### getComponentRect(ref, callback) <span class="api-version">v0.9.4+</span>
\u901a\u8fc7\u6807\u7b7e\u7684 `ref` \u83b7\u5f97\u5176\u5e03\u5c40\u4fe1\u606f\uff0c\u8fd4\u56de\u7684\u4fe1\u606f\u5728 `callBack` \u4e2d\uff0c\u683c\u5f0f\u53c2\u8003\u5982\u4e0b\uff1a
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/8bd70c4f/doc/source/cn/references/modules/index.md
----------------------------------------------------------------------
diff --git a/doc/source/cn/references/modules/index.md b/doc/source/cn/references/modules/index.md
index 28756f4..8171de2 100644
--- a/doc/source/cn/references/modules/index.md
+++ b/doc/source/cn/references/modules/index.md
@@ -10,7 +10,7 @@ version: 2.1
## \u5982\u4f55\u4f7f\u7528
-\u4f60\u53ef\u4ee5\u7b80\u5355\u7684\u901a\u8fc7\u7c7b\u4f3c `require('@weex-module/name')` \u8fd9\u6837\u7684\u8bed\u6cd5\u83b7\u53d6\u4e00\u4e2a\u6a21\u5757\u7684 API\uff0c\u6bd4\u5982\uff1a
+\u4f60\u53ef\u4ee5\u7b80\u5355\u7684\u901a\u8fc7\u7c7b\u4f3c `weex.requireModule('name')` \u8fd9\u6837\u7684\u8bed\u6cd5\u83b7\u53d6\u4e00\u4e2a\u6a21\u5757\u7684 API\uff0c\u6bd4\u5982\uff1a
```html
<script>
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/8bd70c4f/doc/source/references/advanced/extend-to-android.md
----------------------------------------------------------------------
diff --git a/doc/source/references/advanced/extend-to-android.md b/doc/source/references/advanced/extend-to-android.md
index d4d2b6d..e10b906 100644
--- a/doc/source/references/advanced/extend-to-android.md
+++ b/doc/source/references/advanced/extend-to-android.md
@@ -65,7 +65,7 @@ WXSDKEngine.registerModule("event", WXEventModule.class);
Now `event` moudle is avaiable in weex, use the module like this:
```javascript
-var event = require('@weex-module/event');
+var event = weex.requireModule('event');
event.openURL("http://www.github.com");
```
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/8bd70c4f/doc/source/references/components/div.md
----------------------------------------------------------------------
diff --git a/doc/source/references/components/div.md b/doc/source/references/components/div.md
index 2531a31..d82ad0d 100644
--- a/doc/source/references/components/div.md
+++ b/doc/source/references/components/div.md
@@ -23,7 +23,7 @@ There is no specific attribute for this component.
### Styles
-**common styles**: check out the [common styles](../common-attrs.html)
+**common styles**: check out the [common styles](../common-style.html)
- support flexbox related styles
- support box model related styles
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/8bd70c4f/doc/source/references/modules/dom.md
----------------------------------------------------------------------
diff --git a/doc/source/references/modules/dom.md b/doc/source/references/modules/dom.md
index 6e69092..bfd80e0 100644
--- a/doc/source/references/modules/dom.md
+++ b/doc/source/references/modules/dom.md
@@ -17,7 +17,7 @@ A series of dom apis that sending virtual-dom's messages to the native renderer
Scroll the page to the specified node. This API should only be used on the element in the `scroller` or `list` component.
-<del>This API can be used by calling the VM's method `$scrollTo` **(deprecated)**.</del> You can use `require('@weex-module/dom').scrollToElement` to call this API in your `.we` file.
+<del>This API can be used by calling the VM's method `$scrollTo` **(deprecated)**.</del> You can use `weex.requireModule('dom').scrollToElement` to call this API in your `.we` file.
#### Arguments
@@ -116,7 +116,7 @@ Scroll the page to the specified node. This API should only be used on the eleme
[try it](../../examples/dom-scroll.html)
-### getComponentRect(ref,callback)<sup>v0.9.4+</sup>
+### getComponentRect(ref,callback) <span class="api-version">v0.9.4+</span>
You can get the view rectangle information of named element.
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/8bd70c4f/doc/source/references/modules/storage.md
----------------------------------------------------------------------
diff --git a/doc/source/references/modules/storage.md b/doc/source/references/modules/storage.md
index 3db4f29..b7bcf43 100644
--- a/doc/source/references/modules/storage.md
+++ b/doc/source/references/modules/storage.md
@@ -46,7 +46,7 @@ When passed a key name, will remove that key from the storage.
##### Example
```javascript
-var storage = require('@weex-module/storage');
+var storage = weex.requireModule('storage');
storage.removeItem('foo', function(e) {
// callback. 'e' is an object that contains 'result' and 'data'.
// e.result will return 'success' or 'failed' according to the executing result.
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/8bd70c4f/doc/source/references/modules/webview.md
----------------------------------------------------------------------
diff --git a/doc/source/references/modules/webview.md b/doc/source/references/modules/webview.md
index 096e4d3..d5dfbdd 100644
--- a/doc/source/references/modules/webview.md
+++ b/doc/source/references/modules/webview.md
@@ -22,7 +22,7 @@ Loads the previous location in the history stack.
#### Example
```
-var webview = require('@weex-module/webview');
+var webview = weex.requireModule('webview');
var webElement = this.$el('webview');
webview.goBack(webElement);
```
@@ -38,7 +38,7 @@ Loads the next location in the history stack.
#### Example
```
-var webview = require('@weex-module/webview');
+var webview = weex.requireModule('webview');
var webElement = this.$el('webview');
webview.goForward(webElement);
```
@@ -54,7 +54,7 @@ Reloads the current web page.
#### Example
```
-var webview = require('@weex-module/webview');
+var webview = weex.requireModule('webview');
var webElement = this.$el('webview');
webview.reload(webElement.ref);
```
[30/50] incubator-weex git commit: * [doc] Update weex-vue-render.js
Posted by cx...@apache.org.
* [doc] Update weex-vue-render.js
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/16ba1485
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/16ba1485
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/16ba1485
Branch: refs/heads/master
Commit: 16ba148532739ccfb9373763a32961706c225d74
Parents: 6e72a24
Author: Yun Dong <yu...@gmail.com>
Authored: Thu Mar 2 00:45:55 2017 +0800
Committer: Yun Dong <yu...@gmail.com>
Committed: Thu Mar 2 00:45:55 2017 +0800
----------------------------------------------------------------------
doc/themes/weex/source/js/example.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/16ba1485/doc/themes/weex/source/js/example.js
----------------------------------------------------------------------
diff --git a/doc/themes/weex/source/js/example.js b/doc/themes/weex/source/js/example.js
index e87215e..43012c4 100644
--- a/doc/themes/weex/source/js/example.js
+++ b/doc/themes/weex/source/js/example.js
@@ -16,7 +16,7 @@
'}' +
'</style>' +
'<script src="https://unpkg.com/vue/dist/vue.runtime.js"></script>' +
- '<script src="https://unpkg.com/weex-vue-render/index.js"></script>' +
+ '<script src="https://unpkg.com/weex-vue-render@0.10.0/dist/index.min.js"></script>' +
'</head>' +
'<body>' +
'<div id="root"></div>' +