いいねするユーザースクリプト
ページにリアクションできないのちょっとさみしいので、いいね!できるユーザースクリプト作ってみた。
導入
Step 1. ユーザースクリプトの追加
プロフィールページに以下のコードをscript.jsとして追加すると、ページメニューにいいね!するための項目が追加される。
code:script.js
Step 2. ユーザースクリプトを有効にする
設定のEdit profile→Extensionsより、ユーザースクリプトを有効にするフラグにチェックを入れます。
https://gyazo.com/562727fac531a05be8437c8bb7b32114
Step 3. ユーザースクリプトを読み込む
ユーザースクリプトを有効にしたら、ページをリロードします。
すると、以下のようなバナーが表示されるのでLoad new UserScriptをクリックしユーザースクリプトを読み込みます。
この手順はプロフィールページのcode:script.jsを更新する度に必要です。
https://gyazo.com/94b763492cdfde0a729ead3e8ad10e59
使い方
使い方は、ページメニューに表示される 👍 いいね をクリックするとページの最下部に行が追加される。
https://gyazo.com/71a4e96c917ac4562ccd487e9648294d
こんな感じ。
https://gyazo.com/177207a9017b8375c7c0e9f3b9ebba1f
ソースコード
code:script.js
(() => {
const wait = (waitTime) => new Promise((resolve) => setTimeout(resolve, waitTime));
const $username = document.querySelectorAll('.global-menu-for-user > .dropdown-header').item(1);
if (!$username) {
console.warn('Like Cannot find your username.'); return;
}
const username = $username.textContent;
scrapbox.PageMenu.addItem({
title: '👍 いいね',
onClick: async () => {
// メニューを表示させないと内容が見れなくなったのでクリックして少し待つ
document.querySelector('.col-brand.dropdown.global-menu-button > a').click();
await wait(10);
const $mypageLink = Array.from(document.querySelectorAll('.global-menu-for-user li a')).find((anchor) => anchor.textContent === 'Show my page');
if (!$mypageLink) {
alert('プロフィールページを作成してください');
return;
}
const id = $mypageLink.getAttribute('href').replace(/^.*\/(.*)$/, '$1');
const message = [* 👍 ${username} [${id}.icon]] がいいねしました;
const hasAlreadyLiked = scrapbox.Page.lines.some((line) => {
return line.text.trim().includes(message);
});
if (hasAlreadyLiked) {
alert('Like This page has already been liked.'); return;
}
const likedDate = new Intl.DateTimeFormat('ja').format(new Date());
location.replace(?body=${message} on ${likedDate});
}
});
})();
👍 silloi silloi.icon がいいねしました on 2020/1/8
👍 tsuzakitakehiro tsuzakitakehiro.icon がいいねしました on 2020/1/8
👍 yoshiyuki hisamatsu hisasann.icon がいいねしました on 2020/1/8
👍 ando-masaki andsaki.icon がいいねしました on 2020/1/8
👍 momii momii.icon がいいねしました on 2020/1/8
👍 momii momii.icon がいいねしました on 2020/1/8
👍 ArakiTakaki ArakiTakaki.icon がいいねしました on 2020/1/21
👍 Yuki Agatsuma YukiAgatsuma.icon がいいねしました on 2020/7/3
👍 umamichi umamichi.icon がいいねしました on 2020/7/31
👍 onuma onuma.icon がいいねしました on 2020/8/6