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.
Files changed (43) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +5 -0
  3. data/LICENSE +20 -0
  4. data/README.md +22 -0
  5. data/lib/al_search.rb +56 -0
  6. data/lib/assets/al_search/js/search/base-styles.min.js +286 -0
  7. data/lib/assets/al_search/js/search/command-score.min.js +7 -0
  8. data/lib/assets/al_search/js/search/hotkeys-js/hotkeys.esm.min.js +18 -0
  9. data/lib/assets/al_search/js/search/lit/decorators.min.js +7 -0
  10. data/lib/assets/al_search/js/search/lit/directives/class-map.min.js +7 -0
  11. data/lib/assets/al_search/js/search/lit/directives/join.min.js +7 -0
  12. data/lib/assets/al_search/js/search/lit/directives/live.min.js +7 -0
  13. data/lib/assets/al_search/js/search/lit/directives/ref.min.js +7 -0
  14. data/lib/assets/al_search/js/search/lit/directives/repeat.min.js +7 -0
  15. data/lib/assets/al_search/js/search/lit/directives/unsafe-html.min.js +7 -0
  16. data/lib/assets/al_search/js/search/lit/index.min.js +7 -0
  17. data/lib/assets/al_search/js/search/lit-element/lit-element.min.js +12 -0
  18. data/lib/assets/al_search/js/search/lit-html/directives/class-map.min.js +22 -0
  19. data/lib/assets/al_search/js/search/lit-html/directives/join.min.js +12 -0
  20. data/lib/assets/al_search/js/search/lit-html/directives/live.min.js +28 -0
  21. data/lib/assets/al_search/js/search/lit-html/directives/ref.min.js +32 -0
  22. data/lib/assets/al_search/js/search/lit-html/directives/repeat.min.js +27 -0
  23. data/lib/assets/al_search/js/search/lit-html/directives/unsafe-html.min.js +22 -0
  24. data/lib/assets/al_search/js/search/lit-html/is-server.min.js +12 -0
  25. data/lib/assets/al_search/js/search/lit-html/lit-html.min.js +12 -0
  26. data/lib/assets/al_search/js/search/ninja-action.min.js +101 -0
  27. data/lib/assets/al_search/js/search/ninja-footer.min.js +62 -0
  28. data/lib/assets/al_search/js/search/ninja-header.min.js +78 -0
  29. data/lib/assets/al_search/js/search/ninja-keys.min.js +39 -0
  30. data/lib/assets/al_search/js/search/reactive-element/decorators/custom-element.min.js +12 -0
  31. data/lib/assets/al_search/js/search/reactive-element/decorators/event-options.min.js +12 -0
  32. data/lib/assets/al_search/js/search/reactive-element/decorators/property.min.js +22 -0
  33. data/lib/assets/al_search/js/search/reactive-element/decorators/query-all.min.js +17 -0
  34. data/lib/assets/al_search/js/search/reactive-element/decorators/query-assigned-elements.min.js +17 -0
  35. data/lib/assets/al_search/js/search/reactive-element/decorators/query-assigned-nodes.min.js +17 -0
  36. data/lib/assets/al_search/js/search/reactive-element/decorators/query-async.min.js +17 -0
  37. data/lib/assets/al_search/js/search/reactive-element/decorators/query.min.js +17 -0
  38. data/lib/assets/al_search/js/search/reactive-element/decorators/state.min.js +27 -0
  39. data/lib/assets/al_search/js/search/reactive-element/reactive-element.min.js +17 -0
  40. data/lib/assets/al_search/js/search-setup.js +17 -0
  41. data/lib/assets/al_search/js/shortcut-key.js +11 -0
  42. data/lib/templates/search-data.liquid.js +338 -0
  43. 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 = '&#x2318; 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: []