markdown/scrapbox記法URL取得

Copy URL in markdown/scrapbox format

  1. // ==UserScript==
  2. // @name markdown/scrapbox記法URL取得
  3. // @version 1
  4. // @grant none
  5. // @namespace https://twitter.com/root_T2
  6. // @description Copy URL in markdown/scrapbox format
  7. // @description:ja
  8. // ==/UserScript==
  9.  
  10. // クリップボード
  11. // https://qiita.com/butakoma/items/642c0ec4b77f6bb5ebcf
  12. // https://qiita.com/simiraaaa/items/2e7478d72f365aa48356
  13. // ショートカット
  14. // https://stackoverflow.com/questions/3168574/how-can-i-create-a-shortcut-for-firefox-in-greasemonkey
  15. // ascii code http://www9.plala.or.jp/sgwr-t/c_sub/ascii.html
  16.  
  17. var title = document.title;
  18. title = title.replace(/\s*[\[\]]\s*/g,' ');
  19. // scrapbox用
  20. var str = '[' + title + ' ' + document.URL + ']';
  21. // markdown
  22. var str2 = '[' + title + '](' + document.URL + ')';
  23.  
  24.  
  25. (function(){
  26. document.addEventListener('keydown', function(e) {
  27. // pressed alt+a
  28. if (e.keyCode == 65 && !e.shiftKey && !e.ctrlKey && e.altKey && !e.metaKey) {
  29. var listener = function(e){
  30.  
  31. e.clipboardData.setData("text/plain" , str);
  32. // 本来のイベントをキャンセル
  33. e.preventDefault();
  34. // 終わったら一応削除
  35. document.removeEventListener("copy", listener);
  36. }
  37. // コピーのイベントが発生したときに、クリップボードに書き込むようにしておく
  38. document.addEventListener("copy" , listener);
  39.  
  40. // コピー
  41. document.execCommand("copy");
  42. // markdown alt+q
  43. }else if(e.keyCode == 81 && !e.shiftKey && !e.ctrlKey && e.altKey && !e.metaKey){
  44. var listener = function(e){
  45.  
  46. e.clipboardData.setData("text/plain" , str2);
  47. e.preventDefault();
  48. document.removeEventListener("copy", listener);
  49. }
  50. document.addEventListener("copy" , listener);
  51. document.execCommand("copy");
  52. }
  53. }, false);
  54. })();