Merge remote-tracking branch 'refs/remotes/origin/master' into no-build-requires-config

This commit is contained in:
syuilo 2017-02-22 03:28:59 +09:00
commit 7203c176e8
18 changed files with 58 additions and 60 deletions

View File

@ -167,11 +167,7 @@ gulp.task('build:client:scripts', () => new Promise(async (ok) => {
.pipe(babel({ .pipe(babel({
presets: ['es2015'] presets: ['es2015']
})) }))
.pipe(uglify({ .pipe(uglify());
mangle: {
toplevel: true
}
}));
} }
es.merge( es.merge(

View File

@ -23,7 +23,7 @@
<h1>サインインしてください</h1> <h1>サインインしてください</h1>
<mk-signin></mk-signin> <mk-signin></mk-signin>
</main> </main>
<footer><img src="/_/resources/auth/logo.svg" alt="Misskey"/></footer> <footer><img src="/resources/auth/logo.svg" alt="Misskey"/></footer>
<style> <style>
:scope :scope
display block display block

View File

@ -2,5 +2,5 @@ extends ../base
block head block head
meta(name='viewport', content='width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no') meta(name='viewport', content='width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no')
link(rel='stylesheet', href='/_/resources/auth/style.css') link(rel='stylesheet', href='/resources/auth/style.css')
script(src='/_/resources/auth/script.js', async, defer) script(src='/resources/auth/script.js', async, defer)

View File

@ -16,8 +16,8 @@ html(lang='ja', dir='ltr')
block head block head
body body
noscript: div: p JavaScriptを有効にしてください noscript: p JavaScriptを有効にしてください
div#init: p div#ini: p
span . span .
span . span .
span . span .

View File

@ -94,8 +94,8 @@ module.exports = callback => {
mixins(me); mixins(me);
const init = document.getElementById('init'); const ini = document.getElementById('ini');
init.parentNode.removeChild(init); ini.parentNode.removeChild(ini);
const app = document.createElement('div'); const app = document.createElement('div');
app.setAttribute('id', 'app'); app.setAttribute('id', 'app');

View File

@ -1,26 +1,28 @@
const head = document.getElementsByTagName('head')[0]; (() => {
const ua = navigator.userAgent.toLowerCase(); const head = document.getElementsByTagName('head')[0];
const isMobile = /mobile|iphone|ipad|android/.test(ua); const ua = navigator.userAgent.toLowerCase();
const isMobile = /mobile|iphone|ipad|android/.test(ua);
isMobile ? mountMobile() : mountDesktop(); isMobile ? mountMobile() : mountDesktop();
function mountDesktop() { function mountDesktop() {
const script = document.createElement('script'); const script = document.createElement('script');
script.setAttribute('src', '/_/resources/desktop/script.js'); script.setAttribute('src', '/resources/desktop/script.js');
script.setAttribute('async', 'true'); script.setAttribute('async', 'true');
script.setAttribute('defer', 'true'); script.setAttribute('defer', 'true');
head.appendChild(script); head.appendChild(script);
} }
function mountMobile() { function mountMobile() {
const meta = document.createElement('meta'); const meta = document.createElement('meta');
meta.setAttribute('name', 'viewport'); meta.setAttribute('name', 'viewport');
meta.setAttribute('content', 'width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no'); meta.setAttribute('content', 'width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no');
head.appendChild(meta); head.appendChild(meta);
const script = document.createElement('script'); const script = document.createElement('script');
script.setAttribute('src', '/_/resources/mobile/script.js'); script.setAttribute('src', '/resources/mobile/script.js');
script.setAttribute('async', 'true'); script.setAttribute('async', 'true');
script.setAttribute('defer', 'true'); script.setAttribute('defer', 'true');
head.appendChild(script); head.appendChild(script);
} }
})();

View File

@ -1,6 +1,6 @@
<mk-core-error> <mk-core-error>
<!--i: i.fa.fa-times-circle--> <!--i: i.fa.fa-times-circle-->
<img src="/_/resources/error.jpg" alt=""/> <img src="/resources/error.jpg" alt=""/>
<h1>サーバーに接続できません</h1> <h1>サーバーに接続できません</h1>
<p class="text">インターネット回線に問題があるか、サーバーがダウンまたはメンテナンスしている可能性があります。しばらくしてから<a onclick={ retry }>再度お試し</a>ください。</p> <p class="text">インターネット回線に問題があるか、サーバーがダウンまたはメンテナンスしている可能性があります。しばらくしてから<a onclick={ retry }>再度お試し</a>ください。</p>
<p class="thanks">いつもMisskeyをご利用いただきありがとうございます。</p> <p class="thanks">いつもMisskeyをご利用いただきありがとうございます。</p>

View File

@ -191,7 +191,7 @@
&:not([data-is-me]):not([data-is-read]) &:not([data-is-me]):not([data-is-read])
> div > div
background-image url("/_/resources/unread.svg") background-image url("/resources/unread.svg")
background-repeat no-repeat background-repeat no-repeat
background-position 0 center background-position 0 center

View File

@ -2,7 +2,7 @@
<div class="content-container"> <div class="content-container">
<div class="balloon"> <div class="balloon">
<p class="read" if={ message.is_me && message.is_read }>既読</p> <p class="read" if={ message.is_me && message.is_read }>既読</p>
<button class="delete-button" if={ message.is_me } title="メッセージを削除"><img src="/_/resources/desktop/messaging/delete.png" alt="Delete"/></button> <button class="delete-button" if={ message.is_me } title="メッセージを削除"><img src="/resources/desktop/messaging/delete.png" alt="Delete"/></button>
<div class="content" if={ !message.is_deleted }> <div class="content" if={ !message.is_deleted }>
<div ref="text"></div> <div ref="text"></div>
<div class="image" if={ message.file }><img src={ message.file.url } alt="image" title={ message.file.name }/></div> <div class="image" if={ message.file }><img src={ message.file.url } alt="image" title={ message.file.name }/></div>

View File

@ -1,11 +1,11 @@
<mk-drive-browser-file data-is-selected={ (file._selected || false).toString() } data-is-contextmenu-showing={ isContextmenuShowing.toString() } onclick={ onclick } oncontextmenu={ oncontextmenu } draggable="true" ondragstart={ ondragstart } ondragend={ ondragend } title={ title }> <mk-drive-browser-file data-is-selected={ (file._selected || false).toString() } data-is-contextmenu-showing={ isContextmenuShowing.toString() } onclick={ onclick } oncontextmenu={ oncontextmenu } draggable="true" ondragstart={ ondragstart } ondragend={ ondragend } title={ title }>
<div class="label" if={ I.avatar_id == file.id }><img src="/_/resources/label.svg"/> <div class="label" if={ I.avatar_id == file.id }><img src="/resources/label.svg"/>
<p>アバター</p> <p>アバター</p>
</div> </div>
<div class="label" if={ I.banner_id == file.id }><img src="/_/resources/label.svg"/> <div class="label" if={ I.banner_id == file.id }><img src="/resources/label.svg"/>
<p>バナー</p> <p>バナー</p>
</div> </div>
<div class="label" if={ I.data.wallpaper == file.id }><img src="/_/resources/label.svg"/> <div class="label" if={ I.data.wallpaper == file.id }><img src="/resources/label.svg"/>
<p>壁紙</p> <p>壁紙</p>
</div> </div>
<div class="thumbnail"><img src={ file.url + '?thumbnail&size=128' } alt=""/></div> <div class="thumbnail"><img src={ file.url + '?thumbnail&size=128' } alt=""/></div>

View File

@ -1,5 +1,5 @@
<mk-entrance> <mk-entrance>
<main><img src="/_/resources/title.svg" alt="Misskey"/> <main><img src="/resources/title.svg" alt="Misskey"/>
<mk-entrance-signin if={ mode == 'signin' }></mk-entrance-signin> <mk-entrance-signin if={ mode == 'signin' }></mk-entrance-signin>
<mk-entrance-signup if={ mode == 'signup' }></mk-entrance-signup> <mk-entrance-signup if={ mode == 'signup' }></mk-entrance-signup>
<div class="introduction" if={ mode == 'introduction' }> <div class="introduction" if={ mode == 'introduction' }>

View File

@ -4,7 +4,7 @@
<div class="medias { with: poll }" if={ files.length != 0 }> <div class="medias { with: poll }" if={ files.length != 0 }>
<ul> <ul>
<li each={ files }> <li each={ files }>
<div class="img" style="background-image: url({ url + '?thumbnail&size=64' })" title={ name }></div><img class="remove" onclick={ _remove } src="/_/resources/desktop/remove.png" title="添付取り消し" alt=""/> <div class="img" style="background-image: url({ url + '?thumbnail&size=64' })" title={ name }></div><img class="remove" onclick={ _remove } src="/resources/desktop/remove.png" title="添付取り消し" alt=""/>
</li> </li>
<li class="add" if={ files.length < 4 } title="PCからファイルを添付" onclick={ selectFile }><i class="fa fa-plus"></i></li> <li class="add" if={ files.length < 4 } title="PCからファイルを添付" onclick={ selectFile }><i class="fa fa-plus"></i></li>
</ul> </ul>

View File

@ -44,7 +44,7 @@
display block display block
width 100% width 100%
height 48px height 48px
background-image url(/_/resources/desktop/header-logo.svg) background-image url(/resources/desktop/header-logo.svg)
background-size 64px background-size 64px
background-position center background-position center
background-repeat no-repeat background-repeat no-repeat

View File

@ -1,5 +1,5 @@
extends ../base extends ../base
block head block head
link(rel='stylesheet', href='/_/resources/dev/style.css') link(rel='stylesheet', href='/resources/dev/style.css')
script(src='/_/resources/dev/script.js', async, defer) script(src='/resources/dev/script.js', async, defer)

View File

@ -4,9 +4,9 @@ html {
font-family: sans-serif; font-family: sans-serif;
} }
body > noscript > div { body > noscript {
position: fixed; position: fixed;
z-index: 32768; z-index: 2;
top: 0; top: 0;
left: 0; left: 0;
width: 100%; width: 100%;
@ -14,16 +14,16 @@ body > noscript > div {
text-align: center; text-align: center;
background: #fff; background: #fff;
} }
body > noscript > div > p { body > noscript > p {
display: block; display: block;
margin: 32px; margin: 32px;
font-size: 2em; font-size: 2em;
color: #555; color: #555;
} }
#init { #ini {
position: fixed; position: fixed;
z-index: 16384; z-index: 1;
top: 0; top: 0;
left: 0; left: 0;
width: 100%; width: 100%;
@ -32,27 +32,27 @@ body > noscript > div {
background: #fff; background: #fff;
cursor: wait; cursor: wait;
} }
#init > p { #ini > p {
display: block; display: block;
user-select: none; user-select: none;
margin: 32px; margin: 32px;
font-size: 4em; font-size: 4em;
color: #555; color: #555;
} }
#init > p > span { #ini > p > span {
animation: init 1.4s infinite ease-in-out both; animation: ini 1.4s infinite ease-in-out both;
} }
#init > p > span:nth-child(1) { #ini > p > span:nth-child(1) {
animation-delay: 0s; animation-delay: 0s;
} }
#init > p > span:nth-child(2) { #ini > p > span:nth-child(2) {
animation-delay: 0.16s; animation-delay: 0.16s;
} }
#init > p > span:nth-child(3) { #ini > p > span:nth-child(3) {
animation-delay: 0.32s; animation-delay: 0.32s;
} }
@keyframes init { @keyframes ini {
0%, 80%, 100% { 0%, 80%, 100% {
opacity: 1; opacity: 1;
} }

View File

@ -1,5 +1,5 @@
<mk-entrance> <mk-entrance>
<main><img src="/_/resources/title.svg" alt="Misskey"/> <main><img src="/resources/title.svg" alt="Misskey"/>
<mk-entrance-signin if={ mode == 'signin' }></mk-entrance-signin> <mk-entrance-signin if={ mode == 'signin' }></mk-entrance-signin>
<mk-entrance-signup if={ mode == 'signup' }></mk-entrance-signup> <mk-entrance-signup if={ mode == 'signup' }></mk-entrance-signup>
<div class="introduction" if={ mode == 'introduction' }> <div class="introduction" if={ mode == 'introduction' }>

View File

@ -40,7 +40,7 @@ app.use((req, res, next) => {
app.use(favicon(`${__dirname}/resources/favicon.ico`)); app.use(favicon(`${__dirname}/resources/favicon.ico`));
app.get('/manifest.json', (req, res) => res.sendFile(__dirname + '/resources/manifest.json')); app.get('/manifest.json', (req, res) => res.sendFile(__dirname + '/resources/manifest.json'));
app.get('/apple-touch-icon.png', (req, res) => res.sendFile(__dirname + '/resources/apple-touch-icon.png')); app.get('/apple-touch-icon.png', (req, res) => res.sendFile(__dirname + '/resources/apple-touch-icon.png'));
app.use('/_/resources', express.static(`${__dirname}/resources`, { app.use('/resources', express.static(`${__dirname}/resources`, {
maxAge: ms('7 days') maxAge: ms('7 days')
})); }));

View File

@ -21,6 +21,6 @@
"./src/**/*.ts" "./src/**/*.ts"
], ],
"exclude": [ "exclude": [
"./src/web/**/*.ts" "./src/web/app/**/*.ts"
] ]
} }