[opt] tag-plugin: copy

This commit is contained in:
xaoxuu 2024-01-05 20:49:46 +08:00
parent e321fa17a0
commit f166448420
4 changed files with 19 additions and 6 deletions

View File

@ -395,6 +395,7 @@ plugins:
js: /js/plugins/copycode.js js: /js/plugins/copycode.js
default_text: 'Copy' default_text: 'Copy'
success_text: 'Copied' success_text: 'Copied'
toast: 复制成功
# AI 摘要 # AI 摘要
# https://github.com/zhheo/Post-Abstract-AI # https://github.com/zhheo/Post-Abstract-AI

View File

@ -12,7 +12,7 @@
var copy_index = 0 var copy_index = 0
module.exports = ctx => function(args) { module.exports = ctx => function(args) {
args = ctx.args.map(args, ['git'], ['text']) args = ctx.args.map(args, ['git', 'prefix'], ['text'])
if (args == undefined || args.text == undefined) { if (args == undefined || args.text == undefined) {
return '' return ''
} }
@ -35,6 +35,9 @@ module.exports = ctx => function(args) {
var el = `` var el = ``
el += `<div class="tag-plugin copy">` el += `<div class="tag-plugin copy">`
if (args.prefix?.length > 0) {
el += `<span>${args.prefix}</span>`
}
el += `<input class="copy-area" id="${copy_id}" value="${text}">` el += `<input class="copy-area" id="${copy_id}" value="${text}">`
el += `<button class="copy-btn" onclick="util.copy(&quot;${copy_id}&quot;,&quot;${toast}&quot;)">` el += `<button class="copy-btn" onclick="util.copy(&quot;${copy_id}&quot;,&quot;${toast}&quot;)">`
el += `<svg class="icon copy-btn" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M5.75 1a.75.75 0 00-.75.75v3c0 .414.336.75.75.75h4.5a.75.75 0 00.75-.75v-3a.75.75 0 00-.75-.75h-4.5zm.75 3V2.5h3V4h-3zm-2.874-.467a.75.75 0 00-.752-1.298A1.75 1.75 0 002 3.75v9.5c0 .966.784 1.75 1.75 1.75h8.5A1.75 1.75 0 0014 13.25v-9.5a1.75 1.75 0 00-.874-1.515.75.75 0 10-.752 1.298.25.25 0 01.126.217v9.5a.25.25 0 01-.25.25h-8.5a.25.25 0 01-.25-.25v-9.5a.25.25 0 01.126-.217z"></path></svg>` el += `<svg class="icon copy-btn" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M5.75 1a.75.75 0 00-.75.75v3c0 .414.336.75.75.75h4.5a.75.75 0 00.75-.75v-3a.75.75 0 00-.75-.75h-4.5zm.75 3V2.5h3V4h-3zm-2.874-.467a.75.75 0 00-.752-1.298A1.75 1.75 0 002 3.75v9.5c0 .966.784 1.75 1.75 1.75h8.5A1.75 1.75 0 0014 13.25v-9.5a1.75 1.75 0 00-.874-1.515.75.75 0 10-.752 1.298.25.25 0 01.126.217v9.5a.25.25 0 01-.25.25h-8.5a.25.25 0 01-.25-.25v-9.5a.25.25 0 01.126-.217z"></path></svg>`

View File

@ -7,7 +7,16 @@
border: 1px solid var(--block-border) border: 1px solid var(--block-border)
overflow: hidden overflow: hidden
width: 100% width: 100%
span
line-height: 3
padding: 0 1rem
background: var(--block)
border-right: 1px solid var(--block-border)
color: var(--text-p3)
font-family: $ff-code
font-size: $fs-12
font-weight: 700
flex-shrink: 0
input.copy-area input.copy-area
display: inline-block display: inline-block
padding: 0 padding: 0
@ -16,10 +25,10 @@
line-height: 3 line-height: 3
text-indent: 1rem text-indent: 1rem
button.copy-btn button.copy-btn
margin: 0 margin: 2px
border-left: 1px solid var(--block-border) border-radius: 'calc(%s - 2px)' % $border-bar
display: inline-block display: inline-block
background: var(--block) background: none
line-height: 0 line-height: 0
font-size: 1rem font-size: 1rem
padding: 0 .75rem padding: 0 .75rem

View File

@ -13,7 +13,7 @@ codeElementArr.forEach(code => {
codeCopyBtn.innerText = stellar.plugins.copycode.success_text codeCopyBtn.innerText = stellar.plugins.copycode.success_text
codeCopyBtn.classList.add('success') codeCopyBtn.classList.add('success')
hud.toast(stellar.plugins.copycode.toast)
setTimeout(() => { setTimeout(() => {
codeCopyBtn.innerText = stellar.plugins.copycode.default_text codeCopyBtn.innerText = stellar.plugins.copycode.default_text
codeCopyBtn.classList.remove('success') codeCopyBtn.classList.remove('success')