友情链接添加的两种方法
发表于更新于
字数总计:1.3k阅读时长:6分钟阅读量:
这里整理一下现在友链添加的方法,实现添加更友好和明白。
第一种
直接给你的友情链接添加一个快速填写链接的按钮。
这里可以创建一个名为kslink.js
文件(也可以不创建,可以直接放入到md
文件下),放入到blog/themes/butterfly/source /source/js/
下,写入以下代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| var leonus = { linkCom: e => { var t = document.querySelector(".el-textarea__inner"); "bf" == e ? (t.value = "```yml\n", t.value += "- name: \n link: \n avatar: \n descr: \n rss: ", t.value += "\n```", t.setSelectionRange(15, 15)) : (t.value = "站点名称:\n站点地址:\n头像链接:\n站点描述:\nRSS地址:", t.setSelectionRange(5, 5)), t.focus() }, owoBig: () => { if (!document.getElementById("post-comment") || document.body.clientWidth < 768) return; let e = 1, t = "", o = document.createElement("div"), n = document.querySelector("body"); o.id = "owo-big", n.appendChild(o), new MutationObserver((l => { for (let a = 0; a < l.length; a++) { let i = l[a].addedNodes, s = ""; if (2 == i.length && "OwO-body" == i[1].className) s = i[1]; else { if (1 != i.length || "tk-comment" != i[0].className) continue; s = i[0] } s.onmouseover = l => { e && ("OwO-body" == s.className && "IMG" == l.target.tagName || "tk-owo-emotion" == l.target.className) && (e = 0, t = setTimeout((() => { let e = 3 * l.path[0].clientHeight, t = 3 * l.path[0].clientWidth, a = l.x - l.offsetX - (t - l.path[0].clientWidth) / 2, i = l.y - l.offsetY; a + t > n.clientWidth && (a -= a + t - n.clientWidth + 10), a < 0 && (a = 10), o.style.cssText = `display:flex; height:${e}px; width:${t}px; left:${a}px; top:${i}px;`, o.innerHTML = `<img src="${l.target.src}">` }), 300)) }, s.onmouseout = () => { o.style.display = "none", e = 1, clearTimeout(t) } } })).observe(document.getElementById("post-comment"), { subtree: !0, childList: !0 }) }, };
|
建议:为了避免其他页面加载css
和js
文件可以直接插入文章md
文件内避免印象加载速度。
直接引入到\source\link\index.md
文件内。
1 2 3
| <div class="addBtn"><button onclick="leonus.linkCom()"><i class="fa-solid fa-circle-plus"></i>快速申请 (默认样式)</button> <button onclick="leonus.linkCom("bf")"><i class="fa-solid fa-circle-plus"></i>快速申请 (Butterfly)</button></div> <link rel="stylesheet" href="/css/kslink.css"> <script src="/js/kslink.js"></script>
|
第二种
这个使用方式用了复数选择形式,如果你不喜欢这种引入方式,可以考虑使用第一种方式。
创建方式和第一种一样,可以创建链接,也可以直接引入到md
文件下,这里推荐使用引入到md
文件下,这样是为了不影响css
和js
的加载速度。
引入css
(md
引入,如果是css
文件引入,删除<style></style>
即可)。
1 2 3 4 5 6 7 8
| <style> .tk-comments > .tk-submit { opacity: 0; height: 0; transition: opacity .5s, height .5s; overflow: hidden; } </style>
|
引入js
(同理)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| <script> var twikooSubmit = document.getElementsByClassName("tk-submit")[0]; if (twikooSubmit) { twikooSubmit.style.opacity = "0"; } function checkForm() { var checkbox1 = document.getElementById("checkbox1"); var checkbox2 = document.getElementById("checkbox2"); var checkbox3 = document.getElementById("checkbox3"); var checkbox4 = document.getElementById("checkbox4"); var checkbox5 = document.getElementById("checkbox5"); var twikooSubmit = document.getElementsByClassName("tk-submit")[0]; if (checkbox1.checked && checkbox2.checked && checkbox3.checked && checkbox4.checked && checkbox5.checked) { twikooSubmit.style.opacity = "1"; twikooSubmit.style.height = "auto"; twikooSubmit.style.overflow = "auto"; var input = document.getElementsByClassName('el-textarea__inner')[0]; let evt = document.createEvent('HTMLEvents'); evt.initEvent('input', true, true); input.value = '昵称(请勿包含博客等字样):\n网站地址(要求博客地址,请勿提交个人主页):\n头像图片url(请提供尽可能清晰的图片,我会上传到我自己的图床):\n描述:\n'; input.dispatchEvent(evt); input.focus(); input.setSelectionRange(-1, -1); } else { twikooSubmit.style.opacity = "0"; twikooSubmit.style.height = "0"; twikooSubmit.style.overflow = "hidden"; } } </script>
|
下面的为HTML
框架
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| <p style="padding:0 0 0 .8rem"> 请<strong>勾选</strong>你符合的条件: </p> <div id="friendlink_checkboxs" style="padding:0 0 0 1.6rem"> <p> <label class="checkbox"> <input type="checkbox" id="checkbox1" onclick="checkForm()"> 我已添加 <b>冰刻无痕</b> 博客的友情链接 </label> </p> <p> <label class="checkbox"> <input type="checkbox" id="checkbox2" onclick="checkForm()"> 我的链接主体为 <b>个人</b>,网站类型为<b>博客</b> </label> </p> <p> <label class="checkbox"> <input type="checkbox" id="checkbox3" onclick="checkForm()">我的网站现在可以在中国大陆区域正常访问 </label> </p> <p> <label class="checkbox"> <input type="checkbox" id="checkbox4" onclick="checkForm()">网站内容符合中国大陆法律法规 </label> </p> <p> <label class="checkbox"> <input type="checkbox" id="checkbox5" onclick="checkForm()">我的网站可以在1分钟内加载完成首屏 </label> </p> </div>
|
进行hexo cl && hexo g && hexo s
三连即可看到效果。