diff --git a/README.md b/README.md index e06e8d7..be79512 100644 --- a/README.md +++ b/README.md @@ -16,8 +16,9 @@ _Haku,是 Tina 小姐最爱的喵喵,它在这里守卫着 Tina 小姐_
-[![AdminMD](https://img.shields.io/badge/Magneto-TinaTheme-brightgreen)](https://fmcf.cc/technology/523/) -![Version](https://img.shields.io/badge/Version-2.1.0-criticale) +[![TinaTheme](https://img.shields.io/badge/Magneto-TinaTheme-brightgreen)](https://fmcf.cc/2021/08/47/) +![Version](https://img.shields.io/badge/Version-2.1.1-criticale) +![PHP](https://img.shields.io/badge/PHP-7.4-brightgreen) ![Repo-size](https://img.shields.io/github/languages/code-size/ouyangyanhuo/TinaTheme) ![License](https://img.shields.io/github/license/ouyangyanhuo/TinaTheme) ![Stars](https://img.shields.io/github/stars/ouyangyanhuo/TinaTheme) @@ -28,15 +29,10 @@ _Haku,是 Tina 小姐最爱的喵喵,它在这里守卫着 Tina 小姐_ 原主题:[https://github.com/WingLim/hugo-tania](https://github.com/WingLim/hugo-tania) ## 最近版本更新日志 -- 优化 CSS 性能 -- 优化 页脚按钮 显示内容 -- 优化 友链 页面的 链接 显示 -- 优化 项目推荐 内容描述的字体显示 -- 修复 友链 页面的 页脚 对齐Bug -- 修复 更新检测时检测不到新版本的Bug -- 修复 页脚按钮 在 hover 状态下显示遮挡的问题 -- 更改 小屏模式 下 头部 的颜色,黑 → 白 -- 调整 更新检测源 +- 调整了 自定义页脚部分的位置 +- 更改为原版 Jquery Pjax 进行加载 +- 使用原版 Jquery Pjax 进行加载后,支持了MathJax的加载 +- 使用原版 Jquery Pjax 进行加载后,支持了对夜间模式的正常加载 ## 功能与特性 @@ -91,9 +87,9 @@ TinaTheme 使用 [GPL V3.0](https://github.com/ouyangyanhuo/TinaTheme/blob/main/ 2.取消 Gitee 下载 因为它真的比 Shit 还烂,Gitee仓库会保留,但不会同步、更新。 ## 预览图 -![](https://tva4.sinaimg.cn/large/008aATBzly1h4lu8mys6rj340e256kjl.jpg) -![](https://tva4.sinaimg.cn/large/008aATBzly1h4lu8ls0w1j340e2561ky.jpg) -![](https://tva4.sinaimg.cn/large/008aATBzly1h4lu8ktiopj31x20ysgys.jpg) -![](https://tva4.sinaimg.cn/large/008aATBzly1h4lu8k558gj31x20ysqgq.jpg) -![](https://tva4.sinaimg.cn/large/008aATBzly1h4lu8l3r4mj31x20ys4ec.jpg) -![](https://tva4.sinaimg.cn/large/008aATBzly1h763e5sccdj34vc2jsu10.jpg) \ No newline at end of file +![](https://pic1.zhimg.com/80/v2-c3d9c9458bdc2e12ceef006c3192687d_720w.jpeg) +![](https://picx.zhimg.com/80/v2-0d04d14df7fb1d533e95c561a85e071b_720w.jpeg) +![](https://picx.zhimg.com/80/v2-2e9bff0db4dc6a129d77a3b017e04266_720w.jpeg) +![](https://picx.zhimg.com/80/v2-d7d0e6115507a8dbb106865cfb4e8b83_720w.jpeg) +![](https://picx.zhimg.com/80/v2-4db906b3d9271dbe27340d5d5f3658b8_720w.jpeg) +![](https://picx.zhimg.com/80/v2-0d04d14df7fb1d533e95c561a85e071b_720w.jpeg) \ No newline at end of file diff --git a/assets/js/katex.support.js b/assets/js/katex.support.js deleted file mode 100644 index 74a8da3..0000000 --- a/assets/js/katex.support.js +++ /dev/null @@ -1,2 +0,0 @@ -/*! KateXJS for v2.0.0 | Created by Magneto for TinaTheme */ -renderMathInElement(document.body,{delimiters:[{left:"$$",right:"$$",display:true},{left:"$",right:"$",display:false},{left:'\\(',right:'\\)',display:false},{left:'\\[',right:'\\]',display:true}]}); \ No newline at end of file diff --git a/assets/js/pjax.min.js b/assets/js/pjax.min.js deleted file mode 100644 index b58a1c6..0000000 --- a/assets/js/pjax.min.js +++ /dev/null @@ -1,4 +0,0 @@ -/* @author Veen Zhao */ -(function($){function fnPjax(selector,container,options){options=optionsFor(container,options);return this.on("click.pjax",selector,function(event){var opts=options;if(!opts.container){opts=$.extend({},options);opts.container=$(this).attr("data-pjax")}handleClick(event,opts)})}function handleClick(event,container,options){options=optionsFor(container,options);var link=event.currentTarget;var $link=$(link);if(link.tagName.toUpperCase()!=="A"){throw"$.fn.pjax or $.pjax.click requires an anchor element"}if(event.which>1||event.metaKey||event.ctrlKey||event.shiftKey||event.altKey){return}if(location.protocol!==link.protocol||location.hostname!==link.hostname){return}if(link.href.indexOf("#")>-1&&stripHash(link)==stripHash(location)){return}if(event.isDefaultPrevented()){return}var defaults={url:link.href,container:$link.attr("data-pjax"),target:link};var opts=$.extend({},defaults,options);var clickEvent=$.Event("pjax:click");$link.trigger(clickEvent,[opts]);if(!clickEvent.isDefaultPrevented()){pjax(opts);event.preventDefault();$link.trigger("pjax:clicked",[opts])}}function handleSubmit(event,container,options){options=optionsFor(container,options);var form=event.currentTarget;var $form=$(form);if(form.tagName.toUpperCase()!=="FORM"){throw"$.pjax.submit requires a form element"}var defaults={type:($form.attr("method")||"GET").toUpperCase(),url:$form.attr("action"),container:$form.attr("data-pjax"),target:form};if(defaults.type!=="GET"&&window.FormData!==undefined){defaults.data=new FormData(form);defaults.processData=false;defaults.contentType=false}else{if($form.find(":file").length){return}defaults.data=$form.serializeArray()}pjax($.extend({},defaults,options));event.preventDefault()}function pjax(options){options=$.extend(true,{},$.ajaxSettings,pjax.defaults,options);if($.isFunction(options.url)){options.url=options.url()}var hash=parseURL(options.url).hash;var containerType=$.type(options.container);if(containerType!=="string"){throw"expected string value for 'container' option; got "+containerType}var context=this.contextThat=options.context=$(options.container);if(!context.length){throw"the container selector '"+options.container+"' did not match anything"}if(!options.data){options.data={}}if($.isArray(options.data)){options.data.push({name:"_pjax",value:options.container})}else{options.data._pjax=options.container}function fire(type,args,props){if(!props){props={}}props.relatedTarget=options.target;var event=$.Event(type,props);context.trigger(event,args);return !event.isDefaultPrevented()}var timeoutTimer;options.beforeSend=function(xhr,settings){if(settings.type!=="GET"){settings.timeout=0}xhr.setRequestHeader("X-PJAX","true");xhr.setRequestHeader("X-PJAX-Container",options.container);if(!fire("pjax:beforeSend",[xhr,settings])){return false}if(settings.timeout>0){timeoutTimer=setTimeout(function(){if(fire("pjax:timeout",[xhr,options])){xhr.abort("timeout")}},settings.timeout);settings.timeout=0}var url=parseURL(settings.url);if(hash){url.hash=hash}options.requestUrl=stripInternalParams(url)};options.complete=function(xhr,textStatus){if(timeoutTimer){clearTimeout(timeoutTimer)}fire("pjax:complete",[xhr,textStatus,options]);fire("pjax:end",[xhr,options])};options.error=function(xhr,textStatus,errorThrown){var container=extractContainer("",xhr,options);var allowed=fire("pjax:error",[xhr,textStatus,errorThrown,options]);if(options.type=="GET"&&textStatus!=="abort"&&allowed){locationReplace(container.url)}};options.success=function(data,status,xhr){var previousState=pjax.state;var currentVersion=typeof $.pjax.defaults.version==="function"?$.pjax.defaults.version():$.pjax.defaults.version;var latestVersion=xhr.getResponseHeader("X-PJAX-Version");var container=extractContainer(data,xhr,options);var url=parseURL(container.url);if(hash){url.hash=hash;container.url=url.href}if(currentVersion&&latestVersion&¤tVersion!==latestVersion){locationReplace(container.url);return}if(!container.contents){locationReplace(container.url);return}pjax.state={id:options.id||uniqueId(),url:container.url,title:container.title,container:options.container,fragment:options.fragment,timeout:options.timeout};if(options.push||options.replace){window.history.replaceState(pjax.state,container.title,container.url)}var blurFocus=$.contains(context,document.activeElement);if(blurFocus){try{document.activeElement.blur()}catch(e){}}if(container.title){document.title=container.title}fire("pjax:beforeReplace",[container.contents,options],{state:pjax.state,previousState:previousState});context.html(data);var autofocusEl=context.find("input[autofocus], textarea[autofocus]").last()[0];if(autofocusEl&&document.activeElement!==autofocusEl){autofocusEl.focus()}executeScriptTags(container.scripts);var scrollTo=options.scrollTo;if(hash){var name=decodeURIComponent(hash.slice(1));var target=document.getElementById(name)||document.getElementsByName(name)[0];if(target){scrollTo=$(target).offset().top}}if(typeof scrollTo=="number"){$(window).scrollTop(scrollTo) -}fire("pjax:success",[data,status,xhr,options])};if(!pjax.state){pjax.state={id:uniqueId(),url:window.location.href,title:document.title,container:options.container,fragment:options.fragment,timeout:options.timeout};window.history.replaceState(pjax.state,document.title)}abortXHR(pjax.xhr);pjax.options=options;var xhr=pjax.xhr=$.ajax(options);if(xhr.readyState>0){if(options.push&&!options.replace){cachePush(pjax.state.id,[options.container,context.html()]);window.history.pushState(null,"",options.requestUrl)}fire("pjax:start",[xhr,options]);fire("pjax:send",[xhr,options])}return pjax.xhr}function pjaxReload(container,options){var defaults={url:window.location.href,push:false,replace:true,scrollTo:false};return pjax($.extend(defaults,optionsFor(container,options)))}function locationReplace(url){window.history.replaceState(null,"",pjax.state.url);window.location.replace(url)}var initialPop=true;var initialURL=window.location.href;var initialState=window.history.state;if(initialState&&initialState.container){pjax.state=initialState}if("state" in window.history){initialPop=false}function onPjaxPopstate(event){if(!initialPop){abortXHR(pjax.xhr)}var previousState=pjax.state;var state=event.state;var direction;if(state&&state.container){if(initialPop&&initialURL==state.url){return}if(previousState){if(previousState.id===state.id){return}direction=previousState.id",{method:method==="GET"?"GET":"POST",action:url,style:"display:none"});if(method!=="GET"&&method!=="POST"){form.append($("",{type:"hidden",name:"_method",value:method.toLowerCase()}))}var data=options.data;if(typeof data==="string"){$.each(data.split("&"),function(index,value){var pair=value.split("=");form.append($("",{type:"hidden",name:pair[0],value:pair[1]}))})}else{if($.isArray(data)){$.each(data,function(index,value){form.append($("",{type:"hidden",name:value.name,value:value.value}))})}else{if(typeof data==="object"){var key;for(key in data){form.append($("",{type:"hidden",name:key,value:data[key]}))}}}}$(document.body).append(form);form.submit()}function abortXHR(xhr){if(xhr&&xhr.readyState<4){xhr.onreadystatechange=$.noop;xhr.abort()}}function uniqueId(){return(new Date).getTime()}function cloneContents(container){var cloned=container.clone();cloned.find("script").each(function(){if(!this.src){$._data(this,"globalEval",false)}});return cloned.contents()}function stripInternalParams(url){url.search=url.search.replace(/([?&])(_pjax|_)=[^&]*/g,"").replace(/^&/,"");return url.href.replace(/\?($|#)/,"$1")}function parseURL(url){var a=document.createElement("a");a.href=url;return a}function stripHash(location){return location.href.replace(/#.*/,"")}function optionsFor(container,options){if(container&&options){options=$.extend({},options);options.container=container;return options}else{if($.isPlainObject(container)){return container}else{return{container:container}}}}function findAll(elems,selector){return elems.filter(selector).add(elems.find(selector))}function parseHTML(html){return $.parseHTML(html,document,true)}function extractContainer(data,xhr,options){var obj={},fullDocument=/]*>([\s\S.]*)<\/body>/i)[0]));var head=data.match(/]*>([\s\S.]*)<\/head>/i);$head=head!=null?$(parseHTML(head[0])):$body}else{$head=$body=$(parseHTML(data))}if($body.length===0){return obj}obj.title=findAll($head,"title").last().text();if(options.fragment){var $fragment=$body;if(options.fragment!=="body"){$fragment=findAll($fragment,options.fragment).first()}if($fragment.length){obj.contents=options.fragment==="body"?$fragment:$fragment.contents();if(!obj.title){obj.title=$fragment.attr("title")||$fragment.data("title") -}}}else{if(!fullDocument){obj.contents=$body}}if(obj.contents){obj.contents=obj.contents.not(function(){return $(this).is("title")});obj.contents.find("title").remove()}if(obj.title){obj.title=$.trim(obj.title)}return obj}function executeScriptTags(scripts){if(!scripts){return}var existingScripts=$("script[src]");scripts.each(function(){var src=this.src;var matchedScripts=existingScripts.filter(function(){return this.src===src});if(matchedScripts.length){return}var script=document.createElement("script");var type=$(this).attr("type");if(type){script.type=type}script.src=$(this).attr("src");document.head.appendChild(script)})}var cacheMapping={};var cacheForwardStack=[];var cacheBackStack=[];function cachePush(id,value){cacheMapping[id]=value;cacheBackStack.push(id);trimCacheStack(cacheForwardStack,0);trimCacheStack(cacheBackStack,pjax.defaults.maxCacheLength)}function cachePop(direction,id,value){var pushStack,popStack;cacheMapping[id]=value;if(direction==="forward"){pushStack=cacheBackStack;popStack=cacheForwardStack}else{pushStack=cacheForwardStack;popStack=cacheBackStack}pushStack.push(id);id=popStack.pop();if(id){delete cacheMapping[id]}trimCacheStack(pushStack,pjax.defaults.maxCacheLength)}function trimCacheStack(stack,length){while(stack.length>length){delete cacheMapping[stack.shift()]}}function findVersion(){return $("meta").filter(function(){var name=$(this).attr("http-equiv");return name&&name.toUpperCase()==="X-PJAX-VERSION"}).attr("content")}function enable(){$.fn.pjax=fnPjax;$.pjax=pjax;$.pjax.enable=$.noop;$.pjax.disable=disable;$.pjax.click=handleClick;$.pjax.submit=handleSubmit;$.pjax.reload=pjaxReload;$.pjax.defaults={timeout:650,push:true,replace:false,type:"GET",dataType:"html",scrollTo:0,maxCacheLength:20,version:findVersion};$(window).on("popstate.pjax",onPjaxPopstate)}function disable(){$.fn.pjax=function(){return this};$.pjax=fallbackPjax;$.pjax.enable=enable;$.pjax.disable=$.noop;$.pjax.click=$.noop;$.pjax.submit=$.noop;$.pjax.reload=function(){window.location.reload()};$(window).off("popstate.pjax",onPjaxPopstate)}if($.event.props&&$.inArray("state",$.event.props)<0){$.event.props.push("state")}else{if(!("state" in $.Event.prototype)){$.event.addProp("state")}}$.support.pjax=window.history&&window.history.pushState&&window.history.replaceState&&!navigator.userAgent.match(/((iPod|iPhone|iPad).+\bOS\s+[1-4]\D|WebApps\/.+CFNetwork)/);if($.support.pjax){enable()}else{disable()}})(jQuery); \ No newline at end of file diff --git a/core/functions.php b/core/functions.php index 32f8b85..a203baa 100755 --- a/core/functions.php +++ b/core/functions.php @@ -300,6 +300,12 @@ function staticUrl($file = ''){ 'cf' => 'cdnjs.cloudflare.com/ajax/libs/nprogress/0.2.0/nprogress.min.js', 'jd' => 'cdn.jsdelivr.net/npm/nprogress@0.2.0/nprogress.js', 'custom' => isset($lists[10]) ? $lists[10] : '' + ], + 'jquery.pjax.min.js' => [ + 'bc' => 'cdn.bootcdn.net/ajax/libs/jquery.pjax/2.0.1/jquery.pjax.min.js', + 'cf' => 'cdnjs.cloudflare.com/ajax/libs/jquery.pjax/2.0.1/jquery.pjax.min.js', + 'jd' => 'cdn.jsdelivr.net/npm/jquery-pjax@2.0.1/jquery.pjax.min.js', + 'custom' => isset($lists[11]) ? $lists[11] : '' ] ]; if (isset($cjCDNlinks[$file])) { diff --git a/footer.php b/footer.php index b81ad15..8e5b0e1 100755 --- a/footer.php +++ b/footer.php @@ -1,32 +1,35 @@
+ options->FooterHTML): ?> + options->FooterHTML() ?> + - options->FooterHTML): ?> - options->FooterHTML() ?> -
+ options->MathRender == 'KaTeX'): ?> - + + options->MathRender == 'MathJax'): ?> - + + options->MathRender == 'Close'): ?>
options->WebPjax): ?> - +
- + options->cursor): ?> diff --git a/header.php b/header.php index 9491ff2..d689a47 100755 --- a/header.php +++ b/header.php @@ -1,4 +1,14 @@ +/* + * @Author: Magneto github.com:ouyangyanhuo + * @Date: 2022-10-30 13:26:17 + * @LastEditors: {{ouyangyanhuo}} {{ouyangyanhuo@vip.qq.com}} + * @LastEditTime: 2022-11-19 19:03:46 + * @FilePath: \TinaTheme\header.php + * @Description: + * EMail:magneto@88.com + * Copyright (c) 2022 by Magneto, All Rights Reserved. + */ @@ -31,7 +41,7 @@ - + options->JqueryControl): ?> diff --git a/index.php b/index.php index 00d2731..2441054 100755 --- a/index.php +++ b/index.php @@ -2,11 +2,11 @@ /** * 移植自WingLimhugo-tania主题,在其基础上进行了深度修改的 TinaTheme 或许是你在Typecho上最好的选择 *
版本检测中... 
- * + * * * @package Tina Theme * @author Magneto - * @version 2.1.0 + * @version 2.1.1 * @link https://www.fmcf.cc */