-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathorderlist.min.js
More file actions
24 lines (20 loc) · 6.95 KB
/
orderlist.min.js
File metadata and controls
24 lines (20 loc) · 6.95 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
function rmurl(e,t){var r=new RegExp(/\?m=0|&m=0|\?m=1|&m=1/g);return r.test(e)&&(e=e.replace(r,""),t&&window.history.replaceState({},document.title,e)),e}const currentUrl=rmurl(location.toString(),!0);
//olderlist
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).BloggerPager=e()}(this,(function(){"use strict";const t={pagerSelector:"#blog-pager",numberSelector:"#pager-numbers",numberClass:"pager-item",dotsClass:"pager-dots",activeClass:"is-active",totalVisibleNumbers:6,checkForUpdates:!0,enableDotsJump:!0,byDate:"false",maxResults:null,query:null,label:null,start:null,updatedMax:null};function e({config:t,currentPage:e,totalPages:n}){const{totalVisibleNumbers:a,activeClass:s}=t,r=function({currentPage:t,totalPages:e,totalVisibleNumbers:n}){const a=e,s=Math.floor(n/2);let r=Math.max(t-s,1),o=Math.min(r+n-1,a);return a<=n?(r=1,o=a):t<=s?(r=1,o=n):t>=a-s&&(r=a-n+1,o=a),Array.from({length:o-r+1},((t,e)=>r+e))}({currentPage:e,totalVisibleNumbers:a,totalPages:n}),o=Math.floor(a/2),l=t=>({number:t,isDots:!0}),u=r.map((t=>({number:t,activeClass:t===e?s:""})));if(e>1&&!r.includes(1)){const t=l(Math.max(r[0]+1-o,1)),e={number:1,activeClass:""};u.unshift(t),u.unshift(e)}if(e<n&&!r.includes(n)){const t=l(Math.min(r[r.length-1]+o,n)),e={number:n,activeClass:""};u.push(t),u.push(e)}return u}function n(t){const e=t.trim(),n={true:!0,false:!1,null:null};return e in n?n[e]:isNaN(e)?""===e?null:e:Number(e)}function a(t){const e=t.searchParams,n=t.pathname,a=Object.fromEntries(["max-results","by-date","updated-max","start","q"].map((t=>{const n="q"===t?"query":t.replace(/-([a-z])/g,((t,e)=>e.toUpperCase()));const a=e.get(t);return null!==a?[n,a]:null})).filter(Boolean)),s=(r=n).includes("/search/label/")?r.split("/").pop():null;var r;return s&&(a.label=s),a}function s({dataset:t={}}={}){return Object.fromEntries(["numberClass","dotsClass","activeClass","totalVisibleNumbers","checkForUpdates","enableDotsJump"].filter((e=>void 0!==t[e])).map((e=>[e,n(t[e])])))}function r(t){const e=Array.from(t.querySelectorAll("a")).find((t=>t.href.includes("max-results=")));if(!e)return{};const n=new URL(e.href).searchParams.get("max-results");return{maxResults:Number(n)}}const o="bloggerPagination";function l(){try{const t=localStorage.getItem(o);return t?JSON.parse(t):{}}catch(t){return console.warn("Invalid localStorage data, resetting cache",t),localStorage.removeItem(o),{}}}function u(t){let e=5381;for(let n=0;n<t.length;n++)e=33*e^t.charCodeAt(n);return(e>>>0).toString(36)}function i(t=null,e=null){return t?`query${u(t)}`:e?`label${u(e)}`:"all"}function c(t,e=null,n=null){const a=i(e,n),s=l();s[a]=t,localStorage.setItem(o,JSON.stringify(s))}function m(t=null,e=null){const n=i(t,e);return l()[n]||{totalPosts:0,postDates:[],blogUpdated:null}}function f(t,e){return Math.ceil(Number(t)/e)}function g({config:t,number:e,postDates:n}){const{homeUrl:a,label:s,query:r,maxResults:o,byDate:l}=t;if(1===e)return function({homeUrl:t,label:e,query:n,maxResults:a,byDate:s}){return e?`${t}/search/label/${e}?max-results=${a}`:n?`${t}/search?q=${n}&max-results=${a}&by-date=${s}`:t}({homeUrl:a,label:s,query:r,maxResults:o,byDate:l});const u=function(t,e,n){const a=(t-1)*n-1;return Array.isArray(e)&&e[a]?encodeURIComponent(e[a]):null}(e,n,o);return u?`${a}${function(t,e){return t?`/search/label/${t}?`:e?`/search?q=${e}&`:"/search?"}(s,r)}updated-max=${u}&max-results=${o}&start=${(e-1)*o}&by-date=${l}`:"#fetching"}function p({config:t,paginationData:n,postDates:a}){if(!n.length)return;const{numberContainer:s,numberClass:r,dotsClass:o,enableDotsJump:l}=t,u=document.createDocumentFragment(),i=n=>{const s=document.createElement(l?"button":"span");return s.className=o,s.textContent="...",s.dataset.page=n,l&&s.addEventListener("click",(s=>{s.preventDefault(),function({config:t,postDates:n,pageNumber:a}){const{maxResults:s}=t;p({config:t,paginationData:e({config:t,currentPage:a,totalPages:f(n.length,s)}),postDates:n})}({config:t,postDates:a,pageNumber:n})})),s};n.forEach((e=>{u.appendChild(e.isDots?i(e.number):(({number:e,activeClass:n})=>{const s=document.createElement("a");return s.className=`${r} ${n}`.trim(),s.textContent=e,s.href=g({config:t,number:e,postDates:a}),s})(e))})),s.innerHTML="",s.appendChild(u)}function h({config:t,totalPosts:n,postDates:a}){const{maxResults:s}=t,r=f(n,s),o=function({config:t,postDates:e}){const{query:n,maxResults:a,updatedMax:s,start:r}=t;if(!s&&!r)return 1;const o=e.filter(((t,e)=>(e+1)%a==0)).indexOf(s);return(r&&n?Math.ceil(r/a)+1:null)??(-1!==o?o+2:null)??1}({config:t,postDates:a});p({config:t,paginationData:e({config:t,currentPage:o,totalPages:r}),postDates:a})}return class{constructor(e={}){this.currentUrl=new URL(window.location.href),this.config={...t,...e,...a(this.currentUrl),homeUrl:this.currentUrl.origin},this.pagerContainer=document.querySelector(this.config.pagerSelector),this.numberContainer=document.querySelector(this.config.numberSelector)}async init(){if(!this.pagerContainer||!this.numberContainer)return;const{query:t,label:e,homeUrl:n}=this.config,a=m(t,e),{totalPosts:o,blogUpdated:l,postDates:u}=a,i={...this.config,...r(this.pagerContainer),...s(this.pagerContainer),numberContainer:this.numberContainer},f=i.checkForUpdates,g=o&&u.length;if(g&&h({config:i,totalPosts:o,postDates:u}),g&&!f)return void(i.maxResults>=o&&this.pagerContainer.remove());const p=await async function({homeUrl:t,query:e,label:n}){const a=`${t}/feeds/posts/summary/${n?`-/${n}?`:"?"}alt=json&max-results=0`,s=await fetch(a),r=await s.json(),o=Number(r.feed.openSearch$totalResults.$t),l=r.feed.updated.$t,u=m(e,n);return e||(u.totalPosts=o),u.blogUpdated=l,c(u,e,n),{totalPosts:o,blogUpdated:l}}({homeUrl:n,query:t,label:e});if(p.blogUpdated!==l||!u.length){const t=await async function({config:t,totalPosts:e}){const{homeUrl:n,query:a,label:s,byDate:r}=t;if(0===e)return[];const o=Math.ceil(e/150);let l=0;const u=Array.from({length:o},((t,e)=>fetch(`${n}/feeds/posts/summary/${a?`?q=${a}&orderby=${!1===r?"relevance":"published"}&`:s?`-/${s}?`:"?"}alt=json&max-results=150&start-index=${150*e+1}`).then((t=>t.json())))),i=(await Promise.all(u)).flatMap((t=>(a&&(l+=Number(t.feed.openSearch$totalResults.$t)),t.feed.entry?.map((t=>t.published.$t.replace(/\.\d+/,"")))||[]))),f=m(a,s);return f.postDates=i,a&&(f.totalPosts=l),c(f,a,s),{totalPosts:a?l:e,postDates:i}}({config:i,totalPosts:p.totalPosts});h({config:i,totalPosts:t.totalPosts,postDates:t.postDates})}i.maxResults>=(o||p.totalPosts)&&this.pagerContainer.remove()}}}));
/*(function() {
var s = document.createElement('script');
s.src = 'https://acscdn.com/script/aclib.js';
s.type = 'text/javascript';
s.id = 'aclib';
s.async = true;
s.defer = true;
s.onload = function() {
if (typeof aclib !== 'undefined' && typeof aclib.runAutoTag === 'function') {
aclib.runAutoTag({
zoneId: 'cadui3puqk',
});
}
};
var x = document.getElementsByTagName('script')[0];
x.parentNode.insertBefore(s, x);
})();*/