|
|
| 第38行: |
第38行: |
|
| |
|
| /*test*/ | | /*test*/ |
| dlg("Code block fix style appended.");
| |
| let LnBuilder = (ln) => {
| |
| let str = "";
| |
| for (let i = 1; i <= ln; i++) {
| |
| str += (i < 10 ? "0" + i.toString() : i.toString()) + ".\n";
| |
| }
| |
| return str;
| |
| };
| |
| // 为代码块添加行数显示与复制按钮
| |
| let fixCode = () => {
| |
| $(".pl pre:not([id]) code").each((i, v) => {
| |
| let ln = v.innerHTML.split("\n").length;
| |
| let lnC = LnBuilder(ln);
| |
| let counter = document.createElement("div");
| |
| counter.className = "line-counter";
| |
| counter.innerText = lnC;
| |
| let copy = document.createElement("em");
| |
| copy.className = "code-copy";
| |
| copy.addEventListener("click", (e) => {
| |
| let n = e.currentTarget.previousSibling.cloneNode(true);
| |
| copycode(n);
| |
| });
| |
| v.prepend(counter);
| |
| v.parentElement.append(copy);
| |
| });
| |
| $(".pl div.blockcode").each((i, v) => {
| |
| let ln = v.firstElementChild.firstElementChild.childElementCount;
| |
| let lnC = LnBuilder(ln);
| |
| let counter = document.createElement("div");
| |
| counter.className = "line-counter";
| |
| counter.innerText = lnC;
| |
| v.firstElementChild.prepend(counter);
| |
| });
| |
| copycode = (t)=>{
| |
| t = t.cloneNode(true);
| |
| t.firstElementChild.remove();
| |
| setCopy(t.innerText.replace(/\n\n/g, "\n"),"代码已复制到剪贴板");
| |
| };
| |
| }
| |
| $(fixCode);
| |
| $(this).on("DiscuzAjaxGetFinished DiscuzAjaxPostFinished",fixCode);
| |