mirror of https://github.com/joplin/website.git
1 line
5.2 KiB
JavaScript
1 line
5.2 KiB
JavaScript
(()=>{"use strict";var t={4326:function(t,e,n){var o=this&&this.__awaiter||function(t,e,n,o){return new(n||(n=Promise))((function(i,r){function u(t){try{a(o.next(t))}catch(t){r(t)}}function l(t){try{a(o.throw(t))}catch(t){r(t)}}function a(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(u,l)}a((o=o.apply(t,e||[])).next())}))},i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const r=i(n(791)),u=i(n(3137));window.addEventListener("DOMContentLoaded",(()=>o(void 0,void 0,void 0,(function*(){(0,u.default)(yield(0,r.default)())}))))},3137:function(t,e,n){var o=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const i=o(n(9388));e.default=t=>{const e=document.querySelectorAll("a#plugin-download-link"),n=document.querySelectorAll("#plugin-title"),o=(0,i.default)(location.href);let r=null,u=null;o.pluginId&&(u=o.pluginId,r=t.pluginFromId(o.pluginId)),r||console.warn("Invalid plugin ID.");const l="Error: Invalid plugin ID, "+u;for(const n of e)if(r){const e=t.getReleaseDownloadLink(r);n.setAttribute("href",e)}else n.innerText=l;for(const t of n){let e=l;r&&(e=r.name),t.replaceChildren(document.createTextNode(e))}}},6323:function(t,e){var n=this&&this.__awaiter||function(t,e,n,o){return new(n||(n=Promise))((function(i,r){function u(t){try{a(o.next(t))}catch(t){r(t)}}function l(t){try{a(o.throw(t))}catch(t){r(t)}}function a(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(u,l)}a((o=o.apply(t,e||[])).next())}))};Object.defineProperty(e,"__esModule",{value:!0});class o{constructor(t,e){this.rawPlugins=t,this.siteRoot=e,this.allPlugins=Object.values(t)}isRecommended(t){var e;return t in this.rawPlugins&&null!==(e=this.rawPlugins[t]._recommended)&&void 0!==e&&e}pluginFromId(t){return t in this.rawPlugins?this.rawPlugins[t]:null}getLinkToPlugin(t){return this.siteRoot+"/plugin/"+t.id}getCorsDownloadLink(t){return`https://raw.githubusercontent.com/joplin/plugins/master/plugins/${t.id}/plugin.jpl`}getReleaseDownloadLink(t){var e;return`https://github.com/joplin/plugins/releases/download/plugins/${t.id}@${null!==(e=t.version)&&void 0!==e?e:0}.jpl`}getNPMLink(t){return`https://www.npmjs.com/package/${t._npm_package_name}`}getWeeksSinceUpdated(t){return((new Date).getTime()-new Date(t.timeModified).getTime())/1e3/60/60/24/7}search(t,e){const n=(()=>{var n,o;let i=t;const r=(t,e)=>{const n=new RegExp(`^(.*\\s+|)${t}[=:]\\s*(${e})(.*)$`),o=i.match(n);let r=null;if(o){const t=o[1];r=o[2];const e=o[3];i=t+e}return r},u=t=>{let e=r(t,'"[^"]+"|[^" \\t;,]+');return e&&e.match(/^["].*["]$/)&&(e=e.replace(/^"/g,"").replace(/"$/g,"").replace(/[&]quo;/g,'"')),e},l=null!==(n=(t=>{const e=r("max-results","\\d+");return e?parseInt(e):null})())&&void 0!==n?n:e;return{onlyShowFromAuthor:u("author"),onlyShowForMaintainers:null===(o=u("maintainer"))||void 0===o?void 0:o.split(/\sOR\s/),maxResults:l,newQuery:i}})(),o=n.maxResults;t=n.newQuery.toLowerCase().trim();const i=(t,e)=>e.includes(t),r=e=>{if(e=e.toLowerCase(),i(t,e))return{quality:2};const n=((t,e)=>{const n=t.split(/\s+/);let o=0;for(const t of n)o+=i(t,e)?1:0;return o})(t,e);return n>0?{quality:n/(t.split(/\s+/).length||1)}:null},u=e=>{const n=r(e.name),o=r(e.description),i=r(e.author),u=t===e.id;if(!(n||o||u||i))return 0;let l=0;u&&(l+=10),n&&(l+=10*n.quality),e.name.toLowerCase()===t&&(l+=5),i&&(l++,e.author.toLowerCase()===t&&(l+=20)),o&&(l+=2*o.quality),this.isRecommended(e.id)&&(l*=2);const a=this.getWeeksSinceUpdated(e);return a<=12?l*=1.15:isNaN(a)||(l+=1/a),l},l=this.allPlugins.filter((t=>!n.onlyShowFromAuthor||t.author===n.onlyShowFromAuthor)).filter((t=>{if(!n.onlyShowForMaintainers)return!0;for(const e of n.onlyShowForMaintainers)if(t._npm_package_maintainers.includes(e))return!0;return!1})).filter((t=>u(t)>0));return l.sort(((t,e)=>u(e)-u(t))),l.slice(0,Math.min(o,l.length))}static fromURL(t,e){return n(this,void 0,void 0,(function*(){const n=yield fetch(t),i=yield n.json();return new o(i,e)}))}static fromData(t){return new o(t.plugins.raw,t.config.site)}}e.default=o},791:function(t,e,n){var o=this&&this.__awaiter||function(t,e,n,o){return new(n||(n=Promise))((function(i,r){function u(t){try{a(o.next(t))}catch(t){r(t)}}function l(t){try{a(o.throw(t))}catch(t){r(t)}}function a(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(u,l)}a((o=o.apply(t,e||[])).next())}))},i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const r=i(n(6323)),u=document.querySelector("#site-root").innerText;e.default=()=>o(void 0,void 0,void 0,(function*(){var t;const e=window;return null!==(t=e.pluginDataManager)&&void 0!==t||(e.pluginDataManager=yield r.default.fromURL(`${u}/pluginData.json`,u)),e.pluginDataManager}))},9388:(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default=t=>{const e=t.match(/\?(?:plugin|id)=([^,?#/]+)[^/]*$/),n=t.match(/\?from-tab=([^,?#/]+)[^/]*$/);return{fromTab:n?n[1].replace(/\W/g,"-"):null,pluginId:e?e[1]:null}}}},e={};!function n(o){var i=e[o];if(void 0!==i)return i.exports;var r=e[o]={exports:{}};return t[o].call(r.exports,r,r.exports,n),r.exports}(4326)})(); |