diff --git a/36Kr/README.md b/36Kr/README.md new file mode 100644 index 0000000..23bff0f --- /dev/null +++ b/36Kr/README.md @@ -0,0 +1,19 @@ +# 36Kr +这是流应用版本的36Kr客户端,目前已集成在360手机助手。 + +## 核心功能 +1.通过rss订阅,读取最新的文章信息; + +2.本地缓存已下载的文章内容,在无网络环境下,也可以离线阅读; + +3.支持将优秀文章分享到朋友圈 + +4.支持根据网络条件,决定是否下载图片 + +5.支持清除本地缓存 + +6.支持流式下载,边下边用 + + +## 软件截图 + diff --git a/36Kr/about.html b/36Kr/about.html new file mode 100644 index 0000000..8cb280c --- /dev/null +++ b/36Kr/about.html @@ -0,0 +1,65 @@ + + + + + + + + + + + + + + +
+

+
+
+
+
+
+

36氪,专注互联网创业。

+

应用版本:1.0.0

+

2010年12月8日,36氪作为科技媒体正式上线,其名字源于元素周期表的第36号元素“氪”,化学符号为 Kr,一个稳定、独立,不易与其他其他物质发生化学作用的元素。传说中的氪星是超人的故乡。

+ +

经历四年成长,36氪不仅有备受顶级投资机构关注的高效互联网融资平台(氪加),还有专注于互联网创业项目孵化的氪空间(Kr Space),在全中国首创了“不收费、不占股、全球资本,平台服务”的新型孵化器模式。同时,36氪的科技媒体,已然成为最前沿科技资讯的平台,也是互联网创业者寻求报道,接洽资本的首选入口。由媒体、氪加和氪空间三条产品线,构成了36氪专注互联网创业的生态圈模式。

+ +

创始人兼CEO刘成城(Liu CC),1988年出生在江苏盐城。中国科学院硕士,在2013年被《福布斯》评为“中国30岁以下的创业者前30名”之一 。

+ +

36氪从4个创始人到现在100人,90%的员工都是85后,平均年龄25岁,我们更了解年轻人,我们更了解创业者,我们更了解创投的生态环境。年轻开放的团队,从早午餐到下午茶,从每周健康按摩到集体出境旅行,让每位员工的付出与福利同步前进。

+ +

我们的产品

+ +
    +
  • 氪加:高效的线上创业融资平台
  • +
+ +

氪加是36氪从创业观察者到践行者的升级,从媒体到平台到延伸。我们认为,只有存在更活跃、透明的投融资对接市场,投资人才能够最有效地发现创业者的优秀价值。氪加团队由资深媒体记者、产品技术开发团队、专业财务顾问、数据库人才组成。同时,在这一平台内也活跃着逾千名国内外专业投资人,以及数以万计的互联网创业者。

+ +

氪加的理念在于,创造一个为创业者展示项目,吸引融资的平台,筛选并匹配优秀专业的投资机构和投资人。截止至目前为止,已有83个项目正在平台挂牌融资,其中30+个已经完成融资,同时在后代申请挂牌的项目也已经超过3000家,这个数字每天都在被不断刷新。

+ +
    +
  • 氪空间
  • +
+ +

专业专注的创业项目线下孵化器。自2014年4月份上线以来,报名申请入驻氪空间的创业项目超过5000个。到2014年10月为止,已有29家团队入驻过氪空间。第一批项目共12个,其中11个完成融资并孵化成功。全部项目总融资额达到 5000 万人民币,最大单笔融资 1000 万,入驻后平均融资周期仅为1个月 。

+ +
    +
  • 36氪主站 www.36kr.com
  • +
+ +

自2010年年底主站上线至今,36氪媒体获得了高速的成长。目前主站单月UV超过500万,PV达到1000万以上。36氪的科技媒体部门坚持不收车马费,不发软文,自觉做最有原则的科技媒体。

+

 

+
+
+
+ +
+ + + + + \ No newline at end of file diff --git a/36Kr/browser.html b/36Kr/browser.html new file mode 100644 index 0000000..1a80c08 --- /dev/null +++ b/36Kr/browser.html @@ -0,0 +1,89 @@ + + + + + + 36氪 - 内置浏览器 + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/36Kr/css/about.css b/36Kr/css/about.css new file mode 100644 index 0000000..7cec08b --- /dev/null +++ b/36Kr/css/about.css @@ -0,0 +1,4009 @@ +@charset "UTF-8"; +*, +*:before, +*:after { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box +} +html, +body, +div, +span, +applet, +object, +iframe, +h1, +h2, +h3, +h4, +h5, +h6, +p, +blockquote, +pre, +a, +img, +abbr, +acronym, +address, +big, +cite, +code, +del, +dfn, +em, +font, +ins, +kbd, +q, +s, +samp, +small, +strike, +strong, +sub, +sup, +tt, +var, +dl, +dt, +dd, +ol, +ul, +li, +fieldset, +form, +label, +legend, +table, +caption, +tbody, +tfoot, +thead, +tr, +th, +td, +article, +aside, +canvas, +details, +figcaption, +figure, +hgroup, +menu, +nav, +summary, +time, +mark, +audio, +video, +header, +footer { + margin: 0; + padding: 0; + border: 0; + font-weight: inherit; + font-style: inherit; + font-size: 100%; + font-family: inherit; + vertical-align: baseline; + background: transparent +} +html { + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale +} +article, +aside, +canvas, +details, +figcaption, +figure, +footer, +header, +hgroup, +img, +menu, +nav, +section, +summary { + display: block +} +ol, +ul { + list-style: none +} +blockquote, +q { + quotes: none +} +blockquote:before, +blockquote:after, +q:before, +q:after { + content: ''; + content: none +} +[hidden] { + display: none +} +abbr[title] { + border-bottom: 1px dotted +} +b, +strong { + font-weight: bold +} +em { + font-size: 16px; + font-size: 1.6rem; + background: #f6f6f6; + border-bottom: 1px solid #e4e4e4 +} +dfn { + font-style: italic +} +mark { + background: #ff0; + color: #000 +} +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline +} +sup { + top: -0.5em +} +sub { + bottom: -0.25em +} +svg:not(:root) { + overflow: hidden +} +figure { + margin: 0 +} +a { + background: transparent; + border: 0; + font-size: 100%; + margin: 0; + padding: 0; + vertical-align: baseline; + -webkit-transition: all 0.2s ease; + -moz-transition: all 0.2s ease; + transition: all 0.2s ease +} +table { + border-collapse: collapse; + border-spacing: 0 +} +caption, +th, +td { + text-align: left; + font-weight: normal +} +button, +input, +select, +textarea { + font-size: 100%; + margin: 0; + padding: 0; + border: none; + outline: none; + border-radius: 0; + vertical-align: baseline +} +button, +input[type="button"], +input[type="reset"], +input[type="submit"] { + cursor: pointer; + -webkit-appearance: button +} +button[disabled], +input[disabled] { + cursor: default +} +input[type="checkbox"], +input[type="radio"] { + box-sizing: border-box; + padding: 0 +} +input[type="search"] { + -webkit-appearance: textfield; + -moz-box-sizing: content-box; + -webkit-box-sizing: content-box; + box-sizing: content-box +} +input[type="search"]::-webkit-search-decoration, +input[type="search"]::-webkit-search-cancel-button { + -webkit-appearance: none +} +button::-moz-focus-inner, +input::-moz-focus-inner { + border: 0; + padding: 0 +} +textarea { + overflow: auto; + vertical-align: top; + resize: none +} +input:focus, +textarea:focus { + outline: none +} +input::-ms-clear { + display: none +} +[placeholder]:focus::-webkit-input-placeholder { + -webkit-transition: opacity 0.5s ease; + -moz-transition: opacity 0.5s ease; + transition: opacity 0.5s ease; + opacity: 0 +} +[placeholder]:focus::-moz-input-placeholder { + -webkit-transition: opacity 0.5s ease; + -moz-transition: opacity 0.5s ease; + transition: opacity 0.5s ease; + opacity: 0 +} +a { + text-decoration: none; + color: #38485a +} +a:hover { + text-decoration: none; + color: #51aded +} +a:focus { + color: #11161b +} +a:hover, +a:focus, +a:active { + outline: 0 +} +html { + font-size: 62.5%; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); + -webkit-overflow-scrolling: touch; + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; + -ms-overflow-style: -ms-autohiding-scrollbar +} +html, +body { + height: 100% +} +body { + font-size: 16px; + font-size: 1.6rem; + -ms-word-break: break-all; + word-break: break-all; + word-break: break-word; + word-wrap: break-word; + overflow-wrap: break-word; + background: #fff; + color: #747f8c; + font-family: "Open Sans", Arial, "Hiragino Sans GB", "Microsoft YaHei", "微软雅黑", "STHeiti", "WenQuanYi Micro Hei", SimSun, sans-serif +} +@media screen and (max-width: 30em) { + body { + -webkit-hyphens: auto; + -moz-hyphens: auto; + -ms-hyphens: auto; + -o-hyphens: auto; + hyphens: auto + } +} +input::-webkit-input-placeholder { + font-size: 13px; + font-size: 1.3rem; + color: #747f8c +} +input:-moz-placeholder { + font-size: 13px; + font-size: 1.3rem; + color: #747f8c +} +input::-moz-placeholder { + font-size: 13px; + font-size: 1.3rem; + color: #747f8c +} +input:-ms-input-placeholder { + font-size: 13px; + font-size: 1.3rem; + color: #747f8c +} +::selection { + background-color: #38485a; + color: #fff; + text-shadow: 0 1px 0 rgba(0, 0, 0, 0.3) +} +::-moz-selection { + background-color: #38485a; + color: #fff; + text-shadow: 0 1px 0 rgba(0, 0, 0, 0.3) +} +img::selection { + background: transparent +} +img::-moz-selection { + background: transparent +} +.left, +.previous_page { + float: left +} +.right, +.next_page { + float: right +} +.cf:after { + content: ""; + display: table; + clear: both +} +abbr.timeago { + border-bottom-width: 0 +} +.tabs a.active { + background: #e6eaed; + color: #747f8c !important +} +.post-ad .left-col { + margin-right: 100px +} +h1, +h2, +h3, +h4, +h5, +h6 { + font-weight: bold +} +img, +video, +object, +embed, +iframe { + max-width: 100% !important +} +.single-post-header__headline img { + width: 100% +} +video, +object, +embed, +iframe { + width: 100% +} +iframe { + max-height: 340px +} +img { + image-rendering: optimizeQuality; + -ms-interpolation-mode: bicubic; + display: block; + height: auto; + border: 0; + vertical-align: middle +} +.avatar img { + -webkit-border-radius: 50%; + border-radius: 50% +} +figure { + font-size: 12px; + font-size: 1.2rem; + margin-top: 40px; + margin-bottom: 40px; + text-align: center +} +figure figcaption { + margin-top: 5px +} +@media screen and (min-width: 48.0625em) { + figure.big { + margin-right: -70px; + margin-left: -70px + } +} +@media screen and (min-width: 68.625em) { + figure.big { + margin-right: -229px; + margin-left: -229px + } +} +@media screen and (min-width: 30.0625em) { + figure.small-left { + float: left; + margin: 0 30px 20px -199px + } +} +.lazyload { + opacity: 0 +} +.lazyload.loaded { + -webkit-transition: opacity 0.3s ease-in; + -moz-transition: opacity 0.3s ease-in; + transition: opacity 0.3s ease-in; + opacity: 1 +} +.spinner { + position: absolute; + z-index: 1; + width: 20px; + height: 20px; + top: 50%; + left: 50%; + margin: -10px 0 0 -10px; + border: 2px solid rgba(0, 0, 0, 0); + border-radius: 10px; + -webkit-transition: opacity 0.3s ease-in; + -moz-transition: opacity 0.3s ease-in; + transition: opacity 0.3s ease-in; + -webkit-animation: rotate 0.8s linear infinite; + -moz-animation: rotate 0.8s linear infinite; + animation: rotate 0.8s linear infinite; + opacity: 1 +} +.spinner:before { + content: ""; + position: absolute; + left: -3px; + top: -3px; + width: 22px; + height: 22px; + background-image: url("spinner.png") +} +@media only screen and (-webkit-min-device-pixel-ratio: 1.3), +only screen and (min--moz-device-pixel-ratio: 1.3), +only screen and (-o-min-device-pixel-ratio: 1.3 / 1), +only screen and (min-resolution: 125dpi), +only screen and (min-resolution: 1.3dppx) { + .spinner:before { + background-image: url("spinner_2x.png"); + background-size: 22px 22px + } +} +.loaded+.spinner { + opacity: 0 +} +[data-icon]:before { + font-family: "36kr" !important; + content: attr(data-icon); + font-style: normal !important; + font-weight: normal !important; + font-variant: normal !important; + text-transform: none !important; + speak: none; + line-height: 1; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale +} +[class^="icon-"]:before, +[class*=" icon-"]:before { + font-family: "36kr" !important; + font-style: normal !important; + font-weight: normal !important; + font-variant: normal !important; + text-transform: none !important; + speak: none; + line-height: 1; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale +} +.icon-close:before { + content: "a" +} +.icon-heart:before { + content: "b" +} +.icon-hot:before { + content: "c" +} +.icon-lock:before { + content: "d" +} +.icon-login-mail:before { + content: "e" +} +.icon-mail:before { + content: "f" +} +.icon-menu:before { + content: "g" +} +.icon-more:before { + content: "h" +} +.icon-next:before { + content: "i" +} +.icon-prev:before { + content: "j" +} +.icon-reply:before { + content: "k" +} +.icon-search:before { + content: "l" +} +.icon-share:before { + content: "m" +} +.icon-social-douban:before { + content: "n" +} +.icon-social-evernote:before { + content: "o" +} +.icon-social-github:before { + content: "p" +} +.icon-social-qq:before { + content: "q" +} +.icon-social-renren:before { + content: "r" +} +.icon-social-twitter:before { + content: "s" +} +.icon-social-weibo:before { + content: "t" +} +.icon-star:before { + content: "u" +} +.icon-user:before { + content: "v" +} +.fadeIn { + -webkit-animation: fadeIn 0.8s ease-out; + -moz-animation: fadeIn 0.8s ease-out; + animation: fadeIn 0.8s ease-out +} +.fadeOut { + -webkit-animation: fadeOut 0.8s ease-out; + -moz-animation: fadeOut 0.8s ease-out; + animation: fadeOut 0.8s ease-out; + display: none +} +.fadeInUp { + -webkit-animation: fadeInUp 0.4s ease-in; + -moz-animation: fadeInUp 0.4s ease-in; + animation: fadeInUp 0.4s ease-in; + display: block !important +} +.fadeInDown { + -webkit-animation: fadeInDown 0.4s ease-in; + -moz-animation: fadeInDown 0.4s ease-in; + animation: fadeInDown 0.4s ease-in; + display: block !important +} +@-webkit-keyframes showPanel { + 0% { + -webkit-transform: scale(0.75); + opacity: 0.0 + } + 50% { + -webkit-transform: scale(1.05); + opacity: 1.0 + } + 100% { + -webkit-transform: scale(1); + opacity: 1.0 + } +} +@-moz-keyframes showPanel { + 0% { + -moz-transform: scale(0.75); + opacity: 0.0 + } + 50% { + -moz-transform: scale(1.05); + opacity: 1.0 + } + 100% { + -moz-transform: scale(1); + opacity: 1.0 + } +} +@keyframes showPanel { + 0% { + transform: scale(0.75); + opacity: 0.0 + } + 50% { + transform: scale(1.05); + opacity: 1.0 + } + 100% { + transform: scale(1); + opacity: 1.0 + } +} +@-webkit-keyframes hidePanel { + 0% { + -webkit-transform: scale(1); + opacity: 1.0 + } + 100% { + -webkit-transform: scale(0.98); + opacity: 0.0 + } +} +@-moz-keyframes hidePanel { + 0% { + -moz-transform: scale(1); + opacity: 1.0 + } + 100% { + -moz-transform: scale(0.98); + opacity: 0.0 + } +} +@keyframes hidePanel { + 0% { + transform: scale(1); + opacity: 1.0 + } + 100% { + transform: scale(0.98); + opacity: 0.0 + } +} +@-webkit-keyframes fadeInUp { + 0% { + -webkit-transform: translateY(40px); + opacity: 0 + } + 100% { + -webkit-transform: translateY(0); + opacity: 1 + } +} +@-moz-keyframes fadeInUp { + 0% { + -moz-transform: translateY(40px); + opacity: 0 + } + 100% { + -moz-transform: translateY(0); + opacity: 1 + } +} +@keyframes fadeInUp { + 0% { + transform: translateY(40px); + opacity: 0 + } + 100% { + transform: translateY(0); + opacity: 1 + } +} +@-webkit-keyframes fadeInDown { + 0% { + -webkit-transform: translateY(-20px); + opacity: 0 + } + 100% { + -webkit-transform: translateY(0); + opacity: 1 + } +} +@-moz-keyframes fadeInDown { + 0% { + -moz-transform: translateY(-20px); + opacity: 0 + } + 100% { + -moz-transform: translateY(0); + opacity: 1 + } +} +@keyframes fadeInDown { + 0% { + transform: translateY(-20px); + opacity: 0 + } + 100% { + transform: translateY(0); + opacity: 1 + } +} +@-webkit-keyframes fadeIn { + 0% { + opacity: 0 + } + 100% { + opacity: 1 + } +} +@-moz-keyframes fadeIn { + 0% { + opacity: 0 + } + 100% { + opacity: 1 + } +} +@keyframes fadeIn { + 0% { + opacity: 0 + } + 100% { + opacity: 1 + } +} +@-webkit-keyframes fadeOut { + 0% { + opacity: 1 + } + 100% { + opacity: 0 + } +} +@-moz-keyframes fadeOut { + 0% { + opacity: 1 + } + 100% { + opacity: 0 + } +} +@keyframes fadeOut { + 0% { + opacity: 1 + } + 100% { + opacity: 0 + } +} +@-webkit-keyframes rotate { + 100% { + -webkit-transform: rotate(360deg) + } +} +@-moz-keyframes rotate { + 100% { + -moz-transform: rotate(360deg) + } +} +@keyframes rotate { + 100% { + transform: rotate(360deg) + } +} +.icons-weibo, +.icons-twitter, +.icons-facebook, +.icons-rss { + background: url(icons.svg) no-repeat +} +.icons-weibo { + background-position: 0 0 +} +.icons-twitter { + background-position: -32px 0 +} +.icons-facebook { + background-position: -64px 0 +} +.icons-rss { + background-position: -96px 0 +} +.startups, +.us-startups { + color: #ff905a !important +} +.startups:hover, +.us-startups:hover { + color: #ff6e27 !important +} +.products, +.breaking { + color: #66bc4e !important +} +.products:hover, +.breaking:hover { + color: #509c3b !important +} +.apps, +.cn-news { + color: #3c8fe6 !important +} +.apps:hover, +.cn-news:hover { + color: #1b75d4 !important +} +.websites, +.column { + color: #5856d6 !important +} +.websites:hover, +.column:hover { + color: #3331c8 !important +} +.brands, +.digest { + color: #ff3b30 !important +} +.brands:hover, +.digest:hover { + color: #fc0d00 !important +} +.people, +.cn-startups { + color: #fc0 !important +} +.people:hover, +.cn-startups:hover { + color: #cca300 !important +} +.devices, +.archives { + color: #19d5fd !important +} +.devices:hover, +.archives:hover { + color: #02bae1 !important +} +.technology { + color: #34aadc !important +} +.technology:hover { + color: #218ebd !important +} +.header-normal { + border-bottom: 1px solid #e6eaed +} +.header-single { + position: relative; + background: transparent !important +} +.header-single .inner { + max-width: 1500px; + margin: 0 auto; + padding: 0 20px +} +.header { + height: 64px; + background: #fefefe; + display: block; + z-index: 1001; + width: 100%; + -webkit-transition: all 0.4s linear; + -moz-transition: all 0.4s linear; + transition: all 0.4s linear +} +.header .inner { + position: relative +} +@media screen and (max-width: 48em) { + .header .inner { + padding: 0 !important + } +} +@media screen and (min-width: 48.0625em) { + .header-normal { + position: fixed; + top: 0; + border-bottom: none !important + } + .scrolled { + background: #fefefe; + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2) + } + .header.scrolled h1 a { + background: transparent + } + .header.scrolled h1 span { + background-position: 0 -30px; + top: 34px + } + .scrolled .second-nav__login { + color: #fff !important; + border: 2px solid #51aded; + background: #51aded + } +} +.logo { + width: 80px; + height: 80px; + float: left; + display: inline-block; + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0 +} +@media screen and (max-width: 48em) { + .logo { + height: 64px + } +} +.logo a { + width: 80px; + height: 80px; + display: block; + position: relative; + -webkit-transform: translate3d(0, 0, 0); + -webkit-transition: all 0.2s ease; + -moz-transition: all 0.2s ease; + transition: all 0.2s ease; + background: #1D71B6 +} +.logo span { + width: 55px; + height: 30px; + display: block; + position: absolute; + top: 50%; + left: 50%; + margin: -15px 0 0 -27px; + background-image: url("36kr.png") +} +@media only screen and (-webkit-min-device-pixel-ratio: 1.3), +only screen and (min--moz-device-pixel-ratio: 1.3), +only screen and (-o-min-device-pixel-ratio: 1.3 / 1), +only screen and (min-resolution: 125dpi), +only screen and (min-resolution: 1.3dppx) { + .logo span { + background-image: url("36kr_2x.png"); + background-size: 55px 60px + } +} +.header-normal .logo a { + background: none +} +@media screen and (min-width: 48.0625em) { + .header-normal .logo a { + background: #1D71B6 + } +} +@media screen and (max-width: 48em) { + .header-normal .logo span { + background-position: 0 -30px; + top: 34px + } +} +.main-nav li, +.second-nav li { + list-style: none; + display: inline-block +} +@media screen and (max-width: 48em) { + .main-nav, + .search { + left: 0; + border-bottom: 1px solid #e6eaed; + margin-bottom: 20px; + width: 100%; + display: none; + overflow: hidden + } + .main-nav.active, + .search.active { + height: 40px; + display: block + } + .main-nav li { + width: 25%; + float: left + } + .main-nav__item { + text-align: center + } + .dropdown { + display: none + } +} +@media screen and (min-width: 48.0625em) { + .main-nav { + margin-left: 10px; + margin-top: 8px + } +} +@media screen and (min-width: 75.0625em) { + .main-nav { + margin-left: 20px + } +} +.main-nav .current:after { + position: absolute; + content: " "; + bottom: -4px; + left: 10%; + width: 80%; + border-bottom: 4px solid #51aded +} +@media screen and (min-width: 75.0625em) { + .main-nav .current:after { + bottom: -6px + } +} +@media screen and (min-width: 48.0625em) { + .main-nav .hasdropdown:before { + content: " "; + height: 0; + width: 0; + border-color: transparent; + border-style: solid; + border-width: 4px; + border-top-color: #51aded; + position: absolute; + top: 48%; + right: 2px + } +} +@media screen and (min-width: 75.0625em) { + .main-nav .hasdropdown:before { + right: 14px + } +} +.main-nav .main-nav__item { + color: #51aded; + font-size: 14px; + font-size: 1.4rem; + font-weight: bold; + padding: 10px 6px; + display: block; + position: relative +} +.main-nav .main-nav__item:hover { + color: #2397e8 +} +@media screen and (min-width: 20.0625em) { + .main-nav .main-nav__item { + padding: 10px 12px; + font-size: 16px; + font-size: 1.6rem + } +} +@media screen and (min-width: 48.0625em) { + .main-nav .main-nav__item { + padding: 14px 12px + } +} +@media screen and (min-width: 75.0625em) { + .main-nav .main-nav__item { + padding: 10px 25px; + font-size: 20px; + font-size: 2rem + } +} +.main-nav--more { + position: relative +} +.main-nav--more .new { + position: absolute; + top: 4px; + right: 20px; + border-radius: 100%; + background: #D63B5C; + width: 6px; + height: 6px +} +.second-nav { + font-size: 14px; + font-size: 1.4rem; + position: absolute; + right: 0; + top: 0; + height: 64px; + line-height: 64px +} +@media screen and (max-width: 48em) { + .second-nav { + display: none + } +} +.second-nav li { + vertical-align: middle +} +.second-nav a { + color: #38485a; + padding: 0 10px; + display: block +} +.second-nav a:hover { + color: #11161b +} +.second-nav .second-nav__register, +.second-nav .second-nav__submit { + display: none +} +@media screen and (min-width: 75.0625em) { + .second-nav .second-nav__register, + .second-nav .second-nav__submit { + display: inline-block + } +} +.second-nav .second-nav__account { + line-height: 24px; + position: relative +} +.second-nav .second-nav__account img { + margin-right: 5px +} +.second-nav .second-nav__account:before { + content: " "; + height: 0; + width: 0; + border-color: transparent; + border-style: solid; + border-width: 3px; + border-top-color: rgba(67, 79, 93, 0.7); + position: absolute; + top: 48%; + right: 0 +} +.second-nav .second-nav__login { + color: #51aded; + line-height: 28px; + padding-left: 15px; + padding-right: 15px; + display: inline-block; + border-radius: 3px; + border: 2px solid #51aded; + -webkit-font-smoothing: subpixel-antialiased +} +.second-nav .second-nav__login:hover { + background: #51aded; + color: #fff +} +@media screen and (min-width: 75.0625em) { + .second-nav .second-nav__login { + margin-left: 10px + } +} +.second-nav .avatar-small { + width: 24px; + height: 24px +} +.second-nav .new { + width: 8px; + height: 8px; + position: absolute; + top: -2px; + left: 28px; + background: #56AEEA; + border-radius: 50%; + display: inline-block +} +.search { + float: left; + padding: 10px 20px +} +@media screen and (min-width: 48.0625em) { + .search { + display: none + } +} +@media screen and (min-width: 58.4375em) { + .search { + display: inline-block; + margin-left: 30px; + margin-top: 18px; + padding: 0; + width: 200px + } +} +@media screen and (min-width: 75.0625em) { + .search { + margin-left: 60px + } +} +input[type=search] { + -webkit-appearance: none; + color: #38485a; + white-space: nowrap; + overflow: hidden; + width: 100%; + height: 20px; + line-height: 20px; + border: none; + outline: none; + resize: none +} +@media screen and (min-width: 48.0625em) { + input[type=search] { + width: 70%; + float: right; + padding: 5px 20px; + border-radius: 50px; + box-shadow: inset 0 0 4px 0 rgba(0, 0, 0, 0.1); + background: #e6eaed; + -webkit-transform: translate3d(0, 0, 0); + -webkit-transition: 0.3s ease; + -moz-transition: 0.3s ease; + transition: 0.3s ease; + -webkit-background-clip: padding-box; + -moz-background-clip: padding-box; + background-clip: padding-box + } + input[type=search]:focus { + outline: none; + width: 80%; + background: #d7dee2 + } +} +.drop { + position: relative +} +.drop li { + display: inline-block +} +.dropdown-normal { + top: 0 +} +@media screen and (min-width: 75.0625em) { + .dropdown-normal { + left: 20px + } +} +.dropdown-account { + top: 10px +} +.dropdown { + position: relative; + outline: none; + font-size: 14px; + font-size: 1.4rem +} +.dropdown h2 { + font-size: 11px; + font-size: 1.1rem; + text-transform: uppercase; + margin-bottom: 5px +} +.dropdown h3 { + font-size: 16px; + font-size: 1.6rem; + margin-bottom: 7px +} +.dropdown section { + padding: 10px; + border-bottom: 1px solid #e6eaed +} +.dropdown section:last-child { + border: none +} +.account__list { + width: 120px; + line-height: 30px +} +.account__list ul { + padding-left: 0 +} +.account__list li { + position: relative +} +.account__list a { + padding: 0 +} +.account__list span { + position: absolute; + top: 3px; + right: -34px; + color: #fff; + line-height: 17px; + font-size: 12px; + font-size: 1.2rem; + background: #51aded; + padding: 0 8px; + border-radius: 25px +} +.main-nav__list { + width: 232px +} +.dropdown-list { + position: absolute; + background: #fff; + z-index: 9999; + border: 1px solid #e6eaed; + -webkit-border-radius: 3px; + border-radius: 3px; + -webkit-box-shadow: 0 2px 3px rgba(0, 0, 0, 0.2); + box-shadow: 0 2px 3px rgba(0, 0, 0, 0.2); + -webkit-transition: all 500ms cubic-bezier(0.34, 1.21, 0.4, 1); + -moz-transition: all 500ms cubic-bezier(0.34, 1.21, 0.4, 1); + transition: all 500ms cubic-bezier(0.34, 1.21, 0.4, 1); + -webkit-transform-origin: 20% 0; + -moz-transform-origin: 20% 0; + -ms-transform-origin: 20% 0; + -o-transform-origin: 20% 0; + transform-origin: 20% 0; + -webkit-transform: translateY(0) scale(0); + -moz-transform: translateY(0) scale(0); + -ms-transform: translateY(0) scale(0); + -o-transform: translateY(0) scale(0); + transform: translateY(0) scale(0); + list-style: none; + opacity: 0; + pointer-events: none +} +.dropdown-list:before { + content: ""; + width: 20px; + height: 12px; + position: absolute; + top: -12px; + left: 20%; + margin-left: -8px; + background-image: url("triangle.png") +} +@media only screen and (-webkit-min-device-pixel-ratio: 1.3), +only screen and (min--moz-device-pixel-ratio: 1.3), +only screen and (-o-min-device-pixel-ratio: 1.3 / 1), +only screen and (min-resolution: 125dpi), +only screen and (min-resolution: 1.3dppx) { + .dropdown-list:before { + background-image: url("triangle_2x.png"); + background-size: 20px 12px + } +} +.dropdown-list a { + color: #5F7083; + font-weight: bold +} +.dropdown-list a:hover { + color: #51aded +} +.dropdown-list .more { + padding: 20px 40px +} +.dropdown-list .more a { + width: 150px; + height: 32px; + color: #fff; + font-size: 12px; + font-size: 1.2rem; + line-height: 32px; + text-align: center; + display: inline-block; + background: #51aded +} +.dropdown-list .more a:hover { + background: #2397e8 +} +.dropdown-list ul { + padding-left: 5px +} +.dropdown-list li { + line-height: 24px +} +.dropdown-list .dropdown__category li { + text-align: left; + float: left; + width: 102px +} +.dropdown-list .dropdown__topic li { + width: 200px; + color: #caced3 +} +.dropdown-list .dropdown__events .address, +.dropdown-list .dropdown__events .bio { + font-size: 12px; + font-size: 1.2rem; + margin-right: 5px +} +.dropdown-list .dropdown__events .date { + background: #b6bcc4; + width: 50px; + height: 50px; + text-align: center; + color: #fff; + padding: 5px +} +.dropdown-list .dropdown__events .date span { + display: block +} +.dropdown-list .dropdown__events .date .month { + font-size: 12px; + font-size: 1.2rem; + text-transform: uppercase +} +.dropdown-list .dropdown__events .date .day { + font-size: 24px; + font-size: 2.4rem; + font-weight: bold; + margin-top: -5px +} +.dropdown-list .dropdown__events .date.upcoming { + background: #51aded +} +.dropdown-list .dropdown__events .intro { + margin-left: 60px +} +.dropdown-list .dropdown__events .product-logo { + width: 50px; + height: 50px +} +.dropdown-list .dropdown__events .product-krspace { + background-image: url("product-01.png") +} +@media only screen and (-webkit-min-device-pixel-ratio: 1.3), +only screen and (min--moz-device-pixel-ratio: 1.3), +only screen and (-o-min-device-pixel-ratio: 1.3 / 1), +only screen and (min-resolution: 125dpi), +only screen and (min-resolution: 1.3dppx) { + .dropdown-list .dropdown__events .product-krspace { + background-image: url("product-01_2x.png"); + background-size: 50px 50px + } +} +.dropdown-list .dropdown__events .product-krplus { + background-image: url("product-02.png") +} +@media only screen and (-webkit-min-device-pixel-ratio: 1.3), +only screen and (min--moz-device-pixel-ratio: 1.3), +only screen and (-o-min-device-pixel-ratio: 1.3 / 1), +only screen and (min-resolution: 125dpi), +only screen and (min-resolution: 1.3dppx) { + .dropdown-list .dropdown__events .product-krplus { + background-image: url("product-02_2x.png"); + background-size: 50px 50px + } +} +.dropdown-list .dropdown__events .product-wise { + background-image: url("product-03.png") +} +@media only screen and (-webkit-min-device-pixel-ratio: 1.3), +only screen and (min--moz-device-pixel-ratio: 1.3), +only screen and (-o-min-device-pixel-ratio: 1.3 / 1), +only screen and (min-resolution: 125dpi), +only screen and (min-resolution: 1.3dppx) { + .dropdown-list .dropdown__events .product-wise { + background-image: url("product-03_2x.png"); + background-size: 50px 50px + } +} +.dropdown-list .dropdown__events .product-beiji { + background-image: url("product-04.png") +} +@media only screen and (-webkit-min-device-pixel-ratio: 1.3), +only screen and (min--moz-device-pixel-ratio: 1.3), +only screen and (-o-min-device-pixel-ratio: 1.3 / 1), +only screen and (min-resolution: 125dpi), +only screen and (min-resolution: 1.3dppx) { + .dropdown-list .dropdown__events .product-beiji { + background-image: url("product-04_2x.png"); + background-size: 50px 50px + } +} +.dropdown-list .dropdown__events .product-next { + background-image: url("product-05.png") +} +@media only screen and (-webkit-min-device-pixel-ratio: 1.3), +only screen and (min--moz-device-pixel-ratio: 1.3), +only screen and (-o-min-device-pixel-ratio: 1.3 / 1), +only screen and (min-resolution: 125dpi), +only screen and (min-resolution: 1.3dppx) { + .dropdown-list .dropdown__events .product-next { + background-image: url("product-05_2x.png"); + background-size: 50px 50px + } +} +.dropdown-list .dropdown__events .status { + font-size: 11px; + font-size: 1.1rem; + color: #fff; + padding: 3px; + border-radius: 3px; + background: #b6bcc4; + -webkit-font-smoothing: subpixel-antialiased +} +.active .dropdown-list { + opacity: 1; + pointer-events: auto; + -webkit-transform: translateY(0) scale(1); + -moz-transform: translateY(0) scale(1); + -ms-transform: translateY(0) scale(1); + -o-transform: translateY(0) scale(1); + transform: translateY(0) scale(1) +} +.toggle-nav { + position: absolute; + right: 0 +} +@media screen and (min-width: 48.0625em) { + .toggle-nav { + display: none; + visibility: hidden + } +} +.toggle-nav li { + display: inline-block +} +.toggle-nav a { + font-size: 28px; + font-size: 2.8rem; + color: #747f8c; + height: 64px; + display: inline-block; + padding: 18px 20px; + border-left: 1px solid #e6eaed +} +.toggle-nav .toggle__submit { + font-size: 16px; + font-size: 1.6rem; + line-height: 2; + height: 64px +} +@media screen and (max-width: 30em) { + .toggle-nav .toggle__submit { + display: none; + visibility: hidden + } +} +.toggle-nav span { + position: absolute !important; + overflow: hidden; + width: 1px; + height: 1px; + padding: 0; + border: 0; + clip: rect(1px, 1px, 1px, 1px) +} +.row { + max-width: 1180px; + margin-left: auto; + margin-right: auto; + padding-left: 10px; + padding-right: 10px +} +.row:after { + content: ""; + display: table; + clear: both +} +@media screen and (min-width: 30.0625em) { + .row { + padding-left: 30px; + padding-right: 30px + } +} +@media screen and (min-width: 48.0625em) { + .row { + max-width: 708px; + padding-left: 0; + padding-right: 0 + } +} +@media screen and (min-width: 58.4375em) { + .row { + max-width: 874px + } +} +@media screen and (min-width: 75.0625em) { + .row { + max-width: 1180px + } +} +.main { + max-width: 1180px; + margin-left: auto; + margin-right: auto +} +.main:after { + content: ""; + display: table; + clear: both +} +@media screen and (min-width: 75.0625em) { + .main { + float: left; + display: block; + margin-right: 20px; + width: 880px + } +} +.headline { + margin-bottom: 30px +} +.headline .headline__news { + position: relative +} +.headline h1 { + font-weight: bold +} +.headline .topic-post-big h1 { + color: #fff; + font-size: 18px; + font-size: 1.8rem; + bottom: 10px; + left: 10px; + right: 10px; + position: absolute +} +.headline .topic-post-small { + display: none; + text-align: center +} +.headline .topic-title { + color: #fff; + position: relative; + width: 100%; + padding: 20px; + line-height: 1; + vertical-align: middle; + display: table-cell +} +.headline .topic-title span { + font-size: 12px; + font-size: 1.2rem; + font-weight: bold; + color: rgba(255, 255, 255, 0.7) +} +.headline .topic-post-small h1 { + font-size: 18px; + font-size: 1.8rem; + line-height: 1.6; + text-align: left; + margin-bottom: 10px +} +@media screen and (min-width: 48.0625em) { + .headline .headline__news { + float: left + } + .headline .topic-post-big h1 { + font-size: 24px; + font-size: 2.4rem; + bottom: 20px; + left: 20px; + right: 20px + } + .headline .topic-post-big img { + width: 708px; + height: 550px + } + .headline .topic-post-small { + width: 354px; + height: 322px; + display: table + } +} +@media screen and (min-width: 58.4375em) { + .headline .topic-post-big img { + width: 480px; + height: 320px + } + .headline .topic-post-small { + width: 196px; + height: 160px + } + .headline .topic-post-small h1 { + font-size: 14px; + font-size: 1.4rem + } +} +@media screen and (min-width: 75.0625em) { + .headline .topic-post-big img { + width: 480px; + height: 320px + } + .headline .topic-post-small { + width: 185px; + height: 160px + } +} +.image-overlay { + position: absolute; + width: 100%; + height: 100%; + top: 0; + -webkit-transition: all 0.2s ease; + -moz-transition: all 0.2s ease; + transition: all 0.2s ease; + background-image: -webkit-linear-gradient(-90deg, rgba(0, 122, 255, 0.3) 0%, #000 100%); + background-image: -moz-linear-gradient(-90deg, rgba(0, 122, 255, 0.3) 0%, #000 100%); + background-image: linear, -90deg, rgba(0, 122, 255, 0.3) 0%, #000 100% +} +.image-overlay:hover { + opacity: .3 +} +.one .small { + background-color: #434749; + background-image: -webkit-linear-gradient(bottom, rgba(255, 94, 58, 0.8) 0%, rgba(255, 42, 104, 0.8) 100%); + background-image: linear-gradient(to top, rgba(255, 94, 58, 0.8) 0%, rgba(255, 42, 104, 0.8) 100%) +} +.two .small { + background-color: #434749; + background-image: -webkit-linear-gradient(bottom, rgba(88, 86, 214, 0.8) 0%, rgba(198, 68, 252, 0.8) 100%); + background-image: linear-gradient(to top, rgba(88, 86, 214, 0.8) 0%, rgba(198, 68, 252, 0.8) 100%) +} +.three .small { + background-color: #434749; + background-image: -webkit-linear-gradient(bottom, rgba(90, 200, 251, 0.8) 0%, rgba(82, 237, 199, 0.8) 100%); + background-image: linear-gradient(to top, rgba(90, 200, 251, 0.8) 0%, rgba(82, 237, 199, 0.8) 100%) +} +.four .small { + background-color: #434749; + background-image: -webkit-linear-gradient(bottom, rgba(29, 98, 240, 0.8) 0%, rgba(26, 214, 253, 0.8) 100%); + background-image: linear-gradient(to top, rgba(29, 98, 240, 0.8) 0%, rgba(26, 214, 253, 0.8) 100%) +} +.container { + margin-top: 125px; + margin-bottom: 50px; + min-height: 100% +} +@media screen and (max-width: 48em) { + .container { + margin-top: 30px + } +} +#article-single .container { + margin-top: -105px; + margin-bottom: 0 +} +@media screen and (min-width: 58.4375em) { + .content { + display: block; + float: left; + margin-left: 200px; + width: 674px + } +} +@media screen and (min-width: 75.0625em) { + .content { + width: 680px + } +} +.content .lastest { + font-size: 18px; + font-size: 1.8rem; + padding-bottom: 20px; + border-bottom: 1px solid #e6eaed; + text-transform: uppercase; + font-weight: bold +} +.content .posts { + padding-top: 20px; + padding-bottom: 20px; + border-bottom: 1px solid #e6eaed +} +.content .posts .left-col { + position: relative +} +.content .posts .left-col .feature-img { + width: 60px; + height: 60px +} +@media screen and (min-width: 30.0625em) { + .content .posts .left-col .feature-img { + width: 180px; + height: 120px + } +} +.content .posts .right-col { + margin-left: 70px; + overflow: hidden; + text-overflow: ellipsis; + display: -webkit-box; + -webkit-line-clamp: 4; + -webkit-box-orient: vertical +} +@media screen and (min-width: 30.0625em) { + .content .posts .right-col { + margin-left: 200px + } +} +@media screen and (max-width: 30em) { + .content .posts p { + display: none + } +} +.content .posts .center-post { + position: relative; + display: inherit +} +.content .posts .center-post img { + min-height: 120px +} +.content .posts .center-post h1 { + position: absolute; + bottom: 20px; + left: 20px; + right: 20px; + margin-bottom: 0; + color: #fff +} +@media screen and (max-width: 30em) { + .content .posts .center-post h1 { + bottom: 10px; + left: 10px; + right: 10px + } +} +.content .articles h1 { + font-size: 16px; + font-size: 1.6rem; + font-weight: 600 +} +@media screen and (min-width: 30.0625em) { + .content .articles h1 { + font-size: 20px; + font-size: 2rem; + margin-bottom: 20px + } +} +.content .info { + margin-bottom: 10px; + height: 24px; + line-height: 24px +} +.content .info .topic { + font-size: 14px; + font-size: 1.4rem; + width: 180px +} +.content .info .topic a { + margin-right: 2px; + font-weight: bold +} +.postmeta { + font-size: 12px; + font-size: 1.2rem +} +.postmeta a { + color: #2277b7 +} +.articles .meta a { + font-size: 12px; + font-size: 1.2rem; + position: absolute; + top: 0; + left: 0; + display: inline-block; + padding: 5px 10px; + width: 64px; + background: #F7464F; + color: #fff; + text-align: center +} +@media screen and (max-width: 30em) { + .articles .meta a { + display: none + } +} +.articles .meta i { + margin-right: 4px; + font-size: 16px; + font-size: 1.6rem; + position: relative; + top: 3px +} +.pagination { + font-size: 14px; + font-size: 1.4rem; + padding-top: 20px; + padding-bottom: 20px +} +.pagination a { + display: inline-block; + padding-right: 25px; + padding-left: 25px; + height: 30px; + border: 2px solid #51aded; + -webkit-border-radius: 25px; + border-radius: 25px; + color: #51aded; + line-height: 28px +} +.pagination a:hover { + background: #51aded; + color: #fff +} +.pagination i { + font-size: 10px; + font-size: 1rem +} +.pagination .icon-prev { + margin-right: 3px +} +.pagination .icon-next { + margin-left: 3px +} +.pagination .disabled a { + cursor: not-allowed; + filter: url("data:image/svg+xml;utf8,#grayscale"); + filter: gray; + -webkit-filter: grayscale(100%); + -webkit-transform: translateZ(0) +} +.aside { + position: relative; + min-width: 180px +} +@media screen and (max-width: 58.375em) { + .aside { + padding-top: 30px; + border-top: 1px solid #e6eaed + } +} +@media screen and (min-width: 58.4375em) { + .aside { + position: absolute; + width: 180px + } +} +.aside section { + padding-bottom: 20px +} +.aside h2 { + font-size: 12px; + font-size: 1.2rem; + margin-bottom: 4px; + text-transform: uppercase +} +.aside ul { + margin-left: 10px; + font-weight: bold +} +.aside-tags { + padding-bottom: 30px +} +.aside-tags li { + position: relative; + line-height: 1.8 +} +@media screen and (max-width: 58.375em) { + .aside-tags li { + float: left; + margin-right: 10px + } +} +.aside-tags i { + position: relative; + margin-left: 5px; + top: -2px +} +.aside-tags .new { + width: 6px; + height: 6px; + background: #56AEEA; + border-radius: 50%; + display: inline-block +} +.aside-tags .promoted { + color: #fff; + font-size: 10px; + font-size: 1rem; + background: #B6BCC4; + border-radius: 3px; + padding: 3px 6px +} +.aside-social { + padding-top: 30px; + border-top: 1px solid #e6eaed +} +.aside-social p { + font-size: 12px; + font-size: 1.2rem; + margin-bottom: 10px; + padding-right: 20px; + padding-left: 20px; + text-align: center; + -webkit-font-smoothing: subpixel-antialiased +} +.aside-social .aside-social__qrcode { + margin: 0 auto 20px; + width: 162px +} +.aside-social .aside-social__social ul { + margin: 0 auto; + width: 181px +} +.aside-social .aside-social__social li { + display: inline-block; + padding-right: 5px; + padding-left: 5px +} +.aside-social .aside-social__social a { + display: inline-block; + width: 32px; + height: 32px; + text-indent: -999em +} +.aside-social__items { + position: relative +} +.aside-social__items .aside-social__count { + font-size: 14px; + font-size: 1.4rem; + position: absolute; + left: -6px; + width: 50px; + text-align: center; + margin-top: 10px; + padding: 2px 8px; + background: rgba(0, 0, 0, 0.76); + border-radius: 3px; + color: #fff; + opacity: 0; + -webkit-transition: opacity 0.2s ease-in-out; + -moz-transition: opacity 0.2s ease-in-out; + transition: opacity 0.2s ease-in-out +} +.aside-social__items .aside-social__count:before { + content: " "; + height: 0; + width: 0; + border-color: transparent; + border-style: solid; + border-width: 6px; + border-bottom-color: rgba(0, 0, 0, 0.76); + position: absolute; + left: 50%; + top: -12px; + margin-left: -5px +} +.aside-social__items:hover .aside-social__count { + opacity: 1 +} +.aside-ads li { + margin-bottom: 20px +} +.aside-today { + text-align: center +} +.aside-today .aside-today__title { + position: relative; + display: inline-block; + margin-bottom: 30px; + padding: 5px 15px; + background: #51aded; + color: #fff +} +.aside-today .aside-today__title span { + font-size: 16px; + font-size: 1.6rem; + position: absolute; + top: 4px; + right: -34px; + color: #51aded +} +.aside-today .aside-today__list { + text-align: left +} +.aside-today .aside-today__list li { + margin-bottom: 20px +} +.aside-today .aside-today__list .topic { + font-size: 12px; + font-size: 1.2rem +} +.aside-today .aside-today__list h1 { + font-size: 16px; + font-size: 1.6rem +} +@media screen and (min-width: 48.0625em) { + .aside-today .aside-today__list h1 { + font-size: 14px; + font-size: 1.4rem + } +} +a:visited .new { + display: none +} +.aside-links .current a { + color: #51aded +} +.job-list { + margin-bottom: 60px +} +.job-list h2 { + font-size: 20px; + font-size: 2rem; + font-weight: bold; + margin-bottom: 20px +} +.job-list h3 { + font-size: 16px; + font-size: 1.6rem; + font-weight: bold; + margin-bottom: 10px +} +.job-title { + font-size: 32px; + font-size: 3.2rem; + text-align: center +} +.content-wrapper { + max-width: 780px; + margin: 0 auto +} +@media screen and (min-width: 58.4375em) { + .content-wrapper { + padding-left: 30px + } +} +@media screen and (min-width: 75.0625em) { + .content-wrapper { + padding-right: 30px + } +} +.single-post-header__headline { + position: relative +} +.single-post-header__meta { + margin: 20px 0 +} +.single-post__postmeta { + margin-bottom: 30px; + font-size: 12px; + font-size: 1.2rem +} +@media screen and (min-width: 30.0625em) { + .single-post__postmeta { + font-size: 14px; + font-size: 1.4rem + } +} +.single-post__title { + font-size: 20px; + font-size: 2rem; + font-weight: bold; + line-height: 1.5; + color: #38485a +} +@media screen and (min-width: 30.0625em) { + .single-post__title { + font-size: 32px; + font-size: 3.2rem + } +} +.article { + color: #333332; + font-size: 16px; + font-size: 1.6rem; + line-height: 1.8 +} +@media screen and (min-width: 30.0625em) { + .article { + font-size: 18px; + font-size: 1.8rem + } +} +.article hr { + border: 0; + height: 1px; + width: 20%; + margin: 50px auto; + border-top: 1px solid #e4e4e4 +} +.article a { + color: #51aded; + border-bottom: 2px solid #eaeaea +} +.article a:hover { + border-bottom: 2px solid #48a9ec +} +.article blockquote { + font-size: 18px; + font-size: 1.8rem; + font-weight: bold; + border-left: 6px solid #51aded; + padding-left: 15px; + margin-left: -15px +} +@media screen and (min-width: 30.0625em) { + .article blockquote { + font-size: 20px; + font-size: 2rem; + padding-left: 24px; + margin-left: -24px + } +} +.article img { + margin: 0 auto +} +.article ul, +.article ol { + list-style: square; + margin-left: 20px +} +.article p, +.article h3, +.article h4, +.article h5, +.article h6, +.article pre, +.article ul, +.article ol, +.article dl, +.article form, +.article table, +.article blockquote, +.article iframe { + margin-bottom: 30px +} +.content-wrapper-single { + max-width: 700px; + margin: 0 auto; + padding: 0 30px +} +#article-single .single-post { + margin-top: 30px +} +.single-header { + position: relative; + min-height: 600px; + margin-bottom: 40px +} +.single-header__headline-image { + position: absolute; + width: 100%; + min-height: 100%; + top: 0; + vertical-align: bottom; + background-position: center center; + background-repeat: none; + -webkit-background-size: cover; + -moz-background-size: cover; + -o-background-size: cover; + background-size: cover +} +.single-header__meta { + text-align: center; + color: #fff; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + margin: auto; + padding: 0 40px; + width: 100%; + max-width: 1098px; + max-height: 300px +} +.single-header__meta .single-header__title { + font-size: 22px; + font-size: 2.2rem; + margin-bottom: 10px +} +@media screen and (min-width: 30.0625em) { + .single-header__meta .single-header__title { + font-size: 36px; + font-size: 3.6rem + } +} +@media screen and (min-width: 75.0625em) { + .single-header__meta .single-header__title { + font-size: 48px; + font-size: 4.8rem + } +} +.single-header__meta .single-header__postmeta { + font-size: 12px; + font-size: 1.2rem +} +.single-header__meta .single-header__postmeta a { + color: #b5b5b5 +} +@media screen and (min-width: 48.0625em) { + .single-header__meta .single-header__postmeta { + font-size: 14px; + font-size: 1.4rem + } +} +.single-header__meta .single-header__healine { + max-width: 700px; + margin: 80px auto 0 +} +.single-header__meta .single-header__healine p { + font-size: 16px; + font-size: 1.6rem; + color: #b5b5b5; + margin-bottom: 0 +} +@media screen and (min-width: 48.0625em) { + .single-header__meta .single-header__healine p { + font-size: 20px; + font-size: 2rem + } +} +.readnext h2 { + font-weight: bold; + color: #51aded; + font-size: 24px; + font-size: 2.4rem; + text-transform: uppercase; + text-align: center; + margin: 30px auto +} +.readnext h2:after { + content: " "; + display: block; + margin: 0 auto; + width: 130px; + height: 4px; + background: #51aded +} +.single-post__next { + position: relative; + width: 100%; + float: left; + color: #fff +} +.single-post__next h1 { + font-size: 20px; + font-size: 2rem; + position: absolute; + bottom: 20px; + padding-left: 20px; + padding-right: 20px +} +@media screen and (min-width: 48.0625em) { + .single-post__next { + width: 50% + } +} +.single-post__next img { + width: 100% +} +.image-overlay-single { + position: absolute; + width: 100%; + height: 100%; + top: 0; + -webkit-transition: all 0.2s ease; + -moz-transition: all 0.2s ease; + transition: all 0.2s ease; + background-image: -webkit-linear-gradient(-630deg, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0.5) 50%, rgba(255, 255, 255, 0) 100%); + background-image: linear-gradient(360deg, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0.5) 50%, rgba(255, 255, 255, 0) 100%) +} +.single-post-share, +.single-post-author-social, +.single-post-relate { + padding-top: 30px; + padding-bottom: 30px; + border-bottom: 1px solid #e6eaed +} +.single-post-author-social h2, +.single-post-relate h2, +.single-post-comment h2 { + font-weight: bold; + margin-bottom: 10px +} +.single-post-share { + font-size: 14px; + font-size: 1.4rem; + padding-top: 30px +} +@media screen and (min-width: 48.0625em) { + .single-post-share-list { + float: right + } +} +.single-post-share-list ul { + margin: 0 auto +} +@media screen and (max-width: 30em) { + .single-post-share-list ul { + width: 365px + } +} +.single-post-share-list li { + padding: 0 5px; + float: left +} +.single-post-share-list li:last-child { + padding-right: 0 +} +.single-post-share-list a { + color: #fff; + display: inline-block; + text-align: center; + width: 112px; + height: 32px; + line-height: 32px; + border-radius: 50px; + border-style: solid; + border-width: 1px +} +.single-post-share-list .long-weibo { + color: #d44137; + border-color: #d44137 +} +.single-post-share-list .long-weibo:hover { + color: #fff; + background: #d44137 +} +.single-post-share-list .weixin { + color: #38ad5a; + border-color: #38ad5a +} +.single-post-share-list .weixin:hover { + color: #fff; + background: #38ad5a +} +.single-post-share-list .qq { + color: #39B2E2; + border-color: #39B2E2 +} +.single-post-share-list .qq:hover { + color: #fff; + background: #39B2E2 +} +.single-post-author-social { + position: relative +} +.single-post-share-social { + margin-bottom: 30px; + position: relative; + top: -3px +} +@media screen and (min-width: 30.0625em) { + .single-post-share-social { + float: left; + margin-bottom: 0 + } +} +.single-post-share-social li { + display: inline-block; + position: relative; + margin-right: 15px +} +.single-post-share-social .social-btn { + color: #b6bcc4; + text-align: center; + margin-right: 4px +} +.single-post-share-social .social-btn:hover { + color: #7e8896 +} +.single-post-share-social .social-btn .icon { + position: relative; + top: 6px +} +.single-post-share-social .icon-star, +.single-post-share-social .icon-share { + font-size: 24px; + font-size: 2.4rem +} +.single-post-share-social .icon-heart { + font-size: 22px; + font-size: 2.2rem +} +.icon-heart.active, +.icon-star.active { + color: #51aded +} +.single-post-social__popup { + border-radius: 3px; + position: absolute; + top: -40px; + left: -110px; + padding: 8px 10px; + width: 260px; + background-image: -webkit-linear-gradient(90deg, #000 0%, #242424 43%, #515151 100%); + background-image: linear-gradient(-360deg, #000 0%, #242424 43%, #515151 100%); + -webkit-box-shadow: 0px 1px 1px 0px rgba(0, 0, 0, 0.3); + box-shadow: 0px 1px 1px 0px rgba(0, 0, 0, 0.3); + -webkit-transform: translate3d(0, 0, 0); + -webkit-backface-visibility: hidden; + -webkit-transform: translateY(15px) scale(0.75); + -moz-transform: translateY(15px) scale(0.75); + -ms-transform: translateY(15px) scale(0.75); + -o-transform: translateY(15px) scale(0.75); + transform: translateY(15px) scale(0.75); + -webkit-transition: all 500ms cubic-bezier(0.68, -0.55, 0.265, 1.55); + -moz-transition: all 500ms cubic-bezier(0.68, -0.55, 0.265, 1.55); + transition: all 500ms cubic-bezier(0.68, -0.55, 0.265, 1.55); + pointer-events: none; + opacity: 0 +} +.single-post-social__popup.active { + pointer-events: auto; + opacity: 1; + -webkit-transform: translateY(0) scale(1); + -moz-transform: translateY(0) scale(1); + -ms-transform: translateY(0) scale(1); + -o-transform: translateY(0) scale(1); + transform: translateY(0) scale(1) +} +.single-post-social__popup a { + font-size: 20px; + font-size: 2rem; + color: #fff; + float: left; + text-align: center; + padding: 0 5px +} +.single-post-social__popup i { + width: 24px; + height: 24px; + display: block; + line-height: 30px +} +.single-post-social__popup:before { + content: " "; + height: 0; + width: 0; + border-color: transparent; + border-style: solid; + border-width: 6px; + border-top-color: rgba(24, 24, 24, 0.9); + position: absolute; + left: 50%; + bottom: -12px; + margin-left: -6px +} +.single-post-social__popup .weibo:hover { + color: #D04341 +} +.single-post-social__popup .qq:hover { + color: #2FA8DB +} +.single-post-social__popup .twitter:hover { + color: #1DACEB +} +.single-post-social__popup .evernote:hover { + color: #71B33F +} +.single-post-social__popup .douban:hover { + color: #2D923C +} +.single-post-social__popup .renren:hover { + color: #09509F +} +.single-post-social__popup .mail:hover { + color: #1DB0ED +} +.single-post-author__avatar .avatar { + width: 50px; + height: 50px +} +.single-post-author__info { + font-size: 14px; + font-size: 1.4rem; + margin-left: 60px +} +.single-post-author__info .single-post-author__name { + font-size: 16px; + font-size: 1.6rem; + display: inline-block +} +.single-post-author__info .single-post-author__name a { + color: #747f8c; + font-weight: bold +} +.single-post-author__info .single-post-author__label { + font-size: 12px; + font-size: 1.2rem; + margin-left: 10px; + padding: 5px 10px; + -webkit-border-radius: 3px; + border-radius: 3px; + background: #b6bcc4; + color: #fff; + font-weight: bold +} +.single-post-author__info .single-post-author__bio { + margin-top: 15px +} +.single-post-relate ul { + margin-bottom: 0; + font-size: 16px; + font-size: 1.6rem; + line-height: 1.5 +} +@media screen and (min-width: 48.0625em) { + .single-post-relate ul { + font-size: 14px; + font-size: 1.4rem + } +} +.single-post-relate li { + width: 100%; + margin-bottom: 30px +} +@media screen and (min-width: 30.0625em) { + .single-post-relate li { + float: left; + display: inline-block; + margin-right: 5%; + margin-bottom: 0; + width: 30% + } + .single-post-relate li:last-child { + margin-right: 0 + } +} +.single-post-relate__image { + margin-bottom: 10px +} +.single-post-relate__title:hover { + color: #51aded +} +.single-post-comment { + margin-top: 30px; + margin-bottom: 30px +} +.single-post-comment-reply { + margin-bottom: 30px; + padding-bottom: 30px; + border-bottom: 1px solid #e6eaed +} +.single-post-comment__form { + margin-bottom: 30px +} +.single-post-comment__form .textarea { + margin-bottom: 5px; + padding: 10px; + min-height: 120px; + width: 100% !important; + border: none; + background: #e6eaed; + color: #747f8c +} +.single-post-comment__form .textarea::-webkit-input-placeholder { + font-size: 16px; + font-size: 1.6rem +} +.single-post-comment__form .textarea:-moz-placeholder { + font-size: 16px; + font-size: 1.6rem +} +.single-post-comment__form .textarea::-moz-placeholder { + font-size: 16px; + font-size: 1.6rem +} +.single-post-comment__form .textarea:-ms-input-placeholder { + font-size: 16px; + font-size: 1.6rem +} +.single-post-comment__form .tip { + font-size: 12px; + font-size: 1.2rem +} +.single-post-comment__bottom { + line-height: 34px +} +.single-post-comment__bottom .avatar { + margin: 5px 5px 5px 0; + width: 24px; + height: 24px +} +.single-post-comment__bottom .username { + font-size: 12px; + font-size: 1.2rem +} +.single-post-comment__bottom .logout { + margin-left: 20px +} +.single-post-comment__bottom .comment-submit-btn { + font-size: 14px; + font-size: 1.4rem; + display: inline-block; + width: 120px; + height: 34px; + padding: 0; + background: #51aded; + color: #fff; + text-align: center; + font-weight: bold; + line-height: 34px +} +.single-post-comment__bottom .comment-submit-btn:hover { + background: #3fa4eb +} +.single-post-comment__comments { + font-size: 14px; + font-size: 1.4rem; + color: #323232 +} +@media screen and (min-width: 48.0625em) { + .single-post-comment__comments { + font-size: 16px; + font-size: 1.6rem + } +} +.single-post-comment__comments .comment { + margin-bottom: 20px +} +.single-post-comment__comments .postmeta, +.single-post-comment__comments .commemt-main { + margin-bottom: 10px +} +.single-post-comment__comments .commemt-main a.at_user { + color: #51aded; + font-weight: bold +} +.comment-wrapper { + margin-left: 60px +} +.comment-wrapper .opts li { + float: left; + margin-right: 20px; + color: #B6BCC4 +} +.comment-wrapper .opts i { + font-size: 16px; + font-size: 1.6rem; + position: relative; + top: 3px; + margin-right: 4px +} +.comment-wrapper .like, +.comment-wrapper .reply { + font-size: 14px; + font-size: 1.4rem; + color: #b6bcc4 +} +.comment-wrapper .like:hover, +.comment-wrapper .reply:hover { + color: #7e8896 +} +.category-header { + margin-bottom: 30px; + font-weight: bold +} +.category-header .category-header__info { + margin-bottom: 20px +} +.category-header .category-header__title { + font-size: 22px; + font-size: 2.2rem +} +@media screen and (min-width: 30.0625em) { + .category-header .category-header__title { + font-size: 30px; + font-size: 3rem + } +} +.category-header .category-header__bio { + font-size: 14px; + font-size: 1.4rem; + font-weight: normal +} +.category-header .category-header__status { + font-size: 32px; + font-size: 3.2rem +} +@media screen and (min-width: 30.0625em) { + .category-header .category-header__status { + font-size: 48px; + font-size: 4.8rem + } +} +.category-header .category-header__status span { + float: left; + padding-right: 20px; + padding-left: 20px +} +.category-header .category-header__status .week { + border-right: 1px solid #e6eaed +} +.category-header .category-header__status .total { + padding-right: 0 +} +.category-header .category-header__status i { + display: block; + font-size: 12px +} +.category-headline { + position: relative; + margin-bottom: 30px +} +.category-headline h1 { + position: absolute; + bottom: 20px; + left: 20px; + margin-bottom: 0; + color: #fff; + font-weight: bold; + font-size: 1.5em +} +.category-popular { + font-size: 14px; + font-size: 1.4rem; + padding-bottom: 30px; + border-bottom: 1px solid #e6eaed; + color: #747f8c +} +.category-popular h3 { + font-size: 12px; + font-size: 1.2rem; + margin-bottom: 20px +} +@media screen and (min-width: 30.0625em) { + .category-popular h3 { + font-size: 14px; + font-size: 1.4rem + } +} +.category-popular .category-popular__list li { + margin-bottom: 20px +} +.category-popular .category-popular__list li:last-child { + margin-bottom: 0 +} +.category-popular .category-popular__list span { + font-size: 12px; + font-size: 1.2rem; + margin-bottom: 10px +} +@media screen and (min-width: 30.0625em) { + .category-popular .category-popular__list span { + font-size: 14px; + font-size: 1.4rem; + float: left; + margin-left: 0 + } +} +@media screen and (min-width: 30.0625em) { + .category-popular .category-popular__list h1 { + font-size: 16px; + font-size: 1.6rem; + margin-left: 80px + } +} +.category-topic { + margin-bottom: 30px; + border-bottom: 1px solid #e6eaed +} +.category-topic__topics { + margin-bottom: 40px; + width: 100% +} +@media screen and (min-width: 30.0625em) { + .category-topic__topics { + float: left; + width: 50% + } + .category-topic__topics:nth-child(odd) { + padding-right: 20px; + border-right: 1px solid #e6eaed + } + .category-topic__topics:nth-child(even) { + padding-left: 20px + } +} +.category-topic__title { + font-size: 14px; + font-size: 1.4rem; + margin-bottom: 20px; + padding-bottom: 10px; + border-bottom: 1px solid #e6eaed +} +.category-topic__title .topic a { + font-weight: bold +} +.category-topic__title .viewall a { + color: #747f8c +} +.category-topic__list li { + margin-bottom: 20px +} +.category-topic__list li:last-child { + margin-bottom: 0 +} +.category-topic__list a { + color: #747f8c; + font-weight: bold +} +.category-topic__list a:hover { + color: #51aded +} +.category-tag h3 { + font-size: 18px; + font-size: 1.8rem; + margin-bottom: 20px; + font-weight: bold +} +.icon-hot { + font-size: 20px; + font-size: 2rem; + position: relative; + top: 3px; + margin-right: 10px +} +.category-tag__tags { + margin-bottom: 20px +} +.category-tag__tags .topic { + font-size: 14px; + font-size: 1.4rem +} +.category-tag__tags .topic { + float: none; + margin-bottom: 20px +} +@media screen and (min-width: 30.0625em) { + .category-tag__tags .topic { + float: left; + margin-bottom: 0 + } +} +.category-tag__list { + text-align: left +} +@media screen and (min-width: 30.0625em) { + .category-tag__list { + margin-left: 150px + } +} +.category-tag__list li { + display: inline-block; + padding: 0 8px +} +@media screen and (min-width: 30.0625em) { + .category-tag__list li { + display: inherit; + float: left + } +} +.category-tag__list a { + display: inline-block; + padding-bottom: 10px; + color: #747f8c; + font-size: 14px +} +.event { + margin-bottom: 30px +} +.sidebar { + min-width: 280px; + display: none +} +.sidebar section { + font-size: 14px; + font-size: 1.4rem; + line-height: 1.5; + margin-bottom: 30px; + position: relative +} +.sidebar h3 { + color: #fff; + font-size: 12px; + font-size: 1.2rem; + font-weight: 600; + text-align: center; + line-height: 28px; + background: #51aded; + width: 86px; + height: 28px; + text-shadow: 0 0 2px rgba(0, 0, 0, 0.3) +} +@media screen and (min-width: 75.0625em) { + .sidebar { + float: left; + display: block; + width: 280px + } +} +.sidebar-popular__list, +.sidebar-sponsored__list { + border-top: 1px solid #51aded; + padding-top: 10px +} +.sidebar-popular__list h1, +.sidebar-sponsored__list h1 { + margin-left: 70px; + overflow: hidden; + text-overflow: ellipsis; + display: -webkit-box; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical +} +.sidebar-popular__posts, +.sidebar-sponsored__posts { + border-bottom: 1px solid #e6eaed; + padding-bottom: 10px; + margin-bottom: 10px +} +.sidebar-popular__posts:last-child, +.sidebar-sponsored__posts:last-child { + margin-bottom: 0 +} +.sidebar-apps__list { + border-top: 1px solid #51aded; + border-bottom: 1px solid #e6eaed; + padding-top: 10px; + padding-bottom: 10px +} +.sidebar-apps__intro { + margin-bottom: 10px +} +.sidebar-apps__title { + margin-bottom: 10px +} +.sidebar-apps__meta { + margin-left: 97px +} +.sidebar-apps__download { + color: #51aded; + height: 30px; + line-height: 30px; + padding-left: 25px; + padding-right: 25px; + display: inline-block; + -webkit-border-radius: 3px; + border-radius: 3px; + border: 1px solid #51aded +} +.sidebar-apps__download:hover { + background: #51aded; + color: #fff +} +.sidebar-comments__list { + border-top: 1px solid #51aded; + padding-top: 10px; + padding-bottom: 10px +} +.sidebar-comments__list>div { + margin-bottom: 10px; + padding-bottom: 10px; + border-bottom: 1px solid #e6eaed +} +.sidebar-comments__list .sidebar-comments__comment { + color: #38485a; + padding: 10px 20px; + border-radius: 3px; + background: #e6eaed; + margin-top: 10px; + margin-bottom: 10px; + position: relative +} +.sidebar-comments__list .sidebar-comments__comment:before { + content: " "; + height: 0; + width: 0; + border-color: transparent; + border-style: solid; + border-width: 5px; + border-bottom-color: #e6eaed; + position: absolute; + left: 20px; + top: -10px +} +.sidebar-comments__list .sidebar-comments__title { + font-size: 12px +} +.sidebar-comments__list .sidebar-comments__title a { + margin-left: 5px +} +.sidebar-tab { + min-height: 400px; + border: 1px solid #e6eaed +} +.sidebar-tab__tabs a { + display: block; + color: #51aded; + font-weight: bold +} +.sidebar-tab__tabs li { + float: left; + width: 93px; + height: 34px; + text-align: center; + line-height: 34px; + border-bottom: 1px solid #e6eaed +} +.sidebar-tab__tabs .tab-36krplus { + width: 92px !important; + border-left: 1px solid #e6eaed; + border-right: 1px solid #e6eaed +} +.sidebar-tab__wrapper>div { + padding: 10px 20px +} +.sidebar-tab__wrapper li { + margin-bottom: 10px +} +.sidebar-tab__wrapper a { + padding-left: 5px; + margin-left: -5px; + border-left: 4px solid #51aded +} +.footer { + padding: 40px 0; + width: 100%; + border-top: 1px solid #373a3c; + background: #444749; + color: rgba(236, 235, 231, 0.5) +} +.footer h3 { + font-size: 16px; + font-size: 1.6rem; + margin-bottom: 10px; + color: #fff +} +.footer li { + font-size: 14px; + font-size: 1.4rem; + line-height: 2 +} +.footer a { + color: rgba(178, 193, 212, 0.92) +} +.footer a:hover { + border-bottom: 1px solid rgba(172, 172, 164, 0.7) +} +.footer .row>div { + margin-bottom: 20px +} +@media screen and (min-width: 58.4375em) { + .footer .row>div { + float: left; + display: block; + margin-right: 2.5641%; + width: 23.07692% + } + .footer .row>div:last-child { + margin-right: 0 + } +} +@media screen and (min-width: 86.4375em) { + .footer .row>div { + float: left; + display: block; + margin-right: 1.69492%; + width: 23.72881% + } + .footer .row>div:last-child { + margin-right: 0 + } +} +.footer .footer-partner li { + margin-bottom: 20px +} +.footer .footer-partner a { + border-bottom: none +} +.footer .footer-copyright { + margin-top: 20px +} +.footer .footer-copyright p { + font-size: 12px; + font-size: 1.2rem; + margin-bottom: 10px +} +.pop-in.mfp-bg { + background-color: rgba(61, 67, 76, 0.7); + background-image: -webkit-radial-gradient(rgba(0, 0, 0, 0) 10%, rgba(0, 0, 0, 0.6)); + opacity: 0; + filter: alpha(opacity=0); + pointer-events: none; + -webkit-transition: opacity 0.3s linear; + -moz-transition: opacity 0.3s linear; + transition: opacity 0.3s linear +} +.pop-in.mfp-bg.mfp-ready { + opacity: 1; + filter: alpha(opacity=100); + pointer-events: auto +} +.pop-in.mfp-bg.mfp-removing { + opacity: 0; + filter: alpha(opacity=0) +} +.pop-in.mfp-removing .panel { + -webkit-animation: hidePanel 0.5s ease; + -moz-animation: hidePanel 0.5s ease; + animation: hidePanel 0.5s ease +} +.pop-in .panel { + opacity: 1; + -webkit-animation: showPanel 0.5s ease; + -moz-animation: showPanel 0.5s ease; + animation: showPanel 0.5s ease-in +} +.panel { + font-size: 14px; + font-size: 1.4rem; + position: absolute; + width: 480px; + height: 420px; + left: 50%; + top: 50%; + margin: -210px 0 0 -240px; + padding: 30px; + -webkit-box-shadow: rgba(0, 0, 0, 0.2) 0 3px 5px, rgba(0, 0, 0, 0.1) 0 0 8px 1px, rgba(0, 0, 0, 0.1) 0 0 0 1px; + box-shadow: rgba(0, 0, 0, 0.2) 0 3px 5px, rgba(0, 0, 0, 0.1) 0 0 8px 1px, rgba(0, 0, 0, 0.1) 0 0 0 1px; + -webkit-border-radius: 5px; + border-radius: 5px; + overflow: hidden; + background-color: #FFF +} +@media screen and (max-width: 30em) { + .panel { + width: 320px; + height: 420px; + left: 50%; + top: 50%; + margin: -210px 0 0 -160px + } +} +.panel form { + height: 100% +} +.panel h3 { + margin-bottom: 10px; + font-weight: bold; + text-align: center +} +.panel .login-social a { + color: #fff; + font-size: 14px; + font-size: 1.4rem; + text-align: center; + display: inline-block; + float: left; + margin-right: 20px; + width: 200px; + height: 40px; + line-height: 40px +} +.panel .login-social a:nth-child(2n) { + margin-right: 0 +} +@media screen and (max-width: 30em) { + .panel .login-social a { + width: 120px + } +} +.panel hr { + margin: 20px 0; + height: 1px; + border: 0; + width: 100%; + background: #e6eaed +} +.panel .login-social__weibo, +.panel .login-social__qq { + margin-bottom: 10px +} +.panel .login-social__weibo { + background: #D04341 +} +.panel .login-social__weibo:hover { + background: #cb3432 +} +.panel .login-social__qq { + background: #34C8F4 +} +.panel .login-social__qq:hover { + background: #21c3f3 +} +.panel .login-social__renren { + background: #1469B4 +} +.panel .login-social__renren:hover { + background: #125ea2 +} +.panel .login-social__github { + background: #6e6e6e +} +.panel .login-social__github:hover { + background: #646464 +} +.panel .login input, +.panel .register input { + color: #747f8c; + background: #e6eaed; + -webkit-box-shadow: 0 0 0 1000px #e6eaed inset; + min-height: 40px; + width: 100% !important; + padding: 10px 10px 10px 30px; + margin-bottom: 10px; + border: none +} +.panel .login__links { + margin-top: 10px +} +.panel .login__links p { + display: inline-block; + margin-top: 10px +} +.panel .submit { + color: #fff; + font-size: 16px; + font-size: 1.6rem; + font-weight: bold; + width: 120px; + height: 40px; + padding: 0; + line-height: 40px; + background: #51aded +} +.panel .submit:hover { + background: #3fa4eb +} +.panel .register-section { + display: none +} +.panel input { + font-family: "Cabin", sans-serif +} +.login>div, +.register>div { + position: relative +} +.login i, +.register i { + position: absolute; + top: 13px; + left: 10px +} +.login-social i { + font-size: 18px; + font-size: 1.8rem; + margin-right: 5px; + vertical-align: middle +} +.longweibo-section img { + width: 420px; + height: 260px +} +.weixin-section img { + width: 200px; + height: 200px; + position: absolute; + margin: -100px 0 0 -100px; + left: 50%; + top: 50% +} +#panel-weibo .submit { + margin: 0 130px +} +@media screen and (max-width: 30em) { + #panel-weibo .submit { + margin: 0 50px + } +} +.simple_form input[type="text"], +.simple_form textarea { + border: none; + background: #e6eaed; + color: #747f8c +} +.simple_form input { + padding: 4px; + height: 32px +} +.control-label { + float: left; + width: 100px; + line-height: 32px; + text-align: right; + margin-right: 10px +} +.control-group { + margin-bottom: 20px +} +@-webkit-viewport { + width: device-width; + zoom: 1.0 +} +@-moz-viewport { + width: device-width; + zoom: 1.0 +} +@-ms-viewport { + width: device-width; + zoom: 1.0 +} +@-o-viewport { + width: device-width; + zoom: 1.0 +} +@viewport { + width: device-width; + zoom: 1.0 +} +.tabs { + display: none; + visibility: hidden +} +.js .tabs { + display: block; + visibility: visible +} +.tabs a, +.tabs button { + cursor: pointer +} +.js .tabs-pane { + display: none; + visibility: hidden +} +.tabs-pane.active { + display: block; + visibility: visible +} +.tabs-horizontal, +.tabs-stacked { + list-style: none; + margin-left: 0; + border-top: 0.07143em solid gray; + background-color: #f4f4f4 +} +.tabs-horizontal>li, +.tabs-stacked>li { + display: inline-block; + float: none; + padding: 0.5em 1em +} +.tabs-horizontal a, +.tabs-stacked a { + color: #808080; + text-decoration: none +} +.tabs-horizontal>.active, +.tabs-stacked>.active { + background-color: #ffffff +} +.tabs-horizontal a:hover, +.tabs-stacked a:hover, +.tabs-horizontal>.active>a, +.tabs-stacked>.active>a { + color: #272727; + text-decoration: none +} +@media (min-width: 40em) { + .tabs-stacked { + border: none; + margin-left: 0; + padding-left: 0; + padding-top: 1em; + padding-bottom: 1em + } + .tabs-stacked>li, + .tabs-stacked>li>a { + display: block; + width: 100% + } +} +.tabs:before, +.tabs:after { + display: table; + content: ""; + zoom: 1 +} +.tabs:after { + clear: both +} +.widearea-overlayLayer { + position: fixed; + top: 0; + bottom: 0; + left: 0; + right: 0; + z-index: 999998; + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + -ms-transition: all 0.2s ease-out; + -o-transition: all 0.2s ease-out; + transition: all 0.2s ease-out +} +.widearea-overlayLayer.light { + background-color: #fff +} +.widearea-overlayLayer textarea { + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + -ms-transition: all 0.2s ease-out; + -o-transition: all 0.2s ease-out; + transition: all 0.2s ease-out +} +.widearea-overlayLayer.light textarea { + color: #ccc; + background-color: #fff +} +.widearea-overlayLayer.light textarea:hover, +.widearea-overlayLayer.light textarea:focus { + color: black +} +.widearea-overlayLayer.dark { + background-color: #2f3030 +} +.widearea-overlayLayer.dark textarea { + color: #999; + background-color: #2f3030 +} +.widearea-overlayLayer.dark textarea:hover, +.widearea-overlayLayer.dark textarea:focus { + color: #eee +} +.widearea-wrapper { + width: 100% !important; + position: relative; + margin-bottom: 5px +} +.widearea-wrapper textarea { + padding-right: 20px !important; + -webkit-box-sizing: border-box !important; + -moz-box-sizing: border-box !important; + box-sizing: border-box !important +} +textarea.widearea-fullscreen { + padding: 20px !important; + padding-top: 30px !important; + border: none !important; + -webkit-box-sizing: border-box !important; + -moz-box-sizing: border-box !important; + box-sizing: border-box !important; + max-width: 900px !important; + height: 100% !important; + width: 100% !important; + outline: none !important; + margin: 0 auto !important; + display: block !important; + font-size: 20px !important; + box-shadow: none !important; + resize: none !important; + line-height: 1.6em !important +} +.widearea-controlPanel { + position: absolute; + right: 0; + top: 0; + padding-top: 30px; + padding-right: 20px +} +.widearea-icons { + width: 16px; + height: 16px; + position: absolute; + top: 12px; + right: 10px; + padding-right: 6px +} +.widearea-icon { + height: 16px; + width: 17px; + background-repeat: no-repeat; + -ms-filter: "alpha(opacity=50)"; + filter: alpha(opacity=50); + -khtml-opacity: .5; + opacity: .5; + display: block; + -webkit-transition: all 0.1s ease-out; + -moz-transition: all 0.1s ease-out; + -ms-transition: all 0.1s ease-out; + -o-transition: all 0.1s ease-out; + transition: all 0.1s ease-out +} +.widearea-icon:hover { + -ms-filter: "alpha(opacity=100)"; + filter: alpha(opacity=100); + -khtml-opacity: 1; + opacity: 1 +} +.widearea-icon.fullscreen { + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAAdElEQVQ4y2Moqe9hwIOVgdgXG2YgoBGnZmI0grANORr1yLFRE02DLbEa3ZE0GQAxIxCrEqNRDYi9gFgXqgkmrsoANQFZsTYQewKxBj5DGaDOgGnWR3KaJzEaUTwOxTrEakTG+mh+IkqjHSFN+GxUJVcjQc0AeJ87GvESuWcAAAAASUVORK5CIIA=) +} +.widearea-icon.close { + width: 18px; + height: 18px; + margin-bottom: 15px; + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo1RDBEOEJEOEI3MzAxMUUyQjA3QkQ4Nzg0REMzNTFCNyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo1RDBEOEJEOUI3MzAxMUUyQjA3QkQ4Nzg0REMzNTFCNyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjVEMEQ4QkQ2QjczMDExRTJCMDdCRDg3ODREQzM1MUI3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjVEMEQ4QkQ3QjczMDExRTJCMDdCRDg3ODREQzM1MUI3Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+g7ns7AAAANNJREFUeNqs1NsNwjAMBdBwFyAjdIN2hK7BDqzAD4wAM8AaHaHZoCMkG+AgWzJVcPyBJUt9JEdqepPD9f4MVBP1Qr1Rz9Q52BV5/FDHX86nFQo5Uo98HR3IyHOW2+M1QSFSFqYRqQ8G/px9tbAWIrWB1yR1MAupc2fwwvYwE6HFzuAHPcxE6g3UCwtrIjom2A3wYKmVNYQ/FRw58UTjC/IgPzE4kGRFg7ZHFKgbtl7OKgYHkj2hBR8Fnl9sYYPstdLLiYEV2WurwpLjYNNYkYPtLcAArD5XIbBkA6MAAAAASUVORK5CYII=) +} +.widearea-icon.changeTheme { + width: 18px; + height: 18px; + clear: both; + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpEQkQ1QjdDM0I3MzgxMUUyQjA3QkQ4Nzg0REMzNTFCNyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpEQkQ1QjdDNEI3MzgxMUUyQjA3QkQ4Nzg0REMzNTFCNyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjVEMEQ4QkRFQjczMDExRTJCMDdCRDg3ODREQzM1MUI3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkRCRDVCN0MyQjczODExRTJCMDdCRDg3ODREQzM1MUI3Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+AzMsvAAAATRJREFUeNpibJq8jAEHcABibSDmB+L/QPwBiK8D8QFkRbU5kWCaBYsBUUBcAMSmOCw4CsTTgBjFBUxIbGYgngrES6GGnAfiaiiNDKyhaqYiOwTZIJAtWUD8CYhTgdgIiNuA+B4Ol2VBDUMxKBCI04D4NxC7AfEcJA1sDLhBWvOU5cEwg9iBuBPJlpMMpIF6oGHsTNDwUIV6YQ4D6UAXZAbIIGOowAoG8oEByCA+KOcJBQYJMTFQB3AwQaMbBGQoMOgpyKCzUE4EBQZdBBl0GohvA7ESEKeQYchlkBkgg34CcTlS6jYn0aBGYMb9CQvs9UA8C4hZgXgXmst+4TFkFtCQteh5LQvqIlBymA3E54C4CuplbACkNhvGQS5G/kIljiIVI4bEFiPYyqNlUExUwQYDAAEGANGJQntFVY0xAAAAAElFTkSuQmCC) +} +.mfp-bg { + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: 1042; + overflow: hidden; + position: fixed; + opacity: 0.8; + filter: alpha(opacity=80) +} +.mfp-wrap { + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: 1043; + position: fixed; + outline: none !important; + -webkit-backface-visibility: hidden +} +.mfp-container { + text-align: center; + width: 100%; + height: 100%; + left: 0; + top: 0 +} +.mfp-container:before { + content: ''; + display: inline-block; + height: 100%; + vertical-align: middle +} +.mfp-align-top .mfp-container:before { + display: none +} +.mfp-content { + position: relative; + display: inline-block; + vertical-align: middle; + margin: 0 auto; + text-align: left; + z-index: 1045 +} +.mfp-inline-holder .mfp-content, +.mfp-ajax-holder .mfp-content { + width: 100%; + cursor: auto +} +.mfp-ajax-cur { + cursor: progress +} +.mfp-zoom-out-cur, +.mfp-zoom-out-cur .mfp-image-holder .mfp-close { + cursor: -moz-zoom-out; + cursor: -webkit-zoom-out; + cursor: zoom-out +} +.mfp-zoom { + cursor: pointer; + cursor: -webkit-zoom-in; + cursor: -moz-zoom-in; + cursor: zoom-in +} +.mfp-auto-cursor .mfp-content { + cursor: auto +} +.mfp-close, +.mfp-arrow, +.mfp-preloader, +.mfp-counter { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none +} +.mfp-loading.mfp-figure { + display: none +} +.mfp-hide { + display: none !important +} +.mfp-preloader { + color: #cccccc; + position: absolute; + top: 50%; + width: auto; + text-align: center; + margin-top: -0.8em; + left: 8px; + right: 8px; + z-index: 1044 +} +.mfp-preloader a { + color: #cccccc +} +.mfp-preloader a:hover { + color: white +} +.mfp-s-ready .mfp-preloader { + display: none +} +.mfp-s-error .mfp-content { + display: none +} +button.mfp-close, +button.mfp-arrow { + overflow: visible; + cursor: pointer; + background: transparent; + border: 0; + -webkit-appearance: none; + display: block; + outline: none; + padding: 0; + z-index: 1046; + -webkit-box-shadow: none; + box-shadow: none +} +.mfp-close { + width: 44px; + height: 44px; + line-height: 44px; + position: absolute; + right: 0; + top: 0; + text-decoration: none; + text-align: center; + opacity: 0.65; + filter: alpha(opacity=65); + padding: 0 0 18px 10px; + color: white; + font-style: normal; + font-size: 28px; + font-family: Arial, Baskerville, monospace +} +.mfp-close:hover, +.mfp-close:focus { + opacity: 1; + filter: alpha(opacity=100) +} +.mfp-close:active { + top: 1px +} +.mfp-close-btn-in .mfp-close { + color: #333333 +} +.mfp-image-holder .mfp-close, +.mfp-iframe-holder .mfp-close { + color: white; + right: -6px; + text-align: right; + padding-right: 6px; + width: 100% +} +.mfp-counter { + position: absolute; + top: 0; + right: 0; + color: #cccccc; + font-size: 12px; + line-height: 18px +} +.mfp-arrow { + position: absolute; + opacity: 0.65; + filter: alpha(opacity=65); + margin: 0; + top: 50%; + margin-top: -55px; + padding: 0; + width: 90px; + height: 110px; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0) +} +.mfp-arrow:active { + margin-top: -54px +} +.mfp-arrow:hover, +.mfp-arrow:focus { + opacity: 1; + filter: alpha(opacity=100) +} +.mfp-arrow:before, +.mfp-arrow:after, +.mfp-arrow .mfp-b, +.mfp-arrow .mfp-a { + content: ''; + display: block; + width: 0; + height: 0; + position: absolute; + left: 0; + top: 0; + margin-top: 35px; + margin-left: 35px; + border: medium inset transparent +} +.mfp-arrow:after, +.mfp-arrow .mfp-a { + border-top-width: 13px; + border-bottom-width: 13px; + top: 8px +} +.mfp-arrow:before, +.mfp-arrow .mfp-b { + border-top-width: 21px; + border-bottom-width: 21px; + opacity: 0.7 +} +.mfp-arrow-left { + left: 0 +} +.mfp-arrow-left:after, +.mfp-arrow-left .mfp-a { + border-right: 17px solid #fff; + margin-left: 31px +} +.mfp-arrow-left:before, +.mfp-arrow-left .mfp-b { + margin-left: 25px; + border-right: 27px solid #3f3f3f +} +.mfp-arrow-right { + right: 0 +} +.mfp-arrow-right:after, +.mfp-arrow-right .mfp-a { + border-left: 17px solid #fff; + margin-left: 39px +} +.mfp-arrow-right:before, +.mfp-arrow-right .mfp-b { + border-left: 27px solid #3f3f3f +} +.mfp-iframe-holder { + padding-top: 40px; + padding-bottom: 40px +} +.mfp-iframe-holder .mfp-content { + line-height: 0; + width: 100%; + max-width: 900px +} +.mfp-iframe-holder .mfp-close { + top: -40px +} +.mfp-iframe-scaler { + width: 100%; + height: 0; + overflow: hidden; + padding-top: 56.25% +} +.mfp-iframe-scaler iframe { + position: absolute; + display: block; + top: 0; + left: 0; + width: 100%; + height: 100%; + box-shadow: 0 0 8px rgba(0, 0, 0, 0.6); + background: black +} +img.mfp-img { + width: auto; + max-width: 100%; + height: auto; + display: block; + line-height: 0; + padding: 40px 0 40px; + margin: 0 auto +} +.mfp-figure { + line-height: 0 +} +.mfp-figure:after { + content: ''; + position: absolute; + left: 0; + top: 40px; + bottom: 40px; + display: block; + right: 0; + width: auto; + height: auto; + z-index: -1; + box-shadow: 0 0 8px rgba(0, 0, 0, 0.6); + background: #444444 +} +.mfp-figure small { + color: #bdbdbd; + display: block; + font-size: 12px; + line-height: 14px +} +.mfp-figure figure { + margin: 0 +} +.mfp-bottom-bar { + margin-top: -36px; + position: absolute; + top: 100%; + left: 0; + width: 100%; + cursor: auto +} +.mfp-title { + text-align: left; + line-height: 18px; + color: #f3f3f3; + word-wrap: break-word; + padding-right: 36px +} +.mfp-image-holder .mfp-content { + max-width: 100% +} +.mfp-gallery .mfp-image-holder .mfp-figure { + cursor: pointer +} +@media screen and (max-width: 800px) and (orientation: landscape), +screen and (max-height: 300px) { + .mfp-img-mobile .mfp-image-holder { + padding-left: 0; + padding-right: 0 + } + .mfp-img-mobile img.mfp-img { + padding: 0 + } + .mfp-img-mobile .mfp-figure:after { + top: 0; + bottom: 0 + } + .mfp-img-mobile .mfp-figure small { + display: inline; + margin-left: 5px + } + .mfp-img-mobile .mfp-bottom-bar { + background: rgba(0, 0, 0, 0.6); + bottom: 0; + margin: 0; + top: auto; + padding: 3px 5px; + position: fixed; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box + } + .mfp-img-mobile .mfp-bottom-bar:empty { + padding: 0 + } + .mfp-img-mobile .mfp-counter { + right: 5px; + top: 3px + } + .mfp-img-mobile .mfp-close { + top: 0; + right: 0; + width: 35px; + height: 35px; + line-height: 35px; + background: rgba(0, 0, 0, 0.6); + position: fixed; + text-align: center; + padding: 0 + } +} +@media all and (max-width: 900px) { + .mfp-arrow { + -webkit-transform: scale(0.75); + transform: scale(0.75) + } + .mfp-arrow-left { + -webkit-transform-origin: 0; + transform-origin: 0 + } + .mfp-arrow-right { + -webkit-transform-origin: 100%; + transform-origin: 100% + } +} +.mfp-ie7 .mfp-img { + padding: 0 +} +.mfp-ie7 .mfp-bottom-bar { + width: 600px; + left: 50%; + margin-left: -300px; + margin-top: 5px; + padding-bottom: 5px +} +.mfp-ie7 .mfp-container { + padding: 0 +} +.mfp-ie7 .mfp-content { + padding-top: 44px +} +.mfp-ie7 .mfp-close { + top: 0; + right: 0; + padding-top: 0 +} \ No newline at end of file diff --git a/36Kr/css/app.css b/36Kr/css/app.css new file mode 100644 index 0000000..f397ad1 --- /dev/null +++ b/36Kr/css/app.css @@ -0,0 +1,184 @@ +.mui-bar-nav { + background-color: #4a82d1; + -webkit-box-shadow: none; + box-shadow: none; +} +.mui-bar-nav a, +.mui-bar .mui-btn-link { + color: white; +} +.kr-title { + color: white; +} +.kr-logo { + width: 55px; + height: 30px; + margin: 0 auto; + background-image: url(../img/36kr_2x.png); + background-size: 55px 60px; + background-repeat: no-repeat; + text-indent: 999em; + display: inline-block; + margin-top: 6px; +} +.kr-logo-big { + width: 110px; + height: 60px; + background-size: 100%; + background-position: 0 -60px; +} +.kr-article .kr-slider a { + height: 180px; + background-position: center; + background-size: 100%; + background-repeat: no-repeat; +} + +/*无需重复显示大图*/ +#kr-article-article img.fr-fin.fr-dib.fr-tag{ + display: none; +} + +.kr-article .kr-slider a .mui-slider-title { + background: transparent; + color: white; + opacity: 1; + bottom: 15px; + font-size: 20px; + font-weight: 500; + padding: 0 15px; + white-space: normal; + line-height: 22px; + word-break: break-all; + height: 44px; + text-align: justify; + text-indent: 0; + z-index: 1; +} +.kr-article .kr-table-view .mui-table-view-cell { + padding: 11px; +} +.kr-article .kr-table-view .mui-table-view-cell>a:not(.mui-btn) { + margin: -11px; +} +.kr-article .kr-table-view .mui-media-object { + max-width: 90px; + width: 90px; + height: 90px; + line-height: 90px; + overflow: hidden; +} +.kr-article .kr-table-view .mui-media-object img { + height: 90px; +} +.kr-article .kr-table-view .mui-media-body { + position: relative; + font-size: 14px; + white-space: normal; + height: 90px; +} + +.kr-article-banner { + height: 180px; + position: relative; + overflow: hidden; +} +.kr-article-cover { + background-position: center; + background-size: cover; + background-repeat: no-repeat; + width: 100%; + height: 180px; + position: relative; +} +.kr-article-cover img { + width: 100%; +} +.kr-image-overlay { + position: absolute; + width: 100%; + top: 0; + bottom: -50px; + background-image: url(../img/bg.png); + background-repeat: repeat-x; + background-size: contain; +} +.kr-article-bar a { + color: gray; +} +.kr-article-title { + position: absolute; + left: 15px; + bottom: 15px; + width: 90%; + font-size: 16px; + font-weight: 400; + line-height: 21px; + color: white; +} +.kr-article-content { + /*transform: translateY(-120px);*/ + + background: #efeff4; +} +.kr-article-meta { + padding: 10px 0 10px 20px; + display: table; +} +.kr-article-meta div { + height: 30px; + font-size: 15px; + display: table-cell; + vertical-align: middle; + color: gray; + padding: 0 5px; +} +.kr-article-avatar img { + width: 30px; +} +.kr-article-text { + font-size: 13px!important; +} +.kr-article-author, +.kr-article-time { + font-weight: 600; +} +.kr-article-article { + font-size: 15px; + padding: 0 15px; + color: #000; +} +.kr-article-article ol { + margin: 0 0 0 20px; + padding: 0; +} +.kr-article-article p { + color: #000; + font-size: 15px; + line-height: 23px; +} + +.kr-article-article img, +.kr-article-article iframe { + max-width: 100%; + width: 100%; + height: auto; +} +embed,object{ + display: none; +} +.kr-article-content { + /*transform: translateY(-120px);*/ + /*-webkit-transform: translateY(-120px);*/ +} +.kr-browser .mui-bar .mui-btn { + top: 10px; + padding: 2px 12px 2px; +} +.kr-browser-bar .mui-spinner { + width: 20px; + height: 20px; +} +.kr-browser-bar a { + color: gray; +} \ No newline at end of file diff --git a/36Kr/css/mui.min.css b/36Kr/css/mui.min.css new file mode 100644 index 0000000..d6092ca --- /dev/null +++ b/36Kr/css/mui.min.css @@ -0,0 +1,5 @@ +/*! + * ===================================================== + * Mui v1.2.0 (https://github.com/dcloudio/mui) + * ===================================================== + *//*! normalize.css v3.0.1 | MIT License | git.io/normalize */html{font-family:sans-serif;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background:0 0}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}*{-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-user-select:none;outline:0;-webkit-tap-highlight-color:transparent;-webkit-tap-highlight-color:transparent}body{-webkit-overflow-scrolling:touch;font-family:"Helvetica Neue",Helvetica,sans-serif;font-size:17px;line-height:21px;color:#000;background-color:#fff}a{color:#007aff;text-decoration:none}a:active{color:#0062cc}.mui-content{-webkit-overflow-scrolling:touch;background-color:#efeff4}.mui-bar-nav~.mui-content{padding-top:44px}.mui-bar-nav~.mui-content.mui-scroll-wrapper .mui-scrollbar-vertical{top:44px}.mui-bar-header-secondary~.mui-content{padding-top:88px}.mui-bar-header-secondary~.mui-content.mui-scroll-wrapper .mui-scrollbar-vertical{top:88px}.mui-bar-footer~.mui-content{padding-bottom:44px}.mui-bar-footer~.mui-content.mui-scroll-wrapper .mui-scrollbar-vertical{bottom:44px}.mui-bar-footer-secondary~.mui-content{padding-bottom:88px}.mui-bar-footer-secondary~.mui-content.mui-scroll-wrapper .mui-scrollbar-vertical{bottom:88px}.mui-bar-tab~.mui-content{padding-bottom:50px}.mui-bar-tab~.mui-content.mui-scroll-wrapper .mui-scrollbar-vertical{bottom:50px}.mui-bar-footer-secondary-tab~.mui-content{padding-bottom:94px}.mui-bar-footer-secondary-tab~.mui-content.mui-scroll-wrapper .mui-scrollbar-vertical{bottom:94px}.mui-content-padded{margin:10px}.mui-inline{display:inline-block;vertical-align:top}.mui-block{display:block!important}.mui-visibility{visibility:visible!important}.mui-hidden{display:none!important}.mui-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mui-ellipsis-2{display:-webkit-box;overflow:hidden;text-overflow:ellipsis;word-wrap:break-word;white-space:normal!important;-webkit-line-clamp:2;-webkit-box-orient:vertical}.mui-table{display:table;width:100%;table-layout:fixed}.mui-table-cell{position:relative;display:table-cell}.mui-text-left{text-align:left!important}.mui-text-center{text-align:center!important}.mui-text-justify{text-align:justify!important}.mui-text-right{text-align:right!important}.mui-pull-left{float:left}.mui-pull-right{float:right}.mui-list-unstyled{padding-left:0;list-style:none}.mui-list-inline{padding-left:0;margin-left:-5px;list-style:none}.mui-list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}.mui-clearfix:after,.mui-clearfix:before{display:table;content:" "}.mui-clearfix:after{clear:both}.mui-bg-primary{background-color:#007aff}.mui-bg-positive{background-color:#4cd964}.mui-bg-negative{background-color:#dd524d}.mui-error{padding:10px;margin:88px 35px;background-color:#bbb;border-radius:6px}h1,h2,h3,h4,h5,h6{margin-top:5px;margin-bottom:5px;line-height:1}.mui-h1,h1{font-size:36px}.mui-h2,h2{font-size:30px}.mui-h3,h3{font-size:24px}.mui-h4,h4{font-size:18px}.mui-h5,h5{font-size:14px;font-weight:400;color:#8f8f94}.mui-h6,h6{font-size:12px;font-weight:400;color:#8f8f94}p{margin-top:0;margin-bottom:10px;font-size:14px;color:#8f8f94}.mui-col-xs-12{width:100%}.mui-col-xs-11{width:91.66666667%}.mui-col-xs-10{width:83.33333333%}.mui-col-xs-9{width:75%}.mui-col-xs-8{width:66.66666667%}.mui-col-xs-7{width:58.33333333%}.mui-col-xs-6{width:50%}.mui-col-xs-5{width:41.66666667%}.mui-col-xs-4{width:33.33333333%}.mui-col-xs-3{width:25%}.mui-col-xs-2{width:16.66666667%}.mui-col-xs-1{width:8.33333333%}@media (min-width:400px){.mui-col-sm-12{width:100%}.mui-col-sm-11{width:91.66666667%}.mui-col-sm-10{width:83.33333333%}.mui-col-sm-9{width:75%}.mui-col-sm-8{width:66.66666667%}.mui-col-sm-7{width:58.33333333%}.mui-col-sm-6{width:50%}.mui-col-sm-5{width:41.66666667%}.mui-col-sm-4{width:33.33333333%}.mui-col-sm-3{width:25%}.mui-col-sm-2{width:16.66666667%}.mui-col-sm-1{width:8.33333333%}}.mui-scroll-wrapper{position:absolute;top:0;bottom:0;left:0;z-index:1;width:100%;overflow:hidden;-webkit-backface-visibility:hidden}.mui-scroll{position:absolute;z-index:1;width:100%;-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-backface-visibility:hidden}.mui-scrollbar{position:absolute;z-index:9998;overflow:hidden;pointer-events:none;opacity:0;-webkit-transition:500ms;transition:500ms;transform:translateZ(0px)}.mui-scrollbar-vertical{top:0;right:1px;bottom:2px;width:4px}.mui-scrollbar-vertical .mui-scrollbar-indicator{width:100%}.mui-scrollbar-horizontal{right:2px;bottom:0;left:2px;height:4px}.mui-scrollbar-horizontal .mui-scrollbar-indicator{height:100%}.mui-scrollbar-indicator{position:absolute;display:block;box-sizing:border-box;background:rgba(0,0,0,.39804);border:1px solid rgba(255,255,255,.80196);border-radius:2px;-webkit-transition:.01s cubic-bezier(.1,.57,.1,1);transition:.01s cubic-bezier(.1,.57,.1,1);transform:translate(0px,0) translateZ(0px)}.mui-plus-pullrefresh .mui-scroll-wrapper{position:static;top:auto;bottom:auto;left:auto;width:auto;overflow:auto}.mui-plus-pullrefresh .mui-scroll{position:static;width:auto}.mui-off-canvas-wrap .mui-bar{position:absolute!important}.mui-off-canvas-wrap{position:relative;z-index:1;width:100%;height:100%;overflow:hidden}.mui-off-canvas-wrap .mui-inner-wrap{position:relative;z-index:1;width:100%;height:100%}.mui-off-canvas-wrap .mui-inner-wrap.mui-transitioning{-webkit-transition:-webkit-transform 200ms ease;transition:transform 200ms ease}.mui-off-canvas-wrap .mui-inner-wrap .mui-off-canvas-left{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.mui-off-canvas-wrap .mui-inner-wrap .mui-off-canvas-right{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.mui-off-canvas-wrap.mui-active{height:100%;overflow:hidden}.mui-off-canvas-wrap.mui-active .mui-off-canvas-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:998;display:block;background:rgba(0,0,0,.4);box-shadow:-4px 0 4px rgba(0,0,0,.5),4px 0 4px rgba(0,0,0,.5);transition:background 200ms ease;-webkit-backface-visibility:hidden;-webkit-tap-highlight-color:transparent}.mui-off-canvas-wrap.mui-slide-in .mui-off-canvas-right{z-index:10000!important;-webkit-transform:translate3d(100%,0,0)}.mui-off-canvas-wrap.mui-slide-in .mui-off-canvas-left{z-index:10000!important;-webkit-transform:translate3d(-100%,0,0)}.mui-off-canvas-left,.mui-off-canvas-right{position:absolute;top:0;bottom:0;z-index:-1;width:70%;min-height:100%;box-sizing:content-box;-webkit-overflow-scrolling:touch;visibility:hidden;background:#333;-webkit-backface-visibility:hidden}.mui-off-canvas-left.mui-transitioning,.mui-off-canvas-right.mui-transitioning{-webkit-transition:-webkit-transform 200ms ease;transition:transform 200ms ease}.mui-off-canvas-left{left:0}.mui-off-canvas-right{right:0}.mui-loading .mui-spinner{display:block;margin:0 auto}.mui-spinner{display:inline-block;width:24px;height:24px;-webkit-transform-origin:50%;transform-origin:50%;-webkit-animation:spinner-spin 1s step-end infinite;animation:spinner-spin 1s step-end infinite}.mui-spinner:after{display:block;width:100%;height:100%;content:"";background-image:url("data:image/svg+xml;charset=utf-8,");background-repeat:no-repeat;background-position:50%;background-size:100%}.mui-spinner-white:after{background-image:url("data:image/svg+xml;charset=utf-8,")}@-webkit-keyframes spinner-spin{0%{-webkit-transform:rotate(0deg)}8.33333333%{-webkit-transform:rotate(30deg)}16.66666667%{-webkit-transform:rotate(60deg)}25%{-webkit-transform:rotate(90deg)}33.33333333%{-webkit-transform:rotate(120deg)}41.66666667%{-webkit-transform:rotate(150deg)}50%{-webkit-transform:rotate(180deg)}58.33333333%{-webkit-transform:rotate(210deg)}66.66666667%{-webkit-transform:rotate(240deg)}75%{-webkit-transform:rotate(270deg)}83.33333333%{-webkit-transform:rotate(300deg)}91.66666667%{-webkit-transform:rotate(330deg)}100%{-webkit-transform:rotate(360deg)}}@keyframes spinner-spin{0%{transform:rotate(0deg)}8.33333333%{transform:rotate(30deg)}16.66666667%{transform:rotate(60deg)}25%{transform:rotate(90deg)}33.33333333%{transform:rotate(120deg)}41.66666667%{transform:rotate(150deg)}50%{transform:rotate(180deg)}58.33333333%{transform:rotate(210deg)}66.66666667%{transform:rotate(240deg)}75%{transform:rotate(270deg)}83.33333333%{transform:rotate(300deg)}91.66666667%{transform:rotate(330deg)}100%{transform:rotate(360deg)}}.mui-btn,button,input[type=button],input[type=reset],input[type=submit]{position:relative;display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42;color:#333;text-align:center;white-space:nowrap;vertical-align:top;cursor:pointer;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border-radius:3px;border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;-webkit-transition:all;transition:all;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transition-duration:.2s;transition-duration:.2s}.mui-btn.mui-active,.mui-btn:active,button.mui-active,button:active,input[type=button].mui-active,input[type=button]:active,input[type=reset].mui-active,input[type=reset]:active,input[type=submit].mui-active,input[type=submit]:active{color:#fff;background-color:#929292}.mui-btn.mui-disabled,.mui-btn:disabled,button.mui-disabled,button:disabled,input[type=button].mui-disabled,input[type=button]:disabled,input[type=reset].mui-disabled,input[type=reset]:disabled,input[type=submit].mui-disabled,input[type=submit]:disabled{opacity:.6}.mui-btn-blue,.mui-btn-primary,input[type=submit]{color:#fff;background-color:#007aff;border:1px solid #007aff}.mui-btn-blue.mui-active,.mui-btn-blue:active,.mui-btn-primary.mui-active,.mui-btn-primary:active,input[type=submit].mui-active,input[type=submit]:active{color:#fff;background-color:#0062cc;border:1px solid #0062cc}.mui-btn-green,.mui-btn-positive,.mui-btn-success{color:#fff;background-color:#4cd964;border:1px solid #4cd964}.mui-btn-green.mui-active,.mui-btn-green:active,.mui-btn-positive.mui-active,.mui-btn-positive:active,.mui-btn-success.mui-active,.mui-btn-success:active{color:#fff;background-color:#2ac845;border:1px solid #2ac845}.mui-btn-warning,.mui-btn-yellow{color:#fff;background-color:#f0ad4e;border:1px solid #f0ad4e}.mui-btn-warning.mui-active,.mui-btn-warning:active,.mui-btn-yellow.mui-active,.mui-btn-yellow:active{color:#fff;background-color:#ec971f;border:1px solid #ec971f}.mui-btn-danger,.mui-btn-negative,.mui-btn-red{color:#fff;background-color:#dd524d;border:1px solid #dd524d}.mui-btn-danger.mui-active,.mui-btn-danger:active,.mui-btn-negative.mui-active,.mui-btn-negative:active,.mui-btn-red.mui-active,.mui-btn-red:active{color:#fff;background-color:#cf2d28;border:1px solid #cf2d28}.mui-btn-purple,.mui-btn-royal{color:#fff;background-color:#8a6de9;border:1px solid #8a6de9}.mui-btn-purple.mui-active,.mui-btn-purple:active,.mui-btn-royal.mui-active,.mui-btn-royal:active{color:#fff;background-color:#6641e2;border:1px solid #6641e2}.mui-btn-grey{color:#fff;background-color:#c7c7cc;border:1px solid #c7c7cc}.mui-btn-grey.mui-active,.mui-btn-grey:active{color:#fff;background-color:#acacb4;border:1px solid #acacb4}.mui-btn-outlined{background-color:transparent}.mui-btn-outlined.mui-btn-blue,.mui-btn-outlined.mui-btn-primary{color:#007aff}.mui-btn-outlined.mui-btn-green,.mui-btn-outlined.mui-btn-positive,.mui-btn-outlined.mui-btn-success{color:#4cd964}.mui-btn-outlined.mui-btn-warning,.mui-btn-outlined.mui-btn-yellow{color:#f0ad4e}.mui-btn-outlined.mui-btn-danger,.mui-btn-outlined.mui-btn-negative,.mui-btn-outlined.mui-btn-red{color:#dd524d}.mui-btn-outlined.mui-btn-purple,.mui-btn-outlined.mui-btn-royal{color:#8a6de9}.mui-btn-outlined.mui-btn-blue:active,.mui-btn-outlined.mui-btn-danger:active,.mui-btn-outlined.mui-btn-green:active,.mui-btn-outlined.mui-btn-negative:active,.mui-btn-outlined.mui-btn-positive:active,.mui-btn-outlined.mui-btn-primary:active,.mui-btn-outlined.mui-btn-purple:active,.mui-btn-outlined.mui-btn-red:active,.mui-btn-outlined.mui-btn-royal:active,.mui-btn-outlined.mui-btn-success:active,.mui-btn-outlined.mui-btn-warning:active,.mui-btn-outlined.mui-btn-yellow:active{color:#fff}.mui-btn-link{padding-top:6px;padding-bottom:6px;color:#007aff;background-color:transparent;border:0}.mui-btn-link.mui-active,.mui-btn-link:active{color:#0062cc;background-color:transparent}.mui-btn-block{display:block;width:100%;padding:15px 0;margin-bottom:10px;font-size:18px}.mui-btn .mui-badge{margin:-2px -4px -2px 4px;font-size:14px;background-color:rgba(0,0,0,.15)}.mui-btn .mui-badge-inverted,.mui-btn:active .mui-badge-inverted{background-color:transparent}.mui-btn-negative:active .mui-badge-inverted,.mui-btn-positive:active .mui-badge-inverted,.mui-btn-primary:active .mui-badge-inverted{color:#fff}.mui-btn-block .mui-badge{position:absolute;right:0;margin-right:10px}.mui-btn .mui-icon{font-size:inherit}.mui-btn.mui-icon{font-size:14px;line-height:1.42}.mui-btn.mui-fab{width:56px;height:56px;padding:16px;border-radius:50%;outline:0}.mui-btn.mui-fab.mui-btn-mini{width:40px;height:40px;padding:8px}.mui-btn.mui-fab .mui-icon{width:24px;height:24px;font-size:24px;line-height:24px}.mui-bar{position:fixed;right:0;left:0;z-index:10;height:44px;padding-right:10px;padding-left:10px;background-color:rgba(247,247,247,.98);border-bottom:0;-webkit-box-shadow:0 0 1px rgba(0,0,0,.85);box-shadow:0 0 1px rgba(0,0,0,.85);-webkit-backface-visibility:hidden;backface-visibility:hidden}.mui-bar .mui-title{right:40px;left:40px;width:auto;margin:0;overflow:hidden;text-overflow:ellipsis}.mui-bar .mui-backdrop{background:0 0}.mui-bar-header-secondary{top:44px}.mui-bar-footer{bottom:0}.mui-bar-footer-secondary{bottom:44px}.mui-bar-footer-secondary-tab{bottom:50px}.mui-bar-footer,.mui-bar-footer-secondary,.mui-bar-footer-secondary-tab{border-top:0}.mui-bar-nav{top:0;-webkit-box-shadow:0 1px 6px #ccc;box-shadow:0 1px 6px #ccc}.mui-bar-nav~.mui-content .mui-anchor{display:block;height:45px;margin-top:-45px;visibility:hidden}.mui-bar-nav.mui-bar .mui-icon{padding-right:10px;padding-left:10px;margin-right:-10px;margin-left:-10px}.mui-title{position:absolute;display:block;width:100%;padding:0;margin:0 -10px;font-size:17px;font-weight:500;line-height:44px;color:#000;text-align:center;white-space:nowrap}.mui-title a{color:inherit}.mui-bar-tab{bottom:0;display:table;width:100%;height:50px;padding:0;table-layout:fixed;border-top:0;border-bottom:0;-webkit-touch-callout:none}.mui-bar-tab .mui-tab-item{display:table-cell;width:1%;height:50px;overflow:hidden;color:#929292;text-align:center;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}.mui-bar-tab .mui-tab-item.mui-active{color:#007aff}.mui-bar-tab .mui-tab-item .mui-icon{top:3px;width:24px;height:24px;padding-top:0;padding-bottom:0}.mui-bar-tab .mui-tab-item .mui-icon~.mui-tab-label{display:block;overflow:hidden;font-size:11px;text-overflow:ellipsis}.mui-bar-tab .mui-tab-item .mui-icon:active{background:0 0}.mui-focusin>.mui-bar{position:absolute}.mui-focusin>.mui-bar-footer,.mui-focusin>.mui-bar-footer-secondary,.mui-focusin>.mui-bar-footer-secondary-tab,.mui-focusin>.mui-bar-tab{position:static}.mui-bar .mui-btn{position:relative;top:7px;z-index:20;padding:6px 12px 7px;margin-top:0;font-weight:400}.mui-bar .mui-btn.mui-pull-right{margin-left:10px}.mui-bar .mui-btn.mui-pull-left{margin-right:10px}.mui-bar .mui-btn-link{top:0;padding:0;font-size:16px;line-height:44px;color:#007aff;border:0}.mui-bar .mui-btn-link.mui-active,.mui-bar .mui-btn-link:active{color:#0062cc}.mui-bar .mui-btn-block{top:6px;padding:5px 0;margin-bottom:0;font-size:16px}.mui-bar .mui-btn-nav.mui-pull-left{margin-left:-5px}.mui-bar .mui-btn-nav.mui-pull-left .mui-icon-left-nav{margin-right:-3px}.mui-bar .mui-btn-nav.mui-pull-right{margin-right:-5px}.mui-bar .mui-btn-nav.mui-pull-right .mui-icon-right-nav{margin-left:-3px}.mui-bar .mui-btn-nav:active{opacity:.3}.mui-bar .mui-icon{position:relative;z-index:20;padding-top:10px;padding-bottom:10px;font-size:24px}.mui-bar .mui-icon:active{opacity:.3}.mui-bar .mui-btn .mui-icon{top:3px;padding:0;margin:0}.mui-bar .mui-title .mui-icon{padding:0;margin:0}.mui-bar .mui-title .mui-icon.mui-icon-caret{top:4px;margin-left:-5px}.mui-bar input[type=search]{height:29px;margin:6px 0}.mui-bar .mui-input-row .mui-btn{padding:12px 10px}.mui-bar .mui-search:before{margin-top:-10px}.mui-bar .mui-input-row .mui-input-clear~.mui-icon-clear,.mui-input-row .mui-input-speech~.mui-icon-speech{top:0;right:17%}.mui-bar .mui-segmented-control{top:7px;width:auto;margin:0 auto}.mui-badge{display:inline-block;padding:3px 6px;font-size:12px;line-height:1;color:#333;background-color:rgba(0,0,0,.15);border-radius:100px}.mui-badge.mui-badge-inverted{padding:0 5px 0 0;color:#929292;background-color:transparent}.mui-badge-blue,.mui-badge-primary{color:#fff;background-color:#007aff}.mui-badge-blue.mui-badge-inverted,.mui-badge-primary.mui-badge-inverted{color:#007aff;background-color:transparent}.mui-badge-green,.mui-badge-success{color:#fff;background-color:#4cd964}.mui-badge-green.mui-badge-inverted,.mui-badge-success.mui-badge-inverted{color:#4cd964;background-color:transparent}.mui-badge-warning,.mui-badge-yellow{color:#fff;background-color:#f0ad4e}.mui-badge-warning.mui-badge-inverted,.mui-badge-yellow.mui-badge-inverted{color:#f0ad4e;background-color:transparent}.mui-badge-danger,.mui-badge-red{color:#fff;background-color:#dd524d}.mui-badge-danger.mui-badge-inverted,.mui-badge-red.mui-badge-inverted{color:#dd524d;background-color:transparent}.mui-badge-purple,.mui-badge-royal{color:#fff;background-color:#8a6de9}.mui-badge-purple.mui-badge-inverted,.mui-badge-royal.mui-badge-inverted{color:#8a6de9;background-color:transparent}.mui-icon .mui-badge{position:absolute;top:-2px;left:100%;padding:1px 5px;margin-left:-10px;font-size:10px;line-height:1.4;color:#fff;background:red}.mui-card{margin:0 15px;overflow:hidden;background-color:#fff;background-clip:padding-box;border:1px solid #ddd;border-radius:6px}.mui-content>.mui-card:first-child{margin-top:15px}.mui-card .mui-input-group .mui-input-row:last-child:after,.mui-card .mui-input-group .mui-input-row:last-child:before,.mui-card .mui-input-group:after,.mui-card .mui-input-group:before{height:0}.mui-card .mui-table-view{margin-bottom:0;border-top:0;border-bottom:0;border-radius:6px}.mui-card .mui-table-view .mui-table-view-divider:first-child{top:0;border-top-left-radius:6px;border-top-right-radius:6px}.mui-card .mui-table-view .mui-table-view-divider:last-child{border-bottom-right-radius:6px;border-bottom-left-radius:6px}.mui-card .mui-table-view:after,.mui-card .mui-table-view:before,.mui-card>.mui-table-view>.mui-table-view-cell:last-child:after,.mui-card>.mui-table-view>.mui-table-view-cell:last-child:before{height:0}.mui-table-view{position:relative;padding-left:0;margin-top:0;margin-bottom:0;list-style:none;background-color:#fff}.mui-table-view:after{position:absolute;right:0;bottom:0;left:0;height:1px;content:'';background-color:#c8c7cc;-webkit-transform:scaleY(.5);transform:scaleY(.5)}.mui-table-view:before{position:absolute;top:0;right:0;left:0;height:1px;content:'';background-color:#c8c7cc;-webkit-transform:scaleY(.5);transform:scaleY(.5)}.mui-table-view-chevron .mui-table-view-cell{padding-right:65px}.mui-table-view-chevron .mui-table-view-cell>a:not(.mui-btn){margin-right:-65px}.mui-table-view-inverted{color:#fff;background:#333}.mui-table-view-inverted:after{position:absolute;right:0;bottom:0;left:0;height:1px;content:'';background-color:#222;-webkit-transform:scaleY(.5);transform:scaleY(.5)}.mui-table-view-inverted:before{position:absolute;top:0;right:0;left:0;height:1px;content:'';background-color:#222;-webkit-transform:scaleY(.5);transform:scaleY(.5)}.mui-table-view-inverted .mui-table-view-cell:after{position:absolute;right:0;bottom:0;left:15px;height:1px;content:'';background-color:#222;-webkit-transform:scaleY(.5);transform:scaleY(.5)}.mui-table-view-inverted .mui-table-view-cell.mui-active,.mui-table-view-inverted .mui-table-view-cell>a:not(.mui-btn).mui-active{background-color:#242424}.mui-table-view-cell{position:relative;padding:11px 15px;overflow:hidden;background-color:inherit;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;-webkit-touch-callout:none}.mui-table-view-cell:after{position:absolute;right:0;bottom:0;left:15px;height:1px;content:'';background-color:#c8c7cc;-webkit-transform:scaleY(.5);transform:scaleY(.5)}.mui-table-view-cell.mui-checkbox input[type=checkbox],.mui-table-view-cell.mui-radio input[type=radio]{top:8px}.mui-table-view-cell.mui-checkbox.mui-left,.mui-table-view-cell.mui-radio.mui-left{padding-left:58px}.mui-table-view-cell.mui-active{background-color:#eee}.mui-table-view-cell:last-child:after,.mui-table-view-cell:last-child:before{height:0}.mui-table-view-cell>a:not(.mui-btn){position:relative;display:block;padding:inherit;margin:-11px -15px;overflow:hidden;color:inherit;text-overflow:ellipsis;white-space:nowrap}.mui-table-view-cell>a:not(.mui-btn).mui-active{background-color:#eee}.mui-table-view-cell p{margin-bottom:0}.mui-table-view-cell.mui-transitioning>.mui-slider-handle,.mui-table-view-cell.mui-transitioning>.mui-slider-left .mui-btn,.mui-table-view-cell.mui-transitioning>.mui-slider-right .mui-btn{-webkit-transition:-webkit-transform 300ms ease;transition:transform 300ms ease}.mui-table-view-cell>.mui-slider-handle{background-color:#fff}.mui-table-view-cell>.mui-slider-handle,.mui-table-view-cell>.mui-slider-left .mui-btn,.mui-table-view-cell>.mui-slider-right .mui-btn{-webkit-transition:-webkit-transform 0ms ease;transition:transform 0ms ease;-webkit-backface-visibility:hidden;backface-visibility:hidden}.mui-table-view-cell>.mui-slider-left,.mui-table-view-cell>.mui-slider-right{position:absolute;top:0;display:-webkit-box;display:-webkit-flex;display:flex;height:100%;-webkit-backface-visibility:hidden;backface-visibility:hidden}.mui-table-view-cell>.mui-slider-left>.mui-btn,.mui-table-view-cell>.mui-slider-right>.mui-btn{position:relative;left:0;display:-webkit-box;display:-webkit-flex;display:flex;padding:0 30px;color:#fff;border:0;border-radius:0;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.mui-table-view-cell>.mui-slider-left>.mui-btn:after,.mui-table-view-cell>.mui-slider-right>.mui-btn:after{position:absolute;top:0;z-index:-1;width:600%;height:100%;content:'';background:inherit}.mui-table-view-cell>.mui-slider-left>.mui-btn.mui-icon,.mui-table-view-cell>.mui-slider-right>.mui-btn.mui-icon{font-size:30px}.mui-table-view-cell>.mui-slider-right{right:0;-webkit-transition:-webkit-transform 0ms ease;transition:transform 0ms ease;-webkit-transform:translateX(100%);transform:translateX(100%)}.mui-table-view-cell>.mui-slider-left{left:0;-webkit-transition:-webkit-transform 0ms ease;transition:transform 0ms ease;-webkit-transform:translateX(-100%);transform:translateX(-100%)}.mui-table-view-cell>.mui-slider-left>.mui-btn:after{right:100%;margin-right:-1px}.mui-table-view-divider{position:relative;padding-top:6px;padding-bottom:6px;padding-left:15px;margin-top:-1px;margin-left:0;font-weight:500;color:#999;background-color:#fafafa}.mui-table-view-divider:after{position:absolute;right:0;bottom:0;left:0;height:1px;content:'';background-color:#c8c7cc;-webkit-transform:scaleY(.5);transform:scaleY(.5)}.mui-table-view-divider:before{position:absolute;top:0;right:0;left:0;height:1px;content:'';background-color:#c8c7cc;-webkit-transform:scaleY(.5);transform:scaleY(.5)}.mui-table-view .mui-media,.mui-table-view .mui-media-body{overflow:hidden}.mui-table-view .mui-media-object{max-width:42px;height:42px;line-height:42px}.mui-table-view .mui-media-object.mui-pull-left{margin-right:10px}.mui-table-view .mui-media-object.mui-pull-right{margin-left:10px}.mui-table-view .mui-table-view-cell.mui-media-icon .mui-media-object{max-width:29px;height:29px;margin:-4px 0;line-height:29px}.mui-table-view .mui-table-view-cell.mui-media-icon .mui-media-object img{max-width:29px;height:29px;line-height:29px}.mui-table-view .mui-table-view-cell.mui-media-icon .mui-media-object.mui-pull-left{margin-right:10px}.mui-table-view .mui-table-view-cell.mui-media-icon .mui-media-object .mui-icon{font-size:29px}.mui-table-view .mui-table-view-cell.mui-media-icon .mui-media-body:after{position:absolute;right:0;bottom:0;left:55px;height:1px;content:'';background-color:#c8c7cc;-webkit-transform:scaleY(.5);transform:scaleY(.5)}.mui-table-view .mui-table-view-cell.mui-media-icon:after{height:0!important}.mui-table-view.mui-unfold .mui-table-view-cell.mui-collapse .mui-table-view{display:block}.mui-table-view.mui-unfold .mui-table-view-cell.mui-collapse .mui-table-view:after,.mui-table-view.mui-unfold .mui-table-view-cell.mui-collapse .mui-table-view:before{height:0!important}.mui-table-view.mui-unfold .mui-table-view-cell.mui-media-icon.mui-collapse .mui-media-body:after{position:absolute;right:0;bottom:0;left:70px;height:1px;content:'';background-color:#c8c7cc;-webkit-transform:scaleY(.5);transform:scaleY(.5)}.mui-table-view-cell>.mui-badge,.mui-table-view-cell>.mui-btn,.mui-table-view-cell>.mui-switch,.mui-table-view-cell>a>.mui-badge,.mui-table-view-cell>a>.mui-btn,.mui-table-view-cell>a>.mui-switch{position:absolute;top:50%;right:15px;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.mui-table-view-cell .mui-navigate-left>.mui-badge,.mui-table-view-cell .mui-navigate-left>.mui-btn,.mui-table-view-cell .mui-navigate-left>.mui-switch,.mui-table-view-cell .mui-navigate-right>.mui-badge,.mui-table-view-cell .mui-navigate-right>.mui-btn,.mui-table-view-cell .mui-navigate-right>.mui-switch,.mui-table-view-cell .mui-push-left>.mui-badge,.mui-table-view-cell .mui-push-left>.mui-btn,.mui-table-view-cell .mui-push-left>.mui-switch,.mui-table-view-cell .mui-push-right>.mui-badge,.mui-table-view-cell .mui-push-right>.mui-btn,.mui-table-view-cell .mui-push-right>.mui-switch,.mui-table-view-cell>a .mui-navigate-left>.mui-badge,.mui-table-view-cell>a .mui-navigate-left>.mui-btn,.mui-table-view-cell>a .mui-navigate-left>.mui-switch,.mui-table-view-cell>a .mui-navigate-right>.mui-badge,.mui-table-view-cell>a .mui-navigate-right>.mui-btn,.mui-table-view-cell>a .mui-navigate-right>.mui-switch,.mui-table-view-cell>a .mui-push-left>.mui-badge,.mui-table-view-cell>a .mui-push-left>.mui-btn,.mui-table-view-cell>a .mui-push-left>.mui-switch,.mui-table-view-cell>a .mui-push-right>.mui-badge,.mui-table-view-cell>a .mui-push-right>.mui-btn,.mui-table-view-cell>a .mui-push-right>.mui-switch{right:35px}.mui-content>.mui-table-view:first-child{margin-top:15px}.mui-table-view-cell.mui-collapse>.mui-navigate-right:after,.mui-table-view-cell.mui-collapse>.mui-push-right:after{content:'\e581'}.mui-table-view-cell.mui-collapse.mui-active .mui-collapse-content,.mui-table-view-cell.mui-collapse.mui-active .mui-table-view{display:block}.mui-table-view-cell.mui-collapse.mui-active>.mui-navigate-right:after,.mui-table-view-cell.mui-collapse.mui-active>.mui-push-right:after{content:'\e580'}.mui-table-view-cell.mui-collapse .mui-collapse-content{position:relative;display:none;padding:8px 15px;margin:11px -15px -11px;overflow:hidden;background:#fff;border:1px solid #ddd;-webkit-transition:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease}.mui-table-view-cell.mui-collapse .mui-collapse-content>.mui-input-group,.mui-table-view-cell.mui-collapse .mui-collapse-content>.mui-slider{width:auto;height:auto;margin:-8px -15px}.mui-table-view-cell.mui-collapse .mui-collapse-content>.mui-slider{margin:-8px -16px}.mui-table-view-cell.mui-collapse .mui-table-view{display:none;margin-top:11px;margin-right:-15px;margin-bottom:-11px;margin-left:-15px;border:0}.mui-table-view-cell.mui-collapse .mui-table-view.mui-table-view-chevron{margin-right:-65px}.mui-table-view-cell.mui-collapse .mui-table-view .mui-table-view-cell{padding-left:31px;background-position:31px 100%}.mui-table-view-cell.mui-collapse .mui-table-view .mui-table-view-cell:after{position:absolute;right:0;bottom:0;left:30px;height:1px;content:'';background-color:#c8c7cc;-webkit-transform:scaleY(.5);transform:scaleY(.5)}.mui-table-view.mui-grid-view{display:block;width:100%;padding:0 10px 10px 0;font-size:0;white-space:normal}.mui-table-view.mui-grid-view .mui-table-view-cell{display:inline-block;padding:10px 0 0 14px;margin-right:-4px;font-size:17px;text-align:center;vertical-align:middle;background:0 0}.mui-table-view.mui-grid-view .mui-table-view-cell .mui-media-object{width:100%;max-width:100%;height:auto}.mui-table-view.mui-grid-view .mui-table-view-cell>a:not(.mui-btn){margin:-10px 0 0 -14px}.mui-table-view.mui-grid-view .mui-table-view-cell>a:not(.mui-btn).mui-active,.mui-table-view.mui-grid-view .mui-table-view-cell>a:not(.mui-btn):active{background:0 0}.mui-table-view.mui-grid-view .mui-table-view-cell .mui-media-body{display:block;width:100%;height:15px;margin-top:8px;font-size:15px;line-height:15px;color:#333;text-overflow:ellipsis}.mui-table-view.mui-grid-view .mui-table-view-cell:after,.mui-table-view.mui-grid-view .mui-table-view-cell:before{height:0}.mui-grid-view.mui-grid-9{padding:1px 0;padding-right:0;background-color:#f2f2f2}.mui-grid-view.mui-grid-9 .mui-table-view-cell{padding:11px 15px;margin:-1px 0 0 -1px;vertical-align:top;border-top:1px solid #eee;border-left:1px solid #eee}.mui-grid-view.mui-grid-9 .mui-table-view-cell.mui-active{background-color:#eee}.mui-grid-view.mui-grid-9 .mui-table-view-cell>a:not(.mui-btn){padding:10px 0;margin:0}.mui-grid-view.mui-grid-9 .mui-media{color:#797979}.mui-grid-view.mui-grid-9 .mui-media .mui-icon{position:relative;font-size:2.4em}.mui-slider-cell{position:relative}.mui-slider-cell>.mui-slider-handle{z-index:1}.mui-slider-cell>.mui-slider-left,.mui-slider-cell>.mui-slider-right{position:absolute;top:0;bottom:0;z-index:0}.mui-slider-cell>.mui-slider-left{left:0}.mui-slider-cell>.mui-slider-right{right:0}input,select,textarea{font-family:"Helvetica Neue",Helvetica,sans-serif;font-size:17px;-webkit-tap-highlight-color:transparent;-webkit-tap-highlight-color:transparent}input:focus,select:focus,textarea:focus{-webkit-tap-highlight-color:transparent;-webkit-tap-highlight-color:transparent;-webkit-user-modify:read-write-plaintext-only}input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{width:100%;height:40px;-webkit-appearance:none;padding:10px 15px;margin-bottom:15px;line-height:21px;-webkit-user-select:text;background-color:#fff;border:1px solid rgba(0,0,0,.2);border-radius:3px;outline:0}input[type=number]::-webkit-outer-spin-button{margin:0}input[type=search]{height:34px;-webkit-box-sizing:border-box;box-sizing:border-box;font-size:16px;text-align:center;background-color:rgba(0,0,0,.1);border:0;border-radius:6px}input[type=search]:focus{text-align:left}textarea{height:auto;resize:none}select{height:auto;margin-top:1px;font-size:14px;background-color:#fff;border:0!important}select:focus{-webkit-user-modify:read-only}.mui-input-group{position:relative;padding:0;background-color:#fff;border:0}.mui-input-group:after{position:absolute;right:0;bottom:0;left:0;height:1px;content:'';background-color:#c8c7cc;-webkit-transform:scaleY(.5);transform:scaleY(.5)}.mui-input-group:before{position:absolute;top:0;right:0;left:0;height:1px;content:'';background-color:#c8c7cc;-webkit-transform:scaleY(.5);transform:scaleY(.5)}.mui-input-group input[type=text],.mui-input-group textarea{margin-bottom:0;background-color:transparent;border:0;border-radius:0;-webkit-box-shadow:none;box-shadow:none}.mui-input-group input[type=text]:after,.mui-input-group textarea:after{position:absolute;right:0;bottom:0;left:15px;height:1px;content:'';background-color:#c8c7cc;-webkit-transform:scaleY(.5);transform:scaleY(.5)}.mui-input-group input[type=search]{background:0 0}.mui-input-group input:last-child{background-image:none}.mui-input-row{overflow:hidden;clear:left}.mui-input-row select{height:37px;padding:0;font-size:17px}.mui-input-row .mui-btn+input,.mui-input-row label+input,.mui-input-row:last-child{background-image:none}.mui-input-group .mui-input-row{height:40px}.mui-input-group .mui-input-row:after{position:absolute;right:0;bottom:0;left:15px;height:1px;content:'';background-color:#c8c7cc;-webkit-transform:scaleY(.5);transform:scaleY(.5)}.mui-input-row label{float:left;width:35%;padding:10px 15px;font-family:"Helvetica Neue",Helvetica,sans-serif;line-height:1.1}.mui-input-row label~input,.mui-input-row label~select,.mui-input-row label~textarea{float:right;width:65%;padding-left:0;margin-bottom:0;border:0}.mui-input-row .mui-btn{float:right;width:15%;padding:10px 15px;font-family:"Helvetica Neue",Helvetica,sans-serif;line-height:1.1}.mui-input-row .mui-btn~input,.mui-input-row .mui-btn~select,.mui-input-row .mui-btn~textarea{float:left;width:85%;padding-left:0;margin-bottom:0;border:0}.mui-button-row{position:relative;padding-top:5px;text-align:center}.mui-input-group .mui-button-row{height:45px}.mui-input-row{position:relative}.mui-input-row.mui-input-range{padding-right:20px;overflow:visible}.mui-input-row .mui-inline{padding:8px 0}.mui-input-row .mui-input-clear~.mui-icon-clear,.mui-input-row .mui-input-speech~.mui-icon-speech{position:absolute;top:10px;right:0;z-index:1;width:38px;height:38px;font-size:20px;color:#999;text-align:center}.mui-input-row .mui-input-speech~.mui-icon-speech{top:8px;font-size:24px}.mui-input-row .mui-input-clear~.mui-icon-clear~.mui-icon-speech{display:none}.mui-input-row .mui-input-clear~.mui-icon-clear.mui-hidden~.mui-icon-speech{display:inline-block}.mui-input-row .mui-icon-speech~.mui-placeholder{right:38px}.mui-input-row.mui-search .mui-icon-clear{top:7px}.mui-input-row.mui-search .mui-icon-speech{top:5px}.mui-checkbox,.mui-radio{position:relative}.mui-checkbox label,.mui-radio label{display:inline-block;float:none;width:100%}.mui-checkbox.mui-left input[type=checkbox],.mui-radio.mui-left input[type=radio]{left:20px}.mui-checkbox.mui-left label,.mui-radio.mui-left label{padding-left:58px}.mui-checkbox input[type=checkbox],.mui-radio input[type=radio]{position:absolute;top:4px;right:20px;display:inline-block;width:28px;height:26px;-webkit-appearance:none;background-color:transparent;border:0;outline:0!important}.mui-checkbox input[type=checkbox]:before,.mui-radio input[type=radio]:before{font-family:Muiicons;font-size:28px;font-weight:400;line-height:1;color:rgba(170,170,170,.6);text-decoration:none;background:0 0;border-radius:0;-webkit-font-smoothing:antialiased}.mui-checkbox input[type=checkbox]:checked:before,.mui-radio input[type=radio]:checked:before{color:#007aff}.mui-radio input[type=radio]:before{content:"\e411"}.mui-radio input[type=radio]:checked:before{content:"\e441"}.mui-checkbox input[type=checkbox]:before{content:"\e411"}.mui-checkbox input[type=checkbox]:checked:before{content:"\e442"}.mui-select{position:relative}.mui-select:before{position:absolute;top:8px;right:21px;font-family:Muiicons;color:rgba(170,170,170,.6);content:'\e581'}.mui-input-row .mui-switch{float:right;margin-top:5px;margin-right:20px}.mui-input-range input[type=range]{position:relative;width:100%;height:2px;-webkit-appearance:none!important;padding:0;margin:17px 0;cursor:pointer;background-color:#999;border:0;border-radius:3px;outline:0}.mui-input-range input[type=range]::-webkit-slider-thumb{width:28px;height:28px;-webkit-appearance:none!important;background-color:#007aff;background-clip:padding-box;border-color:#0062cc;border-radius:50%}.mui-input-range label~input[type=range]{width:65%}.mui-input-range .mui-tooltip{position:absolute;top:-70px;z-index:1;width:64px;height:64px;font-size:36px;line-height:64px;color:#333;text-align:center;text-shadow:0 1px 0 #f3f3f3;background-color:#fff;border:1px solid #ddd;border-radius:6px;opacity:.8}.mui-search{position:relative}.mui-search input[type=search]{padding-left:30px}.mui-search .mui-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:inline-block;height:34px;font-size:16px;line-height:34px;color:#999;text-align:center;background:0 0;border:0;border-radius:6px}.mui-search .mui-placeholder .mui-icon{font-size:20px;color:#333}.mui-search:before{position:absolute;top:50%;right:50%;display:none;margin-top:-18px;margin-right:31px;font-family:Muiicons;font-size:20px;font-weight:400;content:'\e466'}.mui-search.mui-active:before{right:auto;left:5px;display:block;margin-right:0;font-size:20px}.mui-search.mui-active input[type=search]{text-align:left}.mui-search.mui-active .mui-placeholder{display:none}.mui-segmented-control{position:relative;display:table;width:100%;overflow:hidden;font-size:15px;font-weight:400;table-layout:fixed;background-color:transparent;border:1px solid #007aff;border-radius:3px;-webkit-touch-callout:none}.mui-segmented-control.mui-scroll-wrapper{height:38px}.mui-segmented-control.mui-scroll-wrapper .mui-scroll{width:auto;height:40px;white-space:nowrap}.mui-segmented-control.mui-scroll-wrapper .mui-control-item{display:inline-block;width:auto;padding:0 20px;border:0}.mui-segmented-control .mui-control-item{display:table-cell;width:1%;overflow:hidden;line-height:38px;color:#007aff;text-align:center;text-overflow:ellipsis;white-space:nowrap;border-color:#007aff;border-left:1px solid #007aff;-webkit-transition:background-color .1s linear;transition:background-color .1s linear}.mui-segmented-control .mui-control-item:first-child{border-left-width:0}.mui-segmented-control .mui-control-item.mui-active{color:#fff;background-color:#007aff}.mui-segmented-control.mui-segmented-control-inverted{width:100%;border:0;border-radius:0}.mui-segmented-control.mui-segmented-control-inverted .mui-control-item{color:inherit;border:0}.mui-segmented-control.mui-segmented-control-inverted .mui-control-item.mui-active{color:#007aff;background:0 0;border-bottom:2px solid #007aff}.mui-segmented-control.mui-segmented-control-inverted~.mui-slider-progress-bar{background-color:#007aff}.mui-segmented-control-positive{border:1px solid #4cd964}.mui-segmented-control-positive .mui-control-item{color:#4cd964;border-color:inherit}.mui-segmented-control-positive .mui-control-item.mui-active{color:#fff;background-color:#4cd964}.mui-segmented-control-positive.mui-segmented-control-inverted .mui-control-item.mui-active{color:#4cd964;background:0 0;border-bottom:2px solid #4cd964}.mui-segmented-control-positive.mui-segmented-control-inverted~.mui-slider-progress-bar{background-color:#4cd964}.mui-segmented-control-negative{border:1px solid #dd524d}.mui-segmented-control-negative .mui-control-item{color:#dd524d;border-color:inherit}.mui-segmented-control-negative .mui-control-item.mui-active{color:#fff;background-color:#dd524d}.mui-segmented-control-negative.mui-segmented-control-inverted .mui-control-item.mui-active{color:#dd524d;background:0 0;border-bottom:2px solid #dd524d}.mui-segmented-control-negative.mui-segmented-control-inverted~.mui-slider-progress-bar{background-color:#dd524d}.mui-control-content{position:relative;display:none}.mui-control-content.mui-active{display:block}.mui-popover{position:absolute;z-index:999;display:none;width:280px;background-color:rgba(247,247,247,.98);border-radius:7px;-webkit-box-shadow:0 0 15px rgba(0,0,0,.1);box-shadow:0 0 15px rgba(0,0,0,.1);opacity:0;-webkit-transition:opacity .3s;transition:opacity .3s;-webkit-transition-property:opacity;transition-property:opacity;-webkit-transform:none;transform:none}.mui-popover .mui-popover-arrow{position:absolute;top:-25px;left:0;z-index:1000;width:26px;height:26px;overflow:hidden}.mui-popover .mui-popover-arrow:after{position:absolute;top:19px;left:0;width:26px;height:26px;content:' ';background:rgba(247,247,247,.98);border-radius:3px;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.mui-popover .mui-popover-arrow.mui-bottom{top:100%;left:-26px;margin-top:-1px}.mui-popover .mui-popover-arrow.mui-bottom:after{top:-19px;left:0}.mui-popover.mui-popover-action{bottom:0;width:100%;background:0 0;border-radius:0;-webkit-box-shadow:none;box-shadow:none;-webkit-transition:-webkit-transform .3s,opacity .3s;transition:transform .3s,opacity .3s;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}.mui-popover.mui-popover-action .mui-popover-arrow{display:none}.mui-popover.mui-popover-action.mui-active{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.mui-popover.mui-popover-action .mui-table-view{margin:8px;color:#007aff;text-align:center;border-radius:4px}.mui-popover.mui-popover-action .mui-table-view .mui-table-view-cell:after{position:absolute;right:0;bottom:0;left:0;height:1px;content:'';background-color:#c8c7cc;-webkit-transform:scaleY(.5);transform:scaleY(.5)}.mui-popover.mui-popover-action .mui-table-view small{display:block;font-weight:400;line-height:1.3}.mui-popover.mui-active{display:block;opacity:1}.mui-popover .mui-bar~.mui-table-view{padding-top:44px}.mui-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:998;background-color:rgba(0,0,0,.3)}.mui-bar-backdrop.mui-backdrop{bottom:50px;background:0 0}.mui-backdrop-action.mui-backdrop{background-color:rgba(0,0,0,.3)}.mui-backdrop-action.mui-backdrop,.mui-bar-backdrop.mui-backdrop{opacity:0}.mui-backdrop-action.mui-backdrop.mui-active,.mui-bar-backdrop.mui-backdrop.mui-active{opacity:1;-webkit-transition:all .4s ease;transition:all .4s ease}.mui-popover .mui-btn-block{margin-bottom:5px}.mui-popover .mui-btn-block:last-child{margin-bottom:0}.mui-popover .mui-bar{-webkit-box-shadow:none;box-shadow:none}.mui-popover .mui-bar-nav{border-bottom:1px solid rgba(0,0,0,.15);border-top-left-radius:12px;border-top-right-radius:12px;-webkit-box-shadow:none;box-shadow:none}.mui-popover .mui-scroll-wrapper{margin:7px 0;background-clip:padding-box;border-radius:7px}.mui-popover .mui-scroll .mui-table-view{max-height:none}.mui-popover .mui-table-view{max-height:300px;margin-bottom:0;overflow:auto;-webkit-overflow-scrolling:touch;background-color:rgba(247,247,247,.98);background-image:none;border-radius:7px}.mui-popover .mui-table-view:after,.mui-popover .mui-table-view:before{height:0}.mui-popover .mui-table-view .mui-table-view-cell:first-child,.mui-popover .mui-table-view .mui-table-view-cell:first-child>a:not(.mui-btn){border-top-left-radius:12px;border-top-right-radius:12px}.mui-popover .mui-table-view .mui-table-view-cell:last-child,.mui-popover .mui-table-view .mui-table-view-cell:last-child>a:not(.mui-btn){border-bottom-right-radius:12px;border-bottom-left-radius:12px}.mui-popover.mui-bar-popover .mui-table-view{width:106px}.mui-popover.mui-bar-popover .mui-table-view .mui-table-view-cell{padding:11px 15px;background-position:0 100%}.mui-popover.mui-bar-popover .mui-table-view .mui-table-view-cell>a:not(.mui-btn){margin:-11px -15px -11px -15px}.mui-pagination{display:inline-block;padding-left:0;margin:0 auto;border-radius:6px}.mui-pagination>li{display:inline}.mui-pagination>li>a,.mui-pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.428571429;color:#007aff;text-decoration:none;background-color:#fff;border:1px solid #ddd}.mui-pagination>li:first-child>a,.mui-pagination>li:first-child>span{margin-left:0;background-clip:padding-box;border-top-left-radius:6px;border-bottom-left-radius:6px}.mui-pagination>li:last-child>a,.mui-pagination>li:last-child>span{background-clip:padding-box;border-top-right-radius:6px;border-bottom-right-radius:6px}.mui-pagination>li.mui-active>a,.mui-pagination>li.mui-active>a:active,.mui-pagination>li.mui-active>span,.mui-pagination>li.mui-active>span:active,.mui-pagination>li:active>a,.mui-pagination>li:active>a:active,.mui-pagination>li:active>span,.mui-pagination>li:active>span:active{z-index:2;color:#fff;cursor:default;background-color:#007aff;border-color:#007aff}.mui-pagination>li.mui-disabled>a,.mui-pagination>li.mui-disabled>a:active,.mui-pagination>li.mui-disabled>span,.mui-pagination>li.mui-disabled>span:active{color:#777;background-color:#fff;border:1px solid #ddd;opacity:.6}.mui-pagination-lg>li>a,.mui-pagination-lg>li>span{padding:10px 16px;font-size:18px}.mui-pagination-sm>li>a,.mui-pagination-sm>li>span{padding:5px 10px;font-size:12px}.mui-pager{padding-left:0;text-align:center;list-style:none}.mui-pager:after,.mui-pager:before{display:table;content:" "}.mui-pager:after{clear:both}.mui-pager li{display:inline}.mui-pager li>a,.mui-pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;background-clip:padding-box;border:1px solid #ddd;border-radius:6px}.mui-pager li.mui-active>a,.mui-pager li.mui-active>span,.mui-pager li:active>a,.mui-pager li:active>span{color:#fff;text-decoration:none;cursor:default;background-color:#007aff;border-color:#007aff}.mui-pager .mui-next>a,.mui-pager .mui-next>span{float:right}.mui-pager .mui-previous>a,.mui-pager .mui-previous>span{float:left}.mui-pager .mui-disabled>a,.mui-pager .mui-disabled>a:active,.mui-pager .mui-disabled>span,.mui-pager .mui-disabled>span:active{color:#777;background-color:#fff;border:1px solid #ddd;opacity:.6}.mui-modal{position:fixed;top:0;z-index:999;width:100%;min-height:100%;overflow:hidden;background-color:#fff;opacity:0;-webkit-transition:-webkit-transform .25s,opacity 1ms .25s;transition:transform .25s,opacity 1ms .25s;-webkit-transition-timing-function:cubic-bezier(.1,.5,.1,1);transition-timing-function:cubic-bezier(.1,.5,.1,1);-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}.mui-modal.mui-active{height:100%;opacity:1;-webkit-transition:-webkit-transform .25s;transition:transform .25s;-webkit-transition-timing-function:cubic-bezier(.1,.5,.1,1);transition-timing-function:cubic-bezier(.1,.5,.1,1);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.mui-android .mui-modal .mui-bar{position:static}.mui-android .mui-modal .mui-bar-nav~.mui-content{padding-top:0}.mui-slider{position:relative;width:100%;overflow:hidden}.mui-slider .mui-segmented-control.mui-segmented-control-inverted .mui-control-item.mui-active{border-bottom:0}.mui-slider .mui-segmented-control.mui-segmented-control-inverted~.mui-slider-group .mui-slider-item{border-top:1px solid #c8c7cc;border-bottom:1px solid #c8c7cc}.mui-slider .mui-slider-group{position:relative;font-size:0;white-space:nowrap;-webkit-transition:all 0s linear;transition:all 0s linear}.mui-slider .mui-slider-group .mui-slider-item{position:relative;display:inline-block;width:100%;height:100%;font-size:14px;vertical-align:top}.mui-slider .mui-slider-group .mui-slider-item>a:not(.mui-control-item){position:relative;display:block;line-height:0}.mui-slider .mui-slider-group .mui-slider-item img{width:100%}.mui-slider .mui-slider-group .mui-slider-item .mui-table-view:after,.mui-slider .mui-slider-group .mui-slider-item .mui-table-view:before{height:0}.mui-slider .mui-slider-group.mui-slider-loop{-webkit-transform:translate(-100%,0);transform:translate(-100%,0)}.mui-slider-title{position:absolute;bottom:0;left:0;width:100%;height:30px;margin:0;line-height:30px;text-align:left;text-indent:12px;background-color:#000;opacity:.8}.mui-slider-indicator{position:absolute;bottom:8px;width:100%;text-align:center;background:0 0}.mui-slider-indicator.mui-segmented-control{position:relative;bottom:auto}.mui-slider-indicator .mui-indicator{display:inline-block;width:6px;height:6px;margin:1px 6px;cursor:pointer;background:#aaa;border-radius:50%;-webkit-box-shadow:0 0 1px 1px rgba(130,130,130,.7);box-shadow:0 0 1px 1px rgba(130,130,130,.7)}.mui-slider-indicator .mui-active.mui-indicator{background:#fff}.mui-slider-indicator .mui-icon{width:40px;height:30px;margin:3px;font-size:20px;line-height:30px;text-align:center;border:1px solid #ddd}.mui-slider-indicator .mui-number{display:inline-block;width:58px;line-height:32px}.mui-slider-indicator .mui-number span{color:#ff5053}.mui-slider-progress-bar{z-index:1;height:2px;-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-backface-visibility:hidden}.mui-switch{position:relative;display:block;width:74px;height:30px;background-color:#fff;background-clip:padding-box;border:2px solid #ddd;border-radius:20px;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out;-webkit-transition-duration:.2s;transition-duration:.2s;-webkit-transition-property:background-color,border;transition-property:background-color,border}.mui-switch .mui-switch-handle{position:absolute;top:-1px;left:-1px;z-index:1;width:28px;height:28px;background-color:#fff;background-clip:padding-box;border-radius:16px;-webkit-box-shadow:0 2px 5px rgba(0,0,0,.4);box-shadow:0 2px 5px rgba(0,0,0,.4);-webkit-transition:.2s ease-in-out;transition:.2s ease-in-out;-webkit-transition-property:-webkit-transform,width,left;transition-property:transform,width,left}.mui-switch:before{position:absolute;top:3px;right:11px;font-size:13px;color:#999;text-transform:uppercase;content:"Off"}.mui-switch.mui-dragging{background-color:rgba(247,247,247,.98);border-color:rgba(247,247,247,.98)}.mui-switch.mui-dragging .mui-switch-handle{width:38px}.mui-switch.mui-dragging.mui-active .mui-switch-handle{left:-11px;width:38px}.mui-switch.mui-active{background-color:#4cd964;border-color:#4cd964}.mui-switch.mui-active .mui-switch-handle{-webkit-transform:translate3d(43px,0,0);transform:translate3d(43px,0,0)}.mui-switch.mui-active:before{right:auto;left:15px;color:#fff;content:"On"}.mui-switch input[type=checkbox]{display:none}.mui-switch-mini{width:47px}.mui-switch-mini:before{display:none}.mui-switch-mini.mui-active .mui-switch-handle{-webkit-transform:translate3d(16px,0,0);transform:translate3d(16px,0,0)}.mui-switch-blue.mui-active{background-color:#007aff;border:2px solid #007aff}.mui-content.mui-fade{left:0;opacity:0}.mui-content.mui-fade.mui-in{opacity:1}.mui-content.mui-sliding{z-index:2;-webkit-transition:-webkit-transform .4s;transition:transform .4s;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.mui-content.mui-sliding.mui-left{z-index:1;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.mui-content.mui-sliding.mui-right{z-index:3;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.mui-navigate-left:after,.mui-navigate-right:after,.mui-push-left:after,.mui-push-right:after{position:absolute;top:50%;display:inline-block;font-family:Muiicons;font-size:inherit;line-height:1;color:#bbb;text-decoration:none;-webkit-transform:translateY(-50%);transform:translateY(-50%);-webkit-font-smoothing:antialiased}.mui-navigate-left:after,.mui-push-left:after{left:15px;content:'\e582'}.mui-navigate-right:after,.mui-push-right:after{right:15px;content:'\e583'}.mui-pull-bottom-pocket,.mui-pull-top-pocket{position:absolute;left:0;display:block;width:100%;height:50px;overflow:hidden;visibility:hidden}.mui-plus-pullrefresh .mui-pull-bottom-pocket,.mui-plus-pullrefresh .mui-pull-top-pocket{display:none;visibility:visible}.mui-pull-top-pocket{top:0}.mui-bar-nav~.mui-content .mui-pull-top-pocket{top:44px}.mui-pull-bottom-pocket{position:relative;bottom:0;height:40px}.mui-pull-bottom-pocket .mui-pull-loading{visibility:hidden}.mui-pull-bottom-pocket .mui-pull-loading.mui-in{display:inline-block}.mui-pull{position:absolute;right:0;bottom:10px;left:0;font-weight:700;color:#777;text-align:center}.mui-pull-loading{margin-right:10px;vertical-align:middle;-webkit-transition:-webkit-transform .4s;transition:transform .4s;-webkit-transition-duration:400ms;transition-duration:400ms;-webkit-backface-visibility:hidden}.mui-pull-loading.mui-reverse{-webkit-transform:rotate(180deg) translateZ(0);transform:rotate(180deg) translateZ(0)}.mui-pull-caption{position:relative;display:inline-block;margin-top:0;overflow:visible;font-size:15px;line-height:24px;vertical-align:middle}.mui-pull-caption span{display:none}.mui-pull-caption span.mui-in{display:inline}.mui-toast-container{position:fixed;bottom:50px;z-index:9999;width:100%}.mui-toast-message{width:270px;padding:5px;margin:5px auto;font-size:14px;color:#000;text-align:center;background-color:#d8d8d8;border-radius:7px}@font-face{font-family:Muiicons;font-style:normal;font-weight:400;src:url(../fonts/mui.ttf) format("truetype")}.mui-icon{display:inline-block;font-family:Muiicons;font-size:24px;font-style:normal;font-weight:400;line-height:1;text-decoration:none;-webkit-font-smoothing:antialiased}.mui-icon.mui-right:before{float:right;padding-left:.2em}.mui-icon-contact:before{content:"\e100"}.mui-icon-person:before{content:"\e101"}.mui-icon-personadd:before{content:"\e102"}.mui-icon-contact-filled:before{content:"\e130"}.mui-icon-person-filled:before{content:"\e131"}.mui-icon-personadd-filled:before{content:"\e132"}.mui-icon-phone:before{content:"\e200"}.mui-icon-email:before{content:"\e201"}.mui-icon-chatbubble:before{content:"\e202"}.mui-icon-chatboxes:before{content:"\e203"}.mui-icon-phone-filled:before{content:"\e230"}.mui-icon-email-filled:before{content:"\e231"}.mui-icon-chatbubble-filled:before{content:"\e232"}.mui-icon-chatboxes-filled:before{content:"\e233"}.mui-icon-weibo:before{content:"\e260"}.mui-icon-weixin:before{content:"\e261"}.mui-icon-pengyouquan:before{content:"\e262"}.mui-icon-chat:before{content:"\e263"}.mui-icon-videocam:before{content:"\e300"}.mui-icon-camera:before{content:"\e301"}.mui-icon-mic:before{content:"\e302"}.mui-icon-location:before{content:"\e303"}.mui-icon-mic-filled:before,.mui-icon-speech:before{content:"\e332"}.mui-icon-location-filled:before{content:"\e333"}.mui-icon-micoff:before{content:"\e360"}.mui-icon-image:before{content:"\e363"}.mui-icon-map:before{content:"\e364"}.mui-icon-compose:before{content:"\e400"}.mui-icon-trash:before{content:"\e401"}.mui-icon-upload:before{content:"\e402"}.mui-icon-download:before{content:"\e403"}.mui-icon-close:before{content:"\e404"}.mui-icon-redo:before{content:"\e405"}.mui-icon-undo:before{content:"\e406"}.mui-icon-refresh:before{content:"\e407"}.mui-icon-star:before{content:"\e408"}.mui-icon-plus:before{content:"\e409"}.mui-icon-minus:before{content:"\e410"}.mui-icon-checkbox:before,.mui-icon-circle:before{content:"\e411"}.mui-icon-clear:before,.mui-icon-close-filled:before{content:"\e434"}.mui-icon-refresh-filled:before{content:"\e437"}.mui-icon-star-filled:before{content:"\e438"}.mui-icon-plus-filled:before{content:"\e439"}.mui-icon-minus-filled:before{content:"\e440"}.mui-icon-circle-filled:before{content:"\e441"}.mui-icon-checkbox-filled:before{content:"\e442"}.mui-icon-closeempty:before{content:"\e460"}.mui-icon-refreshempty:before{content:"\e461"}.mui-icon-reload:before{content:"\e462"}.mui-icon-starhalf:before{content:"\e463"}.mui-icon-spinner:before{content:"\e464"}.mui-icon-spinner-cycle:before{content:"\e465"}.mui-icon-search:before{content:"\e466"}.mui-icon-plusempty:before{content:"\e468"}.mui-icon-forward:before{content:"\e470"}.mui-icon-back:before,.mui-icon-left-nav:before{content:"\e471"}.mui-icon-checkmarkempty:before{content:"\e472"}.mui-icon-home:before{content:"\e500"}.mui-icon-navigate:before{content:"\e501"}.mui-icon-gear:before{content:"\e502"}.mui-icon-paperplane:before{content:"\e503"}.mui-icon-info:before{content:"\e504"}.mui-icon-help:before{content:"\e505"}.mui-icon-locked:before{content:"\e506"}.mui-icon-more:before{content:"\e507"}.mui-icon-flag:before{content:"\e508"}.mui-icon-home-filled:before{content:"\e530"}.mui-icon-gear-filled:before{content:"\e532"}.mui-icon-info-filled:before{content:"\e534"}.mui-icon-help-filled:before{content:"\e535"}.mui-icon-more-filled:before{content:"\e537"}.mui-icon-settings:before{content:"\e560"}.mui-icon-list:before{content:"\e562"}.mui-icon-bars:before{content:"\e563"}.mui-icon-loop:before{content:"\e565"}.mui-icon-paperclip:before{content:"\e567"}.mui-icon-arrowup:before{content:"\e580"}.mui-icon-arrowdown:before{content:"\e581"}.mui-icon-arrowleft:before{content:"\e582"}.mui-icon-arrowright:before{content:"\e583"}.mui-icon-arrowthinup:before{content:"\e584"}.mui-icon-arrowthindown:before{content:"\e585"}.mui-icon-arrowthinleft:before{content:"\e586"}.mui-icon-arrowthinright:before{content:"\e587"}.mui-icon-pulldown:before{content:"\e588"}.mui-fullscreen{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.mui-fullscreen .mui-slider-group{height:100%}.mui-fullscreen .mui-segmented-control~.mui-slider-group{position:absolute;top:40px;bottom:0;width:100%;height:auto}.mui-fullscreen .mui-slider-item>a{top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.mui-bar-tab~.mui-content .mui-slider.mui-fullscreen .mui-segmented-control~.mui-slider-group{bottom:50px} \ No newline at end of file diff --git a/36Kr/detail.html b/36Kr/detail.html new file mode 100644 index 0000000..11c27da --- /dev/null +++ b/36Kr/detail.html @@ -0,0 +1,168 @@ + + + + + + 36氪 - 文章详情 + + + + + + + + + + +
+ +
+   +
+
+
+
+
+ +
+
+ +

+
+
+ +
+ +
+
+
+
加载中...
+ + + + + + + + \ No newline at end of file diff --git a/36Kr/detail_main.html b/36Kr/detail_main.html new file mode 100644 index 0000000..b4d0208 --- /dev/null +++ b/36Kr/detail_main.html @@ -0,0 +1,77 @@ + + + + + + 36氪 - 文章详情 + + + + + + + + + + +
+ +
+   +
+
+ + + + + + \ No newline at end of file diff --git a/36Kr/fonts/mui.ttf b/36Kr/fonts/mui.ttf new file mode 100644 index 0000000..eced387 Binary files /dev/null and b/36Kr/fonts/mui.ttf differ diff --git a/36Kr/img/36kr.png b/36Kr/img/36kr.png new file mode 100644 index 0000000..9ea380a Binary files /dev/null and b/36Kr/img/36kr.png differ diff --git a/36Kr/img/36kr_2x.png b/36Kr/img/36kr_2x.png new file mode 100644 index 0000000..2ef1c1a Binary files /dev/null and b/36Kr/img/36kr_2x.png differ diff --git a/36Kr/img/bg.png b/36Kr/img/bg.png new file mode 100644 index 0000000..0f1eb84 Binary files /dev/null and b/36Kr/img/bg.png differ diff --git a/36Kr/img/blank.jpg b/36Kr/img/blank.jpg new file mode 100644 index 0000000..24e44ff Binary files /dev/null and b/36Kr/img/blank.jpg differ diff --git a/36Kr/img/blank_big.jpg b/36Kr/img/blank_big.jpg new file mode 100644 index 0000000..fc82d81 Binary files /dev/null and b/36Kr/img/blank_big.jpg differ diff --git a/36Kr/index.html b/36Kr/index.html new file mode 100644 index 0000000..09846a5 --- /dev/null +++ b/36Kr/index.html @@ -0,0 +1,101 @@ + + + + + + 36氪 | 关注互联网创业 + + + + + + + + + + + +
+

+ +
+
+ + + + + + \ No newline at end of file diff --git a/36Kr/js/app.js b/36Kr/js/app.js new file mode 100644 index 0000000..0c2b26c --- /dev/null +++ b/36Kr/js/app.js @@ -0,0 +1,8 @@ +(function($) { + $.ready(function() { + $('body').on('click', 'a', function(e) { + e.preventDefault(); + }); + }); + window.kr = {}; +})(mui); \ No newline at end of file diff --git a/36Kr/js/feed.js b/36Kr/js/feed.js new file mode 100644 index 0000000..c6db68b --- /dev/null +++ b/36Kr/js/feed.js @@ -0,0 +1,71 @@ +(function($) { + //暂时无用 + var getNodeValue = function(xmlObj, tagName) { + var value = ""; + var nodes = xmlObj.getElementsByTagName(tagName); + if (nodes && nodes.length) { + var childNodes = nodes[0].childNodes; + if (childNodes) { + var childNode = childNodes[0]; + if (childNode) { + value = childNode.nodeValue; + } + } + } + return value; + }; + var parseFeed = function(xmlObj) { + var feed = { + title: '', + link: '', + pubDate: '', + description: '', + language: '', + items: [] + }; + if (xmlObj) { + feed.title = getNodeValue(xmlObj, "title"); + feed.link = getNodeValue(xmlObj, "link"); + feed.pubDate = getNodeValue(xmlObj, "pubDate"); + feed.description = getNodeValue(xmlObj, "description"); + feed.language = getNodeValue(xmlObj, "language"); + var itemsXml = xmlObj.getElementsByTagName('item'); + var items = []; + var itemXml = {}; + var item = {}; + for (var i = 0, len = itemsXml.length; i < len; i++) { + itemXml = itemsXml[i]; + item = { + title: '', + author: '', + pubDate: '', + link: '', + guid: '', + description: '' + }; + if (itemXml) { + item.title = getNodeValue(itemXml, "title"); + item.author = getNodeValue(itemXml, "author"); + item.pubDate = getNodeValue(itemXml, "pubDate"); + item.link = getNodeValue(itemXml, "link"); + item.guid = getNodeValue(itemXml, "guid"); + item.description = getNodeValue(itemXml, "description"); + } + items.push(item); + } + feed.items = items; + } + return feed; + }; + $.getFeed = function(url, success, error) { + $.ajax({ + type: "get", + url: url, + dataType: 'xml', + success: function(response) { + success(parseFeed(response)); + }, + error: error || $.noop + }); + }; +})(mui); \ No newline at end of file diff --git a/36Kr/js/handlebars-v2.0.0.js b/36Kr/js/handlebars-v2.0.0.js new file mode 100644 index 0000000..f826bbf --- /dev/null +++ b/36Kr/js/handlebars-v2.0.0.js @@ -0,0 +1,3079 @@ +/*! + + handlebars v2.0.0 + +Copyright (C) 2011-2014 by Yehuda Katz + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +@license +*/ +/* exported Handlebars */ +(function (root, factory) { + if (typeof define === 'function' && define.amd) { + define([], factory); + } else if (typeof exports === 'object') { + module.exports = factory(); + } else { + root.Handlebars = root.Handlebars || factory(); + } +}(this, function () { +// handlebars/safe-string.js +var __module4__ = (function() { + "use strict"; + var __exports__; + // Build out our basic SafeString type + function SafeString(string) { + this.string = string; + } + + SafeString.prototype.toString = function() { + return "" + this.string; + }; + + __exports__ = SafeString; + return __exports__; +})(); + +// handlebars/utils.js +var __module3__ = (function(__dependency1__) { + "use strict"; + var __exports__ = {}; + /*jshint -W004 */ + var SafeString = __dependency1__; + + var escape = { + "&": "&", + "<": "<", + ">": ">", + '"': """, + "'": "'", + "`": "`" + }; + + var badChars = /[&<>"'`]/g; + var possible = /[&<>"'`]/; + + function escapeChar(chr) { + return escape[chr]; + } + + function extend(obj /* , ...source */) { + for (var i = 1; i < arguments.length; i++) { + for (var key in arguments[i]) { + if (Object.prototype.hasOwnProperty.call(arguments[i], key)) { + obj[key] = arguments[i][key]; + } + } + } + + return obj; + } + + __exports__.extend = extend;var toString = Object.prototype.toString; + __exports__.toString = toString; + // Sourced from lodash + // https://github.com/bestiejs/lodash/blob/master/LICENSE.txt + var isFunction = function(value) { + return typeof value === 'function'; + }; + // fallback for older versions of Chrome and Safari + /* istanbul ignore next */ + if (isFunction(/x/)) { + isFunction = function(value) { + return typeof value === 'function' && toString.call(value) === '[object Function]'; + }; + } + var isFunction; + __exports__.isFunction = isFunction; + /* istanbul ignore next */ + var isArray = Array.isArray || function(value) { + return (value && typeof value === 'object') ? toString.call(value) === '[object Array]' : false; + }; + __exports__.isArray = isArray; + + function escapeExpression(string) { + // don't escape SafeStrings, since they're already safe + if (string instanceof SafeString) { + return string.toString(); + } else if (string == null) { + return ""; + } else if (!string) { + return string + ''; + } + + // Force a string conversion as this will be done by the append regardless and + // the regex test will do this transparently behind the scenes, causing issues if + // an object's to string has escaped characters in it. + string = "" + string; + + if(!possible.test(string)) { return string; } + return string.replace(badChars, escapeChar); + } + + __exports__.escapeExpression = escapeExpression;function isEmpty(value) { + if (!value && value !== 0) { + return true; + } else if (isArray(value) && value.length === 0) { + return true; + } else { + return false; + } + } + + __exports__.isEmpty = isEmpty;function appendContextPath(contextPath, id) { + return (contextPath ? contextPath + '.' : '') + id; + } + + __exports__.appendContextPath = appendContextPath; + return __exports__; +})(__module4__); + +// handlebars/exception.js +var __module5__ = (function() { + "use strict"; + var __exports__; + + var errorProps = ['description', 'fileName', 'lineNumber', 'message', 'name', 'number', 'stack']; + + function Exception(message, node) { + var line; + if (node && node.firstLine) { + line = node.firstLine; + + message += ' - ' + line + ':' + node.firstColumn; + } + + var tmp = Error.prototype.constructor.call(this, message); + + // Unfortunately errors are not enumerable in Chrome (at least), so `for prop in tmp` doesn't work. + for (var idx = 0; idx < errorProps.length; idx++) { + this[errorProps[idx]] = tmp[errorProps[idx]]; + } + + if (line) { + this.lineNumber = line; + this.column = node.firstColumn; + } + } + + Exception.prototype = new Error(); + + __exports__ = Exception; + return __exports__; +})(); + +// handlebars/base.js +var __module2__ = (function(__dependency1__, __dependency2__) { + "use strict"; + var __exports__ = {}; + var Utils = __dependency1__; + var Exception = __dependency2__; + + var VERSION = "2.0.0"; + __exports__.VERSION = VERSION;var COMPILER_REVISION = 6; + __exports__.COMPILER_REVISION = COMPILER_REVISION; + var REVISION_CHANGES = { + 1: '<= 1.0.rc.2', // 1.0.rc.2 is actually rev2 but doesn't report it + 2: '== 1.0.0-rc.3', + 3: '== 1.0.0-rc.4', + 4: '== 1.x.x', + 5: '== 2.0.0-alpha.x', + 6: '>= 2.0.0-beta.1' + }; + __exports__.REVISION_CHANGES = REVISION_CHANGES; + var isArray = Utils.isArray, + isFunction = Utils.isFunction, + toString = Utils.toString, + objectType = '[object Object]'; + + function HandlebarsEnvironment(helpers, partials) { + this.helpers = helpers || {}; + this.partials = partials || {}; + + registerDefaultHelpers(this); + } + + __exports__.HandlebarsEnvironment = HandlebarsEnvironment;HandlebarsEnvironment.prototype = { + constructor: HandlebarsEnvironment, + + logger: logger, + log: log, + + registerHelper: function(name, fn) { + if (toString.call(name) === objectType) { + if (fn) { throw new Exception('Arg not supported with multiple helpers'); } + Utils.extend(this.helpers, name); + } else { + this.helpers[name] = fn; + } + }, + unregisterHelper: function(name) { + delete this.helpers[name]; + }, + + registerPartial: function(name, partial) { + if (toString.call(name) === objectType) { + Utils.extend(this.partials, name); + } else { + this.partials[name] = partial; + } + }, + unregisterPartial: function(name) { + delete this.partials[name]; + } + }; + + function registerDefaultHelpers(instance) { + instance.registerHelper('helperMissing', function(/* [args, ]options */) { + if(arguments.length === 1) { + // A missing field in a {{foo}} constuct. + return undefined; + } else { + // Someone is actually trying to call something, blow up. + throw new Exception("Missing helper: '" + arguments[arguments.length-1].name + "'"); + } + }); + + instance.registerHelper('blockHelperMissing', function(context, options) { + var inverse = options.inverse, + fn = options.fn; + + if(context === true) { + return fn(this); + } else if(context === false || context == null) { + return inverse(this); + } else if (isArray(context)) { + if(context.length > 0) { + if (options.ids) { + options.ids = [options.name]; + } + + return instance.helpers.each(context, options); + } else { + return inverse(this); + } + } else { + if (options.data && options.ids) { + var data = createFrame(options.data); + data.contextPath = Utils.appendContextPath(options.data.contextPath, options.name); + options = {data: data}; + } + + return fn(context, options); + } + }); + + instance.registerHelper('each', function(context, options) { + if (!options) { + throw new Exception('Must pass iterator to #each'); + } + + var fn = options.fn, inverse = options.inverse; + var i = 0, ret = "", data; + + var contextPath; + if (options.data && options.ids) { + contextPath = Utils.appendContextPath(options.data.contextPath, options.ids[0]) + '.'; + } + + if (isFunction(context)) { context = context.call(this); } + + if (options.data) { + data = createFrame(options.data); + } + + if(context && typeof context === 'object') { + if (isArray(context)) { + for(var j = context.length; i 0) { + throw new Exception("Invalid path: " + original, this); + } else if (part === "..") { + depth++; + depthString += '../'; + } else { + this.isScoped = true; + } + } else { + dig.push(part); + } + } + + this.original = original; + this.parts = dig; + this.string = dig.join('.'); + this.depth = depth; + this.idName = depthString + this.string; + + // an ID is simple if it only has one part, and that part is not + // `..` or `this`. + this.isSimple = parts.length === 1 && !this.isScoped && depth === 0; + + this.stringModeValue = this.string; + }, + + PartialNameNode: function(name, locInfo) { + LocationInfo.call(this, locInfo); + this.type = "PARTIAL_NAME"; + this.name = name.original; + }, + + DataNode: function(id, locInfo) { + LocationInfo.call(this, locInfo); + this.type = "DATA"; + this.id = id; + this.stringModeValue = id.stringModeValue; + this.idName = '@' + id.stringModeValue; + }, + + StringNode: function(string, locInfo) { + LocationInfo.call(this, locInfo); + this.type = "STRING"; + this.original = + this.string = + this.stringModeValue = string; + }, + + NumberNode: function(number, locInfo) { + LocationInfo.call(this, locInfo); + this.type = "NUMBER"; + this.original = + this.number = number; + this.stringModeValue = Number(number); + }, + + BooleanNode: function(bool, locInfo) { + LocationInfo.call(this, locInfo); + this.type = "BOOLEAN"; + this.bool = bool; + this.stringModeValue = bool === "true"; + }, + + CommentNode: function(comment, locInfo) { + LocationInfo.call(this, locInfo); + this.type = "comment"; + this.comment = comment; + + this.strip = { + inlineStandalone: true + }; + } + }; + + + // Must be exported as an object rather than the root of the module as the jison lexer + // most modify the object to operate properly. + __exports__ = AST; + return __exports__; +})(__module5__); + +// handlebars/compiler/parser.js +var __module9__ = (function() { + "use strict"; + var __exports__; + /* jshint ignore:start */ + /* istanbul ignore next */ + /* Jison generated parser */ + var handlebars = (function(){ + var parser = {trace: function trace() { }, + yy: {}, + symbols_: {"error":2,"root":3,"program":4,"EOF":5,"program_repetition0":6,"statement":7,"mustache":8,"block":9,"rawBlock":10,"partial":11,"CONTENT":12,"COMMENT":13,"openRawBlock":14,"END_RAW_BLOCK":15,"OPEN_RAW_BLOCK":16,"sexpr":17,"CLOSE_RAW_BLOCK":18,"openBlock":19,"block_option0":20,"closeBlock":21,"openInverse":22,"block_option1":23,"OPEN_BLOCK":24,"CLOSE":25,"OPEN_INVERSE":26,"inverseAndProgram":27,"INVERSE":28,"OPEN_ENDBLOCK":29,"path":30,"OPEN":31,"OPEN_UNESCAPED":32,"CLOSE_UNESCAPED":33,"OPEN_PARTIAL":34,"partialName":35,"param":36,"partial_option0":37,"partial_option1":38,"sexpr_repetition0":39,"sexpr_option0":40,"dataName":41,"STRING":42,"NUMBER":43,"BOOLEAN":44,"OPEN_SEXPR":45,"CLOSE_SEXPR":46,"hash":47,"hash_repetition_plus0":48,"hashSegment":49,"ID":50,"EQUALS":51,"DATA":52,"pathSegments":53,"SEP":54,"$accept":0,"$end":1}, + terminals_: {2:"error",5:"EOF",12:"CONTENT",13:"COMMENT",15:"END_RAW_BLOCK",16:"OPEN_RAW_BLOCK",18:"CLOSE_RAW_BLOCK",24:"OPEN_BLOCK",25:"CLOSE",26:"OPEN_INVERSE",28:"INVERSE",29:"OPEN_ENDBLOCK",31:"OPEN",32:"OPEN_UNESCAPED",33:"CLOSE_UNESCAPED",34:"OPEN_PARTIAL",42:"STRING",43:"NUMBER",44:"BOOLEAN",45:"OPEN_SEXPR",46:"CLOSE_SEXPR",50:"ID",51:"EQUALS",52:"DATA",54:"SEP"}, + productions_: [0,[3,2],[4,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[10,3],[14,3],[9,4],[9,4],[19,3],[22,3],[27,2],[21,3],[8,3],[8,3],[11,5],[11,4],[17,3],[17,1],[36,1],[36,1],[36,1],[36,1],[36,1],[36,3],[47,1],[49,3],[35,1],[35,1],[35,1],[41,2],[30,1],[53,3],[53,1],[6,0],[6,2],[20,0],[20,1],[23,0],[23,1],[37,0],[37,1],[38,0],[38,1],[39,0],[39,2],[40,0],[40,1],[48,1],[48,2]], + performAction: function anonymous(yytext,yyleng,yylineno,yy,yystate,$$,_$) { + + var $0 = $$.length - 1; + switch (yystate) { + case 1: yy.prepareProgram($$[$0-1].statements, true); return $$[$0-1]; + break; + case 2:this.$ = new yy.ProgramNode(yy.prepareProgram($$[$0]), {}, this._$); + break; + case 3:this.$ = $$[$0]; + break; + case 4:this.$ = $$[$0]; + break; + case 5:this.$ = $$[$0]; + break; + case 6:this.$ = $$[$0]; + break; + case 7:this.$ = new yy.ContentNode($$[$0], this._$); + break; + case 8:this.$ = new yy.CommentNode($$[$0], this._$); + break; + case 9:this.$ = new yy.RawBlockNode($$[$0-2], $$[$0-1], $$[$0], this._$); + break; + case 10:this.$ = new yy.MustacheNode($$[$0-1], null, '', '', this._$); + break; + case 11:this.$ = yy.prepareBlock($$[$0-3], $$[$0-2], $$[$0-1], $$[$0], false, this._$); + break; + case 12:this.$ = yy.prepareBlock($$[$0-3], $$[$0-2], $$[$0-1], $$[$0], true, this._$); + break; + case 13:this.$ = new yy.MustacheNode($$[$0-1], null, $$[$0-2], yy.stripFlags($$[$0-2], $$[$0]), this._$); + break; + case 14:this.$ = new yy.MustacheNode($$[$0-1], null, $$[$0-2], yy.stripFlags($$[$0-2], $$[$0]), this._$); + break; + case 15:this.$ = { strip: yy.stripFlags($$[$0-1], $$[$0-1]), program: $$[$0] }; + break; + case 16:this.$ = {path: $$[$0-1], strip: yy.stripFlags($$[$0-2], $$[$0])}; + break; + case 17:this.$ = new yy.MustacheNode($$[$0-1], null, $$[$0-2], yy.stripFlags($$[$0-2], $$[$0]), this._$); + break; + case 18:this.$ = new yy.MustacheNode($$[$0-1], null, $$[$0-2], yy.stripFlags($$[$0-2], $$[$0]), this._$); + break; + case 19:this.$ = new yy.PartialNode($$[$0-3], $$[$0-2], $$[$0-1], yy.stripFlags($$[$0-4], $$[$0]), this._$); + break; + case 20:this.$ = new yy.PartialNode($$[$0-2], undefined, $$[$0-1], yy.stripFlags($$[$0-3], $$[$0]), this._$); + break; + case 21:this.$ = new yy.SexprNode([$$[$0-2]].concat($$[$0-1]), $$[$0], this._$); + break; + case 22:this.$ = new yy.SexprNode([$$[$0]], null, this._$); + break; + case 23:this.$ = $$[$0]; + break; + case 24:this.$ = new yy.StringNode($$[$0], this._$); + break; + case 25:this.$ = new yy.NumberNode($$[$0], this._$); + break; + case 26:this.$ = new yy.BooleanNode($$[$0], this._$); + break; + case 27:this.$ = $$[$0]; + break; + case 28:$$[$0-1].isHelper = true; this.$ = $$[$0-1]; + break; + case 29:this.$ = new yy.HashNode($$[$0], this._$); + break; + case 30:this.$ = [$$[$0-2], $$[$0]]; + break; + case 31:this.$ = new yy.PartialNameNode($$[$0], this._$); + break; + case 32:this.$ = new yy.PartialNameNode(new yy.StringNode($$[$0], this._$), this._$); + break; + case 33:this.$ = new yy.PartialNameNode(new yy.NumberNode($$[$0], this._$)); + break; + case 34:this.$ = new yy.DataNode($$[$0], this._$); + break; + case 35:this.$ = new yy.IdNode($$[$0], this._$); + break; + case 36: $$[$0-2].push({part: $$[$0], separator: $$[$0-1]}); this.$ = $$[$0-2]; + break; + case 37:this.$ = [{part: $$[$0]}]; + break; + case 38:this.$ = []; + break; + case 39:$$[$0-1].push($$[$0]); + break; + case 48:this.$ = []; + break; + case 49:$$[$0-1].push($$[$0]); + break; + case 52:this.$ = [$$[$0]]; + break; + case 53:$$[$0-1].push($$[$0]); + break; + } + }, + table: [{3:1,4:2,5:[2,38],6:3,12:[2,38],13:[2,38],16:[2,38],24:[2,38],26:[2,38],31:[2,38],32:[2,38],34:[2,38]},{1:[3]},{5:[1,4]},{5:[2,2],7:5,8:6,9:7,10:8,11:9,12:[1,10],13:[1,11],14:16,16:[1,20],19:14,22:15,24:[1,18],26:[1,19],28:[2,2],29:[2,2],31:[1,12],32:[1,13],34:[1,17]},{1:[2,1]},{5:[2,39],12:[2,39],13:[2,39],16:[2,39],24:[2,39],26:[2,39],28:[2,39],29:[2,39],31:[2,39],32:[2,39],34:[2,39]},{5:[2,3],12:[2,3],13:[2,3],16:[2,3],24:[2,3],26:[2,3],28:[2,3],29:[2,3],31:[2,3],32:[2,3],34:[2,3]},{5:[2,4],12:[2,4],13:[2,4],16:[2,4],24:[2,4],26:[2,4],28:[2,4],29:[2,4],31:[2,4],32:[2,4],34:[2,4]},{5:[2,5],12:[2,5],13:[2,5],16:[2,5],24:[2,5],26:[2,5],28:[2,5],29:[2,5],31:[2,5],32:[2,5],34:[2,5]},{5:[2,6],12:[2,6],13:[2,6],16:[2,6],24:[2,6],26:[2,6],28:[2,6],29:[2,6],31:[2,6],32:[2,6],34:[2,6]},{5:[2,7],12:[2,7],13:[2,7],16:[2,7],24:[2,7],26:[2,7],28:[2,7],29:[2,7],31:[2,7],32:[2,7],34:[2,7]},{5:[2,8],12:[2,8],13:[2,8],16:[2,8],24:[2,8],26:[2,8],28:[2,8],29:[2,8],31:[2,8],32:[2,8],34:[2,8]},{17:21,30:22,41:23,50:[1,26],52:[1,25],53:24},{17:27,30:22,41:23,50:[1,26],52:[1,25],53:24},{4:28,6:3,12:[2,38],13:[2,38],16:[2,38],24:[2,38],26:[2,38],28:[2,38],29:[2,38],31:[2,38],32:[2,38],34:[2,38]},{4:29,6:3,12:[2,38],13:[2,38],16:[2,38],24:[2,38],26:[2,38],28:[2,38],29:[2,38],31:[2,38],32:[2,38],34:[2,38]},{12:[1,30]},{30:32,35:31,42:[1,33],43:[1,34],50:[1,26],53:24},{17:35,30:22,41:23,50:[1,26],52:[1,25],53:24},{17:36,30:22,41:23,50:[1,26],52:[1,25],53:24},{17:37,30:22,41:23,50:[1,26],52:[1,25],53:24},{25:[1,38]},{18:[2,48],25:[2,48],33:[2,48],39:39,42:[2,48],43:[2,48],44:[2,48],45:[2,48],46:[2,48],50:[2,48],52:[2,48]},{18:[2,22],25:[2,22],33:[2,22],46:[2,22]},{18:[2,35],25:[2,35],33:[2,35],42:[2,35],43:[2,35],44:[2,35],45:[2,35],46:[2,35],50:[2,35],52:[2,35],54:[1,40]},{30:41,50:[1,26],53:24},{18:[2,37],25:[2,37],33:[2,37],42:[2,37],43:[2,37],44:[2,37],45:[2,37],46:[2,37],50:[2,37],52:[2,37],54:[2,37]},{33:[1,42]},{20:43,27:44,28:[1,45],29:[2,40]},{23:46,27:47,28:[1,45],29:[2,42]},{15:[1,48]},{25:[2,46],30:51,36:49,38:50,41:55,42:[1,52],43:[1,53],44:[1,54],45:[1,56],47:57,48:58,49:60,50:[1,59],52:[1,25],53:24},{25:[2,31],42:[2,31],43:[2,31],44:[2,31],45:[2,31],50:[2,31],52:[2,31]},{25:[2,32],42:[2,32],43:[2,32],44:[2,32],45:[2,32],50:[2,32],52:[2,32]},{25:[2,33],42:[2,33],43:[2,33],44:[2,33],45:[2,33],50:[2,33],52:[2,33]},{25:[1,61]},{25:[1,62]},{18:[1,63]},{5:[2,17],12:[2,17],13:[2,17],16:[2,17],24:[2,17],26:[2,17],28:[2,17],29:[2,17],31:[2,17],32:[2,17],34:[2,17]},{18:[2,50],25:[2,50],30:51,33:[2,50],36:65,40:64,41:55,42:[1,52],43:[1,53],44:[1,54],45:[1,56],46:[2,50],47:66,48:58,49:60,50:[1,59],52:[1,25],53:24},{50:[1,67]},{18:[2,34],25:[2,34],33:[2,34],42:[2,34],43:[2,34],44:[2,34],45:[2,34],46:[2,34],50:[2,34],52:[2,34]},{5:[2,18],12:[2,18],13:[2,18],16:[2,18],24:[2,18],26:[2,18],28:[2,18],29:[2,18],31:[2,18],32:[2,18],34:[2,18]},{21:68,29:[1,69]},{29:[2,41]},{4:70,6:3,12:[2,38],13:[2,38],16:[2,38],24:[2,38],26:[2,38],29:[2,38],31:[2,38],32:[2,38],34:[2,38]},{21:71,29:[1,69]},{29:[2,43]},{5:[2,9],12:[2,9],13:[2,9],16:[2,9],24:[2,9],26:[2,9],28:[2,9],29:[2,9],31:[2,9],32:[2,9],34:[2,9]},{25:[2,44],37:72,47:73,48:58,49:60,50:[1,74]},{25:[1,75]},{18:[2,23],25:[2,23],33:[2,23],42:[2,23],43:[2,23],44:[2,23],45:[2,23],46:[2,23],50:[2,23],52:[2,23]},{18:[2,24],25:[2,24],33:[2,24],42:[2,24],43:[2,24],44:[2,24],45:[2,24],46:[2,24],50:[2,24],52:[2,24]},{18:[2,25],25:[2,25],33:[2,25],42:[2,25],43:[2,25],44:[2,25],45:[2,25],46:[2,25],50:[2,25],52:[2,25]},{18:[2,26],25:[2,26],33:[2,26],42:[2,26],43:[2,26],44:[2,26],45:[2,26],46:[2,26],50:[2,26],52:[2,26]},{18:[2,27],25:[2,27],33:[2,27],42:[2,27],43:[2,27],44:[2,27],45:[2,27],46:[2,27],50:[2,27],52:[2,27]},{17:76,30:22,41:23,50:[1,26],52:[1,25],53:24},{25:[2,47]},{18:[2,29],25:[2,29],33:[2,29],46:[2,29],49:77,50:[1,74]},{18:[2,37],25:[2,37],33:[2,37],42:[2,37],43:[2,37],44:[2,37],45:[2,37],46:[2,37],50:[2,37],51:[1,78],52:[2,37],54:[2,37]},{18:[2,52],25:[2,52],33:[2,52],46:[2,52],50:[2,52]},{12:[2,13],13:[2,13],16:[2,13],24:[2,13],26:[2,13],28:[2,13],29:[2,13],31:[2,13],32:[2,13],34:[2,13]},{12:[2,14],13:[2,14],16:[2,14],24:[2,14],26:[2,14],28:[2,14],29:[2,14],31:[2,14],32:[2,14],34:[2,14]},{12:[2,10]},{18:[2,21],25:[2,21],33:[2,21],46:[2,21]},{18:[2,49],25:[2,49],33:[2,49],42:[2,49],43:[2,49],44:[2,49],45:[2,49],46:[2,49],50:[2,49],52:[2,49]},{18:[2,51],25:[2,51],33:[2,51],46:[2,51]},{18:[2,36],25:[2,36],33:[2,36],42:[2,36],43:[2,36],44:[2,36],45:[2,36],46:[2,36],50:[2,36],52:[2,36],54:[2,36]},{5:[2,11],12:[2,11],13:[2,11],16:[2,11],24:[2,11],26:[2,11],28:[2,11],29:[2,11],31:[2,11],32:[2,11],34:[2,11]},{30:79,50:[1,26],53:24},{29:[2,15]},{5:[2,12],12:[2,12],13:[2,12],16:[2,12],24:[2,12],26:[2,12],28:[2,12],29:[2,12],31:[2,12],32:[2,12],34:[2,12]},{25:[1,80]},{25:[2,45]},{51:[1,78]},{5:[2,20],12:[2,20],13:[2,20],16:[2,20],24:[2,20],26:[2,20],28:[2,20],29:[2,20],31:[2,20],32:[2,20],34:[2,20]},{46:[1,81]},{18:[2,53],25:[2,53],33:[2,53],46:[2,53],50:[2,53]},{30:51,36:82,41:55,42:[1,52],43:[1,53],44:[1,54],45:[1,56],50:[1,26],52:[1,25],53:24},{25:[1,83]},{5:[2,19],12:[2,19],13:[2,19],16:[2,19],24:[2,19],26:[2,19],28:[2,19],29:[2,19],31:[2,19],32:[2,19],34:[2,19]},{18:[2,28],25:[2,28],33:[2,28],42:[2,28],43:[2,28],44:[2,28],45:[2,28],46:[2,28],50:[2,28],52:[2,28]},{18:[2,30],25:[2,30],33:[2,30],46:[2,30],50:[2,30]},{5:[2,16],12:[2,16],13:[2,16],16:[2,16],24:[2,16],26:[2,16],28:[2,16],29:[2,16],31:[2,16],32:[2,16],34:[2,16]}], + defaultActions: {4:[2,1],44:[2,41],47:[2,43],57:[2,47],63:[2,10],70:[2,15],73:[2,45]}, + parseError: function parseError(str, hash) { + throw new Error(str); + }, + parse: function parse(input) { + var self = this, stack = [0], vstack = [null], lstack = [], table = this.table, yytext = "", yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1; + this.lexer.setInput(input); + this.lexer.yy = this.yy; + this.yy.lexer = this.lexer; + this.yy.parser = this; + if (typeof this.lexer.yylloc == "undefined") + this.lexer.yylloc = {}; + var yyloc = this.lexer.yylloc; + lstack.push(yyloc); + var ranges = this.lexer.options && this.lexer.options.ranges; + if (typeof this.yy.parseError === "function") + this.parseError = this.yy.parseError; + function popStack(n) { + stack.length = stack.length - 2 * n; + vstack.length = vstack.length - n; + lstack.length = lstack.length - n; + } + function lex() { + var token; + token = self.lexer.lex() || 1; + if (typeof token !== "number") { + token = self.symbols_[token] || token; + } + return token; + } + var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected; + while (true) { + state = stack[stack.length - 1]; + if (this.defaultActions[state]) { + action = this.defaultActions[state]; + } else { + if (symbol === null || typeof symbol == "undefined") { + symbol = lex(); + } + action = table[state] && table[state][symbol]; + } + if (typeof action === "undefined" || !action.length || !action[0]) { + var errStr = ""; + if (!recovering) { + expected = []; + for (p in table[state]) + if (this.terminals_[p] && p > 2) { + expected.push("'" + this.terminals_[p] + "'"); + } + if (this.lexer.showPosition) { + errStr = "Parse error on line " + (yylineno + 1) + ":\n" + this.lexer.showPosition() + "\nExpecting " + expected.join(", ") + ", got '" + (this.terminals_[symbol] || symbol) + "'"; + } else { + errStr = "Parse error on line " + (yylineno + 1) + ": Unexpected " + (symbol == 1?"end of input":"'" + (this.terminals_[symbol] || symbol) + "'"); + } + this.parseError(errStr, {text: this.lexer.match, token: this.terminals_[symbol] || symbol, line: this.lexer.yylineno, loc: yyloc, expected: expected}); + } + } + if (action[0] instanceof Array && action.length > 1) { + throw new Error("Parse Error: multiple actions possible at state: " + state + ", token: " + symbol); + } + switch (action[0]) { + case 1: + stack.push(symbol); + vstack.push(this.lexer.yytext); + lstack.push(this.lexer.yylloc); + stack.push(action[1]); + symbol = null; + if (!preErrorSymbol) { + yyleng = this.lexer.yyleng; + yytext = this.lexer.yytext; + yylineno = this.lexer.yylineno; + yyloc = this.lexer.yylloc; + if (recovering > 0) + recovering--; + } else { + symbol = preErrorSymbol; + preErrorSymbol = null; + } + break; + case 2: + len = this.productions_[action[1]][1]; + yyval.$ = vstack[vstack.length - len]; + yyval._$ = {first_line: lstack[lstack.length - (len || 1)].first_line, last_line: lstack[lstack.length - 1].last_line, first_column: lstack[lstack.length - (len || 1)].first_column, last_column: lstack[lstack.length - 1].last_column}; + if (ranges) { + yyval._$.range = [lstack[lstack.length - (len || 1)].range[0], lstack[lstack.length - 1].range[1]]; + } + r = this.performAction.call(yyval, yytext, yyleng, yylineno, this.yy, action[1], vstack, lstack); + if (typeof r !== "undefined") { + return r; + } + if (len) { + stack = stack.slice(0, -1 * len * 2); + vstack = vstack.slice(0, -1 * len); + lstack = lstack.slice(0, -1 * len); + } + stack.push(this.productions_[action[1]][0]); + vstack.push(yyval.$); + lstack.push(yyval._$); + newState = table[stack[stack.length - 2]][stack[stack.length - 1]]; + stack.push(newState); + break; + case 3: + return true; + } + } + return true; + } + }; + /* Jison generated lexer */ + var lexer = (function(){ + var lexer = ({EOF:1, + parseError:function parseError(str, hash) { + if (this.yy.parser) { + this.yy.parser.parseError(str, hash); + } else { + throw new Error(str); + } + }, + setInput:function (input) { + this._input = input; + this._more = this._less = this.done = false; + this.yylineno = this.yyleng = 0; + this.yytext = this.matched = this.match = ''; + this.conditionStack = ['INITIAL']; + this.yylloc = {first_line:1,first_column:0,last_line:1,last_column:0}; + if (this.options.ranges) this.yylloc.range = [0,0]; + this.offset = 0; + return this; + }, + input:function () { + var ch = this._input[0]; + this.yytext += ch; + this.yyleng++; + this.offset++; + this.match += ch; + this.matched += ch; + var lines = ch.match(/(?:\r\n?|\n).*/g); + if (lines) { + this.yylineno++; + this.yylloc.last_line++; + } else { + this.yylloc.last_column++; + } + if (this.options.ranges) this.yylloc.range[1]++; + + this._input = this._input.slice(1); + return ch; + }, + unput:function (ch) { + var len = ch.length; + var lines = ch.split(/(?:\r\n?|\n)/g); + + this._input = ch + this._input; + this.yytext = this.yytext.substr(0, this.yytext.length-len-1); + //this.yyleng -= len; + this.offset -= len; + var oldLines = this.match.split(/(?:\r\n?|\n)/g); + this.match = this.match.substr(0, this.match.length-1); + this.matched = this.matched.substr(0, this.matched.length-1); + + if (lines.length-1) this.yylineno -= lines.length-1; + var r = this.yylloc.range; + + this.yylloc = {first_line: this.yylloc.first_line, + last_line: this.yylineno+1, + first_column: this.yylloc.first_column, + last_column: lines ? + (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length: + this.yylloc.first_column - len + }; + + if (this.options.ranges) { + this.yylloc.range = [r[0], r[0] + this.yyleng - len]; + } + return this; + }, + more:function () { + this._more = true; + return this; + }, + less:function (n) { + this.unput(this.match.slice(n)); + }, + pastInput:function () { + var past = this.matched.substr(0, this.matched.length - this.match.length); + return (past.length > 20 ? '...':'') + past.substr(-20).replace(/\n/g, ""); + }, + upcomingInput:function () { + var next = this.match; + if (next.length < 20) { + next += this._input.substr(0, 20-next.length); + } + return (next.substr(0,20)+(next.length > 20 ? '...':'')).replace(/\n/g, ""); + }, + showPosition:function () { + var pre = this.pastInput(); + var c = new Array(pre.length + 1).join("-"); + return pre + this.upcomingInput() + "\n" + c+"^"; + }, + next:function () { + if (this.done) { + return this.EOF; + } + if (!this._input) this.done = true; + + var token, + match, + tempMatch, + index, + col, + lines; + if (!this._more) { + this.yytext = ''; + this.match = ''; + } + var rules = this._currentRules(); + for (var i=0;i < rules.length; i++) { + tempMatch = this._input.match(this.rules[rules[i]]); + if (tempMatch && (!match || tempMatch[0].length > match[0].length)) { + match = tempMatch; + index = i; + if (!this.options.flex) break; + } + } + if (match) { + lines = match[0].match(/(?:\r\n?|\n).*/g); + if (lines) this.yylineno += lines.length; + this.yylloc = {first_line: this.yylloc.last_line, + last_line: this.yylineno+1, + first_column: this.yylloc.last_column, + last_column: lines ? lines[lines.length-1].length-lines[lines.length-1].match(/\r?\n?/)[0].length : this.yylloc.last_column + match[0].length}; + this.yytext += match[0]; + this.match += match[0]; + this.matches = match; + this.yyleng = this.yytext.length; + if (this.options.ranges) { + this.yylloc.range = [this.offset, this.offset += this.yyleng]; + } + this._more = false; + this._input = this._input.slice(match[0].length); + this.matched += match[0]; + token = this.performAction.call(this, this.yy, this, rules[index],this.conditionStack[this.conditionStack.length-1]); + if (this.done && this._input) this.done = false; + if (token) return token; + else return; + } + if (this._input === "") { + return this.EOF; + } else { + return this.parseError('Lexical error on line '+(this.yylineno+1)+'. Unrecognized text.\n'+this.showPosition(), + {text: "", token: null, line: this.yylineno}); + } + }, + lex:function lex() { + var r = this.next(); + if (typeof r !== 'undefined') { + return r; + } else { + return this.lex(); + } + }, + begin:function begin(condition) { + this.conditionStack.push(condition); + }, + popState:function popState() { + return this.conditionStack.pop(); + }, + _currentRules:function _currentRules() { + return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules; + }, + topState:function () { + return this.conditionStack[this.conditionStack.length-2]; + }, + pushState:function begin(condition) { + this.begin(condition); + }}); + lexer.options = {}; + lexer.performAction = function anonymous(yy,yy_,$avoiding_name_collisions,YY_START) { + + + function strip(start, end) { + return yy_.yytext = yy_.yytext.substr(start, yy_.yyleng-end); + } + + + var YYSTATE=YY_START + switch($avoiding_name_collisions) { + case 0: + if(yy_.yytext.slice(-2) === "\\\\") { + strip(0,1); + this.begin("mu"); + } else if(yy_.yytext.slice(-1) === "\\") { + strip(0,1); + this.begin("emu"); + } else { + this.begin("mu"); + } + if(yy_.yytext) return 12; + + break; + case 1:return 12; + break; + case 2: + this.popState(); + return 12; + + break; + case 3: + yy_.yytext = yy_.yytext.substr(5, yy_.yyleng-9); + this.popState(); + return 15; + + break; + case 4: return 12; + break; + case 5:strip(0,4); this.popState(); return 13; + break; + case 6:return 45; + break; + case 7:return 46; + break; + case 8: return 16; + break; + case 9: + this.popState(); + this.begin('raw'); + return 18; + + break; + case 10:return 34; + break; + case 11:return 24; + break; + case 12:return 29; + break; + case 13:this.popState(); return 28; + break; + case 14:this.popState(); return 28; + break; + case 15:return 26; + break; + case 16:return 26; + break; + case 17:return 32; + break; + case 18:return 31; + break; + case 19:this.popState(); this.begin('com'); + break; + case 20:strip(3,5); this.popState(); return 13; + break; + case 21:return 31; + break; + case 22:return 51; + break; + case 23:return 50; + break; + case 24:return 50; + break; + case 25:return 54; + break; + case 26:// ignore whitespace + break; + case 27:this.popState(); return 33; + break; + case 28:this.popState(); return 25; + break; + case 29:yy_.yytext = strip(1,2).replace(/\\"/g,'"'); return 42; + break; + case 30:yy_.yytext = strip(1,2).replace(/\\'/g,"'"); return 42; + break; + case 31:return 52; + break; + case 32:return 44; + break; + case 33:return 44; + break; + case 34:return 43; + break; + case 35:return 50; + break; + case 36:yy_.yytext = strip(1,2); return 50; + break; + case 37:return 'INVALID'; + break; + case 38:return 5; + break; + } + }; + lexer.rules = [/^(?:[^\x00]*?(?=(\{\{)))/,/^(?:[^\x00]+)/,/^(?:[^\x00]{2,}?(?=(\{\{|\\\{\{|\\\\\{\{|$)))/,/^(?:\{\{\{\{\/[^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=[=}\s\/.])\}\}\}\})/,/^(?:[^\x00]*?(?=(\{\{\{\{\/)))/,/^(?:[\s\S]*?--\}\})/,/^(?:\()/,/^(?:\))/,/^(?:\{\{\{\{)/,/^(?:\}\}\}\})/,/^(?:\{\{(~)?>)/,/^(?:\{\{(~)?#)/,/^(?:\{\{(~)?\/)/,/^(?:\{\{(~)?\^\s*(~)?\}\})/,/^(?:\{\{(~)?\s*else\s*(~)?\}\})/,/^(?:\{\{(~)?\^)/,/^(?:\{\{(~)?\s*else\b)/,/^(?:\{\{(~)?\{)/,/^(?:\{\{(~)?&)/,/^(?:\{\{!--)/,/^(?:\{\{![\s\S]*?\}\})/,/^(?:\{\{(~)?)/,/^(?:=)/,/^(?:\.\.)/,/^(?:\.(?=([=~}\s\/.)])))/,/^(?:[\/.])/,/^(?:\s+)/,/^(?:\}(~)?\}\})/,/^(?:(~)?\}\})/,/^(?:"(\\["]|[^"])*")/,/^(?:'(\\[']|[^'])*')/,/^(?:@)/,/^(?:true(?=([~}\s)])))/,/^(?:false(?=([~}\s)])))/,/^(?:-?[0-9]+(?:\.[0-9]+)?(?=([~}\s)])))/,/^(?:([^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=([=~}\s\/.)]))))/,/^(?:\[[^\]]*\])/,/^(?:.)/,/^(?:$)/]; + lexer.conditions = {"mu":{"rules":[6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"inclusive":false},"emu":{"rules":[2],"inclusive":false},"com":{"rules":[5],"inclusive":false},"raw":{"rules":[3,4],"inclusive":false},"INITIAL":{"rules":[0,1,38],"inclusive":true}}; + return lexer;})() + parser.lexer = lexer; + function Parser () { this.yy = {}; }Parser.prototype = parser;parser.Parser = Parser; + return new Parser; + })();__exports__ = handlebars; + /* jshint ignore:end */ + return __exports__; +})(); + +// handlebars/compiler/helpers.js +var __module10__ = (function(__dependency1__) { + "use strict"; + var __exports__ = {}; + var Exception = __dependency1__; + + function stripFlags(open, close) { + return { + left: open.charAt(2) === '~', + right: close.charAt(close.length-3) === '~' + }; + } + + __exports__.stripFlags = stripFlags; + function prepareBlock(mustache, program, inverseAndProgram, close, inverted, locInfo) { + /*jshint -W040 */ + if (mustache.sexpr.id.original !== close.path.original) { + throw new Exception(mustache.sexpr.id.original + ' doesn\'t match ' + close.path.original, mustache); + } + + var inverse = inverseAndProgram && inverseAndProgram.program; + + var strip = { + left: mustache.strip.left, + right: close.strip.right, + + // Determine the standalone candiacy. Basically flag our content as being possibly standalone + // so our parent can determine if we actually are standalone + openStandalone: isNextWhitespace(program.statements), + closeStandalone: isPrevWhitespace((inverse || program).statements) + }; + + if (mustache.strip.right) { + omitRight(program.statements, null, true); + } + + if (inverse) { + var inverseStrip = inverseAndProgram.strip; + + if (inverseStrip.left) { + omitLeft(program.statements, null, true); + } + if (inverseStrip.right) { + omitRight(inverse.statements, null, true); + } + if (close.strip.left) { + omitLeft(inverse.statements, null, true); + } + + // Find standalone else statments + if (isPrevWhitespace(program.statements) + && isNextWhitespace(inverse.statements)) { + + omitLeft(program.statements); + omitRight(inverse.statements); + } + } else { + if (close.strip.left) { + omitLeft(program.statements, null, true); + } + } + + if (inverted) { + return new this.BlockNode(mustache, inverse, program, strip, locInfo); + } else { + return new this.BlockNode(mustache, program, inverse, strip, locInfo); + } + } + + __exports__.prepareBlock = prepareBlock; + function prepareProgram(statements, isRoot) { + for (var i = 0, l = statements.length; i < l; i++) { + var current = statements[i], + strip = current.strip; + + if (!strip) { + continue; + } + + var _isPrevWhitespace = isPrevWhitespace(statements, i, isRoot, current.type === 'partial'), + _isNextWhitespace = isNextWhitespace(statements, i, isRoot), + + openStandalone = strip.openStandalone && _isPrevWhitespace, + closeStandalone = strip.closeStandalone && _isNextWhitespace, + inlineStandalone = strip.inlineStandalone && _isPrevWhitespace && _isNextWhitespace; + + if (strip.right) { + omitRight(statements, i, true); + } + if (strip.left) { + omitLeft(statements, i, true); + } + + if (inlineStandalone) { + omitRight(statements, i); + + if (omitLeft(statements, i)) { + // If we are on a standalone node, save the indent info for partials + if (current.type === 'partial') { + current.indent = (/([ \t]+$)/).exec(statements[i-1].original) ? RegExp.$1 : ''; + } + } + } + if (openStandalone) { + omitRight((current.program || current.inverse).statements); + + // Strip out the previous content node if it's whitespace only + omitLeft(statements, i); + } + if (closeStandalone) { + // Always strip the next node + omitRight(statements, i); + + omitLeft((current.inverse || current.program).statements); + } + } + + return statements; + } + + __exports__.prepareProgram = prepareProgram;function isPrevWhitespace(statements, i, isRoot) { + if (i === undefined) { + i = statements.length; + } + + // Nodes that end with newlines are considered whitespace (but are special + // cased for strip operations) + var prev = statements[i-1], + sibling = statements[i-2]; + if (!prev) { + return isRoot; + } + + if (prev.type === 'content') { + return (sibling || !isRoot ? (/\r?\n\s*?$/) : (/(^|\r?\n)\s*?$/)).test(prev.original); + } + } + function isNextWhitespace(statements, i, isRoot) { + if (i === undefined) { + i = -1; + } + + var next = statements[i+1], + sibling = statements[i+2]; + if (!next) { + return isRoot; + } + + if (next.type === 'content') { + return (sibling || !isRoot ? (/^\s*?\r?\n/) : (/^\s*?(\r?\n|$)/)).test(next.original); + } + } + + // Marks the node to the right of the position as omitted. + // I.e. {{foo}}' ' will mark the ' ' node as omitted. + // + // If i is undefined, then the first child will be marked as such. + // + // If mulitple is truthy then all whitespace will be stripped out until non-whitespace + // content is met. + function omitRight(statements, i, multiple) { + var current = statements[i == null ? 0 : i + 1]; + if (!current || current.type !== 'content' || (!multiple && current.rightStripped)) { + return; + } + + var original = current.string; + current.string = current.string.replace(multiple ? (/^\s+/) : (/^[ \t]*\r?\n?/), ''); + current.rightStripped = current.string !== original; + } + + // Marks the node to the left of the position as omitted. + // I.e. ' '{{foo}} will mark the ' ' node as omitted. + // + // If i is undefined then the last child will be marked as such. + // + // If mulitple is truthy then all whitespace will be stripped out until non-whitespace + // content is met. + function omitLeft(statements, i, multiple) { + var current = statements[i == null ? statements.length - 1 : i - 1]; + if (!current || current.type !== 'content' || (!multiple && current.leftStripped)) { + return; + } + + // We omit the last node if it's whitespace only and not preceeded by a non-content node. + var original = current.string; + current.string = current.string.replace(multiple ? (/\s+$/) : (/[ \t]+$/), ''); + current.leftStripped = current.string !== original; + return current.leftStripped; + } + return __exports__; +})(__module5__); + +// handlebars/compiler/base.js +var __module8__ = (function(__dependency1__, __dependency2__, __dependency3__, __dependency4__) { + "use strict"; + var __exports__ = {}; + var parser = __dependency1__; + var AST = __dependency2__; + var Helpers = __dependency3__; + var extend = __dependency4__.extend; + + __exports__.parser = parser; + + var yy = {}; + extend(yy, Helpers, AST); + + function parse(input) { + // Just return if an already-compile AST was passed in. + if (input.constructor === AST.ProgramNode) { return input; } + + parser.yy = yy; + + return parser.parse(input); + } + + __exports__.parse = parse; + return __exports__; +})(__module9__, __module7__, __module10__, __module3__); + +// handlebars/compiler/compiler.js +var __module11__ = (function(__dependency1__, __dependency2__) { + "use strict"; + var __exports__ = {}; + var Exception = __dependency1__; + var isArray = __dependency2__.isArray; + + var slice = [].slice; + + function Compiler() {} + + __exports__.Compiler = Compiler;// the foundHelper register will disambiguate helper lookup from finding a + // function in a context. This is necessary for mustache compatibility, which + // requires that context functions in blocks are evaluated by blockHelperMissing, + // and then proceed as if the resulting value was provided to blockHelperMissing. + + Compiler.prototype = { + compiler: Compiler, + + equals: function(other) { + var len = this.opcodes.length; + if (other.opcodes.length !== len) { + return false; + } + + for (var i = 0; i < len; i++) { + var opcode = this.opcodes[i], + otherOpcode = other.opcodes[i]; + if (opcode.opcode !== otherOpcode.opcode || !argEquals(opcode.args, otherOpcode.args)) { + return false; + } + } + + // We know that length is the same between the two arrays because they are directly tied + // to the opcode behavior above. + len = this.children.length; + for (i = 0; i < len; i++) { + if (!this.children[i].equals(other.children[i])) { + return false; + } + } + + return true; + }, + + guid: 0, + + compile: function(program, options) { + this.opcodes = []; + this.children = []; + this.depths = {list: []}; + this.options = options; + this.stringParams = options.stringParams; + this.trackIds = options.trackIds; + + // These changes will propagate to the other compiler components + var knownHelpers = this.options.knownHelpers; + this.options.knownHelpers = { + 'helperMissing': true, + 'blockHelperMissing': true, + 'each': true, + 'if': true, + 'unless': true, + 'with': true, + 'log': true, + 'lookup': true + }; + if (knownHelpers) { + for (var name in knownHelpers) { + this.options.knownHelpers[name] = knownHelpers[name]; + } + } + + return this.accept(program); + }, + + accept: function(node) { + return this[node.type](node); + }, + + program: function(program) { + var statements = program.statements; + + for(var i=0, l=statements.length; i 0) { + varDeclarations += ", " + locals.join(", "); + } + + // Generate minimizer alias mappings + for (var alias in this.aliases) { + if (this.aliases.hasOwnProperty(alias)) { + varDeclarations += ', ' + alias + '=' + this.aliases[alias]; + } + } + + var params = ["depth0", "helpers", "partials", "data"]; + + if (this.useDepths) { + params.push('depths'); + } + + // Perform a second pass over the output to merge content when possible + var source = this.mergeSource(varDeclarations); + + if (asObject) { + params.push(source); + + return Function.apply(this, params); + } else { + return 'function(' + params.join(',') + ') {\n ' + source + '}'; + } + }, + mergeSource: function(varDeclarations) { + var source = '', + buffer, + appendOnly = !this.forceBuffer, + appendFirst; + + for (var i = 0, len = this.source.length; i < len; i++) { + var line = this.source[i]; + if (line.appendToBuffer) { + if (buffer) { + buffer = buffer + '\n + ' + line.content; + } else { + buffer = line.content; + } + } else { + if (buffer) { + if (!source) { + appendFirst = true; + source = buffer + ';\n '; + } else { + source += 'buffer += ' + buffer + ';\n '; + } + buffer = undefined; + } + source += line + '\n '; + + if (!this.environment.isSimple) { + appendOnly = false; + } + } + } + + if (appendOnly) { + if (buffer || !source) { + source += 'return ' + (buffer || '""') + ';\n'; + } + } else { + varDeclarations += ", buffer = " + (appendFirst ? '' : this.initializeBuffer()); + if (buffer) { + source += 'return buffer + ' + buffer + ';\n'; + } else { + source += 'return buffer;\n'; + } + } + + if (varDeclarations) { + source = 'var ' + varDeclarations.substring(2) + (appendFirst ? '' : ';\n ') + source; + } + + return source; + }, + + // [blockValue] + // + // On stack, before: hash, inverse, program, value + // On stack, after: return value of blockHelperMissing + // + // The purpose of this opcode is to take a block of the form + // `{{#this.foo}}...{{/this.foo}}`, resolve the value of `foo`, and + // replace it on the stack with the result of properly + // invoking blockHelperMissing. + blockValue: function(name) { + this.aliases.blockHelperMissing = 'helpers.blockHelperMissing'; + + var params = [this.contextName(0)]; + this.setupParams(name, 0, params); + + var blockName = this.popStack(); + params.splice(1, 0, blockName); + + this.push('blockHelperMissing.call(' + params.join(', ') + ')'); + }, + + // [ambiguousBlockValue] + // + // On stack, before: hash, inverse, program, value + // Compiler value, before: lastHelper=value of last found helper, if any + // On stack, after, if no lastHelper: same as [blockValue] + // On stack, after, if lastHelper: value + ambiguousBlockValue: function() { + this.aliases.blockHelperMissing = 'helpers.blockHelperMissing'; + + // We're being a bit cheeky and reusing the options value from the prior exec + var params = [this.contextName(0)]; + this.setupParams('', 0, params, true); + + this.flushInline(); + + var current = this.topStack(); + params.splice(1, 0, current); + + this.pushSource("if (!" + this.lastHelper + ") { " + current + " = blockHelperMissing.call(" + params.join(", ") + "); }"); + }, + + // [appendContent] + // + // On stack, before: ... + // On stack, after: ... + // + // Appends the string value of `content` to the current buffer + appendContent: function(content) { + if (this.pendingContent) { + content = this.pendingContent + content; + } + + this.pendingContent = content; + }, + + // [append] + // + // On stack, before: value, ... + // On stack, after: ... + // + // Coerces `value` to a String and appends it to the current buffer. + // + // If `value` is truthy, or 0, it is coerced into a string and appended + // Otherwise, the empty string is appended + append: function() { + // Force anything that is inlined onto the stack so we don't have duplication + // when we examine local + this.flushInline(); + var local = this.popStack(); + this.pushSource('if (' + local + ' != null) { ' + this.appendToBuffer(local) + ' }'); + if (this.environment.isSimple) { + this.pushSource("else { " + this.appendToBuffer("''") + " }"); + } + }, + + // [appendEscaped] + // + // On stack, before: value, ... + // On stack, after: ... + // + // Escape `value` and append it to the buffer + appendEscaped: function() { + this.aliases.escapeExpression = 'this.escapeExpression'; + + this.pushSource(this.appendToBuffer("escapeExpression(" + this.popStack() + ")")); + }, + + // [getContext] + // + // On stack, before: ... + // On stack, after: ... + // Compiler value, after: lastContext=depth + // + // Set the value of the `lastContext` compiler value to the depth + getContext: function(depth) { + this.lastContext = depth; + }, + + // [pushContext] + // + // On stack, before: ... + // On stack, after: currentContext, ... + // + // Pushes the value of the current context onto the stack. + pushContext: function() { + this.pushStackLiteral(this.contextName(this.lastContext)); + }, + + // [lookupOnContext] + // + // On stack, before: ... + // On stack, after: currentContext[name], ... + // + // Looks up the value of `name` on the current context and pushes + // it onto the stack. + lookupOnContext: function(parts, falsy, scoped) { + /*jshint -W083 */ + var i = 0, + len = parts.length; + + if (!scoped && this.options.compat && !this.lastContext) { + // The depthed query is expected to handle the undefined logic for the root level that + // is implemented below, so we evaluate that directly in compat mode + this.push(this.depthedLookup(parts[i++])); + } else { + this.pushContext(); + } + + for (; i < len; i++) { + this.replaceStack(function(current) { + var lookup = this.nameLookup(current, parts[i], 'context'); + // We want to ensure that zero and false are handled properly if the context (falsy flag) + // needs to have the special handling for these values. + if (!falsy) { + return ' != null ? ' + lookup + ' : ' + current; + } else { + // Otherwise we can use generic falsy handling + return ' && ' + lookup; + } + }); + } + }, + + // [lookupData] + // + // On stack, before: ... + // On stack, after: data, ... + // + // Push the data lookup operator + lookupData: function(depth, parts) { + /*jshint -W083 */ + if (!depth) { + this.pushStackLiteral('data'); + } else { + this.pushStackLiteral('this.data(data, ' + depth + ')'); + } + + var len = parts.length; + for (var i = 0; i < len; i++) { + this.replaceStack(function(current) { + return ' && ' + this.nameLookup(current, parts[i], 'data'); + }); + } + }, + + // [resolvePossibleLambda] + // + // On stack, before: value, ... + // On stack, after: resolved value, ... + // + // If the `value` is a lambda, replace it on the stack by + // the return value of the lambda + resolvePossibleLambda: function() { + this.aliases.lambda = 'this.lambda'; + + this.push('lambda(' + this.popStack() + ', ' + this.contextName(0) + ')'); + }, + + // [pushStringParam] + // + // On stack, before: ... + // On stack, after: string, currentContext, ... + // + // This opcode is designed for use in string mode, which + // provides the string value of a parameter along with its + // depth rather than resolving it immediately. + pushStringParam: function(string, type) { + this.pushContext(); + this.pushString(type); + + // If it's a subexpression, the string result + // will be pushed after this opcode. + if (type !== 'sexpr') { + if (typeof string === 'string') { + this.pushString(string); + } else { + this.pushStackLiteral(string); + } + } + }, + + emptyHash: function() { + this.pushStackLiteral('{}'); + + if (this.trackIds) { + this.push('{}'); // hashIds + } + if (this.stringParams) { + this.push('{}'); // hashContexts + this.push('{}'); // hashTypes + } + }, + pushHash: function() { + if (this.hash) { + this.hashes.push(this.hash); + } + this.hash = {values: [], types: [], contexts: [], ids: []}; + }, + popHash: function() { + var hash = this.hash; + this.hash = this.hashes.pop(); + + if (this.trackIds) { + this.push('{' + hash.ids.join(',') + '}'); + } + if (this.stringParams) { + this.push('{' + hash.contexts.join(',') + '}'); + this.push('{' + hash.types.join(',') + '}'); + } + + this.push('{\n ' + hash.values.join(',\n ') + '\n }'); + }, + + // [pushString] + // + // On stack, before: ... + // On stack, after: quotedString(string), ... + // + // Push a quoted version of `string` onto the stack + pushString: function(string) { + this.pushStackLiteral(this.quotedString(string)); + }, + + // [push] + // + // On stack, before: ... + // On stack, after: expr, ... + // + // Push an expression onto the stack + push: function(expr) { + this.inlineStack.push(expr); + return expr; + }, + + // [pushLiteral] + // + // On stack, before: ... + // On stack, after: value, ... + // + // Pushes a value onto the stack. This operation prevents + // the compiler from creating a temporary variable to hold + // it. + pushLiteral: function(value) { + this.pushStackLiteral(value); + }, + + // [pushProgram] + // + // On stack, before: ... + // On stack, after: program(guid), ... + // + // Push a program expression onto the stack. This takes + // a compile-time guid and converts it into a runtime-accessible + // expression. + pushProgram: function(guid) { + if (guid != null) { + this.pushStackLiteral(this.programExpression(guid)); + } else { + this.pushStackLiteral(null); + } + }, + + // [invokeHelper] + // + // On stack, before: hash, inverse, program, params..., ... + // On stack, after: result of helper invocation + // + // Pops off the helper's parameters, invokes the helper, + // and pushes the helper's return value onto the stack. + // + // If the helper is not found, `helperMissing` is called. + invokeHelper: function(paramSize, name, isSimple) { + this.aliases.helperMissing = 'helpers.helperMissing'; + + var nonHelper = this.popStack(); + var helper = this.setupHelper(paramSize, name); + + var lookup = (isSimple ? helper.name + ' || ' : '') + nonHelper + ' || helperMissing'; + this.push('((' + lookup + ').call(' + helper.callParams + '))'); + }, + + // [invokeKnownHelper] + // + // On stack, before: hash, inverse, program, params..., ... + // On stack, after: result of helper invocation + // + // This operation is used when the helper is known to exist, + // so a `helperMissing` fallback is not required. + invokeKnownHelper: function(paramSize, name) { + var helper = this.setupHelper(paramSize, name); + this.push(helper.name + ".call(" + helper.callParams + ")"); + }, + + // [invokeAmbiguous] + // + // On stack, before: hash, inverse, program, params..., ... + // On stack, after: result of disambiguation + // + // This operation is used when an expression like `{{foo}}` + // is provided, but we don't know at compile-time whether it + // is a helper or a path. + // + // This operation emits more code than the other options, + // and can be avoided by passing the `knownHelpers` and + // `knownHelpersOnly` flags at compile-time. + invokeAmbiguous: function(name, helperCall) { + this.aliases.functionType = '"function"'; + this.aliases.helperMissing = 'helpers.helperMissing'; + this.useRegister('helper'); + + var nonHelper = this.popStack(); + + this.emptyHash(); + var helper = this.setupHelper(0, name, helperCall); + + var helperName = this.lastHelper = this.nameLookup('helpers', name, 'helper'); + + this.push( + '((helper = (helper = ' + helperName + ' || ' + nonHelper + ') != null ? helper : helperMissing' + + (helper.paramsInit ? '),(' + helper.paramsInit : '') + '),' + + '(typeof helper === functionType ? helper.call(' + helper.callParams + ') : helper))'); + }, + + // [invokePartial] + // + // On stack, before: context, ... + // On stack after: result of partial invocation + // + // This operation pops off a context, invokes a partial with that context, + // and pushes the result of the invocation back. + invokePartial: function(name, indent) { + var params = [this.nameLookup('partials', name, 'partial'), "'" + indent + "'", "'" + name + "'", this.popStack(), this.popStack(), "helpers", "partials"]; + + if (this.options.data) { + params.push("data"); + } else if (this.options.compat) { + params.push('undefined'); + } + if (this.options.compat) { + params.push('depths'); + } + + this.push("this.invokePartial(" + params.join(", ") + ")"); + }, + + // [assignToHash] + // + // On stack, before: value, ..., hash, ... + // On stack, after: ..., hash, ... + // + // Pops a value off the stack and assigns it to the current hash + assignToHash: function(key) { + var value = this.popStack(), + context, + type, + id; + + if (this.trackIds) { + id = this.popStack(); + } + if (this.stringParams) { + type = this.popStack(); + context = this.popStack(); + } + + var hash = this.hash; + if (context) { + hash.contexts.push("'" + key + "': " + context); + } + if (type) { + hash.types.push("'" + key + "': " + type); + } + if (id) { + hash.ids.push("'" + key + "': " + id); + } + hash.values.push("'" + key + "': (" + value + ")"); + }, + + pushId: function(type, name) { + if (type === 'ID' || type === 'DATA') { + this.pushString(name); + } else if (type === 'sexpr') { + this.pushStackLiteral('true'); + } else { + this.pushStackLiteral('null'); + } + }, + + // HELPERS + + compiler: JavaScriptCompiler, + + compileChildren: function(environment, options) { + var children = environment.children, child, compiler; + + for(var i=0, l=children.length; i this.stackVars.length) { this.stackVars.push("stack" + this.stackSlot); } + return this.topStackName(); + }, + topStackName: function() { + return "stack" + this.stackSlot; + }, + flushInline: function() { + var inlineStack = this.inlineStack; + if (inlineStack.length) { + this.inlineStack = []; + for (var i = 0, len = inlineStack.length; i < len; i++) { + var entry = inlineStack[i]; + if (entry instanceof Literal) { + this.compileStack.push(entry); + } else { + this.pushStack(entry); + } + } + } + }, + isInline: function() { + return this.inlineStack.length; + }, + + popStack: function(wrapped) { + var inline = this.isInline(), + item = (inline ? this.inlineStack : this.compileStack).pop(); + + if (!wrapped && (item instanceof Literal)) { + return item.value; + } else { + if (!inline) { + /* istanbul ignore next */ + if (!this.stackSlot) { + throw new Exception('Invalid stack pop'); + } + this.stackSlot--; + } + return item; + } + }, + + topStack: function() { + var stack = (this.isInline() ? this.inlineStack : this.compileStack), + item = stack[stack.length - 1]; + + if (item instanceof Literal) { + return item.value; + } else { + return item; + } + }, + + contextName: function(context) { + if (this.useDepths && context) { + return 'depths[' + context + ']'; + } else { + return 'depth' + context; + } + }, + + quotedString: function(str) { + return '"' + str + .replace(/\\/g, '\\\\') + .replace(/"/g, '\\"') + .replace(/\n/g, '\\n') + .replace(/\r/g, '\\r') + .replace(/\u2028/g, '\\u2028') // Per Ecma-262 7.3 + 7.8.4 + .replace(/\u2029/g, '\\u2029') + '"'; + }, + + objectLiteral: function(obj) { + var pairs = []; + + for (var key in obj) { + if (obj.hasOwnProperty(key)) { + pairs.push(this.quotedString(key) + ':' + obj[key]); + } + } + + return '{' + pairs.join(',') + '}'; + }, + + setupHelper: function(paramSize, name, blockHelper) { + var params = [], + paramsInit = this.setupParams(name, paramSize, params, blockHelper); + var foundHelper = this.nameLookup('helpers', name, 'helper'); + + return { + params: params, + paramsInit: paramsInit, + name: foundHelper, + callParams: [this.contextName(0)].concat(params).join(", ") + }; + }, + + setupOptions: function(helper, paramSize, params) { + var options = {}, contexts = [], types = [], ids = [], param, inverse, program; + + options.name = this.quotedString(helper); + options.hash = this.popStack(); + + if (this.trackIds) { + options.hashIds = this.popStack(); + } + if (this.stringParams) { + options.hashTypes = this.popStack(); + options.hashContexts = this.popStack(); + } + + inverse = this.popStack(); + program = this.popStack(); + + // Avoid setting fn and inverse if neither are set. This allows + // helpers to do a check for `if (options.fn)` + if (program || inverse) { + if (!program) { + program = 'this.noop'; + } + + if (!inverse) { + inverse = 'this.noop'; + } + + options.fn = program; + options.inverse = inverse; + } + + // The parameters go on to the stack in order (making sure that they are evaluated in order) + // so we need to pop them off the stack in reverse order + var i = paramSize; + while (i--) { + param = this.popStack(); + params[i] = param; + + if (this.trackIds) { + ids[i] = this.popStack(); + } + if (this.stringParams) { + types[i] = this.popStack(); + contexts[i] = this.popStack(); + } + } + + if (this.trackIds) { + options.ids = "[" + ids.join(",") + "]"; + } + if (this.stringParams) { + options.types = "[" + types.join(",") + "]"; + options.contexts = "[" + contexts.join(",") + "]"; + } + + if (this.options.data) { + options.data = "data"; + } + + return options; + }, + + // the params and contexts arguments are passed in arrays + // to fill in + setupParams: function(helperName, paramSize, params, useRegister) { + var options = this.objectLiteral(this.setupOptions(helperName, paramSize, params)); + + if (useRegister) { + this.useRegister('options'); + params.push('options'); + return 'options=' + options; + } else { + params.push(options); + return ''; + } + } + }; + + var reservedWords = ( + "break else new var" + + " case finally return void" + + " catch for switch while" + + " continue function this with" + + " default if throw" + + " delete in try" + + " do instanceof typeof" + + " abstract enum int short" + + " boolean export interface static" + + " byte extends long super" + + " char final native synchronized" + + " class float package throws" + + " const goto private transient" + + " debugger implements protected volatile" + + " double import public let yield" + ).split(" "); + + var compilerWords = JavaScriptCompiler.RESERVED_WORDS = {}; + + for(var i=0, l=reservedWords.length; i + * + * Authors: Ken Corbett Jr + * + * Version 0.9.2 + * + */ + +var html5sql = (function() { + + var readTransactionAvailable = false, + doNothing = function() {}, + emptyArray = [], + trim = function(string) { + return string.replace(/^\s+/, "").replace(/\s+$/, ""); + }, + isArray = function(obj) { // From Underscore.js + return Object.prototype.toString.call(obj) === '[object Array]'; + }, + isUndefined = function(obj) { // From Underscore.js + return obj === void 0; + }, + SelectStmtMatch = new RegExp('^select\\s', 'i'), + isSelectStmt = function(sqlstring) { + return SelectStmtMatch.test(sqlstring); + }, + doNothing = function() {}, + // transaction is an sql transaction, sqlObjects are properly formated + // and cleaned SQL objects + sqlProcessor = function(transaction, sqlObjects, finalSuccess, failure) { + + var sequenceNumber = 0, + dataForNextTransaction = null, + currentSqlObject = null, + runTransaction = function() { + transaction.executeSql(sqlObjects[sequenceNumber].sql, + sqlObjects[sequenceNumber].data, + successCallback, + failureCallback); + }, + successCallback = function(transaction, results) { + var i, max, rowsArray = []; + + if (html5sql.logInfo) { + console.log("Success processing: " + sqlObjects[sequenceNumber].sql); + } + + //Process the results of a select puting them in a much more manageable array form. + if (html5sql.putSelectResultsInArray && isSelectStmt(sqlObjects[sequenceNumber].sql)) { + for (i = 0, max = results.rows.length; i < max; i++) { + rowsArray[i] = results.rows.item(i); + } + } else { + rowsArray = null; + } + + //Call the success callback provided with sql object + //If an array of data is returned use that data as the + //data attribute of the next transaction + dataForNextTransaction = sqlObjects[sequenceNumber].success(transaction, results, rowsArray); + sequenceNumber++; + if (dataForNextTransaction && $.isArray(dataForNextTransaction)) { + sqlObjects[sequenceNumber].data = dataForNextTransaction; + dataForNextTransaction = null; + } else { + dataForNextTransaction = null; + } + + if (sqlObjects.length > sequenceNumber) { + runTransaction(); + } else { + finalSuccess(transaction, results, rowsArray); + } + }, + failureCallback = function(transaction, error) { + if (html5sql.logErrors) { + console.error("Error: " + error.message + " while processing statment " + (sequenceNumber + 1) + ": " + sqlObjects[sequenceNumber].sql); + } + failure(error, sqlObjects[sequenceNumber].sql); + }; + + runTransaction(); + }, + sqlObjectCreator = function(sqlInput) { + var i; + if (typeof sqlInput === "string") { + trim(sqlInput); + + //Separate sql statements by their ending semicolon + sqlInput = sqlInput.split(';'); + + for (i = 1; i < sqlInput.length; i++) { + //Ensure semicolons within quotes are replaced + while (sqlInput[i].split(/["]/gm).length % 2 === 0 || + sqlInput[i].split(/[']/gm).length % 2 === 0 || + sqlInput[i].split(/[`]/gm).length % 2 === 0) { + sqlInput.splice(i, 2, sqlInput[i] + ";" + sqlInput[i + 1]); + } + //Add back the semicolon at the end of the line + sqlInput[i] = trim(sqlInput[i]) + ';'; + //Get rid of any empty statements + if (sqlInput[i] === ';') { + sqlInput.splice(i, 1); + } + } + } + for (i = 0; i < sqlInput.length; i++) { + //If the array item is only a string format it into an sql object + if (typeof sqlInput[i] === "string") { + sqlInput[i] = { + "sql": sqlInput[i], + "data": [], + "success": doNothing + }; + } else { + if (isUndefined(sqlInput[i].data)) { + sqlInput[i].data = []; + } + if (isUndefined(sqlInput[i].success)) { + sqlInput[i].success = doNothing; + } + // Check to see that the sql object is formated correctly. + if (typeof sqlInput[i] !== "object" || + typeof sqlInput[i].sql !== "string" || + typeof sqlInput[i].success !== "function" || + !isArray(sqlInput[i].data)) { + throw new Error("Malformed sql object: " + JSON.stringify(sqlInput[i])); + } + } + } + return sqlInput; + }, + statementsAreSelectOnly = function(SQLObjects) { + // Returns true if all SQL statement objects are SELECT statements. + var i = 0; + + //Loop over SQL objects ensuring they are select statments + do { + //If the sql string is not a select statement return false + if (!isSelectStmt(SQLObjects[i].sql)) { + return false; + } + i++; + } while (i < SQLObjects.length); + + //If all the statments happen to be select statments return true + return true; + }; + return { + database: null, + logInfo: false, + logErrors: false, + defaultFailureCallback: doNothing, + putSelectResultsInArray: true, + openDatabase: function(name, displayname, size, whenOpen) { + html5sql.database = openDatabase(name, "", displayname, size); + readTransactionAvailable = typeof html5sql.database.readTransaction === 'function'; + if (whenOpen) { + whenOpen(); + } + }, + + process: function(sqlInput, finalSuccessCallback, failureCallback) { + /* + * + * Arguments: + * + * sql = [array SQLObjects] ~ collection of SQL statement objects + * or + * [array SQLStrings] ~ collection of SQL statement strings + * or + * "SQLstring" ~ SQL string to be split at the ';' + * character and processed sequentially + * + * finalSuccessCallback = (function) ~ called after all sql statments have + * been processed. Optional. + * + * failureCallback = (function) ~ called if any of the sql statements + * fails. A default one is used if none + * is provided. + * + * + * SQL statement object: + * { + * sql: "string", !Required! ~ Your sql as a string + * data: [array], Optional ~ The array of data to be sequentially + * inserted into your sql at the ? + * success: (function), Optional ~ A function to be called if this + * individual sql statment succeeds. + * If an array is returned it is used as + * the data for the next sql statement + * processed. + * } + * + * Usage: + * html5sql.process( + * [{ + * sql: "SELECT * FROM table;", + * data: [], + * success: function(){} + * }, + * { + * sql: "SELECT * FROM table;", + * data: [], + * success: function(){} + * }], + * function(){}, + * function(){} + * ); + * + */ + if (html5sql.database) { + + var sqlObjects = sqlObjectCreator(sqlInput); + + if (isUndefined(finalSuccessCallback)) { + finalSuccessCallback = doNothing; + } + + if (isUndefined(failureCallback)) { + failureCallback = html5sql.defaultFailureCallback; + } + + if (statementsAreSelectOnly(sqlObjects) && readTransactionAvailable) { + html5sql.database.readTransaction(function(transaction) { + sqlProcessor(transaction, sqlObjects, finalSuccessCallback, failureCallback); + }); + } else { + html5sql.database.transaction(function(transaction) { + sqlProcessor(transaction, sqlObjects, finalSuccessCallback, failureCallback); + }); + } + } else { + // Database hasn't been opened. + if (html5sql.logErrors) { + console.error("Error: Database needs to be opened before sql can be processed."); + } + return false; + } + }, + + changeVersion: function(oldVersion, newVersion, sqlInput, finalSuccessCallback, failureCallback) { + /* This is the same as html5sql.process but used when you want to change the + * version of your database. If the database version matches the oldVersion + * passed to the function the statements passed to the funciton are + * processed and the version of the database is changed to the new version. + * + * Arguments: + * oldVersion = "String" ~ the old version to upgrade + * newVersion = "String" ~ the new version after the upgrade + * sql = [array SQLObjects] ~ collection of SQL statement objects + * or + * [array SQLStrings] ~ collection of SQL statement strings + * or + * "SQLstring" ~ SQL string to be split at the ';' + * character and processed sequentially + * + * finalSuccessCallback = (function) ~ called after all sql statments have + * been processed. Optional. + * + * failureCallback = (function) ~ called if any of the sql statements + * fails. A default one is used if none + * is provided. + * + * SQL statement object: + * { + * sql: "string", !Required! ~ Your sql as a string + * data: [array], Optional ~ The array of data to be sequentially + * inserted into your sql at the ? + * success: (function), Optional ~ A function to be called if this + * individual sql statment succeeds + * failure: (function), Optional ~ A function to be called if this + * individual sql statement fails + * } + * + * Usage: + * html5sql.changeVersion( + * "1.0", + * "2.0", + * [{ + * sql: "SELECT * FROM table;", + * data: [], + * success: function(){}, + * failure: function(){} + * }, + * { + * sql: "SELECT * FROM table;", + * data: [], + * success: function(){}, + * failure: function(){} + * }], + * function(){}, + * function(){} + * ); + * + */ + if (html5sql.database) { + if (html5sql.database.version === oldVersion) { + var sqlObjects = sqlObjectCreator(sqlInput); + + if (isUndefined(finalSuccessCallback)) { + finalSuccessCallback = doNothing; + } + + if (isUndefined(failureCallback)) { + failureCallback = html5sql.defaultFailureCallback; + } + + html5sql.database.changeVersion(oldVersion, newVersion, function(transaction) { + sqlProcessor(transaction, sqlObjects, finalSuccessCallback, failureCallback); + }); + } + } else { + // Database hasn't been opened. + if (html5sql.logErrors) { + console.log("Error: Database needs to be opened before sql can be processed."); + } + return false; + } + + } + }; + +})(); \ No newline at end of file diff --git a/36Kr/js/index.js b/36Kr/js/index.js new file mode 100644 index 0000000..baa16d7 --- /dev/null +++ b/36Kr/js/index.js @@ -0,0 +1,30 @@ +(function($) { + $.plusReady(function() { + if ($.os.android) { + plus.screen.lockOrientation("portrait-primary"); + var version = parseFloat($.os.version); + if (version < 4.0 || version >= 4.1) { + plus.webview.currentWebview().setStyle({ + render: "always" + }); + } + } + //初始化webview窗口 + //RSS列表页 + plus.webview.currentWebview().append(plus.webview.create('news.html', 'news', { + top: "44px", + bottom: "0px" + })); + //RSS详情页 + plus.webview.create('detail_main.html', 'detail_main').append(plus.webview.create('detail.html', 'detail')); + //设置页 + plus.webview.create('setting.html', 'setting'); + //关于 + plus.webview.create('about.html', 'about'); + //内置浏览器 + plus.webview.create('browser.html', 'browser_main').append(plus.webview.create('', 'browser', { + top: "0px", + bottom: "44px" + })); + }); +})(mui); \ No newline at end of file diff --git a/36Kr/js/mui.min.js b/36Kr/js/mui.min.js new file mode 100644 index 0000000..80b0b4f --- /dev/null +++ b/36Kr/js/mui.min.js @@ -0,0 +1,8 @@ +/*! + * ===================================================== + * Mui v1.2.0 (https://github.com/dcloudio/mui) + * ===================================================== + */ +var mui=function(a,b){var c=/complete|loaded|interactive/,d=/^#([\w-]*)$/,e=/^\.([\w-]+)$/,f=/^[\w-]+$/,g=/translate(?:3d)?\((.+?)\)/,h=/matrix(3d)?\((.+?)\)/,i=function(b,c){if(c=c||a,!b)return j();if("object"==typeof b)return j([b],null);if("function"==typeof b)return i.ready(b);try{if(d.test(b)){var e=a.getElementById(RegExp.$1);return j(e?[e]:[])}return j(i.qsa(b,c),b)}catch(f){}return j()},j=function(a,b){return a=a||[],Object.setPrototypeOf(a,i.fn),a.selector=b||"",a};i.uuid=0,i.data={},i.extend=function(){var a,c,d,e,f,g,h=arguments[0]||{},j=1,k=arguments.length,l=!1;for("boolean"==typeof h&&(l=h,h=arguments[j]||{},j++),"object"==typeof h||i.isFunction(h)||(h={}),j===k&&(h=this,j--);k>j;j++)if(null!=(a=arguments[j]))for(c in a)d=h[c],e=a[c],h!==e&&(l&&e&&(i.isPlainObject(e)||(f=i.isArray(e)))?(f?(f=!1,g=d&&i.isArray(d)?d:[]):g=d&&i.isPlainObject(d)?d:{},h[c]=i.extend(l,g,e)):e!==b&&(h[c]=e));return h},i.noop=function(){},i.slice=[].slice,i.type=function(a){return null===a?String(a):k[{}.toString.call(a)]||"object"},i.isArray=Array.isArray||function(a){return a instanceof Array},i.isWindow=function(a){return null!==a&&a===a.window},i.isObject=function(a){return"object"===i.type(a)},i.isPlainObject=function(a){return i.isObject(a)&&!i.isWindow(a)&&Object.getPrototypeOf(a)===Object.prototype},i.isFunction=function(a){return"function"===i.type(a)},i.qsa=function(b,c){return c=c||a,i.slice.call(e.test(b)?c.getElementsByClassName(RegExp.$1):f.test(b)?c.getElementsByTagName(b):c.querySelectorAll(b))},i.ready=function(b){return c.test(a.readyState)?b(i):a.addEventListener("DOMContentLoaded",function(){b(i)},!1),this},i.map=function(a,b){var c,d,e,f=[];if("number"==typeof a.length)for(d=0,len=a.length;d0?[].concat.apply([],f):f},i.each=function(a,b){if(!a)return this;if("number"==typeof a.length)[].every.call(a,function(a,c){return b.call(a,c,a)!==!1});else for(var c in a)if(b.call(a[c],c,a[c])===!1)return a;return this},i.focus=function(a){i.os.ios?setTimeout(function(){a.focus()},10):a.focus()},i.trigger=function(a,b,c){return a.dispatchEvent(new CustomEvent(b,{detail:c,bubbles:!0,cancelable:!0})),this},i.getStyles=function(a,b){var c=a.ownerDocument.defaultView.getComputedStyle(a,null);return b?c.getPropertyValue(b)||c[b]:c},i.parseTranslate=function(a,b){var c=a.match(g||"");return c&&c[1]||(c=["","0,0,0"]),c=c[1].split(","),c={x:parseFloat(c[0]),y:parseFloat(c[1]),z:parseFloat(c[2])},b&&c.hasOwnProperty(b)?c[b]:c},i.parseTranslateMatrix=function(a,b){var c=a.match(h),d=c&&c[1];c?(c=c[2].split(","),"3d"===d?c=c.slice(12,15):(c.push(0),c=c.slice(4,7))):c=[0,0,0];var e={x:parseFloat(c[0]),y:parseFloat(c[1]),z:parseFloat(c[2])};return b&&e.hasOwnProperty(b)?e[b]:e},i.registerHandler=function(a,b){var c=i[a];return c||(c=[]),b.index=b.index||1e3,c.push(b),c.sort(function(a,b){return a.index-b.index}),i[a]=c,i[a]};var k={};return i.each(["Boolean","Number","String","Function","Array","Date","RegExp","Object","Error"],function(a,b){k["[object "+b+"]"]=b.toLowerCase()}),window.JSON&&(i.parseJSON=JSON.parse),i.fn={each:function(a){return[].every.call(this,function(b,c){return a.call(b,c,b)!==!1}),this}},i}(document);!function(a,b){function c(c){this.os={};var d=[function(){var a=c.match(/(Android);?[\s\/]+([\d.]+)?/);return a&&(this.os.android=!0,this.os.version=a[2],this.os.isBadAndroid=!/Chrome\/\d/.test(b.navigator.appVersion)),this.os.android===!0},function(){var a=c.match(/(iPhone\sOS)\s([\d_]+)/);if(a)this.os.ios=this.os.iphone=!0,this.os.version=a[2].replace(/_/g,".");else{var b=c.match(/(iPad).*OS\s([\d_]+)/);b&&(this.os.ios=this.os.ipad=!0,this.os.version=b[2].replace(/_/g,"."))}return this.os.ios===!0}];[].every.call(d,function(b){return!b.call(a)})}c.call(a,navigator.userAgent)}(mui,window),function(a){function b(a){this.os=this.os||{};var b=a.match(/Html5Plus/i);b&&(this.os.plus=!0)}b.call(a,navigator.userAgent)}(mui),function(a,b,c){a.targets={},a.targetHandles=[],a.registerTarget=function(b){return b.index=b.index||1e3,a.targetHandles.push(b),a.targetHandles.sort(function(a,b){return a.index-b.index}),a.targetHandles},b.addEventListener("touchstart",function(b){for(var d=b.target,e={};d&&d!==c;d=d.parentNode){var f=!1;if(a.each(a.targetHandles,function(c,g){var h=g.name;f||e[h]||!g.hasOwnProperty("handle")?e[h]||g.isReset!==!1&&(a.targets[h]=!1):(a.targets[h]=g.handle(b,d),a.targets[h]&&(e[h]=!0,g.isContinue!==!0&&(f=!0)))}),f)break}})}(mui,window,document),function(a){String.prototype.trim===a&&(String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,"")}),Object.setPrototypeOf=Object.setPrototypeOf||function(a,b){return a.__proto__=b,a}}(),function(){function a(a,b){b=b||{bubbles:!1,cancelable:!1,detail:void 0};var c=document.createEvent("Events"),d=!0;if(b)for(var e in b)"bubbles"===e?d=!!b[e]:c[e]=b[e];return c.initEvent(a,d,!0),c}"undefined"==typeof window.CustomEvent&&(a.prototype=window.Event.prototype,window.CustomEvent=a)}(),function(a){"classList"in a.documentElement||!Object.defineProperty||"undefined"==typeof HTMLElement||Object.defineProperty(HTMLElement.prototype,"classList",{get:function(){function a(a){return function(c){var d=b.className.split(/\s+/),e=d.indexOf(c);a(d,e,c),b.className=d.join(" ")}}var b=this,c={add:a(function(a,b,c){~b||a.push(c)}),remove:a(function(a,b){~b&&a.splice(b,1)}),toggle:a(function(a,b,c){~b?a.splice(b,1):a.push(c)}),contains:function(a){return!!~b.className.split(/\s+/).indexOf(a)},item:function(a){return b.className.split(/\s+/)[a]||null}};return Object.defineProperty(c,"length",{get:function(){return b.className.split(/\s+/).length}}),c}})}(document),function(a){var b=0;a.requestAnimationFrame||(a.requestAnimationFrame=a.webkitRequestAnimationFrame,a.cancelAnimationFrame=a.webkitCancelAnimationFrame||a.webkitCancelRequestAnimationFrame),a.requestAnimationFrame||(a.requestAnimationFrame=function(c){var d=(new Date).getTime(),e=Math.max(0,16.7-(d-b)),f=a.setTimeout(function(){c(d+e)},e);return b=d+e,f}),a.cancelAnimationFrame||(a.cancelAnimationFrame=function(a){clearTimeout(a)})}(window),function(a,b,c){if(!b.FastClick){var d=function(a,b){return!b.type||"radio"!==b.type&&"checkbox"!==b.type||b.disabled?!1:b};a.registerTarget({name:c,index:40,handle:d,target:!1});var e=function(c){var d=a.targets.click;if(d){var e,f;document.activeElement&&document.activeElement!==d&&document.activeElement.blur(),f=c.detail.gesture.changedTouches[0],e=document.createEvent("MouseEvents"),e.initMouseEvent("click",!0,!0,b,1,f.screenX,f.screenY,f.clientX,f.clientY,!1,!1,!1,!1,0,null),e.forwardedTouchEvent=!0,d.dispatchEvent(e)}};b.addEventListener("tap",e),b.addEventListener("doubletap",e),b.addEventListener("click",function(b){return a.targets.click&&!b.forwardedTouchEvent?(b.stopImmediatePropagation?b.stopImmediatePropagation():b.propagationStopped=!0,b.stopPropagation(),b.preventDefault(),!1):void 0},!0)}}(mui,window,"click"),function(a,b){a(function(){if(a.os.ios){var c="mui-focusin",d="mui-bar-tab",e="mui-bar-footer",f="mui-bar-footer-secondary",g="mui-bar-footer-secondary-tab";b.addEventListener("focusin",function(a){var h=a.target;if(h.tagName&&"INPUT"===h.tagName&&"text"===h.type){b.body.classList.add(c);for(var i=!1;h&&h!==b;h=h.parentNode){var j=h.classList;if(j&&j.contains(d)||j.contains(e)||j.contains(f)||j.contains(g)){i=!0;break}}if(i){var k=b.body.scrollHeight,l=b.body.scrollLeft;setTimeout(function(){window.scrollTo(l,k)},20)}}}),b.addEventListener("focusout",function(){var a=b.body.classList;a.contains(c)&&(a.remove(c),setTimeout(function(){window.scrollTo(b.body.scrollLeft,b.body.scrollTop)},20))})}})}(mui,document),function(a){a.namespace="mui",a.classNamePrefix=a.namespace+"-",a.classSelectorPrefix="."+a.classNamePrefix,a.className=function(b){return a.classNamePrefix+b},a.classSelector=function(b){return b.replace(/\./g,a.classSelectorPrefix)},a.eventName=function(b,c){return b+(a.namespace?"."+a.namespace:"")+(c?"."+c:"")}}(mui),function(a,b){a.EVENT_START="touchstart",a.EVENT_MOVE="touchmove",a.EVENT_END="touchend",a.EVENT_CANCEL="touchcancel",a.EVENT_CLICK="click",a.preventDefault=function(a){a.preventDefault()},a.stopPropagation=function(a){a.stopPropagation()},a.registerGesture=function(b){return a.registerHandler("gestures",b)};var c=function(a,b){var c=b.x-a.x,d=b.y-a.y;return Math.sqrt(c*c+d*d)},d=function(a,b){return 180*Math.atan2(b.y-a.y,b.x-a.x)/Math.PI},e=function(a){return-45>a&&a>-135?"up":a>=45&&135>a?"down":a>=135||-135>=a?"left":a>=-45&&45>=a?"right":null},f=function(b,c){a.gestures.stoped||a.each(a.gestures,function(d,e){a.gestures.stoped||a.options.gestureConfig[e.name]!==!1&&e.handle(b,c)})},g=function(b){a.gestures.stoped=!1;var c=Date.now(),d=b.touches?b.touches[0]:b;a.gestures.touch={target:b.target,lastTarget:a.gestures.touch&&a.gestures.touch.lastTarget?a.gestures.touch.lastTarget:null,startTime:c,touchTime:0,flickStartTime:c,lastTapTime:a.gestures.touch&&a.gestures.touch.lastTapTime?a.gestures.touch.lastTapTime:0,start:{x:d.pageX,y:d.pageY},flickStart:{x:d.pageX,y:d.pageY},flickDistanceX:0,flickDistanceY:0,move:{x:0,y:0},deltaX:0,deltaY:0,lastDeltaX:0,lastDeltaY:0,angle:"",direction:"",lockDirection:!1,startDirection:"",distance:0,drag:!1,swipe:!1,hold:!1,gesture:b},f(b,a.gestures.touch)},h=function(b){if(!a.gestures.stoped){var g=a.gestures.touch;if(b.target==g.target){var h=Date.now(),i=b.touches?b.touches[0]:b;g.touchTime=h-g.startTime,g.move={x:i.pageX,y:i.pageY},h-g.flickStartTime>300&&(g.flickStartTime=h,g.flickStart=g.move),g.distance=c(g.start,g.move),g.angle=d(g.start,g.move),g.direction=e(g.angle),g.lastDeltaX=g.deltaX,g.lastDeltaY=g.deltaY,g.deltaX=g.move.x-g.start.x,g.deltaY=g.move.y-g.start.y,g.gesture=b,f(b,g)}}},i=function(b){if(!a.gestures.stoped){var c=a.gestures.touch;if(b.target==c.target){var d=Date.now();c.touchTime=d-c.startTime,c.flickTime=d-c.flickStartTime,c.flickDistanceX=c.move.x-c.flickStart.x,c.flickDistanceY=c.move.y-c.flickStart.y,c.gesture=b,f(b,c)}}};b.addEventListener(a.EVENT_START,g),b.addEventListener(a.EVENT_MOVE,h),b.addEventListener(a.EVENT_END,i),b.addEventListener(a.EVENT_CANCEL,i),b.addEventListener(a.EVENT_CLICK,function(b){(a.targets.popover&&b.target===a.targets.popover||a.targets.tab||a.targets.offcanvas||a.targets.modal)&&b.preventDefault()},!0),a.fn.on=function(b,c,d){this.each(function(){var e=this;e.addEventListener(b,function(b){var f=a.qsa(c,e),g=b.target;if(f&&f.length>0)for(;g&&g!==document&&g!==e;g=g.parentNode)g&&~f.indexOf(g)&&(b.detail?b.detail.currentTarget=g:b.detail={currentTarget:g},d.call(g,b))}),e.removeEventListener(a.EVENT_CLICK,j),e.addEventListener(a.EVENT_CLICK,j)})};var j=function(a){var b=a.target&&a.target.tagName;"INPUT"!==b&&"TEXTAREA"!==b&&"SELECT"!==b&&a.preventDefault()};a.isScrolling=!1;var k=null;b.addEventListener("scroll",function(){a.isScrolling=!0,k&&clearTimeout(k),k=setTimeout(function(){a.isScrolling=!1},250)})}(mui,window),function(a,b){var c=function(c,d){if(c.type===a.EVENT_END||c.type===a.EVENT_CANCEL){var e=this.options;d.direction&&e.flickMaxTime>d.flickTime&&d.distance>e.flickMinDistince&&(d.flick=!0,a.trigger(c.target,b,d),a.trigger(c.target,b+d.direction,d))}};a.registerGesture({name:b,index:5,handle:c,options:{flickMaxTime:200,flickMinDistince:10}})}(mui,"flick"),function(a,b){var c=function(c,d){if(c.type===a.EVENT_END||c.type===a.EVENT_CANCEL){var e=this.options;d.direction&&e.swipeMaxTime>d.touchTime&&d.distance>e.swipeMinDistince&&(d.swipe=!0,a.trigger(c.target,b+d.direction,d))}};a.registerGesture({name:b,index:10,handle:c,options:{swipeMaxTime:300,swipeMinDistince:18}})}(mui,"swipe"),function(a,b){var c=function(c,d){switch(c.type){case a.EVENT_MOVE:d.direction&&(d.lockDirection&&d.startDirection&&d.startDirection&&d.startDirection!==d.direction&&(d.direction="up"===d.startDirection||"down"===d.startDirection?d.deltaY<0?"up":"down":d.deltaX<0?"left":"right"),d.drag||(d.drag=!0,a.trigger(c.target,b+"start",d)),a.trigger(c.target,b,d),a.trigger(c.target,b+d.direction,d));break;case a.EVENT_END:case a.EVENT_CANCEL:d.drag&&a.trigger(c.target,b+"end",d)}};a.registerGesture({name:b,index:20,handle:c,options:{}})}(mui,"drag"),function(a,b){var c=function(c,d){if(c.type===a.EVENT_END){var e=this.options;if(d.distancef.holdThreshold&&clearTimeout(c);break;case a.EVENT_END:case a.EVENT_CANCEL:clearTimeout(c)}};a.registerGesture({name:b,index:10,handle:d,options:{holdTimeout:500,holdThreshold:2}})}(mui,"longtap"),function(a,b){var c,d=function(d,e){var f=this.options;switch(d.type){case a.EVENT_START:clearTimeout(c),c=setTimeout(function(){e.hold=!0,a.trigger(d.target,b,e)},f.holdTimeout);break;case a.EVENT_MOVE:break;case a.EVENT_END:case a.EVENT_CANCEL:clearTimeout(c),a.options.gestureConfig.hold&&e.hold&&a.trigger(d.target,"release",e)}};a.registerGesture({name:b,index:10,handle:d,options:{holdTimeout:0}})}(mui,"hold"),function(a){a.global=a.options={gestureConfig:{tap:!0,doubletap:!1,longtap:!1,hold:!1,flick:!0,swipe:!0,drag:!0}},a.initGlobal=function(b){return a.options=a.extend(!0,a.global,b),this};var b={},c=!1;a.init=function(d){return c=!0,a.options=a.extend(!0,a.global,d||{}),a.ready(function(){a.each(a.inits,function(c,d){var e=!(b[d.name]&&!d.repeat);e&&(d.handle.call(a),b[d.name]=!0)})}),this},a.registerInit=function(b){return a.registerHandler("inits",b)},a(function(){a.os.ios?document.body.classList.add("mui-ios"):a.os.android&&document.body.classList.add("mui-android")})}(mui),function(a){var b={swipeBack:!1,preloadPages:[],preloadLimit:10,keyEventBind:{backbutton:!0,menubutton:!0}},c={autoShow:!0,duration:a.os.ios?200:100,aniShow:"slide-in-right"};a.options.show&&(c=a.extend(!0,c,a.options.show)),a.currentWebview=null,a.isHomePage=!1,a.extend(!0,a.global,b),a.extend(!0,a.options,b),a.waitingOptions=function(b){return a.extend({autoShow:!0,title:""},b)},a.showOptions=function(b){return a.extend(c,b)},a.windowOptions=function(b){return a.extend({scalable:!1,bounce:""},b)},a.plusReady=function(a){return window.plus?a():document.addEventListener("plusready",function(){a()},!1),this},a.fire=function(a,b,c){a&&a.evalJS("typeof mui!=='undefined'&&mui.receive('"+b+"','"+JSON.stringify(c||{})+"')")},a.receive=function(b,c){b&&(c=JSON.parse(c),a.trigger(document,b,c))};var d=function(b){if(!b.preloaded){a.fire(b,"preload");for(var c=b.children(),d=0;da.options.preloadLimit){var h=a.data.preloads.shift(),i=a.webviews[h];i&&i.webview&&a.closeAll(i.webview),delete a.webviews[h]}}else c!==!1&&(d=plus.webview.create(b.url,e,a.windowOptions(b.styles),b.extras),b.subpages&&a.each(b.subpages,function(b,c){var e=plus.webview.create(c.url,c.id||c.url,a.windowOptions(c.styles),c.extras);d.append(e)}));return d}},a.preload=function(b){return b.preload||(b.preload=!0),a.createWindow(b)},a.closeOpened=function(b){var c=b.opened();if(c)for(var d=0,e=c.length;e>d;d++){var f=c[d],g=f.opened();g&&g.length>0?a.closeOpened(f):f.parent()!==b&&f.close("none")}},a.closeAll=function(b,c){a.closeOpened(b),c?b.close(c):b.close()},a.createWindows=function(b){a.each(b,function(b,c){a.createWindow(c,!1)})},a.appendWebview=function(b){if(window.plus){var c,d=b.id||b.url;return a.webviews[d]||(c=plus.webview.create(b.url,d,b.styles,b.extras),c.addEventListener("loaded",function(){a.currentWebview.append(c)}),a.webviews[d]=b),c}},a.webviews={},a.data.preloads=[],a.plusReady(function(){a.currentWebview=plus.webview.currentWebview()}),a.registerInit({name:"5+",index:100,handle:function(){var b=a.options,c=b.subpages||[];if(a.os.plus)a.plusReady(function(){a.each(c,function(b,c){a.appendWebview(c)}),a.currentWebview===plus.webview.getWebviewById(plus.runtime.appid)&&(a.isHomePage=!0,setTimeout(function(){d(a.currentWebview)},300)),a.os.ios&&a.options.statusBarBackground&&plus.navigator.setStatusBarBackground(a.options.statusBarBackground),a.os.android&&parseFloat(a.os.version)<4.4&&null==plus.webview.currentWebview().parent()&&document.addEventListener("resume",function(){var a=document.body;a.style.display="none",setTimeout(function(){a.style.display=""},10)})});else if(c.length>0){var e=document.createElement("div");e.className="mui-error";var f=document.createElement("span");f.innerHTML="在该浏览器下,不支持创建子页面,具体参考",e.appendChild(f);var g=document.createElement("a");g.innerHTML='"mui框架适用场景"',g.href="http://ask.dcloud.net.cn/article/113",e.appendChild(g),document.body.appendChild(e),console.log("在该浏览器下,不支持创建子页面")}}}),window.addEventListener("preload",function(){var b=a.options.preloadPages||[];a.plusReady(function(){a.each(b,function(b,c){a.createWindow(a.extend(c,{preload:!0}))})})})}(mui),function(a,b){a.registerBack=function(b){return a.registerHandler("backs",b)},a.registerBack({name:"browser",index:100,handle:function(){return b.history.length>1?(b.history.back(),!0):!1}}),a.back=function(){("function"!=typeof a.options.beforeback||a.options.beforeback()!==!1)&&a.each(a.backs,function(a,b){return!b.handle()})},b.addEventListener("tap",function(){var b=a.targets.action;b&&b.classList.contains("mui-action-back")&&a.back()}),b.addEventListener("swiperight",function(b){var c=b.detail;a.options.swipeBack===!0&&Math.abs(c.angle)<3&&a.back()})}(mui,window),function(a,b){a.os.plus&&a.os.android&&a.registerBack({name:"mui",index:5,handle:function(){if(a.targets._popover)return a(a.targets._popover).popover("hide"),!0;var b=document.querySelector(".mui-off-canvas-wrap.mui-active");return b?(a(b).offCanvas("close"),!0):void 0}}),a.registerBack({name:"5+",index:10,handle:function(){if(!b.plus)return!1;var c=plus.webview.currentWebview(),d=c.parent();return d?d.evalJS("mui&&mui.back();"):c.canBack(function(d){if(d.canBack)b.history.back();else{var e=c.opener();e&&(c.preload?c.hide("auto"):a.closeAll(c))}}),!0}}),a.menu=function(){var c=document.querySelector(".mui-action-menu");if(c)a.trigger(c,"touchstart"),a.trigger(c,"tap");else if(b.plus){var d=a.currentWebview,e=d.parent();e&&e.evalJS("mui&&mui.menu();")}},a.registerInit({name:"keyEventBind",index:1e3,handle:function(){a.plusReady(function(){a.options.keyEventBind.backbutton&&plus.key.addEventListener("backbutton",a.back,!1),a.options.keyEventBind.menubutton&&plus.key.addEventListener("menubutton",a.menu,!1)})}})}(mui,window),function(a){a.registerInit({name:"pullrefresh",index:1e3,handle:function(){var b=a.options,c=b.pullRefresh||{},d=c.down&&c.down.hasOwnProperty("callback"),e=c.up&&c.up.hasOwnProperty("callback");if(d||e){var f=c.container;if(f){var g=a(f);1===g.length&&(a.os.plus&&a.os.android?a.plusReady(function(){var b=plus.webview.currentWebview();if(e){var f={};f.up=c.up,f.webviewId=b.id||b.getURL(),g.pullRefresh(f)}if(d){var h=b.parent(),i=b.id||b.getURL();if(h){e||g.pullRefresh({webviewId:i});var j={webviewId:i};j.down=a.extend({},c.down),j.down.callback="_CALLBACK",h.evalJS("mui&&mui(document.querySelector('.mui-content')).pullRefresh('"+JSON.stringify(j)+"')")}}}):g.pullRefresh(c))}}}})}(mui),function(a,b,c){var d="application/json",e="text/html",f=/)<[^<]*)*<\/script>/gi,g=/^(?:text|application)\/javascript/i,h=/^(?:text|application)\/xml/i,i=/^\s*$/;a.ajaxSettings={type:"GET",success:a.noop,error:a.noop,complete:a.noop,context:null,xhr:function(){return new b.XMLHttpRequest},accepts:{script:"text/javascript, application/javascript, application/x-javascript",json:d,xml:"application/xml, text/xml",html:e,text:"text/plain"},timeout:0,processData:!0,cache:!0};var j=function(a,b,c){c.success.call(c.context,a,"success",b),l("success",b,c)},k=function(a,b,c,d){d.error.call(d.context,c,b,a),l(b,c,d)},l=function(a,b,c){c.complete.call(c.context,b,a)},m=function(b,c,d,e){var f,g=a.isArray(c),h=a.isPlainObject(c);a.each(c,function(c,i){f=a.type(i),e&&(c=d?e:e+"["+(h||"object"===f||"array"===f?c:"")+"]"),!e&&g?b.add(i.name,i.value):"array"===f||!d&&"object"===f?m(b,i,d,c):b.add(c,i)})},n=function(b){b.processData&&b.data&&"string"!=typeof b.data&&(b.data=a.param(b.data,b.traditional)),!b.data||b.type&&"GET"!==b.type.toUpperCase()||(b.url=o(b.url,b.data),b.data=c)},o=function(a,b){return""===b?a:(a+"&"+b).replace(/[&?]{1,2}/,"?")},p=function(a){return a&&(a=a.split(";",2)[0]),a&&(a===e?"html":a===d?"json":g.test(a)?"script":h.test(a)&&"xml")||"text"},q=function(b,d,e,f){return a.isFunction(d)&&(f=e,e=d,d=c),a.isFunction(e)||(f=e,e=c),{url:b,data:d,success:e,dataType:f}};a.ajax=function(d,e){"object"==typeof d&&(e=d,d=c);var f=e||{};f.url=d||f.url;for(key in a.ajaxSettings)f[key]===c&&(f[key]=a.ajaxSettings[key]);n(f);var g=f.dataType;f.cache!==!1&&(e&&e.cache===!0||"script"!==g)||(f.url=o(f.url,"_="+Date.now()));var h,l=f.accepts[g],m={},q=function(a,b){m[a.toLowerCase()]=[a,b]},r=/^([\w-]+:)\/\//.test(f.url)?RegExp.$1:b.location.protocol,s=f.xhr(r),t=s.setRequestHeader;if(q("X-Requested-With","XMLHttpRequest"),q("Accept",l||"*/*"),(l=f.mimeType||l)&&(l.indexOf(",")>-1&&(l=l.split(",",2)[0]),s.overrideMimeType&&s.overrideMimeType(l)),(f.contentType||f.contentType!==!1&&f.data&&"GET"!==f.type.toUpperCase())&&q("Content-Type",f.contentType||"application/x-www-form-urlencoded"),f.headers)for(name in f.headers)q(name,f.headers[name]);if(s.setRequestHeader=q,s.onreadystatechange=function(){if(4===s.readyState){s.onreadystatechange=a.noop,clearTimeout(h);var b,c=!1;if(s.status>=200&&s.status<300||304===s.status||0===s.status&&"file:"===r){g=g||p(f.mimeType||s.getResponseHeader("content-type")),b=s.responseText;try{"script"===g?(1,eval)(b):"xml"===g?b=s.responseXML:"json"===g&&(b=i.test(b)?null:a.parseJSON(b))}catch(d){c=d}c?k(c,"parsererror",s,f):j(b,s,f)}else k(s.statusText||null,s.status?"error":"abort",s,f)}},f.xhrFields)for(name in f.xhrFields)s[name]=f.xhrFields[name];var u="async"in f?f.async:!0;s.open(f.type,f.url,u,f.username,f.password);for(name in m)t.apply(s,m[name]);return f.timeout>0&&(h=setTimeout(function(){s.onreadystatechange=a.noop,s.abort(),k(null,"timeout",s,f)},f.timeout)),s.send(f.data?f.data:null),s},a.param=function(a,b){var c=[];return c.add=function(a,b){this.push(encodeURIComponent(a)+"="+encodeURIComponent(b))},m(c,a,b),c.join("&").replace(/%20/g,"+")},a.get=function(){return a.ajax(q.apply(null,arguments))},a.post=function(){var b=q.apply(null,arguments);return b.type="POST",a.ajax(b)},a.getJSON=function(){var b=q.apply(null,arguments);return b.dataType="json",a.ajax(b)},a.fn.load=function(b,c,d){if(!this.length)return this;var e,g=this,h=b.split(/\s/),i=q(b,c,d),j=i.success;return h.length>1&&(i.url=h[0],e=h[1]),i.success=function(a){if(e){var b=document.createElement("div");b.innerHTML=a.replace(f,"");var c=document.createElement("div"),d=b.querySelectorAll(e);if(d&&d.length>0)for(var h=0,i=d.length;i>h;h++)c.appendChild(d[h]);g[0].innerHTML=c.innerHTML}else g[0].innerHTML=a;j&&j.apply(g,arguments)},a.ajax(i),this}}(mui,window),function(a){a.plusReady(function(){a.ajaxSettings=a.extend(a.ajaxSettings,{xhr:function(a){return"file:"===a?new window.XMLHttpRequest:new plus.net.XMLHttpRequest}})})}(mui),function(a,b,c){a.offset=function(a){var d={top:0,left:0};return typeof a.getBoundingClientRect!==c&&(d=a.getBoundingClientRect()),{top:d.top+b.pageYOffset-a.clientTop,left:d.left+b.pageXOffset-a.clientLeft}}}(mui,window),function(a,b){a.scrollTo=function(a,c,d){c=c||1e3;var e=function(c){if(0>=c)return void(d&&d());var f=a-b.scrollY;setTimeout(function(){b.scrollTo(0,b.scrollY+f/c*10),e(c-10)},16.7)};e(c)},a.animationFrame=function(a){var b,c,d;return function(){b=arguments,d=this,c||(c=!0,requestAnimationFrame(function(){a.apply(d,b),c=!1}))}}}(mui,window),function(a){var b=!1,c=/xyz/.test(function(){xyz})?/\b_super\b/:/.*/,d=function(){};d.extend=function(a){function d(){!b&&this.init&&this.init.apply(this,arguments)}var e=this.prototype;b=!0;var f=new this;b=!1;for(var g in a)f[g]="function"==typeof a[g]&&"function"==typeof e[g]&&c.test(a[g])?function(a,b){return function(){var c=this._super;this._super=e[a];var d=b.apply(this,arguments);return this._super=c,d}}(g,a[g]):a[g];return d.prototype=f,d.prototype.constructor=d,d.extend=arguments.callee,d},a.Class=d}(mui),function(a,b){var c="mui-pull-top-pocket",d="mui-pull-bottom-pocket",e="mui-pull",f="mui-pull-loading",g="mui-pull-caption",h="mui-icon",i="mui-spinner",j="mui-icon-pulldown",k="mui-block",l="mui-hidden",m="mui-visibility",n=f+" "+h+" "+j,o=f+" "+h+" "+j,p=f+" "+h+" "+i,q=['
','
','
{contentrefresh}
',"
"].join(""),r={init:function(b,c){this._super(b,a.extend(!0,{scrollY:!0,scrollX:!1,indicators:!0,down:{height:50,contentdown:"下拉可以刷新",contentover:"释放立即刷新",contentrefresh:"正在刷新..."},up:{height:50,contentdown:"上拉显示更多",contentrefresh:"正在加载...",contentnomore:"没有更多数据了",duration:300}},c))},_init:function(){this._super(),this._initPocket()},_initPulldownRefresh:function(){this.pulldown=!0,this.pullPocket=this.topPocket,this.pullPocket.classList.add(k),this.pullPocket.classList.add(m),this.pullCaption=this.topCaption,this.pullLoading=this.topLoading},_initPullupRefresh:function(){this.pulldown=!1,this.pullPocket=this.bottomPocket,this.pullPocket.classList.add(k),this.pullPocket.classList.add(m),this.pullCaption=this.bottomCaption,this.pullLoading=this.bottomLoading},_initPocket:function(){var a=this.options;a.down&&a.down.hasOwnProperty("callback")&&(this.topPocket=this.scroller.querySelector("."+c),this.topPocket||(this.topPocket=this._createPocket(c,a.down,o),this.wrapper.insertBefore(this.topPocket,this.wrapper.firstChild)),this.topLoading=this.topPocket.querySelector("."+f),this.topCaption=this.topPocket.querySelector("."+g)),a.up&&a.up.hasOwnProperty("callback")&&(this.bottomPocket=this.scroller.querySelector("."+d),this.bottomPocket||(this.bottomPocket=this._createPocket(d,a.up,p),this.scroller.appendChild(this.bottomPocket)),this.bottomLoading=this.bottomPocket.querySelector("."+f),this.bottomCaption=this.bottomPocket.querySelector("."+g),this.wrapper.addEventListener("scrollbottom",this))},_createPocket:function(a,c,d){var e=b.createElement("div");return e.className=a,e.innerHTML=q.replace("{contentrefresh}",c.contentrefresh).replace("{icon}",d),e},_resetPullDownLoading:function(){var a=this.pullLoading;a&&(this.pullCaption.innerHTML=this.options.down.contentdown,a.style.webkitTransition="",a.style.webkitTransform="",a.style.webkitAnimation="",a.className=o)},_setCaption:function(a,b){if(!this.loading){var c=this.options,d=this.pullPocket,e=this.pullCaption,f=this.pullLoading,g=this.pulldown;d&&(b?setTimeout(function(){e.innerHTML=a,f.className=g?o:p,f.style.webkitAnimation="",f.style.webkitTransition="",f.style.webkitTransform=""},100):a!==this.lastTitle&&(e.innerHTML=a,g?a===c.down.contentrefresh?(f.className=p,f.style.webkitAnimation="spinner-spin 1s step-end infinite"):a===c.down.contentover?(f.className=n,f.style.webkitTransition="-webkit-transform 0.3s ease-in",f.style.webkitTransform="rotate(180deg)"):a===c.down.contentdown&&(f.className=o,f.style.webkitTransition="-webkit-transform 0.3s ease-in",f.style.webkitTransform="rotate(0deg)"):f.className=a===c.up.contentrefresh?p+" "+m:p+" "+l,this.lastTitle=a))}}};a.PullRefresh=r}(mui,document),function(a,b,c,d){var e="mui-scrollbar",f="mui-scrollbar-indicator",g=e+"-vertical",h=e+"-horizontal",i="mui-active",j={quadratic:{style:"cubic-bezier(0.25, 0.46, 0.45, 0.94)",fn:function(a){return a*(2-a)}},circular:{style:"cubic-bezier(0.1, 0.57, 0.1, 1)",fn:function(a){return Math.sqrt(1- --a*a)}}},k=a.Class.extend({init:function(b,c){this.wrapper=this.element=b,this.scroller=this.wrapper.children[0],this.scrollerStyle=this.scroller&&this.scroller.style,this.stopped=!1,this.options=a.extend(!0,{scrollY:!0,scrollX:!1,startX:0,startY:0,indicators:!0,stopPropagation:!1,hardwareAccelerated:!0,fixedBadAndorid:!1,preventDefaultException:{tagName:/^(INPUT|TEXTAREA|BUTTON|SELECT)$/},momentum:!0,snap:!1,bounce:!0,bounceTime:300,bounceEasing:j.circular.style,directionLockThreshold:5,parallaxElement:!1,parallaxRatio:.5},c),this.x=0,this.y=0,this.translateZ=this.options.hardwareAccelerated?" translateZ(0)":"",this._init(),this.scroller&&(this.refresh(),this.scrollTo(this.options.startX,this.options.startY))},_init:function(){this._initParallax(),this._initIndicators(),this._initEvent()},_initParallax:function(){this.options.parallaxElement&&(this.parallaxElement=c.querySelector(this.options.parallaxElement),this.parallaxStyle=this.parallaxElement.style,this.parallaxHeight=this.parallaxElement.offsetHeight,this.parallaxImgStyle=this.parallaxElement.querySelector("img").style)},_initIndicators:function(){var a=this;if(a.indicators=[],this.options.indicators){var b,c=[];a.options.scrollY&&(b={el:this._createScrollBar(g),listenX:!1},this.wrapper.appendChild(b.el),c.push(b)),this.options.scrollX&&(b={el:this._createScrollBar(h),listenY:!1},this.wrapper.appendChild(b.el),c.push(b));for(var d=c.length;d--;)this.indicators.push(new l(this,c[d]));this.wrapper.addEventListener("scrollend",function(){a.indicators.map(function(a){a.fade()})}),this.wrapper.addEventListener("scrollstart",function(){a.indicators.map(function(a){a.fade(1)})}),this.wrapper.addEventListener("refresh",function(){a.indicators.map(function(a){a.refresh()})})}},_initSnap:function(){this.currentPage={},this.pages=[];for(var a=this.snaps,b=a.length,c=0,d=-1,e=0,f=0,g=0;b>g;g++){var h=a[g],j=h.offsetLeft,k=h.offsetWidth;(0===g||j<=a[g-1].offsetLeft)&&(c=0,d++),this.pages[c]||(this.pages[c]=[]),e=this._getSnapX(j),f=e-Math.round(k/2),this.pages[c][d]={x:e,cx:f,pageX:c,element:h},h.classList.contains(i)&&(this.currentPage=this.pages[c][0]),e>=this.maxScrollX&&c++ +}this.options.startX=this.currentPage.x||0},_getSnapX:function(a){return Math.max(Math.min(0,-a+this.wrapperWidth/2),this.maxScrollX)},_gotoPage:function(a){this.currentPage=this.pages[Math.min(a,this.pages.length-1)][0];for(var b=0,c=this.snaps.length;c>b;b++)b===a?this.snaps[b].classList.add(i):this.snaps[b].classList.remove(i);this.scrollTo(this.currentPage.x,0,this.options.bounceTime)},_nearestSnap:function(a){if(!this.pages.length)return{x:0,pageX:0};var b=0,c=this.pages.length;for(a>0?a=0:ab;b++)if(a>=this.pages[b][0].cx)return this.pages[b][0];return{x:0,pageX:0}},_initEvent:function(){b.addEventListener("orientationchange",this),b.addEventListener("resize",this),this.scroller.addEventListener("webkitTransitionEnd",this),this.wrapper.addEventListener("touchstart",this),this.wrapper.addEventListener("touchcancel",this),this.wrapper.addEventListener("touchend",this),this.wrapper.addEventListener("drag",this),this.wrapper.addEventListener("dragend",this),this.wrapper.addEventListener("flick",this),this.wrapper.addEventListener("scrollend",this),this.options.scrollX&&this.wrapper.addEventListener("swiperight",this);var c=this.wrapper.querySelector(".mui-segmented-control");c&&mui(c).on("click","a",a.preventDefault)},handleEvent:function(a){if(this.stopped)return void this.resetPosition();switch(a.type){case"touchstart":this._start(a);break;case"drag":this.options.stopPropagation&&a.stopPropagation(),this._drag(a);break;case"dragend":case"flick":this.options.stopPropagation&&a.stopPropagation(),this._flick(a);break;case"touchcancel":case"touchend":this._end(a);break;case"webkitTransitionEnd":this._transitionEnd(a);break;case"scrollend":this._scrollend(a);break;case"orientationchange":case"resize":this._resize();break;case"swiperight":a.stopPropagation()}},_start:function(b){if(this.moved=this.needReset=!1,this._transitionTime(),this.isInTransition){this.needReset=!0,this.isInTransition=!1;var c=a.parseTranslateMatrix(a.getStyles(this.scroller,"webkitTransform"));this.setTranslate(Math.round(c.x),Math.round(c.y)),this.resetPosition(),a.trigger(this.wrapper,"scrollend",this),b.preventDefault()}this.reLayout(),a.trigger(this.wrapper,"beforescrollstart",this)},_getDirectionByAngle:function(a){return-80>a&&a>-100?"up":a>=80&&100>a?"down":a>=170||-170>=a?"left":a>=-35&&10>=a?"right":null},_drag:function(c){var d=c.detail;if((this.options.scrollY||"up"===d.direction||"down"===d.direction)&&a.os.ios&&parseFloat(a.os.version)>=8){var e=d.gesture.touches[0].clientY;if(e+10>b.innerHeight||10>e)return void this.resetPosition(this.options.bounceTime)}var f=isReturn=!1,g=this._getDirectionByAngle(d.angle);if("left"===d.direction||"right"===d.direction?this.options.scrollX?(f=!0,this.moved||("left"!==g&&"right"!==g?isReturn=!0:(a.gestures.touch.lockDirection=!0,a.gestures.touch.startDirection=d.direction))):this.options.scrollY&&!this.moved&&(isReturn=!0):"up"===d.direction||"down"===d.direction?this.options.scrollY?(f=!0,this.moved||(a.gestures.touch.lockDirection=!0,a.gestures.touch.startDirection=d.direction)):this.options.scrollX&&!this.moved&&(isReturn=!0):isReturn=!0,f&&(c.stopPropagation(),d.gesture&&d.gesture.preventDefault()),!isReturn){this.moved?c.stopPropagation():a.trigger(this.wrapper,"scrollstart",this);var h=0,i=0;this.moved?(h=d.deltaX-d.lastDeltaX,i=d.deltaY-d.lastDeltaY):(h=d.deltaX,i=d.deltaY);var j=Math.abs(d.deltaX),k=Math.abs(d.deltaY);j>k+this.options.directionLockThreshold?i=0:k>=j+this.options.directionLockThreshold&&(h=0),h=this.hasHorizontalScroll?h:0,i=this.hasVerticalScroll?i:0;var l=this.x+h,m=this.y+i;(l>0||l0?0:this.maxScrollX),(m>0||m0?0:this.maxScrollY),this.requestAnimationFrame||this._updateTranslate(),this.moved=!0,this.x=l,this.y=m,a.trigger(this.wrapper,"scroll",this)}},_flick:function(b){if(this.moved){b.stopPropagation();var c=b.detail;if(this._clearRequestAnimationFrame(),"dragend"!==b.type||!c.flick){var d=Math.round(this.x),e=Math.round(this.y);if(this.isInTransition=!1,!this.resetPosition(this.options.bounceTime)){if(this.scrollTo(d,e),"dragend"===b.type)return void a.trigger(this.wrapper,"scrollend",this);var f=0,g="";return this.options.momentum&&c.flickTime<300&&(momentumX=this.hasHorizontalScroll?this._momentum(this.x,c.flickDistanceX,c.flickTime,this.maxScrollX,this.options.bounce?this.wrapperWidth:0,this.options.deceleration):{destination:d,duration:0},momentumY=this.hasVerticalScroll?this._momentum(this.y,c.flickDistanceY,c.flickTime,this.maxScrollY,this.options.bounce?this.wrapperHeight:0,this.options.deceleration):{destination:e,duration:0},d=momentumX.destination,e=momentumY.destination,f=Math.max(momentumX.duration,momentumY.duration),this.isInTransition=!0),d!=this.x||e!=this.y?((d>0||d0||e0&&this.y<=this.maxScrollY&&a.trigger(this.wrapper,"scrollbottom",this)},_resize:function(){var a=this;clearTimeout(a.resizeTimeout),a.resizeTimeout=setTimeout(function(){a.refresh()},a.options.resizePolling)},_transitionTime:function(b){if(b=b||0,this.scrollerStyle.webkitTransitionDuration=b+"ms",this.parallaxElement&&this.options.scrollY&&(this.parallaxStyle.webkitTransitionDuration=b+"ms"),this.options.fixedBadAndorid&&!b&&a.os.isBadAndroid&&(this.scrollerStyle.webkitTransitionDuration="0.001s",this.parallaxElement&&this.options.scrollY&&(this.parallaxStyle.webkitTransitionDuration="0.001s")),this.indicators)for(var c=this.indicators.length;c--;)this.indicators[c].transitionTime(b)},_transitionTimingFunction:function(a){if(this.scrollerStyle.webkitTransitionTimingFunction=a,this.parallaxElement&&this.options.scrollY&&(this.parallaxStyle.webkitTransitionDuration=a),this.indicators)for(var b=this.indicators.length;b--;)this.indicators[b].transitionTimingFunction(a)},_translate:function(a,b){this.x=a,this.y=b},_clearRequestAnimationFrame:function(){this.requestAnimationFrame&&(cancelAnimationFrame(this.requestAnimationFrame),this.requestAnimationFrame=null)},_updateTranslate:function(){var a=this;(a.x!==a.lastX||a.y!==a.lastY)&&a.setTranslate(a.x,a.y),a.requestAnimationFrame=requestAnimationFrame(function(){a._updateTranslate()})},_createScrollBar:function(a){var b=c.createElement("div"),d=c.createElement("div");return b.className=e+" "+a,d.className=f,b.appendChild(d),a===g?(this.scrollbarY=b,this.scrollbarIndicatorY=d):a===h&&(this.scrollbarX=b,this.scrollbarIndicatorX=d),this.wrapper.appendChild(b),b},_preventDefaultException:function(a,b){for(var c in b)if(b[c].test(a[c]))return!0;return!1},_reLayout:function(){if(this.hasHorizontalScroll||(this.maxScrollX=0,this.scrollerWidth=this.wrapperWidth),this.hasVerticalScroll||(this.maxScrollY=0,this.scrollerHeight=this.wrapperHeight),this.indicators.map(function(a){a.refresh()}),this.options.snap&&"string"==typeof this.options.snap){var a=this.scroller.querySelectorAll(this.options.snap);this.itemLength=0,this.snaps=[];for(var b=0,c=a.length;c>b;b++){var d=a[b];d.parentNode===this.scroller&&(this.itemLength++,this.snaps.push(d))}this._initSnap()}},_momentum:function(a,b,c,e,f,g){var h,i,j=parseFloat(Math.abs(b)/c);return g=g===d?6e-4:g,h=a+j*j/(2*g)*(0>b?-1:1),i=j/g,e>h?(h=f?e-f/2.5*(j/8):e,b=Math.abs(h-a),i=b/j):h>0&&(h=f?f/2.5*(j/8):0,b=Math.abs(a)+h,i=b/j),{destination:Math.round(h),duration:i}},_getTranslateStr:function(a,b){return this.options.hardwareAccelerated?"translate3d("+a+"px,"+b+"px,0px) "+this.translateZ:"translate("+a+"px,"+b+"px) "},setStopped:function(a){this.stopped=!!a},setTranslate:function(a,b){if(this.x=a,this.y=b,this.scrollerStyle.webkitTransform=this._getTranslateStr(a,b),this.parallaxElement&&this.options.scrollY){var c=b*this.options.parallaxRatio,d=1+c/((this.parallaxHeight-c)/2);d>1?(this.parallaxImgStyle.opacity=1-c/100*this.options.parallaxRatio,this.parallaxStyle.webkitTransform=this._getTranslateStr(0,-c)+" scale("+d+","+d+")"):(this.parallaxImgStyle.opacity=1,this.parallaxStyle.webkitTransform=this._getTranslateStr(0,-10)+" scale(1,1)")}if(this.indicators)for(var e=this.indicators.length;e--;)this.indicators[e].updatePosition();this.lastX=this.x,this.lastY=this.y},reLayout:function(){this.wrapper.offsetHeight;var b=parseFloat(a.getStyles(this.wrapper,"padding-left"))||0,c=parseFloat(a.getStyles(this.wrapper,"padding-right"))||0,d=parseFloat(a.getStyles(this.wrapper,"padding-top"))||0,e=parseFloat(a.getStyles(this.wrapper,"padding-bottom"))||0,f=this.wrapper.clientWidth,g=this.wrapper.clientHeight;this.scrollerWidth=this.scroller.offsetWidth,this.scrollerHeight=this.scroller.offsetHeight,this.wrapperWidth=f-b-c,this.wrapperHeight=g-d-e,this.maxScrollX=Math.min(this.wrapperWidth-this.scrollerWidth,0),this.maxScrollY=Math.min(this.wrapperHeight-this.scrollerHeight,0),this.hasHorizontalScroll=this.options.scrollX&&this.maxScrollX<0,this.hasVerticalScroll=this.options.scrollY&&this.maxScrollY<0,this._reLayout()},resetPosition:function(a){var b=this.x,c=this.y;return a=a||0,!this.hasHorizontalScroll||this.x>0?b=0:this.x0?c=0:this.y0&&(this.lastX!=a||this.lastY!=b),this.isInTransition?(this._clearRequestAnimationFrame(),this._transitionTimingFunction(d.style),this._transitionTime(c),this.setTranslate(a,b)):this.setTranslate(a,b)},scrollToBottom:function(a,b){a=a||this.options.bounceTime,this.scrollTo(0,this.maxScrollY,a,b)},gotoPage:function(a){this._gotoPage(a)}}),l=function(b,d){this.wrapper="string"==typeof d.el?c.querySelector(d.el):d.el,this.wrapperStyle=this.wrapper.style,this.indicator=this.wrapper.children[0],this.indicatorStyle=this.indicator.style,this.scroller=b,this.options=a.extend({listenX:!0,listenY:!0,fade:!1,speedRatioX:0,speedRatioY:0},d),this.sizeRatioX=1,this.sizeRatioY=1,this.maxPosX=0,this.maxPosY=0,this.options.fade&&(this.wrapperStyle.webkitTransform=this.scroller.translateZ,this.wrapperStyle.webkitTransitionDuration=this.options.fixedBadAndorid&&a.os.isBadAndroid?"0.001s":"0ms",this.wrapperStyle.opacity="0")};l.prototype={handleEvent:function(){},transitionTime:function(b){b=b||0,this.indicatorStyle.webkitTransitionDuration=b+"ms",this.scroller.options.fixedBadAndorid&&!b&&a.os.isBadAndroid&&(this.indicatorStyle.webkitTransitionDuration="0.001s")},transitionTimingFunction:function(a){this.indicatorStyle.webkitTransitionTimingFunction=a},refresh:function(){this.transitionTime(),this.indicatorStyle.display=this.options.listenX&&!this.options.listenY?this.scroller.hasHorizontalScroll?"block":"none":this.options.listenY&&!this.options.listenX?this.scroller.hasVerticalScroll?"block":"none":this.scroller.hasHorizontalScroll||this.scroller.hasVerticalScroll?"block":"none",this.wrapper.offsetHeight,this.options.listenX&&(this.wrapperWidth=this.wrapper.clientWidth,this.indicatorWidth=Math.max(Math.round(this.wrapperWidth*this.wrapperWidth/(this.scroller.scrollerWidth||this.wrapperWidth||1)),8),this.indicatorStyle.width=this.indicatorWidth+"px",this.maxPosX=this.wrapperWidth-this.indicatorWidth,this.minBoundaryX=0,this.maxBoundaryX=this.maxPosX,this.sizeRatioX=this.options.speedRatioX||this.scroller.maxScrollX&&this.maxPosX/this.scroller.maxScrollX),this.options.listenY&&(this.wrapperHeight=this.wrapper.clientHeight,this.indicatorHeight=Math.max(Math.round(this.wrapperHeight*this.wrapperHeight/(this.scroller.scrollerHeight||this.wrapperHeight||1)),8),this.indicatorStyle.height=this.indicatorHeight+"px",this.maxPosY=this.wrapperHeight-this.indicatorHeight,this.minBoundaryY=0,this.maxBoundaryY=this.maxPosY,this.sizeRatioY=this.options.speedRatioY||this.scroller.maxScrollY&&this.maxPosY/this.scroller.maxScrollY),this.updatePosition()},updatePosition:function(){var a=this.options.listenX&&Math.round(this.sizeRatioX*this.scroller.x)||0,b=this.options.listenY&&Math.round(this.sizeRatioY*this.scroller.y)||0;athis.maxBoundaryX?(this.width=Math.max(this.indicatorWidth-(a-this.maxPosX),8),this.indicatorStyle.width=this.width+"px",a=this.maxPosX+this.indicatorWidth-this.width):this.width!=this.indicatorWidth&&(this.width=this.indicatorWidth,this.indicatorStyle.width=this.width+"px"),bthis.maxBoundaryY?(this.height=Math.max(this.indicatorHeight-3*(b-this.maxPosY),8),this.indicatorStyle.height=this.height+"px",b=this.maxPosY+this.indicatorHeight-this.height):this.height!=this.indicatorHeight&&(this.height=this.indicatorHeight,this.indicatorStyle.height=this.height+"px"),this.x=a,this.y=b,this.indicatorStyle.webkitTransform=this.scroller._getTranslateStr(a,b)},fade:function(a,b){if(!b||this.visible){clearTimeout(this.fadeTimeout),this.fadeTimeout=null;var c=a?250:500,d=a?0:300;a=a?"1":"0",this.wrapperStyle.webkitTransitionDuration=c+"ms",this.fadeTimeout=setTimeout(function(a){this.wrapperStyle.opacity=a,this.visible=+a}.bind(this,a),d)}}},a.Scroll=k,a.fn.scroll=function(b){var c=[];return this.each(function(){var d=null,e=this,f=e.getAttribute("data-scroll");if(f)d=a.data[f];else{f=++a.uuid;var g=a.extend({},b);e.classList.contains("mui-segmented-control")&&(g=a.extend(g,{scrollY:!1,scrollX:!0,indicators:!1,snap:".mui-control-item"})),a.data[f]=d=new k(e,g),e.setAttribute("data-scroll",f)}c.push(d)}),1===c.length?c[0]:c}}(mui,window,document),function(a){var b="mui-visibility",c=a.Scroll.extend(a.extend({handleEvent:function(a){this._super(a),"scrollbottom"===a.type&&this._scrollbottom()},_scrollbottom:function(){this.pulldown||this.loading||(this.pulldown=!1,this._initPullupRefresh(),this.pullupLoading())},_start:function(a){this.loading||(this.pulldown=this.pullPocket=this.pullCaption=this.pullLoading=!1),this._super(a)},_drag:function(a){this._super(a),!this.pulldown&&!this.loading&&this.topPocket&&"down"===a.detail.direction&&this.y>=0&&this._initPulldownRefresh(),this.pulldown&&this._setCaption(this.y>this.options.down.height?this.options.down.contentover:this.options.down.contentdown)},_reLayout:function(){this.hasVerticalScroll=!0,this._super()},resetPosition:function(a){return this.pulldown&&this.y>=this.options.down.height?(this.pulldownLoading(0,a||0),!0):this._super(a)},pulldownLoading:function(a,b){if(a=a||0,this.scrollTo(a,this.options.down.height,b,this.options.bounceEasing),!this.loading){this.pulldown||this._initPulldownRefresh(),this._setCaption(this.options.down.contentrefresh),this.loading=!0,this.indicators.map(function(a){a.fade(0)});var c=this.options.down.callback;c&&c.call(this)}},endPulldownToRefresh:function(){var a=this;a.topPocket&&a.loading&&this.pulldown&&(a.scrollTo(0,0,a.options.bounceTime,a.options.bounceEasing),a.loading=!1,a._setCaption(a.options.down.contentdown,!0),setTimeout(function(){a.loading||a.topPocket.classList.remove(b)},350))},pullupLoading:function(a,b,c){b=b||0,this.scrollTo(b,this.maxScrollY,c,this.options.bounceEasing),this.loading||(this._initPullupRefresh(),this._setCaption(this.options.up.contentrefresh),this.indicators.map(function(a){a.fade(0)}),this.loading=!0,a=a||this.options.up.callback,a&&a.call(this))},endPullupToRefresh:function(a){var c=this;c.bottomPocket&&c.loading&&!this.pulldown&&(c.loading=!1,a?(c._setCaption(c.options.up.contentnomore),c.wrapper.removeEventListener("scrollbottom",c)):(c._setCaption(c.options.up.contentdown),setTimeout(function(){c.loading||c.bottomPocket.classList.remove(b)},350)))},refresh:function(a){a&&this.wrapper.addEventListener("scrollbottom",this),this._super()}},a.PullRefresh));a.fn.pullRefresh=function(b){if(1===this.length){var d=this[0],e=null,f=d.getAttribute("data-pullrefresh");return f?e=a.data[f]:(f=++a.uuid,a.data[f]=e=new c(d,b),d.setAttribute("data-pullrefresh",f)),e}}}(mui,window,document),function(a,b){var c="mui-slider",d="mui-slider-group",e="mui-slider-loop",f="mui-slider-indicator",g="mui-action-previous",h="mui-action-next",i="mui-slider-item",j="mui-active",k="."+i,l="."+f,m=".mui-slider-progress-bar",n=a.Scroll.extend({init:function(b,c){this._super(b,a.extend(!0,{interval:0,scrollY:!1,scrollX:!0,indicators:!1,bounceTime:200,startX:!1,snap:k},c)),this.options.startX},_init:function(){for(var a=this.wrapper.querySelectorAll("."+d),b=0,c=a.length;c>b;b++)if(a[b].parentNode===this.wrapper){this.scroller=a[b];break}this.scroller&&(this.scrollerStyle=this.scroller.style,this.progressBar=this.wrapper.querySelector(m),this.progressBar&&(this.progressBarWidth=this.progressBar.offsetWidth,this.progressBarStyle=this.progressBar.style),this._super(),this._initTimer())},_initEvent:function(){var b=this;b._super(),b.wrapper.addEventListener("swiperight",a.stopPropagation),b.wrapper.addEventListener("scrollend",function(){b.isInTransition=!1;var c=(b.currentPage,b.slideNumber);b.slideNumber=b._fixedSlideNumber(),b.loop&&(0===b.slideNumber?b.setTranslate(b.pages[1][0].x,0):b.slideNumber===b.itemLength-3&&b.setTranslate(b.pages[b.itemLength-2][0].x,0)),c!=b.slideNumber&&a.trigger(b.wrapper,"slide",{slideNumber:b.slideNumber})}),b.wrapper.addEventListener("slide",function(c){if(c.target===b.wrapper){var d=c.detail;d.slideNumber=d.slideNumber||0;var e=b.scroller.querySelectorAll(k),f=d.slideNumber;if(b.loop&&(f+=1),!b.wrapper.classList.contains("mui-segmented-control"))for(var g=0,h=e.length;h>g;g++){var i=e[g];i.parentNode===b.scroller&&(g===f?i.classList.add(j):i.classList.remove(j))}var l=b.wrapper.querySelector(".mui-slider-indicator");if(l){l.getAttribute("data-scroll")&&a(l).scroll().gotoPage(d.slideNumber);var m=l.querySelectorAll(".mui-indicator");if(m.length>0)for(var g=0,h=m.length;h>g;g++)m[g].classList[g===d.slideNumber?"add":"remove"](j);else{var n=l.querySelector(".mui-number span");if(n)n.innerText=d.slideNumber+1;else for(var o=b.wrapper.querySelectorAll(".mui-control-item"),g=0,h=o.length;h>g;g++)o[g].classList[g===d.slideNumber?"add":"remove"](j)}}c.stopPropagation()}}),b.wrapper.addEventListener(a.eventName("shown","tab"),function(a){b.gotoItem(a.detail.tabNumber||0,b.options.bounceTime)});var c=b.wrapper.querySelector(l);c&&c.addEventListener("tap",function(a){var c=a.target;(c.classList.contains(g)||c.classList.contains(h))&&(b[c.classList.contains(g)?"prevItem":"nextItem"](),a.stopPropagation())})},_drag:function(a){this._super(a);var b=a.detail.direction;("left"===b||"right"===b)&&a.stopPropagation()},_initTimer:function(){var a=this,c=a.wrapper,d=a.options.interval,e=c.getAttribute("data-slidershowTimer");e&&b.clearTimeout(e),d&&(e=b.setTimeout(function(){c&&((c.offsetWidth||c.offsetHeight)&&a.nextItem(!0),a._initTimer())},d),c.setAttribute("data-slidershowTimer",e))},_fixedSlideNumber:function(a){a=a||this.currentPage;var b=a.pageX;return this.loop&&(b=0===a.pageX?this.itemLength-3:a.pageX===this.itemLength-1?0:a.pageX-1),b},_reLayout:function(){this.hasHorizontalScroll=!0,this.loop=this.scroller.classList.contains(e),this._super()},_getScroll:function(){var b=a.parseTranslateMatrix(a.getStyles(this.scroller,"webkitTransform"));return b?b.x:0},_transitionEnd:function(b){b.target===this.scroller&&this.isInTransition&&(this._transitionTime(),this.isInTransition=!1,a.trigger(this.wrapper,"scrollend",this))},_flick:function(a){if(this.moved){var b=a.detail,c=b.direction;this._clearRequestAnimationFrame(),this.isInTransition=!0,"flick"===a.type?(b.touchTime<200&&(this.x=this._getPage(this.slideNumber+("right"===c?-1:1),!0).x),this.resetPosition(this.options.bounceTime)):"dragend"!==a.type||b.flick||this.resetPosition(this.options.bounceTime),a.stopPropagation()}},_initSnap:function(){if(this.scrollerWidth=this.itemLength*this.scrollerWidth,this.maxScrollX=Math.min(this.wrapperWidth-this.scrollerWidth,0),this._super(),this.currentPage.x)this.slideNumber=this._fixedSlideNumber();else{var a=this.pages[this.loop?1:0];if(a=a||this.pages[0],!a)return;this.currentPage=a[0],this.slideNumber=0}this.options.startX=this.currentPage.x||0},_getSnapX:function(a){return Math.max(-a,this.maxScrollX)},_getPage:function(a,b){return this.loop?a>this.itemLength-(b?2:3)?(a=1,time=0):(b?-1:0)>a?(a=this.itemLength-2,time=0):a+=1:(b||(a>this.itemLength-1?(a=0,time=0):0>a&&(a=this.itemLength-1,time=0)),a=Math.min(Math.max(0,a),this.itemLength-1)),this.pages[a][0]},_gotoItem:function(b,c){this.currentPage=this._getPage(b),this.scrollTo(this.currentPage.x,0,c,this.options.bounceEasing),0===c&&a.trigger(this.wrapper,"scrollend",this),this._initTimer()},setTranslate:function(a,b){this._super(a,b);var c=this.progressBar;c&&(this.progressBarStyle.webkitTransform=this._getTranslateStr(-a*(this.progressBarWidth/this.wrapperWidth),0))},resetPosition:function(a){return a=a||0,this.x>0?this.x=0:this.x=b.documentElement.scrollHeight&&(d=!1,c.bottomPocket&&c.pullupLoading())},100),"dragup"===a.type&&(d=!0)}}}).extend(a.extend({setStopped:function(a){this.stopped=!!a;var b=plus.webview.currentWebview();if(this.stopped)b.setStyle({bounce:"none"}),b.setBounce({position:{top:"none"}});else{var c=this.options.down.height;b.setStyle({bounce:"vertical"}),b.setBounce({position:{top:2*c+"px"},changeoffset:{top:c+"px"}})}},pulldownLoading:function(){throw new Error("暂不支持")},endPulldownToRefresh:function(){var a=plus.webview.currentWebview();a.parent().evalJS("mui&&mui(document.querySelector('.mui-content')).pullRefresh('"+JSON.stringify({webviewId:a.id})+"')._endPulldownToRefresh()")},_endPulldownToRefresh:function(){var a=this;a.topPocket&&a.options.webview&&(a.options.webview.endPullToRefresh(),a.loading=!1,a._setCaption(a.options.down.contentdown,!0),setTimeout(function(){a.loading||a.topPocket.classList.remove(f)},350))},pullupLoading:function(a){var b=this;b.isLoading||(b.isLoading=!0,b.pulldown!==!1?b._initPullupRefresh():this.pullPocket.classList.add(f),setTimeout(function(){b.pullLoading.classList.add(d),b.pullLoading.classList.remove(e),b.pullCaption.innerHTML="",b.pullCaption.innerHTML=b.options.up.contentrefresh,a=a||b.options.up.callback,a&&a.call(b)},300))},endPullupToRefresh:function(a){var b=this;b.pullLoading&&(b.pullLoading.classList.remove(d),b.pullLoading.classList.add(e),b.isLoading=!1,a?(b.pullCaption.innerHTML=b.options.up.contentnomore,window.removeEventListener("dragup",b)):b.pullCaption.innerHTML=b.options.up.contentdown)},scrollTo:function(b,c,d){a.scrollTo(b,c,d)},refresh:function(a){a&&window.addEventListener("dragup",this)}},a.PullRefresh));a.fn.pullRefresh=function(d){var e;0===this.length?(e=b.createElement("div"),e.className="mui-content",b.body.appendChild(e)):e=this[0],d=d||{webviewId:plus.webview.currentWebview().id||plus.webview.currentWebview().getURL()},"string"==typeof d&&(d=a.parseJSON(d));var f=null,h=d.webviewId&&d.webviewId.replace(/\//g,"_"),i=e.getAttribute("data-pullrefresh-plus-"+h);return i?f=a.data[i]:(i=++a.uuid,e.setAttribute("data-pullrefresh-plus-"+h,i),b.body.classList.add(c),a.data[i]=f=new g(e,d)),f}}}(mui,document),function(a,b,c,d){var e="mui-off-canvas-left",f="mui-off-canvas-right",g="mui-off-canvas-backdrop",h="mui-off-canvas-wrap",i="mui-slide-in",j="mui-active",k="mui-transitioning",l=".mui-inner-wrap",m=a.Class.extend({init:function(b,d){this.wrapper=this.element=b,this.scroller=this.wrapper.querySelector(l),this.classList=this.wrapper.classList,this.scroller&&(this.options=a.extend(!0,{dragThresholdX:10},d),c.body.classList.add("mui-fullscreen"),this.refresh(),this.initEvent())},refresh:function(){this.classList.remove(j),this.slideIn=this.classList.contains(i),this.scroller=this.wrapper.querySelector(l),this.scroller.classList.remove(k),this.scroller.setAttribute("style",""),this.offCanvasRight=this.wrapper.querySelector("."+f),this.offCanvasLeft=this.wrapper.querySelector("."+e),this.offCanvasRightWidth=this.offCanvasLeftWidth=0,this.offCanvasLeftSlideIn=this.offCanvasRightSlideIn=!1,this.offCanvasRight&&(this.offCanvasRightWidth=this.offCanvasRight.offsetWidth,this.offCanvasRightSlideIn=this.slideIn&&this.offCanvasRight.parentNode===this.wrapper,this.offCanvasRight.classList.remove(k),this.offCanvasRight.classList.remove(j),this.offCanvasRight.setAttribute("style","")),this.offCanvasLeft&&(this.offCanvasLeftWidth=this.offCanvasLeft.offsetWidth,this.offCanvasLeftSlideIn=this.slideIn&&this.offCanvasLeft.parentNode===this.wrapper,this.offCanvasLeft.classList.remove(k),this.offCanvasLeft.classList.remove(j),this.offCanvasLeft.setAttribute("style","")),this.backdrop=this.scroller.querySelector("."+g),this.options.dragThresholdX=this.options.dragThresholdX||10,this.visible=!1,this.startX=null,this.lastX=null,this.offsetX=null,this.lastTranslateX=null},handleEvent:function(b){switch(b.type){case"touchstart":var c=b.target&&b.target.tagName;"INPUT"!==c&&"TEXTAREA"!==c&&"SELECT"!==c&&b.preventDefault();break;case"webkitTransitionEnd":b.target===this.scroller&&this._dispatchEvent();break;case"drag":var d=b.detail;this.startX?this.lastX=d.move.x:(this.startX=d.move.x,this.lastX=this.startX),!this.isDragging&&Math.abs(this.lastX-this.startX)>this.options.dragThresholdX&&("left"===d.direction||"right"===d.direction)&&(this.slideIn&&(this.scroller=this.classList.contains(j)?this.offCanvasRight&&this.offCanvasRight.classList.contains(j)?this.offCanvasRight:this.offCanvasLeft:"left"===d.direction&&this.offCanvasRight?this.offCanvasRight:"right"===d.direction&&this.offCanvasLeft?this.offCanvasLeft:null),this.scroller&&(this.startX=this.lastX,this.isDragging=!0,a.gestures.touch.lockDirection=!0,a.gestures.touch.startDirection=d.direction,this.scroller.classList.remove(k),this.offsetX=this.getTranslateX(),this._initOffCanvasVisible())),this.isDragging&&(this.updateTranslate(this.offsetX+(this.lastX-this.startX)),d.gesture.preventDefault(),b.stopPropagation());break;case"dragend":if(this.isDragging){var d=b.detail,e=d.direction;this.isDragging=!1,this.scroller.classList.add(k);var f=0,g=this.getTranslateX();if(this.slideIn){if(f=g>=0?this.offCanvasRightWidth&&g/this.offCanvasRightWidth||0:this.offCanvasLeftWidth&&g/this.offCanvasLeftWidth||0,this.openPercentage(f>=.5&&"left"===e?0:f>0&&.5>=f&&"left"===e?-100:f>=.5&&"right"===e?0:f>=-.5&&0>f&&"left"===e?100:f>0&&.5>=f&&"right"===e?-100:-.5>=f&&"right"===e?0:f>=-.5&&"right"===e?100:-.5>=f&&"left"===e?0:f>=-.5&&"left"===e?-100:0),1===f||-1===f||0===f)return void this._dispatchEvent()}else{if(f=g>=0?this.offCanvasLeftWidth&&g/this.offCanvasLeftWidth||0:this.offCanvasRightWidth&&g/this.offCanvasRightWidth||0,0===f)return this.openPercentage(0),void this._dispatchEvent();this.openPercentage(f>0&&.5>f&&"right"===e?0:f>.5&&"left"===e?100:0>f&&f>-.5&&"left"===e?0:"right"===e&&0>f&&f>-.5?0:.5>f&&"right"===e?-100:"right"===e&&f>=0&&(f>=.5||d.flick)?100:"left"===e&&0>=f&&(-.5>=f||d.flick)?-100:0),(1===f||-1===f)&&this._dispatchEvent()}}}},_dispatchEvent:function(){this.classList.contains(j)?a.trigger(this.wrapper,"shown",this):a.trigger(this.wrapper,"hidden",this)},_initOffCanvasVisible:function(){this.visible||(this.visible=!0,this.offCanvasLeft&&(this.offCanvasLeft.style.visibility="visible"),this.offCanvasRight&&(this.offCanvasRight.style.visibility="visible"))},initEvent:function(){var a=this;a.backdrop&&a.backdrop.addEventListener("tap",function(b){a.close(),b.detail.gesture.preventDefault()}),this.classList.contains("mui-draggable")&&(this.wrapper.addEventListener("touchstart",this),this.wrapper.addEventListener("drag",this),this.wrapper.addEventListener("dragend",this)),this.wrapper.addEventListener("webkitTransitionEnd",this)},openPercentage:function(a){var b=a/100;this.slideIn?(this.offCanvasLeft&&a>=0?(b=0===b?-1:0,this.updateTranslate(this.offCanvasLeftWidth*b),this.offCanvasLeft.classList[0!==a?"add":"remove"](j)):this.offCanvasRight&&0>=a&&(b=0===b?1:0,this.updateTranslate(this.offCanvasRightWidth*b),this.offCanvasRight.classList[0!==a?"add":"remove"](j)),this.classList[0!==a?"add":"remove"](j)):(this.offCanvasLeft&&a>=0?(this.updateTranslate(this.offCanvasLeftWidth*b),this.offCanvasLeft.classList[0!==b?"add":"remove"](j)):this.offCanvasRight&&0>=a&&(this.updateTranslate(this.offCanvasRightWidth*b),this.offCanvasRight.classList[0!==b?"add":"remove"](j)),this.classList[0!==b?"add":"remove"](j))},updateTranslate:function(a){if(a!==this.lastTranslateX){if(this.slideIn){if(this.scroller.classList.contains(f)){if(0>a)return void this.setTranslateX(0);if(a>this.offCanvasRightWidth)return void this.setTranslateX(this.offCanvasRightWidth)}else{if(a>0)return void this.setTranslateX(0);if(a<-this.offCanvasLeftWidth)return void this.setTranslateX(-this.offCanvasLeftWidth)}this.setTranslateX(a)}else{if(!this.offCanvasLeft&&a>0||!this.offCanvasRight&&0>a)return void this.setTranslateX(0);if(this.leftShowing&&a>this.offCanvasLeftWidth)return void this.setTranslateX(this.offCanvasLeftWidth);if(this.rightShowing&&a<-this.offCanvasRightWidth)return void this.setTranslateX(-this.offCanvasRightWidth);this.setTranslateX(a),a>=0?(this.leftShowing=!0,this.rightShowing=!1,a>0&&(this.offCanvasLeft&&(this.offCanvasLeft.style.zIndex=0),this.offCanvasRight&&(this.offCanvasRight.style.zIndex=-1))):(this.rightShowing=!0,this.leftShowing=!1,this.offCanvasRight&&(this.offCanvasRight.style.zIndex=0),this.offCanvasLeft&&(this.offCanvasLeft.style.zIndex=-1)) +}this.lastTranslateX=a}},setTranslateX:a.animationFrame(function(a){this.scroller&&(this.scroller.style.webkitTransform="translate3d("+a+"px,0,0)")}),getTranslateX:function(){if(this.scroller){var b=a.parseTranslateMatrix(a.getStyles(this.scroller,"webkitTransform"));return b&&b.x||0}return 0},isShown:function(a){var b=!1;if(this.slideIn)b="left"===a?this.offCanvasLeft&&this.offCanvasLeft.classList.contains(j):"right"===a?this.offCanvasRight&&this.offCanvasRight.classList.contains(j):this.offCanvasLeft&&this.offCanvasLeft.classList.contains(j)||this.offCanvasRight&&this.offCanvasRight.classList.contains(j);else{var c=this.getTranslateX();b="right"===a?this.classList.contains(j)&&0>c:"left"===a?this.classList.contains(j)&&c>0:this.classList.contains(j)&&0!==c}return b},close:function(){this._initOffCanvasVisible(),this.slideIn&&(this.scroller=this.offCanvasRight&&this.offCanvasRight.classList.contains(j)?this.offCanvasRight:this.offCanvasLeft),this.scroller&&(this.scroller.classList.add(k),this.openPercentage(0))},show:function(a){this._initOffCanvasVisible(),this.isShown(a)||(a||(a=this.wrapper.querySelector("."+f)?"right":"left"),this.slideIn&&(this.scroller="right"===a?this.offCanvasRight:this.offCanvasLeft),this.scroller&&(this.scroller.classList.add(k),this.openPercentage("left"===a?100:-100)))},toggle:function(a){this.isShown(a)?this.close():this.show(a)}}),n=function(a){if(parentNode=a.parentNode,parentNode){if(parentNode.classList.contains(h))return parentNode;if(parentNode=parentNode.parentNode,parentNode.classList.contains(h))return parentNode}},o=function(b,d){if("A"===d.tagName&&d.hash){var e=c.getElementById(d.hash.replace("#",""));if(e){var f=n(e);if(f)return a.targets._container=f,b.preventDefault(),e}}return!1};a.registerTarget({name:d,index:60,handle:o,target:!1,isReset:!1,isContinue:!0}),b.addEventListener("tap",function(b){if(a.targets.offcanvas)for(var d=b.target;d&&d!==c;d=d.parentNode)if("A"===d.tagName&&d.hash&&d.hash==="#"+a.targets.offcanvas.id){a(a.targets._container).offCanvas("toggle"),a.targets.offcanvas=a.targets._container=null;break}}),a.fn.offCanvas=function(b){var c=[];return this.each(function(){var d=null,e=this;e.classList.contains(h)||(e=n(e));var f=e.getAttribute("data-offCanvas");f?d=a.data[f]:(f=++a.uuid,a.data[f]=d=new m(e,b),e.setAttribute("data-offCanvas",f)),("show"===b||"close"===b||"toggle"===b)&&d.toggle(),c.push(d)}),1===c.length?c[0]:c},a.ready(function(){a(".mui-off-canvas-wrap").offCanvas()})}(mui,window,document,"offcanvas"),function(a,b){var c="mui-action",d=function(a,b){return b.className&&~b.className.indexOf(c)?(a.preventDefault(),b):!1};a.registerTarget({name:b,index:50,handle:d,target:!1,isContinue:!0})}(mui,"action"),function(a,b,c,d){var e="mui-modal",f=function(a,b){if("A"===b.tagName&&b.hash){var d=c.getElementById(b.hash.replace("#",""));if(d&&d.classList.contains(e))return a.preventDefault(),d}return!1};a.registerTarget({name:d,index:50,handle:f,target:!1,isReset:!1,isContinue:!0}),b.addEventListener("tap",function(){a.targets.modal&&a.targets.modal.classList.toggle("mui-active")})}(mui,window,document,"modal"),function(a,b,c,d){var e="mui-popover",f="mui-popover-arrow",g="mui-popover-action",h="mui-backdrop",i="mui-bar-popover",j="mui-bar-backdrop",k="mui-backdrop-action",l="mui-active",m="mui-bottom",n=function(b,d){if("A"===d.tagName&&d.hash){if(a.targets._popover=c.getElementById(d.hash.replace("#","")),a.targets._popover&&a.targets._popover.classList.contains(e))return b.preventDefault(),d;a.targets._popover=null}return!1};a.registerTarget({name:d,index:60,handle:n,target:!1,isReset:!1,isContinue:!0});var o=function(){},p=function(){this.removeEventListener("webkitTransitionEnd",p),this.addEventListener("touchmove",a.preventDefault),a.trigger(this,"shown",this)},q=function(){this.setAttribute("style",""),this.removeEventListener("webkitTransitionEnd",q),this.removeEventListener("touchmove",a.preventDefault),o(!1),a.trigger(this,"hidden",this)},r=function(){var b=c.createElement("div");return b.classList.add(h),b.addEventListener("touchmove",a.preventDefault),b.addEventListener("tap",function(){var b=a.targets._popover;b&&(b.addEventListener("webkitTransitionEnd",q),b.classList.remove(l),s(b),c.body.setAttribute("style",""))}),b}(),s=function(b){r.setAttribute("style","opacity:0"),a.targets.popover=a.targets._popover=null,setTimeout(function(){!b.classList.contains(l)&&r.parentNode&&r.parentNode===c.body&&c.body.removeChild(r)},350)};b.addEventListener("tap",function(b){if(a.targets.popover){for(var d=!1,e=b.target;e&&e!==c;e=e.parentNode)e===a.targets.popover&&(d=!0);d&&t(a.targets._popover,a.targets.popover)}});var t=function(a,b){a.removeEventListener("webkitTransitionEnd",p),a.removeEventListener("webkitTransitionEnd",q),r.classList.remove(j),r.classList.remove(k);var d=c.querySelector(".mui-popover.mui-active");if(d&&(d.addEventListener("webkitTransitionEnd",q),d.classList.remove(l),a===d))return void s(d);var e=!1;(a.classList.contains(i)||a.classList.contains(g))&&(a.classList.contains(g)?(e=!0,r.classList.add(k)):r.classList.add(j)),a.setAttribute("style","display:block"),a.offsetHeight,a.classList.add(l),r.setAttribute("style",""),c.body.appendChild(r),o(!0),u(a,b,e),r.classList.add(l),a.addEventListener("webkitTransitionEnd",p)},u=function(d,e,h){if(d&&e){var i=b.innerWidth,j=b.innerHeight,k=d.offsetWidth,l=d.offsetHeight;if(h)return void d.setAttribute("style","display:block;top:"+(j-l+b.pageYOffset)+"px;left:"+(i-k)/2+"px;");var n=e.offsetWidth,o=e.offsetHeight,p=a.offset(e),q=d.querySelector("."+f);q||(q=c.createElement("div"),q.className=f,d.appendChild(q));var r=q&&q.offsetWidth/2||0,s=0,t=0,u=0,v=0,w=d.classList.contains(g)?0:5,x="top";l+rt&&(t=w),t+k>i&&(t=i-k-w),q&&("top"===x?q.classList.add(m):q.classList.remove(m),u-=t,v=k/2-r/2+u,v=Math.max(Math.min(v,k-2*r-6),6),q.setAttribute("style","left:"+v+"px"))):"middle"===x&&q.setAttribute("style","display:none"),d.setAttribute("style","display:block;top:"+s+"px;left:"+t+"px;")}};a.createMask=function(b){var d=c.createElement("div");d.classList.add(h),d.addEventListener("touchmove",a.preventDefault),d.addEventListener("tap",function(){b&&b(),e.close()});var e=[d];return e._show=!1,e.show=function(){return this._show=!0,d.setAttribute("style","opacity:1"),c.body.appendChild(d),this},e._remove=function(){return this._show&&(this._show=!1,d.setAttribute("style","opacity:0"),setTimeout(function(){c.body.removeChild(d)},350)),this},e.close=function(){return this._remove()},e},a.fn.popover=function(){var b=arguments;this.each(function(){a.targets._popover=this,("show"===b[0]||"hide"===b[0]||"toggle"===b[0])&&t(this,b[1])})}}(mui,window,document,"popover"),function(a,b,c,d){var e="mui-control-item",f="mui-segmented-control",g="mui-control-content",h="mui-bar-tab",i="mui-tab-item",j=function(a,b){return b.classList&&(b.classList.contains(e)||b.classList.contains(i))?(a.preventDefault(),b):!1};a.registerTarget({name:d,index:80,handle:j,target:!1}),b.addEventListener("tap",function(b){var j=a.targets.tab;if(j){var k,l,m,n="mui-active",o="."+n;for(segmentedControl=j.parentNode;segmentedControl&&segmentedControl!==c;segmentedControl=segmentedControl.parentNode){if(segmentedControl.classList.contains(f)){k=segmentedControl.querySelector(o+"."+e);break}segmentedControl.classList.contains(h)&&(k=segmentedControl.querySelector(o+"."+i))}k&&k.classList.remove(n);var p=j===k;if(j&&j.classList.add(n),j.hash&&(m=c.getElementById(j.hash.replace("#","")))){if(!m.classList.contains(g))return void j.classList[p?"remove":"add"](n);if(!p){var q=m.parentNode;l=q.querySelectorAll("."+g+o);for(var r=0;rthis.handleX/2||!this.initialState&&a>this.handleX/2)&&(b=!0),this.lastChanged!==b&&(b?(this.handle.style.webkitTransform="translate3d("+(this.initialState?0:this.handleX)+"px,0,0)",this.classList[this.initialState?"remove":"add"](f)):(this.handle.style.webkitTransform="translate3d("+(this.initialState?this.handleX:0)+"px,0,0)",this.classList[this.initialState?"add":"remove"](f)),this.lastChanged=b)}}),a.fn["switch"]=function(){var b=[];return this.each(function(){var c=null,d=this.getAttribute("data-switch");d?c=a.data[d]:(d=++a.uuid,a.data[d]=new j(this),this.setAttribute("data-switch",d)),b.push(c)}),b.length>1?b:b[0]},a.ready(function(){a("."+d)["switch"]()})}(mui,window,"toggle"),function(a,b,c){function d(a,b){var c=b?"removeEventListener":"addEventListener";a[c]("drag",E),a[c]("dragend",E),a[c]("swiperight",E),a[c]("swipeleft",E),a[c]("flick",E)}var e,f,g="mui-active",h="mui-selected",i="mui-grid-view",j="mui-table-view-cell",k="mui-collapse-content",l="mui-disabled",m="mui-switch",n="mui-btn",o="mui-slider-handle",p="mui-slider-left",q="mui-slider-right",r="mui-transitioning",s="."+o,t="."+p,u="."+q,v="."+h,w="."+n,x=.8,y=isOpened=openedActions=progress=!1,z=sliderActionLeft=sliderActionRight=buttonsLeft=buttonsRight=sliderDirection=sliderRequestAnimationFrame=!1,A=lastTranslateX=sliderActionLeftWidth=sliderActionRightWidth=0,B=function(a){a?f?f.classList.add(g):e&&e.classList.add(g):f?f.classList.remove(g):e&&e.classList.remove(g)},C=function(){if(A!==lastTranslateX){if(buttonsRight&&buttonsRight.length>0){progress=A/sliderActionRightWidth,A<-sliderActionRightWidth&&(A=-sliderActionRightWidth-Math.pow(-A-sliderActionRightWidth,x));for(var a=0,b=buttonsRight.length;b>a;a++){var c=buttonsRight[a];"undefined"==typeof c._buttonOffset&&(c._buttonOffset=c.offsetLeft),buttonOffset=c._buttonOffset,D(c,A-buttonOffset*(1+Math.max(progress,-1)))}}if(buttonsLeft&&buttonsLeft.length>0)for(progress=A/sliderActionLeftWidth,A>sliderActionLeftWidth&&(A=sliderActionLeftWidth+Math.pow(A-sliderActionLeftWidth,x)),a=0,b=buttonsLeft.length;b>a;a++){var d=buttonsLeft[a];"undefined"==typeof d._buttonOffset&&(d._buttonOffset=sliderActionLeftWidth-d.offsetLeft-d.offsetWidth),buttonOffset=d._buttonOffset,buttonsLeft.length>1&&(d.style.zIndex=buttonsLeft.length-a),D(d,A+buttonOffset*(1-Math.min(progress,1)))}D(z,A),lastTranslateX=A}sliderRequestAnimationFrame=requestAnimationFrame(function(){C()})},D=function(a,b){a&&(a.style.webkitTransform="translate3d("+b+"px,0,0)")};b.addEventListener("touchstart",function(b){e&&B(!1),e=f=!1,y=isOpened=openedActions=!1;for(var g=b.target,h=!1;g&&g!==c;g=g.parentNode)if(g.classList){var o=g.classList;if(("INPUT"===g.tagName&&"radio"!==g.type&&"checkbox"!==g.type||"BUTTON"===g.tagName||o.contains(m)||o.contains(n)||o.contains(l))&&(h=!0),o.contains(k))break;if(o.contains(j)){e=g;var p=e.parentNode.querySelector(v);if(p&&p!==e)return a.swipeoutClose(p),void(e=h=!1);if(!e.parentNode.classList.contains(i)){var q=e.querySelector("a");q&&q.parentNode===e&&(f=q)}e.querySelector(s)&&(d(e),b.stopPropagation()),h||e.querySelector("input")||e.querySelector(w)||e.querySelector("."+m)||B(!0);break}}}),b.addEventListener("touchmove",function(){B(!1)});var E={handleEvent:function(a){switch(a.type){case"drag":this.drag(a);break;case"dragend":this.dragend(a);break;case"flick":this.flick(a);break;case"swiperight":this.swiperight(a);break;case"swipeleft":this.swipeleft(a)}},drag:function(a){if(e){y||(z=sliderActionLeft=sliderActionRight=buttonsLeft=buttonsRight=sliderDirection=sliderRequestAnimationFrame=!1,z=e.querySelector(s),z&&(sliderActionLeft=e.querySelector(t),sliderActionRight=e.querySelector(u),sliderActionLeft&&(sliderActionLeftWidth=sliderActionLeft.offsetWidth,buttonsLeft=sliderActionLeft.querySelectorAll(w)),sliderActionRight&&(sliderActionRightWidth=sliderActionRight.offsetWidth,buttonsRight=sliderActionRight.querySelectorAll(w)),e.classList.remove(r),isOpened=e.classList.contains(h),isOpened&&(openedActions=e.querySelector(t+v)?"left":"right")));var b=a.detail,c=b.direction,d=b.angle;if("left"===c&&(d>150||-150>d)?(buttonsRight||buttonsLeft&&isOpened)&&(y=!0):"right"===c&&d>-30&&30>d&&(buttonsLeft||buttonsRight&&isOpened)&&(y=!0),y){a.stopPropagation(),a.detail.gesture.preventDefault();var f=a.detail.deltaX;if(isOpened&&("right"===openedActions?f-=sliderActionRightWidth:f+=sliderActionLeftWidth),f>0&&!buttonsLeft||0>f&&!buttonsRight){if(!isOpened)return;f=0}0>f?sliderDirection="toLeft":f>0?sliderDirection="toRight":sliderDirection||(sliderDirection="toLeft"),sliderRequestAnimationFrame||C(),A=f}}},flick:function(a){y&&a.stopPropagation()},swipeleft:function(a){y&&a.stopPropagation()},swiperight:function(a){y&&a.stopPropagation()},dragend:function(b){if(y){b.stopPropagation(),sliderRequestAnimationFrame&&(cancelAnimationFrame(sliderRequestAnimationFrame),sliderRequestAnimationFrame=null);var c=b.detail;y=!1;var d="close",f="toLeft"===sliderDirection?sliderActionRightWidth:sliderActionLeftWidth,g=c.swipe||Math.abs(A)>f/2;g&&(isOpened?"left"===c.direction&&"right"===openedActions?d="open":"right"===c.direction&&"left"===openedActions&&(d="open"):d="open"),e.classList.add(r);var i;if("open"===d){var j="toLeft"===sliderDirection?-f:f;if(D(z,j),i="toLeft"===sliderDirection?buttonsRight:buttonsLeft,"undefined"!=typeof i){var k=null;for(m=0;m0&&buttonsLeft!==i)for(var m=0,n=buttonsLeft.length;n>m;m++){var o=buttonsLeft[m];l=o._buttonOffset,"undefined"==typeof l&&(o._buttonOffset=sliderActionLeftWidth-o.offsetLeft-o.offsetWidth),D(o,l)}if(buttonsRight&&buttonsRight.length>0&&buttonsRight!==i)for(var m=0,n=buttonsRight.length;n>m;m++){var p=buttonsRight[m];l=p._buttonOffset,"undefined"==typeof l&&(p._buttonOffset=p.offsetLeft),D(p,-l)}}}};a.swipeoutOpen=function(b,c){if(b){var d=b.classList;if(!d.contains(h)){c||(c=b.querySelector(u)?"right":"left");var e=b.querySelector(a.classSelector(".slider-"+c));if(e){e.classList.add(h),d.add(h),d.remove(r);for(var f,g=e.querySelectorAll(w),i=e.offsetWidth,j="right"===c?-i:i,k=g.length,l=0;k>l;l++)f=g[l],"right"===c?D(f,-f.offsetLeft):D(f,i-f.offsetWidth-f.offsetLeft);d.add(r);for(var l=0;k>l;l++)D(g[l],j);D(b.querySelector(s),j)}}}},a.swipeoutClose=function(b){if(b){var c=b.classList;if(c.contains(h)){var d=b.querySelector(u+v)?"right":"left",e=b.querySelector(a.classSelector(".slider-"+d));if(e){e.classList.remove(h),c.remove(h),c.add(r);var f,g=e.querySelectorAll(w),i=e.offsetWidth,j=g.length;D(b.querySelector(s),0);for(var k=0;j>k;k++)f=g[k],"right"===d?D(f,-f.offsetLeft):D(f,i-f.offsetWidth-f.offsetLeft)}}}},b.addEventListener("touchend",function(){e&&(B(!1),z&&d(e,!0))}),b.addEventListener("touchcancel",function(){e&&(B(!1),z&&d(e,!0))});var F=function(){var a=e.classList;if(a.contains("mui-radio")){var b=e.querySelector("input[type=radio]");b&&b.click()}else if(a.contains("mui-checkbox")){var b=e.querySelector("input[type=checkbox]");b&&b.click()}};b.addEventListener(a.EVENT_CLICK,function(a){e&&e.classList.contains("mui-collapse")&&a.preventDefault()}),b.addEventListener("doubletap",function(){e&&F()}),b.addEventListener("tap",function(b){if(e){var c=!1,d=e.classList;if(d.contains("mui-collapse")&&!e.parentNode.classList.contains("mui-unfold")){if(b.detail.gesture.preventDefault(),!d.contains(g)){var f=e.parentNode.querySelector(".mui-collapse.mui-active");f&&f.classList.remove(g),c=!0}d.toggle(g),c&&a.trigger(e,"expand")}F()}})}(mui,window,document),function(a,b){a.alert=function(c,d,e,f){if(a.os.plus){if(void 0===typeof c)return;"function"==typeof d?(f=d,d=null,e="确定"):"function"==typeof e&&(f=e,e=null),plus.nativeUI.alert(c,f,d,e)}else b.alert(c)}}(mui,window),function(a,b){a.confirm=function(c,d,e,f){if(a.os.plus){if(void 0===typeof c)return;"function"==typeof d?(f=d,d=null,e=null):"function"==typeof e&&(f=e,e=null),plus.nativeUI.confirm(c,f,d,e)}else b.confirm(c)}}(mui,window),function(a,b){a.prompt=function(c,d,e,f,g){if(a.os.plus){if(void 0===typeof message)return;"function"==typeof d?(g=d,d=null,e=null,f=null):"function"==typeof e?(g=e,e=null,f=null):"function"==typeof f&&(g=f,f=null),plus.nativeUI.prompt(c,g,e,d,f)}else b.prompt(c)}}(mui,window),function(a){a.toast=function(b){if(a.os.plus)plus.nativeUI.toast(b,{verticalAlign:"bottom"});else{var c=document.createElement("div");c.classList.add("mui-toast-container"),c.innerHTML='
'+b+"
",document.body.appendChild(c),setTimeout(function(){document.body.removeChild(c)},2e3)}}}(mui,window),function(a,b,c){var d="mui-icon",e="mui-icon-clear",f="mui-icon-speech",g="mui-icon-search",h="mui-input-row",i="mui-placeholder",j="mui-tooltip",k="mui-hidden",l="mui-focusin",m="."+e,n="."+f,o="."+i,p="."+j,q=function(a){for(;a&&a!==c;a=a.parentNode)if(a.classList&&a.classList.contains(h))return a;return null},r=function(a,b){this.element=a,this.options=b||{actions:"clear"},~this.options.actions.indexOf("slider")?(this.sliderActionClass=j+" "+k,this.sliderActionSelector=p):(~this.options.actions.indexOf("clear")&&(this.clearActionClass=d+" "+e+(a.value?"":" "+k),this.clearActionSelector=m),~this.options.actions.indexOf("speech")&&(this.speechActionClass=d+" "+f,this.speechActionSelector=n),~this.options.actions.indexOf("search")&&(this.searchActionClass=i,this.searchActionSelector=o)),this.init()};r.prototype.init=function(){this.initAction(),this.initElementEvent()},r.prototype.initAction=function(){var b=this,c=b.element.parentNode;c&&(b.sliderActionClass?b.sliderAction=b.createAction(c,b.sliderActionClass,b.sliderActionSelector):(b.searchActionClass&&(b.searchAction=b.createAction(c,b.searchActionClass,b.searchActionSelector),b.searchAction.addEventListener("tap",function(c){a.focus(b.element),c.stopPropagation()})),b.speechActionClass&&(b.speechAction=b.createAction(c,b.speechActionClass,b.speechActionSelector),b.speechAction.addEventListener("click",a.stopPropagation),b.speechAction.addEventListener("tap",function(a){b.speechActionClick(a)})),b.clearActionClass&&(b.clearAction=b.createAction(c,b.clearActionClass,b.clearActionSelector),b.clearAction.addEventListener("tap",function(a){b.clearActionClick(a)}))))},r.prototype.createAction=function(a,b,e){var f=a.querySelector(e);if(!f){var f=c.createElement("span");f.className=b,b===this.searchActionClass&&(f.innerHTML=''+this.element.getAttribute("placeholder"),this.element.setAttribute("placeholder","")),a.insertBefore(f,this.element.nextSibling)}return f},r.prototype.initElementEvent=function(){var b=this.element;if(this.sliderActionClass){var c=this.sliderAction,d=b.offsetLeft,e=b.offsetWidth-28,f=c.offsetWidth,g=Math.abs(b.max-b.min),h=null,i=function(){c.classList.remove(k),f=f||c.offsetWidth;var a=Math.abs(b.value)/g*e;c.style.left=14+d+a-f/2+"px",c.innerText=b.value,h&&clearTimeout(h),h=setTimeout(function(){c.classList.add(k)},1e3)};b.addEventListener("input",i),b.addEventListener("tap",i),b.addEventListener("touchmove",function(a){a.stopPropagation()})}else{if(this.clearActionClass){var j=this.clearAction;if(!j)return;a.each(["keyup","change","input","focus","blur","cut","paste"],function(a,c){!function(a){b.addEventListener(a,function(){j.classList[b.value.trim()?"remove":"add"](k)})}(c)})}this.searchActionClass&&(b.addEventListener("focus",function(){b.parentNode.classList.add("mui-active")}),b.addEventListener("blur",function(){b.value.trim()||b.parentNode.classList.remove("mui-active")}))}},r.prototype.clearActionClick=function(b){var c=this;c.element.value="",a.focus(c.element),c.clearAction.classList.add(k),b.preventDefault()},r.prototype.speechActionClick=function(d){if(b.plus){var e=this;e.element.value="",c.body.classList.add(l),plus.speech.startRecognize({engine:"iFly"},function(b){e.element.value+=b,a.focus(e.element),plus.speech.stopRecognize(),a.trigger(e.element,"recognized",{value:e.element.value})},function(){c.body.classList.remove(l)})}else alert("only for 5+");d.preventDefault()},a.fn.input=function(){this.each(function(){var b=[],c=q(this.parentNode),d=c.querySelector("label");if(d){var e=this;d.addEventListener("tap",function(){"text"===e.type||e.click()})}if("range"===this.type&&c.classList.contains("mui-input-range"))b.push("slider");else{var f=this.classList;f.contains("mui-input-clear")&&b.push("clear"),f.contains("mui-input-speech")&&b.push("speech"),"search"===this.type&&c.classList.contains("mui-search")&&b.push("search")}var g=this.getAttribute("data-input-"+b[0]);if(!g){g=++a.uuid,a.data[g]=new r(this,{actions:b.join(",")});for(var h=0,i=b.length;i>h;h++)this.setAttribute("data-input-"+b[h],g)}})},a.ready(function(){a(".mui-input-row input").input()})}(mui,window,document); \ No newline at end of file diff --git a/36Kr/js/news.js b/36Kr/js/news.js new file mode 100644 index 0000000..0c37ef8 --- /dev/null +++ b/36Kr/js/news.js @@ -0,0 +1,289 @@ +(function($, kr, websql) { + + var DB_VERSION_NUMBER = '1.0'; + var TIME_UPDATE = 'TIME_UPDATE'; + var TIME_PUBDATE = 'TIME_PUBDATE'; + var TIME_UPDATE_SLIDER = 'TIME_UPDATE_SLIDER'; + var TIME_INTERVAL = 1000 * 60 * 5; //更新间隔(默认十分钟) + var TIME_INTERVAL_SLIDER = 1000 * 60 * 60; //更新间隔(默认一小时) + + var SLIDER_GUID = 'SLIDER_GUID'; + + + var PAGE_SIZE = 10; + var MAX_INTEGER = Number.MAX_VALUE; + + var REGEX_SRC = /src=[\'\"]?([^\'\"]*)[\'\"]?/i; + + var IMAGE_DOWNLOAD = "IMAGE_DOWNLOAD"; + var IMAGE_DOWNLOAD_WHEN_WIFI = "true"; + var DIR_IMAGE = "_doc/image/news/"; + + var SLIDER_URL = 'http://demo.dcloud.net.cn/36kr/slider.json'; + var FEED_URL = 'http://www.36kr.com/feed'; + var SQL_TABLE = 'DROP TABLE IF EXISTS kr_news;CREATE TABLE kr_news (guid TEXT PRIMARY KEY, title TEXT,author TEXT,link TEXT,cover TEXT,image TEXT,pubDate INTEGER,description TEXT);'; + var SQL_SELECT = 'SELECT guid,title,author,pubDate,cover,image FROM kr_news WHERE pubDate < ? ORDER BY pubDate DESC LIMIT ?;'; + var SQL_INSERT = 'INSERT INTO kr_news(title,author,link,guid,cover,pubDate,description) VALUES(?,?,?,?,?,?,?);'; + var SQL_SELECT_DETAIL = 'SELECT * FROM kr_news WHERE guid = ? LIMIT 1;'; + var SQL_UPDATE = 'UPDATE kr_news SET image = ? WHERE guid = ?'; + var SQL_DELETE = 'DELETE FROM kr_news'; + + var UNITS = { + '年': 31557600000, + '月': 2629800000, + '天': 86400000, + '小时': 3600000, + '分钟': 60000, + '秒': 1000 + }; + kr.humanize = function(milliseconds) { + var humanize = ''; + $.each(UNITS, function(unit, value) { + if (milliseconds >= value) { + humanize = Math.floor(milliseconds / value) + unit + '前'; + return false; + } + return true; + }); + return humanize || '刚刚'; + }; + kr.format = function(milliseconds) { + var diff = Date.now() - milliseconds; + if (diff < UNITS['天']) { + return kr.humanize(diff); + } + var date = new Date(milliseconds); + var _format = function(number) { + return (number < 10 ? ('0' + number) : number); + }; + return date.getFullYear() + '/' + _format(date.getMonth() + 1) + '/' + _format(date.getDay()) + '-' + _format(date.getHours()) + ':' + _format(date.getMinutes()); + }; + kr.dbReady = function(successCallback, errorCallback) { + html5sql.openDatabase("kr", "36Kr", 5 * 1024 * 1024); + if (html5sql.database.version === '') { + html5sql.changeVersion('', DB_VERSION_NUMBER, SQL_TABLE, function() { + successCallback && successCallback(true); + }, function(error, failingQuery) { + errorCallback && errorCallback(error, failingQuery); + }); + } else { + successCallback && successCallback(false); + } + }; + kr.toggleDownloadWhenWifi = function(whenWifi) { + if (whenWifi) { + plus.storage.setItem(IMAGE_DOWNLOAD, IMAGE_DOWNLOAD_WHEN_WIFI); + } else { + plus.storage.removeItem(IMAGE_DOWNLOAD); + } + }; + kr.isDownloadWhenWifi = function() { + return !!plus.storage.getItem(IMAGE_DOWNLOAD); + }; + kr.isDownloadImage = function() { + var currentType = plus.networkinfo.getCurrentType(); + if (currentType === plus.networkinfo.CONNECTION_NONE) { + return false; + } else if (currentType !== plus.networkinfo.CONNECTION_WIFI) { + if (plus.storage.getItem(IMAGE_DOWNLOAD)) { + return false; + } + } + return true; + }; + kr.clearCache = function() { + plus.nativeUI.showWaiting('正在删除缓存...'); + kr.deleteNews(function() { + //清除图片缓存 + plus.io.resolveLocalFileSystemURL(DIR_IMAGE, function(entry) { + entry.removeRecursively(function() { + plus.nativeUI.closeWaiting(); + plus.nativeUI.toast("缓存删除成功"); + }, function() { + plus.nativeUI.closeWaiting(); + }); + }, function(e) { + plus.nativeUI.closeWaiting(); + }); + //通知首页重新拉取最新 + plus.storage.removeItem(TIME_UPDATE); //移除上次更新时间 + plus.storage.removeItem(TIME_PUBDATE); //移除最新的feed更新时间 + plus.storage.removeItem(TIME_UPDATE_SLIDER); //移除上次slider更新时间 + plus.storage.removeItem(SLIDER_GUID); //移除上次slider的guid + plus.webview.getWebviewById("news").evalJS('getFeed("true")'); + }, function() {}); + }; + kr.downloadImage = function(name, imgUrl, successCallback, errorCallback) { + var url = DIR_IMAGE + name.substr(-2) + "/" + + name + (imgUrl.substring(imgUrl.lastIndexOf('.'), imgUrl.length - 7)); + return plus.downloader.createDownload(imgUrl, { + filename: url + }, function(download, status) { + successCallback(download.filename); + }); + }; + kr.getSlider = function(isLocal, successCallback) { + if (isLocal === true) { + successCallback(plus.storage.getItem(SLIDER_GUID)); + return; + } + successCallback = successCallback || isLocal; + if (plus.networkinfo.getCurrentType() === plus.networkinfo.CONNECTION_NONE) { + successCallback(plus.storage.getItem(SLIDER_GUID)); + return; + } + var update = parseFloat(plus.storage.getItem(TIME_UPDATE_SLIDER)); + if (update && (update + TIME_INTERVAL_SLIDER) > Date.parse(new Date())) { + successCallback(plus.storage.getItem(SLIDER_GUID)); + return; + } + $.getJSON(SLIDER_URL, function(response) { + if (response) { + plus.storage.setItem(SLIDER_GUID, response.guid); + plus.storage.setItem(TIME_UPDATE_SLIDER, Date.parse(new Date()) + ''); //本地更新时间 + kr.getNewsByGuid(response.guid, function(item) { + if (!item) { //首页封面不存在,新增 + response.pubDate = Date.parse(response.pubDate); + if (response.cover) { + response.description = response.description.replace('', ''); + } + response.description = response.description.replace('36氪官方iOS应用正式上线,支持『一键下载36氪报道的移动App』和『离线阅读』 立即下载!', ''); + kr.addNews([ + [response.title, response.author, response.link, response.guid, response.cover, response.pubDate, response.description] + ], function() { + successCallback(response); + }, function() { + successCallback(response); + }); + } else { //返回本地存储的 + successCallback(item); + } + }); + } else { + successCallback(plus.storage.getItem(SLIDER_GUID)); + } + }); + }; + kr.getFeed = function(successCallback, errorCallback) { + if (plus.networkinfo.getCurrentType() === plus.networkinfo.CONNECTION_NONE) { + plus.nativeUI.toast('似乎已断开与互联网的连接', { + verticalAlign: 'top' + }); + successCallback(false); + return; + } + var update = parseFloat(plus.storage.getItem(TIME_UPDATE)); + if (update && (update + TIME_INTERVAL) > Date.parse(new Date())) { +// console.log('时间间隔内不请求远程(' + (TIME_INTERVAL - (Date.parse(new Date()) - update)) / 1000 + '秒后)'); + successCallback(false); + return; + } + $.getFeed(FEED_URL, function(feed) { + if (feed.items) { + var news = []; + var pubDate = parseFloat(plus.storage.getItem(TIME_PUBDATE)); + $.each(feed.items, function(index, item) { + if (pubDate && pubDate >= Date.parse(item.pubDate)) { + return false; + } + var matches = item.description.match(REGEX_SRC); + var cover = ''; + if (matches && matches.length === 2) { + cover = matches[1]; +// console.log("match:"+cover); + item.description = item.description.replace('', ''); + news.push([item.title, item.author, item.link, item.guid, cover, Date.parse(item.pubDate), item.description]); + }else{ + //没有匹配到缩略图,找服务器临时抓取 + mui.getJSON('http://demo.dcloud.net.cn/36kr/cover.php',{appid:'36Kr',url:item.link},function (response) { + if(response.status==1){ + cover = response.url; + news.push([item.title, item.author, item.link, item.guid, cover, Date.parse(item.pubDate), item.description]); + } + }) + } + //屏蔽iOS客户端推广消息 +// item.description = item.description.replace('36氪官方iOS应用正式上线,支持『一键下载36氪报道的移动App』和『离线阅读』 立即下载!', ''); + }); + news.reverse(); + if (news.length > 0) { + kr.addNews(news, function() { + successCallback(news.length); + }, function() { + successCallback(false); + }); + } else { + successCallback(false); + } + } + plus.storage.setItem(TIME_PUBDATE, Date.parse(feed.pubDate) + ''); //订阅发布时间 + plus.storage.setItem(TIME_UPDATE, Date.parse(new Date()) + ''); //本地更新时间 + }, function(xhr) { + errorCallback && errorCallback(); + }); + }; + kr.getNewsByGuid = function(guid, successCallback, errorCallback) { + websql.process([{ + "sql": SQL_SELECT_DETAIL, + "data": [guid] + }], function(tx, results) { + successCallback(results.rows.length > 0 && results.rows.item(0)); + }, function(error, failingQuery) { + errorCallback && errorCallback(error, failingQuery); + }); + }; + kr.getNews = function(latestId, pageSize, successCallback, errorCallback) { + if (typeof latestId === 'function') { + successCallback = latestId; + latestId = MAX_INTEGER; + pageSize = PAGE_SIZE; + } else if (typeof pageSize === 'function') { + successCallback = pageSize; + latestId = latestId || MAX_INTEGER; + pageSize = PAGE_SIZE; + } else { + latestId = latestId || MAX_INTEGER; + pageSize = pageSize || PAGE_SIZE; + } + websql.process([{ + "sql": SQL_SELECT, + "data": [latestId, pageSize] + }], function(tx, results) { + successCallback(results.rows); + }, function(error, failingQuery) { + errorCallback && errorCallback(error, failingQuery); + }); + }; + kr.addNews = function(news, successCallback, errorCallback) { + var sqls = []; + $.each(news, function(index, item) { + sqls.push({ + "sql": SQL_INSERT, + "data": item + }) + }); + websql.process(sqls, function(tx, results) { + successCallback(true); + }, function(error, failingQuery) { + errorCallback && errorCallback(error, failingQuery); + }); + + }; + kr.updateNews = function(guid, image, successCallback, errorCallback) { + websql.process([{ + "sql": SQL_UPDATE, + "data": [image, guid], + }], function(tx, results) { + successCallback && successCallback(); + }, function(error, failingQuery) { + errorCallback && errorCallback(error, failingQuery); + }); + }; + kr.deleteNews = function(successCallback, errorCallback) { + websql.process(SQL_DELETE, function(tx, results) { + successCallback && successCallback(); + }, function(error, failingQuery) { + errorCallback && errorCallback(error, failingQuery); + }); + }; +})(mui, kr, html5sql); \ No newline at end of file diff --git a/36Kr/list.html b/36Kr/list.html new file mode 100644 index 0000000..1cd7be9 --- /dev/null +++ b/36Kr/list.html @@ -0,0 +1,316 @@ + + + + + + 36氪 - 首页 + + + + + + + + + + +
+
+
+
+ +
+
+
    +
+
+
+ + + + + + + + + + + \ No newline at end of file diff --git a/36Kr/manifest.json b/36Kr/manifest.json new file mode 100644 index 0000000..0dbd479 --- /dev/null +++ b/36Kr/manifest.json @@ -0,0 +1,202 @@ +{ + "@platforms": ["android", "iPhone", "iPad"], + "id": "H5EC86117",/*应用的标识,创建应用时自动生成,勿手动修改*/ + "name": "36kr",/*应用名称,程序桌面图标名称*/ + "version": { + "name": "1.1.6",/*应用版本名称*/ + "code": "" + }, + "description": "",/*应用描述信息*/ + "icons": { + "72": "icon.png" + }, + "launch_path": "index.html",/*应用的入口页面,默认为根目录下的index.html;支持网络地址,必须以http://或https://开头*/ + "fullscreen": false, + "developer": { + "name": "",/*开发者名称*/ + "email": "",/*开发者邮箱地址*/ + "url": "" + }, + "permissions": { + "Accelerometer": { + "description": "访问加速度感应器" + }, + "Audio": { + "description": "访问麦克风" + }, + "Cache": { + "description": "管理应用缓存" + }, + "Camera": { + "description": "访问摄像头" + }, + "Console": { + "description": "跟踪调试输出日志" + }, + "Contacts": { + "description": "访问系统联系人信息" + }, + "Device": { + "description": "访问设备信息" + }, + "Downloader": { + "description": "文件下载管理" + }, + "Events": { + "description": "应用扩展事件" + }, + "File": { + "description": "访问本地文件系统" + }, + "Gallery": { + "description": "访问系统相册" + }, + "Geolocation": { + "description": "访问位置信息" + }, + "Invocation": { + "description": "使用Native.js能力" + }, + "Messaging": { + "description": "访问通讯能力" + }, + "Orientation": { + "description": "访问方向感应器" + }, + "Proximity": { + "description": "访问距离感应器" + }, + "Storage": { + "description": "管理应用本地数据" + }, + "UI": { + "description": "管理系统原生控件" + }, + "Uploader": { + "description": "管理文件上传任务" + }, + "Runtime": { + "description": "访问运行期环境" + }, + "XMLHttpRequest": { + "description": "跨域网络访问" + }, + "Zip": { + "description": "文件压缩与解压缩" + }, + "Barcode": { + "description": "管理二维码扫描插件" + }, + "Maps": { + "description": "管理地图插件" + }, + "Payment": { + "description": "管理支付插件" + }, + "Push": { + "description": "管理推送消息插件" + }, + "Share": { + "description": "管理社交分享插件" + }, + "Speech": { + "description": "管理语音识别插件" + }, + "Statistic": { + "description": "管理统计插件" + } + }, + "plus": { + "splashscreen": { + "autoclose": false,/*是否自动关闭程序启动界面,true表示应用加载应用入口页面后自动关闭;false则需调plus.navigator.closeSplashscreen()关闭*/ + "waiting": true + }, + "popGesture": "close",/*设置应用默认侧滑返回关闭Webview窗口,"none"为无侧滑返回功能,"hide"为侧滑隐藏Webview窗口。参考http://ask.dcloud.net.cn/article/102*/ + "runmode": "liberate",/*应用的首次启动运行模式,可取liberate或normal,liberate模式在第一次启动时将解压应用资源(Android平台File API才可正常访问_www目录)*/ + "signature": "Sk9JTiBVUyBtYWlsdG86aHIyMDEzQGRjbG91ZC5pbw==",/*可选,保留给应用签名,暂不使用*/ + "distribute": { + "apple": { + "appid": "",/*iOS应用标识,苹果开发网站申请的appid,如io.dcloud.HelloH5*/ + "mobileprovision": "",/*iOS应用打包配置文件*/ + "password": "",/*iOS应用打包个人证书导入密码*/ + "p12": "",/*iOS应用打包个人证书,打包配置文件关联的个人证书*/ + "devices": "universal",/*iOS应用支持的设备类型,可取值iphone/ipad/universal*/ + "frameworks": [] + }, + "google": { + "packagename": "",/*Android应用包名,如io.dcloud.HelloH5*/ + "keystore": "",/*Android应用打包使用的密钥库文件*/ + "password": "",/*Android应用打包使用密钥库中证书的密码*/ + "aliasname": "",/*Android应用打包使用密钥库中证书的别名*/ + "permissions": [] + }, + "orientation": ["portrait-primary"],/*应用支持的方向,portrait-primary:竖屏正方向;portrait-secondary:竖屏反方向;landscape-primary:横屏正方向;landscape-secondary:横屏反方向*/ + "icons": { + "ios": { + "prerendered": true, /*应用图标是否已经高亮处理,在iOS6及以下设备上有效*/ + "auto": "", /*应用图标,分辨率:512x512,用于自动生成各种尺寸程序图标*/ + "iphone": { + "normal": "", /*iPhone3/3GS程序图标,分辨率:57x57*/ + "retina": "", /*iPhone4程序图标,分辨率:114x114*/ + "retina7": "", /*iPhone4S/5/6程序图标,分辨率:120x120*/ + "retina8": "", /*iPhone6 Plus程序图标,分辨率:180x180*/ + "spotlight-normal": "", /*iPhone3/3GS Spotlight搜索程序图标,分辨率:29x29*/ + "spotlight-retina": "", /*iPhone4 Spotlight搜索程序图标,分辨率:58x58*/ + "spotlight-retina7": "", /*iPhone4S/5/6 Spotlight搜索程序图标,分辨率:80x80*/ + "settings-normal": "", /*iPhone4设置页面程序图标,分辨率:29x29*/ + "settings-retina": "", /*iPhone4S/5/6设置页面程序图标,分辨率:58x58*/ + "settings-retina8": "" + }, + "ipad": { + "normal": "", /*iPad普通屏幕程序图标,分辨率:72x72*/ + "retina": "", /*iPad高分屏程序图标,分辨率:144x144*/ + "normal7": "", /*iPad iOS7程序图标,分辨率:76x76*/ + "retina7": "", /*iPad iOS7高分屏程序图标,分辨率:152x152*/ + "spotlight-normal": "", /*iPad Spotlight搜索程序图标,分辨率:50x50*/ + "spotlight-retina": "", /*iPad高分屏Spotlight搜索程序图标,分辨率:100x100*/ + "spotlight-normal7": "",/*iPad iOS7 Spotlight搜索程序图标,分辨率:40x40*/ + "spotlight-retina7": "",/*iPad iOS7高分屏Spotlight搜索程序图标,分辨率:80x80*/ + "settings-normal": "",/*iPad设置页面程序图标,分辨率:29x29*/ + "settings-retina": "" + } + }, + "android": { + "mdpi": "", /*普通屏程序图标,分辨率:48x48*/ + "ldpi": "", /*大屏程序图标,分辨率:48x48*/ + "hdpi": "", /*高分屏程序图标,分辨率:72x72*/ + "xhdpi": "",/*720P高分屏程序图标,分辨率:96x96*/ + "xxhdpi": "" + } + }, + "splashscreen": { + "ios": { + "iphone": { + "default": "/Users/fengxiaoyun/Pictures/无标题.png", /*iPhone3启动图片选,分辨率:320x480*/ + "retina35": "",/*3.5英寸设备(iPhone4)启动图片,分辨率:640x960*/ + "retina40": "",/*4.0 英寸设备(iPhone5/iPhone5s)启动图片,分辨率:640x1136*/ + "retina47": "",/*4.7 英寸设备(iPhone6)启动图片,分辨率:750x1334*/ + "retina55": "",/*5.5 英寸设备(iPhone6 Plus)启动图片,分辨率:1242x2208*/ + "retina55l": "" + }, + "ipad": { + "portrait": "", /*iPad竖屏启动图片,分辨率:768x1004*/ + "portrait-retina": "",/*iPad高分屏竖屏图片,分辨率:1536x2008*/ + "landscape": "", /*iPad横屏启动图片,分辨率:1024x748*/ + "landscape-retina": "", /*iPad高分屏横屏启动图片,分辨率:2048x1496*/ + "portrait7": "", /*iPad iOS7竖屏启动图片,分辨率:768x1024*/ + "portrait-retina7": "",/*iPad iOS7高分屏竖屏图片,分辨率:1536x2048*/ + "landscape7": "", /*iPad iOS7横屏启动图片,分辨率:1024x768*/ + "landscape-retina7": "" + } + }, + "android": { + "mdpi": "", /*普通屏启动图片,分辨率:240x282*/ + "ldpi": "", /*大屏启动图片,分辨率:320x442*/ + "hdpi": "", /*高分屏启动图片,分辨率:480x762*/ + "xhdpi": "", /*720P高分屏启动图片,分辨率:720x1242*/ + "xxhdpi": "" + } + } + } + } +} \ No newline at end of file diff --git a/36Kr/setting.html b/36Kr/setting.html new file mode 100644 index 0000000..ad1586f --- /dev/null +++ b/36Kr/setting.html @@ -0,0 +1,72 @@ + + + + + + 36氪 - 设置 + + + + + + + + + +
+

设置

+ 完成 +
+
+ + +
+ + + + + + + + \ No newline at end of file