Cosense Toolbox
userscript 一覧テーマ作成使い方パーサーGitHub ↗
Markdownリンクコピーするを追加するuserScript
ツール・ページ#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();
})();
元のCosenseページを見る ↗

Cosense Toolbox / Cosense をもっと面白く、もっと強力に使うためのツール群

GitHub ↗

マイ・ツールボックス

    積んだ import を1つにまとめてコピー → 自分の設定ページ(ユーザー名ページ)に貼るだけ。