feat: add sticky sidebar (#324)

pull/384/head
Seaton Jiang 2021-05-18 10:13:56 +08:00
parent 2e66276541
commit 8af851f540
No known key found for this signature in database
GPG Key ID: C1086BAE716FF138
8 changed files with 30 additions and 10 deletions

View File

@ -168,6 +168,12 @@
});
};
var siderbarConfig = function () {
$(".sticky-sidebar").theiaStickySidebar({
additionalMarginTop: 25,
});
};
var consoleConfig = function () {
console.log(
"\n Kratos v" +
@ -187,6 +193,9 @@
postlikeConfig();
donateConfig();
consoleConfig();
if (kratos.sticky) {
siderbarConfig();
}
});
})();

View File

@ -1 +1 @@
function grin (t) { var o; if (t = " " + t + " ", !document.getElementById("comment") || "textarea" != document.getElementById("comment").type) return !1; if (o = document.getElementById("comment"), document.selection) o.focus(), sel = document.selection.createRange(), sel.text = t, o.focus(); else if (o.selectionStart || "0" == o.selectionStart) { var e = o.selectionStart, a = o.selectionEnd, n = a; o.value = o.value.substring(0, e) + t + o.value.substring(a, o.value.length), n += t.length, o.focus(), o.selectionStart = n, o.selectionEnd = n } else o.value += t, o.focus() } (function () { "use strict"; var t = "3.2.9", o = function () { $("#navbutton").on("click", function () { $(".navbar-toggler").toggleClass("nav-close") }) }, e = function () { $(function () { $('[data-toggle="tooltip"]').tooltip() }) }, a = function () { $(window).on("load", function () { var t = $(window); t.scrollTop() > 200 ? $(".gotop").addClass("active") : $(".gotop").removeClass("active"), t.scroll(function () { t.scrollTop() > 200 ? $(".gotop").addClass("active") : $(".gotop").removeClass("active") }) }), $(".gotop").on("click", function (t) { return t.preventDefault(), $("html, body").animate({ scrollTop: $("html").offset().top }, 500), !1 }) }, n = function () { $(".search").on("click", function (t) { $(".search-form").animate({ width: "200px" }, 200), $(".search-form input").css("display", "block"), $(document).one("click", function () { $(".search-form").animate({ width: "0" }, 100), $(".search-form input").hide() }), t.stopPropagation() }), $(".search-form").on("click", function (t) { t.stopPropagation() }) }, c = function () { $(".wechat").mouseout(function () { $(".wechat-pic")[0].style.display = "none" }), $(".wechat").mouseover(function () { $(".wechat-pic")[0].style.display = "block" }) }, s = function () { $("#addsmile").on("click", function (t) { return $(".smile").toggleClass("open"), $(document).one("click", function () { $(".smile").toggleClass("open") }), t.stopPropagation(), !1 }) }, i = function () { $.fn.postLike = function () { if ($(this).hasClass("done")) return layer.msg(kratos.repeat, function () { }), !1; $(this).addClass("done"), layer.msg(kratos.thanks); var t = $(this).data("id"), o = $(this).data("action"), e = { action: "love", um_id: t, um_action: o }; return $.post(kratos.site + "/wp-admin/admin-ajax.php", e, function (t) { }), !1 }, $(document).on("click", ".btn-thumbs", function () { $(this).postLike() }) }, l = function () { $("#donate").on("click", function () { layer.open({ type: 1, area: ["300px", "370px"], title: kratos.donate, resize: !1, scrollbar: !1, content: '<div class="donate-box"><div class="meta-pay text-center my-2"><strong>' + kratos.scan + '</strong></div><div class="qr-pay text-center"><img class="pay-img" id="alipay_qr" src="' + kratos.alipay + '"><img class="pay-img d-none" id="wechat_qr" src="' + kratos.wechat + '"></div><div class="choose-pay text-center mt-2"><input id="alipay" type="radio" name="pay-method" checked><label for="alipay" class="pay-button"><img src="' + kratos.directory + '/assets/img/payment/alipay.png"></label><input id="wechatpay" type="radio" name="pay-method"><label for="wechatpay" class="pay-button"><img src="' + kratos.directory + '/assets/img/payment/wechat.png"></label></div></div>' }), $(".choose-pay input[type='radio']").click(function () { var t = $(this).attr("id"); "alipay" == t && ($(".qr-pay #alipay_qr").removeClass("d-none"), $(".qr-pay #wechat_qr").addClass("d-none")), "wechatpay" == t && ($(".qr-pay #alipay_qr").addClass("d-none"), $(".qr-pay #wechat_qr").removeClass("d-none")) }) }) }, r = function () { $(document).on("click", ".acheader", function (t) { var o = $(this); o.closest(".accordion").find(".contents").slideToggle(300), o.closest(".accordion").hasClass("active") ? o.closest(".accordion").removeClass("active") : o.closest(".accordion").addClass("active"), t.preventDefault() }) }, d = function () { console.log("\n Kratos v" + t + "\n\n https://github.com/vtrois/kratos \n\n") }; $(function () { r(), o(), e(), a(), n(), c(), s(), i(), l(), d() }) })()
function grin(a){var b,c,d,e;return a=" "+a+" ",document.getElementById("comment")&&"textarea"==document.getElementById("comment").type?(b=document.getElementById("comment"),document.selection?(b.focus(),sel=document.selection.createRange(),sel.text=a,b.focus()):b.selectionStart||"0"==b.selectionStart?(c=b.selectionStart,d=b.selectionEnd,e=d,b.value=b.value.substring(0,c)+a+b.value.substring(d,b.value.length),e+=a.length,b.focus(),b.selectionStart=e,b.selectionEnd=e):(b.value+=a,b.focus()),void 0):!1}!function(){"use strict";var a="3.2.9",b=function(){$("#navbutton").on("click",function(){$(".navbar-toggler").toggleClass("nav-close")})},c=function(){$(function(){$('[data-toggle="tooltip"]').tooltip()})},d=function(){$(window).on("load",function(){var a=$(window);a.scrollTop()>200?$(".gotop").addClass("active"):$(".gotop").removeClass("active"),a.scroll(function(){a.scrollTop()>200?$(".gotop").addClass("active"):$(".gotop").removeClass("active")})}),$(".gotop").on("click",function(a){return a.preventDefault(),$("html, body").animate({scrollTop:$("html").offset().top},500),!1})},e=function(){$(".search").on("click",function(a){$(".search-form").animate({width:"200px"},200),$(".search-form input").css("display","block"),$(document).one("click",function(){$(".search-form").animate({width:"0"},100),$(".search-form input").hide()}),a.stopPropagation()}),$(".search-form").on("click",function(a){a.stopPropagation()})},f=function(){$(".wechat").mouseout(function(){$(".wechat-pic")[0].style.display="none"}),$(".wechat").mouseover(function(){$(".wechat-pic")[0].style.display="block"})},g=function(){$("#addsmile").on("click",function(a){return $(".smile").toggleClass("open"),$(document).one("click",function(){$(".smile").toggleClass("open")}),a.stopPropagation(),!1})},h=function(){$.fn.postLike=function(){var a,b,c;return $(this).hasClass("done")?(layer.msg(kratos.repeat,function(){}),!1):($(this).addClass("done"),layer.msg(kratos.thanks),a=$(this).data("id"),b=$(this).data("action"),c={action:"love",um_id:a,um_action:b},$.post(kratos.site+"/wp-admin/admin-ajax.php",c,function(){}),!1)},$(document).on("click",".btn-thumbs",function(){$(this).postLike()})},i=function(){$("#donate").on("click",function(){layer.open({type:1,area:["300px","370px"],title:kratos.donate,resize:!1,scrollbar:!1,content:'<div class="donate-box"><div class="meta-pay text-center my-2"><strong>'+kratos.scan+'</strong></div><div class="qr-pay text-center"><img class="pay-img" id="alipay_qr" src="'+kratos.alipay+'"><img class="pay-img d-none" id="wechat_qr" src="'+kratos.wechat+'"></div><div class="choose-pay text-center mt-2"><input id="alipay" type="radio" name="pay-method" checked><label for="alipay" class="pay-button"><img src="'+kratos.directory+'/assets/img/payment/alipay.png"></label><input id="wechatpay" type="radio" name="pay-method"><label for="wechatpay" class="pay-button"><img src="'+kratos.directory+'/assets/img/payment/wechat.png"></label></div></div>'}),$(".choose-pay input[type='radio']").click(function(){var a=$(this).attr("id");"alipay"==a&&($(".qr-pay #alipay_qr").removeClass("d-none"),$(".qr-pay #wechat_qr").addClass("d-none")),"wechatpay"==a&&($(".qr-pay #alipay_qr").addClass("d-none"),$(".qr-pay #wechat_qr").removeClass("d-none"))})})},j=function(){$(document).on("click",".acheader",function(a){var b=$(this);b.closest(".accordion").find(".contents").slideToggle(300),b.closest(".accordion").hasClass("active")?b.closest(".accordion").removeClass("active"):b.closest(".accordion").addClass("active"),a.preventDefault()})},k=function(){$(".sticky-sidebar").theiaStickySidebar({additionalMarginTop:25})},l=function(){console.log("\n Kratos v"+a+"\n\n https://github.com/vtrois/kratos \n\n")};$(function(){j(),b(),c(),d(),e(),f(),g(),h(),i(),l(),kratos.sticky&&k()})}();

1
assets/js/theia-sticky-sidebar.min.js vendored Executable file

File diff suppressed because one or more lines are too long

View File

@ -3,7 +3,7 @@
* 核心函数
* @author Seaton Jiang <seaton@vtrois.com>
* @license MIT License
* @version 2021.03.11
* @version 2021.05.18
*/
if (kratos_option('g_cdn', false)) {
@ -73,6 +73,7 @@ function theme_autoload()
wp_enqueue_script('jquery', ASSET_PATH . '/assets/js/jquery.min.js', array(), '3.4.1', false);
wp_enqueue_script('bootstrap-bundle', ASSET_PATH . '/assets/js/bootstrap.bundle.min.js', array(), '4.5.0', true);
wp_enqueue_script('layer', ASSET_PATH . '/assets/js/layer.min.js', array(), '3.1.1', true);
wp_enqueue_script('sticky', ASSET_PATH . '/assets/js/theia-sticky-sidebar.min.js', array(), '1.5.0', true);
wp_enqueue_script('kratos', ASSET_PATH . '/assets/js/kratos.min.js', array(), THEME_VERSION, true);
wp_enqueue_script('custom', get_template_directory_uri() . '/custom/custom.js', array(), THEME_VERSION, true);
@ -84,7 +85,8 @@ function theme_autoload()
'repeat' => __('您已经赞过了', 'kratos'),
'thanks' => __('感谢您的支持', 'kratos'),
'donate' => __('打赏作者', 'kratos'),
'scan' => __('扫码支付', 'kratos'),
'scan' => __('扫码支付', 'kratos'),
'sticky' => kratos_option('g_sticky', false),
);
wp_localize_script('kratos', 'kratos', $data);
}

View File

@ -3,7 +3,7 @@
* 主题选项
* @author Seaton Jiang <seaton@vtrois.com>
* @license MIT License
* @version 2021.04.15
* @version 2021.05.18
*/
function getrobots()
@ -111,6 +111,14 @@ function kratos_options()
'type' => 'checkbox',
);
$options[] = array(
'name' => __('侧边栏随动', 'kratos'),
'desc' => __('开启小工具侧边栏随动功能', 'kratos'),
'std' => '0',
'id' => 'g_sticky',
'type' => 'checkbox',
);
$options[] = array(
'name' => __('搜索增强', 'kratos'),
'desc' => __('仅查找文章标题,而不全文搜索(适用于文章数量较多的站点)', 'kratos'),

View File

@ -3,7 +3,7 @@
* 首页模板
* @author Seaton Jiang <seaton@vtrois.com>
* @license MIT License
* @version 2020.04.12
* @version 2021.05.18
*/
get_header(); ?>
@ -40,7 +40,7 @@ get_header(); ?>
pagelist();
wp_reset_query(); ?>
</div>
<div class="col-lg-4 sidebar d-none d-lg-block">
<div class="col-lg-4 sidebar sticky-sidebar d-none d-lg-block">
<?php dynamic_sidebar('sidebar_tool'); ?>
</div>
</div>

View File

@ -3,7 +3,7 @@
* 页面模板
* @author Seaton Jiang <seaton@vtrois.com>
* @license MIT License
* @version 2020.03.14
* @version 2021.05.18
*/
get_header(); ?>
@ -51,7 +51,7 @@ get_header(); ?>
<?php endif; ?>
<?php comments_template(); ?>
</div>
<div class="col-lg-4 sidebar d-none d-lg-block">
<div class="col-lg-4 sidebar sticky-sidebar d-none d-lg-block">
<?php dynamic_sidebar('sidebar_tool'); ?>
</div>
</div>

View File

@ -3,7 +3,7 @@
* 文章内容
* @author Seaton Jiang <seaton@vtrois.com>
* @license MIT License
* @version 2021.03.20
* @version 2021.05.18
*/
get_header();
@ -145,7 +145,7 @@ $select_col = $col_array[kratos_option('g_article_widgets', 'two_side')];
<?php comments_template(); ?>
</div>
<?php if (kratos_option('g_article_widgets', 'two_side') == 'two_side'){ ?>
<div class="col-lg-4 sidebar d-none d-lg-block">
<div class="col-lg-4 sidebar sticky-sidebar d-none d-lg-block">
<?php dynamic_sidebar('sidebar_tool'); ?>
</div>
<?php } ?>