Update 2 files

- /assets/js/main_new.js
- /_layouts/post.html
This commit is contained in:
mayx 2025-06-19 08:51:38 +00:00
parent 00ed1a9b50
commit d10e960a8d
2 changed files with 25 additions and 21 deletions

View File

@ -102,7 +102,7 @@ $.get(BlogAPI + "/suggest?id={{ page.url }}&update=" + lastUpdated.valueOf(), fu
var item = searchMap[data[j].id]; var item = searchMap[data[j].id];
if (item) { if (item) {
var link = $('<a href="' + item.url + '">' + item.title + '</a>'); var link = $('<a href="' + item.url + '">' + item.title + '</a>');
var contentPreview = item.content.replace(/<[^>]+>/g, "").substring(0, 100); var contentPreview = item.content.substring(0, 100);
if (item.content.length > 100) { if (item.content.length > 100) {
contentPreview += "……"; contentPreview += "……";
} }

View File

@ -43,31 +43,35 @@ $(function () {
}); });
}); });
$(function () { $(function() {
var codeBlocks = document.querySelectorAll('div.highlight'); var $codeBlocks = $('div.highlight');
codeBlocks.forEach(function (codeBlock) { $codeBlocks.each(function() {
var copyButton = document.createElement('button'); var $copyButton = $('<button>', {
copyButton.className = 'copy'; class: 'copy',
copyButton.type = 'button'; type: 'button',
copyButton.innerText = '📋'; text: '📋'
});
codeBlock.append(copyButton); $(this).append($copyButton);
copyButton.addEventListener('click', function () { $copyButton.on('click', function() {
var code = codeBlock.querySelector('pre code').innerText.trim(); var code = $(this).siblings('pre').find('code').text().trim();
window.navigator.clipboard.writeText(code) var $button = $(this);
.then(() => {
copyButton.innerText = '✅'; navigator.clipboard.writeText(code)
.then(function() {
$button.text('✅');
}) })
.catch(err => { .catch(function(err) {
copyButton.innerText = '❌'; $button.text('❌');
console.error('Failed to copy:', err); console.error('复制失败:', err);
})
.finally(function() {
setTimeout(function() {
$button.text('📋');
}, 1500);
}); });
setTimeout(function () {
copyButton.innerText = '📋';
}, 1500);
}); });
}); });
}); });