步骤
第 1 步,添加 assets/js/copyCode.js 文件:
const codeBlocks = document.querySelectorAll('pre.highlight');
codeBlocks.forEach(function (codeBlock) {
    const copyButton = document.createElement('button');
    copyButton.className = 'copy';
    copyButton.type = 'button';
    copyButton.ariaLabel = 'Copy code to clipboard';
    copyButton.innerText = 'Copy';
    codeBlock.append(copyButton);
    copyButton.addEventListener('click', function () {
        const code = codeBlock.querySelector('code').innerText.trim();
        window.navigator.clipboard.writeText(code);
        copyButton.innerText = 'Copied';
        const fourSeconds = 4000;
        setTimeout(function () {
            copyButton.innerText = 'Copy';
        }, fourSeconds);
    });
});
第 2 步,引入 HTML 页面:
<script src="/assets/js/copyCode.js"></script>
例如,在 _includes/head.html 文件添加:
<script type="text/javascript" src="/assets/js/copyCode.js" defer></script>
第 3 步,修改样式(非必要),例如添加在 assets/css/extra.css 文件:
pre.highlight {
    padding: 8px 12px;
    position: relative;
    /* Override skeleton styles */
    > code {
        border: 0;
        overflow-x: auto;
        padding-right: 0;
        padding-left: 0;
    }
    &.highlight {
        border-left: 15px solid #35383c;
        color: #c1c2c3;
        overflow: auto;
        white-space: pre;
        word-wrap: normal;
        &, code {
            background-color: #222;
            font-size: 14px;
        }
    }
    /* Copy code to clipboard button */
    .copy {
        color: #4AF626;
        position: absolute;
        right: 1.2rem;
        top: 1.2rem;
        opacity: 0;
        &:active,
        &:focus,
        &:hover {
            background: rgba(0, 0, 0, 0.5);
            opacity: 1;
        }
    }
    &:active .copy,
    &:focus .copy,
    &:hover .copy {
        background: rgba(0, 0, 0, 0.7);
        opacity: 1;
    }
}
