From ac554c55359912bf8928b51d6692f9d8fbd8c6b9 Mon Sep 17 00:00:00 2001
From: mayx
Date: Sun, 11 May 2025 16:12:22 +0000
Subject: Update 3 files
- /assets/js/main.js
- /assets/js/main_new.js
- /_layouts/default.html---
_layouts/default.html | 5 ++-
assets/js/main.js | 102 +++++---------------------------------------------
assets/js/main_new.js | 78 ++++++++++++++++++++++++++++++++++++++
3 files changed, 91 insertions(+), 94 deletions(-)
create mode 100644 assets/js/main_new.js
diff --git a/_layouts/default.html b/_layouts/default.html
index 37f81c0..b2691a0 100644
--- a/_layouts/default.html
+++ b/_layouts/default.html
@@ -20,8 +20,8 @@
-
+
{% if site.google_analytics %}
@@ -141,8 +141,9 @@
-
+
+
diff --git a/assets/js/main.js b/assets/js/main.js
index 644e2b6..3a17db6 100644
--- a/assets/js/main.js
+++ b/assets/js/main.js
@@ -13,28 +13,19 @@ var talkAPI = BlogAPI + "/ai_chat";
$(function () { $backToTopFun(); });
})();
$(function () {
- $("div#landlord").mouseenter(function () {
- $("div.live_ico_box").fadeIn();
- });
- $("div#landlord").mouseleave(function () {
- $("div.live_ico_box").fadeOut();
- });
- function showHitS(hits) {
- $.get(BlogAPI + "/count_click?id=" + hits.id, function (data) {
- hits.innerHTML = Number(data);
- });
- }
function showHitCount() {
- var visitors = $(".visitors-index");
- for (var i = 0; i < visitors.length; i++) {
- showHitS(visitors[i]);
- }
-
+ $(".visitors-index").each(function() {
+ var $elem = $(this);
+ $.get(BlogAPI + "/count_click?id=" + $elem.attr('id'), function(data) {
+ $elem.text(Number(data));
+ });
+ });
}
+
function addCount() {
- var visitors = $(".visitors");
- $.get(BlogAPI + "/count_click_add?id=" + visitors[0].id, function (data) {
- visitors[0].innerHTML = Number(data);
+ var $visitor = $(".visitors:first");
+ $.get(BlogAPI + "/count_click_add?id=" + $visitor.attr('id'), function(data) {
+ $visitor.text(Number(data));
});
}
if ($('.visitors').length == 1) {
@@ -44,79 +35,6 @@ $(function () {
}
});
-$(function () {
- const urlParams = new URLSearchParams(window.location.search);
- const keyword = urlParams.get('kw')?.trim();
-
- if (!keyword) return;
-
- // 转义正则表达式特殊字符,避免安全问题
- const escapedKeyword = keyword.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
- // 创建不区分大小写的正则表达式(全局匹配)
- const regex = new RegExp(`(${escapedKeyword})`, 'gi');
-
- // 递归遍历并高亮文本节点
- const escapeHTML = str => str.replace(/[&<>"']/g,
- tag => ({
- '&': '&',
- '<': '<',
- '>': '>',
- '"': '"',
- "'": '''
- }[tag] || tag));
- function highlightTextNodes(element) {
- $(element).contents().each(function () {
- if (this.nodeType === Node.TEXT_NODE) {
- const $this = $(this);
- const text = escapeHTML($this.text());
-
- // 使用正则替换并保留原始大小写
- if (regex.test(text)) {
- const replaced = text.replace(regex, '$1');
- $this.replaceWith(replaced);
- }
- } else if (
- this.nodeType === Node.ELEMENT_NODE &&
- !$(this).is('script, style, noscript, textarea')
- ) {
- highlightTextNodes(this);
- }
- });
- }
-
- $('section').each(function () {
- highlightTextNodes(this);
- });
-});
-$(function () {
- var codeBlocks = document.querySelectorAll('div.highlight');
-
- codeBlocks.forEach(function (codeBlock) {
- var copyButton = document.createElement('button');
- copyButton.className = 'copy';
- copyButton.type = 'button';
- copyButton.innerText = '📋';
-
- codeBlock.append(copyButton);
-
- copyButton.addEventListener('click', function () {
- var code = codeBlock.querySelector('pre code').innerText.trim();
- window.navigator.clipboard.writeText(code)
- .then(() => {
- copyButton.innerText = '✅';
- })
- .catch(err => {
- copyButton.innerText = '❌';
- console.error('Failed to copy:', err);
- });
-
- setTimeout(function () {
- copyButton.innerText = '📋';
- }, 1500);
- });
- });
-});
-
today = new Date();
timeold = (today.getTime() - lastUpdated.getTime());
secondsold = Math.floor(timeold / 1000);
diff --git a/assets/js/main_new.js b/assets/js/main_new.js
new file mode 100644
index 0000000..fd0170f
--- /dev/null
+++ b/assets/js/main_new.js
@@ -0,0 +1,78 @@
+$(function () {
+ $("div#landlord").mouseenter(function () {
+ $("div.live_ico_box").fadeIn();
+ });
+ $("div#landlord").mouseleave(function () {
+ $("div.live_ico_box").fadeOut();
+ });
+
+ const urlParams = new URLSearchParams(window.location.search);
+ const keyword = urlParams.get('kw')?.trim();
+
+ if (!keyword) return;
+
+ // 转义正则表达式特殊字符,避免安全问题
+ const escapedKeyword = keyword.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
+ // 创建不区分大小写的正则表达式(全局匹配)
+ const regex = new RegExp(`(${escapedKeyword})`, 'gi');
+
+ // 递归遍历并高亮文本节点
+ const escapeHTML = str => str.replace(/[&<>"']/g,
+ tag => ({
+ '&': '&',
+ '<': '<',
+ '>': '>',
+ '"': '"',
+ "'": '''
+ }[tag] || tag));
+ function highlightTextNodes(element) {
+ $(element).contents().each(function () {
+ if (this.nodeType === Node.TEXT_NODE) {
+ const $this = $(this);
+ const text = escapeHTML($this.text());
+
+ // 使用正则替换并保留原始大小写
+ if (regex.test(text)) {
+ const replaced = text.replace(regex, '$1');
+ $this.replaceWith(replaced);
+ }
+ } else if (
+ this.nodeType === Node.ELEMENT_NODE &&
+ !$(this).is('script, style, noscript, textarea')
+ ) {
+ highlightTextNodes(this);
+ }
+ });
+ }
+
+ $('section').each(function () {
+ highlightTextNodes(this);
+ });
+
+ var codeBlocks = document.querySelectorAll('div.highlight');
+
+ codeBlocks.forEach(function (codeBlock) {
+ var copyButton = document.createElement('button');
+ copyButton.className = 'copy';
+ copyButton.type = 'button';
+ copyButton.innerText = '📋';
+
+ codeBlock.append(copyButton);
+
+ copyButton.addEventListener('click', function () {
+ var code = codeBlock.querySelector('pre code').innerText.trim();
+ window.navigator.clipboard.writeText(code)
+ .then(() => {
+ copyButton.innerText = '✅';
+ })
+ .catch(err => {
+ copyButton.innerText = '❌';
+ console.error('Failed to copy:', err);
+ });
+
+ setTimeout(function () {
+ copyButton.innerText = '📋';
+ }, 1500);
+ });
+ });
+});
\ No newline at end of file
--
cgit 1.4.1-2-gfad0