mirror of
https://www.gitlink.org.cn/mayx/mayx.gitlink.net
synced 2026-05-22 17:22:24 +00:00
Update 6 files
- /_layouts/post.html - /_layouts/default.html - /assets/js/main.js - /assets/js/pjax.js - /_data/other_repo_list.csv - /Live2dHistoire/live2d/js/message.js
This commit is contained in:
@@ -129,35 +129,8 @@ if (!norunFlag) {
|
||||
} else {
|
||||
text = '嗨!来自 <span style="color:#0099cc;">' + referrer.hostname + '</span> 的朋友!';
|
||||
}
|
||||
} else if (typeof window._pjaxGetWelcomeText === 'function') {
|
||||
// 复用 pjax.js 中的欢迎语生成函数,避免重复逻辑
|
||||
text = window._pjaxGetWelcomeText();
|
||||
} else {
|
||||
// pjax.js 尚未加载时的兜底(首次访问且 pjax.js 在 message.js 之后加载)
|
||||
if (window.location.pathname == "/") {
|
||||
var now = (new Date()).getHours();
|
||||
if (now > 23 || now <= 5) {
|
||||
text = '你是夜猫子呀?这么晚还不睡觉,明天起的来嘛?';
|
||||
} else if (now > 5 && now <= 7) {
|
||||
text = '早上好!一日之计在于晨,美好的一天就要开始了!';
|
||||
} else if (now > 7 && now <= 11) {
|
||||
text = '上午好!工作顺利嘛,不要久坐,多起来走动走动哦!';
|
||||
} else if (now > 11 && now <= 14) {
|
||||
text = '中午了,工作了一个上午,现在是午餐时间!';
|
||||
} else if (now > 14 && now <= 17) {
|
||||
text = '午后很容易犯困呢,今天的运动目标完成了吗?';
|
||||
} else if (now > 17 && now <= 19) {
|
||||
text = '傍晚了!窗外夕阳的景色很美丽呢,最美不过夕阳红~~';
|
||||
} else if (now > 19 && now <= 21) {
|
||||
text = '晚上好,今天过得怎么样?';
|
||||
} else if (now > 21 && now <= 23) {
|
||||
text = '已经这么晚了呀,早点休息吧,晚安~~';
|
||||
} else {
|
||||
text = '嗨~ 快来逗我玩吧!';
|
||||
}
|
||||
} else {
|
||||
text = '欢迎阅读<span style="color:#0099cc;">「 ' + document.title.split(' | ')[0] + ' 」</span>';
|
||||
}
|
||||
text = getWelcomeText();
|
||||
}
|
||||
showMessage(text, 12000);
|
||||
})();
|
||||
|
||||
@@ -46,7 +46,6 @@ http://47.107.88.161:3000/mayx/blog
|
||||
http://142.171.47.170:3000/mayx/blog
|
||||
http://111.231.146.230:8418/mayx/blog
|
||||
https://git.pwaapp.cc/mayx/blog
|
||||
https://git.sleepingforest.co.uk/mayx/blog
|
||||
https://an360.top/mayx/blog
|
||||
http://106.15.78.64:3000/mayx/blog
|
||||
https://git.wisder.net/mayx/blog
|
||||
@@ -57,7 +56,6 @@ 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
|
||||
https://git.hubhoo.com/mayx/blog
|
||||
http://27.124.12.222:3000/mayx/blog
|
||||
https://git.sayndone.ru/mayx/blog
|
||||
https://gitea.hintsight.com/mayx/blog
|
||||
@@ -285,7 +283,6 @@ http://54.199.96.217:3000/mayx/blog
|
||||
http://20.219.0.85:3000/mayx/blog
|
||||
https://dev01.open-alt.com/mayx/blog
|
||||
https://gitea.doinlab.com/mayx/blog
|
||||
https://gitea.creative-tg1.ru/mayx/blog
|
||||
https://git.7af.ru/mayx/blog
|
||||
https://gitea.yimoyuyan.cn/mayx/blog
|
||||
https://git.apextoaster.com/mayx/blog
|
||||
@@ -344,7 +341,6 @@ http://xujiesoft.vicp.net:3000/mayx/blog_cn
|
||||
http://113.44.36.103:23000/mayx/blog_cn
|
||||
https://git.mingliqiye.com/mayx/blog_cn
|
||||
http://119.29.194.155:8894/mayx/blog_cn
|
||||
http://43.138.249.161:3000/mayx/blog_cn
|
||||
http://58.213.60.6:19000/mayx/blog_cn
|
||||
http://36.153.162.171:3000/mayx/blog_cn
|
||||
http://47.92.113.131:3000/mayx/blog
|
||||
@@ -354,7 +350,6 @@ https://git.gnyra.com/mayx/blog
|
||||
https://git.graveyard.sh/mayx/blog
|
||||
https://git.nathanspackman.com/mayx/blog
|
||||
https://git.rmarl.in/mayx/blog
|
||||
https://git.alderautomation.ca/mayx/blog
|
||||
http://git.qniao.cn/mayx/blog
|
||||
https://git.fast-blast.uk/mayx/blog
|
||||
http://git.mynas71.myds.me/mayx/blog
|
||||
@@ -370,7 +365,6 @@ https://gitea.hello.faith/mayx/blog
|
||||
https://tea.neuron.my/mayx/blog
|
||||
https://git.violka-it.net/mayx/blog
|
||||
https://git.adityagupta.dev/mayx/blog
|
||||
https://code.ownwire.net/mayx/blog
|
||||
https://git.danpeak.co.uk/mayx/blog
|
||||
https://gitea.mynas-lechner.de/mayx/blog
|
||||
https://git.automathon.org/mayx/blog
|
||||
@@ -454,7 +448,6 @@ http://35.175.189.8/mayx/blog
|
||||
http://meowug.com:8418/mayx/blog_cn
|
||||
http://36.138.125.206:3000/mayx/blog_cn
|
||||
https://git.4lcap.com/mayx/blog_cn
|
||||
https://gitea.visoftware.com.co/mayx/blog_cn
|
||||
http://101.43.238.71:3000/mayx/blog_cn
|
||||
http://59.110.175.62:4322/mayx/blog_cn
|
||||
https://www.luluvip.cn:8419/mayx/blog_cn
|
||||
@@ -498,7 +491,6 @@ 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
|
||||
https://git.keruixinda.com/mayx/blog_cn
|
||||
http://120.24.50.145:3000/mayx/blog_cn
|
||||
https://code.draussenfunker.de/mayx/blog_cn
|
||||
https://git.dinsor.co.th/mayx/blog
|
||||
@@ -508,7 +500,6 @@ http://www.arkproject.top/mayx/blog
|
||||
http://www.bkandssp.cn:30/mayx/blog
|
||||
https://gitea.spitaki.cloud/mayx/blog
|
||||
https://git.codle.ru/mayx/blog
|
||||
http://139.224.24.61:3000/mayx/blog
|
||||
https://git.sao.ru/mayx/blog
|
||||
https://codeop.ru/mayx/blog
|
||||
https://git.mirocom.org/mayx/blog
|
||||
@@ -528,7 +519,6 @@ https://git.crwlr.ir/mayx/blog
|
||||
https://git.nozora.top/mayx/blog
|
||||
https://git.sortug.com/mayx/blog
|
||||
https://aivyx-gitea.cloud/mayx/blog
|
||||
https://git.akarmain.ru/mayx/blog
|
||||
https://git.edenit.co.kr/mayx/blog
|
||||
https://git.catgirlsneed.homes/mayx/blog
|
||||
https://git.eldev.netcraze.pro/mayx/blog
|
||||
@@ -549,3 +539,4 @@ http://109.199.98.226:3001/mayx/blog
|
||||
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
|
||||
|
||||
|
@@ -17,6 +17,8 @@ layout: xslt_container
|
||||
<link rel="stylesheet" href="/assets/css/style.css?v={{ site.time | date: "%s" }}" />
|
||||
<!--[if !IE]> -->
|
||||
<link rel="stylesheet" href="/Live2dHistoire/live2d/css/live2d.css" />
|
||||
<link rel="stylesheet" href="/assets/css/gitalk.css">
|
||||
<script src="/assets/js/gitalk.min.js"></script>
|
||||
<!-- <![endif]-->
|
||||
<link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="{{ site.title }}" />
|
||||
<link rel="webmention" href="https://webmention.io/mabbs.github.io/webmention" />
|
||||
@@ -114,11 +116,11 @@ layout: xslt_container
|
||||
</div>
|
||||
<script src="{{ "/assets/js/scale.fix.js" | relative_url }}"></script>
|
||||
<!--[if !IE]> -->
|
||||
<script src="/assets/js/jquery.pjax.min.js"></script>
|
||||
<script src="/assets/js/pjax.js"></script>
|
||||
<script src="/assets/js/main_new.js"></script>
|
||||
<script src="/Live2dHistoire/live2d/js/live2d.js"></script>
|
||||
<script src="/Live2dHistoire/live2d/js/message.js"></script>
|
||||
<script src="/assets/js/jquery.pjax.min.js"></script>
|
||||
<script src="/assets/js/pjax.js"></script>
|
||||
<!-- <![endif]-->
|
||||
</body>
|
||||
</html>
|
||||
@@ -158,8 +158,6 @@ $.get(BlogAPI + "/suggest?id={{ page.url }}&update=" + lastUpdated.valueOf(), fu
|
||||
</div>
|
||||
|
||||
<!--[if !IE]> -->
|
||||
<link rel="stylesheet" href="/assets/css/gitalk.css">
|
||||
<script src="/assets/js/gitalk.min.js"></script>
|
||||
|
||||
<div id="gitalk-container" data-page-id="{{ page.id }}"></div>
|
||||
|
||||
|
||||
@@ -72,4 +72,23 @@ if (typeof window.go === 'undefined') {
|
||||
window.location.href = url;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function getWelcomeText(pathname, title) {
|
||||
pathname = pathname || window.location.pathname;
|
||||
title = title || document.title.split(' | ')[0];
|
||||
|
||||
if (pathname === '/' || pathname === '/index.html') {
|
||||
var now = (new Date()).getHours();
|
||||
if (now > 23 || now <= 5) return '你是夜猫子呀?这么晚还不睡觉,明天起的来嘛?';
|
||||
if (now > 5 && now <= 7) return '早上好!一日之计在于晨,美好的一天就要开始了!';
|
||||
if (now > 7 && now <= 11) return '上午好!工作顺利嘛,不要久坐,多起来走动走动哦!';
|
||||
if (now > 11 && now <= 14) return '中午了,工作了一个上午,现在是午餐时间!';
|
||||
if (now > 14 && now <= 17) return '午后很容易犯困呢,今天的运动目标完成了吗?';
|
||||
if (now > 17 && now <= 19) return '傍晚了!窗外夕阳的景色很美丽呢,最美不过夕阳红~~';
|
||||
if (now > 19 && now <= 21) return '晚上好,今天过得怎么样?';
|
||||
if (now > 21 && now <= 23) return '已经这么晚了呀,早点休息吧,晚安~~';
|
||||
return '嗨~ 快来逗我玩吧!';
|
||||
}
|
||||
return '欢迎阅读<span style="color:#0099cc;">「 ' + title + ' 」</span>';
|
||||
}
|
||||
|
||||
@@ -14,100 +14,6 @@
|
||||
scrollTo: false
|
||||
};
|
||||
|
||||
// ========== 工具函数 ==========
|
||||
|
||||
var _loadedScripts = {};
|
||||
var _pendingScripts = [];
|
||||
|
||||
/** 动态加载外部 CSS(避免重复加载) */
|
||||
function loadCSS(href) {
|
||||
if ($('link[href="' + href + '"]').length) return;
|
||||
$('<link rel="stylesheet" href="' + href + '" />').appendTo('head');
|
||||
}
|
||||
|
||||
/**
|
||||
* 动态加载外部 JS(避免重复)
|
||||
* 用对象跟踪已加载的 URL,而不是检查 DOM 中的 <script> 标签
|
||||
* (pjax 替换容器内容后,惰性 <script> 标签存在但不代表已执行)
|
||||
*/
|
||||
function loadScript(src, callback) {
|
||||
if (_loadedScripts[src]) {
|
||||
if (typeof callback === 'function') callback();
|
||||
return;
|
||||
}
|
||||
_loadedScripts[src] = true;
|
||||
var s = document.createElement('script');
|
||||
s.src = src;
|
||||
s.onload = callback || null;
|
||||
document.body.appendChild(s);
|
||||
}
|
||||
|
||||
/**
|
||||
* 按顺序执行脚本数组(内联和外部混合)
|
||||
* 外部脚本加载完成后再执行后续内联脚本,保持依赖顺序
|
||||
*/
|
||||
function executeScripts(scripts) {
|
||||
var idx = 0;
|
||||
function runNext() {
|
||||
while (idx < scripts.length) {
|
||||
var s = scripts[idx];
|
||||
idx++;
|
||||
if (s.src) {
|
||||
loadScript(s.src, runNext);
|
||||
return; // 等待 onload 回调
|
||||
}
|
||||
try {
|
||||
(window.execScript || function (code) {
|
||||
window['eval'].call(window, code);
|
||||
})(s.text);
|
||||
} catch (e) {
|
||||
console.warn('[pjax] inline script exec error:', e);
|
||||
}
|
||||
}
|
||||
}
|
||||
runNext();
|
||||
}
|
||||
|
||||
// ========== 页面类型判断 ==========
|
||||
|
||||
/** 是否为文章页(非首页/分页) */
|
||||
function isPostPage(pathname) {
|
||||
return !/^(\/(index\.html)?|\/page\d+(\/index\.html)?)$/.test(pathname || window.location.pathname);
|
||||
}
|
||||
|
||||
/** 是否为真正的文章页(用 DOM 特征判断,仅 post 布局才有这些元素) */
|
||||
function isRealPostPage() {
|
||||
return $(CONTAINER + ' #gitalk-container').length > 0;
|
||||
}
|
||||
|
||||
// ========== 欢迎语生成 ==========
|
||||
|
||||
/**
|
||||
* 根据当前时间和页面生成 Live2D 欢迎语
|
||||
* 此函数暴露到 window._live2d.getWelcomeText,供 message.js 首次加载时复用
|
||||
* @param {string} [pathname] - 页面路径,默认当前路径
|
||||
* @param {string} [title] - 页面标题,默认从 document.title 提取
|
||||
* @returns {string} 欢迎语 HTML
|
||||
*/
|
||||
function getWelcomeText(pathname, title) {
|
||||
pathname = pathname || window.location.pathname;
|
||||
title = title || document.title.split(' | ')[0];
|
||||
|
||||
if (pathname === '/' || pathname === '/index.html') {
|
||||
var now = (new Date()).getHours();
|
||||
if (now > 23 || now <= 5) return '你是夜猫子呀?这么晚还不睡觉,明天起的来嘛?';
|
||||
if (now > 5 && now <= 7) return '早上好!一日之计在于晨,美好的一天就要开始了!';
|
||||
if (now > 7 && now <= 11) return '上午好!工作顺利嘛,不要久坐,多起来走动走动哦!';
|
||||
if (now > 11 && now <= 14) return '中午了,工作了一个上午,现在是午餐时间!';
|
||||
if (now > 14 && now <= 17) return '午后很容易犯困呢,今天的运动目标完成了吗?';
|
||||
if (now > 17 && now <= 19) return '傍晚了!窗外夕阳的景色很美丽呢,最美不过夕阳红~~';
|
||||
if (now > 19 && now <= 21) return '晚上好,今天过得怎么样?';
|
||||
if (now > 21 && now <= 23) return '已经这么晚了呀,早点休息吧,晚安~~';
|
||||
return '嗨~ 快来逗我玩吧!';
|
||||
}
|
||||
return '欢迎阅读<span style="color:#0099cc;">「 ' + title + ' 」</span>';
|
||||
}
|
||||
|
||||
// ========== 各组件重初始化 ==========
|
||||
|
||||
/** 访问量统计 */
|
||||
@@ -153,28 +59,6 @@
|
||||
});
|
||||
}
|
||||
|
||||
/** Gitalk 评论(post 页面专属) */
|
||||
function reinitGitalk() {
|
||||
if ($(CONTAINER + ' #gitalk-container').length === 0) return;
|
||||
loadCSS('/assets/css/gitalk.css');
|
||||
|
||||
function doInitGitalk() {
|
||||
if (typeof Gitalk === 'undefined') {
|
||||
loadScript('/assets/js/gitalk.min.js', doInitGitalk);
|
||||
return;
|
||||
}
|
||||
var pageId = $(CONTAINER + ' #gitalk-container').data('page-id') || window.location.pathname;
|
||||
try {
|
||||
new Gitalk(Object.assign({ id: pageId }, window.GitalkConfig))
|
||||
.render('gitalk-container');
|
||||
} catch (e) {
|
||||
console.warn('[pjax] Gitalk init error:', e);
|
||||
}
|
||||
}
|
||||
$('#gitalk-container').empty();
|
||||
doInitGitalk();
|
||||
}
|
||||
|
||||
/** 关键词高亮 */
|
||||
function reinitHighlight() {
|
||||
var keyword = new URLSearchParams(window.location.search).get('kw');
|
||||
@@ -220,7 +104,7 @@
|
||||
|
||||
// 更新"想问这篇文章"相关状态(仅真正的文章页显示)
|
||||
$('#post_id').val(pathname);
|
||||
if (isRealPostPage()) {
|
||||
if ($(CONTAINER + ' #gitalk-container').length > 0) {
|
||||
$('.live_talk_input_name_body').show();
|
||||
} else {
|
||||
$('.live_talk_input_name_body').hide();
|
||||
@@ -261,59 +145,15 @@
|
||||
function doPjaxComplete() {
|
||||
$('body').removeClass('pjax-loading');
|
||||
// 清理可能残留的浮层(如推荐文章 tooltip,hover 后点击跳转时 mouseleave 来不及触发)
|
||||
$('.content-tooltip').hide();
|
||||
// go() 路径:脚本在 DOM 替换前提取到了 _pendingScripts,需在此执行
|
||||
// pjax 库路径:_pendingScripts 为空,pjax 库自行处理了脚本执行
|
||||
if (_pendingScripts.length > 0) {
|
||||
executeScripts(_pendingScripts);
|
||||
_pendingScripts = [];
|
||||
}
|
||||
$('.content-tooltip').remove();
|
||||
onPjaxComplete();
|
||||
}
|
||||
|
||||
/** 暴露给模板内 onclick/onchange 调用的导航函数 */
|
||||
window.go = function (url) {
|
||||
$('body').addClass('pjax-loading');
|
||||
$.ajax({
|
||||
url: url,
|
||||
beforeSend: function (xhr) {
|
||||
xhr.setRequestHeader('X-PJAX', 'true');
|
||||
xhr.setRequestHeader('X-PJAX-Container', CONTAINER);
|
||||
},
|
||||
success: function (html) {
|
||||
try {
|
||||
var doc = (new DOMParser()).parseFromString(html, 'text/html');
|
||||
var fragment = doc.querySelector(CONTAINER);
|
||||
if (fragment) {
|
||||
// 先提取脚本(jQuery html() 会移除并可能异步处理脚本)
|
||||
_pendingScripts = [];
|
||||
fragment.querySelectorAll('script').forEach(function (s) {
|
||||
_pendingScripts.push({
|
||||
src: s.src || null,
|
||||
text: s.textContent
|
||||
});
|
||||
s.remove();
|
||||
});
|
||||
$(CONTAINER).html(fragment.innerHTML);
|
||||
document.title = doc.title;
|
||||
history.pushState({ url: url }, document.title, url);
|
||||
doPjaxComplete();
|
||||
} else {
|
||||
window.location.href = url;
|
||||
}
|
||||
} catch (e) {
|
||||
console.warn('[go] parse error, fallback:', e);
|
||||
window.location.href = url;
|
||||
}
|
||||
},
|
||||
error: function () { window.location.href = url; },
|
||||
timeout: PJAX_OPTS.timeout
|
||||
});
|
||||
$.pjax({ url: url, ...PJAX_OPTS });
|
||||
};
|
||||
|
||||
/** 暴露 getWelcomeText 供 message.js 首次加载时复用,避免欢迎语逻辑重复 */
|
||||
window._pjaxGetWelcomeText = getWelcomeText;
|
||||
|
||||
// ========== 初始化 ==========
|
||||
|
||||
/** 每次 pjax 完成后执行所有重初始化 */
|
||||
@@ -321,7 +161,6 @@
|
||||
reinitVisitors();
|
||||
reinitCopyButtons();
|
||||
reinitHighlight();
|
||||
reinitGitalk();
|
||||
reinitAISummary();
|
||||
reinitLive2d();
|
||||
trackPageView();
|
||||
@@ -335,7 +174,9 @@
|
||||
':not([href$=".xml"]):not([href$=".json"]):not([href$=".tgz"]):not([href$=".zip"])' +
|
||||
':not([href^="/Live2dHistoire"])';
|
||||
$(document).pjax('a' + exclude, PJAX_OPTS.container, PJAX_OPTS);
|
||||
|
||||
$(document).on('submit', 'form', function (e) {
|
||||
$.pjax.submit(e, PJAX_OPTS.container, PJAX_OPTS);
|
||||
});
|
||||
$(document).on('pjax:send', function () {
|
||||
$('body').addClass('pjax-loading');
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user