Add lgtms-link

Qiitaの自分のアイコンのドロップアウト欄に「LGTMした記事一覧」を追加します。

  1. // ==UserScript==
  2. // @name Add lgtms-link
  3. // @namespace https://greasyfork.org/users/684688
  4. // @version 0.3
  5. // @description Qiitaの自分のアイコンのドロップアウト欄に「LGTMした記事一覧」を追加します。
  6. // @author 0ga0takash1
  7. // @match https://qiita.com/*
  8. // @grant none
  9. // ==/UserScript==
  10.  
  11. {
  12. // class名が「st-RenewalHeader_dropdown」であるものの中のaタグをリストで収集
  13. const links = Array.from(
  14. document.querySelectorAll(".st-Header_dropdown > a")
  15. );
  16.  
  17. // usernameを検知する用
  18. const my_page_url = links.find((element) => element.innerText === "マイページ").href;
  19.  
  20. // リストから一つ前の要素を検出し、before_elementに代入
  21. const before_element = links.find(
  22. (element) => element.innerText === "ストックした記事"
  23. );
  24.  
  25. // 挿入する要素lgtmsを作る
  26. const lgtms = document.createElement("a");
  27. lgtms.href = `${my_page_url}/lgtms`;
  28. lgtms.className = "st-Header_dropdownItem";
  29. lgtms.innerHTML = "LGTMした記事";
  30.  
  31. // 挿入する
  32. before_element.parentNode.insertBefore(lgtms, before_element.nextElementSibling);
  33. }