From 5be6a8439529f44226d11ff4267d45ae1767ef29 Mon Sep 17 00:00:00 2001
From: syuilo <syuilotan@yahoo.co.jp>
Date: Thu, 12 Jan 2017 06:00:12 +0900
Subject: [PATCH] Clean up: Removes needless quotes :sparkles:

---
 src/web/app/auth/tags/form.tag                | 26 ++++-----
 src/web/app/auth/tags/index.tag               | 18 +++---
 src/web/app/common/tags/core-error.tag        |  2 +-
 src/web/app/common/tags/file-type-icon.tag    |  2 +-
 src/web/app/common/tags/introduction.tag      |  2 +-
 src/web/app/common/tags/signin.tag            |  6 +-
 src/web/app/common/tags/signup.tag            | 44 +++++++--------
 src/web/app/common/tags/special-message.tag   |  4 +-
 src/web/app/common/tags/time.tag              |  2 +-
 src/web/app/common/tags/uploader.tag          | 14 ++---
 src/web/app/common/tags/url-preview.tag       |  6 +-
 src/web/app/common/tags/url.tag               |  2 +-
 .../desktop/tags/autocomplete-suggestion.tag  |  4 +-
 .../app/desktop/tags/big-follow-button.tag    |  4 +-
 src/web/app/desktop/tags/crop-window.tag      | 10 ++--
 src/web/app/desktop/tags/debugger.tag         | 10 ++--
 src/web/app/desktop/tags/dialog.tag           |  6 +-
 src/web/app/desktop/tags/donation.tag         |  2 +-
 .../desktop/tags/drive/base-contextmenu.tag   |  4 +-
 .../app/desktop/tags/drive/browser-window.tag |  4 +-
 src/web/app/desktop/tags/drive/browser.tag    | 42 +++++++-------
 .../desktop/tags/drive/file-contextmenu.tag   | 16 +++---
 src/web/app/desktop/tags/drive/file.tag       | 12 ++--
 .../desktop/tags/drive/folder-contextmenu.tag |  8 +--
 src/web/app/desktop/tags/drive/folder.tag     |  2 +-
 src/web/app/desktop/tags/drive/nav-folder.tag |  2 +-
 src/web/app/desktop/tags/follow-button.tag    |  4 +-
 .../app/desktop/tags/following-setuper.tag    | 16 +++---
 .../desktop/tags/home-widgets/calendar.tag    | 10 ++--
 .../desktop/tags/home-widgets/mentions.tag    |  8 +--
 src/web/app/desktop/tags/home-widgets/nav.tag |  2 +-
 .../tags/home-widgets/notifications.tag       |  2 +-
 .../tags/home-widgets/photo-stream.tag        | 10 ++--
 .../app/desktop/tags/home-widgets/profile.tag |  2 +-
 .../desktop/tags/home-widgets/rss-reader.tag  |  8 +--
 .../desktop/tags/home-widgets/timeline.tag    |  8 +--
 .../tags/home-widgets/user-recommendation.tag | 12 ++--
 src/web/app/desktop/tags/home.tag             |  4 +-
 src/web/app/desktop/tags/image-dialog.tag     |  2 +-
 src/web/app/desktop/tags/images-viewer.tag    |  2 +-
 src/web/app/desktop/tags/input-dialog.tag     |  8 +--
 src/web/app/desktop/tags/list-user.tag        |  8 +--
 src/web/app/desktop/tags/messaging/form.tag   |  4 +-
 src/web/app/desktop/tags/messaging/index.tag  | 18 +++---
 .../app/desktop/tags/messaging/message.tag    | 14 ++---
 .../desktop/tags/messaging/room-window.tag    |  4 +-
 src/web/app/desktop/tags/messaging/room.tag   | 12 ++--
 src/web/app/desktop/tags/messaging/window.tag |  2 +-
 src/web/app/desktop/tags/notifications.tag    | 36 ++++++------
 src/web/app/desktop/tags/pages/entrance.tag   |  8 +--
 .../desktop/tags/pages/entrance/signin.tag    |  6 +-
 .../desktop/tags/pages/entrance/signup.tag    |  2 +-
 src/web/app/desktop/tags/pages/home.tag       |  4 +-
 src/web/app/desktop/tags/pages/post.tag       |  2 +-
 src/web/app/desktop/tags/pages/search.tag     |  2 +-
 src/web/app/desktop/tags/pages/user.tag       |  2 +-
 src/web/app/desktop/tags/post-detail-sub.tag  | 12 ++--
 src/web/app/desktop/tags/post-detail.tag      | 56 +++++++++----------
 src/web/app/desktop/tags/post-form-window.tag |  8 +--
 src/web/app/desktop/tags/post-form.tag        | 24 ++++----
 src/web/app/desktop/tags/post-preview.tag     | 10 ++--
 .../app/desktop/tags/post-status-graph.tag    |  2 +-
 src/web/app/desktop/tags/progress-dialog.tag  | 10 ++--
 .../app/desktop/tags/repost-form-window.tag   |  4 +-
 src/web/app/desktop/tags/repost-form.tag      | 12 ++--
 src/web/app/desktop/tags/search-posts.tag     |  6 +-
 src/web/app/desktop/tags/search.tag           |  2 +-
 .../tags/select-file-from-drive-window.tag    | 12 ++--
 .../desktop/tags/set-avatar-suggestion.tag    |  4 +-
 .../desktop/tags/set-banner-suggestion.tag    |  4 +-
 src/web/app/desktop/tags/settings-window.tag  |  2 +-
 src/web/app/desktop/tags/settings.tag         | 48 ++++++++--------
 src/web/app/desktop/tags/signin-history.tag   |  8 +--
 src/web/app/desktop/tags/stream-indicator.tag |  6 +-
 src/web/app/desktop/tags/sub-post-content.tag |  6 +-
 .../app/desktop/tags/timeline-post-sub.tag    | 10 ++--
 src/web/app/desktop/tags/timeline-post.tag    | 48 ++++++++--------
 src/web/app/desktop/tags/timeline.tag         |  6 +-
 .../app/desktop/tags/ui-header-account.tag    | 12 ++--
 src/web/app/desktop/tags/ui-header-nav.tag    |  8 +--
 .../desktop/tags/ui-header-notifications.tag  |  4 +-
 .../desktop/tags/ui-header-post-button.tag    |  2 +-
 src/web/app/desktop/tags/ui-header-search.tag |  2 +-
 src/web/app/desktop/tags/ui-header.tag        | 10 ++--
 src/web/app/desktop/tags/ui.tag               |  6 +-
 .../desktop/tags/user-followers-window.tag    |  4 +-
 src/web/app/desktop/tags/user-followers.tag   |  2 +-
 .../desktop/tags/user-following-window.tag    |  4 +-
 src/web/app/desktop/tags/user-following.tag   |  2 +-
 src/web/app/desktop/tags/user-graphs.tag      |  6 +-
 src/web/app/desktop/tags/user-header.tag      | 12 ++--
 src/web/app/desktop/tags/user-home.tag        |  6 +-
 src/web/app/desktop/tags/user-photos.tag      | 10 ++--
 src/web/app/desktop/tags/user-preview.tag     |  6 +-
 src/web/app/desktop/tags/user-profile.tag     | 14 ++---
 src/web/app/desktop/tags/user-timeline.tag    |  8 +--
 src/web/app/desktop/tags/user.tag             |  8 +--
 src/web/app/desktop/tags/users-list.tag       | 16 +++---
 src/web/app/desktop/tags/window.tag           | 26 ++++-----
 src/web/app/dev/tags/new-app-form.tag         | 20 +++----
 src/web/app/dev/tags/pages/app.tag            |  6 +-
 src/web/app/dev/tags/pages/apps.tag           | 10 ++--
 src/web/app/mobile/tags/drive-selector.tag    |  8 +--
 src/web/app/mobile/tags/drive.tag             | 38 ++++++-------
 src/web/app/mobile/tags/drive/file.tag        | 10 ++--
 src/web/app/mobile/tags/drive/folder.tag      |  2 +-
 src/web/app/mobile/tags/follow-button.tag     |  4 +-
 src/web/app/mobile/tags/home-timeline.tag     |  2 +-
 src/web/app/mobile/tags/images-viewer.tag     |  2 +-
 .../app/mobile/tags/notification-preview.tag  | 14 ++---
 src/web/app/mobile/tags/notification.tag      | 28 +++++-----
 src/web/app/mobile/tags/notifications.tag     | 12 ++--
 src/web/app/mobile/tags/notify.tag            |  2 +-
 src/web/app/mobile/tags/page/drive.tag        |  2 +-
 src/web/app/mobile/tags/page/entrance.tag     |  8 +--
 .../app/mobile/tags/page/entrance/signin.tag  |  2 +-
 .../app/mobile/tags/page/entrance/signup.tag  |  2 +-
 src/web/app/mobile/tags/page/post.tag         |  2 +-
 src/web/app/mobile/tags/page/search.tag       |  2 +-
 .../app/mobile/tags/page/user-followers.tag   |  2 +-
 .../app/mobile/tags/page/user-following.tag   |  2 +-
 src/web/app/mobile/tags/page/user.tag         |  2 +-
 src/web/app/mobile/tags/post-detail.tag       | 56 +++++++++----------
 src/web/app/mobile/tags/post-form.tag         | 22 ++++----
 src/web/app/mobile/tags/post-preview.tag      |  8 +--
 src/web/app/mobile/tags/search-posts.tag      |  2 +-
 src/web/app/mobile/tags/search.tag            |  2 +-
 src/web/app/mobile/tags/stream-indicator.tag  |  6 +-
 src/web/app/mobile/tags/sub-post-content.tag  |  6 +-
 src/web/app/mobile/tags/timeline-post-sub.tag |  8 +--
 src/web/app/mobile/tags/timeline-post.tag     | 42 +++++++-------
 src/web/app/mobile/tags/timeline.tag          | 14 ++---
 src/web/app/mobile/tags/ui-header.tag         |  2 +-
 src/web/app/mobile/tags/ui-nav.tag            |  4 +-
 src/web/app/mobile/tags/ui.tag                |  4 +-
 src/web/app/mobile/tags/user-followers.tag    |  2 +-
 src/web/app/mobile/tags/user-following.tag    |  2 +-
 src/web/app/mobile/tags/user-preview.tag      |  4 +-
 src/web/app/mobile/tags/user-timeline.tag     |  2 +-
 src/web/app/mobile/tags/user.tag              | 22 ++++----
 src/web/app/mobile/tags/users-list.tag        | 14 ++---
 141 files changed, 674 insertions(+), 674 deletions(-)

diff --git a/src/web/app/auth/tags/form.tag b/src/web/app/auth/tags/form.tag
index 21c2339bc7..9ba6e97f8e 100644
--- a/src/web/app/auth/tags/form.tag
+++ b/src/web/app/auth/tags/form.tag
@@ -1,6 +1,6 @@
 <mk-form>
 	<header>
-		<h1><i>{ app.name }</i>があなたの<b>アカウント</b>に<b>アクセス</b>することを<b>許可</b>しますか?</h1><img src="{ app.icon_url + '?thumbnail&amp;size=64' }"/>
+		<h1><i>{ app.name }</i>があなたの<b>アカウント</b>に<b>アクセス</b>することを<b>許可</b>しますか?</h1><img src={ app.icon_url + '?thumbnail&amp;size=64' }/>
 	</header>
 	<div class="app">
 		<section>
@@ -11,23 +11,23 @@
 		<section>
 			<h2>このアプリは次の権限を要求しています:</h2>
 			<ul>
-				<virtual each="{ p in app.permission }">
-					<li if="{ p == 'account-read' }">アカウントの情報を見る。</li>
-					<li if="{ p == 'account-write' }">アカウントの情報を操作する。</li>
-					<li if="{ p == 'post-write' }">投稿する。</li>
-					<li if="{ p == 'like-write' }">いいねしたりいいね解除する。</li>
-					<li if="{ p == 'following-write' }">フォローしたりフォロー解除する。</li>
-					<li if="{ p == 'drive-read' }">ドライブを見る。</li>
-					<li if="{ p == 'drive-write' }">ドライブを操作する。</li>
-					<li if="{ p == 'notification-read' }">通知を見る。</li>
-					<li if="{ p == 'notification-write' }">通知を操作する。</li>
+				<virtual each={ p in app.permission }>
+					<li if={ p == 'account-read' }>アカウントの情報を見る。</li>
+					<li if={ p == 'account-write' }>アカウントの情報を操作する。</li>
+					<li if={ p == 'post-write' }>投稿する。</li>
+					<li if={ p == 'like-write' }>いいねしたりいいね解除する。</li>
+					<li if={ p == 'following-write' }>フォローしたりフォロー解除する。</li>
+					<li if={ p == 'drive-read' }>ドライブを見る。</li>
+					<li if={ p == 'drive-write' }>ドライブを操作する。</li>
+					<li if={ p == 'notification-read' }>通知を見る。</li>
+					<li if={ p == 'notification-write' }>通知を操作する。</li>
 				</virtual>
 			</ul>
 		</section>
 	</div>
 	<div class="action">
-		<button onclick="{ cancel }">キャンセル</button>
-		<button onclick="{ accept }">アクセスを許可</button>
+		<button onclick={ cancel }>キャンセル</button>
+		<button onclick={ accept }>アクセスを許可</button>
 	</div>
 	<style type="stylus">
 		:scope
diff --git a/src/web/app/auth/tags/index.tag b/src/web/app/auth/tags/index.tag
index d4818b9bfd..89b5e12ed4 100644
--- a/src/web/app/auth/tags/index.tag
+++ b/src/web/app/auth/tags/index.tag
@@ -1,25 +1,25 @@
 <mk-index>
-	<main if="{ SIGNIN }">
-		<p class="fetching" if="{ fetching }">読み込み中
+	<main if={ SIGNIN }>
+		<p class="fetching" if={ fetching }>読み込み中
 			<mk-ellipsis></mk-ellipsis>
 		</p>
-		<mk-form ref="form" if="{ state == null &amp;&amp; !fetching }" session="{ session }"></mk-form>
-		<div class="denied" if="{ state == 'denied' }">
+		<mk-form ref="form" if={ state == null &amp;&amp; !fetching } session={ session }></mk-form>
+		<div class="denied" if={ state == 'denied' }>
 			<h1>アプリケーションの連携をキャンセルしました。</h1>
 			<p>このアプリがあなたのアカウントにアクセスすることはありません。</p>
 		</div>
-		<div class="accepted" if="{ state == 'accepted' }">
+		<div class="accepted" if={ state == 'accepted' }>
 			<h1>{ session.app.is_authorized ? 'このアプリは既に連携済みです' : 'アプリケーションの連携を許可しました'}</h1>
-			<p if="{ session.app.callback_url }">アプリケーションに戻っています
+			<p if={ session.app.callback_url }>アプリケーションに戻っています
 				<mk-ellipsis></mk-ellipsis>
 			</p>
-			<p if="{ !session.app.callback_url }">アプリケーションに戻って、やっていってください。</p>
+			<p if={ !session.app.callback_url }>アプリケーションに戻って、やっていってください。</p>
 		</div>
-		<div class="error" if="{ state == 'fetch-session-error' }">
+		<div class="error" if={ state == 'fetch-session-error' }>
 			<p>セッションが存在しません。</p>
 		</div>
 	</main>
-	<main class="signin" if="{ !SIGNIN }">
+	<main class="signin" if={ !SIGNIN }>
 		<h1>サインインしてください</h1>
 		<mk-signin></mk-signin>
 	</main>
diff --git a/src/web/app/common/tags/core-error.tag b/src/web/app/common/tags/core-error.tag
index 0473884497..af398301cd 100644
--- a/src/web/app/common/tags/core-error.tag
+++ b/src/web/app/common/tags/core-error.tag
@@ -3,7 +3,7 @@
 	<h1>
 		<mk-ripple-string>サーバーに接続できません</mk-ripple-string>
 	</h1>
-	<p class="text">インターネット回線に問題があるか、サーバーがダウンまたはメンテナンスしている可能性があります。しばらくしてから<a onclick="{ retry }">再度お試し</a>ください。</p>
+	<p class="text">インターネット回線に問題があるか、サーバーがダウンまたはメンテナンスしている可能性があります。しばらくしてから<a onclick={ retry }>再度お試し</a>ください。</p>
 	<p class="thanks">いつもMisskeyをご利用いただきありがとうございます。</p>
 	<style type="stylus">
 		:scope
diff --git a/src/web/app/common/tags/file-type-icon.tag b/src/web/app/common/tags/file-type-icon.tag
index 4569fe81f1..054457bf03 100644
--- a/src/web/app/common/tags/file-type-icon.tag
+++ b/src/web/app/common/tags/file-type-icon.tag
@@ -1,4 +1,4 @@
-<mk-file-type-icon><i class="fa fa-file-image-o" if="{ kind == 'image' }"></i>
+<mk-file-type-icon><i class="fa fa-file-image-o" if={ kind == 'image' }></i>
 	<style type="stylus">
 		:scope
 			display inline
diff --git a/src/web/app/common/tags/introduction.tag b/src/web/app/common/tags/introduction.tag
index cfeeb24ace..925e077737 100644
--- a/src/web/app/common/tags/introduction.tag
+++ b/src/web/app/common/tags/introduction.tag
@@ -3,7 +3,7 @@
 		<h1>Misskeyとは?</h1><p><ruby>Misskey<rt>みすきー</rt></ruby>は、<a href="http://syuilo.com" target="_blank">syuilo</a>が2014年くらいから<a href="https://github.com/syuilo/misskey" target="_blank">オープンソースで</a>開発・運営を行っている、ミニブログベースのSNSです。</p>
 <p>Twitter, Facebook, LINE, Google+ などを<del>パクって</del><i>参考にして</i>います。</p>
 <p>無料で誰でも利用でき、広告は一切掲載していません。</p>
-<p><a href="{ CONFIG.urls.about }" target="_blank">もっと知りたい方はこちら</a></p>
+<p><a href={ CONFIG.urls.about } target="_blank">もっと知りたい方はこちら</a></p>
 	</article>
 	<style type="stylus">
 		:scope
diff --git a/src/web/app/common/tags/signin.tag b/src/web/app/common/tags/signin.tag
index dc5faca08d..5f400d9bdf 100644
--- a/src/web/app/common/tags/signin.tag
+++ b/src/web/app/common/tags/signin.tag
@@ -1,12 +1,12 @@
 <mk-signin>
-	<form class="{ signing: signing }" onsubmit="{ onsubmit }">
+	<form class={ signing: signing } onsubmit={ onsubmit }>
 		<label class="user-name">
-			<input ref="username" type="text" pattern="^[a-zA-Z0-9-]+$" placeholder="ユーザー名" autofocus="autofocus" required="required" oninput="{ oninput }"/><i class="fa fa-at"></i>
+			<input ref="username" type="text" pattern="^[a-zA-Z0-9-]+$" placeholder="ユーザー名" autofocus="autofocus" required="required" oninput={ oninput }/><i class="fa fa-at"></i>
 		</label>
 		<label class="password">
 			<input ref="password" type="password" placeholder="パスワード" required="required"/><i class="fa fa-lock"></i>
 		</label>
-		<button type="submit" disabled="{ signing }">{ signing ? 'やっています...' : 'サインイン' }</button>
+		<button type="submit" disabled={ signing }>{ signing ? 'やっています...' : 'サインイン' }</button>
 	</form>
 	<style type="stylus">
 		:scope
diff --git a/src/web/app/common/tags/signup.tag b/src/web/app/common/tags/signup.tag
index c07b27fb19..0d245c6c0b 100644
--- a/src/web/app/common/tags/signup.tag
+++ b/src/web/app/common/tags/signup.tag
@@ -1,42 +1,42 @@
 <mk-signup>
-	<form onsubmit="{ onsubmit }" autocomplete="off">
+	<form onsubmit={ onsubmit } autocomplete="off">
 		<label class="username">
 			<p class="caption"><i class="fa fa-at"></i>ユーザー名</p>
-			<input ref="username" type="text" pattern="^[a-zA-Z0-9-]{3,20}$" placeholder="a~z、A~Z、0~9、-" autocomplete="off" required="required" onkeyup="{ onChangeUsername }"/>
-			<p class="profile-page-url-preview" if="{ refs.username.value != '' &amp;&amp; username-state != 'invalidFormat' &amp;&amp; username-state != 'minRange' &amp;&amp; username-state != 'maxRange' }">{ CONFIG.url + '/' + refs.username.value }</p>
-			<p class="info" if="{ usernameState == 'wait' }" style="color:#999"><i class="fa fa-fw fa-spinner fa-pulse"></i>確認しています...</p>
-			<p class="info" if="{ usernameState == 'ok' }" style="color:#3CB7B5"><i class="fa fa-fw fa-check"></i>利用できます</p>
-			<p class="info" if="{ usernameState == 'unavailable' }" style="color:#FF1161"><i class="fa fa-fw fa-exclamation-triangle"></i>既に利用されています</p>
-			<p class="info" if="{ usernameState == 'error' }" style="color:#FF1161"><i class="fa fa-fw fa-exclamation-triangle"></i>通信エラー</p>
-			<p class="info" if="{ usernameState == 'invalid-format' }" style="color:#FF1161"><i class="fa fa-fw fa-exclamation-triangle"></i>a~z、A~Z、0~9、-(ハイフン)が使えます</p>
-			<p class="info" if="{ usernameState == 'min-range' }" style="color:#FF1161"><i class="fa fa-fw fa-exclamation-triangle"></i>3文字以上でお願いします!</p>
-			<p class="info" if="{ usernameState == 'max-range' }" style="color:#FF1161"><i class="fa fa-fw fa-exclamation-triangle"></i>20文字以内でお願いします</p>
+			<input ref="username" type="text" pattern="^[a-zA-Z0-9-]{3,20}$" placeholder="a~z、A~Z、0~9、-" autocomplete="off" required="required" onkeyup={ onChangeUsername }/>
+			<p class="profile-page-url-preview" if={ refs.username.value != '' &amp;&amp; username-state != 'invalidFormat' &amp;&amp; username-state != 'minRange' &amp;&amp; username-state != 'maxRange' }>{ CONFIG.url + '/' + refs.username.value }</p>
+			<p class="info" if={ usernameState == 'wait' } style="color:#999"><i class="fa fa-fw fa-spinner fa-pulse"></i>確認しています...</p>
+			<p class="info" if={ usernameState == 'ok' } style="color:#3CB7B5"><i class="fa fa-fw fa-check"></i>利用できます</p>
+			<p class="info" if={ usernameState == 'unavailable' } style="color:#FF1161"><i class="fa fa-fw fa-exclamation-triangle"></i>既に利用されています</p>
+			<p class="info" if={ usernameState == 'error' } style="color:#FF1161"><i class="fa fa-fw fa-exclamation-triangle"></i>通信エラー</p>
+			<p class="info" if={ usernameState == 'invalid-format' } style="color:#FF1161"><i class="fa fa-fw fa-exclamation-triangle"></i>a~z、A~Z、0~9、-(ハイフン)が使えます</p>
+			<p class="info" if={ usernameState == 'min-range' } style="color:#FF1161"><i class="fa fa-fw fa-exclamation-triangle"></i>3文字以上でお願いします!</p>
+			<p class="info" if={ usernameState == 'max-range' } style="color:#FF1161"><i class="fa fa-fw fa-exclamation-triangle"></i>20文字以内でお願いします</p>
 		</label>
 		<label class="password">
 			<p class="caption"><i class="fa fa-lock"></i>パスワード</p>
-			<input ref="password" type="password" placeholder="8文字以上を推奨します" autocomplete="off" required="required" onkeyup="{ onChangePassword }"/>
-			<div class="meter" if="{ passwordStrength != '' }" data-strength="{ passwordStrength }">
+			<input ref="password" type="password" placeholder="8文字以上を推奨します" autocomplete="off" required="required" onkeyup={ onChangePassword }/>
+			<div class="meter" if={ passwordStrength != '' } data-strength={ passwordStrength }>
 				<div class="value" ref="passwordMetar"></div>
 			</div>
-			<p class="info" if="{ passwordStrength == 'low' }" style="color:#FF1161"><i class="fa fa-fw fa-exclamation-triangle"></i>弱いパスワード</p>
-			<p class="info" if="{ passwordStrength == 'medium' }" style="color:#3CB7B5"><i class="fa fa-fw fa-check"></i>まあまあのパスワード</p>
-			<p class="info" if="{ passwordStrength == 'high' }" style="color:#3CB7B5"><i class="fa fa-fw fa-check"></i>強いパスワード</p>
+			<p class="info" if={ passwordStrength == 'low' } style="color:#FF1161"><i class="fa fa-fw fa-exclamation-triangle"></i>弱いパスワード</p>
+			<p class="info" if={ passwordStrength == 'medium' } style="color:#3CB7B5"><i class="fa fa-fw fa-check"></i>まあまあのパスワード</p>
+			<p class="info" if={ passwordStrength == 'high' } style="color:#3CB7B5"><i class="fa fa-fw fa-check"></i>強いパスワード</p>
 		</label>
 		<label class="retype-password">
 			<p class="caption"><i class="fa fa-lock"></i>パスワード(再入力)</p>
-			<input ref="passwordRetype" type="password" placeholder="確認のため再入力してください" autocomplete="off" required="required" onkeyup="{ onChangePasswordRetype }"/>
-			<p class="info" if="{ passwordRetypeState == 'match' }" style="color:#3CB7B5"><i class="fa fa-fw fa-check"></i>確認されました</p>
-			<p class="info" if="{ passwordRetypeState == 'not-match' }" style="color:#FF1161"><i class="fa fa-fw fa-exclamation-triangle"></i>一致していません</p>
+			<input ref="passwordRetype" type="password" placeholder="確認のため再入力してください" autocomplete="off" required="required" onkeyup={ onChangePasswordRetype }/>
+			<p class="info" if={ passwordRetypeState == 'match' } style="color:#3CB7B5"><i class="fa fa-fw fa-check"></i>確認されました</p>
+			<p class="info" if={ passwordRetypeState == 'not-match' } style="color:#FF1161"><i class="fa fa-fw fa-exclamation-triangle"></i>一致していません</p>
 		</label>
 		<label class="recaptcha">
-			<p class="caption"><i class="fa fa-toggle-on" if="{ recaptchaed }"></i><i class="fa fa-toggle-off" if="{ !recaptchaed }"></i>認証</p>
-			<div class="g-recaptcha" data-callback="onRecaptchaed" data-expired-callback="onRecaptchaExpired" data-sitekey="{ CONFIG.recaptcha.siteKey }"></div>
+			<p class="caption"><i class="fa fa-toggle-on" if={ recaptchaed }></i><i class="fa fa-toggle-off" if={ !recaptchaed }></i>認証</p>
+			<div class="g-recaptcha" data-callback="onRecaptchaed" data-expired-callback="onRecaptchaExpired" data-sitekey={ CONFIG.recaptcha.siteKey }></div>
 		</label>
 		<label class="agree-tou">
 			<input name="agree-tou" type="checkbox" autocomplete="off" required="required"/>
-			<p><a href="{ CONFIG.urls.about + '/tou' }" target="_blank">利用規約</a>に同意する</p>
+			<p><a href={ CONFIG.urls.about + '/tou' } target="_blank">利用規約</a>に同意する</p>
 		</label>
-		<button onclick="{ onsubmit }">アカウント作成</button>
+		<button onclick={ onsubmit }>アカウント作成</button>
 	</form>
 	<style type="stylus">
 		:scope
diff --git a/src/web/app/common/tags/special-message.tag b/src/web/app/common/tags/special-message.tag
index ffba09c2da..8a1337406b 100644
--- a/src/web/app/common/tags/special-message.tag
+++ b/src/web/app/common/tags/special-message.tag
@@ -1,6 +1,6 @@
 <mk-special-message>
-	<p if="{ m == 1 &amp;&amp; d == 1 }">Happy New Year! </p>
-	<p if="{ m == 12 &amp;&amp; d == 25 }">Merry Christmas!</p>
+	<p if={ m == 1 &amp;&amp; d == 1 }>Happy New Year! </p>
+	<p if={ m == 12 &amp;&amp; d == 25 }>Merry Christmas!</p>
 	<style type="stylus">
 		:scope
 			display block
diff --git a/src/web/app/common/tags/time.tag b/src/web/app/common/tags/time.tag
index 5456adb0b6..0c9a6d6f90 100644
--- a/src/web/app/common/tags/time.tag
+++ b/src/web/app/common/tags/time.tag
@@ -1,5 +1,5 @@
 <mk-time>
-	<time datetime="{ opts.time }"><span if="{ mode == 'relative' }">{ relative }</span><span if="{ mode == 'absolute' }">{ absolute }</span><span if="{ mode == 'detail' }">{ absolute } ({ relative })</span></time>
+	<time datetime={ opts.time }><span if={ mode == 'relative' }>{ relative }</span><span if={ mode == 'absolute' }>{ absolute }</span><span if={ mode == 'detail' }>{ absolute } ({ relative })</span></time>
 	<script>
 		@time = new Date @opts.time
 		@mode = @opts.mode || \relative
diff --git a/src/web/app/common/tags/uploader.tag b/src/web/app/common/tags/uploader.tag
index 6a081ddaf0..7a1797cc19 100644
--- a/src/web/app/common/tags/uploader.tag
+++ b/src/web/app/common/tags/uploader.tag
@@ -1,13 +1,13 @@
 <mk-uploader>
-	<ol if="{ uploads.length &gt; 0 }">
-		<li each="{ uploads }">
+	<ol if={ uploads.length &gt; 0 }>
+		<li each={ uploads }>
 			<div class="img" style="background-image: url({ img })"></div>
 			<p class="name"><i class="fa fa-spinner fa-pulse"></i>{ name }</p>
-			<p class="status"><span class="initing" if="{ progress == undefined }">待機中
-					<mk-ellipsis></mk-ellipsis></span><span class="kb" if="{ progress != undefined }">{ String(Math.floor(progress.value / 1024)).replace(/(\d)(?=(\d\d\d)+(?!\d))/g, '$1,') }<i>KB</i> / { String(Math.floor(progress.max / 1024)).replace(/(\d)(?=(\d\d\d)+(?!\d))/g, '$1,') }<i>KB</i></span><span class="percentage" if="{ progress != undefined }">{ Math.floor((progress.value / progress.max) * 100) }</span></p>
-			<progress if="{ progress != undefined &amp;&amp; progress.value != progress.max }" value="{ progress.value }" max="{ progress.max }"></progress>
-			<div class="progress initing" if="{ progress == undefined }"></div>
-			<div class="progress waiting" if="{ progress != undefined &amp;&amp; progress.value == progress.max }"></div>
+			<p class="status"><span class="initing" if={ progress == undefined }>待機中
+					<mk-ellipsis></mk-ellipsis></span><span class="kb" if={ progress != undefined }>{ String(Math.floor(progress.value / 1024)).replace(/(\d)(?=(\d\d\d)+(?!\d))/g, '$1,') }<i>KB</i> / { String(Math.floor(progress.max / 1024)).replace(/(\d)(?=(\d\d\d)+(?!\d))/g, '$1,') }<i>KB</i></span><span class="percentage" if={ progress != undefined }>{ Math.floor((progress.value / progress.max) * 100) }</span></p>
+			<progress if={ progress != undefined &amp;&amp; progress.value != progress.max } value={ progress.value } max={ progress.max }></progress>
+			<div class="progress initing" if={ progress == undefined }></div>
+			<div class="progress waiting" if={ progress != undefined &amp;&amp; progress.value == progress.max }></div>
 		</li>
 	</ol>
 	<style type="stylus">
diff --git a/src/web/app/common/tags/url-preview.tag b/src/web/app/common/tags/url-preview.tag
index 860d4d547f..417236fdc5 100644
--- a/src/web/app/common/tags/url-preview.tag
+++ b/src/web/app/common/tags/url-preview.tag
@@ -1,11 +1,11 @@
-<mk-url-preview><a href="{ url }" target="_blank" title="{ url }" if="{ !loading }">
-		<div class="thumbnail" if="{ thumbnail }" style="{ 'background-image: url(' + thumbnail + ')' }"></div>
+<mk-url-preview><a href={ url } target="_blank" title={ url } if={ !loading }>
+		<div class="thumbnail" if={ thumbnail } style={ 'background-image: url(' + thumbnail + ')' }></div>
 		<article>
 			<header>
 				<h1>{ title }</h1>
 			</header>
 			<p>{ description }</p>
-			<footer><img class="icon" if="{ icon }" src="{ icon }"/>
+			<footer><img class="icon" if={ icon } src={ icon }/>
 				<p>{ sitename }</p>
 			</footer>
 		</article></a>
diff --git a/src/web/app/common/tags/url.tag b/src/web/app/common/tags/url.tag
index be7db32c5f..82ce6bb185 100644
--- a/src/web/app/common/tags/url.tag
+++ b/src/web/app/common/tags/url.tag
@@ -1,4 +1,4 @@
-<mk-url><a href="{ url }" target="{ opts.target }"><span class="schema">{ schema }//</span><span class="hostname">{ hostname }</span><span class="port" if="{ port != '' }">:{ port }</span><span class="pathname" if="{ pathname != '' }">{ pathname }</span><span class="query">{ query }</span><span class="hash">{ hash }</span></a>
+<mk-url><a href={ url } target={ opts.target }><span class="schema">{ schema }//</span><span class="hostname">{ hostname }</span><span class="port" if={ port != '' }>:{ port }</span><span class="pathname" if={ pathname != '' }>{ pathname }</span><span class="query">{ query }</span><span class="hash">{ hash }</span></a>
 	<style type="stylus">
 		:scope
 			> a
diff --git a/src/web/app/desktop/tags/autocomplete-suggestion.tag b/src/web/app/desktop/tags/autocomplete-suggestion.tag
index ecebf26a32..c0dbc4f22d 100644
--- a/src/web/app/desktop/tags/autocomplete-suggestion.tag
+++ b/src/web/app/desktop/tags/autocomplete-suggestion.tag
@@ -1,6 +1,6 @@
 <mk-autocomplete-suggestion>
-	<ol class="users" ref="users" if="{ users.length &gt; 0 }">
-		<li each="{ users }" onclick="{ parent.onClick }" onkeydown="{ parent.onKeydown }" tabindex="-1"><img class="avatar" src="{ avatar_url + '?thumbnail&amp;size=32' }" alt=""/><span class="name">{ name }</span><span class="username">@{ username }</span></li>
+	<ol class="users" ref="users" if={ users.length &gt; 0 }>
+		<li each={ users } onclick={ parent.onClick } onkeydown={ parent.onKeydown } tabindex="-1"><img class="avatar" src={ avatar_url + '?thumbnail&amp;size=32' } alt=""/><span class="name">{ name }</span><span class="username">@{ username }</span></li>
 	</ol>
 	<style type="stylus">
 		:scope
diff --git a/src/web/app/desktop/tags/big-follow-button.tag b/src/web/app/desktop/tags/big-follow-button.tag
index 37c67f07b2..733dbee4b3 100644
--- a/src/web/app/desktop/tags/big-follow-button.tag
+++ b/src/web/app/desktop/tags/big-follow-button.tag
@@ -1,6 +1,6 @@
 <mk-big-follow-button>
-	<button class="{ wait: wait, follow: !user.is_following, unfollow: user.is_following }" if="{ !init }" onclick="{ onclick }" disabled="{ wait }" title="{ user.is_following ? 'フォロー解除' : 'フォローする' }"><span if="{ !wait &amp;&amp; user.is_following }"><i class="fa fa-minus"></i>フォロー解除</span><span if="{ !wait &amp;&amp; !user.is_following }"><i class="fa fa-plus"></i>フォロー</span><i class="fa fa-spinner fa-pulse fa-fw" if="{ wait }"></i></button>
-	<div class="init" if="{ init }"><i class="fa fa-spinner fa-pulse fa-fw"></i></div>
+	<button class={ wait: wait, follow: !user.is_following, unfollow: user.is_following } if={ !init } onclick={ onclick } disabled={ wait } title={ user.is_following ? 'フォロー解除' : 'フォローする' }><span if={ !wait &amp;&amp; user.is_following }><i class="fa fa-minus"></i>フォロー解除</span><span if={ !wait &amp;&amp; !user.is_following }><i class="fa fa-plus"></i>フォロー</span><i class="fa fa-spinner fa-pulse fa-fw" if={ wait }></i></button>
+	<div class="init" if={ init }><i class="fa fa-spinner fa-pulse fa-fw"></i></div>
 	<style type="stylus">
 		:scope
 			display block
diff --git a/src/web/app/desktop/tags/crop-window.tag b/src/web/app/desktop/tags/crop-window.tag
index 768c76d952..586fe708c9 100644
--- a/src/web/app/desktop/tags/crop-window.tag
+++ b/src/web/app/desktop/tags/crop-window.tag
@@ -1,11 +1,11 @@
 <mk-crop-window>
-	<mk-window ref="window" is-modal="{ true }" width="{ '800px' }"><yield to="header"><i class="fa fa-crop"></i>{ parent.title }</yield>
+	<mk-window ref="window" is-modal={ true } width={ '800px' }><yield to="header"><i class="fa fa-crop"></i>{ parent.title }</yield>
 <yield to="content">
-		<div class="body"><img ref="img" src="{ parent.image.url + '?thumbnail&amp;quality=80' }" alt=""/></div>
+		<div class="body"><img ref="img" src={ parent.image.url + '?thumbnail&amp;quality=80' } alt=""/></div>
 		<div class="action">
-			<button class="skip" onclick="{ parent.skip }">クロップをスキップ</button>
-			<button class="cancel" onclick="{ parent.cancel }">キャンセル</button>
-			<button class="ok" onclick="{ parent.ok }">決定</button>
+			<button class="skip" onclick={ parent.skip }>クロップをスキップ</button>
+			<button class="cancel" onclick={ parent.cancel }>キャンセル</button>
+			<button class="ok" onclick={ parent.ok }>決定</button>
 		</div></yield>
 	</mk-window>
 	<style type="stylus">
diff --git a/src/web/app/desktop/tags/debugger.tag b/src/web/app/desktop/tags/debugger.tag
index 9f9ff2cc4b..b0c13da06b 100644
--- a/src/web/app/desktop/tags/debugger.tag
+++ b/src/web/app/desktop/tags/debugger.tag
@@ -1,21 +1,21 @@
 <mk-debugger>
-	<mk-window ref="window" is-modal="{ false }" width="{ '700px' }" height="{ '550px' }"><yield to="header"><i class="fa fa-wrench"></i>Debugger</yield>
+	<mk-window ref="window" is-modal={ false } width={ '700px' } height={ '550px' }><yield to="header"><i class="fa fa-wrench"></i>Debugger</yield>
 <yield to="content">
 		<section class="progress-dialog">
 			<h1>progress-dialog</h1>
-			<button class="style-normal" onclick="{ parent.progressDialog }"><i class="fa fa-play"></i></button>
-			<button class="style-normal" onclick="{ parent.progressDialogDestroy }"><i class="fa fa-stop"></i></button>
+			<button class="style-normal" onclick={ parent.progressDialog }><i class="fa fa-play"></i></button>
+			<button class="style-normal" onclick={ parent.progressDialogDestroy }><i class="fa fa-stop"></i></button>
 			<label>
 				<p>TITLE:</p>
 				<input ref="progressTitle" value="Title"/>
 			</label>
 			<label>
 				<p>VAL:</p>
-				<input ref="progressValue" type="number" oninput="{ parent.progressChange }" value="0"/>
+				<input ref="progressValue" type="number" oninput={ parent.progressChange } value="0"/>
 			</label>
 			<label>
 				<p>MAX:</p>
-				<input ref="progressMax" type="number" oninput="{ parent.progressChange }" value="100"/>
+				<input ref="progressMax" type="number" oninput={ parent.progressChange } value="100"/>
 			</label>
 		</section></yield>
 	</mk-window>
diff --git a/src/web/app/desktop/tags/dialog.tag b/src/web/app/desktop/tags/dialog.tag
index d0aab4995c..409ab1e805 100644
--- a/src/web/app/desktop/tags/dialog.tag
+++ b/src/web/app/desktop/tags/dialog.tag
@@ -1,11 +1,11 @@
 <mk-dialog>
-	<div class="bg" ref="bg" onclick="{ bgClick }"></div>
+	<div class="bg" ref="bg" onclick={ bgClick }></div>
 	<div class="main" ref="main">
 		<header ref="header"></header>
 		<div class="body" ref="body"></div>
 		<div class="buttons">
-			<virtual each="{ opts.buttons }">
-				<button onclick="{ _onclick }">{ text }</button>
+			<virtual each={ opts.buttons }>
+				<button onclick={ _onclick }>{ text }</button>
 			</virtual>
 		</div>
 	</div>
diff --git a/src/web/app/desktop/tags/donation.tag b/src/web/app/desktop/tags/donation.tag
index 49ea8332d3..cd80e53572 100644
--- a/src/web/app/desktop/tags/donation.tag
+++ b/src/web/app/desktop/tags/donation.tag
@@ -1,5 +1,5 @@
 <mk-donation>
-	<button class="close" onclick="{ close }">閉じる x</button>
+	<button class="close" onclick={ close }>閉じる x</button>
 	<div class="message">
 		<p>利用者の皆さま、</p>
 		<p>
diff --git a/src/web/app/desktop/tags/drive/base-contextmenu.tag b/src/web/app/desktop/tags/drive/base-contextmenu.tag
index d3a85e9157..4c6f134652 100644
--- a/src/web/app/desktop/tags/drive/base-contextmenu.tag
+++ b/src/web/app/desktop/tags/drive/base-contextmenu.tag
@@ -1,10 +1,10 @@
 <mk-drive-browser-base-contextmenu>
 	<mk-contextmenu ref="ctx">
 		<ul>
-			<li onclick="{ parent.createFolder }">
+			<li onclick={ parent.createFolder }>
 				<p><i class="fa fa-folder-o"></i>フォルダーを作成</p>
 			</li>
-			<li onclick="{ parent.upload }">
+			<li onclick={ parent.upload }>
 				<p><i class="fa fa-upload"></i>ファイルをアップロード</p>
 			</li>
 		</ul>
diff --git a/src/web/app/desktop/tags/drive/browser-window.tag b/src/web/app/desktop/tags/drive/browser-window.tag
index c7447a3c21..6d092aecbd 100644
--- a/src/web/app/desktop/tags/drive/browser-window.tag
+++ b/src/web/app/desktop/tags/drive/browser-window.tag
@@ -1,7 +1,7 @@
 <mk-drive-browser-window>
-	<mk-window ref="window" is-modal="{ false }" width="{ '800px' }" height="{ '500px' }"><yield to="header"><i class="fa fa-cloud"></i>ドライブ</yield>
+	<mk-window ref="window" is-modal={ false } width={ '800px' } height={ '500px' }><yield to="header"><i class="fa fa-cloud"></i>ドライブ</yield>
 <yield to="content">
-		<mk-drive-browser multiple="{ true }" folder="{ parent.folder }"></mk-drive-browser></yield>
+		<mk-drive-browser multiple={ true } folder={ parent.folder }></mk-drive-browser></yield>
 	</mk-window>
 	<style type="stylus">
 		:scope
diff --git a/src/web/app/desktop/tags/drive/browser.tag b/src/web/app/desktop/tags/drive/browser.tag
index 2bcb15f873..3384b694a8 100644
--- a/src/web/app/desktop/tags/drive/browser.tag
+++ b/src/web/app/desktop/tags/drive/browser.tag
@@ -1,44 +1,44 @@
 <mk-drive-browser>
 	<nav>
-		<div class="path" oncontextmenu="{ pathOncontextmenu }">
-			<mk-drive-browser-nav-folder class="{ current: folder == null }" folder="{ null }"></mk-drive-browser-nav-folder>
-			<virtual each="{ folder in hierarchyFolders }"><span class="separator"><i class="fa fa-angle-right"></i></span>
-				<mk-drive-browser-nav-folder folder="{ folder }"></mk-drive-browser-nav-folder>
-			</virtual><span class="separator" if="{ folder != null }"><i class="fa fa-angle-right"></i></span><span class="folder current" if="{ folder != null }">{ folder.name }</span>
+		<div class="path" oncontextmenu={ pathOncontextmenu }>
+			<mk-drive-browser-nav-folder class={ current: folder == null } folder={ null }></mk-drive-browser-nav-folder>
+			<virtual each={ folder in hierarchyFolders }><span class="separator"><i class="fa fa-angle-right"></i></span>
+				<mk-drive-browser-nav-folder folder={ folder }></mk-drive-browser-nav-folder>
+			</virtual><span class="separator" if={ folder != null }><i class="fa fa-angle-right"></i></span><span class="folder current" if={ folder != null }>{ folder.name }</span>
 		</div>
 		<input class="search" type="search" placeholder="&#xf002; 検索"/>
 	</nav>
-	<div class="main { uploading: uploads.length &gt; 0, loading: loading }" ref="main" onmousedown="{ onmousedown }" ondragover="{ ondragover }" ondragenter="{ ondragenter }" ondragleave="{ ondragleave }" ondrop="{ ondrop }" oncontextmenu="{ oncontextmenu }">
+	<div class="main { uploading: uploads.length &gt; 0, loading: loading }" ref="main" onmousedown={ onmousedown } ondragover={ ondragover } ondragenter={ ondragenter } ondragleave={ ondragleave } ondrop={ ondrop } oncontextmenu={ oncontextmenu }>
 		<div class="selection" ref="selection"></div>
 		<div class="contents" ref="contents">
-			<div class="folders" ref="foldersContainer" if="{ folders.length &gt; 0 }">
-				<virtual each="{ folder in folders }">
-					<mk-drive-browser-folder class="folder" folder="{ folder }"></mk-drive-browser-folder>
+			<div class="folders" ref="foldersContainer" if={ folders.length &gt; 0 }>
+				<virtual each={ folder in folders }>
+					<mk-drive-browser-folder class="folder" folder={ folder }></mk-drive-browser-folder>
 				</virtual>
-				<button if="{ moreFolders }">もっと読み込む</button>
+				<button if={ moreFolders }>もっと読み込む</button>
 			</div>
-			<div class="files" ref="filesContainer" if="{ files.length &gt; 0 }">
-				<virtual each="{ file in files }">
-					<mk-drive-browser-file class="file" file="{ file }"></mk-drive-browser-file>
+			<div class="files" ref="filesContainer" if={ files.length &gt; 0 }>
+				<virtual each={ file in files }>
+					<mk-drive-browser-file class="file" file={ file }></mk-drive-browser-file>
 				</virtual>
-				<button if="{ moreFiles }">もっと読み込む</button>
+				<button if={ moreFiles }>もっと読み込む</button>
 			</div>
-			<div class="empty" if="{ files.length == 0 &amp;&amp; folders.length == 0 &amp;&amp; !loading }">
-				<p if="{ draghover }">ドロップですか?いいですよ、ボクはカワイイですからね</p>
-				<p if="{ !draghover &amp;&amp; folder == null }"><strong>ドライブには何もありません。</strong><br/>右クリックして「ファイルをアップロード」を選んだり、ファイルをドラッグ&ドロップすることでもアップロードできます。</p>
-				<p if="{ !draghover &amp;&amp; folder != null }">このフォルダーは空です</p>
+			<div class="empty" if={ files.length == 0 &amp;&amp; folders.length == 0 &amp;&amp; !loading }>
+				<p if={ draghover }>ドロップですか?いいですよ、ボクはカワイイですからね</p>
+				<p if={ !draghover &amp;&amp; folder == null }><strong>ドライブには何もありません。</strong><br/>右クリックして「ファイルをアップロード」を選んだり、ファイルをドラッグ&ドロップすることでもアップロードできます。</p>
+				<p if={ !draghover &amp;&amp; folder != null }>このフォルダーは空です</p>
 			</div>
 		</div>
-		<div class="loading" if="{ loading }">
+		<div class="loading" if={ loading }>
 			<div class="spinner">
 				<div class="dot1"></div>
 				<div class="dot2"></div>
 			</div>
 		</div>
 	</div>
-	<div class="dropzone" if="{ draghover }"></div>
+	<div class="dropzone" if={ draghover }></div>
 	<mk-uploader ref="uploader"></mk-uploader>
-	<input ref="fileInput" type="file" accept="*/*" multiple="multiple" tabindex="-1" onchange="{ changeFileInput }"/>
+	<input ref="fileInput" type="file" accept="*/*" multiple="multiple" tabindex="-1" onchange={ changeFileInput }/>
 	<style type="stylus">
 		:scope
 			display block
diff --git a/src/web/app/desktop/tags/drive/file-contextmenu.tag b/src/web/app/desktop/tags/drive/file-contextmenu.tag
index 96779601db..400fd7b015 100644
--- a/src/web/app/desktop/tags/drive/file-contextmenu.tag
+++ b/src/web/app/desktop/tags/drive/file-contextmenu.tag
@@ -1,28 +1,28 @@
 <mk-drive-browser-file-contextmenu>
 	<mk-contextmenu ref="ctx">
 		<ul>
-			<li onclick="{ parent.rename }">
+			<li onclick={ parent.rename }>
 				<p><i class="fa fa-i-cursor"></i>名前を変更</p>
 			</li>
-			<li onclick="{ parent.copyUrl }">
+			<li onclick={ parent.copyUrl }>
 				<p><i class="fa fa-link"></i>URLをコピー</p>
 			</li>
-			<li><a href="{ parent.file.url + '?download' }" download="{ parent.file.name }" onclick="{ parent.download }"><i class="fa fa-download"></i>ダウンロード</a></li>
+			<li><a href={ parent.file.url + '?download' } download={ parent.file.name } onclick={ parent.download }><i class="fa fa-download"></i>ダウンロード</a></li>
 			<li class="separator"></li>
-			<li onclick="{ parent.delete }">
+			<li onclick={ parent.delete }>
 				<p><i class="fa fa-trash-o"></i>削除</p>
 			</li>
 			<li class="separator"></li>
 			<li class="has-child">
 				<p>その他...<i class="fa fa-caret-right"></i></p>
 				<ul>
-					<li onclick="{ parent.setAvatar }">
+					<li onclick={ parent.setAvatar }>
 						<p>アバターに設定</p>
 					</li>
-					<li onclick="{ parent.setBanner }">
+					<li onclick={ parent.setBanner }>
 						<p>バナーに設定</p>
 					</li>
-					<li onclick="{ parent.setWallpaper }">
+					<li onclick={ parent.setWallpaper }>
 						<p>壁紙に設定</p>
 					</li>
 				</ul>
@@ -30,7 +30,7 @@
 			<li class="has-child">
 				<p>アプリで開く...<i class="fa fa-caret-right"></i></p>
 				<ul>
-					<li onclick="{ parent.addApp }">
+					<li onclick={ parent.addApp }>
 						<p>アプリを追加...</p>
 					</li>
 				</ul>
diff --git a/src/web/app/desktop/tags/drive/file.tag b/src/web/app/desktop/tags/drive/file.tag
index 8daa54983d..8c267f6941 100644
--- a/src/web/app/desktop/tags/drive/file.tag
+++ b/src/web/app/desktop/tags/drive/file.tag
@@ -1,15 +1,15 @@
-<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"/>
+<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"/>
 		<p>アバター</p>
 	</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>
 	</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>
 	</div>
-	<div class="thumbnail"><img src="{ file.url + '?thumbnail&amp;size=128' }" alt=""/></div>
-	<p class="name"><span>{ file.name.lastIndexOf('.') != -1 ? file.name.substr(0, file.name.lastIndexOf('.')) : file.name }</span><span class="ext" if="{ file.name.lastIndexOf('.') != -1 }">{ file.name.substr(file.name.lastIndexOf('.')) }</span></p>
+	<div class="thumbnail"><img src={ file.url + '?thumbnail&amp;size=128' } alt=""/></div>
+	<p class="name"><span>{ file.name.lastIndexOf('.') != -1 ? file.name.substr(0, file.name.lastIndexOf('.')) : file.name }</span><span class="ext" if={ file.name.lastIndexOf('.') != -1 }>{ file.name.substr(file.name.lastIndexOf('.')) }</span></p>
 	<style type="stylus">
 		:scope
 			display block
diff --git a/src/web/app/desktop/tags/drive/folder-contextmenu.tag b/src/web/app/desktop/tags/drive/folder-contextmenu.tag
index eb50e51c68..aea0904aa9 100644
--- a/src/web/app/desktop/tags/drive/folder-contextmenu.tag
+++ b/src/web/app/desktop/tags/drive/folder-contextmenu.tag
@@ -1,18 +1,18 @@
 <mk-drive-browser-folder-contextmenu>
 	<mk-contextmenu ref="ctx">
 		<ul>
-			<li onclick="{ parent.move }">
+			<li onclick={ parent.move }>
 				<p><i class="fa fa-arrow-right"></i>このフォルダへ移動</p>
 			</li>
-			<li onclick="{ parent.newWindow }">
+			<li onclick={ parent.newWindow }>
 				<p><i class="fa fa-share-square-o"></i>新しいウィンドウで表示</p>
 			</li>
 			<li class="separator"></li>
-			<li onclick="{ parent.rename }">
+			<li onclick={ parent.rename }>
 				<p><i class="fa fa-i-cursor"></i>名前を変更</p>
 			</li>
 			<li class="separator"></li>
-			<li onclick="{ parent.delete }">
+			<li onclick={ parent.delete }>
 				<p><i class="fa fa-trash-o"></i>削除</p>
 			</li>
 		</ul>
diff --git a/src/web/app/desktop/tags/drive/folder.tag b/src/web/app/desktop/tags/drive/folder.tag
index ddeb21027b..f424de399e 100644
--- a/src/web/app/desktop/tags/drive/folder.tag
+++ b/src/web/app/desktop/tags/drive/folder.tag
@@ -1,4 +1,4 @@
-<mk-drive-browser-folder data-is-contextmenu-showing="{ isContextmenuShowing.toString() }" data-draghover="{ draghover.toString() }" onclick="{ onclick }" onmouseover="{ onmouseover }" onmouseout="{ onmouseout }" ondragover="{ ondragover }" ondragenter="{ ondragenter }" ondragleave="{ ondragleave }" ondrop="{ ondrop }" oncontextmenu="{ oncontextmenu }" draggable="true" ondragstart="{ ondragstart }" ondragend="{ ondragend }" title="{ title }">
+<mk-drive-browser-folder data-is-contextmenu-showing={ isContextmenuShowing.toString() } data-draghover={ draghover.toString() } onclick={ onclick } onmouseover={ onmouseover } onmouseout={ onmouseout } ondragover={ ondragover } ondragenter={ ondragenter } ondragleave={ ondragleave } ondrop={ ondrop } oncontextmenu={ oncontextmenu } draggable="true" ondragstart={ ondragstart } ondragend={ ondragend } title={ title }>
 	<p class="name"><i class="fa fa-fw { fa-folder-o: !hover, fa-folder-open-o: hover }"></i>{ folder.name }</p>
 	<style type="stylus">
 		:scope
diff --git a/src/web/app/desktop/tags/drive/nav-folder.tag b/src/web/app/desktop/tags/drive/nav-folder.tag
index 34d6efdf58..9f002a592c 100644
--- a/src/web/app/desktop/tags/drive/nav-folder.tag
+++ b/src/web/app/desktop/tags/drive/nav-folder.tag
@@ -1,4 +1,4 @@
-<mk-drive-browser-nav-folder data-draghover="{ draghover }" onclick="{ onclick }" ondragover="{ ondragover }" ondragenter="{ ondragenter }" ondragleave="{ ondragleave }" ondrop="{ ondrop }"><i class="fa fa-cloud" if="{ folder == null }"></i><span>{ folder == null ? 'ドライブ' : folder.name }</span>
+<mk-drive-browser-nav-folder data-draghover={ draghover } onclick={ onclick } ondragover={ ondragover } ondragenter={ ondragenter } ondragleave={ ondragleave } ondrop={ ondrop }><i class="fa fa-cloud" if={ folder == null }></i><span>{ folder == null ? 'ドライブ' : folder.name }</span>
 	<style type="stylus">
 		:scope
 			&[data-draghover]
diff --git a/src/web/app/desktop/tags/follow-button.tag b/src/web/app/desktop/tags/follow-button.tag
index 300a5fe035..307287b864 100644
--- a/src/web/app/desktop/tags/follow-button.tag
+++ b/src/web/app/desktop/tags/follow-button.tag
@@ -1,6 +1,6 @@
 <mk-follow-button>
-	<button class="{ wait: wait, follow: !user.is_following, unfollow: user.is_following }" if="{ !init }" onclick="{ onclick }" disabled="{ wait }" title="{ user.is_following ? 'フォロー解除' : 'フォローする' }"><i class="fa fa-minus" if="{ !wait &amp;&amp; user.is_following }"></i><i class="fa fa-plus" if="{ !wait &amp;&amp; !user.is_following }"></i><i class="fa fa-spinner fa-pulse fa-fw" if="{ wait }"></i></button>
-	<div class="init" if="{ init }"><i class="fa fa-spinner fa-pulse fa-fw"></i></div>
+	<button class={ wait: wait, follow: !user.is_following, unfollow: user.is_following } if={ !init } onclick={ onclick } disabled={ wait } title={ user.is_following ? 'フォロー解除' : 'フォローする' }><i class="fa fa-minus" if={ !wait &amp;&amp; user.is_following }></i><i class="fa fa-plus" if={ !wait &amp;&amp; !user.is_following }></i><i class="fa fa-spinner fa-pulse fa-fw" if={ wait }></i></button>
+	<div class="init" if={ init }><i class="fa fa-spinner fa-pulse fa-fw"></i></div>
 	<style type="stylus">
 		:scope
 			display block
diff --git a/src/web/app/desktop/tags/following-setuper.tag b/src/web/app/desktop/tags/following-setuper.tag
index 6e8e40a2b1..784d9db23c 100644
--- a/src/web/app/desktop/tags/following-setuper.tag
+++ b/src/web/app/desktop/tags/following-setuper.tag
@@ -1,18 +1,18 @@
 <mk-following-setuper>
 	<p class="title">気になるユーザーをフォロー:</p>
-	<div class="users" if="{ !loading &amp;&amp; users.length &gt; 0 }">
-		<div class="user" each="{ users }"><a class="avatar-anchor" href="{ CONFIG.url + '/' + username }"><img class="avatar" src="{ avatar_url + '?thumbnail&amp;size=42' }" alt="" data-user-preview="{ id }"/></a>
-			<div class="body"><a class="name" href="{ CONFIG.url + '/' + username }" target="_blank" data-user-preview="{ id }">{ name }</a>
+	<div class="users" if={ !loading &amp;&amp; users.length &gt; 0 }>
+		<div class="user" each={ users }><a class="avatar-anchor" href={ CONFIG.url + '/' + username }><img class="avatar" src={ avatar_url + '?thumbnail&amp;size=42' } alt="" data-user-preview={ id }/></a>
+			<div class="body"><a class="name" href={ CONFIG.url + '/' + username } target="_blank" data-user-preview={ id }>{ name }</a>
 				<p class="username">@{ username }</p>
 			</div>
-			<mk-follow-button user="{ this }"></mk-follow-button>
+			<mk-follow-button user={ this }></mk-follow-button>
 		</div>
 	</div>
-	<p class="empty" if="{ !loading &amp;&amp; users.length == 0 }">おすすめのユーザーは見つかりませんでした。</p>
-	<p class="loading" if="{ loading }"><i class="fa fa-spinner fa-pulse fa-fw"></i>読み込んでいます
+	<p class="empty" if={ !loading &amp;&amp; users.length == 0 }>おすすめのユーザーは見つかりませんでした。</p>
+	<p class="loading" if={ loading }><i class="fa fa-spinner fa-pulse fa-fw"></i>読み込んでいます
 		<mk-ellipsis></mk-ellipsis>
-	</p><a class="refresh" onclick="{ refresh }">もっと見る</a>
-	<button class="close" onclick="{ close }" title="閉じる"><i class="fa fa-times"></i></button>
+	</p><a class="refresh" onclick={ refresh }>もっと見る</a>
+	<button class="close" onclick={ close } title="閉じる"><i class="fa fa-times"></i></button>
 	<style type="stylus">
 		:scope
 			display block
diff --git a/src/web/app/desktop/tags/home-widgets/calendar.tag b/src/web/app/desktop/tags/home-widgets/calendar.tag
index affa55c96b..b9828cf56c 100644
--- a/src/web/app/desktop/tags/home-widgets/calendar.tag
+++ b/src/web/app/desktop/tags/home-widgets/calendar.tag
@@ -1,5 +1,5 @@
-<mk-calendar-home-widget data-special="{ special }">
-	<div class="calendar" data-is-holiday="{ isHoliday }">
+<mk-calendar-home-widget data-special={ special }>
+	<div class="calendar" data-is-holiday={ isHoliday }>
 		<p class="month-and-year"><span class="year">{ year }年</span><span class="month">{ month }月</span></p>
 		<p class="day">{ day }日</p>
 		<p class="week-day">{ weekDay }曜日</p>
@@ -8,19 +8,19 @@
 		<div>
 			<p>今日:<b>{ dayP.toFixed(1) }%</b></p>
 			<div class="meter">
-				<div class="val" style="{ 'width:' + dayP + '%' }"></div>
+				<div class="val" style={ 'width:' + dayP + '%' }></div>
 			</div>
 		</div>
 		<div>
 			<p>今月:<b>{ monthP.toFixed(1) }%</b></p>
 			<div class="meter">
-				<div class="val" style="{ 'width:' + monthP + '%' }"></div>
+				<div class="val" style={ 'width:' + monthP + '%' }></div>
 			</div>
 		</div>
 		<div>
 			<p>今年:<b>{ yearP.toFixed(1) }%</b></p>
 			<div class="meter">
-				<div class="val" style="{ 'width:' + yearP + '%' }"></div>
+				<div class="val" style={ 'width:' + yearP + '%' }></div>
 			</div>
 		</div>
 	</div>
diff --git a/src/web/app/desktop/tags/home-widgets/mentions.tag b/src/web/app/desktop/tags/home-widgets/mentions.tag
index 81ceff6179..64419fb6fe 100644
--- a/src/web/app/desktop/tags/home-widgets/mentions.tag
+++ b/src/web/app/desktop/tags/home-widgets/mentions.tag
@@ -1,10 +1,10 @@
 <mk-mentions-home-widget>
-	<header><span data-is-active="{ mode == 'all' }" onclick="{ setMode.bind(this, 'all') }">すべて</span><span data-is-active="{ mode == 'following' }" onclick="{ setMode.bind(this, 'following') }">フォロー中</span></header>
-	<div class="loading" if="{ isLoading }">
+	<header><span data-is-active={ mode == 'all' } onclick={ setMode.bind(this, 'all') }>すべて</span><span data-is-active={ mode == 'following' } onclick={ setMode.bind(this, 'following') }>フォロー中</span></header>
+	<div class="loading" if={ isLoading }>
 		<mk-ellipsis-icon></mk-ellipsis-icon>
 	</div>
-	<p class="empty" if="{ isEmpty }"><i class="fa fa-comments-o"></i><span if="{ mode == 'all' }">あなた宛ての投稿はありません。</span><span if="{ mode == 'following' }">あなたがフォローしているユーザーからの言及はありません。</span></p>
-	<mk-timeline ref="timeline"><yield to="footer"><i class="fa fa-moon-o" if="{ !parent.moreLoading }"></i><i class="fa fa-spinner fa-pulse fa-fw" if="{ parent.moreLoading }"></i></yield></mk-timeline>
+	<p class="empty" if={ isEmpty }><i class="fa fa-comments-o"></i><span if={ mode == 'all' }>あなた宛ての投稿はありません。</span><span if={ mode == 'following' }>あなたがフォローしているユーザーからの言及はありません。</span></p>
+	<mk-timeline ref="timeline"><yield to="footer"><i class="fa fa-moon-o" if={ !parent.moreLoading }></i><i class="fa fa-spinner fa-pulse fa-fw" if={ parent.moreLoading }></i></yield></mk-timeline>
 	<style type="stylus">
 		:scope
 			display block
diff --git a/src/web/app/desktop/tags/home-widgets/nav.tag b/src/web/app/desktop/tags/home-widgets/nav.tag
index 7e153bc234..db052f74e6 100644
--- a/src/web/app/desktop/tags/home-widgets/nav.tag
+++ b/src/web/app/desktop/tags/home-widgets/nav.tag
@@ -1,4 +1,4 @@
-<mk-nav-home-widget><a href="{ CONFIG.urls.about }">Misskeyについて</a><i>・</i><a href="{ CONFIG.urls.about + '/status' }">ステータス</a><i>・</i><a href="https://github.com/syuilo/misskey">リポジトリ</a><i>・</i><a href="{ CONFIG.urls.dev }">開発者</a><i>・</i><a href="https://twitter.com/misskey_xyz" target="_blank">Follow us on <i class="fa fa-twitter"></i></a>
+<mk-nav-home-widget><a href={ CONFIG.urls.about }>Misskeyについて</a><i>・</i><a href={ CONFIG.urls.about + '/status' }>ステータス</a><i>・</i><a href="https://github.com/syuilo/misskey">リポジトリ</a><i>・</i><a href={ CONFIG.urls.dev }>開発者</a><i>・</i><a href="https://twitter.com/misskey_xyz" target="_blank">Follow us on <i class="fa fa-twitter"></i></a>
 	<style type="stylus">
 		:scope
 			display block
diff --git a/src/web/app/desktop/tags/home-widgets/notifications.tag b/src/web/app/desktop/tags/home-widgets/notifications.tag
index 43baa01439..5cb50f9716 100644
--- a/src/web/app/desktop/tags/home-widgets/notifications.tag
+++ b/src/web/app/desktop/tags/home-widgets/notifications.tag
@@ -1,6 +1,6 @@
 <mk-notifications-home-widget>
 	<p class="title"><i class="fa fa-bell-o"></i>通知</p>
-	<button onclick="{ settings }" title="通知の設定"><i class="fa fa-cog"></i></button>
+	<button onclick={ settings } title="通知の設定"><i class="fa fa-cog"></i></button>
 	<mk-notifications></mk-notifications>
 	<style type="stylus">
 		:scope
diff --git a/src/web/app/desktop/tags/home-widgets/photo-stream.tag b/src/web/app/desktop/tags/home-widgets/photo-stream.tag
index 245427badf..f33bbd87d1 100644
--- a/src/web/app/desktop/tags/home-widgets/photo-stream.tag
+++ b/src/web/app/desktop/tags/home-widgets/photo-stream.tag
@@ -1,14 +1,14 @@
 <mk-photo-stream-home-widget>
 	<p class="title"><i class="fa fa-camera"></i>フォトストリーム</p>
-	<p class="initializing" if="{ initializing }"><i class="fa fa-spinner fa-pulse fa-fw"></i>読み込んでいます
+	<p class="initializing" if={ initializing }><i class="fa fa-spinner fa-pulse fa-fw"></i>読み込んでいます
 		<mk-ellipsis></mk-ellipsis>
 	</p>
-	<div class="stream" if="{ !initializing &amp;&amp; images.length &gt; 0 }">
-		<virtual each="{ image in images }">
-			<div class="img" style="{ 'background-image: url(' + image.url + '?thumbnail&amp;size=256)' }"></div>
+	<div class="stream" if={ !initializing &amp;&amp; images.length &gt; 0 }>
+		<virtual each={ image in images }>
+			<div class="img" style={ 'background-image: url(' + image.url + '?thumbnail&amp;size=256)' }></div>
 		</virtual>
 	</div>
-	<p class="empty" if="{ !initializing &amp;&amp; images.length == 0 }">写真はありません</p>
+	<p class="empty" if={ !initializing &amp;&amp; images.length == 0 }>写真はありません</p>
 	<style type="stylus">
 		:scope
 			display block
diff --git a/src/web/app/desktop/tags/home-widgets/profile.tag b/src/web/app/desktop/tags/home-widgets/profile.tag
index 24a0035c4c..c3b09f5f5b 100644
--- a/src/web/app/desktop/tags/home-widgets/profile.tag
+++ b/src/web/app/desktop/tags/home-widgets/profile.tag
@@ -1,5 +1,5 @@
 <mk-profile-home-widget>
-	<div class="banner" style="{ I.banner_url ? 'background-image: url(' + I.banner_url + '?thumbnail&amp;size=256)' : '' }" onclick="{ setBanner }"></div><img class="avatar" src="{ I.avatar_url + '?thumbnail&amp;size=64' }" onclick="{ setAvatar }" alt="avatar" data-user-preview="{ I.id }"/><a class="name" href="{ CONFIG.url + '/' + I.username }">{ I.name }</a>
+	<div class="banner" style={ I.banner_url ? 'background-image: url(' + I.banner_url + '?thumbnail&amp;size=256)' : '' } onclick={ setBanner }></div><img class="avatar" src={ I.avatar_url + '?thumbnail&amp;size=64' } onclick={ setAvatar } alt="avatar" data-user-preview={ I.id }/><a class="name" href={ CONFIG.url + '/' + I.username }>{ I.name }</a>
 	<p class="username">@{ I.username }</p>
 	<style type="stylus">
 		:scope
diff --git a/src/web/app/desktop/tags/home-widgets/rss-reader.tag b/src/web/app/desktop/tags/home-widgets/rss-reader.tag
index bfd9d32e52..eeda476d99 100644
--- a/src/web/app/desktop/tags/home-widgets/rss-reader.tag
+++ b/src/web/app/desktop/tags/home-widgets/rss-reader.tag
@@ -1,10 +1,10 @@
 <mk-rss-reader-home-widget>
 	<p class="title"><i class="fa fa-rss-square"></i>RSS</p>
-	<button onclick="{ settings }" title="設定"><i class="fa fa-cog"></i></button>
-	<div class="feed" if="{ !initializing }">
-		<virtual each="{ item in items }"><a href="{ item.link }" target="_blank">{ item.title }</a></virtual>
+	<button onclick={ settings } title="設定"><i class="fa fa-cog"></i></button>
+	<div class="feed" if={ !initializing }>
+		<virtual each={ item in items }><a href={ item.link } target="_blank">{ item.title }</a></virtual>
 	</div>
-	<p class="initializing" if="{ initializing }"><i class="fa fa-spinner fa-pulse fa-fw"></i>読み込んでいます
+	<p class="initializing" if={ initializing }><i class="fa fa-spinner fa-pulse fa-fw"></i>読み込んでいます
 		<mk-ellipsis></mk-ellipsis>
 	</p>
 	<style type="stylus">
diff --git a/src/web/app/desktop/tags/home-widgets/timeline.tag b/src/web/app/desktop/tags/home-widgets/timeline.tag
index 2bd9d104da..c46a6bc134 100644
--- a/src/web/app/desktop/tags/home-widgets/timeline.tag
+++ b/src/web/app/desktop/tags/home-widgets/timeline.tag
@@ -1,10 +1,10 @@
 <mk-timeline-home-widget>
-	<mk-following-setuper if="{ noFollowing }"></mk-following-setuper>
-	<div class="loading" if="{ isLoading }">
+	<mk-following-setuper if={ noFollowing }></mk-following-setuper>
+	<div class="loading" if={ isLoading }>
 		<mk-ellipsis-icon></mk-ellipsis-icon>
 	</div>
-	<p class="empty" if="{ isEmpty }"><i class="fa fa-comments-o"></i>自分の投稿や、自分がフォローしているユーザーの投稿が表示されます。</p>
-	<mk-timeline ref="timeline"><yield to="footer"><i class="fa fa-moon-o" if="{ !parent.moreLoading }"></i><i class="fa fa-spinner fa-pulse fa-fw" if="{ parent.moreLoading }"></i></yield></mk-timeline>
+	<p class="empty" if={ isEmpty }><i class="fa fa-comments-o"></i>自分の投稿や、自分がフォローしているユーザーの投稿が表示されます。</p>
+	<mk-timeline ref="timeline"><yield to="footer"><i class="fa fa-moon-o" if={ !parent.moreLoading }></i><i class="fa fa-spinner fa-pulse fa-fw" if={ parent.moreLoading }></i></yield></mk-timeline>
 	<style type="stylus">
 		:scope
 			display block
diff --git a/src/web/app/desktop/tags/home-widgets/user-recommendation.tag b/src/web/app/desktop/tags/home-widgets/user-recommendation.tag
index bcf770ddab..cf55aef65c 100644
--- a/src/web/app/desktop/tags/home-widgets/user-recommendation.tag
+++ b/src/web/app/desktop/tags/home-widgets/user-recommendation.tag
@@ -1,14 +1,14 @@
 <mk-user-recommendation-home-widget>
 	<p class="title"><i class="fa fa-users"></i>おすすめユーザー</p>
-	<button onclick="{ refresh }" title="他を見る"><i class="fa fa-refresh"></i></button>
-	<div class="user" if="{ !loading &amp;&amp; users.length != 0 }" each="{ _user in users }"><a class="avatar-anchor" href="{ CONFIG.url + '/' + _user.username }"><img class="avatar" src="{ _user.avatar_url + '?thumbnail&amp;size=42' }" alt="" data-user-preview="{ _user.id }"/></a>
-		<div class="body"><a class="name" href="{ CONFIG.url + '/' + _user.username }" data-user-preview="{ _user.id }">{ _user.name }</a>
+	<button onclick={ refresh } title="他を見る"><i class="fa fa-refresh"></i></button>
+	<div class="user" if={ !loading &amp;&amp; users.length != 0 } each={ _user in users }><a class="avatar-anchor" href={ CONFIG.url + '/' + _user.username }><img class="avatar" src={ _user.avatar_url + '?thumbnail&amp;size=42' } alt="" data-user-preview={ _user.id }/></a>
+		<div class="body"><a class="name" href={ CONFIG.url + '/' + _user.username } data-user-preview={ _user.id }>{ _user.name }</a>
 			<p class="username">@{ _user.username }</p>
 		</div>
-		<mk-follow-button user="{ _user }"></mk-follow-button>
+		<mk-follow-button user={ _user }></mk-follow-button>
 	</div>
-	<p class="empty" if="{ !loading &amp;&amp; users.length == 0 }">いません!</p>
-	<p class="loading" if="{ loading }"><i class="fa fa-spinner fa-pulse fa-fw"></i>読み込んでいます
+	<p class="empty" if={ !loading &amp;&amp; users.length == 0 }>いません!</p>
+	<p class="loading" if={ loading }><i class="fa fa-spinner fa-pulse fa-fw"></i>読み込んでいます
 		<mk-ellipsis></mk-ellipsis>
 	</p>
 	<style type="stylus">
diff --git a/src/web/app/desktop/tags/home.tag b/src/web/app/desktop/tags/home.tag
index 6d4a308ac2..e91e2b1b26 100644
--- a/src/web/app/desktop/tags/home.tag
+++ b/src/web/app/desktop/tags/home.tag
@@ -2,8 +2,8 @@
 	<div class="main">
 		<div class="left" ref="left"></div>
 		<main>
-			<mk-timeline-home-widget ref="tl" if="{ mode == 'timeline' }"></mk-timeline-home-widget>
-			<mk-mentions-home-widget ref="tl" if="{ mode == 'mentions' }"></mk-mentions-home-widget>
+			<mk-timeline-home-widget ref="tl" if={ mode == 'timeline' }></mk-timeline-home-widget>
+			<mk-mentions-home-widget ref="tl" if={ mode == 'mentions' }></mk-mentions-home-widget>
 		</main>
 		<div class="right" ref="right"></div>
 	</div>
diff --git a/src/web/app/desktop/tags/image-dialog.tag b/src/web/app/desktop/tags/image-dialog.tag
index 41ec876621..aa7d91e77f 100644
--- a/src/web/app/desktop/tags/image-dialog.tag
+++ b/src/web/app/desktop/tags/image-dialog.tag
@@ -1,5 +1,5 @@
 <mk-image-dialog>
-	<div class="bg" ref="bg" onclick="{ close }"></div><img ref="img" src="{ image.url }" alt="{ image.name }" title="{ image.name }" onclick="{ close }"/>
+	<div class="bg" ref="bg" onclick={ close }></div><img ref="img" src={ image.url } alt={ image.name } title={ image.name } onclick={ close }/>
 	<style type="stylus">
 		:scope
 			display block
diff --git a/src/web/app/desktop/tags/images-viewer.tag b/src/web/app/desktop/tags/images-viewer.tag
index c08c8d6926..7951c400e6 100644
--- a/src/web/app/desktop/tags/images-viewer.tag
+++ b/src/web/app/desktop/tags/images-viewer.tag
@@ -1,5 +1,5 @@
 <mk-images-viewer>
-	<div class="image" ref="view" onmousemove="{ mousemove }" style="{ 'background-image: url(' + image.url + '?thumbnail' }" onclick="{ click }"><img src="{ image.url + '?thumbnail&amp;size=512' }" alt="{ image.name }" title="{ image.name }"/></div>
+	<div class="image" ref="view" onmousemove={ mousemove } style={ 'background-image: url(' + image.url + '?thumbnail' } onclick={ click }><img src={ image.url + '?thumbnail&amp;size=512' } alt={ image.name } title={ image.name }/></div>
 	<style type="stylus">
 		:scope
 			display block
diff --git a/src/web/app/desktop/tags/input-dialog.tag b/src/web/app/desktop/tags/input-dialog.tag
index a71ee58623..7c9170e197 100644
--- a/src/web/app/desktop/tags/input-dialog.tag
+++ b/src/web/app/desktop/tags/input-dialog.tag
@@ -1,12 +1,12 @@
 <mk-input-dialog>
-	<mk-window ref="window" is-modal="{ true }" width="{ '500px' }"><yield to="header"><i class="fa fa-i-cursor"></i>{ parent.title }</yield>
+	<mk-window ref="window" is-modal={ true } width={ '500px' }><yield to="header"><i class="fa fa-i-cursor"></i>{ parent.title }</yield>
 <yield to="content">
 		<div class="body">
-			<input ref="text" oninput="{ parent.update }" onkeydown="{ parent.onKeydown }" placeholder="{ parent.placeholder }"/>
+			<input ref="text" oninput={ parent.update } onkeydown={ parent.onKeydown } placeholder={ parent.placeholder }/>
 		</div>
 		<div class="action">
-			<button class="cancel" onclick="{ parent.cancel }">キャンセル</button>
-			<button class="ok" disabled="{ !parent.allowEmpty &amp;&amp; refs.text.value.length == 0 }" onclick="{ parent.ok }">決定</button>
+			<button class="cancel" onclick={ parent.cancel }>キャンセル</button>
+			<button class="ok" disabled={ !parent.allowEmpty &amp;&amp; refs.text.value.length == 0 } onclick={ parent.ok }>決定</button>
 		</div></yield>
 	</mk-window>
 	<style type="stylus">
diff --git a/src/web/app/desktop/tags/list-user.tag b/src/web/app/desktop/tags/list-user.tag
index ecf1e04d2e..6647ffd4a0 100644
--- a/src/web/app/desktop/tags/list-user.tag
+++ b/src/web/app/desktop/tags/list-user.tag
@@ -1,14 +1,14 @@
-<mk-list-user><a class="avatar-anchor" href="{ CONFIG.url + '/' + user.username }"><img class="avatar" src="{ user.avatar_url + '?thumbnail&amp;size=64' }" alt="avatar"/></a>
+<mk-list-user><a class="avatar-anchor" href={ CONFIG.url + '/' + user.username }><img class="avatar" src={ user.avatar_url + '?thumbnail&amp;size=64' } alt="avatar"/></a>
 	<div class="main">
 		<header>
-			<div class="left"><a class="name" href="{ CONFIG.url + '/' + user.username }">{ user.name }</a><span class="username">@{ user.username }</span></div>
+			<div class="left"><a class="name" href={ CONFIG.url + '/' + user.username }>{ user.name }</a><span class="username">@{ user.username }</span></div>
 		</header>
 		<div class="body">
-			<p class="followed" if="{ user.is_followed }">フォローされています</p>
+			<p class="followed" if={ user.is_followed }>フォローされています</p>
 			<div class="bio">{ user.bio }</div>
 		</div>
 	</div>
-	<mk-follow-button user="{ user }"></mk-follow-button>
+	<mk-follow-button user={ user }></mk-follow-button>
 	<style type="stylus">
 		:scope
 			display block
diff --git a/src/web/app/desktop/tags/messaging/form.tag b/src/web/app/desktop/tags/messaging/form.tag
index b521eb2fd3..79aa9e2aca 100644
--- a/src/web/app/desktop/tags/messaging/form.tag
+++ b/src/web/app/desktop/tags/messaging/form.tag
@@ -1,8 +1,8 @@
 <mk-messaging-form>
-	<textarea ref="text" onkeypress="{ onkeypress }" onpaste="{ onpaste }" placeholder="ここにメッセージを入力"></textarea>
+	<textarea ref="text" onkeypress={ onkeypress } onpaste={ onpaste } placeholder="ここにメッセージを入力"></textarea>
 	<div class="files"></div>
 	<mk-uploader ref="uploader"></mk-uploader>
-	<button class="send" onclick="{ send }" disabled="{ sending }" title="メッセージを送信"><i class="fa fa-paper-plane" if="{ !sending }"></i><i class="fa fa-spinner fa-spin" if="{ sending }"></i></button>
+	<button class="send" onclick={ send } disabled={ sending } title="メッセージを送信"><i class="fa fa-paper-plane" if={ !sending }></i><i class="fa fa-spinner fa-spin" if={ sending }></i></button>
 	<button class="attach-from-local" type="button" title="PCから画像を添付する"><i class="fa fa-upload"></i></button>
 	<button class="attach-from-drive" type="button" title="アルバムから画像を添付する"><i class="fa fa-folder-open"></i></button>
 	<input name="file" type="file" accept="image/*"/>
diff --git a/src/web/app/desktop/tags/messaging/index.tag b/src/web/app/desktop/tags/messaging/index.tag
index eeb92fc3f0..d77ada3b4f 100644
--- a/src/web/app/desktop/tags/messaging/index.tag
+++ b/src/web/app/desktop/tags/messaging/index.tag
@@ -2,27 +2,27 @@
 	<div class="search">
 		<div class="form">
 			<label for="search-input"><i class="fa fa-search"></i></label>
-			<input ref="searchInput" type="search" oninput="{ search }" placeholder="ユーザーを探す"/>
+			<input ref="searchInput" type="search" oninput={ search } placeholder="ユーザーを探す"/>
 		</div>
 		<div class="result">
-			<ol class="users" if="{ searchResult.length &gt; 0 }">
-				<li each="{ user in searchResult }"><a onclick="{ user._click }"><img class="avatar" src="{ user.avatar_url + '?thumbnail&amp;size=32' }" alt=""/><span class="name">{ user.name }</span><span class="username">@{ user.username }</span></a></li>
+			<ol class="users" if={ searchResult.length &gt; 0 }>
+				<li each={ user in searchResult }><a onclick={ user._click }><img class="avatar" src={ user.avatar_url + '?thumbnail&amp;size=32' } alt=""/><span class="name">{ user.name }</span><span class="username">@{ user.username }</span></a></li>
 			</ol>
 		</div>
 	</div>
 	<div class="main">
-		<div class="history" if="{ history.length &gt; 0 }">
-			<virtual each="{ history }"><a class="user" data-is-me="{ is_me }" data-is-read="{ is_read }" onclick="{ _click }">
-					<div><img class="avatar" src="{ (is_me ? recipient.avatar_url : user.avatar_url) + '?thumbnail&amp;size=64' }" alt=""/>
+		<div class="history" if={ history.length &gt; 0 }>
+			<virtual each={ history }><a class="user" data-is-me={ is_me } data-is-read={ is_read } onclick={ _click }>
+					<div><img class="avatar" src={ (is_me ? recipient.avatar_url : user.avatar_url) + '?thumbnail&amp;size=64' } alt=""/>
 						<header><span class="name">{ is_me ? recipient.name : user.name }</span><span class="username">{ '@' + (is_me ? recipient.username : user.username ) }</span>
-							<mk-time time="{ created_at }"></mk-time>
+							<mk-time time={ created_at }></mk-time>
 						</header>
 						<div class="body">
-							<p class="text"><span class="me" if="{ is_me }">あなた:</span>{ text }</p>
+							<p class="text"><span class="me" if={ is_me }>あなた:</span>{ text }</p>
 						</div>
 					</div></a></virtual>
 		</div>
-		<p class="no-history" if="{ history.length == 0 }">履歴はありません。<br/>ユーザーを検索して、いつでもメッセージを送受信できます。</p>
+		<p class="no-history" if={ history.length == 0 }>履歴はありません。<br/>ユーザーを検索して、いつでもメッセージを送受信できます。</p>
 	</div>
 	<style type="stylus">
 		:scope
diff --git a/src/web/app/desktop/tags/messaging/message.tag b/src/web/app/desktop/tags/messaging/message.tag
index 517689d132..a366ee5d60 100644
--- a/src/web/app/desktop/tags/messaging/message.tag
+++ b/src/web/app/desktop/tags/messaging/message.tag
@@ -1,18 +1,18 @@
-<mk-messaging-message data-is-me="{ message.is_me }"><a class="avatar-anchor" href="{ CONFIG.url + '/' + message.user.username }" title="{ message.user.username }" target="_blank"><img class="avatar" src="{ message.user.avatar_url + '?thumbnail&amp;size=64' }" alt=""/></a>
+<mk-messaging-message data-is-me={ message.is_me }><a class="avatar-anchor" href={ CONFIG.url + '/' + message.user.username } title={ message.user.username } target="_blank"><img class="avatar" src={ message.user.avatar_url + '?thumbnail&amp;size=64' } alt=""/></a>
 	<div class="content-container">
 		<div class="balloon">
-			<p class="read" if="{ message.is_me &amp;&amp; message.is_read }">既読</p>
-			<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 }">
+			<p class="read" if={ message.is_me &amp;&amp; message.is_read }>既読</p>
+			<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 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>
 			</div>
-			<div class="content" if="{ message.is_deleted }">
+			<div class="content" if={ message.is_deleted }>
 				<p class="is-deleted">このメッセージは削除されました</p>
 			</div>
 		</div>
 		<footer>
-			<mk-time time="{ message.created_at }"></mk-time><i class="fa fa-pencil is-edited" if="{ message.is_edited }"></i>
+			<mk-time time={ message.created_at }></mk-time><i class="fa fa-pencil is-edited" if={ message.is_edited }></i>
 		</footer>
 	</div>
 	<style type="stylus">
diff --git a/src/web/app/desktop/tags/messaging/room-window.tag b/src/web/app/desktop/tags/messaging/room-window.tag
index 46a2297f2a..f66bab45d3 100644
--- a/src/web/app/desktop/tags/messaging/room-window.tag
+++ b/src/web/app/desktop/tags/messaging/room-window.tag
@@ -1,7 +1,7 @@
 <mk-messaging-room-window>
-	<mk-window ref="window" is-modal="{ false }" width="{ '500px' }" height="{ '560px' }"><yield to="header"><i class="fa fa-comments"></i>メッセージ: { parent.user.name }</yield>
+	<mk-window ref="window" is-modal={ false } width={ '500px' } height={ '560px' }><yield to="header"><i class="fa fa-comments"></i>メッセージ: { parent.user.name }</yield>
 <yield to="content">
-		<mk-messaging-room user="{ parent.user }"></mk-messaging-room></yield>
+		<mk-messaging-room user={ parent.user }></mk-messaging-room></yield>
 	</mk-window>
 	<style type="stylus">
 		:scope
diff --git a/src/web/app/desktop/tags/messaging/room.tag b/src/web/app/desktop/tags/messaging/room.tag
index 929e62fc3a..6f1ef3cc66 100644
--- a/src/web/app/desktop/tags/messaging/room.tag
+++ b/src/web/app/desktop/tags/messaging/room.tag
@@ -1,17 +1,17 @@
 <mk-messaging-room>
 	<div class="stream" ref="stream">
-		<p class="initializing" if="{ init }"><i class="fa fa-spinner fa-spin"></i>読み込み中</p>
-		<p class="empty" if="{ !init &amp;&amp; messages.length == 0 }"><i class="fa fa-info-circle"></i>このユーザーとまだ会話したことがありません</p>
-		<virtual each="{ message, i in messages }">
-			<mk-messaging-message message="{ message }"></mk-messaging-message>
-			<p class="date" if="{ i != messages.length - 1 &amp;&amp; message._date != messages[i + 1]._date }"><span>{ messages[i + 1]._datetext }</span></p>
+		<p class="initializing" if={ init }><i class="fa fa-spinner fa-spin"></i>読み込み中</p>
+		<p class="empty" if={ !init &amp;&amp; messages.length == 0 }><i class="fa fa-info-circle"></i>このユーザーとまだ会話したことがありません</p>
+		<virtual each={ message, i in messages }>
+			<mk-messaging-message message={ message }></mk-messaging-message>
+			<p class="date" if={ i != messages.length - 1 &amp;&amp; message._date != messages[i + 1]._date }><span>{ messages[i + 1]._datetext }</span></p>
 		</virtual>
 	</div>
 	<div class="typings"></div>
 	<footer>
 		<div ref="notifications"></div>
 		<div class="grippie" title="ドラッグしてフォームの広さを調整"></div>
-		<mk-messaging-form user="{ user }"></mk-messaging-form>
+		<mk-messaging-form user={ user }></mk-messaging-form>
 	</footer>
 	<style type="stylus">
 		:scope
diff --git a/src/web/app/desktop/tags/messaging/window.tag b/src/web/app/desktop/tags/messaging/window.tag
index 17ebfd2280..72d2970160 100644
--- a/src/web/app/desktop/tags/messaging/window.tag
+++ b/src/web/app/desktop/tags/messaging/window.tag
@@ -1,5 +1,5 @@
 <mk-messaging-window>
-	<mk-window ref="window" is-modal="{ false }" width="{ '500px' }" height="{ '560px' }"><yield to="header"><i class="fa fa-comments"></i>メッセージ</yield>
+	<mk-window ref="window" is-modal={ false } width={ '500px' } height={ '560px' }><yield to="header"><i class="fa fa-comments"></i>メッセージ</yield>
 <yield to="content">
 		<mk-messaging ref="index"></mk-messaging></yield>
 	</mk-window>
diff --git a/src/web/app/desktop/tags/notifications.tag b/src/web/app/desktop/tags/notifications.tag
index b8f03fb6f2..bd6e874300 100644
--- a/src/web/app/desktop/tags/notifications.tag
+++ b/src/web/app/desktop/tags/notifications.tag
@@ -1,44 +1,44 @@
 <mk-notifications>
-	<div class="notifications" if="{ notifications.length != 0 }">
-		<virtual each="{ notification, i in notifications }">
+	<div class="notifications" if={ notifications.length != 0 }>
+		<virtual each={ notification, i in notifications }>
 			<div class="notification { notification.type }">
-				<mk-time time="{ notification.created_at }"></mk-time>
-				<div class="main" if="{ notification.type == 'like' }"><a class="avatar-anchor" href="{ CONFIG.url + '/' + notification.user.username }" data-user-preview="{ notification.user.id }"><img class="avatar" src="{ notification.user.avatar_url + '?thumbnail&amp;size=48' }" alt="avatar"/></a>
+				<mk-time time={ notification.created_at }></mk-time>
+				<div class="main" if={ notification.type == 'like' }><a class="avatar-anchor" href={ CONFIG.url + '/' + notification.user.username } data-user-preview={ notification.user.id }><img class="avatar" src={ notification.user.avatar_url + '?thumbnail&amp;size=48' } alt="avatar"/></a>
 					<div class="text">
-						<p><i class="fa fa-thumbs-o-up"></i><a href="{ CONFIG.url + '/' + notification.user.username }" data-user-preview="{ notification.user.id }">{ notification.user.name }</a></p><a class="post-ref" href="{ CONFIG.url + '/' + notification.post.user.username + '/' + notification.post.id }">{ getPostSummary(notification.post) }</a>
+						<p><i class="fa fa-thumbs-o-up"></i><a href={ CONFIG.url + '/' + notification.user.username } data-user-preview={ notification.user.id }>{ notification.user.name }</a></p><a class="post-ref" href={ CONFIG.url + '/' + notification.post.user.username + '/' + notification.post.id }>{ getPostSummary(notification.post) }</a>
 					</div>
 				</div>
-				<div class="main" if="{ notification.type == 'repost' }"><a class="avatar-anchor" href="{ CONFIG.url + '/' + notification.post.user.username }" data-user-preview="{ notification.post.user_id }"><img class="avatar" src="{ notification.post.user.avatar_url + '?thumbnail&amp;size=48' }" alt="avatar"/></a>
+				<div class="main" if={ notification.type == 'repost' }><a class="avatar-anchor" href={ CONFIG.url + '/' + notification.post.user.username } data-user-preview={ notification.post.user_id }><img class="avatar" src={ notification.post.user.avatar_url + '?thumbnail&amp;size=48' } alt="avatar"/></a>
 					<div class="text">
-						<p><i class="fa fa-retweet"></i><a href="{ CONFIG.url + '/' + notification.post.user.username }" data-user-preview="{ notification.post.user_id }">{ notification.post.user.name }</a></p><a class="post-ref" href="{ CONFIG.url + '/' + notification.post.user.username + '/' + notification.post.id }">{ getPostSummary(notification.post.repost) }</a>
+						<p><i class="fa fa-retweet"></i><a href={ CONFIG.url + '/' + notification.post.user.username } data-user-preview={ notification.post.user_id }>{ notification.post.user.name }</a></p><a class="post-ref" href={ CONFIG.url + '/' + notification.post.user.username + '/' + notification.post.id }>{ getPostSummary(notification.post.repost) }</a>
 					</div>
 				</div>
-				<div class="main" if="{ notification.type == 'quote' }"><a class="avatar-anchor" href="{ CONFIG.url + '/' + notification.post.user.username }" data-user-preview="{ notification.post.user_id }"><img class="avatar" src="{ notification.post.user.avatar_url + '?thumbnail&amp;size=48' }" alt="avatar"/></a>
+				<div class="main" if={ notification.type == 'quote' }><a class="avatar-anchor" href={ CONFIG.url + '/' + notification.post.user.username } data-user-preview={ notification.post.user_id }><img class="avatar" src={ notification.post.user.avatar_url + '?thumbnail&amp;size=48' } alt="avatar"/></a>
 					<div class="text">
-						<p><i class="fa fa-quote-left"></i><a href="{ CONFIG.url + '/' + notification.post.user.username }" data-user-preview="{ notification.post.user_id }">{ notification.post.user.name }</a></p><a class="post-preview" href="{ CONFIG.url + '/' + notification.post.user.username + '/' + notification.post.id }">{ getPostSummary(notification.post) }</a>
+						<p><i class="fa fa-quote-left"></i><a href={ CONFIG.url + '/' + notification.post.user.username } data-user-preview={ notification.post.user_id }>{ notification.post.user.name }</a></p><a class="post-preview" href={ CONFIG.url + '/' + notification.post.user.username + '/' + notification.post.id }>{ getPostSummary(notification.post) }</a>
 					</div>
 				</div>
-				<div class="main" if="{ notification.type == 'follow' }"><a class="avatar-anchor" href="{ CONFIG.url + '/' + notification.user.username }" data-user-preview="{ notification.user.id }"><img class="avatar" src="{ notification.user.avatar_url + '?thumbnail&amp;size=48' }" alt="avatar"/></a>
+				<div class="main" if={ notification.type == 'follow' }><a class="avatar-anchor" href={ CONFIG.url + '/' + notification.user.username } data-user-preview={ notification.user.id }><img class="avatar" src={ notification.user.avatar_url + '?thumbnail&amp;size=48' } alt="avatar"/></a>
 					<div class="text">
-						<p><i class="fa fa-user-plus"></i><a href="{ CONFIG.url + '/' + notification.user.username }" data-user-preview="{ notification.user.id }">{ notification.user.name }</a></p>
+						<p><i class="fa fa-user-plus"></i><a href={ CONFIG.url + '/' + notification.user.username } data-user-preview={ notification.user.id }>{ notification.user.name }</a></p>
 					</div>
 				</div>
-				<div class="main" if="{ notification.type == 'reply' }"><a class="avatar-anchor" href="{ CONFIG.url + '/' + notification.post.user.username }" data-user-preview="{ notification.post.user_id }"><img class="avatar" src="{ notification.post.user.avatar_url + '?thumbnail&amp;size=48' }" alt="avatar"/></a>
+				<div class="main" if={ notification.type == 'reply' }><a class="avatar-anchor" href={ CONFIG.url + '/' + notification.post.user.username } data-user-preview={ notification.post.user_id }><img class="avatar" src={ notification.post.user.avatar_url + '?thumbnail&amp;size=48' } alt="avatar"/></a>
 					<div class="text">
-						<p><i class="fa fa-reply"></i><a href="{ CONFIG.url + '/' + notification.post.user.username }" data-user-preview="{ notification.post.user_id }">{ notification.post.user.name }</a></p><a class="post-preview" href="{ CONFIG.url + '/' + notification.post.user.username + '/' + notification.post.id }">{ getPostSummary(notification.post) }</a>
+						<p><i class="fa fa-reply"></i><a href={ CONFIG.url + '/' + notification.post.user.username } data-user-preview={ notification.post.user_id }>{ notification.post.user.name }</a></p><a class="post-preview" href={ CONFIG.url + '/' + notification.post.user.username + '/' + notification.post.id }>{ getPostSummary(notification.post) }</a>
 					</div>
 				</div>
-				<div class="main" if="{ notification.type == 'mention' }"><a class="avatar-anchor" href="{ CONFIG.url + '/' + notification.post.user.username }" data-user-preview="{ notification.post.user_id }"><img class="avatar" src="{ notification.post.user.avatar_url + '?thumbnail&amp;size=48' }" alt="avatar"/></a>
+				<div class="main" if={ notification.type == 'mention' }><a class="avatar-anchor" href={ CONFIG.url + '/' + notification.post.user.username } data-user-preview={ notification.post.user_id }><img class="avatar" src={ notification.post.user.avatar_url + '?thumbnail&amp;size=48' } alt="avatar"/></a>
 					<div class="text">
-						<p><i class="fa fa-at"></i><a href="{ CONFIG.url + '/' + notification.post.user.username }" data-user-preview="{ notification.post.user_id }">{ notification.post.user.name }</a></p><a class="post-preview" href="{ CONFIG.url + '/' + notification.post.user.username + '/' + notification.post.id }">{ getPostSummary(notification.post) }</a>
+						<p><i class="fa fa-at"></i><a href={ CONFIG.url + '/' + notification.post.user.username } data-user-preview={ notification.post.user_id }>{ notification.post.user.name }</a></p><a class="post-preview" href={ CONFIG.url + '/' + notification.post.user.username + '/' + notification.post.id }>{ getPostSummary(notification.post) }</a>
 					</div>
 				</div>
 			</div>
-			<p class="date" if="{ i != notifications.length - 1 &amp;&amp; notification._date != notifications[i + 1]._date }"><span><i class="fa fa-angle-up"></i>{ notification._datetext }</span><span><i class="fa fa-angle-down"></i>{ notifications[i + 1]._datetext }</span></p>
+			<p class="date" if={ i != notifications.length - 1 &amp;&amp; notification._date != notifications[i + 1]._date }><span><i class="fa fa-angle-up"></i>{ notification._datetext }</span><span><i class="fa fa-angle-down"></i>{ notifications[i + 1]._datetext }</span></p>
 		</virtual>
 	</div>
-	<p class="empty" if="{ notifications.length == 0 &amp;&amp; !loading }">ありません!</p>
-	<p class="loading" if="{ loading }"><i class="fa fa-spinner fa-pulse fa-fw"></i>読み込んでいます
+	<p class="empty" if={ notifications.length == 0 &amp;&amp; !loading }>ありません!</p>
+	<p class="loading" if={ loading }><i class="fa fa-spinner fa-pulse fa-fw"></i>読み込んでいます
 		<mk-ellipsis></mk-ellipsis>
 	</p>
 	<style type="stylus">
diff --git a/src/web/app/desktop/tags/pages/entrance.tag b/src/web/app/desktop/tags/pages/entrance.tag
index 4e1c5277a3..f31e981c20 100644
--- a/src/web/app/desktop/tags/pages/entrance.tag
+++ b/src/web/app/desktop/tags/pages/entrance.tag
@@ -1,10 +1,10 @@
 <mk-entrance>
 	<main><img src="/_/resources/title.svg" alt="Misskey"/>
-		<mk-entrance-signin if="{ mode == 'signin' }"></mk-entrance-signin>
-		<mk-entrance-signup if="{ mode == 'signup' }"></mk-entrance-signup>
-		<div class="introduction" if="{ mode == 'introduction' }">
+		<mk-entrance-signin if={ mode == 'signin' }></mk-entrance-signin>
+		<mk-entrance-signup if={ mode == 'signup' }></mk-entrance-signup>
+		<div class="introduction" if={ mode == 'introduction' }>
 			<mk-introduction></mk-introduction>
-			<button onclick="{ signin }">わかった</button>
+			<button onclick={ signin }>わかった</button>
 		</div>
 	</main>
 	<mk-forkit></mk-forkit>
diff --git a/src/web/app/desktop/tags/pages/entrance/signin.tag b/src/web/app/desktop/tags/pages/entrance/signin.tag
index 26bdb6898a..c911a4d1d9 100644
--- a/src/web/app/desktop/tags/pages/entrance/signin.tag
+++ b/src/web/app/desktop/tags/pages/entrance/signin.tag
@@ -1,12 +1,12 @@
-<mk-entrance-signin><a class="help" href="{ CONFIG.urls.about + '/help' }" title="お困りですか?"><i class="fa fa-question"></i></a>
+<mk-entrance-signin><a class="help" href={ CONFIG.urls.about + '/help' } title="お困りですか?"><i class="fa fa-question"></i></a>
 	<div class="form">
-		<h1><img if="{ user }" src="{ user.avatar_url + '?thumbnail&amp;size=32' }"/>
+		<h1><img if={ user } src={ user.avatar_url + '?thumbnail&amp;size=32' }/>
 			<p>{ user ? user.name : 'アカウント' }</p>
 		</h1>
 		<mk-signin ref="signin"></mk-signin>
 	</div>
 	<div class="divider"><span>or</span></div>
-	<button class="signup" onclick="{ parent.signup }">新規登録</button><a class="introduction" onclick="{ introduction }">Misskeyについて</a>
+	<button class="signup" onclick={ parent.signup }>新規登録</button><a class="introduction" onclick={ introduction }>Misskeyについて</a>
 	<style type="stylus">
 		:scope
 			display block
diff --git a/src/web/app/desktop/tags/pages/entrance/signup.tag b/src/web/app/desktop/tags/pages/entrance/signup.tag
index 2452b7d793..7be12005c4 100644
--- a/src/web/app/desktop/tags/pages/entrance/signup.tag
+++ b/src/web/app/desktop/tags/pages/entrance/signup.tag
@@ -1,6 +1,6 @@
 <mk-entrance-signup>
 	<mk-signup></mk-signup>
-	<button class="cancel" type="button" onclick="{ parent.signin }" title="キャンセル"><i class="fa fa-times"></i></button>
+	<button class="cancel" type="button" onclick={ parent.signin } title="キャンセル"><i class="fa fa-times"></i></button>
 	<style type="stylus">
 		:scope
 			display block
diff --git a/src/web/app/desktop/tags/pages/home.tag b/src/web/app/desktop/tags/pages/home.tag
index 3a0e713d30..5c7ee3342b 100644
--- a/src/web/app/desktop/tags/pages/home.tag
+++ b/src/web/app/desktop/tags/pages/home.tag
@@ -1,6 +1,6 @@
 <mk-home-page>
-	<mk-ui ref="ui" page="{ page }">
-		<mk-home ref="home" mode="{ parent.opts.mode }"></mk-home>
+	<mk-ui ref="ui" page={ page }>
+		<mk-home ref="home" mode={ parent.opts.mode }></mk-home>
 	</mk-ui>
 	<style type="stylus">
 		:scope
diff --git a/src/web/app/desktop/tags/pages/post.tag b/src/web/app/desktop/tags/pages/post.tag
index f355770d38..85bb3b3bf5 100644
--- a/src/web/app/desktop/tags/pages/post.tag
+++ b/src/web/app/desktop/tags/pages/post.tag
@@ -1,7 +1,7 @@
 <mk-post-page>
 	<mk-ui ref="ui">
 		<main>
-			<mk-post-detail ref="detail" post="{ parent.post }"></mk-post-detail>
+			<mk-post-detail ref="detail" post={ parent.post }></mk-post-detail>
 		</main>
 	</mk-ui>
 	<style type="stylus">
diff --git a/src/web/app/desktop/tags/pages/search.tag b/src/web/app/desktop/tags/pages/search.tag
index a3b3bafd99..e6e0c02d39 100644
--- a/src/web/app/desktop/tags/pages/search.tag
+++ b/src/web/app/desktop/tags/pages/search.tag
@@ -1,6 +1,6 @@
 <mk-search-page>
 	<mk-ui ref="ui">
-		<mk-search ref="search" query="{ parent.opts.query }"></mk-search>
+		<mk-search ref="search" query={ parent.opts.query }></mk-search>
 	</mk-ui>
 	<style type="stylus">
 		:scope
diff --git a/src/web/app/desktop/tags/pages/user.tag b/src/web/app/desktop/tags/pages/user.tag
index d6587e8132..ad092bac73 100644
--- a/src/web/app/desktop/tags/pages/user.tag
+++ b/src/web/app/desktop/tags/pages/user.tag
@@ -1,6 +1,6 @@
 <mk-user-page>
 	<mk-ui ref="ui">
-		<mk-user ref="user" user="{ parent.user }" page="{ parent.opts.page }"></mk-user>
+		<mk-user ref="user" user={ parent.user } page={ parent.opts.page }></mk-user>
 	</mk-ui>
 	<style type="stylus">
 		:scope
diff --git a/src/web/app/desktop/tags/post-detail-sub.tag b/src/web/app/desktop/tags/post-detail-sub.tag
index 8b6411c12a..ff5094aa2e 100644
--- a/src/web/app/desktop/tags/post-detail-sub.tag
+++ b/src/web/app/desktop/tags/post-detail-sub.tag
@@ -1,14 +1,14 @@
-<mk-post-detail-sub title="{ title }"><a class="avatar-anchor" href="{ CONFIG.url + '/' + post.user.username }"><img class="avatar" src="{ post.user.avatar_url + '?thumbnail&amp;size=64' }" alt="avatar" data-user-preview="{ post.user_id }"/></a>
+<mk-post-detail-sub title={ title }><a class="avatar-anchor" href={ CONFIG.url + '/' + post.user.username }><img class="avatar" src={ post.user.avatar_url + '?thumbnail&amp;size=64' } alt="avatar" data-user-preview={ post.user_id }/></a>
 	<div class="main">
 		<header>
-			<div class="left"><a class="name" href="{ CONFIG.url + '/' + post.user.username }" data-user-preview="{ post.user_id }">{ post.user.name }</a><span class="username">@{ post.user.username }</span></div>
-			<div class="right"><a class="time" href="{ url }">
-					<mk-time time="{ post.created_at }"></mk-time></a></div>
+			<div class="left"><a class="name" href={ CONFIG.url + '/' + post.user.username } data-user-preview={ post.user_id }>{ post.user.name }</a><span class="username">@{ post.user.username }</span></div>
+			<div class="right"><a class="time" href={ url }>
+					<mk-time time={ post.created_at }></mk-time></a></div>
 		</header>
 		<div class="body">
 			<div class="text" ref="text"></div>
-			<div class="media" if="{ post.media }">
-				<virtual each="{ file in post.media }"><img src="{ file.url + '?thumbnail&amp;size=512' }" alt="{ file.name }" title="{ file.name }"/></virtual>
+			<div class="media" if={ post.media }>
+				<virtual each={ file in post.media }><img src={ file.url + '?thumbnail&amp;size=512' } alt={ file.name } title={ file.name }/></virtual>
 			</div>
 		</div>
 	</div>
diff --git a/src/web/app/desktop/tags/post-detail.tag b/src/web/app/desktop/tags/post-detail.tag
index c395a44328..cb3d276cfe 100644
--- a/src/web/app/desktop/tags/post-detail.tag
+++ b/src/web/app/desktop/tags/post-detail.tag
@@ -1,63 +1,63 @@
-<mk-post-detail title="{ title }">
-	<div class="fetching" if="{ fetching }">
+<mk-post-detail title={ title }>
+	<div class="fetching" if={ fetching }>
 		<mk-ellipsis-icon></mk-ellipsis-icon>
 	</div>
-	<div class="main" if="{ !fetching }">
-		<button class="read-more" if="{ p.reply_to &amp;&amp; p.reply_to.reply_to_id &amp;&amp; context == null }" title="会話をもっと読み込む" onclick="{ loadContext }" disabled="{ loadingContext }"><i class="fa fa-ellipsis-v" if="{ !loadingContext }"></i><i class="fa fa-spinner fa-pulse" if="{ loadingContext }"></i></button>
+	<div class="main" if={ !fetching }>
+		<button class="read-more" if={ p.reply_to &amp;&amp; p.reply_to.reply_to_id &amp;&amp; context == null } title="会話をもっと読み込む" onclick={ loadContext } disabled={ loadingContext }><i class="fa fa-ellipsis-v" if={ !loadingContext }></i><i class="fa fa-spinner fa-pulse" if={ loadingContext }></i></button>
 		<div class="context">
-			<virtual each="{ post in context }">
-				<mk-post-detail-sub post="{ post }"></mk-post-detail-sub>
+			<virtual each={ post in context }>
+				<mk-post-detail-sub post={ post }></mk-post-detail-sub>
 			</virtual>
 		</div>
-		<div class="reply-to" if="{ p.reply_to }">
-			<mk-post-detail-sub post="{ p.reply_to }"></mk-post-detail-sub>
+		<div class="reply-to" if={ p.reply_to }>
+			<mk-post-detail-sub post={ p.reply_to }></mk-post-detail-sub>
 		</div>
-		<div class="repost" if="{ isRepost }">
-			<p><a class="avatar-anchor" href="{ CONFIG.url + '/' + post.user.username }" data-user-preview="{ post.user_id }"><img class="avatar" src="{ post.user.avatar_url + '?thumbnail&amp;size=32' }" alt="avatar"/></a><i class="fa fa-retweet"></i><a class="name" href="{ CONFIG.url + '/' + post.user.username }">{ post.user.name }</a>がRepost</p>
+		<div class="repost" if={ isRepost }>
+			<p><a class="avatar-anchor" href={ CONFIG.url + '/' + post.user.username } data-user-preview={ post.user_id }><img class="avatar" src={ post.user.avatar_url + '?thumbnail&amp;size=32' } alt="avatar"/></a><i class="fa fa-retweet"></i><a class="name" href={ CONFIG.url + '/' + post.user.username }>{ post.user.name }</a>がRepost</p>
 		</div>
-		<article><a class="avatar-anchor" href="{ CONFIG.url + '/' + p.user.username }"><img class="avatar" src="{ p.user.avatar_url + '?thumbnail&amp;size=64' }" alt="avatar" data-user-preview="{ p.user.id }"/></a>
-			<header><a class="name" href="{ CONFIG.url + '/' + p.user.username }" data-user-preview="{ p.user.id }">{ p.user.name }</a><span class="username">@{ p.user.username }</span><a class="time" href="{ url }">
-					<mk-time time="{ p.created_at }"></mk-time></a></header>
+		<article><a class="avatar-anchor" href={ CONFIG.url + '/' + p.user.username }><img class="avatar" src={ p.user.avatar_url + '?thumbnail&amp;size=64' } alt="avatar" data-user-preview={ p.user.id }/></a>
+			<header><a class="name" href={ CONFIG.url + '/' + p.user.username } data-user-preview={ p.user.id }>{ p.user.name }</a><span class="username">@{ p.user.username }</span><a class="time" href={ url }>
+					<mk-time time={ p.created_at }></mk-time></a></header>
 			<div class="body">
 				<div class="text" ref="text"></div>
-				<div class="media" if="{ p.media }">
-					<virtual each="{ file in p.media }"><img src="{ file.url + '?thumbnail&amp;size=512' }" alt="{ file.name }" title="{ file.name }"/></virtual>
+				<div class="media" if={ p.media }>
+					<virtual each={ file in p.media }><img src={ file.url + '?thumbnail&amp;size=512' } alt={ file.name } title={ file.name }/></virtual>
 				</div>
 			</div>
 			<footer>
-				<button onclick="{ reply }" title="返信"><i class="fa fa-reply"></i>
-					<p class="count" if="{ p.replies_count &gt; 0 }">{ p.replies_count }</p>
+				<button onclick={ reply } title="返信"><i class="fa fa-reply"></i>
+					<p class="count" if={ p.replies_count &gt; 0 }>{ p.replies_count }</p>
 				</button>
-				<button onclick="{ repost }" title="Repost"><i class="fa fa-retweet"></i>
-					<p class="count" if="{ p.repost_count &gt; 0 }">{ p.repost_count }</p>
+				<button onclick={ repost } title="Repost"><i class="fa fa-retweet"></i>
+					<p class="count" if={ p.repost_count &gt; 0 }>{ p.repost_count }</p>
 				</button>
-				<button class="{ liked: p.is_liked }" onclick="{ like }" title="善哉"><i class="fa fa-thumbs-o-up"></i>
-					<p class="count" if="{ p.likes_count &gt; 0 }">{ p.likes_count }</p>
+				<button class={ liked: p.is_liked } onclick={ like } title="善哉"><i class="fa fa-thumbs-o-up"></i>
+					<p class="count" if={ p.likes_count &gt; 0 }>{ p.likes_count }</p>
 				</button>
-				<button onclick="{ NotImplementedException }"><i class="fa fa-ellipsis-h"></i></button>
+				<button onclick={ NotImplementedException }><i class="fa fa-ellipsis-h"></i></button>
 			</footer>
 			<div class="reposts-and-likes">
-				<div class="reposts" if="{ reposts &amp;&amp; reposts.length &gt; 0 }">
+				<div class="reposts" if={ reposts &amp;&amp; reposts.length &gt; 0 }>
 					<header><a>{ p.repost_count }</a>
 						<p>Repost</p>
 					</header>
 					<ol class="users">
-						<li class="user" each="{ reposts }"><a class="avatar-anchor" href="{ CONFIG.url + '/' + user.username }" title="{ user.name }" data-user-preview="{ user.id }"><img class="avatar" src="{ user.avatar_url + '?thumbnail&amp;size=32' }" alt=""/></a></li>
+						<li class="user" each={ reposts }><a class="avatar-anchor" href={ CONFIG.url + '/' + user.username } title={ user.name } data-user-preview={ user.id }><img class="avatar" src={ user.avatar_url + '?thumbnail&amp;size=32' } alt=""/></a></li>
 					</ol>
 				</div>
-				<div class="likes" if="{ likes &amp;&amp; likes.length &gt; 0 }">
+				<div class="likes" if={ likes &amp;&amp; likes.length &gt; 0 }>
 					<header><a>{ p.likes_count }</a>
 						<p>いいね</p>
 					</header>
 					<ol class="users">
-						<li class="user" each="{ likes }"><a class="avatar-anchor" href="{ CONFIG.url + '/' + username }" title="{ name }" data-user-preview="{ id }"><img class="avatar" src="{ avatar_url + '?thumbnail&amp;size=32' }" alt=""/></a></li>
+						<li class="user" each={ likes }><a class="avatar-anchor" href={ CONFIG.url + '/' + username } title={ name } data-user-preview={ id }><img class="avatar" src={ avatar_url + '?thumbnail&amp;size=32' } alt=""/></a></li>
 					</ol>
 				</div>
 			</div>
 		</article>
 		<div class="replies">
-			<virtual each="{ post in replies }">
-				<mk-post-detail-sub post="{ post }"></mk-post-detail-sub>
+			<virtual each={ post in replies }>
+				<mk-post-detail-sub post={ post }></mk-post-detail-sub>
 			</virtual>
 		</div>
 	</div>
diff --git a/src/web/app/desktop/tags/post-form-window.tag b/src/web/app/desktop/tags/post-form-window.tag
index 753dea1adb..81559cedd0 100644
--- a/src/web/app/desktop/tags/post-form-window.tag
+++ b/src/web/app/desktop/tags/post-form-window.tag
@@ -1,12 +1,12 @@
 <mk-post-form-window>
-	<mk-window ref="window" is-modal="{ true }" colored="{ true }"><yield to="header"><span if="{ !parent.opts.reply }">新規投稿</span><span if="{ parent.opts.reply }">返信</span><span class="files" if="{ parent.files.length != 0 }">添付: { parent.files.length }ファイル</span><span class="uploading-files" if="{ parent.uploadingFiles.length != 0 }">{ parent.uploadingFiles.length }個のファイルをアップロード中
+	<mk-window ref="window" is-modal={ true } colored={ true }><yield to="header"><span if={ !parent.opts.reply }>新規投稿</span><span if={ parent.opts.reply }>返信</span><span class="files" if={ parent.files.length != 0 }>添付: { parent.files.length }ファイル</span><span class="uploading-files" if={ parent.uploadingFiles.length != 0 }>{ parent.uploadingFiles.length }個のファイルをアップロード中
 			<mk-ellipsis></mk-ellipsis></span></yield>
 <yield to="content">
-		<div class="ref" if="{ parent.opts.reply }">
-			<mk-post-preview post="{ parent.opts.reply }"></mk-post-preview>
+		<div class="ref" if={ parent.opts.reply }>
+			<mk-post-preview post={ parent.opts.reply }></mk-post-preview>
 		</div>
 		<div class="body">
-			<mk-post-form ref="form" reply="{ parent.opts.reply }"></mk-post-form>
+			<mk-post-form ref="form" reply={ parent.opts.reply }></mk-post-form>
 		</div></yield>
 	</mk-window>
 	<style type="stylus">
diff --git a/src/web/app/desktop/tags/post-form.tag b/src/web/app/desktop/tags/post-form.tag
index 3950d6cb07..082a211a62 100644
--- a/src/web/app/desktop/tags/post-form.tag
+++ b/src/web/app/desktop/tags/post-form.tag
@@ -1,23 +1,23 @@
-<mk-post-form ondragover="{ ondragover }" ondragenter="{ ondragenter }" ondragleave="{ ondragleave }" ondrop="{ ondrop }">
-	<textarea class="{ withfiles: files.length != 0 }" ref="text" disabled="{ wait }" oninput="{ update }" onkeydown="{ onkeydown }" onpaste="{ onpaste }" placeholder="{ opts.reply ? 'この投稿への返信...' : 'いまどうしてる?' }"></textarea>
-	<div class="attaches" if="{ files.length != 0 }">
+<mk-post-form ondragover={ ondragover } ondragenter={ ondragenter } ondragleave={ ondragleave } ondrop={ ondrop }>
+	<textarea class={ withfiles: files.length != 0 } ref="text" disabled={ wait } oninput={ update } onkeydown={ onkeydown } onpaste={ onpaste } placeholder={ opts.reply ? 'この投稿への返信...' : 'いまどうしてる?' }></textarea>
+	<div class="attaches" if={ files.length != 0 }>
 		<ul class="files" ref="attaches">
-			<li class="file" each="{ files }">
-				<div class="img" style="background-image: url({ url + &quot;?thumbnail&amp;size=64&quot; })" title="{ name }"></div><img class="remove" onclick="{ _remove }" src="/_/resources/desktop/remove.png" title="添付取り消し" alt=""/>
+			<li class="file" each={ files }>
+				<div class="img" style="background-image: url({ url + &quot;?thumbnail&amp;size=64&quot; })" title={ name }></div><img class="remove" onclick={ _remove } src="/_/resources/desktop/remove.png" title="添付取り消し" alt=""/>
 			</li>
-			<li class="add" if="{ files.length &lt; 4 }" title="PCからファイルを添付" onclick="{ selectFile }"><i class="fa fa-plus"></i></li>
+			<li class="add" if={ files.length &lt; 4 } title="PCからファイルを添付" onclick={ selectFile }><i class="fa fa-plus"></i></li>
 		</ul>
 		<p class="remain">残り{ 4 - files.length }</p>
 	</div>
 	<mk-uploader ref="uploader"></mk-uploader>
-	<button ref="upload" title="PCからファイルを添付" onclick="{ selectFile }"><i class="fa fa-upload"></i></button>
-	<button ref="drive" title="ドライブからファイルを添付" onclick="{ selectFileFromDrive }"><i class="fa fa-cloud"></i></button>
+	<button ref="upload" title="PCからファイルを添付" onclick={ selectFile }><i class="fa fa-upload"></i></button>
+	<button ref="drive" title="ドライブからファイルを添付" onclick={ selectFileFromDrive }><i class="fa fa-cloud"></i></button>
 	<p class="text-count { over: refs.text.value.length &gt; 300 }">のこり{ 300 - refs.text.value.length }文字</p>
-	<button class="{ wait: wait }" ref="submit" disabled="{ wait || (refs.text.value.length == 0 &amp;&amp; files.length == 0) }" onclick="{ post }">{ wait ? '投稿中' : opts.reply ? '返信' : '投稿' }
-		<mk-ellipsis if="{ wait }"></mk-ellipsis>
+	<button class={ wait: wait } ref="submit" disabled={ wait || (refs.text.value.length == 0 &amp;&amp; files.length == 0) } onclick={ post }>{ wait ? '投稿中' : opts.reply ? '返信' : '投稿' }
+		<mk-ellipsis if={ wait }></mk-ellipsis>
 	</button>
-	<input ref="file" type="file" accept="image/*" multiple="multiple" tabindex="-1" onchange="{ changeFile }"/>
-	<div class="dropzone" if="{ draghover }"></div>
+	<input ref="file" type="file" accept="image/*" multiple="multiple" tabindex="-1" onchange={ changeFile }/>
+	<div class="dropzone" if={ draghover }></div>
 	<style type="stylus">
 		:scope
 			display block
diff --git a/src/web/app/desktop/tags/post-preview.tag b/src/web/app/desktop/tags/post-preview.tag
index 4035261782..06a7b24186 100644
--- a/src/web/app/desktop/tags/post-preview.tag
+++ b/src/web/app/desktop/tags/post-preview.tag
@@ -1,10 +1,10 @@
-<mk-post-preview title="{ title }">
-	<article><a class="avatar-anchor" href="{ CONFIG.url + '/' + post.user.username }"><img class="avatar" src="{ post.user.avatar_url + '?thumbnail&amp;size=64' }" alt="avatar" data-user-preview="{ post.user_id }"/></a>
+<mk-post-preview title={ title }>
+	<article><a class="avatar-anchor" href={ CONFIG.url + '/' + post.user.username }><img class="avatar" src={ post.user.avatar_url + '?thumbnail&amp;size=64' } alt="avatar" data-user-preview={ post.user_id }/></a>
 		<div class="main">
-			<header><a class="name" href="{ CONFIG.url + '/' + post.user.username }" data-user-preview="{ post.user_id }">{ post.user.name }</a><span class="username">@{ post.user.username }</span><a class="time" href="{ CONFIG.url + '/' + post.user.username + '/' + post.id }">
-					<mk-time time="{ post.created_at }"></mk-time></a></header>
+			<header><a class="name" href={ CONFIG.url + '/' + post.user.username } data-user-preview={ post.user_id }>{ post.user.name }</a><span class="username">@{ post.user.username }</span><a class="time" href={ CONFIG.url + '/' + post.user.username + '/' + post.id }>
+					<mk-time time={ post.created_at }></mk-time></a></header>
 			<div class="body">
-				<mk-sub-post-content class="text" post="{ post }"></mk-sub-post-content>
+				<mk-sub-post-content class="text" post={ post }></mk-sub-post-content>
 			</div>
 		</div>
 	</article>
diff --git a/src/web/app/desktop/tags/post-status-graph.tag b/src/web/app/desktop/tags/post-status-graph.tag
index c6cdb53b47..0c38f1fddc 100644
--- a/src/web/app/desktop/tags/post-status-graph.tag
+++ b/src/web/app/desktop/tags/post-status-graph.tag
@@ -1,5 +1,5 @@
 <mk-post-status-graph>
-	<canvas ref="canv" width="{ opts.width }" height="{ opts.height }"></canvas>
+	<canvas ref="canv" width={ opts.width } height={ opts.height }></canvas>
 	<style type="stylus">
 		:scope
 			display block
diff --git a/src/web/app/desktop/tags/progress-dialog.tag b/src/web/app/desktop/tags/progress-dialog.tag
index 48b04d3442..ca2cc8cca0 100644
--- a/src/web/app/desktop/tags/progress-dialog.tag
+++ b/src/web/app/desktop/tags/progress-dialog.tag
@@ -1,15 +1,15 @@
 <mk-progress-dialog>
-	<mk-window ref="window" is-modal="{ false }" can-close="{ false }" width="{ '500px' }">
+	<mk-window ref="window" is-modal={ false } can-close={ false } width={ '500px' }>
 		<yield to="header">{ parent.title }
 		<mk-ellipsis></mk-ellipsis></yield>
 <yield to="content">
 		<div class="body">
-			<p class="init" if="{ isNaN(parent.value) }">待機中
+			<p class="init" if={ isNaN(parent.value) }>待機中
 				<mk-ellipsis></mk-ellipsis>
 			</p>
-			<p class="percentage" if="{ !isNaN(parent.value) }">{ Math.floor((parent.value / parent.max) * 100) }</p>
-			<progress if="{ !isNaN(parent.value) &amp;&amp; parent.value &lt; parent.max }" value="{ isNaN(parent.value) ? 0 : parent.value }" max="{ parent.max }"></progress>
-			<div class="progress waiting" if="{ parent.value &gt;= parent.max }"></div>
+			<p class="percentage" if={ !isNaN(parent.value) }>{ Math.floor((parent.value / parent.max) * 100) }</p>
+			<progress if={ !isNaN(parent.value) &amp;&amp; parent.value &lt; parent.max } value={ isNaN(parent.value) ? 0 : parent.value } max={ parent.max }></progress>
+			<div class="progress waiting" if={ parent.value &gt;= parent.max }></div>
 		</div></yield>
 	</mk-window>
 	<style type="stylus">
diff --git a/src/web/app/desktop/tags/repost-form-window.tag b/src/web/app/desktop/tags/repost-form-window.tag
index a1008b475b..80b4c0d698 100644
--- a/src/web/app/desktop/tags/repost-form-window.tag
+++ b/src/web/app/desktop/tags/repost-form-window.tag
@@ -1,7 +1,7 @@
 <mk-repost-form-window>
-	<mk-window ref="window" is-modal="{ true }" colored="{ true }"><yield to="header"><i class="fa fa-retweet"></i>この投稿をRepostしますか?</yield>
+	<mk-window ref="window" is-modal={ true } colored={ true }><yield to="header"><i class="fa fa-retweet"></i>この投稿をRepostしますか?</yield>
 <yield to="content">
-		<mk-repost-form ref="form" post="{ parent.opts.post }"></mk-repost-form></yield>
+		<mk-repost-form ref="form" post={ parent.opts.post }></mk-repost-form></yield>
 	</mk-window>
 	<style type="stylus">
 		:scope
diff --git a/src/web/app/desktop/tags/repost-form.tag b/src/web/app/desktop/tags/repost-form.tag
index 0352cffc1b..582046e37c 100644
--- a/src/web/app/desktop/tags/repost-form.tag
+++ b/src/web/app/desktop/tags/repost-form.tag
@@ -1,11 +1,11 @@
 <mk-repost-form>
-	<mk-post-preview post="{ opts.post }"></mk-post-preview>
-	<div class="form" if="{ quote }">
-		<textarea ref="text" disabled="{ wait }" placeholder="この投稿を引用..."></textarea>
+	<mk-post-preview post={ opts.post }></mk-post-preview>
+	<div class="form" if={ quote }>
+		<textarea ref="text" disabled={ wait } placeholder="この投稿を引用..."></textarea>
 	</div>
-	<footer><a class="quote" if="{ !quote }" onclick="{ onquote }">引用する...</a>
-		<button class="cancel" onclick="{ cancel }">キャンセル</button>
-		<button class="ok" onclick="{ ok }">Repost</button>
+	<footer><a class="quote" if={ !quote } onclick={ onquote }>引用する...</a>
+		<button class="cancel" onclick={ cancel }>キャンセル</button>
+		<button class="ok" onclick={ ok }>Repost</button>
 	</footer>
 	<style type="stylus">
 		:scope
diff --git a/src/web/app/desktop/tags/search-posts.tag b/src/web/app/desktop/tags/search-posts.tag
index 2d999e84ca..b9f4bdb33d 100644
--- a/src/web/app/desktop/tags/search-posts.tag
+++ b/src/web/app/desktop/tags/search-posts.tag
@@ -1,9 +1,9 @@
 <mk-search-posts>
-	<div class="loading" if="{ isLoading }">
+	<div class="loading" if={ isLoading }>
 		<mk-ellipsis-icon></mk-ellipsis-icon>
 	</div>
-	<p class="empty" if="{ isEmpty }"><i class="fa fa-search"></i>「{ query }」に関する投稿は見つかりませんでした。</p>
-	<mk-timeline ref="timeline"><yield to="footer"><i class="fa fa-moon-o" if="{ !parent.moreLoading }"></i><i class="fa fa-spinner fa-pulse fa-fw" if="{ parent.moreLoading }"></i></yield></mk-timeline>
+	<p class="empty" if={ isEmpty }><i class="fa fa-search"></i>「{ query }」に関する投稿は見つかりませんでした。</p>
+	<mk-timeline ref="timeline"><yield to="footer"><i class="fa fa-moon-o" if={ !parent.moreLoading }></i><i class="fa fa-spinner fa-pulse fa-fw" if={ parent.moreLoading }></i></yield></mk-timeline>
 	<style type="stylus">
 		:scope
 			display block
diff --git a/src/web/app/desktop/tags/search.tag b/src/web/app/desktop/tags/search.tag
index 1a9703016d..53039ea818 100644
--- a/src/web/app/desktop/tags/search.tag
+++ b/src/web/app/desktop/tags/search.tag
@@ -2,7 +2,7 @@
 	<header>
 		<h1>{ query }</h1>
 	</header>
-	<mk-search-posts ref="posts" query="{ query }"></mk-search-posts>
+	<mk-search-posts ref="posts" query={ query }></mk-search-posts>
 	<style type="stylus">
 		:scope
 			display block
diff --git a/src/web/app/desktop/tags/select-file-from-drive-window.tag b/src/web/app/desktop/tags/select-file-from-drive-window.tag
index 3293abb220..5dd601ea20 100644
--- a/src/web/app/desktop/tags/select-file-from-drive-window.tag
+++ b/src/web/app/desktop/tags/select-file-from-drive-window.tag
@@ -1,12 +1,12 @@
 <mk-select-file-from-drive-window>
-	<mk-window ref="window" is-modal="{ true }" width="{ '800px' }" height="{ '500px' }"><yield to="header">
-		<mk-raw content="{ parent.title }"></mk-raw><span class="count" if="{ parent.multiple &amp;&amp; parent.file.length &gt; 0 }">({ parent.file.length }ファイル選択中)</span></yield>
+	<mk-window ref="window" is-modal={ true } width={ '800px' } height={ '500px' }><yield to="header">
+		<mk-raw content={ parent.title }></mk-raw><span class="count" if={ parent.multiple &amp;&amp; parent.file.length &gt; 0 }>({ parent.file.length }ファイル選択中)</span></yield>
 <yield to="content">
-		<mk-drive-browser ref="browser" multiple="{ parent.multiple }"></mk-drive-browser>
+		<mk-drive-browser ref="browser" multiple={ parent.multiple }></mk-drive-browser>
 		<div>
-			<button class="upload" title="PCからドライブにファイルをアップロード" onclick="{ parent.upload }"><i class="fa fa-upload"></i></button>
-			<button class="cancel" onclick="{ parent.close }">キャンセル</button>
-			<button class="ok" disabled="{ parent.multiple &amp;&amp; parent.file.length == 0 }" onclick="{ parent.ok }">決定</button>
+			<button class="upload" title="PCからドライブにファイルをアップロード" onclick={ parent.upload }><i class="fa fa-upload"></i></button>
+			<button class="cancel" onclick={ parent.close }>キャンセル</button>
+			<button class="ok" disabled={ parent.multiple &amp;&amp; parent.file.length == 0 } onclick={ parent.ok }>決定</button>
 		</div></yield>
 	</mk-window>
 	<style type="stylus">
diff --git a/src/web/app/desktop/tags/set-avatar-suggestion.tag b/src/web/app/desktop/tags/set-avatar-suggestion.tag
index a8fc2a69ee..74462f9e9d 100644
--- a/src/web/app/desktop/tags/set-avatar-suggestion.tag
+++ b/src/web/app/desktop/tags/set-avatar-suggestion.tag
@@ -1,6 +1,6 @@
-<mk-set-avatar-suggestion onclick="{ set }">
+<mk-set-avatar-suggestion onclick={ set }>
 	<p><b>アバターを設定</b>してみませんか?
-		<button onclick="{ close }"><i class="fa fa-times"></i></button>
+		<button onclick={ close }><i class="fa fa-times"></i></button>
 	</p>
 	<style type="stylus">
 		:scope
diff --git a/src/web/app/desktop/tags/set-banner-suggestion.tag b/src/web/app/desktop/tags/set-banner-suggestion.tag
index ab4bbda047..0b628e7610 100644
--- a/src/web/app/desktop/tags/set-banner-suggestion.tag
+++ b/src/web/app/desktop/tags/set-banner-suggestion.tag
@@ -1,6 +1,6 @@
-<mk-set-banner-suggestion onclick="{ set }">
+<mk-set-banner-suggestion onclick={ set }>
 	<p><b>バナーを設定</b>してみませんか?
-		<button onclick="{ close }"><i class="fa fa-times"></i></button>
+		<button onclick={ close }><i class="fa fa-times"></i></button>
 	</p>
 	<style type="stylus">
 		:scope
diff --git a/src/web/app/desktop/tags/settings-window.tag b/src/web/app/desktop/tags/settings-window.tag
index 6013f89673..e39d79bcb1 100644
--- a/src/web/app/desktop/tags/settings-window.tag
+++ b/src/web/app/desktop/tags/settings-window.tag
@@ -1,5 +1,5 @@
 <mk-settings-window>
-	<mk-window ref="window" is-modal="{ true }" width="{ '700px' }" height="{ '550px' }"><yield to="header"><i class="fa fa-cog"></i>設定</yield>
+	<mk-window ref="window" is-modal={ true } width={ '700px' } height={ '550px' }><yield to="header"><i class="fa fa-cog"></i>設定</yield>
 <yield to="content">
 		<mk-settings></mk-settings></yield>
 	</mk-window>
diff --git a/src/web/app/desktop/tags/settings.tag b/src/web/app/desktop/tags/settings.tag
index 7e7811df21..26ba0e1481 100644
--- a/src/web/app/desktop/tags/settings.tag
+++ b/src/web/app/desktop/tags/settings.tag
@@ -1,28 +1,28 @@
 <mk-settings>
 	<div class="nav">
-		<p class="{ active: page == 'account' }" onmousedown="{ setPage.bind(null, 'account') }"><i class="fa fa-fw fa-user"></i>アカウント</p>
-		<p class="{ active: page == 'web' }" onmousedown="{ setPage.bind(null, 'web') }"><i class="fa fa-fw fa-desktop"></i>Web</p>
-		<p class="{ active: page == 'notification' }" onmousedown="{ setPage.bind(null, 'notification') }"><i class="fa fa-fw fa-bell-o"></i>通知</p>
-		<p class="{ active: page == 'drive' }" onmousedown="{ setPage.bind(null, 'drive') }"><i class="fa fa-fw fa-cloud"></i>ドライブ</p>
-		<p class="{ active: page == 'apps' }" onmousedown="{ setPage.bind(null, 'apps') }"><i class="fa fa-fw fa-puzzle-piece"></i>アプリ</p>
-		<p class="{ active: page == 'signin' }" onmousedown="{ setPage.bind(null, 'signin') }"><i class="fa fa-fw fa-sign-in"></i>ログイン履歴</p>
-		<p class="{ active: page == 'password' }" onmousedown="{ setPage.bind(null, 'password') }"><i class="fa fa-fw fa-unlock-alt"></i>パスワード</p>
-		<p class="{ active: page == 'api' }" onmousedown="{ setPage.bind(null, 'api') }"><i class="fa fa-fw fa-key"></i>API</p>
+		<p class={ active: page == 'account' } onmousedown={ setPage.bind(null, 'account') }><i class="fa fa-fw fa-user"></i>アカウント</p>
+		<p class={ active: page == 'web' } onmousedown={ setPage.bind(null, 'web') }><i class="fa fa-fw fa-desktop"></i>Web</p>
+		<p class={ active: page == 'notification' } onmousedown={ setPage.bind(null, 'notification') }><i class="fa fa-fw fa-bell-o"></i>通知</p>
+		<p class={ active: page == 'drive' } onmousedown={ setPage.bind(null, 'drive') }><i class="fa fa-fw fa-cloud"></i>ドライブ</p>
+		<p class={ active: page == 'apps' } onmousedown={ setPage.bind(null, 'apps') }><i class="fa fa-fw fa-puzzle-piece"></i>アプリ</p>
+		<p class={ active: page == 'signin' } onmousedown={ setPage.bind(null, 'signin') }><i class="fa fa-fw fa-sign-in"></i>ログイン履歴</p>
+		<p class={ active: page == 'password' } onmousedown={ setPage.bind(null, 'password') }><i class="fa fa-fw fa-unlock-alt"></i>パスワード</p>
+		<p class={ active: page == 'api' } onmousedown={ setPage.bind(null, 'api') }><i class="fa fa-fw fa-key"></i>API</p>
 	</div>
 	<div class="pages">
-		<section class="account" show="{ page == 'account' }">
+		<section class="account" show={ page == 'account' }>
 			<h1>アカウント</h1>
 			<label class="avatar">
-				<p>アバター</p><img class="avatar" src="{ I.avatar_url + '?thumbnail&amp;size=64' }" alt="avatar"/>
-				<button class="style-normal" onclick="{ avatar }">画像を選択</button>
+				<p>アバター</p><img class="avatar" src={ I.avatar_url + '?thumbnail&amp;size=64' } alt="avatar"/>
+				<button class="style-normal" onclick={ avatar }>画像を選択</button>
 			</label>
 			<label>
 				<p>名前</p>
-				<input ref="accountName" type="text" value="{ I.name }"/>
+				<input ref="accountName" type="text" value={ I.name }/>
 			</label>
 			<label>
 				<p>場所</p>
-				<input ref="accountLocation" type="text" value="{ I.location }"/>
+				<input ref="accountLocation" type="text" value={ I.location }/>
 			</label>
 			<label>
 				<p>自己紹介</p>
@@ -30,46 +30,46 @@
 			</label>
 			<label>
 				<p>誕生日</p>
-				<input ref="accountBirthday" type="date" value="{ I.birthday }"/>
+				<input ref="accountBirthday" type="date" value={ I.birthday }/>
 			</label>
-			<button class="style-primary" onclick="{ updateAccount }">保存</button>
+			<button class="style-primary" onclick={ updateAccount }>保存</button>
 		</section>
-		<section class="web" show="{ page == 'web' }">
+		<section class="web" show={ page == 'web' }>
 			<h1>デザイン</h1>
 			<label>
 				<p>壁紙</p>
-				<button class="style-normal" onclick="{ wallpaper }">画像を選択</button>
+				<button class="style-normal" onclick={ wallpaper }>画像を選択</button>
 			</label>
 		</section>
-		<section class="web" show="{ page == 'web' }">
+		<section class="web" show={ page == 'web' }>
 			<h1>その他</h1>
 			<label class="checkbox">
-				<input type="checkbox" checked="{ I.data.cache }" onclick="{ updateCache }"/>
+				<input type="checkbox" checked={ I.data.cache } onclick={ updateCache }/>
 				<p>読み込みを高速化する</p>
 				<p>API通信時に新鮮なユーザー情報をキャッシュすることでフェッチのオーバーヘッドを無くします。(実験的)</p>
 			</label>
 			<label class="checkbox">
-				<input type="checkbox" checked="{ I.data.debug }" onclick="{ updateDebug }"/>
+				<input type="checkbox" checked={ I.data.debug } onclick={ updateDebug }/>
 				<p>開発者モード</p>
 				<p>デバッグ等の開発者モードを有効にします。</p>
 			</label>
 			<label class="checkbox">
-				<input type="checkbox" checked="{ I.data.nya }" onclick="{ updateNya }"/>
+				<input type="checkbox" checked={ I.data.nya } onclick={ updateNya }/>
 				<p><i>な</i>を<i>にゃ</i>に変換する</p>
 				<p>攻撃的な投稿が多少和らぐ可能性があります。</p>
 			</label>
 		</section>
-		<section class="signin" show="{ page == 'signin' }">
+		<section class="signin" show={ page == 'signin' }>
 			<h1>ログイン履歴</h1>
 			<mk-signin-history></mk-signin-history>
 		</section>
-		<section class="api" show="{ page == 'api' }">
+		<section class="api" show={ page == 'api' }>
 			<h1>API</h1>
 			<p>Token:<code>{ I.token }</code></p>
 			<p>APIを利用するには、上記のトークンを「i」というキーでパラメータに付加してリクエストします。</p>
 			<p>アカウントを乗っ取られてしまう可能性があるため、このトークンは第三者に教えないでください(アプリなどにも入力しないでください)。</p>
 			<p>万が一このトークンが漏れたりその可能性がある場合は
-				<button class="regenerate" onclick="{ regenerateToken }">トークンを再生成</button>できます。(副作用として、ログインしているすべてのデバイスでログアウトが発生します)
+				<button class="regenerate" onclick={ regenerateToken }>トークンを再生成</button>できます。(副作用として、ログインしているすべてのデバイスでログアウトが発生します)
 			</p>
 		</section>
 	</div>
diff --git a/src/web/app/desktop/tags/signin-history.tag b/src/web/app/desktop/tags/signin-history.tag
index bd6006965f..3dc650d5fc 100644
--- a/src/web/app/desktop/tags/signin-history.tag
+++ b/src/web/app/desktop/tags/signin-history.tag
@@ -1,8 +1,8 @@
 <mk-signin-history>
-	<div class="records" if="{ history.length != 0 }">
-		<div each="{ history }">
-			<mk-time time="{ created_at }"></mk-time>
-			<header><i class="fa fa-check" if="{ success }"></i><i class="fa fa-times" if="{ !success }"></i><span class="ip">{ ip }</span></header>
+	<div class="records" if={ history.length != 0 }>
+		<div each={ history }>
+			<mk-time time={ created_at }></mk-time>
+			<header><i class="fa fa-check" if={ success }></i><i class="fa fa-times" if={ !success }></i><span class="ip">{ ip }</span></header>
 			<pre><code>{ JSON.stringify(headers, null, '    ') }</code></pre>
 		</div>
 	</div>
diff --git a/src/web/app/desktop/tags/stream-indicator.tag b/src/web/app/desktop/tags/stream-indicator.tag
index 4046f5fec4..b5cf6dde9a 100644
--- a/src/web/app/desktop/tags/stream-indicator.tag
+++ b/src/web/app/desktop/tags/stream-indicator.tag
@@ -1,9 +1,9 @@
 <mk-stream-indicator>
-	<p if="{ state == 'initializing' }"><i class="fa fa-spinner fa-spin"></i><span>接続中
+	<p if={ state == 'initializing' }><i class="fa fa-spinner fa-spin"></i><span>接続中
 			<mk-ellipsis></mk-ellipsis></span></p>
-	<p if="{ state == 'reconnecting' }"><i class="fa fa-spinner fa-spin"></i><span>切断されました 接続中
+	<p if={ state == 'reconnecting' }><i class="fa fa-spinner fa-spin"></i><span>切断されました 接続中
 			<mk-ellipsis></mk-ellipsis></span></p>
-	<p if="{ state == 'connected' }"><i class="fa fa-check"></i><span>接続完了</span></p>
+	<p if={ state == 'connected' }><i class="fa fa-check"></i><span>接続完了</span></p>
 	<style type="stylus">
 		:scope
 			display block
diff --git a/src/web/app/desktop/tags/sub-post-content.tag b/src/web/app/desktop/tags/sub-post-content.tag
index 5b4497fda6..6f74e936ae 100644
--- a/src/web/app/desktop/tags/sub-post-content.tag
+++ b/src/web/app/desktop/tags/sub-post-content.tag
@@ -1,8 +1,8 @@
 <mk-sub-post-content>
-	<div class="body"><a class="reply" if="{ post.reply_to_id }"><i class="fa fa-reply"></i></a><span ref="text"></span><a class="quote" if="{ post.repost_id }" href="{ '/post:' + post.repost_id }">RP: ...</a></div>
-	<details if="{ post.media }">
+	<div class="body"><a class="reply" if={ post.reply_to_id }><i class="fa fa-reply"></i></a><span ref="text"></span><a class="quote" if={ post.repost_id } href={ '/post:' + post.repost_id }>RP: ...</a></div>
+	<details if={ post.media }>
 		<summary>({ post.media.length }枚の画像)</summary>
-		<mk-images-viewer images="{ post.media }"></mk-images-viewer>
+		<mk-images-viewer images={ post.media }></mk-images-viewer>
 	</details>
 	<style type="stylus">
 		:scope
diff --git a/src/web/app/desktop/tags/timeline-post-sub.tag b/src/web/app/desktop/tags/timeline-post-sub.tag
index a9a13e9f9c..a4fd0b7496 100644
--- a/src/web/app/desktop/tags/timeline-post-sub.tag
+++ b/src/web/app/desktop/tags/timeline-post-sub.tag
@@ -1,10 +1,10 @@
-<mk-timeline-post-sub title="{ title }">
-	<article><a class="avatar-anchor" href="{ CONFIG.url + '/' + post.user.username }"><img class="avatar" src="{ post.user.avatar_url + '?thumbnail&amp;size=64' }" alt="avatar" data-user-preview="{ post.user_id }"/></a>
+<mk-timeline-post-sub title={ title }>
+	<article><a class="avatar-anchor" href={ CONFIG.url + '/' + post.user.username }><img class="avatar" src={ post.user.avatar_url + '?thumbnail&amp;size=64' } alt="avatar" data-user-preview={ post.user_id }/></a>
 		<div class="main">
-			<header><a class="name" href="{ CONFIG.url + '/' + post.user.username }" data-user-preview="{ post.user_id }">{ post.user.name }</a><span class="username">@{ post.user.username }</span><a class="created-at" href="{ CONFIG.url + '/' + post.user.username + '/' + post.id }">
-					<mk-time time="{ post.created_at }"></mk-time></a></header>
+			<header><a class="name" href={ CONFIG.url + '/' + post.user.username } data-user-preview={ post.user_id }>{ post.user.name }</a><span class="username">@{ post.user.username }</span><a class="created-at" href={ CONFIG.url + '/' + post.user.username + '/' + post.id }>
+					<mk-time time={ post.created_at }></mk-time></a></header>
 			<div class="body">
-				<mk-sub-post-content class="text" post="{ post }"></mk-sub-post-content>
+				<mk-sub-post-content class="text" post={ post }></mk-sub-post-content>
 			</div>
 		</div>
 	</article>
diff --git a/src/web/app/desktop/tags/timeline-post.tag b/src/web/app/desktop/tags/timeline-post.tag
index 77d695c365..b20154a90e 100644
--- a/src/web/app/desktop/tags/timeline-post.tag
+++ b/src/web/app/desktop/tags/timeline-post.tag
@@ -1,41 +1,41 @@
-<mk-timeline-post tabindex="-1" title="{ title }" onkeydown="{ onKeyDown }">
-	<div class="reply-to" if="{ p.reply_to }">
-		<mk-timeline-post-sub post="{ p.reply_to }"></mk-timeline-post-sub>
+<mk-timeline-post tabindex="-1" title={ title } onkeydown={ onKeyDown }>
+	<div class="reply-to" if={ p.reply_to }>
+		<mk-timeline-post-sub post={ p.reply_to }></mk-timeline-post-sub>
 	</div>
-	<div class="repost" if="{ isRepost }">
-		<p><a class="avatar-anchor" href="{ CONFIG.url + '/' + post.user.username }" data-user-preview="{ post.user_id }"><img class="avatar" src="{ post.user.avatar_url + '?thumbnail&amp;size=32' }" alt="avatar"/></a><i class="fa fa-retweet"></i><a class="name" href="{ CONFIG.url + '/' + post.user.username }" data-user-preview="{ post.user_id }">{ post.user.name }</a>がRepost</p>
-		<mk-time time="{ post.created_at }"></mk-time>
+	<div class="repost" if={ isRepost }>
+		<p><a class="avatar-anchor" href={ CONFIG.url + '/' + post.user.username } data-user-preview={ post.user_id }><img class="avatar" src={ post.user.avatar_url + '?thumbnail&amp;size=32' } alt="avatar"/></a><i class="fa fa-retweet"></i><a class="name" href={ CONFIG.url + '/' + post.user.username } data-user-preview={ post.user_id }>{ post.user.name }</a>がRepost</p>
+		<mk-time time={ post.created_at }></mk-time>
 	</div>
-	<article><a class="avatar-anchor" href="{ CONFIG.url + '/' + p.user.username }"><img class="avatar" src="{ p.user.avatar_url + '?thumbnail&amp;size=64' }" alt="avatar" data-user-preview="{ p.user.id }"/></a>
+	<article><a class="avatar-anchor" href={ CONFIG.url + '/' + p.user.username }><img class="avatar" src={ p.user.avatar_url + '?thumbnail&amp;size=64' } alt="avatar" data-user-preview={ p.user.id }/></a>
 		<div class="main">
-			<header><a class="name" href="{ CONFIG.url + '/' + p.user.username }" data-user-preview="{ p.user.id }">{ p.user.name }</a><span class="username">@{ p.user.username }</span><a class="created-at" href="{ url }">
-					<mk-time time="{ p.created_at }"></mk-time></a></header>
+			<header><a class="name" href={ CONFIG.url + '/' + p.user.username } data-user-preview={ p.user.id }>{ p.user.name }</a><span class="username">@{ p.user.username }</span><a class="created-at" href={ url }>
+					<mk-time time={ p.created_at }></mk-time></a></header>
 			<div class="body">
-				<div class="text"><a class="reply" if="{ p.reply_to }"><i class="fa fa-reply"></i></a><span ref="text"></span><a class="quote" if="{ p.repost != null }">RP:</a></div>
-				<div class="media" if="{ p.media }">
-					<mk-images-viewer images="{ p.media }"></mk-images-viewer>
+				<div class="text"><a class="reply" if={ p.reply_to }><i class="fa fa-reply"></i></a><span ref="text"></span><a class="quote" if={ p.repost != null }>RP:</a></div>
+				<div class="media" if={ p.media }>
+					<mk-images-viewer images={ p.media }></mk-images-viewer>
 				</div>
-				<div class="repost" if="{ p.repost }"><i class="fa fa-quote-right fa-flip-horizontal"></i>
-					<mk-post-preview class="repost" post="{ p.repost }"></mk-post-preview>
+				<div class="repost" if={ p.repost }><i class="fa fa-quote-right fa-flip-horizontal"></i>
+					<mk-post-preview class="repost" post={ p.repost }></mk-post-preview>
 				</div>
 			</div>
 			<footer>
-				<button onclick="{ reply }" title="返信"><i class="fa fa-reply"></i>
-					<p class="count" if="{ p.replies_count &gt; 0 }">{ p.replies_count }</p>
+				<button onclick={ reply } title="返信"><i class="fa fa-reply"></i>
+					<p class="count" if={ p.replies_count &gt; 0 }>{ p.replies_count }</p>
 				</button>
-				<button onclick="{ repost }" title="Repost"><i class="fa fa-retweet"></i>
-					<p class="count" if="{ p.repost_count &gt; 0 }">{ p.repost_count }</p>
+				<button onclick={ repost } title="Repost"><i class="fa fa-retweet"></i>
+					<p class="count" if={ p.repost_count &gt; 0 }>{ p.repost_count }</p>
 				</button>
-				<button class="{ liked: p.is_liked }" onclick="{ like }" title="善哉"><i class="fa fa-thumbs-o-up"></i>
-					<p class="count" if="{ p.likes_count &gt; 0 }">{ p.likes_count }</p>
+				<button class={ liked: p.is_liked } onclick={ like } title="善哉"><i class="fa fa-thumbs-o-up"></i>
+					<p class="count" if={ p.likes_count &gt; 0 }>{ p.likes_count }</p>
 				</button>
-				<button onclick="{ NotImplementedException }"><i class="fa fa-ellipsis-h"></i></button>
-				<button onclick="{ toggleDetail }" title="詳細"><i class="fa fa-caret-down" if="{ !isDetailOpened }"></i><i class="fa fa-caret-up" if="{ isDetailOpened }"></i></button>
+				<button onclick={ NotImplementedException }><i class="fa fa-ellipsis-h"></i></button>
+				<button onclick={ toggleDetail } title="詳細"><i class="fa fa-caret-down" if={ !isDetailOpened }></i><i class="fa fa-caret-up" if={ isDetailOpened }></i></button>
 			</footer>
 		</div>
 	</article>
-	<div class="detail" if="{ isDetailOpened }">
-		<mk-post-status-graph width="462" height="130" post="{ p }"></mk-post-status-graph>
+	<div class="detail" if={ isDetailOpened }>
+		<mk-post-status-graph width="462" height="130" post={ p }></mk-post-status-graph>
 	</div>
 	<style type="stylus">
 		:scope
diff --git a/src/web/app/desktop/tags/timeline.tag b/src/web/app/desktop/tags/timeline.tag
index ce6c00d0ba..da9f8c32c3 100644
--- a/src/web/app/desktop/tags/timeline.tag
+++ b/src/web/app/desktop/tags/timeline.tag
@@ -1,7 +1,7 @@
 <mk-timeline>
-	<virtual each="{ post, i in posts }">
-		<mk-timeline-post post="{ post }"></mk-timeline-post>
-		<p class="date" if="{ i != posts.length - 1 &amp;&amp; post._date != posts[i + 1]._date }"><span><i class="fa fa-angle-up"></i>{ post._datetext }</span><span><i class="fa fa-angle-down"></i>{ posts[i + 1]._datetext }</span></p>
+	<virtual each={ post, i in posts }>
+		<mk-timeline-post post={ post }></mk-timeline-post>
+		<p class="date" if={ i != posts.length - 1 &amp;&amp; post._date != posts[i + 1]._date }><span><i class="fa fa-angle-up"></i>{ post._datetext }</span><span><i class="fa fa-angle-down"></i>{ posts[i + 1]._datetext }</span></p>
 	</virtual>
 	<footer data-yield="footer"><yield from="footer"/></footer>
 	<style type="stylus">
diff --git a/src/web/app/desktop/tags/ui-header-account.tag b/src/web/app/desktop/tags/ui-header-account.tag
index 47351b5262..193b8cb2e9 100644
--- a/src/web/app/desktop/tags/ui-header-account.tag
+++ b/src/web/app/desktop/tags/ui-header-account.tag
@@ -1,20 +1,20 @@
 <mk-ui-header-account>
-	<button class="header" data-active="{ isOpen.toString() }" onclick="{ toggle }"><span class="username">{ I.username }<i class="fa fa-angle-down" if="{ !isOpen }"></i><i class="fa fa-angle-up" if="{ isOpen }"></i></span><img class="avatar" src="{ I.avatar_url + '?thumbnail&amp;size=64' }" alt="avatar"/></button>
-	<div class="menu" if="{ isOpen }">
+	<button class="header" data-active={ isOpen.toString() } onclick={ toggle }><span class="username">{ I.username }<i class="fa fa-angle-down" if={ !isOpen }></i><i class="fa fa-angle-up" if={ isOpen }></i></span><img class="avatar" src={ I.avatar_url + '?thumbnail&amp;size=64' } alt="avatar"/></button>
+	<div class="menu" if={ isOpen }>
 		<ul>
-			<li><a href="{ '/' + I.username }"><i class="fa fa-user"></i>プロフィール<i class="fa fa-angle-right"></i></a></li>
-			<li onclick="{ drive }">
+			<li><a href={ '/' + I.username }><i class="fa fa-user"></i>プロフィール<i class="fa fa-angle-right"></i></a></li>
+			<li onclick={ drive }>
 				<p><i class="fa fa-cloud"></i>ドライブ<i class="fa fa-angle-right"></i></p>
 			</li>
 			<li><a href="/i&gt;mentions"><i class="fa fa-at"></i>あなた宛て<i class="fa fa-angle-right"></i></a></li>
 		</ul>
 		<ul>
-			<li onclick="{ settings }">
+			<li onclick={ settings }>
 				<p><i class="fa fa-cog"></i>設定<i class="fa fa-angle-right"></i></p>
 			</li>
 		</ul>
 		<ul>
-			<li onclick="{ signout }">
+			<li onclick={ signout }>
 				<p><i class="fa fa-power-off"></i>サインアウト<i class="fa fa-angle-right"></i></p>
 			</li>
 		</ul>
diff --git a/src/web/app/desktop/tags/ui-header-nav.tag b/src/web/app/desktop/tags/ui-header-nav.tag
index 8844307ae9..204437b162 100644
--- a/src/web/app/desktop/tags/ui-header-nav.tag
+++ b/src/web/app/desktop/tags/ui-header-nav.tag
@@ -1,9 +1,9 @@
 <mk-ui-header-nav>
-	<ul if="{ SIGNIN }">
-		<li class="home { active: page == 'home' }"><a href="{ CONFIG.url }"><i class="fa fa-home"></i>
+	<ul if={ SIGNIN }>
+		<li class="home { active: page == 'home' }"><a href={ CONFIG.url }><i class="fa fa-home"></i>
 				<p>ホーム</p></a></li>
-		<li class="messaging"><a onclick="{ messaging }"><i class="fa fa-comments"></i>
-				<p>メッセージ</p><i class="fa fa-circle" if="{ hasUnreadMessagingMessages }"></i></a></li>
+		<li class="messaging"><a onclick={ messaging }><i class="fa fa-comments"></i>
+				<p>メッセージ</p><i class="fa fa-circle" if={ hasUnreadMessagingMessages }></i></a></li>
 		<li class="info"><a href="https://twitter.com/misskey_xyz" target="_blank"><i class="fa fa-info"></i>
 				<p>お知らせ</p></a></li>
 		<li class="tv"><a href="https://misskey.tk" target="_blank"><i class="fa fa-television"></i>
diff --git a/src/web/app/desktop/tags/ui-header-notifications.tag b/src/web/app/desktop/tags/ui-header-notifications.tag
index 05d4f4c2cd..649b1801a5 100644
--- a/src/web/app/desktop/tags/ui-header-notifications.tag
+++ b/src/web/app/desktop/tags/ui-header-notifications.tag
@@ -1,6 +1,6 @@
 <mk-ui-header-notifications>
-	<button class="header" data-active="{ isOpen }" onclick="{ toggle }"><i class="fa fa-bell-o"></i></button>
-	<div class="notifications" if="{ isOpen }">
+	<button class="header" data-active={ isOpen } onclick={ toggle }><i class="fa fa-bell-o"></i></button>
+	<div class="notifications" if={ isOpen }>
 		<mk-notifications></mk-notifications>
 	</div>
 	<style type="stylus">
diff --git a/src/web/app/desktop/tags/ui-header-post-button.tag b/src/web/app/desktop/tags/ui-header-post-button.tag
index 79f836408a..eb0c18bd58 100644
--- a/src/web/app/desktop/tags/ui-header-post-button.tag
+++ b/src/web/app/desktop/tags/ui-header-post-button.tag
@@ -1,5 +1,5 @@
 <mk-ui-header-post-button>
-	<button onclick="{ post }" title="新規投稿"><i class="fa fa-pencil-square-o"></i></button>
+	<button onclick={ post } title="新規投稿"><i class="fa fa-pencil-square-o"></i></button>
 	<style type="stylus">
 		:scope
 			display inline-block
diff --git a/src/web/app/desktop/tags/ui-header-search.tag b/src/web/app/desktop/tags/ui-header-search.tag
index 8803384938..dce0abc3c6 100644
--- a/src/web/app/desktop/tags/ui-header-search.tag
+++ b/src/web/app/desktop/tags/ui-header-search.tag
@@ -1,5 +1,5 @@
 <mk-ui-header-search>
-	<form class="search" onsubmit="{ onsubmit }">
+	<form class="search" onsubmit={ onsubmit }>
 		<input ref="q" type="search" placeholder="&#xf002; 検索"/>
 		<div class="result"></div>
 	</form>
diff --git a/src/web/app/desktop/tags/ui-header.tag b/src/web/app/desktop/tags/ui-header.tag
index 4ec0ba183a..686e40a0e7 100644
--- a/src/web/app/desktop/tags/ui-header.tag
+++ b/src/web/app/desktop/tags/ui-header.tag
@@ -1,18 +1,18 @@
 <mk-ui-header>
-	<mk-donation if="{ SIGNIN &amp;&amp; !I.data.no_donation }"></mk-donation>
+	<mk-donation if={ SIGNIN &amp;&amp; !I.data.no_donation }></mk-donation>
 	<mk-special-message></mk-special-message>
 	<div class="main">
 		<div class="backdrop"></div>
 		<div class="main">
 			<div class="container">
 				<div class="left">
-					<mk-ui-header-nav page="{ opts.page }"></mk-ui-header-nav>
+					<mk-ui-header-nav page={ opts.page }></mk-ui-header-nav>
 				</div>
 				<div class="right">
 					<mk-ui-header-search></mk-ui-header-search>
-					<mk-ui-header-account if="{ SIGNIN }"></mk-ui-header-account>
-					<mk-ui-header-notifications if="{ SIGNIN }"></mk-ui-header-notifications>
-					<mk-ui-header-post-button if="{ SIGNIN }"></mk-ui-header-post-button>
+					<mk-ui-header-account if={ SIGNIN }></mk-ui-header-account>
+					<mk-ui-header-notifications if={ SIGNIN }></mk-ui-header-notifications>
+					<mk-ui-header-post-button if={ SIGNIN }></mk-ui-header-post-button>
 					<mk-ui-header-clock></mk-ui-header-clock>
 				</div>
 			</div>
diff --git a/src/web/app/desktop/tags/ui.tag b/src/web/app/desktop/tags/ui.tag
index 713db21d91..42a8274e57 100644
--- a/src/web/app/desktop/tags/ui.tag
+++ b/src/web/app/desktop/tags/ui.tag
@@ -1,8 +1,8 @@
 <mk-ui>
 	<div class="global" ref="global">
-		<mk-ui-header ref="header" page="{ opts.page }"></mk-ui-header>
-		<mk-set-avatar-suggestion if="{ SIGNIN &amp;&amp; I.avatar_id == null }"></mk-set-avatar-suggestion>
-		<mk-set-banner-suggestion if="{ SIGNIN &amp;&amp; I.banner_id == null }"></mk-set-banner-suggestion>
+		<mk-ui-header ref="header" page={ opts.page }></mk-ui-header>
+		<mk-set-avatar-suggestion if={ SIGNIN &amp;&amp; I.avatar_id == null }></mk-set-avatar-suggestion>
+		<mk-set-banner-suggestion if={ SIGNIN &amp;&amp; I.banner_id == null }></mk-set-banner-suggestion>
 		<div class="content"><yield /></div>
 	</div>
 	<mk-stream-indicator></mk-stream-indicator>
diff --git a/src/web/app/desktop/tags/user-followers-window.tag b/src/web/app/desktop/tags/user-followers-window.tag
index c6899be46b..960bb3ae08 100644
--- a/src/web/app/desktop/tags/user-followers-window.tag
+++ b/src/web/app/desktop/tags/user-followers-window.tag
@@ -1,7 +1,7 @@
 <mk-user-followers-window>
-	<mk-window is-modal="{ false }" width="{ '400px' }" height="{ '550px' }"><yield to="header"><img src="{ parent.user.avatar_url + '?thumbnail&amp;size=64' }" alt=""/>{ parent.user.name }のフォロワー</yield>
+	<mk-window is-modal={ false } width={ '400px' } height={ '550px' }><yield to="header"><img src={ parent.user.avatar_url + '?thumbnail&amp;size=64' } alt=""/>{ parent.user.name }のフォロワー</yield>
 <yield to="content">
-		<mk-user-followers user="{ parent.user }"></mk-user-followers></yield>
+		<mk-user-followers user={ parent.user }></mk-user-followers></yield>
 	</mk-window>
 	<style type="stylus">
 		:scope
diff --git a/src/web/app/desktop/tags/user-followers.tag b/src/web/app/desktop/tags/user-followers.tag
index 9f96b00177..51e235dadb 100644
--- a/src/web/app/desktop/tags/user-followers.tag
+++ b/src/web/app/desktop/tags/user-followers.tag
@@ -1,5 +1,5 @@
 <mk-user-followers>
-	<mk-users-list fetch="{ fetch }" count="{ user.followers_count }" you-know-count="{ user.followers_you_know_count }" no-users="{ 'フォロワーはいないようです。' }"></mk-users-list>
+	<mk-users-list fetch={ fetch } count={ user.followers_count } you-know-count={ user.followers_you_know_count } no-users={ 'フォロワーはいないようです。' }></mk-users-list>
 	<style type="stylus">
 		:scope
 			display block
diff --git a/src/web/app/desktop/tags/user-following-window.tag b/src/web/app/desktop/tags/user-following-window.tag
index 343820d4e0..09db2eef7c 100644
--- a/src/web/app/desktop/tags/user-following-window.tag
+++ b/src/web/app/desktop/tags/user-following-window.tag
@@ -1,7 +1,7 @@
 <mk-user-following-window>
-	<mk-window is-modal="{ false }" width="{ '400px' }" height="{ '550px' }"><yield to="header"><img src="{ parent.user.avatar_url + '?thumbnail&amp;size=64' }" alt=""/>{ parent.user.name }のフォロー</yield>
+	<mk-window is-modal={ false } width={ '400px' } height={ '550px' }><yield to="header"><img src={ parent.user.avatar_url + '?thumbnail&amp;size=64' } alt=""/>{ parent.user.name }のフォロー</yield>
 <yield to="content">
-		<mk-user-following user="{ parent.user }"></mk-user-following></yield>
+		<mk-user-following user={ parent.user }></mk-user-following></yield>
 	</mk-window>
 	<style type="stylus">
 		:scope
diff --git a/src/web/app/desktop/tags/user-following.tag b/src/web/app/desktop/tags/user-following.tag
index 87b88b6cd2..11b725aa00 100644
--- a/src/web/app/desktop/tags/user-following.tag
+++ b/src/web/app/desktop/tags/user-following.tag
@@ -1,5 +1,5 @@
 <mk-user-following>
-	<mk-users-list fetch="{ fetch }" count="{ user.following_count }" you-know-count="{ user.following_you_know_count }" no-users="{ 'フォロー中のユーザーはいないようです。' }"></mk-users-list>
+	<mk-users-list fetch={ fetch } count={ user.following_count } you-know-count={ user.following_you_know_count } no-users={ 'フォロー中のユーザーはいないようです。' }></mk-users-list>
 	<style type="stylus">
 		:scope
 			display block
diff --git a/src/web/app/desktop/tags/user-graphs.tag b/src/web/app/desktop/tags/user-graphs.tag
index 28643cd90b..869268871d 100644
--- a/src/web/app/desktop/tags/user-graphs.tag
+++ b/src/web/app/desktop/tags/user-graphs.tag
@@ -1,15 +1,15 @@
 <mk-user-graphs>
 	<section>
 		<h1>投稿</h1>
-		<mk-user-posts-graph user="{ opts.user }"></mk-user-posts-graph>
+		<mk-user-posts-graph user={ opts.user }></mk-user-posts-graph>
 	</section>
 	<section>
 		<h1>フォロー/フォロワー</h1>
-		<mk-user-friends-graph user="{ opts.user }"></mk-user-friends-graph>
+		<mk-user-friends-graph user={ opts.user }></mk-user-friends-graph>
 	</section>
 	<section>
 		<h1>いいね</h1>
-		<mk-user-likes-graph user="{ opts.user }"></mk-user-likes-graph>
+		<mk-user-likes-graph user={ opts.user }></mk-user-likes-graph>
 	</section>
 	<style type="stylus">
 		:scope
diff --git a/src/web/app/desktop/tags/user-header.tag b/src/web/app/desktop/tags/user-header.tag
index 7b4ebfb847..4f00ec56da 100644
--- a/src/web/app/desktop/tags/user-header.tag
+++ b/src/web/app/desktop/tags/user-header.tag
@@ -1,12 +1,12 @@
-<mk-user-header data-is-dark-background="{ user.banner_url != null }">
-	<div class="banner" ref="banner" style="{ user.banner_url ? 'background-image: url(' + user.banner_url + '?thumbnail&amp;size=1024)' : '' }" onclick="{ onUpdateBanner }"></div><img class="avatar" src="{ user.avatar_url + '?thumbnail&amp;size=150' }" alt="avatar"/>
+<mk-user-header data-is-dark-background={ user.banner_url != null }>
+	<div class="banner" ref="banner" style={ user.banner_url ? 'background-image: url(' + user.banner_url + '?thumbnail&amp;size=1024)' : '' } onclick={ onUpdateBanner }></div><img class="avatar" src={ user.avatar_url + '?thumbnail&amp;size=150' } alt="avatar"/>
 	<div class="title">
-		<p class="name" href="{ CONFIG.url + '/' + user.username }">{ user.name }</p>
+		<p class="name" href={ CONFIG.url + '/' + user.username }>{ user.name }</p>
 		<p class="username">@{ user.username }</p>
-		<p class="location" if="{ user.location }"><i class="fa fa-map-marker"></i>{ user.location }</p>
+		<p class="location" if={ user.location }><i class="fa fa-map-marker"></i>{ user.location }</p>
 	</div>
-	<footer><a href="{ '/' + user.username }">投稿</a><a href="{ '/' + user.username + '/media' }">メディア</a><a href="{ '/' + user.username + '/graphs' }">グラフ</a>
-		<button onclick="{ NotImplementedException }"><i class="fa fa-ellipsis-h"></i></button>
+	<footer><a href={ '/' + user.username }>投稿</a><a href={ '/' + user.username + '/media' }>メディア</a><a href={ '/' + user.username + '/graphs' }>グラフ</a>
+		<button onclick={ NotImplementedException }><i class="fa fa-ellipsis-h"></i></button>
 	</footer>
 	<style type="stylus">
 		:scope
diff --git a/src/web/app/desktop/tags/user-home.tag b/src/web/app/desktop/tags/user-home.tag
index 602ce1b9c9..4578fa4e51 100644
--- a/src/web/app/desktop/tags/user-home.tag
+++ b/src/web/app/desktop/tags/user-home.tag
@@ -1,10 +1,10 @@
 <mk-user-home>
 	<div class="side">
-		<mk-user-profile user="{ user }"></mk-user-profile>
-		<mk-user-photos user="{ user }"></mk-user-photos>
+		<mk-user-profile user={ user }></mk-user-profile>
+		<mk-user-photos user={ user }></mk-user-photos>
 	</div>
 	<main>
-		<mk-user-timeline ref="tl" user="{ user }"></mk-user-timeline>
+		<mk-user-timeline ref="tl" user={ user }></mk-user-timeline>
 	</main>
 	<style type="stylus">
 		:scope
diff --git a/src/web/app/desktop/tags/user-photos.tag b/src/web/app/desktop/tags/user-photos.tag
index eb79113e41..06e730c5e1 100644
--- a/src/web/app/desktop/tags/user-photos.tag
+++ b/src/web/app/desktop/tags/user-photos.tag
@@ -1,14 +1,14 @@
 <mk-user-photos>
 	<p class="title"><i class="fa fa-camera"></i>フォト</p>
-	<p class="initializing" if="{ initializing }"><i class="fa fa-spinner fa-pulse fa-fw"></i>読み込んでいます
+	<p class="initializing" if={ initializing }><i class="fa fa-spinner fa-pulse fa-fw"></i>読み込んでいます
 		<mk-ellipsis></mk-ellipsis>
 	</p>
-	<div class="stream" if="{ !initializing &amp;&amp; images.length &gt; 0 }">
-		<virtual each="{ image in images }">
-			<div class="img" style="{ 'background-image: url(' + image.url + '?thumbnail&amp;size=256)' }"></div>
+	<div class="stream" if={ !initializing &amp;&amp; images.length &gt; 0 }>
+		<virtual each={ image in images }>
+			<div class="img" style={ 'background-image: url(' + image.url + '?thumbnail&amp;size=256)' }></div>
 		</virtual>
 	</div>
-	<p class="empty" if="{ !initializing &amp;&amp; images.length == 0 }">写真はありません</p>
+	<p class="empty" if={ !initializing &amp;&amp; images.length == 0 }>写真はありません</p>
 	<style type="stylus">
 		:scope
 			display block
diff --git a/src/web/app/desktop/tags/user-preview.tag b/src/web/app/desktop/tags/user-preview.tag
index ed1d868781..9b52d24d3e 100644
--- a/src/web/app/desktop/tags/user-preview.tag
+++ b/src/web/app/desktop/tags/user-preview.tag
@@ -1,6 +1,6 @@
 <mk-user-preview>
-	<virtual if="{ user != null }">
-		<div class="banner" style="{ user.banner_url ? 'background-image: url(' + user.banner_url + '?thumbnail&amp;size=512)' : '' }"></div><a class="avatar" href="{ CONFIG.url + '/' + user.username }" target="_blank"><img src="{ user.avatar_url + '?thumbnail&amp;size=64' }" alt="avatar"/></a>
+	<virtual if={ user != null }>
+		<div class="banner" style={ user.banner_url ? 'background-image: url(' + user.banner_url + '?thumbnail&amp;size=512)' : '' }></div><a class="avatar" href={ CONFIG.url + '/' + user.username } target="_blank"><img src={ user.avatar_url + '?thumbnail&amp;size=64' } alt="avatar"/></a>
 		<div class="title">
 			<p class="name">{ user.name }</p>
 			<p class="username">@{ user.username }</p>
@@ -17,7 +17,7 @@
 				<p>フォロワー</p><a>{ user.followers_count }</a>
 			</div>
 		</div>
-		<mk-follow-button if="{ SIGNIN &amp;&amp; user.id != I.id }" user="{ userPromise }"></mk-follow-button>
+		<mk-follow-button if={ SIGNIN &amp;&amp; user.id != I.id } user={ userPromise }></mk-follow-button>
 	</virtual>
 	<style type="stylus">
 		:scope
diff --git a/src/web/app/desktop/tags/user-profile.tag b/src/web/app/desktop/tags/user-profile.tag
index 1079282ed3..54abfd3b1d 100644
--- a/src/web/app/desktop/tags/user-profile.tag
+++ b/src/web/app/desktop/tags/user-profile.tag
@@ -1,15 +1,15 @@
 <mk-user-profile>
-	<div class="friend-form" if="{ SIGNIN &amp;&amp; I.id != user.id }">
-		<mk-big-follow-button user="{ user }"></mk-big-follow-button>
-		<p class="followed" if="{ user.is_followed }">フォローされています</p>
+	<div class="friend-form" if={ SIGNIN &amp;&amp; I.id != user.id }>
+		<mk-big-follow-button user={ user }></mk-big-follow-button>
+		<p class="followed" if={ user.is_followed }>フォローされています</p>
 	</div>
-	<div class="bio" if="{ user.bio != '' }">{ user.bio }</div>
-	<div class="birthday" if="{ user.birthday }">
+	<div class="bio" if={ user.bio != '' }>{ user.bio }</div>
+	<div class="birthday" if={ user.birthday }>
 		<p><i class="fa fa-birthday-cake"></i>{ user.birthday.replace('-', '年').replace('-', '月') + '日' }</p>
 	</div>
 	<div class="friends">
-		<p class="following"><i class="fa fa-angle-right"></i><a onclick="{ showFollowing }">{ user.following_count }</a>人を<b>フォロー</b></p>
-		<p class="followers"><i class="fa fa-angle-right"></i><a onclick="{ showFollowers }">{ user.followers_count }</a>人の<b>フォロワー</b></p>
+		<p class="following"><i class="fa fa-angle-right"></i><a onclick={ showFollowing }>{ user.following_count }</a>人を<b>フォロー</b></p>
+		<p class="followers"><i class="fa fa-angle-right"></i><a onclick={ showFollowers }>{ user.followers_count }</a>人の<b>フォロワー</b></p>
 	</div>
 	<style type="stylus">
 		:scope
diff --git a/src/web/app/desktop/tags/user-timeline.tag b/src/web/app/desktop/tags/user-timeline.tag
index 89eb53933a..1f8d64e5ae 100644
--- a/src/web/app/desktop/tags/user-timeline.tag
+++ b/src/web/app/desktop/tags/user-timeline.tag
@@ -1,10 +1,10 @@
 <mk-user-timeline>
-	<header><span data-is-active="{ mode == 'default' }" onclick="{ setMode.bind(this, 'default') }">投稿</span><span data-is-active="{ mode == 'with-replies' }" onclick="{ setMode.bind(this, 'with-replies') }">投稿と返信</span></header>
-	<div class="loading" if="{ isLoading }">
+	<header><span data-is-active={ mode == 'default' } onclick={ setMode.bind(this, 'default') }>投稿</span><span data-is-active={ mode == 'with-replies' } onclick={ setMode.bind(this, 'with-replies') }>投稿と返信</span></header>
+	<div class="loading" if={ isLoading }>
 		<mk-ellipsis-icon></mk-ellipsis-icon>
 	</div>
-	<p class="empty" if="{ isEmpty }"><i class="fa fa-comments-o"></i>このユーザーはまだ何も投稿していないようです。</p>
-	<mk-timeline ref="timeline"><yield to="footer"><i class="fa fa-moon-o" if="{ !parent.moreLoading }"></i><i class="fa fa-spinner fa-pulse fa-fw" if="{ parent.moreLoading }"></i></yield></mk-timeline>
+	<p class="empty" if={ isEmpty }><i class="fa fa-comments-o"></i>このユーザーはまだ何も投稿していないようです。</p>
+	<mk-timeline ref="timeline"><yield to="footer"><i class="fa fa-moon-o" if={ !parent.moreLoading }></i><i class="fa fa-spinner fa-pulse fa-fw" if={ parent.moreLoading }></i></yield></mk-timeline>
 	<style type="stylus">
 		:scope
 			display block
diff --git a/src/web/app/desktop/tags/user.tag b/src/web/app/desktop/tags/user.tag
index 777d9caee7..915bd857b5 100644
--- a/src/web/app/desktop/tags/user.tag
+++ b/src/web/app/desktop/tags/user.tag
@@ -1,11 +1,11 @@
 <mk-user>
-	<div class="user" if="{ !fetching }">
+	<div class="user" if={ !fetching }>
 		<header>
-			<mk-user-header user="{ user }"></mk-user-header>
+			<mk-user-header user={ user }></mk-user-header>
 		</header>
 		<div class="body">
-			<mk-user-home if="{ page == 'home' }" user="{ user }"></mk-user-home>
-			<mk-user-graphs if="{ page == 'graphs' }" user="{ user }"></mk-user-graphs>
+			<mk-user-home if={ page == 'home' } user={ user }></mk-user-home>
+			<mk-user-graphs if={ page == 'graphs' } user={ user }></mk-user-graphs>
 		</div>
 	</div>
 	<style type="stylus">
diff --git a/src/web/app/desktop/tags/users-list.tag b/src/web/app/desktop/tags/users-list.tag
index e2b0ef1332..abf1db87c6 100644
--- a/src/web/app/desktop/tags/users-list.tag
+++ b/src/web/app/desktop/tags/users-list.tag
@@ -1,18 +1,18 @@
 <mk-users-list>
 	<nav>
-		<div><span data-is-active="{ mode == 'all' }" onclick="{ setMode.bind(this, 'all') }">すべて<span>{ opts.count }</span></span>
-			<!-- ↓ https://github.com/riot/riot/issues/2080--><span if="{ SIGNIN &amp;&amp; opts.youKnowCount != '' }" data-is-active="{ mode == 'iknow' }" onclick="{ setMode.bind(this, 'iknow') }">知り合い<span>{ opts.youKnowCount }</span></span>
+		<div><span data-is-active={ mode == 'all' } onclick={ setMode.bind(this, 'all') }>すべて<span>{ opts.count }</span></span>
+			<!-- ↓ https://github.com/riot/riot/issues/2080--><span if={ SIGNIN &amp;&amp; opts.youKnowCount != '' } data-is-active={ mode == 'iknow' } onclick={ setMode.bind(this, 'iknow') }>知り合い<span>{ opts.youKnowCount }</span></span>
 		</div>
 	</nav>
-	<div class="users" if="{ !fetching &amp;&amp; users.length != 0 }">
-		<div each="{ users }">
-			<mk-list-user user="{ this }"></mk-list-user>
+	<div class="users" if={ !fetching &amp;&amp; users.length != 0 }>
+		<div each={ users }>
+			<mk-list-user user={ this }></mk-list-user>
 		</div>
 	</div>
-	<button class="more" if="{ !fetching &amp;&amp; next != null }" onclick="{ more }" disabled="{ moreFetching }"><span if="{ !moreFetching }">もっと</span><span if="{ moreFetching }">読み込み中
+	<button class="more" if={ !fetching &amp;&amp; next != null } onclick={ more } disabled={ moreFetching }><span if={ !moreFetching }>もっと</span><span if={ moreFetching }>読み込み中
 			<mk-ellipsis></mk-ellipsis></span></button>
-	<p class="no" if="{ !fetching &amp;&amp; users.length == 0 }">{ opts.noUsers }</p>
-	<p class="fetching" if="{ fetching }"><i class="fa fa-spinner fa-pulse fa-fw"></i>読み込んでいます
+	<p class="no" if={ !fetching &amp;&amp; users.length == 0 }>{ opts.noUsers }</p>
+	<p class="fetching" if={ fetching }><i class="fa fa-spinner fa-pulse fa-fw"></i>読み込んでいます
 		<mk-ellipsis></mk-ellipsis>
 	</p>
 	<style type="stylus">
diff --git a/src/web/app/desktop/tags/window.tag b/src/web/app/desktop/tags/window.tag
index 750df64df0..d419e9917a 100644
--- a/src/web/app/desktop/tags/window.tag
+++ b/src/web/app/desktop/tags/window.tag
@@ -1,21 +1,21 @@
-<mk-window data-flexible="{ isFlexible }" data-colored="{ opts.colored }" ondragover="{ ondragover }">
-	<div class="bg" ref="bg" show="{ isModal }" onclick="{ bgClick }"></div>
-	<div class="main" ref="main" tabindex="-1" data-is-modal="{ isModal }" onmousedown="{ onBodyMousedown }" onkeydown="{ onKeydown }">
+<mk-window data-flexible={ isFlexible } data-colored={ opts.colored } ondragover={ ondragover }>
+	<div class="bg" ref="bg" show={ isModal } onclick={ bgClick }></div>
+	<div class="main" ref="main" tabindex="-1" data-is-modal={ isModal } onmousedown={ onBodyMousedown } onkeydown={ onKeydown }>
 		<div class="body">
-			<header ref="header" onmousedown="{ onHeaderMousedown }">
+			<header ref="header" onmousedown={ onHeaderMousedown }>
 				<h1 data-yield="header"><yield from="header"/></h1>
-				<button class="close" if="{ canClose }" onmousedown="{ repelMove }" onclick="{ close }" title="閉じる"><i class="fa fa-times"></i></button>
+				<button class="close" if={ canClose } onmousedown={ repelMove } onclick={ close } title="閉じる"><i class="fa fa-times"></i></button>
 			</header>
 			<div class="content" data-yield="content"><yield from="content"/></div>
 		</div>
-		<div class="handle top" if="{ canResize }" onmousedown="{ onTopHandleMousedown }"></div>
-		<div class="handle right" if="{ canResize }" onmousedown="{ onRightHandleMousedown }"></div>
-		<div class="handle bottom" if="{ canResize }" onmousedown="{ onBottomHandleMousedown }"></div>
-		<div class="handle left" if="{ canResize }" onmousedown="{ onLeftHandleMousedown }"></div>
-		<div class="handle top-left" if="{ canResize }" onmousedown="{ onTopLeftHandleMousedown }"></div>
-		<div class="handle top-right" if="{ canResize }" onmousedown="{ onTopRightHandleMousedown }"></div>
-		<div class="handle bottom-right" if="{ canResize }" onmousedown="{ onBottomRightHandleMousedown }"></div>
-		<div class="handle bottom-left" if="{ canResize }" onmousedown="{ onBottomLeftHandleMousedown }"></div>
+		<div class="handle top" if={ canResize } onmousedown={ onTopHandleMousedown }></div>
+		<div class="handle right" if={ canResize } onmousedown={ onRightHandleMousedown }></div>
+		<div class="handle bottom" if={ canResize } onmousedown={ onBottomHandleMousedown }></div>
+		<div class="handle left" if={ canResize } onmousedown={ onLeftHandleMousedown }></div>
+		<div class="handle top-left" if={ canResize } onmousedown={ onTopLeftHandleMousedown }></div>
+		<div class="handle top-right" if={ canResize } onmousedown={ onTopRightHandleMousedown }></div>
+		<div class="handle bottom-right" if={ canResize } onmousedown={ onBottomRightHandleMousedown }></div>
+		<div class="handle bottom-left" if={ canResize } onmousedown={ onBottomLeftHandleMousedown }></div>
 	</div>
 	<style type="stylus">
 		:scope
diff --git a/src/web/app/dev/tags/new-app-form.tag b/src/web/app/dev/tags/new-app-form.tag
index c74a43d151..f34664bda6 100644
--- a/src/web/app/dev/tags/new-app-form.tag
+++ b/src/web/app/dev/tags/new-app-form.tag
@@ -1,5 +1,5 @@
 <mk-new-app-form>
-	<form onsubmit="{ onsubmit }" autocomplete="off">
+	<form onsubmit={ onsubmit } autocomplete="off">
 		<section class="name">
 			<label>
 				<p class="caption">アプリケーション名</p>
@@ -9,14 +9,14 @@
 		<section class="nid">
 			<label>
 				<p class="caption">Named ID</p>
-				<input ref="nid" type="text" pattern="^[a-zA-Z0-9-]{3,30}$" placeholder="ex) misskey-for-ios" autocomplete="off" required="required" onkeyup="{ onChangeNid }"/>
-				<p class="info" if="{ nidState == 'wait' }" style="color:#999"><i class="fa fa-fw fa-spinner fa-pulse"></i>確認しています...</p>
-				<p class="info" if="{ nidState == 'ok' }" style="color:#3CB7B5"><i class="fa fa-fw fa-check"></i>利用できます</p>
-				<p class="info" if="{ nidState == 'unavailable' }" style="color:#FF1161"><i class="fa fa-fw fa-exclamation-triangle"></i>既に利用されています</p>
-				<p class="info" if="{ nidState == 'error' }" style="color:#FF1161"><i class="fa fa-fw fa-exclamation-triangle"></i>通信エラー</p>
-				<p class="info" if="{ nidState == 'invalid-format' }" style="color:#FF1161"><i class="fa fa-fw fa-exclamation-triangle"></i>a~z、A~Z、0~9、-(ハイフン)が使えます</p>
-				<p class="info" if="{ nidState == 'min-range' }" style="color:#FF1161"><i class="fa fa-fw fa-exclamation-triangle"></i>3文字以上でお願いします!</p>
-				<p class="info" if="{ nidState == 'max-range' }" style="color:#FF1161"><i class="fa fa-fw fa-exclamation-triangle"></i>30文字以内でお願いします</p>
+				<input ref="nid" type="text" pattern="^[a-zA-Z0-9-]{3,30}$" placeholder="ex) misskey-for-ios" autocomplete="off" required="required" onkeyup={ onChangeNid }/>
+				<p class="info" if={ nidState == 'wait' } style="color:#999"><i class="fa fa-fw fa-spinner fa-pulse"></i>確認しています...</p>
+				<p class="info" if={ nidState == 'ok' } style="color:#3CB7B5"><i class="fa fa-fw fa-check"></i>利用できます</p>
+				<p class="info" if={ nidState == 'unavailable' } style="color:#FF1161"><i class="fa fa-fw fa-exclamation-triangle"></i>既に利用されています</p>
+				<p class="info" if={ nidState == 'error' } style="color:#FF1161"><i class="fa fa-fw fa-exclamation-triangle"></i>通信エラー</p>
+				<p class="info" if={ nidState == 'invalid-format' } style="color:#FF1161"><i class="fa fa-fw fa-exclamation-triangle"></i>a~z、A~Z、0~9、-(ハイフン)が使えます</p>
+				<p class="info" if={ nidState == 'min-range' } style="color:#FF1161"><i class="fa fa-fw fa-exclamation-triangle"></i>3文字以上でお願いします!</p>
+				<p class="info" if={ nidState == 'max-range' } style="color:#FF1161"><i class="fa fa-fw fa-exclamation-triangle"></i>30文字以内でお願いします</p>
 			</label>
 		</section>
 		<section class="description">
@@ -73,7 +73,7 @@
 			</div>
 			<p><i class="fa fa-exclamation-triangle"></i>アプリ作成後も変更できますが、新たな権限を付与する場合、その時点で関連付けられているユーザーキーはすべて無効になります。</p>
 		</section>
-		<button onclick="{ onsubmit }">アプリ作成</button>
+		<button onclick={ onsubmit }>アプリ作成</button>
 	</form>
 	<style type="stylus">
 		:scope
diff --git a/src/web/app/dev/tags/pages/app.tag b/src/web/app/dev/tags/pages/app.tag
index 4311f11565..f11f8d7b0c 100644
--- a/src/web/app/dev/tags/pages/app.tag
+++ b/src/web/app/dev/tags/pages/app.tag
@@ -1,12 +1,12 @@
 <mk-app-page>
-	<p if="{ fetching }">読み込み中</p>
-	<main if="{ !fetching }">
+	<p if={ fetching }>読み込み中</p>
+	<main if={ !fetching }>
 		<header>
 			<h1>{ app.name }</h1>
 		</header>
 		<div class="body">
 			<p>App Secret</p>
-			<input value="{ app.secret }" readonly="readonly"/>
+			<input value={ app.secret } readonly="readonly"/>
 		</div>
 	</main>
 	<style type="stylus">
diff --git a/src/web/app/dev/tags/pages/apps.tag b/src/web/app/dev/tags/pages/apps.tag
index b7eb441faa..136933f2b7 100644
--- a/src/web/app/dev/tags/pages/apps.tag
+++ b/src/web/app/dev/tags/pages/apps.tag
@@ -1,11 +1,11 @@
 <mk-apps-page>
 	<h1>アプリを管理</h1><a href="/app/new">アプリ作成</a>
 	<div class="apps">
-		<p if="{ fetching }">読み込み中</p>
-		<virtual if="{ !fetching }">
-			<p if="{ apps.length == 0 }">アプリなし</p>
-			<ul if="{ apps.length &gt; 0 }">
-				<li each="{ app in apps }"><a href="{ '/app/' + app.id }">
+		<p if={ fetching }>読み込み中</p>
+		<virtual if={ !fetching }>
+			<p if={ apps.length == 0 }>アプリなし</p>
+			<ul if={ apps.length &gt; 0 }>
+				<li each={ app in apps }><a href={ '/app/' + app.id }>
 						<p class="name">{ app.name }</p></a></li>
 			</ul>
 		</virtual>
diff --git a/src/web/app/mobile/tags/drive-selector.tag b/src/web/app/mobile/tags/drive-selector.tag
index f4fd24326f..04f5887ca8 100644
--- a/src/web/app/mobile/tags/drive-selector.tag
+++ b/src/web/app/mobile/tags/drive-selector.tag
@@ -1,11 +1,11 @@
 <mk-drive-selector>
 	<div class="body">
 		<header>
-			<h1>ファイルを選択<span class="count" if="{ files.length &gt; 0 }">({ files.length })</span></h1>
-			<button class="close" onclick="{ cancel }"><i class="fa fa-times"></i></button>
-			<button class="ok" onclick="{ ok }"><i class="fa fa-check"></i></button>
+			<h1>ファイルを選択<span class="count" if={ files.length &gt; 0 }>({ files.length })</span></h1>
+			<button class="close" onclick={ cancel }><i class="fa fa-times"></i></button>
+			<button class="ok" onclick={ ok }><i class="fa fa-check"></i></button>
 		</header>
-		<mk-drive ref="browser" select="{ true }" multiple="{ opts.multiple }"></mk-drive>
+		<mk-drive ref="browser" select={ true } multiple={ opts.multiple }></mk-drive>
 	</div>
 	<style type="stylus">
 		:scope
diff --git a/src/web/app/mobile/tags/drive.tag b/src/web/app/mobile/tags/drive.tag
index 005f16d58f..5e9c45b2b3 100644
--- a/src/web/app/mobile/tags/drive.tag
+++ b/src/web/app/mobile/tags/drive.tag
@@ -1,36 +1,36 @@
 <mk-drive>
 	<nav>
-		<p onclick="{ goRoot }"><i class="fa fa-cloud"></i>ドライブ</p>
-		<virtual each="{ folder in hierarchyFolders }"><span><i class="fa fa-angle-right"></i></span>
-			<p onclick="{ _move }">{ folder.name }</p>
-		</virtual><span if="{ folder != null }"><i class="fa fa-angle-right"></i></span>
-		<p if="{ folder != null }">{ folder.name }</p>
+		<p onclick={ goRoot }><i class="fa fa-cloud"></i>ドライブ</p>
+		<virtual each={ folder in hierarchyFolders }><span><i class="fa fa-angle-right"></i></span>
+			<p onclick={ _move }>{ folder.name }</p>
+		</virtual><span if={ folder != null }><i class="fa fa-angle-right"></i></span>
+		<p if={ folder != null }>{ folder.name }</p>
 	</nav>
-	<div class="browser { loading: loading }" if="{ file == null }">
-		<div class="folders" if="{ folders.length &gt; 0 }">
-			<virtual each="{ folder in folders }">
-				<mk-drive-folder folder="{ folder }"></mk-drive-folder>
+	<div class="browser { loading: loading }" if={ file == null }>
+		<div class="folders" if={ folders.length &gt; 0 }>
+			<virtual each={ folder in folders }>
+				<mk-drive-folder folder={ folder }></mk-drive-folder>
 			</virtual>
-			<p if="{ moreFolders }">もっと読み込む</p>
+			<p if={ moreFolders }>もっと読み込む</p>
 		</div>
-		<div class="files" if="{ files.length &gt; 0 }">
-			<virtual each="{ file in files }">
-				<mk-drive-file file="{ file }"></mk-drive-file>
+		<div class="files" if={ files.length &gt; 0 }>
+			<virtual each={ file in files }>
+				<mk-drive-file file={ file }></mk-drive-file>
 			</virtual>
-			<p if="{ moreFiles }">もっと読み込む</p>
+			<p if={ moreFiles }>もっと読み込む</p>
 		</div>
-		<div class="empty" if="{ files.length == 0 &amp;&amp; folders.length == 0 &amp;&amp; !loading }">
-			<p if="{ !folder == null }">ドライブには何もありません。</p>
-			<p if="{ folder != null }">このフォルダーは空です</p>
+		<div class="empty" if={ files.length == 0 &amp;&amp; folders.length == 0 &amp;&amp; !loading }>
+			<p if={ !folder == null }>ドライブには何もありません。</p>
+			<p if={ folder != null }>このフォルダーは空です</p>
 		</div>
-		<div class="loading" if="{ loading }">
+		<div class="loading" if={ loading }>
 			<div class="spinner">
 				<div class="dot1"></div>
 				<div class="dot2"></div>
 			</div>
 		</div>
 	</div>
-	<mk-drive-file-viewer if="{ file != null }" file="{ file }"></mk-drive-file-viewer>
+	<mk-drive-file-viewer if={ file != null } file={ file }></mk-drive-file-viewer>
 	<style type="stylus">
 		:scope
 			display block
diff --git a/src/web/app/mobile/tags/drive/file.tag b/src/web/app/mobile/tags/drive/file.tag
index 3a2aa87731..81007e1075 100644
--- a/src/web/app/mobile/tags/drive/file.tag
+++ b/src/web/app/mobile/tags/drive/file.tag
@@ -1,23 +1,23 @@
-<mk-drive-file onclick="{ onclick }" data-is-selected="{ isSelected }">
+<mk-drive-file onclick={ onclick } data-is-selected={ isSelected }>
 	<div class="container">
-		<div class="thumbnail" style="{ 'background-image: url(' + file.url + '?thumbnail&amp;size=128)' }"></div>
+		<div class="thumbnail" style={ 'background-image: url(' + file.url + '?thumbnail&amp;size=128)' }></div>
 		<div class="body">
 			<p class="name">{ file.name }</p>
 			<!--
 			if file.tags.length > 0
 				ul.tags
 					each tag in file.tags
-						li.tag(style="{background: tag.color, color: contrast(tag.color)}")= tag.name
+						li.tag(style={background: tag.color, color: contrast(tag.color)})= tag.name
 			-->
 			<footer>
 				<p class="type">
-					<mk-file-type-icon file="{ file }"></mk-file-type-icon>{ file.type }
+					<mk-file-type-icon file={ file }></mk-file-type-icon>{ file.type }
 				</p>
 				<p class="separator"></p>
 				<p class="data-size">{ bytesToSize(file.datasize) }</p>
 				<p class="separator"></p>
 				<p class="created-at"><i class="fa fa-clock-o"></i>
-					<mk-time time="{ file.created_at }"></mk-time>
+					<mk-time time={ file.created_at }></mk-time>
 				</p>
 			</footer>
 		</div>
diff --git a/src/web/app/mobile/tags/drive/folder.tag b/src/web/app/mobile/tags/drive/folder.tag
index 5a13686d4f..14635a529a 100644
--- a/src/web/app/mobile/tags/drive/folder.tag
+++ b/src/web/app/mobile/tags/drive/folder.tag
@@ -1,4 +1,4 @@
-<mk-drive-folder onclick="{ onclick }">
+<mk-drive-folder onclick={ onclick }>
 	<div class="container">
 		<p class="name"><i class="fa fa-folder"></i>{ folder.name }</p><i class="fa fa-angle-right"></i>
 	</div>
diff --git a/src/web/app/mobile/tags/follow-button.tag b/src/web/app/mobile/tags/follow-button.tag
index d44fd3b79b..eae935950d 100644
--- a/src/web/app/mobile/tags/follow-button.tag
+++ b/src/web/app/mobile/tags/follow-button.tag
@@ -1,6 +1,6 @@
 <mk-follow-button>
-	<button class="{ wait: wait, follow: !user.is_following, unfollow: user.is_following }" if="{ !init }" onclick="{ onclick }" disabled="{ wait }"><i class="fa fa-minus" if="{ !wait &amp;&amp; user.is_following }"></i><i class="fa fa-plus" if="{ !wait &amp;&amp; !user.is_following }"></i><i class="fa fa-spinner fa-pulse fa-fw" if="{ wait }"></i>{ user.is_following ? 'フォロー解除' : 'フォロー' }</button>
-	<div class="init" if="{ init }"><i class="fa fa-spinner fa-pulse fa-fw"></i></div>
+	<button class={ wait: wait, follow: !user.is_following, unfollow: user.is_following } if={ !init } onclick={ onclick } disabled={ wait }><i class="fa fa-minus" if={ !wait &amp;&amp; user.is_following }></i><i class="fa fa-plus" if={ !wait &amp;&amp; !user.is_following }></i><i class="fa fa-spinner fa-pulse fa-fw" if={ wait }></i>{ user.is_following ? 'フォロー解除' : 'フォロー' }</button>
+	<div class="init" if={ init }><i class="fa fa-spinner fa-pulse fa-fw"></i></div>
 	<style type="stylus">
 		:scope
 			display block
diff --git a/src/web/app/mobile/tags/home-timeline.tag b/src/web/app/mobile/tags/home-timeline.tag
index 6ad7270cef..1f4f30b473 100644
--- a/src/web/app/mobile/tags/home-timeline.tag
+++ b/src/web/app/mobile/tags/home-timeline.tag
@@ -1,5 +1,5 @@
 <mk-home-timeline>
-	<mk-timeline ref="timeline" init="{ init }" more="{ more }" empty="{ '表示する投稿がありません。誰かしらをフォローするなどしましょう。' }"></mk-timeline>
+	<mk-timeline ref="timeline" init={ init } more={ more } empty={ '表示する投稿がありません。誰かしらをフォローするなどしましょう。' }></mk-timeline>
 	<style type="stylus">
 		:scope
 			display block
diff --git a/src/web/app/mobile/tags/images-viewer.tag b/src/web/app/mobile/tags/images-viewer.tag
index 12bb8e345d..9b7ce478aa 100644
--- a/src/web/app/mobile/tags/images-viewer.tag
+++ b/src/web/app/mobile/tags/images-viewer.tag
@@ -1,5 +1,5 @@
 <mk-images-viewer>
-	<div class="image" ref="view" onclick="{ click }"><img ref="img" src="{ image.url + '?thumbnail&amp;size=512' }" alt="{ image.name }" title="{ image.name }"/></div>
+	<div class="image" ref="view" onclick={ click }><img ref="img" src={ image.url + '?thumbnail&amp;size=512' } alt={ image.name } title={ image.name }/></div>
 	<style type="stylus">
 		:scope
 			display block
diff --git a/src/web/app/mobile/tags/notification-preview.tag b/src/web/app/mobile/tags/notification-preview.tag
index c6b7414a81..702a00ba63 100644
--- a/src/web/app/mobile/tags/notification-preview.tag
+++ b/src/web/app/mobile/tags/notification-preview.tag
@@ -1,34 +1,34 @@
-<mk-notification-preview class="{ notification.type }">
-	<div class="main" if="{ notification.type == 'like' }"><img class="avatar" src="{ notification.user.avatar_url + '?thumbnail&amp;size=64' }" alt="avatar"/>
+<mk-notification-preview class={ notification.type }>
+	<div class="main" if={ notification.type == 'like' }><img class="avatar" src={ notification.user.avatar_url + '?thumbnail&amp;size=64' } alt="avatar"/>
 		<div class="text">
 			<p><i class="fa fa-thumbs-o-up"></i>{ notification.user.name }</p>
 			<p class="post-ref">{ getPostSummary(notification.post) }</p>
 		</div>
 	</div>
-	<div class="main" if="{ notification.type == 'repost' }"><img class="avatar" src="{ notification.post.user.avatar_url + '?thumbnail&amp;size=64' }" alt="avatar"/>
+	<div class="main" if={ notification.type == 'repost' }><img class="avatar" src={ notification.post.user.avatar_url + '?thumbnail&amp;size=64' } alt="avatar"/>
 		<div class="text">
 			<p><i class="fa fa-retweet"></i>{ notification.post.user.name }</p>
 			<p class="post-ref">{ getPostSummary(notification.post.repost) }</p>
 		</div>
 	</div>
-	<div class="main" if="{ notification.type == 'quote' }"><img class="avatar" src="{ notification.post.user.avatar_url + '?thumbnail&amp;size=64' }" alt="avatar"/>
+	<div class="main" if={ notification.type == 'quote' }><img class="avatar" src={ notification.post.user.avatar_url + '?thumbnail&amp;size=64' } alt="avatar"/>
 		<div class="text">
 			<p><i class="fa fa-quote-left"></i>{ notification.post.user.name }</p>
 			<p class="post-preview">{ getPostSummary(notification.post) }</p>
 		</div>
 	</div>
-	<div class="main" if="{ notification.type == 'follow' }"><img class="avatar" src="{ notification.user.avatar_url + '?thumbnail&amp;size=64' }" alt="avatar"/>
+	<div class="main" if={ notification.type == 'follow' }><img class="avatar" src={ notification.user.avatar_url + '?thumbnail&amp;size=64' } alt="avatar"/>
 		<div class="text">
 			<p><i class="fa fa-user-plus"></i>{ notification.user.name }</p>
 		</div>
 	</div>
-	<div class="main" if="{ notification.type == 'reply' }"><img class="avatar" src="{ notification.post.user.avatar_url + '?thumbnail&amp;size=64' }" alt="avatar"/>
+	<div class="main" if={ notification.type == 'reply' }><img class="avatar" src={ notification.post.user.avatar_url + '?thumbnail&amp;size=64' } alt="avatar"/>
 		<div class="text">
 			<p><i class="fa fa-reply"></i>{ notification.post.user.name }</p>
 			<p class="post-preview">{ getPostSummary(notification.post) }</p>
 		</div>
 	</div>
-	<div class="main" if="{ notification.type == 'mention' }"><img class="avatar" src="{ notification.post.user.avatar_url + '?thumbnail&amp;size=64' }" alt="avatar"/>
+	<div class="main" if={ notification.type == 'mention' }><img class="avatar" src={ notification.post.user.avatar_url + '?thumbnail&amp;size=64' } alt="avatar"/>
 		<div class="text">
 			<p><i class="fa fa-at"></i>{ notification.post.user.name }</p>
 			<p class="post-preview">{ getPostSummary(notification.post) }</p>
diff --git a/src/web/app/mobile/tags/notification.tag b/src/web/app/mobile/tags/notification.tag
index 155ebf2930..5220198a73 100644
--- a/src/web/app/mobile/tags/notification.tag
+++ b/src/web/app/mobile/tags/notification.tag
@@ -1,33 +1,33 @@
-<mk-notification class="{ notification.type }">
-	<mk-time time="{ notification.created_at }"></mk-time>
-	<div class="main" if="{ notification.type == 'like' }"><a class="avatar-anchor" href="{ CONFIG.url + '/' + notification.user.username }"><img class="avatar" src="{ notification.user.avatar_url + '?thumbnail&amp;size=64' }" alt="avatar"/></a>
+<mk-notification class={ notification.type }>
+	<mk-time time={ notification.created_at }></mk-time>
+	<div class="main" if={ notification.type == 'like' }><a class="avatar-anchor" href={ CONFIG.url + '/' + notification.user.username }><img class="avatar" src={ notification.user.avatar_url + '?thumbnail&amp;size=64' } alt="avatar"/></a>
 		<div class="text">
-			<p><i class="fa fa-thumbs-o-up"></i><a href="{ CONFIG.url + '/' + notification.user.username }">{ notification.user.name }</a></p><a class="post-ref" href="{ CONFIG.url + '/' + notification.post.user.username + '/' + notification.post.id }">{ getPostSummary(notification.post) }</a>
+			<p><i class="fa fa-thumbs-o-up"></i><a href={ CONFIG.url + '/' + notification.user.username }>{ notification.user.name }</a></p><a class="post-ref" href={ CONFIG.url + '/' + notification.post.user.username + '/' + notification.post.id }>{ getPostSummary(notification.post) }</a>
 		</div>
 	</div>
-	<div class="main" if="{ notification.type == 'repost' }"><a class="avatar-anchor" href="{ CONFIG.url + '/' + notification.post.user.username }"><img class="avatar" src="{ notification.post.user.avatar_url + '?thumbnail&amp;size=64' }" alt="avatar"/></a>
+	<div class="main" if={ notification.type == 'repost' }><a class="avatar-anchor" href={ CONFIG.url + '/' + notification.post.user.username }><img class="avatar" src={ notification.post.user.avatar_url + '?thumbnail&amp;size=64' } alt="avatar"/></a>
 		<div class="text">
-			<p><i class="fa fa-retweet"></i><a href="{ CONFIG.url + '/' + notification.post.user.username }">{ notification.post.user.name }</a></p><a class="post-ref" href="{ CONFIG.url + '/' + notification.post.user.username + '/' + notification.post.id }">{ getPostSummary(notification.post.repost) }</a>
+			<p><i class="fa fa-retweet"></i><a href={ CONFIG.url + '/' + notification.post.user.username }>{ notification.post.user.name }</a></p><a class="post-ref" href={ CONFIG.url + '/' + notification.post.user.username + '/' + notification.post.id }>{ getPostSummary(notification.post.repost) }</a>
 		</div>
 	</div>
-	<div class="main" if="{ notification.type == 'quote' }"><a class="avatar-anchor" href="{ CONFIG.url + '/' + notification.post.user.username }"><img class="avatar" src="{ notification.post.user.avatar_url + '?thumbnail&amp;size=64' }" alt="avatar"/></a>
+	<div class="main" if={ notification.type == 'quote' }><a class="avatar-anchor" href={ CONFIG.url + '/' + notification.post.user.username }><img class="avatar" src={ notification.post.user.avatar_url + '?thumbnail&amp;size=64' } alt="avatar"/></a>
 		<div class="text">
-			<p><i class="fa fa-quote-left"></i><a href="{ CONFIG.url + '/' + notification.post.user.username }">{ notification.post.user.name }</a></p><a class="post-preview" href="{ CONFIG.url + '/' + notification.post.user.username + '/' + notification.post.id }">{ getPostSummary(notification.post) }</a>
+			<p><i class="fa fa-quote-left"></i><a href={ CONFIG.url + '/' + notification.post.user.username }>{ notification.post.user.name }</a></p><a class="post-preview" href={ CONFIG.url + '/' + notification.post.user.username + '/' + notification.post.id }>{ getPostSummary(notification.post) }</a>
 		</div>
 	</div>
-	<div class="main" if="{ notification.type == 'follow' }"><a class="avatar-anchor" href="{ CONFIG.url + '/' + notification.user.username }"><img class="avatar" src="{ notification.user.avatar_url + '?thumbnail&amp;size=64' }" alt="avatar"/></a>
+	<div class="main" if={ notification.type == 'follow' }><a class="avatar-anchor" href={ CONFIG.url + '/' + notification.user.username }><img class="avatar" src={ notification.user.avatar_url + '?thumbnail&amp;size=64' } alt="avatar"/></a>
 		<div class="text">
-			<p><i class="fa fa-user-plus"></i><a href="{ CONFIG.url + '/' + notification.user.username }">{ notification.user.name }</a></p>
+			<p><i class="fa fa-user-plus"></i><a href={ CONFIG.url + '/' + notification.user.username }>{ notification.user.name }</a></p>
 		</div>
 	</div>
-	<div class="main" if="{ notification.type == 'reply' }"><a class="avatar-anchor" href="{ CONFIG.url + '/' + notification.post.user.username }"><img class="avatar" src="{ notification.post.user.avatar_url + '?thumbnail&amp;size=64' }" alt="avatar"/></a>
+	<div class="main" if={ notification.type == 'reply' }><a class="avatar-anchor" href={ CONFIG.url + '/' + notification.post.user.username }><img class="avatar" src={ notification.post.user.avatar_url + '?thumbnail&amp;size=64' } alt="avatar"/></a>
 		<div class="text">
-			<p><i class="fa fa-reply"></i><a href="{ CONFIG.url + '/' + notification.post.user.username }">{ notification.post.user.name }</a></p><a class="post-preview" href="{ CONFIG.url + '/' + notification.post.user.username + '/' + notification.post.id }">{ getPostSummary(notification.post) }</a>
+			<p><i class="fa fa-reply"></i><a href={ CONFIG.url + '/' + notification.post.user.username }>{ notification.post.user.name }</a></p><a class="post-preview" href={ CONFIG.url + '/' + notification.post.user.username + '/' + notification.post.id }>{ getPostSummary(notification.post) }</a>
 		</div>
 	</div>
-	<div class="main" if="{ notification.type == 'mention' }"><a class="avatar-anchor" href="{ CONFIG.url + '/' + notification.post.user.username }"><img class="avatar" src="{ notification.post.user.avatar_url + '?thumbnail&amp;size=64' }" alt="avatar"/></a>
+	<div class="main" if={ notification.type == 'mention' }><a class="avatar-anchor" href={ CONFIG.url + '/' + notification.post.user.username }><img class="avatar" src={ notification.post.user.avatar_url + '?thumbnail&amp;size=64' } alt="avatar"/></a>
 		<div class="text">
-			<p><i class="fa fa-at"></i><a href="{ CONFIG.url + '/' + notification.post.user.username }">{ notification.post.user.name }</a></p><a class="post-preview" href="{ CONFIG.url + '/' + notification.post.user.username + '/' + notification.post.id }">{ getPostSummary(notification.post) }</a>
+			<p><i class="fa fa-at"></i><a href={ CONFIG.url + '/' + notification.post.user.username }>{ notification.post.user.name }</a></p><a class="post-preview" href={ CONFIG.url + '/' + notification.post.user.username + '/' + notification.post.id }>{ getPostSummary(notification.post) }</a>
 		</div>
 	</div>
 	<style type="stylus">
diff --git a/src/web/app/mobile/tags/notifications.tag b/src/web/app/mobile/tags/notifications.tag
index 9ebe1dc5c8..a88c4a1003 100644
--- a/src/web/app/mobile/tags/notifications.tag
+++ b/src/web/app/mobile/tags/notifications.tag
@@ -1,12 +1,12 @@
 <mk-notifications>
-	<div class="notifications" if="{ notifications.length != 0 }">
-		<virtual each="{ notification, i in notifications }">
-			<mk-notification notification="{ notification }"></mk-notification>
-			<p class="date" if="{ i != notifications.length - 1 &amp;&amp; notification._date != notifications[i + 1]._date }"><span><i class="fa fa-angle-up"></i>{ notification._datetext }</span><span><i class="fa fa-angle-down"></i>{ notifications[i + 1]._datetext }</span></p>
+	<div class="notifications" if={ notifications.length != 0 }>
+		<virtual each={ notification, i in notifications }>
+			<mk-notification notification={ notification }></mk-notification>
+			<p class="date" if={ i != notifications.length - 1 &amp;&amp; notification._date != notifications[i + 1]._date }><span><i class="fa fa-angle-up"></i>{ notification._datetext }</span><span><i class="fa fa-angle-down"></i>{ notifications[i + 1]._datetext }</span></p>
 		</virtual>
 	</div>
-	<p class="empty" if="{ notifications.length == 0 &amp;&amp; !loading }">ありません!</p>
-	<p class="loading" if="{ loading }"><i class="fa fa-spinner fa-pulse fa-fw"></i>読み込んでいます
+	<p class="empty" if={ notifications.length == 0 &amp;&amp; !loading }>ありません!</p>
+	<p class="loading" if={ loading }><i class="fa fa-spinner fa-pulse fa-fw"></i>読み込んでいます
 		<mk-ellipsis></mk-ellipsis>
 	</p>
 	<style type="stylus">
diff --git a/src/web/app/mobile/tags/notify.tag b/src/web/app/mobile/tags/notify.tag
index e50a1ef6c1..63215a927a 100644
--- a/src/web/app/mobile/tags/notify.tag
+++ b/src/web/app/mobile/tags/notify.tag
@@ -1,5 +1,5 @@
 <mk-notify>
-	<mk-notification-preview notification="{ opts.notification }"></mk-notification-preview>
+	<mk-notification-preview notification={ opts.notification }></mk-notification-preview>
 	<style type="stylus">
 		:scope
 			display block
diff --git a/src/web/app/mobile/tags/page/drive.tag b/src/web/app/mobile/tags/page/drive.tag
index 02287cecde..ac1796ec43 100644
--- a/src/web/app/mobile/tags/page/drive.tag
+++ b/src/web/app/mobile/tags/page/drive.tag
@@ -1,6 +1,6 @@
 <mk-drive-page>
 	<mk-ui ref="ui">
-		<mk-drive ref="browser" folder="{ parent.opts.folder }" file="{ parent.opts.file }"></mk-drive>
+		<mk-drive ref="browser" folder={ parent.opts.folder } file={ parent.opts.file }></mk-drive>
 	</mk-ui>
 	<style type="stylus">
 		:scope
diff --git a/src/web/app/mobile/tags/page/entrance.tag b/src/web/app/mobile/tags/page/entrance.tag
index 85910e8e89..3f2bb6f8f7 100644
--- a/src/web/app/mobile/tags/page/entrance.tag
+++ b/src/web/app/mobile/tags/page/entrance.tag
@@ -1,10 +1,10 @@
 <mk-entrance>
 	<main><img src="/_/resources/title.svg" alt="Misskey"/>
-		<mk-entrance-signin if="{ mode == 'signin' }"></mk-entrance-signin>
-		<mk-entrance-signup if="{ mode == 'signup' }"></mk-entrance-signup>
-		<div class="introduction" if="{ mode == 'introduction' }">
+		<mk-entrance-signin if={ mode == 'signin' }></mk-entrance-signin>
+		<mk-entrance-signup if={ mode == 'signup' }></mk-entrance-signup>
+		<div class="introduction" if={ mode == 'introduction' }>
 			<mk-introduction></mk-introduction>
-			<button onclick="{ signin }">わかった</button>
+			<button onclick={ signin }>わかった</button>
 		</div>
 	</main>
 	<footer>
diff --git a/src/web/app/mobile/tags/page/entrance/signin.tag b/src/web/app/mobile/tags/page/entrance/signin.tag
index 0c5efe620f..2f28fc231e 100644
--- a/src/web/app/mobile/tags/page/entrance/signin.tag
+++ b/src/web/app/mobile/tags/page/entrance/signin.tag
@@ -1,7 +1,7 @@
 <mk-entrance-signin>
 	<mk-signin></mk-signin>
 	<div class="divider"><span>or</span></div>
-	<button class="signup" onclick="{ parent.signup }">新規登録</button><a class="introduction" onclick="{ parent.introduction }">Misskeyについて</a>
+	<button class="signup" onclick={ parent.signup }>新規登録</button><a class="introduction" onclick={ parent.introduction }>Misskeyについて</a>
 	<style type="stylus">
 		:scope
 			display block
diff --git a/src/web/app/mobile/tags/page/entrance/signup.tag b/src/web/app/mobile/tags/page/entrance/signup.tag
index 77dff97511..4fb1667a0b 100644
--- a/src/web/app/mobile/tags/page/entrance/signup.tag
+++ b/src/web/app/mobile/tags/page/entrance/signup.tag
@@ -1,6 +1,6 @@
 <mk-entrance-signup>
 	<mk-signup></mk-signup>
-	<button class="cancel" type="button" onclick="{ parent.signin }" title="キャンセル"><i class="fa fa-times"></i></button>
+	<button class="cancel" type="button" onclick={ parent.signin } title="キャンセル"><i class="fa fa-times"></i></button>
 	<style type="stylus">
 		:scope
 			display block
diff --git a/src/web/app/mobile/tags/page/post.tag b/src/web/app/mobile/tags/page/post.tag
index 40ba429ec4..19d4123dfd 100644
--- a/src/web/app/mobile/tags/page/post.tag
+++ b/src/web/app/mobile/tags/page/post.tag
@@ -1,7 +1,7 @@
 <mk-post-page>
 	<mk-ui ref="ui">
 		<main>
-			<mk-post-detail ref="post" post="{ parent.post }"></mk-post-detail>
+			<mk-post-detail ref="post" post={ parent.post }></mk-post-detail>
 		</main>
 	</mk-ui>
 	<style type="stylus">
diff --git a/src/web/app/mobile/tags/page/search.tag b/src/web/app/mobile/tags/page/search.tag
index 9dd1d4e92a..020749d8e2 100644
--- a/src/web/app/mobile/tags/page/search.tag
+++ b/src/web/app/mobile/tags/page/search.tag
@@ -1,6 +1,6 @@
 <mk-search-page>
 	<mk-ui ref="ui">
-		<mk-search ref="search" query="{ parent.opts.query }"></mk-search>
+		<mk-search ref="search" query={ parent.opts.query }></mk-search>
 	</mk-ui>
 	<style type="stylus">
 		:scope
diff --git a/src/web/app/mobile/tags/page/user-followers.tag b/src/web/app/mobile/tags/page/user-followers.tag
index 9809f7085f..1fb30f9e21 100644
--- a/src/web/app/mobile/tags/page/user-followers.tag
+++ b/src/web/app/mobile/tags/page/user-followers.tag
@@ -1,6 +1,6 @@
 <mk-user-followers-page>
 	<mk-ui ref="ui">
-		<mk-user-followers ref="list" if="{ !parent.fetching }" user="{ parent.user }"></mk-user-followers>
+		<mk-user-followers ref="list" if={ !parent.fetching } user={ parent.user }></mk-user-followers>
 	</mk-ui>
 	<style type="stylus">
 		:scope
diff --git a/src/web/app/mobile/tags/page/user-following.tag b/src/web/app/mobile/tags/page/user-following.tag
index 71070eb0da..8902301cfa 100644
--- a/src/web/app/mobile/tags/page/user-following.tag
+++ b/src/web/app/mobile/tags/page/user-following.tag
@@ -1,6 +1,6 @@
 <mk-user-following-page>
 	<mk-ui ref="ui">
-		<mk-user-following ref="list" if="{ !parent.fetching }" user="{ parent.user }"></mk-user-following>
+		<mk-user-following ref="list" if={ !parent.fetching } user={ parent.user }></mk-user-following>
 	</mk-ui>
 	<style type="stylus">
 		:scope
diff --git a/src/web/app/mobile/tags/page/user.tag b/src/web/app/mobile/tags/page/user.tag
index f6106c95cc..eade5ee85d 100644
--- a/src/web/app/mobile/tags/page/user.tag
+++ b/src/web/app/mobile/tags/page/user.tag
@@ -1,6 +1,6 @@
 <mk-user-page>
 	<mk-ui ref="ui">
-		<mk-user ref="user" user="{ parent.user }" page="{ parent.opts.page }"></mk-user>
+		<mk-user ref="user" user={ parent.user } page={ parent.opts.page }></mk-user>
 	</mk-ui>
 	<style type="stylus">
 		:scope
diff --git a/src/web/app/mobile/tags/post-detail.tag b/src/web/app/mobile/tags/post-detail.tag
index b8d8ec3d8d..c649ebe5f5 100644
--- a/src/web/app/mobile/tags/post-detail.tag
+++ b/src/web/app/mobile/tags/post-detail.tag
@@ -1,63 +1,63 @@
 <mk-post-detail>
-	<div class="fetching" if="{ fetching }">
+	<div class="fetching" if={ fetching }>
 		<mk-ellipsis-icon></mk-ellipsis-icon>
 	</div>
-	<div class="main" if="{ !fetching }">
-		<button class="read-more" if="{ p.reply_to &amp;&amp; p.reply_to.reply_to_id &amp;&amp; context == null }" onclick="{ loadContext }" disabled="{ loadingContext }"><i class="fa fa-ellipsis-v" if="{ !loadingContext }"></i><i class="fa fa-spinner fa-pulse" if="{ loadingContext }"></i></button>
+	<div class="main" if={ !fetching }>
+		<button class="read-more" if={ p.reply_to &amp;&amp; p.reply_to.reply_to_id &amp;&amp; context == null } onclick={ loadContext } disabled={ loadingContext }><i class="fa fa-ellipsis-v" if={ !loadingContext }></i><i class="fa fa-spinner fa-pulse" if={ loadingContext }></i></button>
 		<div class="context">
-			<virtual each="{ post in context }">
-				<mk-post-preview post="{ post }"></mk-post-preview>
+			<virtual each={ post in context }>
+				<mk-post-preview post={ post }></mk-post-preview>
 			</virtual>
 		</div>
-		<div class="reply-to" if="{ p.reply_to }">
-			<mk-post-preview post="{ p.reply_to }"></mk-post-preview>
+		<div class="reply-to" if={ p.reply_to }>
+			<mk-post-preview post={ p.reply_to }></mk-post-preview>
 		</div>
-		<div class="repost" if="{ isRepost }">
-			<p><a class="avatar-anchor" href="{ CONFIG.url + '/' + post.user.username }"><img class="avatar" src="{ post.user.avatar_url + '?thumbnail&amp;size=32' }" alt="avatar"/></a><i class="fa fa-retweet"></i><a class="name" href="{ CONFIG.url + '/' + post.user.username }">{ post.user.name }</a>がRepost</p>
+		<div class="repost" if={ isRepost }>
+			<p><a class="avatar-anchor" href={ CONFIG.url + '/' + post.user.username }><img class="avatar" src={ post.user.avatar_url + '?thumbnail&amp;size=32' } alt="avatar"/></a><i class="fa fa-retweet"></i><a class="name" href={ CONFIG.url + '/' + post.user.username }>{ post.user.name }</a>がRepost</p>
 		</div>
-		<article><a class="avatar-anchor" href="{ CONFIG.url + '/' + p.user.username }"><img class="avatar" src="{ p.user.avatar_url + '?thumbnail&amp;size=64' }" alt="avatar"/></a>
-			<header><a class="name" href="{ CONFIG.url + '/' + p.user.username }">{ p.user.name }</a><span class="username">@{ p.user.username }</span></header>
+		<article><a class="avatar-anchor" href={ CONFIG.url + '/' + p.user.username }><img class="avatar" src={ p.user.avatar_url + '?thumbnail&amp;size=64' } alt="avatar"/></a>
+			<header><a class="name" href={ CONFIG.url + '/' + p.user.username }>{ p.user.name }</a><span class="username">@{ p.user.username }</span></header>
 			<div class="body">
 				<div class="text" ref="text"></div>
-				<div class="media" if="{ p.media }">
-					<virtual each="{ file in p.media }"><img src="{ file.url + '?thumbnail&amp;size=512' }" alt="{ file.name }" title="{ file.name }"/></virtual>
+				<div class="media" if={ p.media }>
+					<virtual each={ file in p.media }><img src={ file.url + '?thumbnail&amp;size=512' } alt={ file.name } title={ file.name }/></virtual>
 				</div>
-			</div><a class="time" href="{ url }">
-				<mk-time time="{ p.created_at }" mode="detail"></mk-time></a>
+			</div><a class="time" href={ url }>
+				<mk-time time={ p.created_at } mode="detail"></mk-time></a>
 			<footer>
-				<button onclick="{ reply }" title="返信"><i class="fa fa-reply"></i>
-					<p class="count" if="{ p.replies_count &gt; 0 }">{ p.replies_count }</p>
+				<button onclick={ reply } title="返信"><i class="fa fa-reply"></i>
+					<p class="count" if={ p.replies_count &gt; 0 }>{ p.replies_count }</p>
 				</button>
-				<button onclick="{ repost }" title="Repost"><i class="fa fa-retweet"></i>
-					<p class="count" if="{ p.repost_count &gt; 0 }">{ p.repost_count }</p>
+				<button onclick={ repost } title="Repost"><i class="fa fa-retweet"></i>
+					<p class="count" if={ p.repost_count &gt; 0 }>{ p.repost_count }</p>
 				</button>
-				<button class="{ liked: p.is_liked }" onclick="{ like }" title="善哉"><i class="fa fa-thumbs-o-up"></i>
-					<p class="count" if="{ p.likes_count &gt; 0 }">{ p.likes_count }</p>
+				<button class={ liked: p.is_liked } onclick={ like } title="善哉"><i class="fa fa-thumbs-o-up"></i>
+					<p class="count" if={ p.likes_count &gt; 0 }>{ p.likes_count }</p>
 				</button>
-				<button onclick="{ NotImplementedException }"><i class="fa fa-ellipsis-h"></i></button>
+				<button onclick={ NotImplementedException }><i class="fa fa-ellipsis-h"></i></button>
 			</footer>
 			<div class="reposts-and-likes">
-				<div class="reposts" if="{ reposts &amp;&amp; reposts.length &gt; 0 }">
+				<div class="reposts" if={ reposts &amp;&amp; reposts.length &gt; 0 }>
 					<header><a>{ p.repost_count }</a>
 						<p>Repost</p>
 					</header>
 					<ol class="users">
-						<li class="user" each="{ reposts }"><a class="avatar-anchor" href="{ CONFIG.url + '/' + user.username }" title="{ user.name }"><img class="avatar" src="{ user.avatar_url + '?thumbnail&amp;size=32' }" alt=""/></a></li>
+						<li class="user" each={ reposts }><a class="avatar-anchor" href={ CONFIG.url + '/' + user.username } title={ user.name }><img class="avatar" src={ user.avatar_url + '?thumbnail&amp;size=32' } alt=""/></a></li>
 					</ol>
 				</div>
-				<div class="likes" if="{ likes &amp;&amp; likes.length &gt; 0 }">
+				<div class="likes" if={ likes &amp;&amp; likes.length &gt; 0 }>
 					<header><a>{ p.likes_count }</a>
 						<p>いいね</p>
 					</header>
 					<ol class="users">
-						<li class="user" each="{ likes }"><a class="avatar-anchor" href="{ CONFIG.url + '/' + username }" title="{ name }"><img class="avatar" src="{ avatar_url + '?thumbnail&amp;size=32' }" alt=""/></a></li>
+						<li class="user" each={ likes }><a class="avatar-anchor" href={ CONFIG.url + '/' + username } title={ name }><img class="avatar" src={ avatar_url + '?thumbnail&amp;size=32' } alt=""/></a></li>
 					</ol>
 				</div>
 			</div>
 		</article>
 		<div class="replies">
-			<virtual each="{ post in replies }">
-				<mk-post-detail-sub post="{ post }"></mk-post-detail-sub>
+			<virtual each={ post in replies }>
+				<mk-post-detail-sub post={ post }></mk-post-detail-sub>
 			</virtual>
 		</div>
 	</div>
diff --git a/src/web/app/mobile/tags/post-form.tag b/src/web/app/mobile/tags/post-form.tag
index 838de1fc48..07ecdf1714 100644
--- a/src/web/app/mobile/tags/post-form.tag
+++ b/src/web/app/mobile/tags/post-form.tag
@@ -1,27 +1,27 @@
 <mk-post-form>
 	<header>
 		<div>
-			<button class="cancel" onclick="{ cancel }"><i class="fa fa-times"></i></button>
+			<button class="cancel" onclick={ cancel }><i class="fa fa-times"></i></button>
 			<div><span class="text-count { over: refs.text.value.length &gt; 300 }">{ 300 - refs.text.value.length }</span>
-				<button class="submit" onclick="{ post }">投稿</button>
+				<button class="submit" onclick={ post }>投稿</button>
 			</div>
 		</div>
 	</header>
 	<div class="form">
-		<mk-post-preview if="{ opts.reply }" post="{ opts.reply }"></mk-post-preview>
-		<textarea ref="text" disabled="{ wait }" oninput="{ update }" onkeypress="{ onkeypress }" onpaste="{ onpaste }" placeholder="{ opts.reply ? 'この投稿への返信...' : 'いまどうしてる?' }"></textarea>
-		<div class="attaches" if="{ files.length != 0 }">
+		<mk-post-preview if={ opts.reply } post={ opts.reply }></mk-post-preview>
+		<textarea ref="text" disabled={ wait } oninput={ update } onkeypress={ onkeypress } onpaste={ onpaste } placeholder={ opts.reply ? 'この投稿への返信...' : 'いまどうしてる?' }></textarea>
+		<div class="attaches" if={ files.length != 0 }>
 			<ul class="files" ref="attaches">
-				<li class="file" each="{ files }">
-					<div class="img" style="background-image: url({ url + &quot;?thumbnail&amp;size=64&quot; })" title="{ name }"></div>
+				<li class="file" each={ files }>
+					<div class="img" style="background-image: url({ url + &quot;?thumbnail&amp;size=64&quot; })" title={ name }></div>
 				</li>
-				<li class="add" if="{ files.length &lt; 4 }" title="PCからファイルを添付" onclick="{ selectFile }"><i class="fa fa-plus"></i></li>
+				<li class="add" if={ files.length &lt; 4 } title="PCからファイルを添付" onclick={ selectFile }><i class="fa fa-plus"></i></li>
 			</ul>
 		</div>
 		<mk-uploader ref="uploader"></mk-uploader>
-		<button ref="upload" onclick="{ selectFile }"><i class="fa fa-upload"></i></button>
-		<button ref="drive" onclick="{ selectFileFromDrive }"><i class="fa fa-cloud"></i></button>
-		<input ref="file" type="file" accept="image/*" multiple="multiple" onchange="{ changeFile }"/>
+		<button ref="upload" onclick={ selectFile }><i class="fa fa-upload"></i></button>
+		<button ref="drive" onclick={ selectFileFromDrive }><i class="fa fa-cloud"></i></button>
+		<input ref="file" type="file" accept="image/*" multiple="multiple" onchange={ changeFile }/>
 	</div>
 	<style type="stylus">
 		:scope
diff --git a/src/web/app/mobile/tags/post-preview.tag b/src/web/app/mobile/tags/post-preview.tag
index 71faab2b85..05dcd3ea1c 100644
--- a/src/web/app/mobile/tags/post-preview.tag
+++ b/src/web/app/mobile/tags/post-preview.tag
@@ -1,10 +1,10 @@
 <mk-post-preview>
-	<article><a class="avatar-anchor" href="{ CONFIG.url + '/' + post.user.username }"><img class="avatar" src="{ post.user.avatar_url + '?thumbnail&amp;size=64' }" alt="avatar"/></a>
+	<article><a class="avatar-anchor" href={ CONFIG.url + '/' + post.user.username }><img class="avatar" src={ post.user.avatar_url + '?thumbnail&amp;size=64' } alt="avatar"/></a>
 		<div class="main">
-			<header><a class="name" href="{ CONFIG.url + '/' + post.user.username }">{ post.user.name }</a><span class="username">@{ post.user.username }</span><a class="time" href="{ CONFIG.url + '/' + post.user.username + '/' + post.id }">
-					<mk-time time="{ post.created_at }"></mk-time></a></header>
+			<header><a class="name" href={ CONFIG.url + '/' + post.user.username }>{ post.user.name }</a><span class="username">@{ post.user.username }</span><a class="time" href={ CONFIG.url + '/' + post.user.username + '/' + post.id }>
+					<mk-time time={ post.created_at }></mk-time></a></header>
 			<div class="body">
-				<mk-sub-post-content class="text" post="{ post }"></mk-sub-post-content>
+				<mk-sub-post-content class="text" post={ post }></mk-sub-post-content>
 			</div>
 		</div>
 	</article>
diff --git a/src/web/app/mobile/tags/search-posts.tag b/src/web/app/mobile/tags/search-posts.tag
index c22d794b5b..dab72b73cd 100644
--- a/src/web/app/mobile/tags/search-posts.tag
+++ b/src/web/app/mobile/tags/search-posts.tag
@@ -1,5 +1,5 @@
 <mk-search-posts>
-	<mk-timeline init="{ init }" more="{ more }" empty="{ '「' + query + '」に関する投稿は見つかりませんでした。' }"></mk-timeline>
+	<mk-timeline init={ init } more={ more } empty={ '「' + query + '」に関する投稿は見つかりませんでした。' }></mk-timeline>
 	<style type="stylus">
 		:scope
 			display block
diff --git a/src/web/app/mobile/tags/search.tag b/src/web/app/mobile/tags/search.tag
index bb0744147f..861d4d4c78 100644
--- a/src/web/app/mobile/tags/search.tag
+++ b/src/web/app/mobile/tags/search.tag
@@ -1,5 +1,5 @@
 <mk-search>
-	<mk-search-posts ref="posts" query="{ query }"></mk-search-posts>
+	<mk-search-posts ref="posts" query={ query }></mk-search-posts>
 	<style type="stylus">
 		:scope
 			display block
diff --git a/src/web/app/mobile/tags/stream-indicator.tag b/src/web/app/mobile/tags/stream-indicator.tag
index 4046f5fec4..b5cf6dde9a 100644
--- a/src/web/app/mobile/tags/stream-indicator.tag
+++ b/src/web/app/mobile/tags/stream-indicator.tag
@@ -1,9 +1,9 @@
 <mk-stream-indicator>
-	<p if="{ state == 'initializing' }"><i class="fa fa-spinner fa-spin"></i><span>接続中
+	<p if={ state == 'initializing' }><i class="fa fa-spinner fa-spin"></i><span>接続中
 			<mk-ellipsis></mk-ellipsis></span></p>
-	<p if="{ state == 'reconnecting' }"><i class="fa fa-spinner fa-spin"></i><span>切断されました 接続中
+	<p if={ state == 'reconnecting' }><i class="fa fa-spinner fa-spin"></i><span>切断されました 接続中
 			<mk-ellipsis></mk-ellipsis></span></p>
-	<p if="{ state == 'connected' }"><i class="fa fa-check"></i><span>接続完了</span></p>
+	<p if={ state == 'connected' }><i class="fa fa-check"></i><span>接続完了</span></p>
 	<style type="stylus">
 		:scope
 			display block
diff --git a/src/web/app/mobile/tags/sub-post-content.tag b/src/web/app/mobile/tags/sub-post-content.tag
index 0f015fddfd..13be71b4a0 100644
--- a/src/web/app/mobile/tags/sub-post-content.tag
+++ b/src/web/app/mobile/tags/sub-post-content.tag
@@ -1,8 +1,8 @@
 <mk-sub-post-content>
-	<div class="body"><a class="reply" if="{ post.reply_to_id }"><i class="fa fa-reply"></i></a><span ref="text"></span><a class="quote" if="{ post.repost_id }" href="{ '/post:' + post.repost_id }">RP: ...</a></div>
-	<details if="{ post.media }">
+	<div class="body"><a class="reply" if={ post.reply_to_id }><i class="fa fa-reply"></i></a><span ref="text"></span><a class="quote" if={ post.repost_id } href={ '/post:' + post.repost_id }>RP: ...</a></div>
+	<details if={ post.media }>
 		<summary>({ post.media.length }枚の画像)</summary>
-		<mk-images-viewer images="{ post.media }"></mk-images-viewer>
+		<mk-images-viewer images={ post.media }></mk-images-viewer>
 	</details>
 	<style type="stylus">
 		:scope
diff --git a/src/web/app/mobile/tags/timeline-post-sub.tag b/src/web/app/mobile/tags/timeline-post-sub.tag
index e6f9df2be6..82c86f3f66 100644
--- a/src/web/app/mobile/tags/timeline-post-sub.tag
+++ b/src/web/app/mobile/tags/timeline-post-sub.tag
@@ -1,10 +1,10 @@
 <mk-timeline-post-sub>
-	<article><a class="avatar-anchor" href="{ '/' + post.user.username }"><img class="avatar" src="{ post.user.avatar_url + '?thumbnail&amp;size=96' }" alt="avatar"/></a>
+	<article><a class="avatar-anchor" href={ '/' + post.user.username }><img class="avatar" src={ post.user.avatar_url + '?thumbnail&amp;size=96' } alt="avatar"/></a>
 		<div class="main">
-			<header><a class="name" href="{ '/' + post.user.username }">{ post.user.name }</a><span class="username">@{ post.user.username }</span><a class="created-at" href="{ '/' + post.user.username + '/' + post.id }">
-					<mk-time time="{ post.created_at }"></mk-time></a></header>
+			<header><a class="name" href={ '/' + post.user.username }>{ post.user.name }</a><span class="username">@{ post.user.username }</span><a class="created-at" href={ '/' + post.user.username + '/' + post.id }>
+					<mk-time time={ post.created_at }></mk-time></a></header>
 			<div class="body">
-				<mk-sub-post-content class="text" post="{ post }"></mk-sub-post-content>
+				<mk-sub-post-content class="text" post={ post }></mk-sub-post-content>
 			</div>
 		</div>
 	</article>
diff --git a/src/web/app/mobile/tags/timeline-post.tag b/src/web/app/mobile/tags/timeline-post.tag
index 3037b4bef3..a013260777 100644
--- a/src/web/app/mobile/tags/timeline-post.tag
+++ b/src/web/app/mobile/tags/timeline-post.tag
@@ -1,35 +1,35 @@
-<mk-timeline-post class="{ repost: isRepost }">
-	<div class="reply-to" if="{ p.reply_to }">
-		<mk-timeline-post-sub post="{ p.reply_to }"></mk-timeline-post-sub>
+<mk-timeline-post class={ repost: isRepost }>
+	<div class="reply-to" if={ p.reply_to }>
+		<mk-timeline-post-sub post={ p.reply_to }></mk-timeline-post-sub>
 	</div>
-	<div class="repost" if="{ isRepost }">
-		<p><a class="avatar-anchor" href="{ CONFIG.url + '/' + post.user.username }"><img class="avatar" src="{ post.user.avatar_url + '?thumbnail&amp;size=64' }" alt="avatar"/></a><i class="fa fa-retweet"></i><a class="name" href="{ CONFIG.url + '/' + post.user.username }">{ post.user.name }</a>がRepost</p>
-		<mk-time time="{ post.created_at }"></mk-time>
+	<div class="repost" if={ isRepost }>
+		<p><a class="avatar-anchor" href={ CONFIG.url + '/' + post.user.username }><img class="avatar" src={ post.user.avatar_url + '?thumbnail&amp;size=64' } alt="avatar"/></a><i class="fa fa-retweet"></i><a class="name" href={ CONFIG.url + '/' + post.user.username }>{ post.user.name }</a>がRepost</p>
+		<mk-time time={ post.created_at }></mk-time>
 	</div>
-	<article><a class="avatar-anchor" href="{ CONFIG.url + '/' + p.user.username }"><img class="avatar" src="{ p.user.avatar_url + '?thumbnail&amp;size=96' }" alt="avatar"/></a>
+	<article><a class="avatar-anchor" href={ CONFIG.url + '/' + p.user.username }><img class="avatar" src={ p.user.avatar_url + '?thumbnail&amp;size=96' } alt="avatar"/></a>
 		<div class="main">
-			<header><a class="name" href="{ CONFIG.url + '/' + p.user.username }">{ p.user.name }</a><span class="username">@{ p.user.username }</span><a class="created-at" href="{ url }">
-					<mk-time time="{ p.created_at }"></mk-time></a></header>
+			<header><a class="name" href={ CONFIG.url + '/' + p.user.username }>{ p.user.name }</a><span class="username">@{ p.user.username }</span><a class="created-at" href={ url }>
+					<mk-time time={ p.created_at }></mk-time></a></header>
 			<div class="body">
-				<div class="text"><a class="reply" if="{ p.reply_to }"><i class="fa fa-reply"></i></a>
-					<soan ref="text"></soan><a class="quote" if="{ p.repost != null }">RP:</a>
+				<div class="text"><a class="reply" if={ p.reply_to }><i class="fa fa-reply"></i></a>
+					<soan ref="text"></soan><a class="quote" if={ p.repost != null }>RP:</a>
 				</div>
-				<div class="media" if="{ p.media }">
-					<mk-images-viewer images="{ p.media }"></mk-images-viewer>
+				<div class="media" if={ p.media }>
+					<mk-images-viewer images={ p.media }></mk-images-viewer>
 				</div>
-				<div class="repost" if="{ p.repost }"><i class="fa fa-quote-right fa-flip-horizontal"></i>
-					<mk-post-preview class="repost" post="{ p.repost }"></mk-post-preview>
+				<div class="repost" if={ p.repost }><i class="fa fa-quote-right fa-flip-horizontal"></i>
+					<mk-post-preview class="repost" post={ p.repost }></mk-post-preview>
 				</div>
 			</div>
 			<footer>
-				<button onclick="{ reply }"><i class="fa fa-reply"></i>
-					<p class="count" if="{ p.replies_count &gt; 0 }">{ p.replies_count }</p>
+				<button onclick={ reply }><i class="fa fa-reply"></i>
+					<p class="count" if={ p.replies_count &gt; 0 }>{ p.replies_count }</p>
 				</button>
-				<button onclick="{ repost }" title="Repost"><i class="fa fa-retweet"></i>
-					<p class="count" if="{ p.repost_count &gt; 0 }">{ p.repost_count }</p>
+				<button onclick={ repost } title="Repost"><i class="fa fa-retweet"></i>
+					<p class="count" if={ p.repost_count &gt; 0 }>{ p.repost_count }</p>
 				</button>
-				<button class="{ liked: p.is_liked }" onclick="{ like }"><i class="fa fa-thumbs-o-up"></i>
-					<p class="count" if="{ p.likes_count &gt; 0 }">{ p.likes_count }</p>
+				<button class={ liked: p.is_liked } onclick={ like }><i class="fa fa-thumbs-o-up"></i>
+					<p class="count" if={ p.likes_count &gt; 0 }>{ p.likes_count }</p>
 				</button>
 			</footer>
 		</div>
diff --git a/src/web/app/mobile/tags/timeline.tag b/src/web/app/mobile/tags/timeline.tag
index cef05d54a0..99cc940297 100644
--- a/src/web/app/mobile/tags/timeline.tag
+++ b/src/web/app/mobile/tags/timeline.tag
@@ -1,12 +1,12 @@
 <mk-timeline>
-	<div class="init" if="{ init }"><i class="fa fa-spinner fa-pulse"></i>読み込んでいます</div>
-	<div class="empty" if="{ !init &amp;&amp; posts.length == 0 }"><i class="fa fa-comments-o"></i>{ opts.empty || '表示するものがありません' }</div>
-	<virtual each="{ post, i in posts }">
-		<mk-timeline-post post="{ post }"></mk-timeline-post>
-		<p class="date" if="{ i != posts.length - 1 &amp;&amp; post._date != posts[i + 1]._date }"><span><i class="fa fa-angle-up"></i>{ post._datetext }</span><span><i class="fa fa-angle-down"></i>{ posts[i + 1]._datetext }</span></p>
+	<div class="init" if={ init }><i class="fa fa-spinner fa-pulse"></i>読み込んでいます</div>
+	<div class="empty" if={ !init &amp;&amp; posts.length == 0 }><i class="fa fa-comments-o"></i>{ opts.empty || '表示するものがありません' }</div>
+	<virtual each={ post, i in posts }>
+		<mk-timeline-post post={ post }></mk-timeline-post>
+		<p class="date" if={ i != posts.length - 1 &amp;&amp; post._date != posts[i + 1]._date }><span><i class="fa fa-angle-up"></i>{ post._datetext }</span><span><i class="fa fa-angle-down"></i>{ posts[i + 1]._datetext }</span></p>
 	</virtual>
-	<footer if="{ !init }">
-		<button if="{ canFetchMore }" onclick="{ more }" disabled="{ fetching }"><span if="{ !fetching }">もっとみる</span><span if="{ fetching }">読み込み中
+	<footer if={ !init }>
+		<button if={ canFetchMore } onclick={ more } disabled={ fetching }><span if={ !fetching }>もっとみる</span><span if={ fetching }>読み込み中
 				<mk-ellipsis></mk-ellipsis></span></button>
 	</footer>
 	<style type="stylus">
diff --git a/src/web/app/mobile/tags/ui-header.tag b/src/web/app/mobile/tags/ui-header.tag
index 273b03213e..f31fd17d7c 100644
--- a/src/web/app/mobile/tags/ui-header.tag
+++ b/src/web/app/mobile/tags/ui-header.tag
@@ -5,7 +5,7 @@
 		<div class="content">
 			<button class="nav" id="hamburger"><i class="fa fa-bars"></i></button>
 			<h1 ref="title">Misskey</h1>
-			<button class="post" onclick="{ post }"><i class="fa fa-pencil"></i></button>
+			<button class="post" onclick={ post }><i class="fa fa-pencil"></i></button>
 		</div>
 	</div>
 	<style type="stylus">
diff --git a/src/web/app/mobile/tags/ui-nav.tag b/src/web/app/mobile/tags/ui-nav.tag
index de9c17cc8f..68a6167740 100644
--- a/src/web/app/mobile/tags/ui-nav.tag
+++ b/src/web/app/mobile/tags/ui-nav.tag
@@ -1,6 +1,6 @@
 <mk-ui-nav>
 	<div class="body">
-		<div class="content"><a class="me" if="{ SIGNIN }" href="{ CONFIG.url + '/' + I.username }"><img class="avatar" src="{ I.avatar_url + '?thumbnail&amp;size=128' }" alt="avatar"/>
+		<div class="content"><a class="me" if={ SIGNIN } href={ CONFIG.url + '/' + I.username }><img class="avatar" src={ I.avatar_url + '?thumbnail&amp;size=128' } alt="avatar"/>
 				<p class="name">{ I.name }</p></a>
 			<div class="links">
 				<ul>
@@ -13,7 +13,7 @@
 					<li class="messaging"><a><i class="icon fa fa-comments-o"></i>メッセージ<i class="angle fa fa-angle-right"></i></a></li>
 				</ul>
 				<ul>
-					<li class="settings"><a onclick="{ search }"><i class="icon fa fa-search"></i>検索<i class="angle fa fa-angle-right"></i></a></li>
+					<li class="settings"><a onclick={ search }><i class="icon fa fa-search"></i>検索<i class="angle fa fa-angle-right"></i></a></li>
 				</ul>
 				<ul>
 					<li class="settings"><a href="/i/drive"><i class="icon fa fa-cloud"></i>ドライブ<i class="angle fa fa-angle-right"></i></a></li>
diff --git a/src/web/app/mobile/tags/ui.tag b/src/web/app/mobile/tags/ui.tag
index 966cfb4255..5ea30b2002 100644
--- a/src/web/app/mobile/tags/ui.tag
+++ b/src/web/app/mobile/tags/ui.tag
@@ -1,7 +1,7 @@
 <mk-ui>
 	<div class="global" ref="global">
-		<mk-ui-header ref="header" ready="{ ready }"></mk-ui-header>
-		<mk-ui-nav ref="nav" ready="{ ready }"></mk-ui-nav>
+		<mk-ui-header ref="header" ready={ ready }></mk-ui-header>
+		<mk-ui-nav ref="nav" ready={ ready }></mk-ui-nav>
 		<div class="content" ref="main"><yield /></div>
 	</div>
 	<mk-stream-indicator></mk-stream-indicator>
diff --git a/src/web/app/mobile/tags/user-followers.tag b/src/web/app/mobile/tags/user-followers.tag
index 00d11f3970..6a1251ce52 100644
--- a/src/web/app/mobile/tags/user-followers.tag
+++ b/src/web/app/mobile/tags/user-followers.tag
@@ -1,5 +1,5 @@
 <mk-user-followers>
-	<mk-users-list ref="list" fetch="{ fetch }" count="{ user.followers_count }" you-know-count="{ user.followers_you_know_count }" no-users="{ 'フォロワーはいないようです。' }"></mk-users-list>
+	<mk-users-list ref="list" fetch={ fetch } count={ user.followers_count } you-know-count={ user.followers_you_know_count } no-users={ 'フォロワーはいないようです。' }></mk-users-list>
 	<style type="stylus">
 		:scope
 			display block
diff --git a/src/web/app/mobile/tags/user-following.tag b/src/web/app/mobile/tags/user-following.tag
index bbfa547c79..1c1838c209 100644
--- a/src/web/app/mobile/tags/user-following.tag
+++ b/src/web/app/mobile/tags/user-following.tag
@@ -1,5 +1,5 @@
 <mk-user-following>
-	<mk-users-list ref="list" fetch="{ fetch }" count="{ user.following_count }" you-know-count="{ user.following_you_know_count }" no-users="{ 'フォロー中のユーザーはいないようです。' }"></mk-users-list>
+	<mk-users-list ref="list" fetch={ fetch } count={ user.following_count } you-know-count={ user.following_you_know_count } no-users={ 'フォロー中のユーザーはいないようです。' }></mk-users-list>
 	<style type="stylus">
 		:scope
 			display block
diff --git a/src/web/app/mobile/tags/user-preview.tag b/src/web/app/mobile/tags/user-preview.tag
index 7b00043a1c..eae903db9d 100644
--- a/src/web/app/mobile/tags/user-preview.tag
+++ b/src/web/app/mobile/tags/user-preview.tag
@@ -1,6 +1,6 @@
-<mk-user-preview><a class="avatar-anchor" href="{ CONFIG.url + '/' + user.username }"><img class="avatar" src="{ user.avatar_url + '?thumbnail&amp;size=64' }" alt="avatar"/></a>
+<mk-user-preview><a class="avatar-anchor" href={ CONFIG.url + '/' + user.username }><img class="avatar" src={ user.avatar_url + '?thumbnail&amp;size=64' } alt="avatar"/></a>
 	<div class="main">
-		<header><a class="name" href="{ CONFIG.url + '/' + user.username }">{ user.name }</a><span class="username">@{ user.username }</span></header>
+		<header><a class="name" href={ CONFIG.url + '/' + user.username }>{ user.name }</a><span class="username">@{ user.username }</span></header>
 		<div class="body">
 			<div class="bio">{ user.bio }</div>
 		</div>
diff --git a/src/web/app/mobile/tags/user-timeline.tag b/src/web/app/mobile/tags/user-timeline.tag
index 354c0790c2..abb81a518a 100644
--- a/src/web/app/mobile/tags/user-timeline.tag
+++ b/src/web/app/mobile/tags/user-timeline.tag
@@ -1,5 +1,5 @@
 <mk-user-timeline>
-	<mk-timeline ref="timeline" init="{ init }" more="{ more }" empty="{ withMedia ? 'メディア付き投稿はありません。' : 'このユーザーはまだ投稿していないようです。' }"></mk-timeline>
+	<mk-timeline ref="timeline" init={ init } more={ more } empty={ withMedia ? 'メディア付き投稿はありません。' : 'このユーザーはまだ投稿していないようです。' }></mk-timeline>
 	<style type="stylus">
 		:scope
 			display block
diff --git a/src/web/app/mobile/tags/user.tag b/src/web/app/mobile/tags/user.tag
index bce6c883f5..fc3a15e836 100644
--- a/src/web/app/mobile/tags/user.tag
+++ b/src/web/app/mobile/tags/user.tag
@@ -1,27 +1,27 @@
 <mk-user>
-	<div class="user" if="{ !fetching }">
+	<div class="user" if={ !fetching }>
 		<header>
-			<div class="banner" style="{ user.banner_url ? 'background-image: url(' + user.banner_url + '?thumbnail&amp;size=1024)' : '' }"></div>
+			<div class="banner" style={ user.banner_url ? 'background-image: url(' + user.banner_url + '?thumbnail&amp;size=1024)' : '' }></div>
 			<div class="body">
-				<div class="top"><a class="avatar"><img src="{ user.avatar_url + '?thumbnail&amp;size=160' }" alt="avatar"/></a>
-					<mk-follow-button if="{ SIGNIN &amp;&amp; I.id != user.id }" user="{ user }"></mk-follow-button>
+				<div class="top"><a class="avatar"><img src={ user.avatar_url + '?thumbnail&amp;size=160' } alt="avatar"/></a>
+					<mk-follow-button if={ SIGNIN &amp;&amp; I.id != user.id } user={ user }></mk-follow-button>
 				</div>
 				<div class="title">
-					<h1>{ user.name }</h1><span class="username">@{ user.username }</span><span class="followed" if="{ user.is_followed }">フォローされています</span>
+					<h1>{ user.name }</h1><span class="username">@{ user.username }</span><span class="followed" if={ user.is_followed }>フォローされています</span>
 				</div>
 				<div class="bio">{ user.bio }</div>
 				<div class="info">
-					<p class="location" if="{ user.location }"><i class="fa fa-map-marker"></i>{ user.location }</p>
-					<p class="birthday" if="{ user.birthday }"><i class="fa fa-birthday-cake"></i>{ user.birthday.replace('-', '年').replace('-', '月') + '日' }</p>
+					<p class="location" if={ user.location }><i class="fa fa-map-marker"></i>{ user.location }</p>
+					<p class="birthday" if={ user.birthday }><i class="fa fa-birthday-cake"></i>{ user.birthday.replace('-', '年').replace('-', '月') + '日' }</p>
 				</div>
 				<div class="friends"><a href="{ user.username }/following"><b>{ user.following_count }</b><i>フォロー</i></a><a href="{ user.username }/followers"><b>{ user.followers_count }</b><i>フォロワー</i></a></div>
 			</div>
-			<nav><a data-is-active="{ page == 'posts' }" onclick="{ goPosts }">投稿</a><a data-is-active="{ page == 'media' }" onclick="{ goMedia }">メディア</a><a data-is-active="{ page == 'graphs' }" onclick="{ goGraphs }">グラフ</a><a data-is-active="{ page == 'likes' }" onclick="{ goLikes }">いいね</a></nav>
+			<nav><a data-is-active={ page == 'posts' } onclick={ goPosts }>投稿</a><a data-is-active={ page == 'media' } onclick={ goMedia }>メディア</a><a data-is-active={ page == 'graphs' } onclick={ goGraphs }>グラフ</a><a data-is-active={ page == 'likes' } onclick={ goLikes }>いいね</a></nav>
 		</header>
 		<div class="body">
-			<mk-user-timeline if="{ page == 'posts' }" user="{ user }"></mk-user-timeline>
-			<mk-user-timeline if="{ page == 'media' }" user="{ user }" with-media="{ true }"></mk-user-timeline>
-			<mk-user-graphs if="{ page == 'graphs' }" user="{ user }"></mk-user-graphs>
+			<mk-user-timeline if={ page == 'posts' } user={ user }></mk-user-timeline>
+			<mk-user-timeline if={ page == 'media' } user={ user } with-media={ true }></mk-user-timeline>
+			<mk-user-graphs if={ page == 'graphs' } user={ user }></mk-user-graphs>
 		</div>
 	</div>
 	<style type="stylus">
diff --git a/src/web/app/mobile/tags/users-list.tag b/src/web/app/mobile/tags/users-list.tag
index f64f196e46..32c54019e3 100644
--- a/src/web/app/mobile/tags/users-list.tag
+++ b/src/web/app/mobile/tags/users-list.tag
@@ -1,14 +1,14 @@
 <mk-users-list>
-	<nav><span data-is-active="{ mode == 'all' }" onclick="{ setMode.bind(this, 'all') }">すべて<span>{ opts.count }</span></span>
-		<!-- ↓ https://github.com/riot/riot/issues/2080--><span if="{ SIGNIN &amp;&amp; opts.youKnowCount != '' }" data-is-active="{ mode == 'iknow' }" onclick="{ setMode.bind(this, 'iknow') }">知り合い<span>{ opts.youKnowCount }</span></span>
+	<nav><span data-is-active={ mode == 'all' } onclick={ setMode.bind(this, 'all') }>すべて<span>{ opts.count }</span></span>
+		<!-- ↓ https://github.com/riot/riot/issues/2080--><span if={ SIGNIN &amp;&amp; opts.youKnowCount != '' } data-is-active={ mode == 'iknow' } onclick={ setMode.bind(this, 'iknow') }>知り合い<span>{ opts.youKnowCount }</span></span>
 	</nav>
-	<div class="users" if="{ !fetching &amp;&amp; users.length != 0 }">
-		<mk-user-preview each="{ users }" user="{ this }"></mk-user-preview>
+	<div class="users" if={ !fetching &amp;&amp; users.length != 0 }>
+		<mk-user-preview each={ users } user={ this }></mk-user-preview>
 	</div>
-	<button class="more" if="{ !fetching &amp;&amp; next != null }" onclick="{ more }" disabled="{ moreFetching }"><span if="{ !moreFetching }">もっと</span><span if="{ moreFetching }">読み込み中
+	<button class="more" if={ !fetching &amp;&amp; next != null } onclick={ more } disabled={ moreFetching }><span if={ !moreFetching }>もっと</span><span if={ moreFetching }>読み込み中
 			<mk-ellipsis></mk-ellipsis></span></button>
-	<p class="no" if="{ !fetching &amp;&amp; users.length == 0 }">{ opts.noUsers }</p>
-	<p class="fetching" if="{ fetching }"><i class="fa fa-spinner fa-pulse fa-fw"></i>読み込んでいます
+	<p class="no" if={ !fetching &amp;&amp; users.length == 0 }>{ opts.noUsers }</p>
+	<p class="fetching" if={ fetching }><i class="fa fa-spinner fa-pulse fa-fw"></i>読み込んでいます
 		<mk-ellipsis></mk-ellipsis>
 	</p>
 	<style type="stylus">