al_search 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/CHANGELOG.md +5 -0
- data/LICENSE +20 -0
- data/README.md +22 -0
- data/lib/al_search.rb +56 -0
- data/lib/assets/al_search/js/search/base-styles.min.js +286 -0
- data/lib/assets/al_search/js/search/command-score.min.js +7 -0
- data/lib/assets/al_search/js/search/hotkeys-js/hotkeys.esm.min.js +18 -0
- data/lib/assets/al_search/js/search/lit/decorators.min.js +7 -0
- data/lib/assets/al_search/js/search/lit/directives/class-map.min.js +7 -0
- data/lib/assets/al_search/js/search/lit/directives/join.min.js +7 -0
- data/lib/assets/al_search/js/search/lit/directives/live.min.js +7 -0
- data/lib/assets/al_search/js/search/lit/directives/ref.min.js +7 -0
- data/lib/assets/al_search/js/search/lit/directives/repeat.min.js +7 -0
- data/lib/assets/al_search/js/search/lit/directives/unsafe-html.min.js +7 -0
- data/lib/assets/al_search/js/search/lit/index.min.js +7 -0
- data/lib/assets/al_search/js/search/lit-element/lit-element.min.js +12 -0
- data/lib/assets/al_search/js/search/lit-html/directives/class-map.min.js +22 -0
- data/lib/assets/al_search/js/search/lit-html/directives/join.min.js +12 -0
- data/lib/assets/al_search/js/search/lit-html/directives/live.min.js +28 -0
- data/lib/assets/al_search/js/search/lit-html/directives/ref.min.js +32 -0
- data/lib/assets/al_search/js/search/lit-html/directives/repeat.min.js +27 -0
- data/lib/assets/al_search/js/search/lit-html/directives/unsafe-html.min.js +22 -0
- data/lib/assets/al_search/js/search/lit-html/is-server.min.js +12 -0
- data/lib/assets/al_search/js/search/lit-html/lit-html.min.js +12 -0
- data/lib/assets/al_search/js/search/ninja-action.min.js +101 -0
- data/lib/assets/al_search/js/search/ninja-footer.min.js +62 -0
- data/lib/assets/al_search/js/search/ninja-header.min.js +78 -0
- data/lib/assets/al_search/js/search/ninja-keys.min.js +39 -0
- data/lib/assets/al_search/js/search/reactive-element/decorators/custom-element.min.js +12 -0
- data/lib/assets/al_search/js/search/reactive-element/decorators/event-options.min.js +12 -0
- data/lib/assets/al_search/js/search/reactive-element/decorators/property.min.js +22 -0
- data/lib/assets/al_search/js/search/reactive-element/decorators/query-all.min.js +17 -0
- data/lib/assets/al_search/js/search/reactive-element/decorators/query-assigned-elements.min.js +17 -0
- data/lib/assets/al_search/js/search/reactive-element/decorators/query-assigned-nodes.min.js +17 -0
- data/lib/assets/al_search/js/search/reactive-element/decorators/query-async.min.js +17 -0
- data/lib/assets/al_search/js/search/reactive-element/decorators/query.min.js +17 -0
- data/lib/assets/al_search/js/search/reactive-element/decorators/state.min.js +27 -0
- data/lib/assets/al_search/js/search/reactive-element/reactive-element.min.js +17 -0
- data/lib/assets/al_search/js/search-setup.js +17 -0
- data/lib/assets/al_search/js/shortcut-key.js +11 -0
- data/lib/templates/search-data.liquid.js +338 -0
- metadata +162 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bundled by jsDelivr using Rollup v2.79.1 and Terser v5.19.2.
|
|
3
|
+
* Original file: /npm/@lit/reactive-element@2.0.4/decorators/query.js
|
|
4
|
+
*
|
|
5
|
+
* Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* @license
|
|
9
|
+
* Copyright 2017 Google LLC
|
|
10
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
11
|
+
*/
|
|
12
|
+
const e=(e,t,r)=>(r.configurable=!0,r.enumerable=!0,Reflect.decorate&&"object"!=typeof t&&Object.defineProperty(e,t,r),r)
|
|
13
|
+
/**
|
|
14
|
+
* @license
|
|
15
|
+
* Copyright 2017 Google LLC
|
|
16
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
17
|
+
*/;function t(t,r){return(n,o,l)=>{const u=e=>e.renderRoot?.querySelector(t)??null;if(r){const{get:t,set:r}="object"==typeof o?n:l??(()=>{const e=Symbol();return{get(){return this[e]},set(t){this[e]=t}}})();return e(n,o,{get(){let e=t.call(this);return void 0===e&&(e=u(this),(null!==e||this.hasUpdated)&&r.call(this,e)),e}})}return e(n,o,{get(){return u(this)}})}}export{t as query};export default null;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bundled by jsDelivr using Rollup v2.79.1 and Terser v5.19.2.
|
|
3
|
+
* Original file: /npm/@lit/reactive-element@2.0.4/decorators/state.js
|
|
4
|
+
*
|
|
5
|
+
* Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* @license
|
|
9
|
+
* Copyright 2019 Google LLC
|
|
10
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
11
|
+
*/
|
|
12
|
+
const t=globalThis,e=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,s=Symbol(),i=new WeakMap;class r{constructor(t,e,i){if(this._$cssResult$=!0,i!==s)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const s=this.t;if(e&&void 0===t){const e=void 0!==s&&1===s.length;e&&(t=i.get(s)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&i.set(s,t))}return t}toString(){return this.cssText}}const o=t=>new r("string"==typeof t?t:t+"",void 0,s),n=(s,i)=>{if(e)s.adoptedStyleSheets=i.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet));else for(const e of i){const i=document.createElement("style"),r=t.litNonce;void 0!==r&&i.setAttribute("nonce",r),i.textContent=e.cssText,s.appendChild(i)}},a=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e="";for(const s of t.cssRules)e+=s.cssText;return o(e)})(t):t
|
|
13
|
+
/**
|
|
14
|
+
* @license
|
|
15
|
+
* Copyright 2017 Google LLC
|
|
16
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
17
|
+
*/;const{is:h,defineProperty:c,getOwnPropertyDescriptor:l,getOwnPropertyNames:d,getOwnPropertySymbols:p,getPrototypeOf:u}=Object,f=globalThis,y=f.trustedTypes,E=y?y.emptyScript:"",_=f.reactiveElementPolyfillSupport,m=(t,e)=>t,S={toAttribute(t,e){switch(e){case Boolean:t=t?E:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,e){let s=t;switch(e){case Boolean:s=null!==t;break;case Number:s=null===t?null:Number(t);break;case Object:case Array:try{s=JSON.parse(t)}catch(t){s=null}}return s}},$=(t,e)=>!h(t,e),g={attribute:!0,type:String,converter:S,reflect:!1,hasChanged:$};Symbol.metadata??=Symbol("metadata"),f.litPropertyMetadata??=new WeakMap;class b extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,e=g){if(e.state&&(e.attribute=!1),this._$Ei(),this.elementProperties.set(t,e),!e.noAccessor){const s=Symbol(),i=this.getPropertyDescriptor(t,s,e);void 0!==i&&c(this.prototype,t,i)}}static getPropertyDescriptor(t,e,s){const{get:i,set:r}=l(this.prototype,t)??{get(){return this[e]},set(t){this[e]=t}};return{get(){return i?.call(this)},set(e){const o=i?.call(this);r.call(this,e),this.requestUpdate(t,o,s)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??g}static _$Ei(){if(this.hasOwnProperty(m("elementProperties")))return;const t=u(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(m("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(m("properties"))){const t=this.properties,e=[...d(t),...p(t)];for(const s of e)this.createProperty(s,t[s])}const t=this[Symbol.metadata];if(null!==t){const e=litPropertyMetadata.get(t);if(void 0!==e)for(const[t,s]of e)this.elementProperties.set(t,s)}this._$Eh=new Map;for(const[t,e]of this.elementProperties){const s=this._$Eu(t,e);void 0!==s&&this._$Eh.set(s,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(t){const e=[];if(Array.isArray(t)){const s=new Set(t.flat(1/0).reverse());for(const t of s)e.unshift(a(t))}else void 0!==t&&e.push(a(t));return e}static _$Eu(t,e){const s=e.attribute;return!1===s?void 0:"string"==typeof s?s:"string"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((t=>t(this)))}addController(t){(this._$EO??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){const t=new Map,e=this.constructor.elementProperties;for(const s of e.keys())this.hasOwnProperty(s)&&(t.set(s,this[s]),delete this[s]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return n(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach((t=>t.hostConnected?.()))}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach((t=>t.hostDisconnected?.()))}attributeChangedCallback(t,e,s){this._$AK(t,s)}_$EC(t,e){const s=this.constructor.elementProperties.get(t),i=this.constructor._$Eu(t,s);if(void 0!==i&&!0===s.reflect){const r=(void 0!==s.converter?.toAttribute?s.converter:S).toAttribute(e,s.type);this._$Em=t,null==r?this.removeAttribute(i):this.setAttribute(i,r),this._$Em=null}}_$AK(t,e){const s=this.constructor,i=s._$Eh.get(t);if(void 0!==i&&this._$Em!==i){const t=s.getPropertyOptions(i),r="function"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:S;this._$Em=i,this[i]=r.fromAttribute(e,t.type),this._$Em=null}}requestUpdate(t,e,s){if(void 0!==t){if(s??=this.constructor.getPropertyOptions(t),!(s.hasChanged??$)(this[t],e))return;this.P(t,e,s)}!1===this.isUpdatePending&&(this._$ES=this._$ET())}P(t,e,s){this._$AL.has(t)||this._$AL.set(t,e),!0===s.reflect&&this._$Em!==t&&(this._$Ej??=new Set).add(t)}async _$ET(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,e]of this._$Ep)this[t]=e;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[e,s]of t)!0!==s.wrapped||this._$AL.has(e)||void 0===this[e]||this.P(e,this[e],s)}let t=!1;const e=this._$AL;try{t=this.shouldUpdate(e),t?(this.willUpdate(e),this._$EO?.forEach((t=>t.hostUpdate?.())),this.update(e)):this._$EU()}catch(e){throw t=!1,this._$EU(),e}t&&this._$AE(e)}willUpdate(t){}_$AE(t){this._$EO?.forEach((t=>t.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EU(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Ej&&=this._$Ej.forEach((t=>this._$EC(t,this[t]))),this._$EU()}updated(t){}firstUpdated(t){}}b.elementStyles=[],b.shadowRootOptions={mode:"open"},b[m("elementProperties")]=new Map,b[m("finalized")]=new Map,_?.({ReactiveElement:b}),(f.reactiveElementVersions??=[]).push("2.0.4");
|
|
18
|
+
/**
|
|
19
|
+
* @license
|
|
20
|
+
* Copyright 2017 Google LLC
|
|
21
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
22
|
+
*/const P={attribute:!0,type:String,converter:S,reflect:!1,hasChanged:$},v=(t=P,e,s)=>{const{kind:i,metadata:r}=s;let o=globalThis.litPropertyMetadata.get(r);if(void 0===o&&globalThis.litPropertyMetadata.set(r,o=new Map),o.set(s.name,t),"accessor"===i){const{name:i}=s;return{set(s){const r=e.get.call(this);e.set.call(this,s),this.requestUpdate(i,r,t)},init(e){return void 0!==e&&this.P(i,void 0,t),e}}}if("setter"===i){const{name:i}=s;return function(s){const r=this[i];e.call(this,s),this.requestUpdate(i,r,t)}}throw Error("Unsupported decorator location: "+i)};function w(t){return(e,s)=>"object"==typeof s?v(t,e,s):((t,e,s)=>{const i=e.hasOwnProperty(s);return e.constructor.createProperty(s,i?{...t,wrapped:!0}:t),i?Object.getOwnPropertyDescriptor(e,s):void 0})(t,e,s)
|
|
23
|
+
/**
|
|
24
|
+
* @license
|
|
25
|
+
* Copyright 2017 Google LLC
|
|
26
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
27
|
+
*/}function U(t){return w({...t,state:!0,attribute:!1})}export{U as state};export default null;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bundled by jsDelivr using Rollup v2.79.1 and Terser v5.19.2.
|
|
3
|
+
* Original file: /npm/@lit/reactive-element@2.0.4/reactive-element.js
|
|
4
|
+
*
|
|
5
|
+
* Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* @license
|
|
9
|
+
* Copyright 2019 Google LLC
|
|
10
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
11
|
+
*/
|
|
12
|
+
const t=globalThis,e=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,s=Symbol(),i=new WeakMap;class r{constructor(t,e,i){if(this._$cssResult$=!0,i!==s)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const s=this.t;if(e&&void 0===t){const e=void 0!==s&&1===s.length;e&&(t=i.get(s)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&i.set(s,t))}return t}toString(){return this.cssText}}const o=t=>new r("string"==typeof t?t:t+"",void 0,s),n=(t,...e)=>{const i=1===t.length?t[0]:e.reduce(((e,s,i)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if("number"==typeof t)return t;throw Error("Value passed to 'css' function must be a 'css' function result: "+t+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(s)+t[i+1]),t[0]);return new r(i,t,s)},a=(s,i)=>{if(e)s.adoptedStyleSheets=i.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet));else for(const e of i){const i=document.createElement("style"),r=t.litNonce;void 0!==r&&i.setAttribute("nonce",r),i.textContent=e.cssText,s.appendChild(i)}},h=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e="";for(const s of t.cssRules)e+=s.cssText;return o(e)})(t):t
|
|
13
|
+
/**
|
|
14
|
+
* @license
|
|
15
|
+
* Copyright 2017 Google LLC
|
|
16
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
17
|
+
*/;const{is:c,defineProperty:l,getOwnPropertyDescriptor:p,getOwnPropertyNames:d,getOwnPropertySymbols:u,getPrototypeOf:f}=Object,y=globalThis,S=y.trustedTypes,E=S?S.emptyScript:"",$=y.reactiveElementPolyfillSupport,_=(t,e)=>t,m={toAttribute(t,e){switch(e){case Boolean:t=t?E:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,e){let s=t;switch(e){case Boolean:s=null!==t;break;case Number:s=null===t?null:Number(t);break;case Object:case Array:try{s=JSON.parse(t)}catch(t){s=null}}return s}},g=(t,e)=>!c(t,e),b={attribute:!0,type:String,converter:m,reflect:!1,hasChanged:g};Symbol.metadata??=Symbol("metadata"),y.litPropertyMetadata??=new WeakMap;class v extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,e=b){if(e.state&&(e.attribute=!1),this._$Ei(),this.elementProperties.set(t,e),!e.noAccessor){const s=Symbol(),i=this.getPropertyDescriptor(t,s,e);void 0!==i&&l(this.prototype,t,i)}}static getPropertyDescriptor(t,e,s){const{get:i,set:r}=p(this.prototype,t)??{get(){return this[e]},set(t){this[e]=t}};return{get(){return i?.call(this)},set(e){const o=i?.call(this);r.call(this,e),this.requestUpdate(t,o,s)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??b}static _$Ei(){if(this.hasOwnProperty(_("elementProperties")))return;const t=f(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(_("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(_("properties"))){const t=this.properties,e=[...d(t),...u(t)];for(const s of e)this.createProperty(s,t[s])}const t=this[Symbol.metadata];if(null!==t){const e=litPropertyMetadata.get(t);if(void 0!==e)for(const[t,s]of e)this.elementProperties.set(t,s)}this._$Eh=new Map;for(const[t,e]of this.elementProperties){const s=this._$Eu(t,e);void 0!==s&&this._$Eh.set(s,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(t){const e=[];if(Array.isArray(t)){const s=new Set(t.flat(1/0).reverse());for(const t of s)e.unshift(h(t))}else void 0!==t&&e.push(h(t));return e}static _$Eu(t,e){const s=e.attribute;return!1===s?void 0:"string"==typeof s?s:"string"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((t=>t(this)))}addController(t){(this._$EO??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){const t=new Map,e=this.constructor.elementProperties;for(const s of e.keys())this.hasOwnProperty(s)&&(t.set(s,this[s]),delete this[s]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return a(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach((t=>t.hostConnected?.()))}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach((t=>t.hostDisconnected?.()))}attributeChangedCallback(t,e,s){this._$AK(t,s)}_$EC(t,e){const s=this.constructor.elementProperties.get(t),i=this.constructor._$Eu(t,s);if(void 0!==i&&!0===s.reflect){const r=(void 0!==s.converter?.toAttribute?s.converter:m).toAttribute(e,s.type);this._$Em=t,null==r?this.removeAttribute(i):this.setAttribute(i,r),this._$Em=null}}_$AK(t,e){const s=this.constructor,i=s._$Eh.get(t);if(void 0!==i&&this._$Em!==i){const t=s.getPropertyOptions(i),r="function"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:m;this._$Em=i,this[i]=r.fromAttribute(e,t.type),this._$Em=null}}requestUpdate(t,e,s){if(void 0!==t){if(s??=this.constructor.getPropertyOptions(t),!(s.hasChanged??g)(this[t],e))return;this.P(t,e,s)}!1===this.isUpdatePending&&(this._$ES=this._$ET())}P(t,e,s){this._$AL.has(t)||this._$AL.set(t,e),!0===s.reflect&&this._$Em!==t&&(this._$Ej??=new Set).add(t)}async _$ET(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,e]of this._$Ep)this[t]=e;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[e,s]of t)!0!==s.wrapped||this._$AL.has(e)||void 0===this[e]||this.P(e,this[e],s)}let t=!1;const e=this._$AL;try{t=this.shouldUpdate(e),t?(this.willUpdate(e),this._$EO?.forEach((t=>t.hostUpdate?.())),this.update(e)):this._$EU()}catch(e){throw t=!1,this._$EU(),e}t&&this._$AE(e)}willUpdate(t){}_$AE(t){this._$EO?.forEach((t=>t.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EU(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Ej&&=this._$Ej.forEach((t=>this._$EC(t,this[t]))),this._$EU()}updated(t){}firstUpdated(t){}}v.elementStyles=[],v.shadowRootOptions={mode:"open"},v[_("elementProperties")]=new Map,v[_("finalized")]=new Map,$?.({ReactiveElement:v}),(y.reactiveElementVersions??=[]).push("2.0.4");export{r as CSSResult,v as ReactiveElement,a as adoptStyles,n as css,m as defaultConverter,h as getCompatibleStyle,g as notEqual,e as supportsAdoptingStyleSheets,o as unsafeCSS};export default null;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
let searchTheme = determineComputedTheme();
|
|
2
|
+
const ninjaKeys = document.querySelector("ninja-keys");
|
|
3
|
+
|
|
4
|
+
if (searchTheme === "dark") {
|
|
5
|
+
ninjaKeys.classList.add("dark");
|
|
6
|
+
} else {
|
|
7
|
+
ninjaKeys.classList.remove("dark");
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
const openSearchModal = () => {
|
|
11
|
+
// collapse navbarNav if expanded on mobile
|
|
12
|
+
const $navbarNav = $("#navbarNav");
|
|
13
|
+
if ($navbarNav.hasClass("show")) {
|
|
14
|
+
$navbarNav.collapse("hide");
|
|
15
|
+
}
|
|
16
|
+
ninjaKeys.open();
|
|
17
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// Check if the user is on a Mac and update the shortcut key for search accordingly
|
|
2
|
+
document.addEventListener("readystatechange", () => {
|
|
3
|
+
if (document.readyState === "interactive") {
|
|
4
|
+
let isMac = navigator.platform.toUpperCase().indexOf("MAC") >= 0;
|
|
5
|
+
let shortcutKeyElement = document.querySelector("#search-toggle .nav-link");
|
|
6
|
+
if (shortcutKeyElement && isMac) {
|
|
7
|
+
// use the unicode for command key
|
|
8
|
+
shortcutKeyElement.innerHTML = '⌘ k <i class="fa-solid fa-magnifying-glass"></i>';
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
});
|
|
@@ -0,0 +1,338 @@
|
|
|
1
|
+
// get the ninja-keys element
|
|
2
|
+
const ninja = document.querySelector('ninja-keys');
|
|
3
|
+
|
|
4
|
+
// add the home and posts menu items
|
|
5
|
+
ninja.data = [
|
|
6
|
+
{%- for page in site.pages -%}
|
|
7
|
+
{%- if page.permalink == '/' -%}{%- assign about_title = page.title | strip -%}{%- endif -%}
|
|
8
|
+
{%- endfor -%}
|
|
9
|
+
{
|
|
10
|
+
id: "nav-{{ about_title | slugify }}",
|
|
11
|
+
title: "{{ about_title | truncatewords: 13 }}",
|
|
12
|
+
section: "Navigation",
|
|
13
|
+
handler: () => {
|
|
14
|
+
window.location.href = "{{ '/' | relative_url }}";
|
|
15
|
+
},
|
|
16
|
+
},
|
|
17
|
+
{%- assign sorted_pages = site.pages | sort: "nav_order" -%}
|
|
18
|
+
{%- for p in sorted_pages -%}
|
|
19
|
+
{%- if p.nav and p.autogen == null -%}
|
|
20
|
+
{%- if p.dropdown -%}
|
|
21
|
+
{%- for child in p.children -%}
|
|
22
|
+
{%- unless child.title == 'divider' -%}
|
|
23
|
+
{
|
|
24
|
+
{%- assign title = child.title | escape | strip -%}
|
|
25
|
+
{%- if child.permalink contains "/blog/" -%}{%- assign url = "/blog/" -%} {%- else -%}{%- assign url = child.permalink -%}{%- endif -%}
|
|
26
|
+
id: "dropdown-{{ title | slugify }}",
|
|
27
|
+
title: "{{ title | truncatewords: 13 }}",
|
|
28
|
+
description: "{{ child.description | strip_html | strip_newlines | escape | strip }}",
|
|
29
|
+
section: "Dropdown",
|
|
30
|
+
handler: () => {
|
|
31
|
+
window.location.href = "{{ url | relative_url }}";
|
|
32
|
+
},
|
|
33
|
+
},
|
|
34
|
+
{%- endunless -%}
|
|
35
|
+
{%- endfor -%}
|
|
36
|
+
|
|
37
|
+
{%- else -%}
|
|
38
|
+
{
|
|
39
|
+
{%- assign title = p.title | escape | strip -%}
|
|
40
|
+
{%- if p.permalink contains "/blog/" -%}{%- assign url = "/blog/" -%} {%- else -%}{%- assign url = p.url -%}{%- endif -%}
|
|
41
|
+
id: "nav-{{ title | slugify }}",
|
|
42
|
+
title: "{{ title | truncatewords: 13 }}",
|
|
43
|
+
description: "{{ p.description | strip_html | strip_newlines | escape | strip }}",
|
|
44
|
+
section: "Navigation",
|
|
45
|
+
handler: () => {
|
|
46
|
+
window.location.href = "{{ url | relative_url }}";
|
|
47
|
+
},
|
|
48
|
+
},
|
|
49
|
+
{%- endif -%}
|
|
50
|
+
{%- endif -%}
|
|
51
|
+
{%- endfor -%}
|
|
52
|
+
{%- if site.posts_in_search -%}
|
|
53
|
+
{%- for post in site.posts -%}
|
|
54
|
+
{
|
|
55
|
+
{%- assign title = post.title | escape | strip -%}
|
|
56
|
+
id: "post-{{ title | slugify }}",
|
|
57
|
+
{% if post.redirect == blank %}
|
|
58
|
+
title: "{{ title | truncatewords: 13 }}",
|
|
59
|
+
{% elsif post.redirect contains '://' %}
|
|
60
|
+
title: '{{ title | truncatewords: 13 }} <svg width="1.2rem" height="1.2rem" top=".5rem" viewBox="0 0 40 40" xmlns="http://www.w3.org/2000/svg"><path d="M17 13.5v6H5v-12h6m3-3h6v6m0-6-9 9" class="icon_svg-stroke" stroke="#999" stroke-width="1.5" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg>',
|
|
61
|
+
{% else %}
|
|
62
|
+
title: "{{ title | truncatewords: 13 }}",
|
|
63
|
+
{% endif %}
|
|
64
|
+
description: "{{ post.description | strip_html | strip_newlines | escape | strip }}",
|
|
65
|
+
section: "Posts",
|
|
66
|
+
handler: () => {
|
|
67
|
+
{% if post.redirect == blank %}
|
|
68
|
+
window.location.href = "{{ post.url | relative_url }}";
|
|
69
|
+
{% elsif post.redirect contains '://' %}
|
|
70
|
+
window.open("{{ post.redirect }}", "_blank");
|
|
71
|
+
{% else %}
|
|
72
|
+
window.location.href = "{{ post.redirect | relative_url }}";
|
|
73
|
+
{% endif %}
|
|
74
|
+
},
|
|
75
|
+
},
|
|
76
|
+
{%- endfor -%}
|
|
77
|
+
{%- endif -%}
|
|
78
|
+
{%- for collection in site.collections -%}
|
|
79
|
+
{%- if collection.label != 'posts' -%}
|
|
80
|
+
{%- for item in collection.docs -%}
|
|
81
|
+
{
|
|
82
|
+
{%- if item.inline -%}
|
|
83
|
+
{%- assign title = item.content | newline_to_br | replace: "<br />", " " | replace: "<br/>", " " | strip_html | strip_newlines | escape | strip -%}
|
|
84
|
+
{%- else -%}
|
|
85
|
+
{%- assign title = item.title | newline_to_br | replace: "<br />", " " | replace: "<br/>", " " | strip_html | strip_newlines | escape | strip -%}
|
|
86
|
+
{%- endif -%}
|
|
87
|
+
id: "{{ collection.label }}-{{ title | slugify }}",
|
|
88
|
+
title: '{{ title | escape | emojify | truncatewords: 13 }}',
|
|
89
|
+
description: "{{ item.description | strip_html | strip_newlines | escape | strip }}",
|
|
90
|
+
section: "{{ collection.label | capitalize }}",
|
|
91
|
+
{%- unless item.inline -%}
|
|
92
|
+
handler: () => {
|
|
93
|
+
window.location.href = "{{ item.url | relative_url }}";
|
|
94
|
+
},
|
|
95
|
+
{%- endunless -%}
|
|
96
|
+
},
|
|
97
|
+
{%- endfor -%}
|
|
98
|
+
{%- endif -%}
|
|
99
|
+
{%- endfor -%}
|
|
100
|
+
{%- if site.socials_in_search -%}
|
|
101
|
+
{%- for social in site.data.socials -%}
|
|
102
|
+
{%- case social[0] -%}
|
|
103
|
+
{%- when "acm_id" -%}
|
|
104
|
+
{%- assign social_id = "social-acm" -%}
|
|
105
|
+
{%- assign social_title = "ACM DL" -%}
|
|
106
|
+
{%- capture social_url %}"https://dl.acm.org/profile/{{ social[1] }}/"{% endcapture -%}
|
|
107
|
+
{%- when "arxiv_id" -%}
|
|
108
|
+
{%- assign social_id = "social-arxiv" -%}
|
|
109
|
+
{%- assign social_title = "arXiv" -%}
|
|
110
|
+
{%- capture social_url %}"https://arxiv.org/a/{{ social[1] }}.html"{% endcapture -%}
|
|
111
|
+
{%- when "blogger_url" -%}
|
|
112
|
+
{%- assign social_id = "social-blogger" -%}
|
|
113
|
+
{%- assign social_title = "Blogger" -%}
|
|
114
|
+
{%- capture social_url %}"{{ social[1] }}"{% endcapture -%}
|
|
115
|
+
{%- when "bluesky_url" -%}
|
|
116
|
+
{%- assign social_id = "social-bluesky" -%}
|
|
117
|
+
{%- assign social_title = "Bluesky" -%}
|
|
118
|
+
{%- capture social_url %}"{{ social[1] }}"{% endcapture -%}
|
|
119
|
+
{%- when "cv_pdf" -%}
|
|
120
|
+
{%- assign social_id = "social-cv" -%}
|
|
121
|
+
{%- assign social_title = "CV" -%}
|
|
122
|
+
{%- capture social_url %}"{{ social[1] | relative_url }}"{% endcapture -%}
|
|
123
|
+
{%- when "dblp_url" -%}
|
|
124
|
+
{%- assign social_id = "social-dblp" -%}
|
|
125
|
+
{%- assign social_title = "DBLP" -%}
|
|
126
|
+
{%- capture social_url %}"{{ social[1] }}"{% endcapture -%}
|
|
127
|
+
{%- when "discord_id" -%}
|
|
128
|
+
{%- assign social_id = "social-discord" -%}
|
|
129
|
+
{%- assign social_title = "Discord" -%}
|
|
130
|
+
{%- capture social_url %}"https://discord.com/users/{{ social[1] }}"{% endcapture -%}
|
|
131
|
+
{%- when "email" -%}
|
|
132
|
+
{%- assign social_id = "social-email" -%}
|
|
133
|
+
{%- assign social_title = "email" -%}
|
|
134
|
+
{%- capture social_url %}"mailto:{{ social[1] | encode_email }}"{% endcapture -%}
|
|
135
|
+
{%- when "facebook_id" -%}
|
|
136
|
+
{%- assign social_id = "social-facebook" -%}
|
|
137
|
+
{%- assign social_title = "Facebook" -%}
|
|
138
|
+
{%- capture social_url %}"https://facebook.com/{{ social[1] }}"{% endcapture -%}
|
|
139
|
+
{%- when "flickr_id" -%}
|
|
140
|
+
{%- assign social_id = "social-flickr" -%}
|
|
141
|
+
{%- assign social_title = "Flickr" -%}
|
|
142
|
+
{%- capture social_url %}"https://www.flickr.com/{{ social[1] }}"{% endcapture -%}
|
|
143
|
+
{%- when "github_username" -%}
|
|
144
|
+
{%- assign social_id = "social-github" -%}
|
|
145
|
+
{%- assign social_title = "GitHub" -%}
|
|
146
|
+
{%- capture social_url %}"https://github.com/{{ social[1] }}"{% endcapture -%}
|
|
147
|
+
{%- when "gitlab_username" -%}
|
|
148
|
+
{%- assign social_id = "social-gitlab" -%}
|
|
149
|
+
{%- assign social_title = "GitLab" -%}
|
|
150
|
+
{%- capture social_url %}"https://gitlab.com/{{ social[1] }}"{% endcapture -%}
|
|
151
|
+
{%- when "hal_id" -%}
|
|
152
|
+
{%- assign social_id = "social-hal" -%}
|
|
153
|
+
{%- assign social_title = "HAL" -%}
|
|
154
|
+
{%- capture social_url %}"https://cv.hal.science/{{ social[1] }}"{% endcapture -%}
|
|
155
|
+
{%- when "ieee_id" -%}
|
|
156
|
+
{%- assign social_id = "social-ieee" -%}
|
|
157
|
+
{%- assign social_title = "IEEE Xplore" -%}
|
|
158
|
+
{%- capture social_url %}"https://ieeexplore.ieee.org/author/{{ social[1] }}/"{% endcapture -%}
|
|
159
|
+
{%- when "inspirehep_id" -%}
|
|
160
|
+
{%- assign social_id = "social-inspire" -%}
|
|
161
|
+
{%- assign social_title = "Inspire HEP" -%}
|
|
162
|
+
{%- capture social_url %}"https://inspirehep.net/authors/{{ social[1] }}"{% endcapture -%}
|
|
163
|
+
{%- when "instagram_id" -%}
|
|
164
|
+
{%- assign social_id = "social-instagram" -%}
|
|
165
|
+
{%- assign social_title = "Instagram" -%}
|
|
166
|
+
{%- capture social_url %}"https://instagram.com/{{ social[1] }}"{% endcapture -%}
|
|
167
|
+
{%- when "kaggle_id" -%}
|
|
168
|
+
{%- assign social_id = "social-kaggle" -%}
|
|
169
|
+
{%- assign social_title = "Kaggle" -%}
|
|
170
|
+
{%- capture social_url %}"https://www.kaggle.com/{{ social[1] }}"{% endcapture -%}
|
|
171
|
+
{%- when "keybase_username" -%}
|
|
172
|
+
{%- assign social_id = "social-keybase" -%}
|
|
173
|
+
{%- assign social_title = "Keybase" -%}
|
|
174
|
+
{%- capture social_url %}"https://keybase.io/{{ social[1] }}"{% endcapture -%}
|
|
175
|
+
{%- when "lastfm_id" -%}
|
|
176
|
+
{%- assign social_id = "social-lastfm" -%}
|
|
177
|
+
{%- assign social_title = "Last FM" -%}
|
|
178
|
+
{%- capture social_url %}"https://www.last.fm/user/{{ social[1] }}"{% endcapture -%}
|
|
179
|
+
{%- when "lattes_id" -%}
|
|
180
|
+
{%- assign social_id = "social-lattes" -%}
|
|
181
|
+
{%- assign social_title = "Lattes" -%}
|
|
182
|
+
{%- capture social_url %}"https://lattes.cnpq.br/{{ social[1] }}"{% endcapture -%}
|
|
183
|
+
{%- when "leetcode_id" -%}
|
|
184
|
+
{%- assign social_id = "social-leetcode" -%}
|
|
185
|
+
{%- assign social_title = "LeetCode" -%}
|
|
186
|
+
{%- capture social_url %}"https://leetcode.com/u/{{ social[1] }}/"{% endcapture -%}
|
|
187
|
+
{%- when "linkedin_username" -%}
|
|
188
|
+
{%- assign social_id = "social-linkedin" -%}
|
|
189
|
+
{%- assign social_title = "LinkedIn" -%}
|
|
190
|
+
{%- capture social_url %}"https://www.linkedin.com/in/{{ social[1] }}"{% endcapture -%}
|
|
191
|
+
{%- when "mastodon_username" -%}
|
|
192
|
+
{%- assign social_id = "social-mastodon" -%}
|
|
193
|
+
{%- assign social_title = "Mastodon" -%}
|
|
194
|
+
{%- capture social_url %}"https://{{ social[1] }}"{% endcapture -%}
|
|
195
|
+
{%- when "medium_username" -%}
|
|
196
|
+
{%- assign social_id = "social-medium" -%}
|
|
197
|
+
{%- assign social_title = "Medium" -%}
|
|
198
|
+
{%- capture social_url %}"https://medium.com/@{{ social[1] }}"{% endcapture -%}
|
|
199
|
+
{%- when "orcid_id" -%}
|
|
200
|
+
{%- assign social_id = "social-orcid" -%}
|
|
201
|
+
{%- assign social_title = "ORCID" -%}
|
|
202
|
+
{%- capture social_url %}"https://orcid.org/{{ social[1] }}"{% endcapture -%}
|
|
203
|
+
{%- when "osf_id" -%}
|
|
204
|
+
{%- assign social_id = "social-osf" -%}
|
|
205
|
+
{%- assign social_title = "Open Science Framework" -%}
|
|
206
|
+
{%- capture social_url %}"https://osf.io/{{ social[1] }}/"{% endcapture -%}
|
|
207
|
+
{%- when "pinterest_id" -%}
|
|
208
|
+
{%- assign social_id = "social-pinterest" -%}
|
|
209
|
+
{%- assign social_title = "Pinterest" -%}
|
|
210
|
+
{%- capture social_url %}"https://www.pinterest.com/{{ social[1] }}"{% endcapture -%}
|
|
211
|
+
{%- when "publons_id" -%}
|
|
212
|
+
{%- assign social_id = "social-publons" -%}
|
|
213
|
+
{%- assign social_title = "Publons" -%}
|
|
214
|
+
{%- capture social_url %}"https://publons.com/a/{{ social[1] }}/"{% endcapture -%}
|
|
215
|
+
{%- when "quora_username" -%}
|
|
216
|
+
{%- assign social_id = "social-quora" -%}
|
|
217
|
+
{%- assign social_title = "Quora" -%}
|
|
218
|
+
{%- capture social_url %}"https://www.quora.com/profile/{{ social[1] }}"{% endcapture -%}
|
|
219
|
+
{%- when "research_gate_profile" -%}
|
|
220
|
+
{%- assign social_id = "social-researchgate" -%}
|
|
221
|
+
{%- assign social_title = "ResearchGate" -%}
|
|
222
|
+
{%- capture social_url %}"https://www.researchgate.net/profile/{{ social[1] }}/"{% endcapture -%}
|
|
223
|
+
{%- when "rss_icon" -%}
|
|
224
|
+
{%- assign social_id = "social-rss" -%}
|
|
225
|
+
{%- assign social_title = "RSS Feed" -%}
|
|
226
|
+
{%- capture social_url %}"{{ site.baseurl }}/feed.xml"{% endcapture -%}
|
|
227
|
+
{%- when "scholar_userid" -%}
|
|
228
|
+
{%- assign social_id = "social-scholar" -%}
|
|
229
|
+
{%- assign social_title = "Google Scholar" -%}
|
|
230
|
+
{%- capture social_url %}"https://scholar.google.com/citations?user={{ social[1] }}"{% endcapture -%}
|
|
231
|
+
{%- when "scopus_id" -%}
|
|
232
|
+
{%- assign social_id = "social-scopus" -%}
|
|
233
|
+
{%- assign social_title = "Scopus" -%}
|
|
234
|
+
{%- capture social_url %}"https://www.scopus.com/authid/detail.uri?authorId={{ social[1] }}"{% endcapture -%}
|
|
235
|
+
{%- when "semanticscholar_id" -%}
|
|
236
|
+
{%- assign social_id = "social-semanticscholar" -%}
|
|
237
|
+
{%- assign social_title = "Semantic Scholar" -%}
|
|
238
|
+
{%- capture social_url %}"https://www.semanticscholar.org/author/{{ social[1] }}"{% endcapture -%}
|
|
239
|
+
{%- when "spotify_id" -%}
|
|
240
|
+
{%- assign social_id = "social-spotify" -%}
|
|
241
|
+
{%- assign social_title = "Spotify" -%}
|
|
242
|
+
{%- capture social_url %}"https://open.spotify.com/user/{{ social[1] }}"{% endcapture -%}
|
|
243
|
+
{%- when "stackoverflow_id" -%}
|
|
244
|
+
{%- assign social_id = "social-stackoverflow" -%}
|
|
245
|
+
{%- assign social_title = "Stackoverflow" -%}
|
|
246
|
+
{%- capture social_url %}"https://stackoverflow.com/users/{{ social[1] }}"{% endcapture -%}
|
|
247
|
+
{%- when "strava_userid" -%}
|
|
248
|
+
{%- assign social_id = "social-strava" -%}
|
|
249
|
+
{%- assign social_title = "Strava" -%}
|
|
250
|
+
{%- capture social_url %}"https://www.strava.com/athletes/{{ social[1] }}"{% endcapture -%}
|
|
251
|
+
{%- when "telegram_username" -%}
|
|
252
|
+
{%- assign social_id = "social-telegram" -%}
|
|
253
|
+
{%- assign social_title = "telegram" -%}
|
|
254
|
+
{%- capture social_url %}"https://telegram.me/{{ social[1] }}"{% endcapture -%}
|
|
255
|
+
{%- when "unsplash_id" -%}
|
|
256
|
+
{%- assign social_id = "social-unsplash" -%}
|
|
257
|
+
{%- assign social_title = "Unsplash" -%}
|
|
258
|
+
{%- capture social_url %}"https://unsplash.com/@{{ social[1] }}"{% endcapture -%}
|
|
259
|
+
{%- comment -%}
|
|
260
|
+
// check how to add wechat qr code
|
|
261
|
+
{%- when "wechat_qr" -%}
|
|
262
|
+
{%- assign social_id = "social-wechat" -%}
|
|
263
|
+
{%- assign social_title = "WeChat" -%}
|
|
264
|
+
{%- capture social_url %}"https://wechat.com/{{ social[1] }}"{% endcapture -%}
|
|
265
|
+
{%- endcomment -%}
|
|
266
|
+
{%- when "whatsapp_number" -%}
|
|
267
|
+
{%- assign social_id = "social-whatsapp" -%}
|
|
268
|
+
{%- assign social_title = "whatsapp" -%}
|
|
269
|
+
{%- capture social_url %}"https://wa.me/{{ social[1] }}"{% endcapture -%}
|
|
270
|
+
{%- when "wikidata_id" -%}
|
|
271
|
+
{%- assign social_id = "social-wikidata" -%}
|
|
272
|
+
{%- assign social_title = "Wikidata" -%}
|
|
273
|
+
{%- capture social_url %}"https://www.wikidata.org/wiki/{{ social[1] }}"{% endcapture -%}
|
|
274
|
+
{%- when "wikipedia_id" -%}
|
|
275
|
+
{%- assign social_id = "social-wikipedia" -%}
|
|
276
|
+
{%- assign social_title = "Wikipedia" -%}
|
|
277
|
+
{%- capture social_url %}"https://wikipedia.org/wiki/User:{{ social[1] }}"{% endcapture -%}
|
|
278
|
+
{%- when "work_url" -%}
|
|
279
|
+
{%- assign social_id = "social-work" -%}
|
|
280
|
+
{%- assign social_title = "Work" -%}
|
|
281
|
+
{%- capture social_url %}"{{ social[1] }}"{% endcapture -%}
|
|
282
|
+
{%- when "x_username" -%}
|
|
283
|
+
{%- assign social_id = "social-x" -%}
|
|
284
|
+
{%- assign social_title = "X" -%}
|
|
285
|
+
{%- capture social_url %}"https://twitter.com/{{ social[1] }}"{% endcapture -%}
|
|
286
|
+
{%- when "youtube_id" -%}
|
|
287
|
+
{%- assign social_id = "social-youtube" -%}
|
|
288
|
+
{%- assign social_title = "YouTube" -%}
|
|
289
|
+
{%- capture social_url %}"https://youtube.com/@{{ social[1] }}"{% endcapture -%}
|
|
290
|
+
{%- when "zotero_username" -%}
|
|
291
|
+
{%- assign social_id = "social-zotero" -%}
|
|
292
|
+
{%- assign social_title = "Zotero" -%}
|
|
293
|
+
{%- capture social_url %}"https://www.zotero.org/{{ social[1] }}"{% endcapture -%}
|
|
294
|
+
{%- else -%}
|
|
295
|
+
{%- assign social_id = "social-" | append: social[0] -%}
|
|
296
|
+
{%- assign social_title = social[0] | capitalize -%}
|
|
297
|
+
{%- capture social_url %}"{{ social[1].url }}"{% endcapture -%}
|
|
298
|
+
{%- endcase -%}
|
|
299
|
+
{
|
|
300
|
+
id: '{{ social_id }}',
|
|
301
|
+
title: '{{ social_title }}',
|
|
302
|
+
section: 'Socials',
|
|
303
|
+
handler: () => {
|
|
304
|
+
window.open({{ social_url }}, "_blank");
|
|
305
|
+
},
|
|
306
|
+
},
|
|
307
|
+
{%- endfor -%}
|
|
308
|
+
{%- endif -%}
|
|
309
|
+
{%- if site.enable_darkmode -%}
|
|
310
|
+
{
|
|
311
|
+
id: 'light-theme',
|
|
312
|
+
title: 'Change theme to light',
|
|
313
|
+
description: 'Change the theme of the site to Light',
|
|
314
|
+
section: 'Theme',
|
|
315
|
+
handler: () => {
|
|
316
|
+
setThemeSetting("light");
|
|
317
|
+
},
|
|
318
|
+
},
|
|
319
|
+
{
|
|
320
|
+
id: 'dark-theme',
|
|
321
|
+
title: 'Change theme to dark',
|
|
322
|
+
description: 'Change the theme of the site to Dark',
|
|
323
|
+
section: 'Theme',
|
|
324
|
+
handler: () => {
|
|
325
|
+
setThemeSetting("dark");
|
|
326
|
+
},
|
|
327
|
+
},
|
|
328
|
+
{
|
|
329
|
+
id: 'system-theme',
|
|
330
|
+
title: 'Use system default theme',
|
|
331
|
+
description: 'Change the theme of the site to System Default',
|
|
332
|
+
section: 'Theme',
|
|
333
|
+
handler: () => {
|
|
334
|
+
setThemeSetting("system");
|
|
335
|
+
},
|
|
336
|
+
},
|
|
337
|
+
{%- endif -%}
|
|
338
|
+
];
|
metadata
ADDED
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: al_search
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 0.1.0
|
|
5
|
+
platform: ruby
|
|
6
|
+
authors:
|
|
7
|
+
- al-org
|
|
8
|
+
autorequire:
|
|
9
|
+
bindir: bin
|
|
10
|
+
cert_chain: []
|
|
11
|
+
date: 2026-02-07 00:00:00.000000000 Z
|
|
12
|
+
dependencies:
|
|
13
|
+
- !ruby/object:Gem::Dependency
|
|
14
|
+
name: jekyll
|
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
|
16
|
+
requirements:
|
|
17
|
+
- - ">="
|
|
18
|
+
- !ruby/object:Gem::Version
|
|
19
|
+
version: '3.9'
|
|
20
|
+
- - "<"
|
|
21
|
+
- !ruby/object:Gem::Version
|
|
22
|
+
version: '5.0'
|
|
23
|
+
type: :runtime
|
|
24
|
+
prerelease: false
|
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
26
|
+
requirements:
|
|
27
|
+
- - ">="
|
|
28
|
+
- !ruby/object:Gem::Version
|
|
29
|
+
version: '3.9'
|
|
30
|
+
- - "<"
|
|
31
|
+
- !ruby/object:Gem::Version
|
|
32
|
+
version: '5.0'
|
|
33
|
+
- !ruby/object:Gem::Dependency
|
|
34
|
+
name: liquid
|
|
35
|
+
requirement: !ruby/object:Gem::Requirement
|
|
36
|
+
requirements:
|
|
37
|
+
- - ">="
|
|
38
|
+
- !ruby/object:Gem::Version
|
|
39
|
+
version: '4.0'
|
|
40
|
+
- - "<"
|
|
41
|
+
- !ruby/object:Gem::Version
|
|
42
|
+
version: '6.0'
|
|
43
|
+
type: :runtime
|
|
44
|
+
prerelease: false
|
|
45
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
46
|
+
requirements:
|
|
47
|
+
- - ">="
|
|
48
|
+
- !ruby/object:Gem::Version
|
|
49
|
+
version: '4.0'
|
|
50
|
+
- - "<"
|
|
51
|
+
- !ruby/object:Gem::Version
|
|
52
|
+
version: '6.0'
|
|
53
|
+
- !ruby/object:Gem::Dependency
|
|
54
|
+
name: bundler
|
|
55
|
+
requirement: !ruby/object:Gem::Requirement
|
|
56
|
+
requirements:
|
|
57
|
+
- - ">="
|
|
58
|
+
- !ruby/object:Gem::Version
|
|
59
|
+
version: '2.0'
|
|
60
|
+
- - "<"
|
|
61
|
+
- !ruby/object:Gem::Version
|
|
62
|
+
version: '3.0'
|
|
63
|
+
type: :development
|
|
64
|
+
prerelease: false
|
|
65
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
66
|
+
requirements:
|
|
67
|
+
- - ">="
|
|
68
|
+
- !ruby/object:Gem::Version
|
|
69
|
+
version: '2.0'
|
|
70
|
+
- - "<"
|
|
71
|
+
- !ruby/object:Gem::Version
|
|
72
|
+
version: '3.0'
|
|
73
|
+
- !ruby/object:Gem::Dependency
|
|
74
|
+
name: rake
|
|
75
|
+
requirement: !ruby/object:Gem::Requirement
|
|
76
|
+
requirements:
|
|
77
|
+
- - "~>"
|
|
78
|
+
- !ruby/object:Gem::Version
|
|
79
|
+
version: '13.0'
|
|
80
|
+
type: :development
|
|
81
|
+
prerelease: false
|
|
82
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
83
|
+
requirements:
|
|
84
|
+
- - "~>"
|
|
85
|
+
- !ruby/object:Gem::Version
|
|
86
|
+
version: '13.0'
|
|
87
|
+
description: Jekyll plugin extracted from al-folio that renders ninja-keys search
|
|
88
|
+
assets and generates search data payloads.
|
|
89
|
+
email:
|
|
90
|
+
- dev@al-org.dev
|
|
91
|
+
executables: []
|
|
92
|
+
extensions: []
|
|
93
|
+
extra_rdoc_files: []
|
|
94
|
+
files:
|
|
95
|
+
- CHANGELOG.md
|
|
96
|
+
- LICENSE
|
|
97
|
+
- README.md
|
|
98
|
+
- lib/al_search.rb
|
|
99
|
+
- lib/assets/al_search/js/search-setup.js
|
|
100
|
+
- lib/assets/al_search/js/search/base-styles.min.js
|
|
101
|
+
- lib/assets/al_search/js/search/command-score.min.js
|
|
102
|
+
- lib/assets/al_search/js/search/hotkeys-js/hotkeys.esm.min.js
|
|
103
|
+
- lib/assets/al_search/js/search/lit-element/lit-element.min.js
|
|
104
|
+
- lib/assets/al_search/js/search/lit-html/directives/class-map.min.js
|
|
105
|
+
- lib/assets/al_search/js/search/lit-html/directives/join.min.js
|
|
106
|
+
- lib/assets/al_search/js/search/lit-html/directives/live.min.js
|
|
107
|
+
- lib/assets/al_search/js/search/lit-html/directives/ref.min.js
|
|
108
|
+
- lib/assets/al_search/js/search/lit-html/directives/repeat.min.js
|
|
109
|
+
- lib/assets/al_search/js/search/lit-html/directives/unsafe-html.min.js
|
|
110
|
+
- lib/assets/al_search/js/search/lit-html/is-server.min.js
|
|
111
|
+
- lib/assets/al_search/js/search/lit-html/lit-html.min.js
|
|
112
|
+
- lib/assets/al_search/js/search/lit/decorators.min.js
|
|
113
|
+
- lib/assets/al_search/js/search/lit/directives/class-map.min.js
|
|
114
|
+
- lib/assets/al_search/js/search/lit/directives/join.min.js
|
|
115
|
+
- lib/assets/al_search/js/search/lit/directives/live.min.js
|
|
116
|
+
- lib/assets/al_search/js/search/lit/directives/ref.min.js
|
|
117
|
+
- lib/assets/al_search/js/search/lit/directives/repeat.min.js
|
|
118
|
+
- lib/assets/al_search/js/search/lit/directives/unsafe-html.min.js
|
|
119
|
+
- lib/assets/al_search/js/search/lit/index.min.js
|
|
120
|
+
- lib/assets/al_search/js/search/ninja-action.min.js
|
|
121
|
+
- lib/assets/al_search/js/search/ninja-footer.min.js
|
|
122
|
+
- lib/assets/al_search/js/search/ninja-header.min.js
|
|
123
|
+
- lib/assets/al_search/js/search/ninja-keys.min.js
|
|
124
|
+
- lib/assets/al_search/js/search/reactive-element/decorators/custom-element.min.js
|
|
125
|
+
- lib/assets/al_search/js/search/reactive-element/decorators/event-options.min.js
|
|
126
|
+
- lib/assets/al_search/js/search/reactive-element/decorators/property.min.js
|
|
127
|
+
- lib/assets/al_search/js/search/reactive-element/decorators/query-all.min.js
|
|
128
|
+
- lib/assets/al_search/js/search/reactive-element/decorators/query-assigned-elements.min.js
|
|
129
|
+
- lib/assets/al_search/js/search/reactive-element/decorators/query-assigned-nodes.min.js
|
|
130
|
+
- lib/assets/al_search/js/search/reactive-element/decorators/query-async.min.js
|
|
131
|
+
- lib/assets/al_search/js/search/reactive-element/decorators/query.min.js
|
|
132
|
+
- lib/assets/al_search/js/search/reactive-element/decorators/state.min.js
|
|
133
|
+
- lib/assets/al_search/js/search/reactive-element/reactive-element.min.js
|
|
134
|
+
- lib/assets/al_search/js/shortcut-key.js
|
|
135
|
+
- lib/templates/search-data.liquid.js
|
|
136
|
+
homepage: https://github.com/al-org-dev/al-search
|
|
137
|
+
licenses:
|
|
138
|
+
- MIT
|
|
139
|
+
metadata:
|
|
140
|
+
allowed_push_host: https://rubygems.org
|
|
141
|
+
homepage_uri: https://github.com/al-org-dev/al-search
|
|
142
|
+
source_code_uri: https://github.com/al-org-dev/al-search
|
|
143
|
+
post_install_message:
|
|
144
|
+
rdoc_options: []
|
|
145
|
+
require_paths:
|
|
146
|
+
- lib
|
|
147
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
148
|
+
requirements:
|
|
149
|
+
- - ">="
|
|
150
|
+
- !ruby/object:Gem::Version
|
|
151
|
+
version: '2.7'
|
|
152
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
153
|
+
requirements:
|
|
154
|
+
- - ">="
|
|
155
|
+
- !ruby/object:Gem::Version
|
|
156
|
+
version: '0'
|
|
157
|
+
requirements: []
|
|
158
|
+
rubygems_version: 3.0.3.1
|
|
159
|
+
signing_key:
|
|
160
|
+
specification_version: 4
|
|
161
|
+
summary: Search modal assets and data generation for Jekyll
|
|
162
|
+
test_files: []
|