Compare commits

...

29 Commits

Author SHA1 Message Date
Cutls
8e70e005c1 TheDesk Usamin (18.6.6) 2019-07-02 00:37:58 +09:00
Cutls
3817dbc925 Some bugs about Vue 2019-07-02 00:32:28 +09:00
Cutls
63ec669c52 boost-btn 2019-07-02 00:32:06 +09:00
Cutls
afc5702796 boost-btn 2019-07-02 00:31:54 +09:00
Cutls
41ec66b58a Add theme: [渚の花嫁] 新田美波 2019-07-02 00:31:44 +09:00
Cutls
936d3ca7fc Change: flexible color of toot-btn 2019-07-02 00:31:08 +09:00
Cutls
f8b4b7b74d Change: unboostable toot btn(hidden to unvisible) 2019-07-02 00:26:41 +09:00
Cutls
bd865977b0 Remove: best-friends.chat from TheDesk support instance 2019-07-01 23:19:47 +09:00
Cutls
d056db5617 Do not ... on translate results #96 2019-07-01 21:46:00 +09:00
Cutls
7685677ada Merge branch 'master' of https://github.com/cutls/TheDesk 2019-07-01 21:40:46 +09:00
Cutls
eb0aa81492 Remove knzk.me from support instances 2019-07-01 21:40:28 +09:00
Cutls
dc52531f28 Merge pull request #99 from kPherox/update-kpherox-links
Update kPherox's links
2019-06-29 16:22:34 +09:00
kPherox
5a20034b9f Update kPherox's links 2019-06-29 16:11:52 +09:00
Cutls
5cd0ef0d8a Update README 2019-06-27 23:17:07 +09:00
Cutls
4daf47bb5f TheDesk Usamin (18.6.5) 2019-06-27 21:57:16 +09:00
Cutls
3e0dbd8433 Remove: colummn-deleting dialog 2019-06-26 00:52:15 +09:00
Cutls
fc4d3b24f6 Fix: column-deleteing and url-analytics bug 2019-06-26 00:51:49 +09:00
Cutls
3a9eab55a4 Fix: misskey streaming 2019-06-26 00:33:44 +09:00
Cutls
546b34275d Fix: setting bugs on Vue 2019-06-26 00:33:32 +09:00
Cutls
3ee4cf27d5 Good-bye native dialogs 2019-06-26 00:33:20 +09:00
Cutls
87da95b9a4 Fix: TheDesk nano 2019-06-25 23:26:15 +09:00
Cutls
3368e30e15 Fix: streaming bug 2019-06-25 23:26:01 +09:00
Cutls
f1ea5ad8f1 Fix: Notf TL bugs about Misskey 2019-06-25 23:16:36 +09:00
Cutls
fa2d5f8492 OAuth and something 2019-06-25 23:16:12 +09:00
Cutls
0f2c5de161 Use sweetalert 2019-06-25 23:15:52 +09:00
Cutls
b69937d4fd Sweetalert CSS for custom themes 2019-06-25 23:15:25 +09:00
Cutls
e82faacbb2 Change: keyboard shortcut 2019-06-24 23:10:44 +09:00
Cutls
2ab5c67545 For MS Store 2019-06-24 23:10:29 +09:00
Cutls
358d01b12e Change: audio wrap 2019-06-24 00:28:42 +09:00
40 changed files with 411 additions and 455 deletions

3
.gitignore vendored
View File

@@ -3,8 +3,7 @@
*.7z
*.exe
TheDesk-*
app/build
build
build/*
app/.DS_Store
.DS_Store
.vs/*

View File

@@ -6,7 +6,6 @@
[![Build Status](https://travis-ci.org/cutls/TheDesk.svg?branch=master)](https://travis-ci.org/cutls/TheDesk)
[![Crowdin](https://d322cqt584bo4o.cloudfront.net/thedesk/localized.svg)](https://translate.thedesk.top/project/thedesk)
[![Version](https://flat.badgen.net/github/release/cutls/TheDesk)](https://github.com/cutls/TheDesk/releases)
[![Download](https://flat.badgen.net/github/assets-dl/cutls/TheDesk)](https://github.com/cutls/TheDesk/releases)
![Contributors](https://flat.badgen.net/github/contributors/cutls/TheDesk)
Mastodon/Misskey client for PC(Windows/Linux/macOS)
オープンソースSNSマストドン/MisskeyのPC向けクライアント[日本語はこちら](README_ja.md)
@@ -73,7 +72,7 @@ Build for Linux
Fellow coder
* [kPherox](https://www.kr-kp.com/)
* [kPherox](https://pl.kpherox.dev/kPherox)
## Build

View File

@@ -6,7 +6,6 @@
[![Build Status](https://travis-ci.org/cutls/TheDesk.svg?branch=master)](https://travis-ci.org/cutls/TheDesk)
[![Crowdin](https://d322cqt584bo4o.cloudfront.net/thedesk/localized.svg)](https://translate.thedesk.top/project/thedesk)
[![Version](https://flat.badgen.net/github/release/cutls/TheDesk)](https://github.com/cutls/TheDesk/releases)
[![Download](https://flat.badgen.net/github/assets-dl/cutls/TheDesk)](https://github.com/cutls/TheDesk/releases)
![Contributors](https://flat.badgen.net/github/contributors/cutls/TheDesk)
Mastodon/Misskey client for PC(Windows/Linux/macOS)
オープンソースSNSマストドン/MisskeyのPC向けクライアント
@@ -73,7 +72,7 @@ Linuxビルダー
iTunes NowPlayingにアルバムアートワークを付けてくれた人
* [kPherox](https://www.kr-kp.com/)
* [kPherox](https://pl.kpherox.dev/kPherox)
## ビルド

View File

@@ -95,7 +95,7 @@
<div class="cp">Copyright &copy; TheDesk 2018<br>
Main developer(author): <a href="https://cutls.com/@Cutls" target="_blank">Cutls P</a><br>
Thanks:<a href="https://minohdon.jp/@toneji" target="_blank">toneji</a>/<a
href="https://popon.pptdn.jp/@popn_ja" target="_blank">popn_ja</a>/<a href="https://pawoo.net/@kPherox"
href="https://popon.pptdn.jp/@popn_ja" target="_blank">popn_ja</a>/<a href="https://pl.kpherox.dev/kPherox"
target="_blank">kPherox</a> and all users
<img draggable="false" style="width:0.8rem;top: 1px;margin-left: 1px;position: relative;" alt="❤️"
title=":heart:" src="https://twemoji.maxcdn.com/2/72x72/2764.png">

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 117 KiB

View File

@@ -76,6 +76,9 @@ option {
min-width: 0 !important;
margin-left: 5px !important;
}
.unvisible{
opacity: 0;
}
.bbcode-pulse-loadings,
.bbcode-pulse-loading,
.fa-pulse {
@@ -397,7 +400,8 @@ blockquote:before,
text-align: center;
width: calc(100% + 10px);
border-radius: 5px;
background-color: var(--bg);
background-color: var(--box);
filter: brightness(80%);
margin-left: -5px;
margin-right: -5px;
margin-top: -5px;
@@ -446,6 +450,12 @@ input, textarea {
font-size: 1rem !important;
font-family: inherit;
}
.swal2-popup{
background-color: var(--notfbox) !important;
}
.swal2-title, .swal2-content{
color: var(--color) !important;
}
/*スクロールバー*/
::-webkit-scrollbar {

View File

@@ -12,7 +12,7 @@
padding: 5px;
border-radius: 5px;
}
textarea{
textarea {
min-height: 100px !important;
font-family: inherit;
}
@@ -124,7 +124,9 @@ textarea{
overflow-y: scroll;
top: 90px;
}
#posttgl,#toot-post-btn {
background-color: var(--accentbtn);
}
/*mini*/
.mini-post .mize {
display: none !important;

View File

@@ -14,6 +14,7 @@
--active: #e6ee9c;
--postbox: white;
--modalfooter: #fafafa;
--accentbtn: #009688;
}
#imagemodal {
background: url("../img/pixel.white.svg");
@@ -34,6 +35,7 @@
--active: #757575;
--postbox: #424242;
--modalfooter: #212121;
--accentbtn: #3f51b5;
}
.blacktheme #imagemodal {
background: url("../img/pixel.svg");
@@ -54,6 +56,7 @@
--active: #757575;
--postbox: #1a237e;
--modalfooter: #031833;
--accentbtn: #00acc1;
}
.indigotheme #imagemodal {
background: url("../img/pixel.svg");
@@ -74,6 +77,7 @@
--active: #757575;
--postbox: #4e342e;
--modalfooter: #261411;
--accentbtn: #827717;
}
.browntheme #imagemodal {
background: url("../img/pixel.svg");
@@ -86,7 +90,7 @@
--modal: #81c784;
--subcolor: #a5d6a7;
--box: #81c784;
--sidebar: #81c784;
--sidebar: #c5e1a5;
--shared: #ffcc80;
--notfbox: #a5d6a7;
--emphasized: #9e9d24;
@@ -94,7 +98,29 @@
--active: #e6ee9c;
--postbox: #a5d6a7;
--modalfooter: #81c784;
--accentbtn: #33691e;
}
.greentheme #imagemodal {
background: url("../img/pixel.white.svg");
}
.bluetheme {
--bg: #c9e1ec;
--drag: rgba(255, 255, 255, 0.8);
--color: black;
--beforehover: #757575;
--modal: #b2ebf2;
--subcolor: #90caf9;
--box: #90caf9;
--sidebar: #b6e6f5;
--shared: #e0ffe4;
--notfbox: #90caf9;
--emphasized: #c5e1a5;
--his-data: rgba(255, 255, 255, 0.9);
--active: #b39ddb;
--postbox: #dff1ff;
--modalfooter: #2196f3;
--accentbtn: #2f7bb7;
}
.bluetheme #imagemodal {
background: url("../img/pixel.white.svg");
}

View File

@@ -597,6 +597,9 @@ p:not(:last-child) {
audio{
height: 2rem;
}
.translate{
white-space: normal;
}
@keyframes jump {
0% {
transform: translateY(0);

View File

@@ -20,7 +20,6 @@ $(function ($) {
return false;
}
}
}
//Ctrl+Enter:投稿
if (event.metaKey || event.ctrlKey && wv) {
@@ -36,14 +35,6 @@ $(function ($) {
return false;
}
}
//Shift+Space:Markdownゼロ幅スペース
if (event.shiftKey) {
if (e.keyCode === 32) {
brInsert("");
return false;
}
}
//Esc:消す
if (e.keyCode === 27 && wv) {
hide();
@@ -54,14 +45,6 @@ $(function ($) {
location.href = "index.html";
return false;
}
//Ctrl+R:ランキング
if ((event.metaKey || event.ctrlKey) && wv) {
if (e.keyCode === 82) {
if (localStorage.getItem("kirishima")) {
window.open("https://astarte.thedesk.top");
}
}
}
//Ctrl+Sift+C:全消し
if (((event.metaKey || event.ctrlKey) && event.shiftKey) && wv) {
if (e.keyCode === 67) {

View File

@@ -3,7 +3,18 @@ function verck(ver) {
console.log("%c Welcome😊", "color: red;font-size:200%;")
var date = new Date();
var show = false
if (localStorage.getItem("ver") != ver) {
if (localStorage.getItem("ver") != ver && localStorage.getItem("winstore")) {
//ちょっと削除とリンク解析の都合上アレ(s)
//対象外のアプデ:storageが20の最初まで"Usamin (18.6.5)"
if (!localStorage.getItem("usamin_18_6_5_flag")) {
localStorage.setItem("usamin_18_6_5_flag", true)
var multi = localStorage.getItem("column");
var obj = JSON.parse(multi);
for (var i = 0; i < obj.length; i++) {
localStorage.removeItem("card_" + i);
}
}
//ちょっと削除とリンク解析の都合上アレ(e)
localStorage.setItem("ver", ver);
show = true
console.log("%c Thank you for your update🎉", "color: red;font-size:200%;");
@@ -22,7 +33,6 @@ function verck(ver) {
} else {
$("#release-en").show();
}
});
}
if (!show) {
@@ -42,54 +52,14 @@ function verck(ver) {
$("#support-btm").animate({
'bottom': '0'
}, {
'duration': 300
});
'duration': 300
});
}
}
var platform = localStorage.getItem("platform");
console.log("Your platform:" + platform)
if (platform == "win32") {
const options = {
type: 'info',
title: "Select your platform",
message: lang.lang_version_platform,
buttons: [lang.lang_no, lang.lang_yesno]
}
if (!localStorage.getItem("winstore")) {
postMessage(["dialogStore", options], "*")
}
} else if (platform == "linux") {
if (localStorage.getItem("winstore") == "unix") {
localStorage.removeItem("winstore")
}
if (!localStorage.getItem("winstore")) {
const options = {
type: 'info',
title: "Select your platform",
message: lang.lang_version_platform_linux,
buttons: [lang.lang_no, lang.lang_yesno]
}
if (!localStorage.getItem("winstore")) {
postMessage(["dialogStore", options], "*")
}
}
} else if (platform == "darwin") {
if (localStorage.getItem("winstore") == "unix") {
localStorage.removeItem("winstore")
}
if (!localStorage.getItem("winstore")) {
const options = {
type: 'info',
title: "Select your platform",
message: lang.lang_version_platform_mac,
buttons: [lang.lang_no, lang.lang_yesno]
}
if (!localStorage.getItem("winstore")) {
postMessage(["dialogStore", options], "*")
}
}
} else {
localStorage.setItem("winstore", "unix")
if (!localStorage.getItem("winstore")) {
storeDialog(platform, ver)
}
if (localStorage.getItem("winstore") == "brewcask" || localStorage.getItem("winstore") == "snapcraft" || localStorage.getItem("winstore") == "winstore") {
var winstore = true;
@@ -284,4 +254,49 @@ function closeSupport() {
$("#support-btm").addClass("hide")
}
});
}
function storeDialog(platform, ver) {
if (platform == "win32") {
var mes = lang.lang_version_platform;
} else if (platform == "linux") {
var mes = lang.lang_version_platform_linux;
} else if (platform == "darwin") {
var mes = lang.lang_version_platform_mac;
}
Swal.fire({
title: "Select your platform",
text: mes,
type: 'info',
showCancelButton: true,
confirmButtonColor: '#3085d6',
cancelButtonColor: '#3085d6',
confirmButtonText: lang.lang_no,
cancelButtonText: lang.lang_yesno
}).then((result) => {
//逆にしてる
if (!result.value) {
localStorage.setItem("winstore", "winstore")
} else {
localStorage.setItem("winstore", "localinstall")
}
localStorage.setItem("ver", ver);
show = true
console.log("%c Thank you for your update🎉", "color: red;font-size:200%;");
$(document).ready(function () {
$('#releasenote').modal('open');
verp = ver.replace('(', '');
verp = verp.replace('.', '-');
verp = verp.replace('.', '-');
verp = verp.replace('[', '-');
verp = verp.replace(']', '');
verp = verp.replace(')', '');
verp = verp.replace(' ', '_');
console.log("%c " + verp, "color: red;font-size:200%;");
if (lang.language == "ja") {
$("#release-" + verp).show();
} else {
$("#release-en").show();
}
});
})
}

View File

@@ -21,9 +21,9 @@ var lang = {
//common/version.js
"lang_version_usever": "No update is found({{ver}})",
"lang_version_skipver": "Update was ignored.",
"lang_version_platform": "Was this software installed at Microsoft Store? When select 'yes', any update was ignored.",
"lang_version_platform_linux": "Was this software installed at Snapcraft(snapd)? When select 'yes', any update was ignored.",
"lang_version_platform_mac": "Was this software installed at Homebrew Cask? When select 'yes', any update was ignored.",
"lang_version_platform": "Do you want auto-updates?(users installed on Microsoft Store select 'No')",
"lang_version_platform_linux": "Do you want auto-updates?(users installed on Snapcraft select 'No')",
"lang_version_platform_mac": "Do you want auto-updates?(Homebrew Cask users select 'No')",
//login
//login/login.js
"lang_login_noauth": "Show TL of unlogined accounts",
@@ -111,6 +111,8 @@ var lang = {
//tl/tl.js
"lang_tl_media": "Media",
"lang_tl_reconnect": "Reconnect to streaming API",
//ui/img.js
"lang_img_DLDone": "Downloaded:",
//ui/layout.js
"lang_layout_gotop": "Go top of this column. When icon is red, this column cannot connect straming API. Please reload.",
"lang_layout_thisacct": "{{notf}} of this account",
@@ -129,6 +131,8 @@ var lang = {
"lang_layout_excludingbt": "Show BT mode(OFF/Exclude BT/Only BT)",
"lang_layout_leftFold": "Stack to the left",
"lang_layout_leftUnfold": "Dock on the right",
"lang_layout_deleteColumn":"Delete this column",
"lang_layout_deleteColumnDesc":"Delete this column",
//ui/sort.js
"lang_sort_gothis": "Go to this column",
"lang_sort_remthis": "Delete this column",

View File

@@ -21,9 +21,9 @@ var lang = {
//common/version.js
"lang_version_usever": "お使いのバージョン{{ver}}は最新です。",
"lang_version_skipver": "アップデートはスキップされました。",
"lang_version_platform": "このソフトウェアはMicrosoft Storeからダウンロードされましたか(「はい」を選択すると次回からアップデート通知を無視します。)",
"lang_version_platform_linux": "このソフトウェアはSnapcraft(snapd)からインストールしましたか?(「はい」を選択すると次回からアップデート通知を無視します。)",
"lang_version_platform_mac": "このソフトウェアはHomebrew Caskからインストールしましたか(「はい」を選択すると次回からアップデート通知を無視します。)",
"lang_version_platform": "このソフトウェアはMicrosoft Storeからダウンロードされましたか通常はホームページからインストールするため「いいえ」を選んでください。「はい」を選ぶとMicrosoft Storeからアップデートが提供され、アップデートの通知を出しません。",
"lang_version_platform_linux": "このソフトウェアはSnapcraft(snapd)からインストールしましたか?通常はホームページからインストールするため「いいえ」を選んでください。「はい」を選ぶとSnapcraftからアップデートが提供され、アップデートの通知を出しません。",
"lang_version_platform_mac": "このソフトウェアはHomebrew Caskからインストールしましたか通常はホームページからインストールするため「いいえ」を選んでください。「はい」を選ぶとアップデート通知を出しません。",
//login
//login/login.js
"lang_login_noauth": "認証せずに見る",
@@ -131,6 +131,8 @@ var lang = {
"lang_layout_excludingbt": "BT表示(OFF/BT除外/BTのみ)",
"lang_layout_leftFold": "左へ重ねる",
"lang_layout_leftUnfold": "右へ出す",
"lang_layout_deleteColumn":"カラム削除",
"lang_layout_deleteColumnDesc":"カラムを削除しますか?",
//ui/sort.js
"lang_sort_gothis": "このカラムへ",
"lang_sort_remthis": "このカラムを削除",
@@ -186,8 +188,8 @@ var lang = {
"lang_parse_det": "詳細(メインアカウント経由)",
"lang_parse_redraft": "このトゥートを削除して再編集",
"lang_parse_followed": "フォローされました。",
"lang_parse_clientop": "クライアント処理",
"lang_parse_clienttxt": "に対する処理を選択してください。",
"lang_parse_clientop": "クライアント操作",
"lang_parse_clienttxt": " に対する処理を選択してください。",
"lang_parse_clientno": "何もしない",
"lang_parse_clientemp": "強調表示/解除",
"lang_parse_clientmute": "ミュート",

View File

@@ -13,12 +13,6 @@ var idata = {
"minohdon.jp_bbcode": "disabled",
"minohdon.jp_markdown": "disabled",
"minohdon.jp_glitch": "disabled",
"knzk.me": "instance",
"knzk.me_name": "Knzk",
"knzk.me_letters": "5000",
"knzk.me_bbcode": "disabled",
"knzk.me_markdown": "disabled",
"knzk.me_glitch": "disabled",
"mastodos.com": "instance",
"mastodos.com_name": "マストどす",
"mastodos.com_letters": "500",
@@ -114,13 +108,7 @@ var idata = {
"precure.ml_bbcode": "disabled",
"precure.ml_markdown": "disabled",
"precure.ml_post": "キュア!",
"precure.ml_glitch": "disabled",
"best-friends.chat": "instance",
"best-friends.chat_name": "Best Friends",
"best-friends.chat_letters": "500",
"best-friends.chat_bbcode": "disabled",
"best-friends.chat_markdown": "disabled",
"best-friends.chat_glitch": "disabled",
"precure.ml_glitch": "disabled"
};
localStorage.setItem("instance", JSON.stringify(idata));

View File

@@ -304,7 +304,7 @@ function login(url) {
return;
}
if ($('#linux:checked').val() == "on") {
var red = "https://thedesk.top/hello.html"
var red = "urn:ietf:wg:oauth:2.0:oob"
} else {
var red = 'thedesk://manager';
}
@@ -508,7 +508,7 @@ function code(code) {
httpreq.responseType = "json";
httpreq.send(JSON.stringify({
grant_type: "authorization_code",
redirect_uri: "https://thedesk.top/hello.html",
redirect_uri: "urn:ietf:wg:oauth:2.0:oob",
client_id: id,
client_secret: secret,
code: code

View File

@@ -120,6 +120,9 @@ function playSound() {
volumeControl.gain.value = 0.8
source.start(0);
}
function nano() {
postMessage(["nano", null], "*")
}
onmessage = function (e) {
if (e.data[0] == "details") {
details(e.data[1][0], e.data[1][1])
@@ -131,16 +134,8 @@ onmessage = function (e) {
post("pass")
} else if (e.data[0] == "toastSaved") {
M.toast({ html: lang.lang_img_DLDone + e.data[1][0] + '<button class="btn-flat toast-action" onclick="openFinder(\'' + e.data[1][1] + '\')">Show</button>', displayLength: 5000 })
} else if (e.data[0] == "toastMute") {
M.toast({ html: escapeHTML(e.data[1]) + lang.lang_parse_mute, displayLength: 2000 })
} else if (e.data[0] == "toastEmp") {
M.toast({ html: escapeHTML(e.data[1]) + lang.lang_status_emphas, displayLength: 2000 })
} else if (e.data[0] == "toastUnEmp") {
M.toast({ html: escapeHTML(e.data[1]) + lang.lang_status_unemphas, displayLength: 2000 })
} else if (e.data[0] == "parseColumn") {
parseColumn()
} else if (e.data[0] == "sortload") {
sortload()
} else if (e.data[0] == "exportSettingsCore") {
exportSettingsCore()
} else if (e.data[0] == "fontList") {

View File

@@ -55,6 +55,8 @@ onmessage = function (e) {
ipc.send('theme-css-request', e.data[1]);
} else if (e.data[0] == "downloadButton") {
ipc.send('download-btn', e.data[1]);
} else if (e.data[0] == "nano") {
ipc.send('nano', null);
}
}
//version.js
@@ -64,9 +66,6 @@ ipc.on('platform', function (event, args) {
localStorage.setItem("bit", args[1])
localStorage.setItem("about", JSON.stringify([args[2], args[3], args[4]]))
})
ipc.on('winstore', function (event, arg) {
localStorage.setItem("winstore", arg)
})
ipc.on('reload', function (event, arg) {
location.reload();
@@ -79,9 +78,7 @@ ipc.on('shownotf', function (event, args) {
postMessage(["udg", [user, acct_id]], "*")
}
})
function nano() {
ipc.send('nano', "");
}
//first.js
ipc.on('custom-css-response', function (event, arg) {
if (arg == "") { return false; }
@@ -105,63 +102,6 @@ ipc.on('theme-css-response', function (event, arg) {
ipc.on('bmp-img-comp', function (event, b64) {
postMessage(["media", [b64[0], "image/png", b64[1]]], "*")
});
//post.js
ipc.on('dialogCWRender', function (event, arg) {
if (arg === 1) {
$("#cw-text").show();
$("#cw").addClass("yellow-text");
$("#cw").addClass("cw-avail");
$("#cw-text").val(plus);
postMessage(["post", ""], "*")
} else if (arg === 2) {
postMessage(["post", ""], "*")
}
});
//parse.js
ipc.on('dialogClientRender', function (event, arg) {
if (arg === 1) {
var cli = localStorage.getItem("client_emp");
var obj = JSON.parse(cli);
if (!obj) {
var obj = [];
obj.push(name);
postMessage(["toastEmp", name], "*")
} else {
var can;
Object.keys(obj).forEach(function (key) {
var cliT = obj[key];
if (cliT != name && !can) {
can = false;
} else {
can = true;
obj.splice(key, 1);
postMessage(["toastUnEmp", name], "*")
}
});
if (!can) {
obj.push(name);
postMessage(["toastEmp", name], "*")
} else {
}
}
var json = JSON.stringify(obj);
localStorage.setItem("client_emp", json);
} else if (arg === 2) {
var cli = localStorage.getItem("client_mute");
var obj = JSON.parse(cli);
if (!obj) {
obj = [];
}
obj.push(name);
var json = JSON.stringify(obj);
localStorage.setItem("client_mute", json);
postMessage(["toastMute", name], "*")
} else {
return;
}
parseColumn();
});
//ui,img.js
ipc.on('general-dl-prog', function (event, arg) {
console.log("Progress: " + arg);
@@ -171,23 +111,6 @@ ipc.on('general-dl-message', function (event, arg) {
console.log("saved")
postMessage(["toastSaved", [arg, argC]], "*")
})
//layout.js
ipc.on('column-del-reply', function (event, args) {
if (args[0] === 1) {
var multi = localStorage.getItem("column");
var obj = JSON.parse(multi);
localStorage.removeItem("card_" + args[1]);
obj.splice(args[1], 1);
for (var i = 0; i < obj.length; i++) {
localStorage.setItem("card_" + i, "true");
localStorage.removeItem("catch_" + i);
}
var json = JSON.stringify(obj);
localStorage.setItem("column", json);
postMessage(["parseColumn", ""], "*")
postMessage(["sortload", ""], "*")
}
})
//setting.js
ipc.on('langres', function (event, arg) {
location.href = "../" + lang + "/setting.html"

View File

@@ -23,20 +23,39 @@ function post(mode, postvis) {
var cw_sent = localStorage.getItem("cw_sentence");
}
if (!localStorage.getItem("cw_letters")) {
var cw_ltres = 500;
var cw_ltres = 7000;
} else {
var cw_ltres = localStorage.getItem("cw_letters");
}
if (domain != "kirishima.cloud") {
if (mode != "pass" && !$("#cw").hasClass("cw-avail") && (str.length > cw_sent || (str.split("\n").length - 1) > cw_ltres)) {
console.log("out")
var plus = str.replace(/\n/g, "").slice(0, 10) + "...";
const options = {
type: 'info',
Swal.fire({
title: lang.lang_post_cwtitle,
message: lang.lang_post_cwtxt + plus,
buttons: [lang.lang_post_btn1, lang.lang_post_btn2, lang.lang_post_btn3]
}
postMessage(["dialogCW", options], "*")
text: lang.lang_post_cwtxt + plus,
type: 'info',
showCancelButton: true,
confirmButtonColor: '#3085d6',
cancelButtonColor: '#3085d6',
confirmButtonText: lang.lang_post_btn2,
cancelButtonText: lang.lang_post_btn3,
showCloseButton: true,
focusConfirm: false,
}).then((result) => {
console.log(result)
if (result.dismiss == "cancel") {
//btn3:sonomama
post("pass")
} else if (result.value) {
//btn2:auto-CW
$("#cw-text").show();
$("#cw").addClass("yellow-text");
$("#cw").addClass("cw-avail");
$("#cw-text").val(plus);
post("pass")
}
})
return false;
}
}

View File

@@ -84,10 +84,10 @@ function rt(id, acct_id, remote) {
if ($("[toot-id=" + id + "]").hasClass("rted")) {
$("[toot-id=" + id + "]").removeClass("rted");
$(".rt_" + id).removeClass("teal-text");
$(".rt_" + id).removeClass("light-blue-text");
} else {
$("[toot-id=" + id + "]").addClass("rted");
$(".rt_" + id).addClass("teal-text");
$(".rt_" + id).addClass("light-blue-text");
}
} else {
M.toast({ html: lang.lang_status_btWarn, displayLength: 1000 })

View File

@@ -513,7 +513,7 @@ function trans(tar, to) {
todo(error);
console.error(error);
}).then(function (text) {
$("#toot-this .additional").html('<span class="gray">' + text.text + '</span>');
$("#toot-this .additional").html('<span class="gray translate">' + text.text + '</span>');
});
}
//ブラウザで開く

View File

@@ -53,11 +53,15 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
var empCli = localStorage.getItem("client_emp");
if (empCli) {
var empCli = JSON.parse(empCli);
} else {
var empCli = [];
}
//クライアントミュート
var muteCli = localStorage.getItem("client_mute");
if (muteCli) {
var muteCli = JSON.parse(muteCli);
} else {
var muteCli = [];
}
//ユーザー強調
var useremp = localStorage.getItem("user_emp");
@@ -267,7 +271,7 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
if (os == "darwin") {
var n = new Notification('TheDesk:' + domain, options);
} else {
var nativeNotfOpt=[
var nativeNotfOpt = [
'TheDesk:' + domain,
toot.user.name + "(" + toot.user.username + ")" + what + "\n\n" + $.strip_tagstemp(toot.note.text),
toot.user.avatarUrl,
@@ -498,11 +502,9 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
purl + '" class="' + sense +
' toot-img pointer" style="max-width:100%;"></a></span>';
} else if (media.type.indexOf("audio") !== -1) {
viewer = viewer + '<a onclick="imgv(\'' + id + '\',\'' + key2 + '\',' +
acct_id + ')" id="' + id + '-image-' + key2 + '" data-url="' + url +
'" data-type="video" class="img-parsed"><audio src="' +
viewer = viewer + '<audio src="' +
purl + '" class="' + sense +
' toot-img pointer" style="width:100%;" controls></a></span>';
' toot-img pointer" style="width:100%;" controls></span>';
} else {
viewer = viewer + '<a onclick="imgv(\'' + id + '\',\'' + key2 + '\',' +
acct_id + ')" id="' + id + '-image-' + key2 + '" data-url="' + url +
@@ -579,7 +581,7 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
var rt_app = "";
/*
if (toot.reblogged) {
var if_rt = "teal-text";
var if_rt = "light-blue-text";
var rt_app = "rted";
} else {
var if_rt = "";
@@ -918,7 +920,7 @@ function misskeyUserparse(obj, auth, acct_id, tlid, popup) {
if (os == "darwin") {
var n = new Notification('TheDesk:' + domain, options);
} else {
var nativeNotfOpt=[
var nativeNotfOpt = [
'TheDesk:' + domain,
toot.display_name + "(" + toot.acct + ")" + ftxt,
toot.avatar,
@@ -996,7 +998,7 @@ function connectMisskey(acct_id) {
console.log([domain + ":Receive Streaming API:", data]);
var data = JSON.parse(mess.data)
var obj = data.body.body
var mute = [];
if (data.body.id.indexOf("notf:") !== -1) {
var obj = JSON.parse(mess.data).body;
console.log(obj);

View File

@@ -613,10 +613,8 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
if (media.type == "unknown") {
viewer = viewer + '<a href="' + media.remote_url + '" title="' + media.remote_url + '">[' + lang.lang_parse_unknown + ']</a> '
} else if (media.type == "audio") {
viewer = viewer + '<a onclick="imgv(\'' + id + '\',\'' + key2 + '\',' +
acct_id + ')" id="' + id + '-image-' + key2 + '" data-url="' + url +
'" data-type="audio" class="img-parsed"><audio src="' +
url + '" class="pointer" style="width:100%;" controls></a></span>';
viewer = viewer + '<audio src="' +
url + '" class="pointer" style="width:100%;" controls></span>';
} else {
viewer = viewer + '<a onclick="imgv(\'' + id + '\',\'' + key2 + '\',\'' +
acct_id + '\')" id="' + id + '-image-' + key2 + '" data-url="' + url +
@@ -694,11 +692,11 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
} else if (visen == "private") {
var vis =
'<i class="text-darken-3 material-icons orange-text vis-data pointer" title="' + lang.lang_parse_private + '(' + lang.lang_parse_clickcopy + ')" data-vis="private" onclick="staCopy(\'' + id + '\')" style="font-size:1rem;">lock</i>';
var can_rt = "hide";
var can_rt = "unvisible";
} else if (visen == "direct") {
var vis =
'<i class="text-darken-3 material-icons red-text vis-data pointer" title="' + lang.lang_parse_direct + '(' + lang.lang_parse_clickcopy + ')" data-vis="direct" onclick="staCopy(\'' + id + '\')" style="font-size:1rem;">mail</i>';
var can_rt = "hide";
var can_rt = "unvisible";
}
if (toot.account.acct == localStorage.getItem("user_" + acct_id)) {
var if_mine = "";
@@ -715,7 +713,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
var fav_app = "";
}
if (toot.reblogged) {
var if_rt = "teal-text";
var if_rt = "light-blue-text";
var rt_app = "rted";
} else {
var if_rt = "";
@@ -873,10 +871,9 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
+ '<div class="' + if_mine + ' action ' + disp["red"] + ' ' + noauth + '"><a onclick="redraft(\'' + toot.id + '\',' +
acct_id +
')" class="waves-effect waves-dark btn-flat" style="padding:0" title="' + lang.lang_parse_redraft + '"><i class="material-icons">redo</i></a></div>' + trans +
'<span class="cbadge viabadge waves-effect ' + viashow + ' ' + mine_via + '" onclick="client(\'' + $.strip_tags(via) + '\')" title="via ' + $.strip_tags(via) + '">via ' +
'</div><div class="area-side ' + mouseover + '"><span class="cbadge viabadge waves-effect ' + viashow + ' ' + mine_via + '" style="max-width:60px;" onclick="client(\'' + $.strip_tags(via) + '\')" title="via ' + $.strip_tags(via) + '">' +
via +
'</span>' +
'</div><div class="area-side ' + mouseover + '"><div class="action ' + if_mine + ' ' + noauth + '"><a onclick="toggleAction(\'' + toot.id + '\',\'' + tlid + '\',\'' + acct_id + '\')" class="waves-effect waves-dark btn-flat" style="padding:0"><i class="text-darken-3 material-icons act-icon">expand_more</i></a></div>' +
'</span>' + '<div class="action ' + if_mine + ' ' + noauth + '"><a onclick="toggleAction(\'' + toot.id + '\',\'' + tlid + '\',\'' + acct_id + '\')" class="waves-effect waves-dark btn-flat" style="padding:0"><i class="text-darken-3 material-icons act-icon">expand_more</i></a></div>' +
'<div class="action ' + noauth + '"><a onclick="details(\'' + toot.id + '\',' + acct_id +
',\'' + tlid + '\',\'normal\')" class="waves-effect waves-dark btn-flat details ' + dmHide + '" style="padding:0"><i class="text-darken-3 material-icons">more_vert</i></a></div>' +
'</div></div>' +
@@ -1021,13 +1018,62 @@ function userparse(obj, auth, acct_id, tlid, popup) {
function client(name) {
if (name != "Unknown") {
//聞く
const options = {
type: 'info',
Swal.fire({
title: lang.lang_parse_clientop,
message: name + lang.lang_parse_clienttxt,
buttons: [lang.lang_parse_clientno, lang.lang_parse_clientemp, lang.lang_parse_clientmute]
}
postMessage(["dialogClient", options], "*")
text: name + lang.lang_parse_clienttxt,
type: 'info',
showCancelButton: true,
confirmButtonColor: '#3085d6',
cancelButtonColor: '#3085d6',
confirmButtonText: lang.lang_parse_clientmute,
cancelButtonText: lang.lang_parse_clientemp,
showCloseButton: true,
focusConfirm: false,
}).then((result) => {
console.log(result)
if (result.dismiss == "cancel") {
//Emp
var cli = localStorage.getItem("client_emp");
var obj = JSON.parse(cli);
if (!obj) {
var obj = [];
obj.push(name);
M.toast({ html: escapeHTML(name) + lang.lang_status_emphas, displayLength: 2000 })
} else {
var can;
Object.keys(obj).forEach(function (key) {
var cliT = obj[key];
if (cliT != name && !can) {
can = false;
} else {
can = true;
obj.splice(key, 1);
M.toast({ html: escapeHTML(name) + lang.lang_status_unemphas, displayLength: 2000 })
}
});
if (!can) {
obj.push(name);
M.toast({ html: escapeHTML(name) + lang.lang_status_emphas, displayLength: 2000 })
} else {
}
var json = JSON.stringify(obj);
localStorage.setItem("client_emp", json);
parseColumn()
}
} else if (result.value) {
//Mute
var cli = localStorage.getItem("client_mute");
var obj = JSON.parse(cli);
if (!obj) {
obj = [];
}
obj.push(name);
var json = JSON.stringify(obj);
localStorage.setItem("client_mute", json);
M.toast({ html: escapeHTML(name) + lang.lang_parse_mute, displayLength: 2000 })
parseColumn()
}
})
}
}

View File

@@ -364,8 +364,28 @@ function addselCk() {
function removeColumn(tlid) {
$("#sort-box").addClass("hide");
$("#sort-box").removeClass("show");
//聞く
postMessage(["columnDel", tlid], "*")
Swal.fire({
title: lang.lang_layout_deleteColumn,
text: lang.lang_layout_deleteColumnDesc,
type: 'warning',
showCancelButton: true,
confirmButtonColor: '#3085d6',
cancelButtonColor: '#d33',
confirmButtonText: lang.lang_yesno,
cancelButtonText: lang.lang_no
}).then((result) => {
if (result.value) {
var multi = localStorage.getItem("column");
var obj = JSON.parse(multi);
obj.splice(tlid, 1);
var json = JSON.stringify(obj);
localStorage.setItem("column", json);
parseColumn()
sortLoad()
}
$("#sort-box").removeClass("hide");
$("#sort-box").addClass("show");
});
}
//設定トグル

View File

@@ -23,13 +23,22 @@ var tlView = new Vue({
data: { config: tlConstruction },
methods: {
complete: function (i, val) {
var ls = tlView.config[i].storage;
if (!val) {
var id = tlView.config[i].id;
var val = $("#" + id).val()
var ls = tlView.config[i];
if (val) {
localStorage.setItem(ls.storage, val)
} else {
if (!ls.data) {
ls = [ls]
} else {
ls = ls.data
}
for (var j = 0; j < ls.length; j++) {
M.toast({ html: 'Complete', displayLength: 3000 })
var id = ls[j].id;
var val = $("#" + id).val()
localStorage.setItem(ls[j].storage, val)
}
}
M.toast({ html: 'Complete', displayLength: 3000 })
localStorage.setItem(ls, val)
return true
}
}
@@ -39,13 +48,22 @@ var postView = new Vue({
data: { config: postConstruction, kirishima: localStorage.getItem('kirishima') },
methods: {
complete: function (i, val) {
var ls = postView.config[i].storage;
M.toast({ html: 'Complete', displayLength: 3000 })
if (!val) {
var id = postView.config[i].id;
var val = $("#" + id).val()
var ls = postView.config[i];
if (val) {
localStorage.setItem(ls.storage, val)
} else {
if (!ls.data) {
ls = [ls]
} else {
ls = ls.data
}
for (var j = 0; j < ls.length; j++) {
M.toast({ html: 'Complete', displayLength: 3000 })
var id = ls[j].id;
var val = $("#" + id).val()
localStorage.setItem(ls[j].storage, val)
}
}
localStorage.setItem(ls, val)
return true
}
}
@@ -96,15 +114,31 @@ function load() {
var max = tlView.config.length;
for (var i = 0; i < max; i++) {
var ls = tlView.config[i].storage;
if (localStorage.getItem(ls)) {
tlView.config[i].setValue = localStorage.getItem(ls)
if (ls) {
if (localStorage.getItem(ls)) {
tlView.config[i].setValue = localStorage.getItem(ls)
}
} else {
ls = tlView.config[i].data
for (var j = 0; j < ls.length; j++) {
if(localStorage.getItem(tlView.config[i].data[j].storage)){
tlView.config[i].data[j].setValue = localStorage.getItem(tlView.config[i].data[j].storage)
}
}
}
}
var max = postView.config.length;
for (var i = 0; i < max; i++) {
var ls = postView.config[i].storage;
if (localStorage.getItem(ls)) {
postView.config[i].setValue = localStorage.getItem(ls)
if (ls) {
if (localStorage.getItem(ls)) {
postView.config[i].setValue = localStorage.getItem(ls)
}
} else {
ls = postView.config[i].data
for (var j = 0; j < ls.length; j++) {
postView.config[i].data[j].setValue = localStorage.getItem(ls[j].storage)
}
}
}
if (localStorage.getItem("imas")) {
@@ -304,7 +338,7 @@ function importSettings() {
if (result.value) {
postMessage(["importSettings", ""], "*")
}
})
})
}
function importSettingsCore(arg) {
var obj = JSON.parse(arg);

View File

@@ -75,7 +75,7 @@ function css(mainWindow) {
secondary +
";--active:" + primary + ";--postbox:" + primary + ";--modalfooter:" +
primary +
";}.blacktheme #imagemodal{background: url(\"../img/pixel.svg\");}";
";--accentbtn:" + primary + "}.customtheme #imagemodal{background: url(\"../img/pixel.svg\");}";
e.sender.webContents.send('theme-css-response', css);
} catch (e) {
var css = "";

View File

@@ -146,33 +146,5 @@ function templete(lang, mainWindow, packaged, dir) {
];
return menu;
}
function delsel(lang) {
const dict = {
"delete": {
"ja": "カラム削除",
"en": "Delete this column"
},
"mess": {
"ja": "カラムを削除しますか?(すべてのカラムのリンク解析がOFFになります。)",
"en": "Delete this column(URL analyzes of all windows will be disabled.)"
},
"yes": {
"ja": "はい",
"en": "Yes"
},
"no": {
"ja": "いいえ",
"en": "No"
}
}
const options = {
type: 'info',
title: dict.delete[lang],
message: dict.mess[lang],
buttons: [dict.no[lang], dict.yes[lang]]
}
return options;
}
exports.template = templete;
exports.delsel = delsel;
exports.template = templete;

View File

@@ -51,28 +51,6 @@ function system(mainWindow, dir, lang, dirname) {
fs.writeFileSync(lang_path, arg);
e.sender.webContents.send('langres', "");
})
//ストアから入れたかダイアログ
ipc.on('dialogStore', function (e, args) {
dialog.showMessageBox(args, function (arg) {
if (arg == 1) {
e.sender.webContents.send('winstore', "winstore");
} else {
e.sender.webContents.send('winstore', "localinstall");
}
});
})
//CWのダイアログ
ipc.on('dialogCW', function (e, args) {
dialog.showMessageBox(args, function (arg) {
e.sender.webContents.send('dialogCWRender', arg);
});
})
//クライアントのダイアログ
ipc.on('dialogClient', function (e, args) {
dialog.showMessageBox(args, function (arg) {
e.sender.webContents.send('dialogClientRender', arg);
});
})
//エクスポートのダイアログ
ipc.on('exportSettings', function (e, args) {
dialog.showSaveDialog(null, {
@@ -158,13 +136,6 @@ function system(mainWindow, dir, lang, dirname) {
window.loadURL(dir + '/about.html?ver=' + ver);
return "true"
}
ipc.on('column-del', (e, tlid) => {
console.log(tlid);
var options = language.delsel(lang)
dialog.showMessageBox(options, function (index) {
e.sender.webContents.send('column-del-reply', [index, tlid]);
})
});
ipc.on('nano', function (e, x, y) {
var nano_info_path = join(app.getPath("userData"),

View File

@@ -1,6 +1,6 @@
{
"name": "thedesk",
"version": "18.6.4",
"version": "18.6.6",
"description": "TheDesk is a Mastodon client for PC.",
"repository": "https://github.com/cutls/TheDesk",
"main": "main.js",
@@ -43,7 +43,7 @@
},
{
"name": "kPherox",
"url": "https://pawoo.net/@kPherox",
"url": "https://pl.kpherox.dev/kPherox",
"email": "admin@mail.kr-kp.com"
}
],

View File

@@ -37,7 +37,7 @@
<script type="text/javascript" src="../../js/ui/jquery-ui.min.js"></script>
<script type="text/javascript" src="../../node_modules/sweetalert2/dist/sweetalert2.all.min.js"></script>
<script>
var ver = "Usamin (18.6.4)";
var ver = "Usamin (18.6.6)";
//betaを入れるとバージョンチェックしない
//GitHubに上げるときはindex.htmlをちゃんとする。(index.start.html)
//var ver="beta";
@@ -234,9 +234,9 @@
<!--END hidden area-->
</div>
<div id="toot-btn-field">
<button class="btn waves-effect indigo unmize toot-btn-group" onclick="post()"
<button class="btn waves-effect unmize toot-btn-group" onclick="post()"
id="toot-post-btn">Toot</button>
<button class="btn waves-effect indigo darken-3 unmize hide toot-btn-group" onclick="sec()"
<button class="btn waves-effect darken-3 unmize hide toot-btn-group" onclick="sec()"
id="toot-sec-btn"><i class="material-icons" id="toot-sec-icon"
title="Secondary Toot">lock_open</i></button>
</div>
@@ -677,35 +677,19 @@
<a href="https://thedesk.top" target="_blank">HP</a><br>
<a href="https://github.com/cutls/TheDesk" target="_blank">GitHub</a><br>
<br>
<div id="release-Usamin_18-6-4" class="release-do" style="display:none; ">
<div id="release-Usamin_18-6-6" class="release-do" style="display:none; ">
<a href="https://code.cutls.com/thedesk-log/" target="_blank">開発の経緯</a><br>
<a href="https://ja.mstdn.wiki/TheDesk" target="_blank">機能一覧</a><br>
Pixiv Fanboxでは支援者様限定で様々なTheDeskに関する記事をご覧いただけます。最低月一更新。<br>
困ったときは、<a href="https://docs.thedesk.top">TheDesk Docs</a>をご覧ください。
<h5>Release Note Usamin (18.6.4)</h5>
Integrated TLの不具合修正<br>
検索したときのタグ表示アカウントに関する不具合修正<br>
<h5>Release Note Usamin (18.6.3)</h5>
タイムラインが表示できないバグを修正<br>
<h5>Release Note Usamin (18.6.2)</h5>
Mastodon/Misskeyの音声ファイル添付に対応<br>
TLを下に読めない不具合の修正<br>
・アップデータに関するバグの修正<br>
・削除して再投稿をするとき、文字入力ができなくなる不具合の修正<br>
<h5>Release Note Usamin (18.6.1)</h5>
・リプライができない不具合を修正<br>
・ワードフィルター/強調の適用がおかしい不具合<br>
・テキストエリアのフォントが設定通りにならない不具合<br>
<h5>Release Note Usamin (18.6.0)</h5>
・アカウント選択のデザイン修正。クリック直後に閉じてしまうバグを修正。<br>
・投票済みのアンケートについて修正。<br>
<b>セキュリティの大幅な強化。</b><br>
・Adobeフォトエディタの廃止
<br>
<h5>ThinkingDeskラベル</h5>
<img src="../../img/thinkingdesk.png" style="width:100px;" draggable="false"><br>
手作りマットラベル。貼ってはがせる。300円なのでポイントの余りでどうぞ。<br>
<a href="https://item.mercari.com/jp/m822743330" target="_blank">メルカリ</a>へ。
<h5>Release Note Usamin (18.6.6)</h5>
設定に関するバグを修正<br>
ブーストのボタンの色を青に変更<br>
・テーマごとに「トゥート」ボタンの色が変わる<br>
新テーマ(Blue:渚の花嫁)を追加<br>
・トゥート下のアクションボタンのスペースなどを変更<br>
翻訳したときに結果を全て表示するよう変更<br>
knzk.meとbesr-friends.chatをサポートインスタンスから削除
</div>
<div id="release-en" style="display:none">
<h5>Let's make it native!</h5>
@@ -962,7 +946,7 @@
<div id="bottom" class="reverse">
<div class="leftside reverse">
<div id="dambox">
<button id="posttgl" class="btn waves-effect indigo"
<button id="posttgl" class="btn waves-effect"
style="width: 100%;height: 2.5rem;line-height: 0;margin: 0;">
<i class="material-icons"
style="position: relative; top: 5px; font-size: 1.5rem; text-align: center; margin-right: 10px;">edit</i>Toot

View File

@@ -58,7 +58,7 @@
<template v-for="(item, i) in config">
<h5>{{item.text.head}}</h5>
<template v-if="item.text.desc">
<templete v-html="item.text.desc"></templete><br>
<template v-html="item.text.desc"></template><br>
</template>
<template v-if="item.id=='notf'"><a onclick="notftest()"
class="pointer">Notification test</a><br></template>
@@ -128,6 +128,10 @@
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="green" value="green" />
<span>Green<span class="imas hide">(ユースフルロマンス)</span></span>
</label>
<label>
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="blue" value="blue" />
<span>Blue<span class="imas hide">(渚の花嫁)</span></span>
</label>
<label>
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="custom"
value="custom" />
@@ -208,7 +212,7 @@
<template v-for="(item, i) in config">
<h5>{{item.text.head}}</h5>
<template v-if="item.text.desc">
<templete v-html="item.text.desc"></templete><br>
<template v-html="item.text.desc"></template><br>
</template>
<template v-if="item.checkbox">
<template v-for="(check, j) in item.text.checkbox">
@@ -255,7 +259,7 @@
<template v-for="(item, i) in config">
<h5>{{item.text.head}}</h5>
<template v-if="item.text.desc">
<templete v-html="item.text.desc"></templete><br>
<template v-html="item.text.desc"></template><br>
</template>
<template v-if="item.checkbox">
<template v-for="(check, j) in item.text.checkbox">
@@ -374,13 +378,13 @@
<a onclick="spotifyDisconnect()" class="btn waves-effect nex disabled"
style="width:100%; max-width:200px; background-color:#1ed760;" id="spotify-disable"><i
class="fa fa-spotify left"></i>Disconnect</a>
<h5>Edit a template</h5>
<br>
<h5>@@templateedit@@</h5>
@@templateeditwarn@@<br>
<textarea id="np-temp" class="materialize-textarea" data-length="500">#NowPlaying {song} / {album} / {artist}
{url}</textarea><br>
Spotify:{song}:Song name/{album}:Album name/{artist}:Artist name/{url}:URL to Spotify<br>
macOS:{song}:Song name/{album}:Album name/{artist}:Artist name/composer:{composer}/spampling rate:{hz}/bit rate:{bitRate}/genre:{genre}<br>
Windows:{song}:Song name/{album}:Album name/{artist}:Artist name<br>
@@template1@@<br>
@@template2@@<br>
@@template3@@<br>
<button onclick="spotifySave()" class="btn waves-effect" style="width:100px;">Save</button>
<h5>Attach an Artwork of Spotify</h5>
<label>
@@ -448,8 +452,6 @@
以下Markdownに対応したインスタンスのみ。
<br>
<li>Ctrl+B/I/S/U:太字/斜字/取り消し/下線</li>
<li>Shift+Enter:全角スペースを入れて改行</li>
<li>Shift+Space:ゼロ幅スペース</li>
以下アスタルテにログインしている場合のみ
<br>
<li>Ctrl+R:

View File

@@ -37,7 +37,7 @@
<script type="text/javascript" src="../../js/ui/jquery-ui.min.js"></script>
<script type="text/javascript" src="../../node_modules/sweetalert2/dist/sweetalert2.all.min.js"></script>
<script>
var ver = "Usamin (18.6.4)";
var ver = "Usamin (18.6.6)";
//betaを入れるとバージョンチェックしない
//GitHubに上げるときはindex.htmlをちゃんとする。(index.start.html)
//var ver="beta";
@@ -234,9 +234,9 @@
<!--END hidden area-->
</div>
<div id="toot-btn-field">
<button class="btn waves-effect indigo unmize toot-btn-group" onclick="post()"
<button class="btn waves-effect unmize toot-btn-group" onclick="post()"
id="toot-post-btn">トゥート</button>
<button class="btn waves-effect indigo darken-3 unmize hide toot-btn-group" onclick="sec()"
<button class="btn waves-effect darken-3 unmize hide toot-btn-group" onclick="sec()"
id="toot-sec-btn"><i class="material-icons" id="toot-sec-icon"
title="セカンダリートゥート">lock_open</i></button>
</div>
@@ -677,35 +677,19 @@
<a href="https://thedesk.top" target="_blank">HP</a><br>
<a href="https://github.com/cutls/TheDesk" target="_blank">GitHub</a><br>
<br>
<div id="release-Usamin_18-6-4" class="release-do" style="display:none; ">
<div id="release-Usamin_18-6-6" class="release-do" style="display:none; ">
<a href="https://code.cutls.com/thedesk-log/" target="_blank">開発の経緯</a><br>
<a href="https://ja.mstdn.wiki/TheDesk" target="_blank">機能一覧</a><br>
Pixiv Fanboxでは支援者様限定で様々なTheDeskに関する記事をご覧いただけます。最低月一更新。<br>
困ったときは、<a href="https://docs.thedesk.top">TheDesk Docs</a>をご覧ください。
<h5>Release Note Usamin (18.6.4)</h5>
Integrated TLの不具合修正<br>
検索したときのタグ表示アカウントに関する不具合修正<br>
<h5>Release Note Usamin (18.6.3)</h5>
タイムラインが表示できないバグを修正<br>
<h5>Release Note Usamin (18.6.2)</h5>
Mastodon/Misskeyの音声ファイル添付に対応<br>
TLを下に読めない不具合の修正<br>
・アップデータに関するバグの修正<br>
・削除して再投稿をするとき、文字入力ができなくなる不具合の修正<br>
<h5>Release Note Usamin (18.6.1)</h5>
・リプライができない不具合を修正<br>
・ワードフィルター/強調の適用がおかしい不具合<br>
・テキストエリアのフォントが設定通りにならない不具合<br>
<h5>Release Note Usamin (18.6.0)</h5>
・アカウント選択のデザイン修正。クリック直後に閉じてしまうバグを修正。<br>
・投票済みのアンケートについて修正。<br>
<b>セキュリティの大幅な強化。</b><br>
・Adobeフォトエディタの廃止
<br>
<h5>ThinkingDeskラベル</h5>
<img src="../../img/thinkingdesk.png" style="width:100px;" draggable="false"><br>
手作りマットラベル。貼ってはがせる。300円なのでポイントの余りでどうぞ。<br>
<a href="https://item.mercari.com/jp/m822743330" target="_blank">メルカリ</a>へ。
<h5>Release Note Usamin (18.6.6)</h5>
設定に関するバグを修正<br>
ブーストのボタンの色を青に変更<br>
・テーマごとに「トゥート」ボタンの色が変わる<br>
新テーマ(Blue:渚の花嫁)を追加<br>
・トゥート下のアクションボタンのスペースなどを変更<br>
翻訳したときに結果を全て表示するよう変更<br>
knzk.meとbesr-friends.chatをサポートインスタンスから削除
</div>
<div id="release-en" style="display:none">
<h5>Let's make it native!</h5>
@@ -962,7 +946,7 @@
<div id="bottom" class="reverse">
<div class="leftside reverse">
<div id="dambox">
<button id="posttgl" class="btn waves-effect indigo"
<button id="posttgl" class="btn waves-effect"
style="width: 100%;height: 2.5rem;line-height: 0;margin: 0;">
<i class="material-icons"
style="position: relative; top: 5px; font-size: 1.5rem; text-align: center; margin-right: 10px;">edit</i>トゥート

View File

@@ -58,7 +58,7 @@
<template v-for="(item, i) in config">
<h5>{{item.text.head}}</h5>
<template v-if="item.text.desc">
<templete v-html="item.text.desc"></templete><br>
<template v-html="item.text.desc"></template><br>
</template>
<template v-if="item.id=='notf'"><a onclick="notftest()"
class="pointer">通知テスト</a><br></template>
@@ -128,6 +128,10 @@
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="green" value="green" />
<span>Green<span class="imas hide">(ユースフルロマンス)</span></span>
</label>
<label>
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="blue" value="blue" />
<span>Blue<span class="imas hide">(渚の花嫁)</span></span>
</label>
<label>
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="custom"
value="custom" />
@@ -208,7 +212,7 @@
<template v-for="(item, i) in config">
<h5>{{item.text.head}}</h5>
<template v-if="item.text.desc">
<templete v-html="item.text.desc"></templete><br>
<template v-html="item.text.desc"></template><br>
</template>
<template v-if="item.checkbox">
<template v-for="(check, j) in item.text.checkbox">
@@ -255,7 +259,7 @@
<template v-for="(item, i) in config">
<h5>{{item.text.head}}</h5>
<template v-if="item.text.desc">
<templete v-html="item.text.desc"></templete><br>
<template v-html="item.text.desc"></template><br>
</template>
<template v-if="item.checkbox">
<template v-for="(check, j) in item.text.checkbox">
@@ -374,13 +378,13 @@
<a onclick="spotifyDisconnect()" class="btn waves-effect nex disabled"
style="width:100%; max-width:200px; background-color:#1ed760;" id="spotify-disable"><i
class="fa fa-spotify left"></i>切断</a>
<h5>テンプレートの編集</h5>
以下を編集してテンプレートを変更できます。<br>
<h5>@@templateedit@@</h5>
@@templateeditwarn@@<br>
<textarea id="np-temp" class="materialize-textarea" data-length="500">#NowPlaying {song} / {album} / {artist}
{url}</textarea><br>
Spotify:{song}:曲名/{album}:アルバム名/{artist}:アーティスト名/{url}:各曲のSpotifyのURL<br>
macOS:{song}:曲名/{album}:アルバム名/{artist}:アーティスト名/作曲家{composer}/サンプルレート{hz}/ビットレート{bitRate}/ジャンル{genre}<br>
Windows:{song}:曲名/{album}:アルバム名/{artist}:アーティスト名<br>
@@template1@@<br>
@@template2@@<br>
@@template3@@<br>
<button onclick="spotifySave()" class="btn waves-effect" style="width:100px;">設定</button>
<h5>アルバムアートワークを添付する(Spotify/Windows)</h5>
<label>
@@ -448,8 +452,6 @@
以下Markdownに対応したインスタンスのみ。
<br>
<li>Ctrl+B/I/S/U:太字/斜字/取り消し/下線</li>
<li>Shift+Enter:全角スペースを入れて改行</li>
<li>Shift+Space:ゼロ幅スペース</li>
以下アスタルテにログインしている場合のみ
<br>
<li>Ctrl+R:

View File

@@ -234,9 +234,9 @@
<!--END hidden area-->
</div>
<div id="toot-btn-field">
<button class="btn waves-effect indigo unmize toot-btn-group" onclick="post()"
<button class="btn waves-effect unmize toot-btn-group" onclick="post()"
id="toot-post-btn">@@toot@@</button>
<button class="btn waves-effect indigo darken-3 unmize hide toot-btn-group" onclick="sec()"
<button class="btn waves-effect darken-3 unmize hide toot-btn-group" onclick="sec()"
id="toot-sec-btn"><i class="material-icons" id="toot-sec-icon"
title="@@sectoot@@">lock_open</i></button>
</div>
@@ -677,35 +677,19 @@
<a href="https://thedesk.top" target="_blank">HP</a><br>
<a href="https://github.com/cutls/TheDesk" target="_blank">GitHub</a><br>
<br>
<div id="release-Usamin_18-6-4" class="release-do" style="display:none; ">
<div id="release-Usamin_18-6-6" class="release-do" style="display:none; ">
<a href="https://code.cutls.com/thedesk-log/" target="_blank">開発の経緯</a><br>
<a href="https://ja.mstdn.wiki/TheDesk" target="_blank">機能一覧</a><br>
Pixiv Fanboxでは支援者様限定で様々なTheDeskに関する記事をご覧いただけます。最低月一更新。<br>
困ったときは、<a href="https://docs.thedesk.top">TheDesk Docs</a>をご覧ください。
<h5>Release Note Usamin (18.6.4)</h5>
Integrated TLの不具合修正<br>
検索したときのタグ表示アカウントに関する不具合修正<br>
<h5>Release Note Usamin (18.6.3)</h5>
タイムラインが表示できないバグを修正<br>
<h5>Release Note Usamin (18.6.2)</h5>
Mastodon/Misskeyの音声ファイル添付に対応<br>
TLを下に読めない不具合の修正<br>
・アップデータに関するバグの修正<br>
・削除して再投稿をするとき、文字入力ができなくなる不具合の修正<br>
<h5>Release Note Usamin (18.6.1)</h5>
・リプライができない不具合を修正<br>
・ワードフィルター/強調の適用がおかしい不具合<br>
・テキストエリアのフォントが設定通りにならない不具合<br>
<h5>Release Note Usamin (18.6.0)</h5>
・アカウント選択のデザイン修正。クリック直後に閉じてしまうバグを修正。<br>
・投票済みのアンケートについて修正。<br>
<b>セキュリティの大幅な強化。</b><br>
・Adobeフォトエディタの廃止
<br>
<h5>ThinkingDeskラベル</h5>
<img src="../../img/thinkingdesk.png" style="width:100px;" draggable="false"><br>
手作りマットラベル。貼ってはがせる。300円なのでポイントの余りでどうぞ。<br>
<a href="https://item.mercari.com/jp/m822743330" target="_blank">メルカリ</a>へ。
<h5>Release Note Usamin (18.6.6)</h5>
設定に関するバグを修正<br>
ブーストのボタンの色を青に変更<br>
・テーマごとに「トゥート」ボタンの色が変わる<br>
新テーマ(Blue:渚の花嫁)を追加<br>
・トゥート下のアクションボタンのスペースなどを変更<br>
翻訳したときに結果を全て表示するよう変更<br>
knzk.meとbesr-friends.chatをサポートインスタンスから削除
</div>
<div id="release-en" style="display:none">
<h5>Let's make it native!</h5>
@@ -962,7 +946,7 @@
<div id="bottom" class="reverse">
<div class="leftside reverse">
<div id="dambox">
<button id="posttgl" class="btn waves-effect indigo"
<button id="posttgl" class="btn waves-effect"
style="width: 100%;height: 2.5rem;line-height: 0;margin: 0;">
<i class="material-icons"
style="position: relative; top: 5px; font-size: 1.5rem; text-align: center; margin-right: 10px;">edit</i>@@toot@@

View File

@@ -2,7 +2,7 @@ const fs = require("fs")
const readlineSync = require('readline-sync');
let ver = readlineSync.question('version string (empty: default string)? ');
if (!ver) {
ver = "Usamin (18.6.4)"
ver = "Usamin (18.6.6)"
}
console.log("Constructing view files " + ver + ": make sure to update package.json")
const langs = ["ja", "en", "ps"]

View File

@@ -58,7 +58,7 @@
<template v-for="(item, i) in config">
<h5>{{item.text.head}}</h5>
<template v-if="item.text.desc">
<templete v-html="item.text.desc"></templete><br>
<template v-html="item.text.desc"></template><br>
</template>
<template v-if="item.id=='notf'"><a onclick="notftest()"
class="pointer">@@nntest@@</a><br></template>
@@ -128,6 +128,10 @@
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="green" value="green" />
<span>Green<span class="imas hide">(ユースフルロマンス)</span></span>
</label>
<label>
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="blue" value="blue" />
<span>Blue<span class="imas hide">(渚の花嫁)</span></span>
</label>
<label>
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="custom"
value="custom" />
@@ -208,7 +212,7 @@
<template v-for="(item, i) in config">
<h5>{{item.text.head}}</h5>
<template v-if="item.text.desc">
<templete v-html="item.text.desc"></templete><br>
<template v-html="item.text.desc"></template><br>
</template>
<template v-if="item.checkbox">
<template v-for="(check, j) in item.text.checkbox">
@@ -255,7 +259,7 @@
<template v-for="(item, i) in config">
<h5>{{item.text.head}}</h5>
<template v-if="item.text.desc">
<templete v-html="item.text.desc"></templete><br>
<template v-html="item.text.desc"></template><br>
</template>
<template v-if="item.checkbox">
<template v-for="(check, j) in item.text.checkbox">
@@ -374,13 +378,13 @@
<a onclick="spotifyDisconnect()" class="btn waves-effect nex disabled"
style="width:100%; max-width:200px; background-color:#1ed760;" id="spotify-disable"><i
class="fa fa-spotify left"></i>@@disconnect@@</a>
<h5>@@templeteedit@@</h5>
@@templeteeditwarn@@<br>
<h5>@@templateedit@@</h5>
@@templateeditwarn@@<br>
<textarea id="np-temp" class="materialize-textarea" data-length="500">#NowPlaying {song} / {album} / {artist}
{url}</textarea><br>
@@templete1@@<br>
@@templete2@@<br>
@@templete3@@<br>
@@template1@@<br>
@@template2@@<br>
@@template3@@<br>
<button onclick="spotifySave()" class="btn waves-effect" style="width:100px;">@@set@@</button>
<h5>@@postartwork@@</h5>
<label>
@@ -448,8 +452,6 @@
以下Markdownに対応したインスタンスのみ。
<br>
<li>Ctrl+B/I/S/U:太字/斜字/取り消し/下線</li>
<li>Shift+Enter:全角スペースを入れて改行</li>
<li>Shift+Space:ゼロ幅スペース</li>
以下アスタルテにログインしている場合のみ
<br>
<li>Ctrl+R:

View File

@@ -37,7 +37,7 @@
<script type="text/javascript" src="../../js/ui/jquery-ui.min.js"></script>
<script type="text/javascript" src="../../node_modules/sweetalert2/dist/sweetalert2.all.min.js"></script>
<script>
var ver = "Usamin (18.6.4)";
var ver = "Usamin (18.6.6)";
//betaを入れるとバージョンチェックしない
//GitHubに上げるときはindex.htmlをちゃんとする。(index.start.html)
//var ver="beta";
@@ -234,9 +234,9 @@
<!--END hidden area-->
</div>
<div id="toot-btn-field">
<button class="btn waves-effect indigo unmize toot-btn-group" onclick="post()"
<button class="btn waves-effect unmize toot-btn-group" onclick="post()"
id="toot-post-btn">crwdns388:0crwdne388:0</button>
<button class="btn waves-effect indigo darken-3 unmize hide toot-btn-group" onclick="sec()"
<button class="btn waves-effect darken-3 unmize hide toot-btn-group" onclick="sec()"
id="toot-sec-btn"><i class="material-icons" id="toot-sec-icon"
title="crwdns1890:0crwdne1890:0">lock_open</i></button>
</div>
@@ -677,35 +677,19 @@
<a href="https://thedesk.top" target="_blank">HP</a><br>
<a href="https://github.com/cutls/TheDesk" target="_blank">GitHub</a><br>
<br>
<div id="release-Usamin_18-6-4" class="release-do" style="display:none; ">
<div id="release-Usamin_18-6-6" class="release-do" style="display:none; ">
<a href="https://code.cutls.com/thedesk-log/" target="_blank">開発の経緯</a><br>
<a href="https://ja.mstdn.wiki/TheDesk" target="_blank">機能一覧</a><br>
Pixiv Fanboxでは支援者様限定で様々なTheDeskに関する記事をご覧いただけます。最低月一更新。<br>
困ったときは、<a href="https://docs.thedesk.top">TheDesk Docs</a>をご覧ください。
<h5>Release Note Usamin (18.6.4)</h5>
Integrated TLの不具合修正<br>
検索したときのタグ表示アカウントに関する不具合修正<br>
<h5>Release Note Usamin (18.6.3)</h5>
タイムラインが表示できないバグを修正<br>
<h5>Release Note Usamin (18.6.2)</h5>
Mastodon/Misskeyの音声ファイル添付に対応<br>
TLを下に読めない不具合の修正<br>
・アップデータに関するバグの修正<br>
・削除して再投稿をするとき、文字入力ができなくなる不具合の修正<br>
<h5>Release Note Usamin (18.6.1)</h5>
・リプライができない不具合を修正<br>
・ワードフィルター/強調の適用がおかしい不具合<br>
・テキストエリアのフォントが設定通りにならない不具合<br>
<h5>Release Note Usamin (18.6.0)</h5>
・アカウント選択のデザイン修正。クリック直後に閉じてしまうバグを修正。<br>
・投票済みのアンケートについて修正。<br>
<b>セキュリティの大幅な強化。</b><br>
・Adobeフォトエディタの廃止
<br>
<h5>ThinkingDeskラベル</h5>
<img src="../../img/thinkingdesk.png" style="width:100px;" draggable="false"><br>
手作りマットラベル。貼ってはがせる。300円なのでポイントの余りでどうぞ。<br>
<a href="https://item.mercari.com/jp/m822743330" target="_blank">メルカリ</a>へ。
<h5>Release Note Usamin (18.6.6)</h5>
設定に関するバグを修正<br>
ブーストのボタンの色を青に変更<br>
・テーマごとに「トゥート」ボタンの色が変わる<br>
新テーマ(Blue:渚の花嫁)を追加<br>
・トゥート下のアクションボタンのスペースなどを変更<br>
翻訳したときに結果を全て表示するよう変更<br>
knzk.meとbesr-friends.chatをサポートインスタンスから削除
</div>
<div id="release-en" style="display:none">
<h5>Let's make it native!</h5>
@@ -962,7 +946,7 @@
<div id="bottom" class="reverse">
<div class="leftside reverse">
<div id="dambox">
<button id="posttgl" class="btn waves-effect indigo"
<button id="posttgl" class="btn waves-effect"
style="width: 100%;height: 2.5rem;line-height: 0;margin: 0;">
<i class="material-icons"
style="position: relative; top: 5px; font-size: 1.5rem; text-align: center; margin-right: 10px;">edit</i>crwdns388:0crwdne388:0

View File

@@ -58,7 +58,7 @@
<template v-for="(item, i) in config">
<h5>{{item.text.head}}</h5>
<template v-if="item.text.desc">
<templete v-html="item.text.desc"></templete><br>
<template v-html="item.text.desc"></template><br>
</template>
<template v-if="item.id=='notf'"><a onclick="notftest()"
class="pointer">crwdns540:0crwdne540:0</a><br></template>
@@ -128,6 +128,10 @@
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="green" value="green" />
<span>Green<span class="imas hide">(ユースフルロマンス)</span></span>
</label>
<label>
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="blue" value="blue" />
<span>Blue<span class="imas hide">(渚の花嫁)</span></span>
</label>
<label>
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="custom"
value="custom" />
@@ -208,7 +212,7 @@
<template v-for="(item, i) in config">
<h5>{{item.text.head}}</h5>
<template v-if="item.text.desc">
<templete v-html="item.text.desc"></templete><br>
<template v-html="item.text.desc"></template><br>
</template>
<template v-if="item.checkbox">
<template v-for="(check, j) in item.text.checkbox">
@@ -255,7 +259,7 @@
<template v-for="(item, i) in config">
<h5>{{item.text.head}}</h5>
<template v-if="item.text.desc">
<templete v-html="item.text.desc"></templete><br>
<template v-html="item.text.desc"></template><br>
</template>
<template v-if="item.checkbox">
<template v-for="(check, j) in item.text.checkbox">
@@ -374,13 +378,13 @@
<a onclick="spotifyDisconnect()" class="btn waves-effect nex disabled"
style="width:100%; max-width:200px; background-color:#1ed760;" id="spotify-disable"><i
class="fa fa-spotify left"></i>crwdns630:0crwdne630:0</a>
<h5>crwdns631:0crwdne631:0</h5>
crwdns632:0crwdne632:0<br>
<h5>@@templateedit@@</h5>
@@templateeditwarn@@<br>
<textarea id="np-temp" class="materialize-textarea" data-length="500">#NowPlaying {song} / {album} / {artist}
{url}</textarea><br>
crwdns2358:0{song}crwdnd2358:0{album}crwdnd2358:0{artist}crwdnd2358:0{url}crwdne2358:0<br>
crwdns2360:0{song}crwdnd2360:0{album}crwdnd2360:0{artist}crwdnd2360:0{composer}crwdnd2360:0{hz}crwdnd2360:0{bitRate}crwdnd2360:0{genre}crwdne2360:0<br>
crwdns2362:0{song}crwdnd2362:0{album}crwdnd2362:0{artist}crwdne2362:0<br>
@@template1@@<br>
@@template2@@<br>
@@template3@@<br>
<button onclick="spotifySave()" class="btn waves-effect" style="width:100px;">crwdns525:0crwdne525:0</button>
<h5>crwdns635:0crwdne635:0</h5>
<label>
@@ -448,8 +452,6 @@
以下Markdownに対応したインスタンスのみ。
<br>
<li>Ctrl+B/I/S/U:太字/斜字/取り消し/下線</li>
<li>Shift+Enter:全角スペースを入れて改行</li>
<li>Shift+Space:ゼロ幅スペース</li>
以下アスタルテにログインしている場合のみ
<br>
<li>Ctrl+R: