From 5d9d2b9aad8f012000c86c598a9e1de57910edc5 Mon Sep 17 00:00:00 2001 From: Wcowin <1135801806@qq.com> Date: Tue, 3 Oct 2023 16:58:38 +0800 Subject: [PATCH] 10.3 --- docs/about/geren.md | 4 +- docs/javascripts/extra.js | 17 + docs/javascripts/lightbox.js | 571 -- docs/stylesheets/lightbox.css | 204 - docs/waline.md | 44 +- site/404.html | 150 +- site/about/Foryou/index.html | 150 +- site/about/Wcowin/index.html | 5016 +++++++++++++++++ site/about/biye/index.html | 156 +- site/about/geren/index.html | 156 +- site/about/goal/index.html | 156 +- site/about/link/index.html | 169 +- site/about/maozedong/index.html | 150 +- site/about/run/index.html | 150 +- site/about/shengming/index.html | 150 +- site/about/test/index.html | 150 +- site/about/web/index.html | 184 +- site/about/zcw/index.html | 180 +- site/assets/favicon.png | Bin 0 -> 8365 bytes site/blog/2022/12/18/index.html | 4959 ++++++++++++++++ site/blog/2023/10/01/index.html | 253 +- site/blog/2023/{09/30/2 => 10/05}/index.html | 537 +- site/blog/Academic/LaTeX/index.html | 150 +- site/blog/Academic/math/13js/index.html | 150 +- site/blog/Academic/math/14/index.html | 150 +- site/blog/Academic/math/index.html | 150 +- site/blog/C language/c/index.html | 150 +- site/blog/Mac/Launchpad/index.html | 150 +- site/blog/Mac/Macesc/index.html | 150 +- site/blog/Mac/Pd/index.html | 150 +- site/blog/Mac/homebrew/index.html | 150 +- site/blog/Mac/jiasugithub/index.html | 150 +- site/blog/Mac/jietu/index.html | 150 +- site/blog/Mac/kjj/index.html | 150 +- site/blog/Mac/maccd/index.html | 150 +- site/blog/Mac/shanchu/index.html | 150 +- site/blog/Mac/sunhuai/index.html | 150 +- site/blog/Mac/xjiq/index.html | 150 +- site/blog/Mkdocs/mkdocs1/index.html | 150 +- site/blog/Mkdocs/mkdocs2/index.html | 150 +- site/blog/Mkdocs/mkdocs3/index.html | 150 +- site/blog/TG/index.html | 150 +- site/blog/Webplay/index.html | 150 +- site/blog/Win/360/index.html | 150 +- site/blog/Win/anzhuodezixit/index.html | 150 +- site/blog/Win/edgexz/index.html | 150 +- site/blog/Win/winkjj/index.html | 150 +- site/blog/archive/2022/index.html | 4867 ++++++++++++++++ site/blog/archive/2023/index.html | 193 +- site/blog/category/hello/index.html | 310 +- site/blog/index.html | 240 +- site/blog/iphone/iphoneduozhanghao/index.html | 150 +- .../blog/iphone/iphonequchukaiping/index.html | 150 +- site/blog/iphone/iphonexianmian/index.html | 150 +- site/blog/macsoft/index.html | 150 +- site/blog/py/pip/index.html | 150 +- site/blog/py/python/index.html | 150 +- site/blog/technique sharing/aixin/index.html | 150 +- .../googletranslate/index.html | 150 +- .../blog/technique sharing/jiaoben/index.html | 150 +- .../jisuanjibiannianshi/index.html | 150 +- site/blog/technique sharing/kexue/index.html | 150 +- .../technique sharing/matlabrose/index.html | 150 +- .../blog/technique sharing/ohmuzsh/index.html | 150 +- .../technique sharing/tuchuang/index.html | 150 +- site/blog/technique sharing/win/index.html | 150 +- site/blog/websitebeauty/backgroud/index.html | 150 +- site/blog/websitebeauty/mkdocsfont/index.html | 150 +- site/blog/websitebeauty/shubiao/index.html | 150 +- site/blog/yuque/index.html | 150 +- site/develop/1024code/index.html | 150 +- site/develop/ChatGPT/index.html | 150 +- site/develop/Github/index.html | 150 +- site/develop/Mac/index.html | 150 +- site/develop/Markdown/MWeb/index.html | 150 +- site/develop/Markdown/markdown/index.html | 150 +- site/develop/Mywork/aizhiwu/index.html | 150 +- site/develop/Mywork/design/index.html | 150 +- .../Mywork/face-recognition/index.html | 150 +- site/develop/Mywork/face_compare/index.html | 150 +- site/develop/Mywork/opencv/index.html | 150 +- site/develop/fenxiang/index.html | 150 +- site/develop/kanyuanma/index.html | 150 +- site/develop/lighthouse/index.html | 150 +- site/develop/vercel/index.html | 150 +- site/index.html | 286 +- site/messageboard/index.html | 150 +- site/relax/Apple/index.html | 150 +- site/relax/Essay/cat/index.html | 150 +- site/relax/Essay/dx/index.html | 150 +- site/relax/Essay/luv letter/index.html | 150 +- site/relax/Essay/musong/index.html | 150 +- site/relax/Essay/zhonggao/index.html | 150 +- site/relax/Game/wzry/index.html | 150 +- site/relax/Game/yuanshen/index.html | 150 +- site/relax/Letter/letter1/index.html | 150 +- site/relax/Letter/letter2/index.html | 150 +- .../Letter/luvletter/sqrzszyz/index.html | 150 +- .../Letter/luvletter/zhushenghao1/index.html | 150 +- .../Letter/luvletter/zhushenghao2/index.html | 150 +- .../Letter/luvletter/zhushenghao3/index.html | 150 +- .../Letter/luvletter/zhushenghao4/index.html | 150 +- .../Letter/luvletter/zhushenghao5/index.html | 150 +- .../Letter/luvletter/zhushenghao6/index.html | 150 +- site/relax/Manong/cxiaoaixin/index.html | 150 +- site/relax/Manong/sigejieduan/index.html | 150 +- site/relax/Manong/tuodanbukeneng/index.html | 150 +- site/relax/Manong/wtf/index.html | 150 +- site/relax/Movie/tuijiandedianyin/index.html | 150 +- site/relax/Movie/tuijiandsj/index.html | 150 +- site/relax/Movie/tuijianfanju/index.html | 150 +- site/relax/Music/Floating/index.html | 150 +- site/relax/Music/gyzzdjy/index.html | 150 +- site/relax/Music/jdzg/index.html | 150 +- site/relax/Music/rbn/index.html | 150 +- site/relax/Music/soy/index.html | 150 +- site/relax/Music/zhusha/index.html | 150 +- site/relax/jiaoyu/index.html | 150 +- site/relax/kaimo/index.html | 150 +- site/relax/rudang/index.html | 150 +- site/relax/rushiwowen/index.html | 150 +- site/relax/shiwen/fqyb/index.html | 150 +- site/relax/shiwen/jcz/index.html | 150 +- site/relax/shiwen/jg/index.html | 150 +- site/relax/shiwen/sjcnh/index.html | 150 +- site/relax/shiwen/twgx/index.html | 150 +- site/relax/shiwen/yll/index.html | 150 +- site/relax/tuijianyuedu/index.html | 150 +- site/relax/wbb/index.html | 150 +- site/relax/wkwMath/1/index.html | 150 +- site/relax/wkwMath/2/index.html | 150 +- site/relax/wkwMath/3/index.html | 150 +- site/relax/wkwMath/4/index.html | 150 +- site/relax/wkwMath/5/index.html | 151 +- site/relax/xiaomo/index.html | 150 +- site/search/search_index.json | 2 +- site/sitemap.xml | 281 +- site/sitemap.xml.gz | Bin 1143 -> 1154 bytes site/stylesheets/extra.css | 26 +- site/tag/index.html | 156 +- site/trip/InCQ/CQ/index.html | 150 +- site/trip/LH/index.html | 150 +- site/trip/Xian/index.html | 150 +- site/waline/index.html | 240 +- 144 files changed, 30840 insertions(+), 5918 deletions(-) delete mode 100644 docs/javascripts/lightbox.js delete mode 100644 docs/stylesheets/lightbox.css create mode 100644 site/about/Wcowin/index.html create mode 100644 site/assets/favicon.png create mode 100644 site/blog/2022/12/18/index.html rename site/blog/2023/{09/30/2 => 10/05}/index.html (81%) create mode 100644 site/blog/archive/2022/index.html diff --git a/docs/about/geren.md b/docs/about/geren.md index 93b82e616..67bfd4061 100644 --- a/docs/about/geren.md +++ b/docs/about/geren.md @@ -16,9 +16,7 @@ hide: * 热爱(xiā)折腾技术,读书明智 :computer: * 喜欢村上春树📖,擅长羽毛球 :badminton: -
- Headline; -
+ diff --git a/docs/javascripts/extra.js b/docs/javascripts/extra.js index 661ea066f..ef8d763db 100644 --- a/docs/javascripts/extra.js +++ b/docs/javascripts/extra.js @@ -670,3 +670,20 @@ if (isMobile) { video.volume = 0; // 或者根据需要设置适当的音量值,例如 0.5 表示 50% 的音量 } +// 在页面加载完成后执行以下代码 +document.addEventListener("DOMContentLoaded", function() { + // 获取刷新按钮 + var refreshButton = document.getElementById("refreshButton"); + + // 添加点击事件处理程序 + refreshButton.addEventListener("click", function() { + // 使用以下代码来刷新页面 + location.reload(); + }); +}); + +document.addEventListener("DOMContentLoaded", function() { + twikoo.init({ + // Twikoo配置选项 + }); +}); diff --git a/docs/javascripts/lightbox.js b/docs/javascripts/lightbox.js deleted file mode 100644 index ee0492c23..000000000 --- a/docs/javascripts/lightbox.js +++ /dev/null @@ -1,571 +0,0 @@ -/*! - * Lightbox v2.11.4 - * by Lokesh Dhakar - * - * More info: - * http://lokeshdhakar.com/projects/lightbox2/ - * - * Copyright Lokesh Dhakar - * Released under the MIT license - * https://github.com/lokesh/lightbox2/blob/master/LICENSE - * - * @preserve - */ - -// Uses Node, AMD or browser globals to create a module. -(function (root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['jquery'], factory); - } else if (typeof exports === 'object') { - // Node. Does not work with strict CommonJS, but - // only CommonJS-like environments that support module.exports, - // like Node. - module.exports = factory(require('jquery')); - } else { - // Browser globals (root is window) - root.lightbox = factory(root.jQuery); - } -}(this, function ($) { - - function Lightbox(options) { - this.album = []; - this.currentImageIndex = void 0; - this.init(); - - // options - this.options = $.extend({}, this.constructor.defaults); - this.option(options); - } - - // Descriptions of all options available on the demo site: - // http://lokeshdhakar.com/projects/lightbox2/index.html#options - Lightbox.defaults = { - albumLabel: 'Image %1 of %2', - alwaysShowNavOnTouchDevices: false, - fadeDuration: 600, - fitImagesInViewport: true, - imageFadeDuration: 600, - // maxWidth: 800, - // maxHeight: 600, - positionFromTop: 50, - resizeDuration: 700, - showImageNumberLabel: true, - wrapAround: false, - disableScrolling: false, - /* - Sanitize Title - If the caption data is trusted, for example you are hardcoding it in, then leave this to false. - This will free you to add html tags, such as links, in the caption. - - If the caption data is user submitted or from some other untrusted source, then set this to true - to prevent xss and other injection attacks. - */ - sanitizeTitle: false - }; - - Lightbox.prototype.option = function(options) { - $.extend(this.options, options); - }; - - Lightbox.prototype.imageCountLabel = function(currentImageNum, totalImages) { - return this.options.albumLabel.replace(/%1/g, currentImageNum).replace(/%2/g, totalImages); - }; - - Lightbox.prototype.init = function() { - var self = this; - // Both enable and build methods require the body tag to be in the DOM. - $(document).ready(function() { - self.enable(); - self.build(); - }); - }; - - // Loop through anchors and areamaps looking for either data-lightbox attributes or rel attributes - // that contain 'lightbox'. When these are clicked, start lightbox. - Lightbox.prototype.enable = function() { - var self = this; - $('body').on('click', 'a[rel^=lightbox], area[rel^=lightbox], a[data-lightbox], area[data-lightbox]', function(event) { - self.start($(event.currentTarget)); - return false; - }); - }; - - // Build html for the lightbox and the overlay. - // Attach event handlers to the new DOM elements. click click click - Lightbox.prototype.build = function() { - if ($('#lightbox').length > 0) { - return; - } - - var self = this; - - // The two root notes generated, #lightboxOverlay and #lightbox are given - // tabindex attrs so they are focusable. We attach our keyboard event - // listeners to these two elements, and not the document. Clicking anywhere - // while Lightbox is opened will keep the focus on or inside one of these - // two elements. - // - // We do this so we can prevent propogation of the Esc keypress when - // Lightbox is open. This prevents it from intefering with other components - // on the page below. - // - // Github issue: https://github.com/lokesh/lightbox2/issues/663 - $('
').appendTo($('body')); - - // Cache jQuery objects - this.$lightbox = $('#lightbox'); - this.$overlay = $('#lightboxOverlay'); - this.$outerContainer = this.$lightbox.find('.lb-outerContainer'); - this.$container = this.$lightbox.find('.lb-container'); - this.$image = this.$lightbox.find('.lb-image'); - this.$nav = this.$lightbox.find('.lb-nav'); - - // Store css values for future lookup - this.containerPadding = { - top: parseInt(this.$container.css('padding-top'), 10), - right: parseInt(this.$container.css('padding-right'), 10), - bottom: parseInt(this.$container.css('padding-bottom'), 10), - left: parseInt(this.$container.css('padding-left'), 10) - }; - - this.imageBorderWidth = { - top: parseInt(this.$image.css('border-top-width'), 10), - right: parseInt(this.$image.css('border-right-width'), 10), - bottom: parseInt(this.$image.css('border-bottom-width'), 10), - left: parseInt(this.$image.css('border-left-width'), 10) - }; - - // Attach event handlers to the newly minted DOM elements - this.$overlay.hide().on('click', function() { - self.end(); - return false; - }); - - this.$lightbox.hide().on('click', function(event) { - if ($(event.target).attr('id') === 'lightbox') { - self.end(); - } - }); - - this.$outerContainer.on('click', function(event) { - if ($(event.target).attr('id') === 'lightbox') { - self.end(); - } - return false; - }); - - this.$lightbox.find('.lb-prev').on('click', function() { - if (self.currentImageIndex === 0) { - self.changeImage(self.album.length - 1); - } else { - self.changeImage(self.currentImageIndex - 1); - } - return false; - }); - - this.$lightbox.find('.lb-next').on('click', function() { - if (self.currentImageIndex === self.album.length - 1) { - self.changeImage(0); - } else { - self.changeImage(self.currentImageIndex + 1); - } - return false; - }); - - /* - Show context menu for image on right-click - - There is a div containing the navigation that spans the entire image and lives above of it. If - you right-click, you are right clicking this div and not the image. This prevents users from - saving the image or using other context menu actions with the image. - - To fix this, when we detect the right mouse button is pressed down, but not yet clicked, we - set pointer-events to none on the nav div. This is so that the upcoming right-click event on - the next mouseup will bubble down to the image. Once the right-click/contextmenu event occurs - we set the pointer events back to auto for the nav div so it can capture hover and left-click - events as usual. - */ - this.$nav.on('mousedown', function(event) { - if (event.which === 3) { - self.$nav.css('pointer-events', 'none'); - - self.$lightbox.one('contextmenu', function() { - setTimeout(function() { - this.$nav.css('pointer-events', 'auto'); - }.bind(self), 0); - }); - } - }); - - - this.$lightbox.find('.lb-loader, .lb-close').on('click keyup', function(e) { - // If mouse click OR 'enter' or 'space' keypress, close LB - if ( - e.type === 'click' || (e.type === 'keyup' && (e.which === 13 || e.which === 32))) { - self.end(); - return false; - } - }); - }; - - // Show overlay and lightbox. If the image is part of a set, add siblings to album array. - Lightbox.prototype.start = function($link) { - var self = this; - var $window = $(window); - - $window.on('resize', $.proxy(this.sizeOverlay, this)); - - this.sizeOverlay(); - - this.album = []; - var imageNumber = 0; - - function addToAlbum($link) { - self.album.push({ - alt: $link.attr('data-alt'), - link: $link.attr('href'), - title: $link.attr('data-title') || $link.attr('title') - }); - } - - // Support both data-lightbox attribute and rel attribute implementations - var dataLightboxValue = $link.attr('data-lightbox'); - var $links; - - if (dataLightboxValue) { - $links = $($link.prop('tagName') + '[data-lightbox="' + dataLightboxValue + '"]'); - for (var i = 0; i < $links.length; i = ++i) { - addToAlbum($($links[i])); - if ($links[i] === $link[0]) { - imageNumber = i; - } - } - } else { - if ($link.attr('rel') === 'lightbox') { - // If image is not part of a set - addToAlbum($link); - } else { - // If image is part of a set - $links = $($link.prop('tagName') + '[rel="' + $link.attr('rel') + '"]'); - for (var j = 0; j < $links.length; j = ++j) { - addToAlbum($($links[j])); - if ($links[j] === $link[0]) { - imageNumber = j; - } - } - } - } - - // Position Lightbox - var top = $window.scrollTop() + this.options.positionFromTop; - var left = $window.scrollLeft(); - this.$lightbox.css({ - top: top + 'px', - left: left + 'px' - }).fadeIn(this.options.fadeDuration); - - // Disable scrolling of the page while open - if (this.options.disableScrolling) { - $('body').addClass('lb-disable-scrolling'); - } - - this.changeImage(imageNumber); - }; - - // Hide most UI elements in preparation for the animated resizing of the lightbox. - Lightbox.prototype.changeImage = function(imageNumber) { - var self = this; - var filename = this.album[imageNumber].link; - var filetype = filename.split('.').slice(-1)[0]; - var $image = this.$lightbox.find('.lb-image'); - - // Disable keyboard nav during transitions - this.disableKeyboardNav(); - - // Show loading state - this.$overlay.fadeIn(this.options.fadeDuration); - $('.lb-loader').fadeIn('slow'); - this.$lightbox.find('.lb-image, .lb-nav, .lb-prev, .lb-next, .lb-dataContainer, .lb-numbers, .lb-caption').hide(); - this.$outerContainer.addClass('animating'); - - // When image to show is preloaded, we send the width and height to sizeContainer() - var preloader = new Image(); - preloader.onload = function() { - var $preloader; - var imageHeight; - var imageWidth; - var maxImageHeight; - var maxImageWidth; - var windowHeight; - var windowWidth; - - $image.attr({ - 'alt': self.album[imageNumber].alt, - 'src': filename - }); - - $preloader = $(preloader); - - $image.width(preloader.width); - $image.height(preloader.height); - - var aspectRatio = preloader.width / preloader.height; - - windowWidth = $(window).width(); - windowHeight = $(window).height(); - - // Calculate the max image dimensions for the current viewport. - // Take into account the border around the image and an additional 10px gutter on each side. - maxImageWidth = windowWidth - self.containerPadding.left - self.containerPadding.right - self.imageBorderWidth.left - self.imageBorderWidth.right - 20; - maxImageHeight = windowHeight - self.containerPadding.top - self.containerPadding.bottom - self.imageBorderWidth.top - self.imageBorderWidth.bottom - self.options.positionFromTop - 70; - - /* - Since many SVGs have small intrinsic dimensions, but they support scaling - up without quality loss because of their vector format, max out their - size inside the viewport. - */ - if (filetype === 'svg') { - if (aspectRatio >= 1) { - imageWidth = maxImageWidth; - imageHeight = parseInt(maxImageWidth / aspectRatio, 10); - } else { - imageWidth = parseInt(maxImageHeight / aspectRatio, 10); - imageHeight = maxImageHeight; - } - $image.width(imageWidth); - $image.height(imageHeight); - - } else { - - // Fit image inside the viewport. - if (self.options.fitImagesInViewport) { - - // Check if image size is larger then maxWidth|maxHeight in settings - if (self.options.maxWidth && self.options.maxWidth < maxImageWidth) { - maxImageWidth = self.options.maxWidth; - } - if (self.options.maxHeight && self.options.maxHeight < maxImageHeight) { - maxImageHeight = self.options.maxHeight; - } - - } else { - maxImageWidth = self.options.maxWidth || preloader.width || maxImageWidth; - maxImageHeight = self.options.maxHeight || preloader.height || maxImageHeight; - } - - // Is the current image's width or height is greater than the maxImageWidth or maxImageHeight - // option than we need to size down while maintaining the aspect ratio. - if ((preloader.width > maxImageWidth) || (preloader.height > maxImageHeight)) { - if ((preloader.width / maxImageWidth) > (preloader.height / maxImageHeight)) { - imageWidth = maxImageWidth; - imageHeight = parseInt(preloader.height / (preloader.width / imageWidth), 10); - $image.width(imageWidth); - $image.height(imageHeight); - } else { - imageHeight = maxImageHeight; - imageWidth = parseInt(preloader.width / (preloader.height / imageHeight), 10); - $image.width(imageWidth); - $image.height(imageHeight); - } - } - } - - self.sizeContainer($image.width(), $image.height()); - }; - - // Preload image before showing - preloader.src = this.album[imageNumber].link; - this.currentImageIndex = imageNumber; - }; - - // Stretch overlay to fit the viewport - Lightbox.prototype.sizeOverlay = function() { - var self = this; - /* - We use a setTimeout 0 to pause JS execution and let the rendering catch-up. - Why do this? If the `disableScrolling` option is set to true, a class is added to the body - tag that disables scrolling and hides the scrollbar. We want to make sure the scrollbar is - hidden before we measure the document width, as the presence of the scrollbar will affect the - number. - */ - setTimeout(function() { - self.$overlay - .width($(document).width()) - .height($(document).height()); - - }, 0); - }; - - // Animate the size of the lightbox to fit the image we are showing - // This method also shows the the image. - Lightbox.prototype.sizeContainer = function(imageWidth, imageHeight) { - var self = this; - - var oldWidth = this.$outerContainer.outerWidth(); - var oldHeight = this.$outerContainer.outerHeight(); - var newWidth = imageWidth + this.containerPadding.left + this.containerPadding.right + this.imageBorderWidth.left + this.imageBorderWidth.right; - var newHeight = imageHeight + this.containerPadding.top + this.containerPadding.bottom + this.imageBorderWidth.top + this.imageBorderWidth.bottom; - - function postResize() { - self.$lightbox.find('.lb-dataContainer').width(newWidth); - self.$lightbox.find('.lb-prevLink').height(newHeight); - self.$lightbox.find('.lb-nextLink').height(newHeight); - - // Set focus on one of the two root nodes so keyboard events are captured. - self.$overlay.trigger('focus'); - - self.showImage(); - } - - if (oldWidth !== newWidth || oldHeight !== newHeight) { - this.$outerContainer.animate({ - width: newWidth, - height: newHeight - }, this.options.resizeDuration, 'swing', function() { - postResize(); - }); - } else { - postResize(); - } - }; - - // Display the image and its details and begin preload neighboring images. - Lightbox.prototype.showImage = function() { - this.$lightbox.find('.lb-loader').stop(true).hide(); - this.$lightbox.find('.lb-image').fadeIn(this.options.imageFadeDuration); - - this.updateNav(); - this.updateDetails(); - this.preloadNeighboringImages(); - this.enableKeyboardNav(); - }; - - // Display previous and next navigation if appropriate. - Lightbox.prototype.updateNav = function() { - // Check to see if the browser supports touch events. If so, we take the conservative approach - // and assume that mouse hover events are not supported and always show prev/next navigation - // arrows in image sets. - var alwaysShowNav = false; - try { - document.createEvent('TouchEvent'); - alwaysShowNav = (this.options.alwaysShowNavOnTouchDevices) ? true : false; - } catch (e) {} - - this.$lightbox.find('.lb-nav').show(); - - if (this.album.length > 1) { - if (this.options.wrapAround) { - if (alwaysShowNav) { - this.$lightbox.find('.lb-prev, .lb-next').css('opacity', '1'); - } - this.$lightbox.find('.lb-prev, .lb-next').show(); - } else { - if (this.currentImageIndex > 0) { - this.$lightbox.find('.lb-prev').show(); - if (alwaysShowNav) { - this.$lightbox.find('.lb-prev').css('opacity', '1'); - } - } - if (this.currentImageIndex < this.album.length - 1) { - this.$lightbox.find('.lb-next').show(); - if (alwaysShowNav) { - this.$lightbox.find('.lb-next').css('opacity', '1'); - } - } - } - } - }; - - // Display caption, image number, and closing button. - Lightbox.prototype.updateDetails = function() { - var self = this; - - // Enable anchor clicks in the injected caption html. - // Thanks Nate Wright for the fix. @https://github.com/NateWr - if (typeof this.album[this.currentImageIndex].title !== 'undefined' && - this.album[this.currentImageIndex].title !== '') { - var $caption = this.$lightbox.find('.lb-caption'); - if (this.options.sanitizeTitle) { - $caption.text(this.album[this.currentImageIndex].title); - } else { - $caption.html(this.album[this.currentImageIndex].title); - } - $caption.fadeIn('fast'); - } - - if (this.album.length > 1 && this.options.showImageNumberLabel) { - var labelText = this.imageCountLabel(this.currentImageIndex + 1, this.album.length); - this.$lightbox.find('.lb-number').text(labelText).fadeIn('fast'); - } else { - this.$lightbox.find('.lb-number').hide(); - } - - this.$outerContainer.removeClass('animating'); - - this.$lightbox.find('.lb-dataContainer').fadeIn(this.options.resizeDuration, function() { - return self.sizeOverlay(); - }); - }; - - // Preload previous and next images in set. - Lightbox.prototype.preloadNeighboringImages = function() { - if (this.album.length > this.currentImageIndex + 1) { - var preloadNext = new Image(); - preloadNext.src = this.album[this.currentImageIndex + 1].link; - } - if (this.currentImageIndex > 0) { - var preloadPrev = new Image(); - preloadPrev.src = this.album[this.currentImageIndex - 1].link; - } - }; - - Lightbox.prototype.enableKeyboardNav = function() { - this.$lightbox.on('keyup.keyboard', $.proxy(this.keyboardAction, this)); - this.$overlay.on('keyup.keyboard', $.proxy(this.keyboardAction, this)); - }; - - Lightbox.prototype.disableKeyboardNav = function() { - this.$lightbox.off('.keyboard'); - this.$overlay.off('.keyboard'); - }; - - Lightbox.prototype.keyboardAction = function(event) { - var KEYCODE_ESC = 27; - var KEYCODE_LEFTARROW = 37; - var KEYCODE_RIGHTARROW = 39; - - var keycode = event.keyCode; - if (keycode === KEYCODE_ESC) { - // Prevent bubbling so as to not affect other components on the page. - event.stopPropagation(); - this.end(); - } else if (keycode === KEYCODE_LEFTARROW) { - if (this.currentImageIndex !== 0) { - this.changeImage(this.currentImageIndex - 1); - } else if (this.options.wrapAround && this.album.length > 1) { - this.changeImage(this.album.length - 1); - } - } else if (keycode === KEYCODE_RIGHTARROW) { - if (this.currentImageIndex !== this.album.length - 1) { - this.changeImage(this.currentImageIndex + 1); - } else if (this.options.wrapAround && this.album.length > 1) { - this.changeImage(0); - } - } - }; - - // Closing time. :-( - Lightbox.prototype.end = function() { - this.disableKeyboardNav(); - $(window).off('resize', this.sizeOverlay); - this.$lightbox.fadeOut(this.options.fadeDuration); - this.$overlay.fadeOut(this.options.fadeDuration); - - if (this.options.disableScrolling) { - $('body').removeClass('lb-disable-scrolling'); - } - }; - - return new Lightbox(); -})); diff --git a/docs/stylesheets/lightbox.css b/docs/stylesheets/lightbox.css deleted file mode 100644 index 5f98e229d..000000000 --- a/docs/stylesheets/lightbox.css +++ /dev/null @@ -1,204 +0,0 @@ -body.lb-disable-scrolling { - overflow: hidden; -} - -.lightboxOverlay { - position: absolute; - top: 0; - left: 0; - z-index: 9999; - background-color: black; - filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80); - opacity: 0.8; - display: none; -} - -.lightbox { - position: absolute; - left: 0; - width: 100%; - z-index: 10000; - text-align: center; - line-height: 0; - font-weight: normal; - outline: none; -} - -.lightbox .lb-image { - display: block; - height: auto; - max-width: inherit; - max-height: none; - border-radius: 3px; - - /* Image border */ - border: 4px solid white; -} - -.lightbox a img { - border: none; -} - -.lb-outerContainer { - position: relative; - zoom: 1; - width: 250px; - height: 250px; - margin: 0 auto; - border-radius: 4px; - - /* Background color behind image. - This is visible during transitions. */ - background-color: white; -} - -.lb-outerContainer:after { - content: ""; - display: table; - clear: both; -} - -.lb-loader { - position: absolute; - top: 43%; - left: 0; - height: 25%; - width: 100%; - text-align: center; - line-height: 0; -} - -.lb-cancel { - display: block; - width: 32px; - height: 32px; - margin: 0 auto; - background: url(../images/loading.gif) no-repeat; -} - -.lb-nav { - position: absolute; - top: 0; - left: 0; - height: 100%; - width: 100%; - z-index: 10; -} - -.lb-container > .nav { - left: 0; -} - -.lb-nav a { - outline: none; - background-image: url('data:image/gif;base64,R0lGODlhAQABAPAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw=='); -} - -.lb-prev, .lb-next { - height: 100%; - cursor: pointer; - display: block; -} - -.lb-nav a.lb-prev { - width: 34%; - left: 0; - float: left; - background: url(../images/prev.png) left 48% no-repeat; - filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0); - opacity: 0; - -webkit-transition: opacity 0.6s; - -moz-transition: opacity 0.6s; - -o-transition: opacity 0.6s; - transition: opacity 0.6s; -} - -.lb-nav a.lb-prev:hover { - filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100); - opacity: 1; -} - -.lb-nav a.lb-next { - width: 64%; - right: 0; - float: right; - background: url(../images/next.png) right 48% no-repeat; - filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0); - opacity: 0; - -webkit-transition: opacity 0.6s; - -moz-transition: opacity 0.6s; - -o-transition: opacity 0.6s; - transition: opacity 0.6s; -} - -.lb-nav a.lb-next:hover { - filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100); - opacity: 1; -} - -.lb-dataContainer { - margin: 0 auto; - padding-top: 5px; - zoom: 1; - width: 100%; - border-bottom-left-radius: 4px; - border-bottom-right-radius: 4px; -} - -.lb-dataContainer:after { - content: ""; - display: table; - clear: both; -} - -.lb-data { - padding: 0 4px; - color: #ccc; -} - -.lb-data .lb-details { - width: 85%; - float: left; - text-align: left; - line-height: 1.1em; -} - -.lb-data .lb-caption { - font-size: 13px; - font-weight: bold; - line-height: 1em; -} - -.lb-data .lb-caption a { - color: #4ae; -} - -.lb-data .lb-number { - display: block; - clear: left; - padding-bottom: 1em; - font-size: 12px; - color: #999999; -} - -.lb-data .lb-close { - display: block; - float: right; - width: 30px; - height: 30px; - background: url(../images/close.png) top right no-repeat; - text-align: right; - outline: none; - filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70); - opacity: 0.7; - -webkit-transition: opacity 0.2s; - -moz-transition: opacity 0.2s; - -o-transition: opacity 0.2s; - transition: opacity 0.2s; -} - -.lb-data .lb-close:hover { - cursor: pointer; - filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100); - opacity: 1; -} diff --git a/docs/waline.md b/docs/waline.md index c7e9f3e68..1fd980ba8 100644 --- a/docs/waline.md +++ b/docs/waline.md @@ -7,10 +7,45 @@ hide: - feedback --- +# 畅所欲言 !!!bug - 评论区需要刷新才能使用,正在修复中 -# 畅所欲言 + + + + + + + + + @@ -23,7 +58,7 @@ hide: twikoo.init({ envId: 'https://superb-salamander-e730b6.netlify.app/.netlify/functions/twikoo', // 腾讯云环境填 envId;Vercel 环境填地址(https://xxx.vercel.app) el: '#tcomment', // 容器元素 - region: 'ap-guangzhou', // 环境地域,默认为 ap-shanghai,腾讯云环境填 ap-shanghai 或 ap-guangzhou;Vercel 环境不填 + //region: 'ap-guangzhou', // 环境地域,默认为 ap-shanghai,腾讯云环境填 ap-shanghai 或 ap-guangzhou;Vercel 环境不填 // path: location.pathname, // 用于区分不同文章的自定义 js 路径,如果您的文章路径不是 location.pathname,需传此参数 lang: 'zh-CN', // 用于手动设定评论区语言,支持的语言列表 https://github.com/twikoojs/twikoo/blob/main/src/client/utils/i18n/index.js onCommentLoaded: function () { @@ -31,7 +66,8 @@ twikoo.init({ } }) - + + *** @@ -87,5 +123,3 @@ twikoo.init({ async> --> - - diff --git a/site/404.html b/site/404.html index 7031923df..ec0e49db0 100644 --- a/site/404.html +++ b/site/404.html @@ -83,7 +83,7 @@ - + @@ -137,7 +137,7 @@ - +