-
[티스토리] 코드블럭 클립보드로 복사버튼 추가블로그 2023. 2. 4. 16:15
적용된 후 코드블록에 마우스를 올리면 우측살단에 버튼이 생성된다.
적용 후 모습은 아래와 같다.
적용방법은 아래와 같다. 순차적으로 따라하면 어렵지 않게 적용이 가능하다.
1. 아래 파일을 다운로드 한다.
js파일이 궁금하신 분들은 아래 github에서 확인 가능하다.
2. 블로그 관리 -> 꾸미기 -> 스킨편집 -> html 편집 클릭
3. html 편집에서 파일업로드 탭에서 다운받은 파일 업로드
4. html 편집에서 <head> 테그에 html 코드 추가
<head> ... </head> 사이에 아래 코드 삽입
아래는 복사가능한 코드
<!-- 코드복사 버튼 --> <script src="//t1.daumcdn.net/tistory_admin/lib/jquery/jquery-1.12.4.min.js"></script> <script type="text/javascript" src="./images/clipboard.min.js"></script> <!-- 코드복사 버튼 -->
5. html 편집에서 <script> 코드 추가
</body> 코드 아래 <script> 아래 코드를 삽입 </script>
아래 이미지처럼 이미 <script> </script> 코드가 있다면 그 안에 삽입
아래는 복사가능한 코드
// 코드복사 버튼 $(document).ready(function(){ $('pre[id^="code"]').each(function(index,e){ let button=document.createElement('button'); button.innerText="Copy"; button.className='copy-button'; button.style.cursor='pointer'; button.setAttribute('data-clipboard-text',e.innerText); button.addEventListener('mouseleave',function(event){ event.currentTarget.setAttribute('class','copy-button'); event.currentTarget.removeAttribute('copy-message'); }); e.appendChild(button); }); var clipboard=new ClipboardJS('.copy-button'); clipboard.on('success',function(e){ e.clearSelection(); e.trigger.setAttribute('class','copy-button copy-message'); e.trigger.setAttribute('copy-message','복사완료!'); }); }); // 코드복사 버튼
6. html 편집에서 css코드 삽입
css 탭을 클릭 후 가장 아래에 코드 추가
아래는 복사가능한 코드
/* 코드복사 버튼 */ pre { position: relative; overflow: visible; } pre .copy-button { opacity: 0; position: absolute; right: 8px; top: 4px; padding: 6px 18px; color: rgb(255, 255, 255); background: rgba(255, 223, 0, 0.6); border-radius: 5px; transition: opacity .3s ease-in-out; } pre:hover .copy-button { opacity: 1; } pre .copy-button:hover { color: #eee; transition: all ease-in-out 0.3s; } pre .copy-button:active { color: #33f; transition: all ease-in-out 0.1s; } .copy-message:before { content: attr(copy-message); position: absolute; left: -95px; top: 0px; padding: 6px 18px; color: #fff; background: rgba(255, 223, 0, 0.6); border-radius: 5px; } /* 코드복사 버튼 */
※ 버튼을 꾸미고 싶어하시는 분들을 위한 팁
pre .copy-button {
opacity: 0;position: absolute;right: 8px; <-- 버튼의 위치, 우측에서 얼마나 떨어지는가, 숫자가 클수록 멀리떨어진다.top: 4px; <-- 버튼의 위치, 위에서 얼마나 떨어지는가, 숫자가 클수록 멀리떨어진다.padding: 6px 18px; <-- 버튼의 크기 세로,가로 순color: rgb(255, 255, 255); <-- 버튼 내부 글자의 색상background: rgba(255, 223, 0, 0.6); <-- 버튼의 색상border-radius: 5px; <-- 버튼의 모서리 굴곡, 숫자가 클수록 원에 가까워진다.transition: opacity .3s ease-in-out;}7. html 편집 탭의 우측 적용버튼 클릭
출처 및 참조