// ==UserScript== // @name stackoverflow make markdown link for question and answers automatically // @namespace http://tampermonkey.net/ // @version 0.2 // @description stackoverflow make markdown link for question and answers automatically :) // @author 批小将 // @match https://*.stackexchange.com/* // @match https://stackoverflow.com/* // @match https://serverfault.com/* // @grant none // @license MIT // @downloadURL https://update.greasyfork.icu/scripts/393591/stackoverflow%20make%20markdown%20link%20for%20question%20and%20answers%20automatically.user.js // @updateURL https://update.greasyfork.icu/scripts/393591/stackoverflow%20make%20markdown%20link%20for%20question%20and%20answers%20automatically.meta.js // ==/UserScript== (function() { 'use strict'; function makeShareMDLink(){ let shareBtnTemplate = ``; let shareTags = document.querySelectorAll('div.my8'); for(let i = 0; i < shareTags.length; i++){ let shareTag = shareTags[i]; let shareLink = shareTag.firstChild.value; let shareBtn = shareTag.nextSibling.firstChild; shareBtn.insertAdjacentHTML('afterend', shareBtnTemplate); shareBtn.nextSibling.addEventListener('click', function(){ //Define the MD link as you like, here it's `[answer](https://stackoverflow.com/answerlink)` let shareText = "answer"; let shareMDText = '[' + shareText + '](' + shareLink + ')'; navigator.clipboard.writeText(shareMDText); }) } } function makeQuestionMDlink(){ let btnTemplate = ``; let askQuestionTag = document.querySelector('div.aside-cta'); askQuestionTag.insertAdjacentHTML('beforeend', btnTemplate); let btn = document.getElementById('makeMDbtn'); let shareBtnTemplate = ''; btn.addEventListener('click', function(){ let qTag = document.querySelector('#question-header .question-hyperlink'); let link = qTag.href; let text = qTag.innerText; let markdownText = '[' + text + '](' + link + ')'; navigator.clipboard.writeText(markdownText); }); } let timeout = 1000; makeQuestionMDlink(); setTimeout(function(){ makeShareMDLink(); }, timeout); })();