summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormayx <mayx@outlook.com>2026-05-27 02:37:23 +0000
committermayx <mayx@outlook.com>2026-05-27 02:37:23 +0000
commit156f964333ea9ca4d00d98f3c831ef05fe0b8d46 (patch)
tree1952478c0e1e58f06ba3ac7b790377cdd4b8a8a8
parent481df19596b14612a5b1bc358d9514c8d4b490bb (diff)
Update 3 filesHEADmaster
- /_data/other_repo_list.csv - /assets/js/main_new.js - /assets/js/pjax.js
-rw-r--r--_data/other_repo_list.csv14
-rw-r--r--assets/js/main_new.js13
-rw-r--r--assets/js/pjax.js49
3 files changed, 29 insertions, 47 deletions
diff --git a/_data/other_repo_list.csv b/_data/other_repo_list.csv
index 4cc9989..65a3ad3 100644
--- a/_data/other_repo_list.csv
+++ b/_data/other_repo_list.csv
@@ -48,16 +48,13 @@ http://111.231.146.230:8418/mayx/blog
https://git.pwaapp.cc/mayx/blog
https://an360.top/mayx/blog
http://106.15.78.64:3000/mayx/blog
-https://git.wisder.net/mayx/blog
http://111.119.244.185:3000/mayx/blog
-http://110.41.179.36:13000/mayx/blog
https://git.influxfin.com/mayx/blog
http://219.157.255.213:25311/mayx/blog
https://git.vekus.ru/mayx/blog
http://116.204.75.78:6180/mayx/blog
http://109.228.48.121:8000/mayx/blog
http://27.124.12.222:3000/mayx/blog
-https://git.sayndone.ru/mayx/blog
https://gitea.hintsight.com/mayx/blog
http://blackobelisk.xyz:3000/mayx/blog
https://git.the-kn.com/mayx/blog
@@ -166,7 +163,6 @@ http://210.245.20.73:3333/mayx/blog
http://43.248.97.109:3000/mayx/blog
http://113.207.86.104:3080/mayx/blog
http://39.96.195.72:10082/mayx/blog
-http://8.148.24.160:3000/mayx/blog
https://221.219.181.35:30000/mayx/blog
http://172.172.102.93:3000/mayx/blog
http://115.120.245.164:3000/mayx/blog
@@ -268,7 +264,6 @@ https://git.cenoq.com/mayx/blog
http://8.152.205.35:3000/mayx/blog
http://120.210.80.160:3000/mayx/blog
http://1.95.192.200:59300/mayx/blog
-https://git.medis.com.vn/mayx/blog
http://194.5.152.156:3000/mayx/blog
http://8.155.172.147:3001/mayx/blog
https://git.erfmann.dev/mayx/blog
@@ -359,7 +354,6 @@ https://git.veraskolivna.net/mayx/blog
https://git.lifetop.net/mayx/blog
https://gitea.jnyuxia.com/mayx/blog
http://git.liuhung.com/mayx/blog
-https://git.secretserver.club/mayx/blog
https://gitea.adber.tech/mayx/blog
https://gitea.hello.faith/mayx/blog
https://tea.neuron.my/mayx/blog
@@ -368,14 +362,12 @@ https://git.adityagupta.dev/mayx/blog
https://git.danpeak.co.uk/mayx/blog
https://gitea.mynas-lechner.de/mayx/blog
https://git.automathon.org/mayx/blog
-https://aeterna.cim.mcgill.ca/mayx/blog
https://git.esen.gay/mayx/blog
https://git.webtims.ru/mayx/blog
https://gitea.personalsoftware.space/mayx/blog
http://gitea.yiban.com.tw:3030/mayx/blog
https://gitlab.iplusus.com/mayx/blog
https://git.cyberuk.me/mayx/blog
-https://git.privezishop.ru/mayx/blog
https://gitea.zachl.tech/mayx/blog
https://git.miasma-os.com/mayx/blog
https://gitea.nacsity.cn/mayx/blog
@@ -392,7 +384,6 @@ http://49.232.183.190:3000/mayx/blog_cn
http://git.zxkedu.com:33769/mayx/blog_cn
https://code.wemediacn.com/mayx/blog_cn
https://gitea.shizuka.icu/mayx/blog_cn
-http://43.139.2.237:3000/mayx/blog_cn
http://51.159.198.233:3000/mayx/blog
https://gitea.adriangonzalezbarbosa.eu/mayx/blog
https://git.legatus.ru/mayx/blog
@@ -439,7 +430,6 @@ http://47.117.245.9:17701/mayx/blog_cn
https://git.sunlix.one/mayx/blog_cn
http://47.106.222.181:20511/mayx/blog_cn
http://101.43.95.130:3001/mayx/blog_cn
-http://39.101.170.62:9080/mayx/blog_cn
https://gitea.myat4.com/mayx/blog_cn
http://118.24.161.24:3000/mayx/blog_cn
http://githanea.s.odn.cc/mayx/blog_cn
@@ -481,7 +471,6 @@ https://papi.tkpups.com/mayx/blog
https://git.beyond-a-i.org/mayx/blog
http://huanghomenas2.myqnapcloud.com:4000/mayx/blog_cn
http://43.142.166.108:10082/mayx/blog_cn
-https://git.ueda.sk/mayx/blog_cn
https://tm-jikayo.com/mayx/blog_cn
http://zzdgitea.stnav.com/mayx/blog_cn
http://1.117.66.197:3000/mayx/blog_cn
@@ -489,7 +478,6 @@ http://git.zhmight.com/mayx/blog_cn
https://intl-dev.gaia888.com/mayx/blog_cn
https://gitea.xinyuxi.com/mayx/blog_cn
http://gitea.snailtrack.cn/mayx/blog_cn
-https://git.powerdata.dk/mayx/blog
http://ydds.cloud:3000/mayx/blog_cn
http://120.24.50.145:3000/mayx/blog_cn
https://code.draussenfunker.de/mayx/blog_cn
@@ -528,7 +516,6 @@ https://gitea.molietech.com/mayx/blog_cn
http://58.87.88.234:3000/mayx/blog_cn
http://210.75.240.13:3000/mayx/blog_cn
https://git.xz-i.com:30443/mayx/blog_cn
-http://111.229.64.148:8080/mayx/blog_cn
https://git.fynn.vip/mayx/blog_cn
http://119.91.212.17:3000/mayx/blog_cn
http://git.hbg99.com:8080/mayx/blog_cn
@@ -540,3 +527,4 @@ https://git.extra.eiffel.com/mayx/blog
https://gitea.digitanie.org/mayx/blog
http://124.207.0.162:30000/mayx/blog
https://git.xleed.com/mayx/blog
+https://qlcodegitserver.online/mayx/blog
diff --git a/assets/js/main_new.js b/assets/js/main_new.js
index 22f2552..fc4b6ce 100644
--- a/assets/js/main_new.js
+++ b/assets/js/main_new.js
@@ -1,4 +1,8 @@
-$(function () {
+/**
+ * 根据 URL ?kw= 参数高亮页面内匹配的关键词。
+ * 提取为全局函数,供 pjax.js 在页面切换后复用,避免重复实现。
+ */
+function highlightKeyword() {
const urlParams = new URLSearchParams(window.location.search);
const keyword = urlParams.get('kw')?.trim();
@@ -10,7 +14,7 @@ $(function () {
const regex = new RegExp(`(${escapedKeyword})`, 'gi');
// 递归遍历并高亮文本节点
- const escapeHTML = str => str.replace(/[&<>"']/g,
+ const escapeHTML = str => str.replace(/[&<>"']/g,
tag => ({
'&': '&amp;',
'<': '&lt;',
@@ -41,7 +45,7 @@ $(function () {
$('section').each(function () {
highlightTextNodes(this);
});
-});
+};
function initCopyButtons() {
$('.copy').remove();
@@ -58,6 +62,7 @@ function initCopyButtons() {
});
}
-$(function() {
+$(function () {
+ highlightKeyword();
initCopyButtons();
}); \ No newline at end of file
diff --git a/assets/js/pjax.js b/assets/js/pjax.js
index 324087a..8f84322 100644
--- a/assets/js/pjax.js
+++ b/assets/js/pjax.js
@@ -23,34 +23,6 @@
}
}
- /** 关键词高亮 */
- function reinitHighlight() {
- var keyword = new URLSearchParams(window.location.search).get('kw');
- if (!keyword) return;
- keyword = keyword.trim();
- if (!keyword) return;
-
- var escaped = keyword.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
- var regex = new RegExp('(' + escaped + ')', 'gi');
- var escapeHTML = function (str) {
- return str.replace(/[&<>"']/g, function (t) {
- return { '&': '&amp;', '<': '&lt;', '>': '&gt;', '"': '&quot;', "'": '&#39;' }[t] || t;
- });
- };
- function walk(node) {
- $(node).contents().each(function () {
- if (this.nodeType === Node.TEXT_NODE) {
- var $t = $(this);
- var text = escapeHTML($t.text());
- if (regex.test(text)) $t.replaceWith(text.replace(regex, '<mark>$1</mark>'));
- } else if (this.nodeType === Node.ELEMENT_NODE && !$(this).is('script, style, noscript, textarea')) {
- walk(this);
- }
- });
- }
- $('section').each(function () { walk(this); });
- }
-
/** Google Analytics 页面浏览事件 */
function trackPageView() {
if (typeof gtag === 'function') {
@@ -120,15 +92,32 @@
// ========== 初始化 ==========
+ /** pjax 完成后滚动到目标位置:有锚点则定位锚点,否则回到顶部 */
+ function scrollToAnchor() {
+ var hash = window.location.hash;
+ if (hash) {
+ // 中文等非 ASCII 字符在 URL 中会被编码,需先解码再匹配元素 id
+ var id = hash.slice(1);
+ try { id = decodeURIComponent(id); } catch (e) { /* 保持原值 */ }
+ var target = document.getElementById(id) ||
+ document.querySelector('a[name="' + id + '"]');
+ if (target) {
+ target.scrollIntoView({ behavior: 'smooth', block: 'start' });
+ return;
+ }
+ }
+ window.scrollTo(0, 0);
+ }
+
/** 每次 pjax 完成后执行所有重初始化 */
function onPjaxComplete() {
initVisitors();
initCopyButtons();
- reinitHighlight();
+ highlightKeyword();
reinitAISummary();
reinitLive2d();
trackPageView();
- window.scrollTo(0, 0);
+ scrollToAnchor();
}
$(document).ready(function () {