
ツール・ページ#page#markdown#clipboard
Markdownリンクコピーするを追加するuserScript
今見ているページへのリンクを、Markdown形式([タイトル](URL))でワンクリックでコピーできます。GitHubやNotion、ブログなどMarkdownが使える場所に貼るとき、タイトルとURLを手で組み立てる必要がなくなります。
使い方:ページメニューの「Markdownリンクをコピー」を選ぶとクリップボードに入ります。
デモ

インストール
設定ページの code:script.js に貼る
import "/api/code/cosense-toolbox/Markdownリンクコピーするを追加するuserScript/script.js";
ソースコード全文を見る(JS)
(() => {
const TEXT_CONTENT = "Markdownリンクをコピー";
window.cosense.on("layout:changed", handler);
function handler() {
if (window.cosense.Layout !== "page") {
return;
}
if (hasCopyAsMarkDownLinkInPageMenu()) {
return;
}
const pageMenuDvider = document.querySelector(
".page-menu > div:nth-child(2).dropdown .divider",
);
if (!pageMenuDvider) return;
const pageMenuDviderParent = pageMenuDvider.parentElement;
const li = document.createElement("li");
const a = document.createElement("a");
a.textContent = TEXT_CONTENT;
a.onclick = async () => {
await navigator.clipboard.writeText(`[${cosense.Page.title}](${location.href})`);
};
li.append(a);
pageMenuDviderParent.insertBefore(li, pageMenuDvider);
}
function hasCopyAsMarkDownLinkInPageMenu() {
let has = false;
document.querySelectorAll(".page-menu > div.dropdown:nth-of-type(2) ul li").forEach((n) => {
has = n.textContent === TEXT_CONTENT;
});
return has;
}
handler();
})();