사용자:Zlzleking/gadgets/addCopyButtonToCode.js

참고: 설정을 저장한 후에 바뀐 점을 확인하기 위해서는 브라우저의 캐시를 새로 고쳐야 합니다.

  • 파이어폭스 / 사파리: Shift 키를 누르면서 새로 고침을 클릭하거나, Ctrl-F5 또는 Ctrl-R을 입력 (Mac에서는 ⌘-R)
  • 구글 크롬: Ctrl-Shift-R키를 입력 (Mac에서는 ⌘-Shift-R)
  • 인터넷 익스플로러 / 엣지: Ctrl 키를 누르면서 새로 고침을 클릭하거나, Ctrl-F5를 입력.
  • 오페라: Ctrl-F5를 입력.
// 간단한 사용자 스크립트입니다. 코드 하이라이트가 적용된 부분의 코드를 복사하는 버튼 하나를 생성합니다.
// 사용자 스크립트 란에 mw.loader.load( '/index.php?title=사용자:Zlzleking/gadgets/addCopyButtonToCode.js&action=raw&ctype=text/javascript', 'text/javascript' );
// 를 붙여넣으시면 편하게 사용하실 수 있습니다.

function addCopyLinkToCodeElements() {
	const elements = document.querySelectorAll(".mw-parser-output .mw-highlight");
	elements.forEach(function(element) {
		const copybutton = document.createElement('button');
		const code = element.firstChild.innerText;
		copybutton.innerText = "copy";
		copybutton.addEventListener('click',function() {copyCode(code)});
		copybutton.style = "float:right";
		const endBlock = document.createElement('div');
		endBlock.style = "clear:both";
		element.appendChild(copybutton);
		element.appendChild(endBlock);
	});
}

function copyCode(codeText) {
	navigator.clipboard.writeText(codeText);
}

$(function() {addCopyLinkToCodeElements()});