type-on-strap 2.5.0 → 2.5.2

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 (88) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +52 -75
  3. data/_includes/blog/post_nav.liquid +2 -2
  4. data/_includes/default/head.liquid +15 -12
  5. data/_includes/default/navbar.liquid +2 -2
  6. data/_includes/gallery.html +5 -7
  7. data/_includes/portfolio.html +1 -1
  8. data/_includes/social/share_buttons.liquid +9 -9
  9. data/_layouts/default.html +1 -1
  10. data/_layouts/page.liquid +3 -7
  11. data/_layouts/post.liquid +3 -3
  12. data/_layouts/search.liquid +1 -0
  13. data/_sass/base/_global.scss +9 -12
  14. data/_sass/base/_utility.scss +8 -29
  15. data/_sass/base/_variables.scss +43 -2
  16. data/_sass/external/_font-awesome.scss +1 -1
  17. data/_sass/external/_katex.scss +1 -1
  18. data/_sass/external/_pacifico.scss +3 -6
  19. data/_sass/external/font-awesome/_core.scss +1 -1
  20. data/_sass/external/font-awesome/_icons.scss +0 -1
  21. data/_sass/external/font-awesome/brands.scss +1 -1
  22. data/_sass/external/font-awesome/fontawesome.scss +1 -1
  23. data/_sass/external/font-awesome/regular.scss +1 -1
  24. data/_sass/external/font-awesome/solid.scss +1 -1
  25. data/_sass/external/font-awesome/v4-shims.scss +1 -1
  26. data/_sass/external/katex/katex.scss +156 -269
  27. data/_sass/includes/_blog_nav.scss +0 -4
  28. data/_sass/includes/_gallery.scss +12 -24
  29. data/_sass/includes/_navbar.scss +1 -7
  30. data/_sass/includes/_portfolio.scss +2 -4
  31. data/_sass/layouts/_blog.scss +7 -23
  32. data/_sass/layouts/_categories.scss +4 -3
  33. data/_sass/layouts/_page.scss +1 -1
  34. data/_sass/layouts/_posts.scss +13 -12
  35. data/_sass/layouts/_search.scss +6 -19
  36. data/_sass/type-on-strap.scss +10 -0
  37. data/assets/fonts/Pacifico/Pacifico.woff +0 -0
  38. data/assets/fonts/Pacifico/Pacifico.woff2 +0 -0
  39. data/assets/fonts/font-awesome/fa-brands-400.ttf +0 -0
  40. data/assets/fonts/font-awesome/fa-brands-400.woff2 +0 -0
  41. data/assets/fonts/font-awesome/fa-regular-400.ttf +0 -0
  42. data/assets/fonts/font-awesome/fa-regular-400.woff2 +0 -0
  43. data/assets/fonts/font-awesome/fa-solid-900.ttf +0 -0
  44. data/assets/fonts/font-awesome/fa-solid-900.woff2 +0 -0
  45. data/assets/js/comments-lazy-load.min.js +1 -1
  46. data/assets/js/main.min.js +1 -6
  47. data/assets/js/vendor/katex.auto-render.min.js +1 -1
  48. data/assets/js/vendor/katex.min.js +1 -1
  49. data/assets/js/vendor/mermaid.min.js +1509 -915
  50. data/assets/js/vendor/simple-jekyll-search.min.js +2 -2
  51. metadata +22 -42
  52. data/assets/css/bootstrap-iso.less +0 -12
  53. data/assets/css/vendor/bootstrap-iso.css +0 -9121
  54. data/assets/css/vendor/bootstrap-iso.min.css +0 -6
  55. data/assets/css/vendor/bootstrap.css +0 -10007
  56. data/assets/fonts/Pacifico/Pacifico.eot +0 -0
  57. data/assets/fonts/Pacifico/Pacifico.svg +0 -10833
  58. data/assets/fonts/Pacifico/Pacifico.ttf +0 -0
  59. data/assets/fonts/Pacifico/original-pacifico-regular.ttf +0 -0
  60. data/assets/fonts/font-awesome/fa-v4compatibility.ttf +0 -0
  61. data/assets/fonts/font-awesome/fa-v4compatibility.woff2 +0 -0
  62. data/assets/fonts/katex/KaTeX_AMS-Regular.ttf +0 -0
  63. data/assets/fonts/katex/KaTeX_Caligraphic-Bold.ttf +0 -0
  64. data/assets/fonts/katex/KaTeX_Caligraphic-Regular.ttf +0 -0
  65. data/assets/fonts/katex/KaTeX_Fraktur-Bold.ttf +0 -0
  66. data/assets/fonts/katex/KaTeX_Fraktur-Regular.ttf +0 -0
  67. data/assets/fonts/katex/KaTeX_Main-Bold.ttf +0 -0
  68. data/assets/fonts/katex/KaTeX_Main-BoldItalic.ttf +0 -0
  69. data/assets/fonts/katex/KaTeX_Main-Italic.ttf +0 -0
  70. data/assets/fonts/katex/KaTeX_Main-Regular.ttf +0 -0
  71. data/assets/fonts/katex/KaTeX_Math-BoldItalic.ttf +0 -0
  72. data/assets/fonts/katex/KaTeX_Math-Italic.ttf +0 -0
  73. data/assets/fonts/katex/KaTeX_SansSerif-Bold.ttf +0 -0
  74. data/assets/fonts/katex/KaTeX_SansSerif-Italic.ttf +0 -0
  75. data/assets/fonts/katex/KaTeX_SansSerif-Regular.ttf +0 -0
  76. data/assets/fonts/katex/KaTeX_Script-Regular.ttf +0 -0
  77. data/assets/fonts/katex/KaTeX_Size1-Regular.ttf +0 -0
  78. data/assets/fonts/katex/KaTeX_Size2-Regular.ttf +0 -0
  79. data/assets/fonts/katex/KaTeX_Size3-Regular.ttf +0 -0
  80. data/assets/fonts/katex/KaTeX_Size4-Regular.ttf +0 -0
  81. data/assets/fonts/katex/KaTeX_Typewriter-Regular.ttf +0 -0
  82. data/assets/js/comments-lazy-load.js +0 -123
  83. data/assets/js/partials/cookie_consent_init.js +0 -60
  84. data/assets/js/partials/dark-mode.js +0 -57
  85. data/assets/js/partials/masonry_init.js +0 -22
  86. data/assets/js/partials/navbar.js +0 -26
  87. data/assets/js/vendor/imagesloaded.pkgd.min.js +0 -12
  88. data/assets/js/vendor/masonry.pkgd.min.js +0 -9
@@ -1,7 +1,7 @@
1
1
  /*!
2
- * Simple-Jekyll-Search v2.1.1
2
+ * Simple-Jekyll-Search v2.1.4
3
3
  * Copyright 2015-2022, Christian Fei
4
4
  * Copyright 2025-2026, Sylhare
5
5
  * Licensed under the MIT License.
6
6
  */
7
- (function(global,factory){typeof exports==="object"&&typeof module!=="undefined"?factory(exports):typeof define==="function"&&define.amd?define(["exports"],factory):(global=typeof globalThis!=="undefined"?globalThis:global||self,factory(global.SimpleJekyllSearch={}))})(this,function(exports2){"use strict";function load(location,callback){const xhr=getXHR();xhr.open("GET",location,true);xhr.onreadystatechange=createStateChangeListener(xhr,callback);xhr.send()}function createStateChangeListener(xhr,callback){return function(){if(xhr.readyState===4&&xhr.status===200){try{callback(null,JSON.parse(xhr.responseText))}catch(err){callback(err instanceof Error?err:new Error(String(err)),null)}}}}function getXHR(){return window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP")}class OptionsValidator{constructor(params){if(!this.validateParams(params)){throw new Error("-- OptionsValidator: required options missing")}this.requiredOptions=params.required}getRequiredOptions(){return this.requiredOptions}validate(parameters){const errors=[];this.requiredOptions.forEach(requiredOptionName=>{if(typeof parameters[requiredOptionName]==="undefined"){errors.push(requiredOptionName)}});return errors}validateParams(params){if(!params){return false}return typeof params.required!=="undefined"&&Array.isArray(params.required)}}function findLiteralMatches(text,criteria){const lowerText=text.trim().toLowerCase();const pattern=criteria.endsWith(" ")?[criteria.toLowerCase()]:criteria.trim().toLowerCase().split(" ");const wordsFound=pattern.filter(word=>lowerText.indexOf(word)>=0).length;if(wordsFound!==pattern.length){return[]}const matches=[];for(const word of pattern){if(!word||word.length===0)continue;let startIndex=0;while((startIndex=lowerText.indexOf(word,startIndex))!==-1){matches.push({start:startIndex,end:startIndex+word.length,text:text.substring(startIndex,startIndex+word.length),type:"exact"});startIndex+=word.length}}return matches}function findFuzzyMatches(text,criteria){criteria=criteria.trimEnd();if(criteria.length===0)return[];const lowerText=text.toLowerCase();const lowerCriteria=criteria.toLowerCase();let textIndex=0;let criteriaIndex=0;const matchedIndices=[];while(textIndex<text.length&&criteriaIndex<criteria.length){if(lowerText[textIndex]===lowerCriteria[criteriaIndex]){matchedIndices.push(textIndex);criteriaIndex++}textIndex++}if(criteriaIndex!==criteria.length){return[]}if(matchedIndices.length===0){return[]}const start=matchedIndices[0];const end=matchedIndices[matchedIndices.length-1]+1;return[{start:start,end:end,text:text.substring(start,end),type:"fuzzy"}]}function findWildcardMatches(text,pattern,config={}){const regexPattern=pattern.replace(/\*/g,buildWildcardFragment(config));const regex=new RegExp(regexPattern,"gi");const matches=[];let match;while((match=regex.exec(text))!==null){matches.push({start:match.index,end:match.index+match[0].length,text:match[0],type:"wildcard"});if(regex.lastIndex===match.index){regex.lastIndex++}}return matches}function buildWildcardFragment(config){const maxSpaces=normalizeMaxSpaces(config.maxSpaces);if(maxSpaces===0){return"[^ ]*"}if(maxSpaces===Infinity){return"[^ ]*(?: [^ ]*)*"}return`[^ ]*(?: [^ ]*){0,${maxSpaces}}`}function normalizeMaxSpaces(value){if(typeof value!=="number"||Number.isNaN(value)||value<=0){return 0}if(!Number.isFinite(value)){return Infinity}return Math.floor(value)}class SearchStrategy{constructor(findMatchesFunction){this.findMatchesFunction=findMatchesFunction}matches(text,criteria){if(text===null||text.trim()===""||!criteria){return false}const matchInfo=this.findMatchesFunction(text,criteria);return matchInfo.length>0}findMatches(text,criteria){if(text===null||text.trim()===""||!criteria){return[]}return this.findMatchesFunction(text,criteria)}}const LiteralSearchStrategy=new SearchStrategy(findLiteralMatches);const FuzzySearchStrategy=new SearchStrategy((text,criteria)=>{const fuzzyMatches=findFuzzyMatches(text,criteria);if(fuzzyMatches.length>0){return fuzzyMatches}return findLiteralMatches(text,criteria)});class WildcardSearchStrategy extends SearchStrategy{constructor(config={}){const normalizedConfig={...config};super((text,criteria)=>{const wildcardMatches=findWildcardMatches(text,criteria,normalizedConfig);if(wildcardMatches.length>0){return wildcardMatches}return findLiteralMatches(text,criteria)});this.config=normalizedConfig}getConfig(){return{...this.config}}}new WildcardSearchStrategy;class HybridSearchStrategy extends SearchStrategy{constructor(config={}){super((text,criteria)=>this.hybridFind(text,criteria));this.config={...config,preferFuzzy:config.preferFuzzy??false,wildcardPriority:config.wildcardPriority??true,minFuzzyLength:config.minFuzzyLength??4,maxExtraFuzzyChars:config.maxExtraFuzzyChars??2,maxSpaces:config.maxSpaces??1}}hybridFind(text,criteria){if(this.config.wildcardPriority&&criteria.includes("*")){const wildcardMatches=findWildcardMatches(text,criteria,this.config);if(wildcardMatches.length>0)return wildcardMatches}if(criteria.includes(" ")||criteria.length<this.config.minFuzzyLength){const literalMatches=findLiteralMatches(text,criteria);if(literalMatches.length>0)return literalMatches}if(this.config.preferFuzzy||criteria.length>=this.config.minFuzzyLength){const fuzzyMatches=findFuzzyMatches(text,criteria);if(fuzzyMatches.length>0){const constrainedMatches=this.applyFuzzyConstraints(fuzzyMatches,criteria);if(constrainedMatches.length>0)return constrainedMatches}}return findLiteralMatches(text,criteria)}applyFuzzyConstraints(matches,criteria){const limit=this.config.maxExtraFuzzyChars;if(!Number.isFinite(limit)||limit<0){return matches}const normalizedCriteriaLength=this.normalizeLength(criteria);if(normalizedCriteriaLength===0){return matches}return matches.filter(match=>{const normalizedMatchLength=this.normalizeLength(match.text);const extraChars=Math.max(0,normalizedMatchLength-normalizedCriteriaLength);return extraChars<=limit})}normalizeLength(value){return value.replace(/\s+/g,"").length}}const DefaultHybridSearchStrategy=new HybridSearchStrategy;class StrategyFactory{static create(config={type:"literal"}){const{options:options2}=config;const type=this.isValidStrategy(config.type)?config.type:"literal";switch(type){case"literal":return LiteralSearchStrategy;case"fuzzy":return FuzzySearchStrategy;case"wildcard":return new WildcardSearchStrategy(options2);case"hybrid":return new HybridSearchStrategy(options2);default:return LiteralSearchStrategy}}static getAvailableStrategies(){return["literal","fuzzy","wildcard","hybrid"]}static isValidStrategy(type){return this.getAvailableStrategies().includes(type)}}function merge(target,source){return{...target,...source}}function isJSON(json){return Array.isArray(json)||json!==null&&typeof json==="object"}function NoSort(){return 0}function isObject(obj){return Boolean(obj)&&Object.prototype.toString.call(obj)==="[object Object]"}const DEFAULT_OPTIONS={searchInput:null,resultsContainer:null,json:[],success:function(){},searchResultTemplate:'<li><a href="{url}" title="{desc}">{title}</a></li>',templateMiddleware:(_prop,_value,_template)=>void 0,sortMiddleware:NoSort,noResultsText:"No results found",limit:10,strategy:"literal",debounceTime:null,exclude:[],onSearch:()=>{},onError:error=>console.error("SimpleJekyllSearch error:",error),fuzzy:false};const REQUIRED_OPTIONS=["searchInput","resultsContainer","json"];const WHITELISTED_KEYS=new Set(["Enter","Shift","CapsLock","ArrowLeft","ArrowUp","ArrowRight","ArrowDown","Meta"]);class Repository{constructor(initialOptions={}){this.data=[];this.excludePatterns=[];this.setOptions(initialOptions)}put(input){if(isObject(input)){return this.addObject(input)}if(Array.isArray(input)){return this.addArray(input)}return void 0}clear(){this.data.length=0;return this.data}search(criteria){if(!criteria){return[]}const matches=this.findMatches(this.data,criteria).sort(this.options.sortMiddleware);return matches.map(item=>({...item}))}setOptions(newOptions){let strategyConfig=this.normalizeStrategyOption(newOptions?.strategy??DEFAULT_OPTIONS.strategy);if(newOptions?.fuzzy&&!newOptions?.strategy){console.warn('[Simple Jekyll Search] Warning: fuzzy option is deprecated. Use strategy: "fuzzy" instead.');strategyConfig={type:"fuzzy"}}const exclude=newOptions?.exclude||DEFAULT_OPTIONS.exclude;this.excludePatterns=exclude.map(pattern=>new RegExp(pattern));this.options={limit:newOptions?.limit||DEFAULT_OPTIONS.limit,searchStrategy:this.searchStrategy(strategyConfig),sortMiddleware:newOptions?.sortMiddleware||DEFAULT_OPTIONS.sortMiddleware,exclude:exclude,strategy:strategyConfig}}addObject(obj){this.data.push(obj);return this.data}addArray(arr){const added=[];this.clear();for(const item of arr){if(isObject(item)){added.push(this.addObject(item)[0])}}return added}findMatches(data,criteria){const matches=[];for(let i=0;i<data.length&&matches.length<this.options.limit;i++){const match=this.findMatchesInObject(data[i],criteria);if(match){matches.push(match)}}return matches}findMatchesInObject(obj,criteria){let hasMatch=false;const result={...obj};result._matchInfo={};for(const key in obj){if(!this.isExcluded(obj[key])&&this.options.searchStrategy.matches(obj[key],criteria)){hasMatch=true;if(this.options.searchStrategy.findMatches){const matchInfo=this.options.searchStrategy.findMatches(obj[key],criteria);if(matchInfo&&matchInfo.length>0){result._matchInfo[key]=matchInfo}}}}return hasMatch?result:void 0}isExcluded(term){const termStr=String(term);return this.excludePatterns.some(regex=>regex.test(termStr))}searchStrategy(strategy){if(!strategy?.type||!StrategyFactory.isValidStrategy(strategy.type)){return LiteralSearchStrategy}return StrategyFactory.create(strategy)}normalizeStrategyOption(strategy){if(!strategy){return this.getDefaultStrategyConfig()}return typeof strategy==="string"?{type:strategy}:strategy}getDefaultStrategyConfig(){const defaultStrategy=DEFAULT_OPTIONS.strategy;{return{type:defaultStrategy}}}}const options={pattern:/\{(.*?)\}/g,template:"",middleware:function(){return void 0}};function setOptions(_options){if(_options.pattern){options.pattern=_options.pattern}if(_options.template){options.template=_options.template}if(typeof _options.middleware==="function"){options.middleware=_options.middleware}}function compile(data,query){return options.template.replace(options.pattern,function(match,prop){const matchInfo=data._matchInfo?.[prop];if(matchInfo&&matchInfo.length>0&&query){const value2=options.middleware(prop,data[prop],options.template,query,matchInfo);if(typeof value2!=="undefined"){return value2}}if(query){const value2=options.middleware(prop,data[prop],options.template,query);if(typeof value2!=="undefined"){return value2}}const value=options.middleware(prop,data[prop],options.template);if(typeof value!=="undefined"){return value}return data[prop]||match})}let SimpleJekyllSearch$1=class SimpleJekyllSearch{constructor(){this.debounceTimerHandle=null;this.eventHandler=null;this.pageShowHandler=null;this.pendingRequest=null;this.isInitialized=false;this.STORAGE_KEY="sjs-search-state";this.options={...DEFAULT_OPTIONS};this.repository=new Repository;this.optionsValidator=new OptionsValidator({required:REQUIRED_OPTIONS})}debounce(func,delayMillis){if(delayMillis){if(this.debounceTimerHandle){clearTimeout(this.debounceTimerHandle)}this.debounceTimerHandle=setTimeout(func,delayMillis)}else{func()}}throwError(message){throw new Error(`SimpleJekyllSearch --- ${message}`)}emptyResultsContainer(){this.options.resultsContainer.innerHTML=""}initWithJSON(json){this.repository.put(json);this.registerInput()}initWithURL(url){load(url,(err,json)=>{if(err){this.throwError(`Failed to load JSON from ${url}: ${err.message}`)}this.initWithJSON(json)})}registerInput(){this.eventHandler=e=>{try{const inputEvent=e;if(!WHITELISTED_KEYS.has(inputEvent.key)){this.emptyResultsContainer();this.debounce(()=>{try{this.search(e.target.value)}catch(searchError){console.error("Search error:",searchError);this.options.onError?.(searchError)}},this.options.debounceTime??null)}}catch(error){console.error("Input handler error:",error);this.options.onError?.(error)}};this.options.searchInput.addEventListener("input",this.eventHandler);this.pageShowHandler=()=>{this.restoreSearchState()};window.addEventListener("pageshow",this.pageShowHandler);this.restoreSearchState()}saveSearchState(query){if(!query?.trim()){this.clearSearchState();return}try{const state={query:query.trim(),timestamp:Date.now(),path:window.location.pathname};sessionStorage.setItem(this.STORAGE_KEY,JSON.stringify(state))}catch{}}getStoredSearchState(){try{const raw=sessionStorage.getItem(this.STORAGE_KEY);if(!raw)return null;const state=JSON.parse(raw);if(typeof state?.query!=="string")return null;const MAX_AGE_MS=30*60*1e3;if(Date.now()-state.timestamp>MAX_AGE_MS){this.clearSearchState();return null}if(state.path&&state.path!==window.location.pathname){this.clearSearchState();return null}return state.query}catch{this.clearSearchState();return null}}clearSearchState(){try{sessionStorage.removeItem(this.STORAGE_KEY)}catch{}}restoreSearchState(){const hasExistingResults=this.options.resultsContainer.children.length>0;if(hasExistingResults)return;let query=this.options.searchInput.value?.trim();if(!query){query=this.getStoredSearchState()||""}if(query.length>0){this.options.searchInput.value=query;this.search(query)}}search(query){if(query?.trim().length>0){this.saveSearchState(query);this.emptyResultsContainer();const results=this.repository.search(query);this.render(results,query);this.options.onSearch?.()}else{this.clearSearchState()}}render(results,query){if(results.length===0){this.options.resultsContainer.insertAdjacentHTML("beforeend",this.options.noResultsText);return}const fragment=document.createDocumentFragment();results.forEach(result=>{result.query=query;const div=document.createElement("div");div.innerHTML=compile(result,query);fragment.appendChild(div)});this.options.resultsContainer.appendChild(fragment)}destroy(){if(this.eventHandler){this.options.searchInput.removeEventListener("input",this.eventHandler);this.eventHandler=null}if(this.pageShowHandler){window.removeEventListener("pageshow",this.pageShowHandler);this.pageShowHandler=null}if(this.debounceTimerHandle){clearTimeout(this.debounceTimerHandle);this.debounceTimerHandle=null}this.clearSearchState()}init(_options){const errors=this.optionsValidator.validate(_options);if(errors.length>0){this.throwError(`Missing required options: ${REQUIRED_OPTIONS.join(", ")}`)}this.options=merge(this.options,_options);setOptions({template:this.options.searchResultTemplate,middleware:this.options.templateMiddleware});this.repository.setOptions({limit:this.options.limit,sortMiddleware:this.options.sortMiddleware,strategy:this.options.strategy,exclude:this.options.exclude});if(isJSON(this.options.json)){this.initWithJSON(this.options.json)}else{this.initWithURL(this.options.json)}const rv={search:this.search.bind(this),destroy:this.destroy.bind(this)};this.options.success?.call(rv);return rv}};function escapeHtml(text){const map={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"};return text.replace(/[&<>"']/g,m=>map[m])}function mergeOverlappingMatches(matches){if(matches.length===0)return[];const sorted=[...matches].sort((a,b)=>a.start-b.start);const merged=[{...sorted[0]}];for(let i=1;i<sorted.length;i++){const current=sorted[i];const last=merged[merged.length-1];if(current.start<=last.end){last.end=Math.max(last.end,current.end)}else{merged.push({...current})}}return merged}function highlightWithMatchInfo(text,matchInfo,options2={}){if(!text||matchInfo.length===0){return escapeHtml(text)}const className=options2.className||"search-highlight";const maxLength=options2.maxLength;const mergedMatches=mergeOverlappingMatches(matchInfo);let result="";let lastIndex=0;for(const match of mergedMatches){result+=escapeHtml(text.substring(lastIndex,match.start));result+=`<span class="${className}">${escapeHtml(text.substring(match.start,match.end))}</span>`;lastIndex=match.end}result+=escapeHtml(text.substring(lastIndex));if(maxLength&&result.length>maxLength){result=truncateAroundMatches(text,mergedMatches,maxLength,options2.contextLength||30,className)}return result}function truncateAroundMatches(text,matches,maxLength,contextLength,className){if(matches.length===0){const truncated=text.substring(0,maxLength-3);return escapeHtml(truncated)+"..."}const firstMatch=matches[0];const start=Math.max(0,firstMatch.start-contextLength);const end=Math.min(text.length,firstMatch.end+contextLength);let result="";if(start>0){result+="..."}const snippet=text.substring(start,end);const adjustedMatches=matches.filter(m=>m.start<end&&m.end>start).map(m=>({...m,start:Math.max(0,m.start-start),end:Math.min(snippet.length,m.end-start)}));let lastIndex=0;for(const match of adjustedMatches){result+=escapeHtml(snippet.substring(lastIndex,match.start));result+=`<span class="${className}">${escapeHtml(snippet.substring(match.start,match.end))}</span>`;lastIndex=match.end}result+=escapeHtml(snippet.substring(lastIndex));if(end<text.length){result+="..."}return result}const DEFAULT_TRUNCATE_FIELDS=["content","desc","description"];const DEFAULT_NO_HIGHLIGHT_FIELDS=["url","link","href","query"];function createHighlightTemplateMiddleware(options2={}){const highlightOptions={className:options2.className||"search-highlight",maxLength:options2.maxLength,contextLength:options2.contextLength||30};const truncateFields=options2.truncateFields||DEFAULT_TRUNCATE_FIELDS;const noHighlightFields=options2.noHighlightFields||DEFAULT_NO_HIGHLIGHT_FIELDS;return function(prop,value,_template,query,matchInfo){if(typeof value!=="string"){return void 0}if(noHighlightFields.includes(prop)){return void 0}const shouldTruncate=truncateFields.includes(prop);if(matchInfo&&matchInfo.length>0&&query){const fieldOptions={...highlightOptions,maxLength:shouldTruncate?highlightOptions.maxLength:void 0};const highlighted=highlightWithMatchInfo(value,matchInfo,fieldOptions);return highlighted!==value?highlighted:void 0}if(shouldTruncate&&highlightOptions.maxLength&&value.length>highlightOptions.maxLength){return escapeHtml(value.substring(0,highlightOptions.maxLength-3)+"...")}return void 0}}function defaultHighlightMiddleware(prop,value,template,query,matchInfo){const middleware=createHighlightTemplateMiddleware();return middleware(prop,value,template,query,matchInfo)}function SimpleJekyllSearch(options2){const instance=new SimpleJekyllSearch$1;return instance.init(options2)}if(typeof window!=="undefined"){window.SimpleJekyllSearch=SimpleJekyllSearch;window.createHighlightTemplateMiddleware=createHighlightTemplateMiddleware}exports2.DefaultHybridSearchStrategy=DefaultHybridSearchStrategy;exports2.HybridSearchStrategy=HybridSearchStrategy;exports2.StrategyFactory=StrategyFactory;exports2.createHighlightTemplateMiddleware=createHighlightTemplateMiddleware;exports2.default=SimpleJekyllSearch;exports2.defaultHighlightMiddleware=defaultHighlightMiddleware;exports2.escapeHtml=escapeHtml;exports2.highlightWithMatchInfo=highlightWithMatchInfo;exports2.mergeOverlappingMatches=mergeOverlappingMatches;Object.defineProperties(exports2,{__esModule:{value:true},[Symbol.toStringTag]:{value:"Module"}})});
7
+ !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).SimpleJekyllSearch={})}(this,function(t){Object.defineProperties(t,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});var e=class{constructor(t){if(!this.validateParams(t))throw new Error("-- OptionsValidator: required options missing");this.requiredOptions=t.required}getRequiredOptions(){return this.requiredOptions}validate(t){const e=[];return this.requiredOptions.forEach(n=>{void 0===t[n]&&e.push(n)}),e}validateParams(t){return!!t&&void 0!==t.required&&Array.isArray(t.required)}};function n(t,e){const n=t.trim().toLowerCase(),r=e.endsWith(" ")?[e.toLowerCase()]:e.trim().toLowerCase().split(" ");if(r.filter(t=>n.indexOf(t)>=0).length!==r.length)return[];const i=[];for(const s of r){if(!s||0===s.length)continue;let e=0;for(;-1!==(e=n.indexOf(s,e));)i.push({start:e,end:e+s.length,text:t.substring(e,e+s.length),type:"exact"}),e+=s.length}return i}function r(t,e){if(0===(e=e.trimEnd()).length)return[];const n=t.toLowerCase(),r=e.toLowerCase();let i=0,s=0;const a=[];for(;i<t.length&&s<e.length;)n[i]===r[s]&&(a.push(i),s++),i++;if(s!==e.length)return[];const o=a[0],h=a[a.length-1]+1;return[{start:o,end:h,text:t.substring(o,h),type:"fuzzy"}]}function i(t,e,n={}){const r=e.replace(/\*/g,function(t){const e="number"!=typeof(n=t.maxSpaces)||Number.isNaN(n)||n<=0?0:Number.isFinite(n)?Math.floor(n):1/0;var n;return 0===e?"[^ ]*":e===1/0?"[^ ]*(?: [^ ]*)*":`[^ ]*(?: [^ ]*){0,${e}}`}(n)),i=new RegExp(r,"gi"),s=[];let a;for(;null!==(a=i.exec(t));)s.push({start:a.index,end:a.index+a[0].length,text:a[0],type:"wildcard"}),i.lastIndex===a.index&&i.lastIndex++;return s}var s=class{constructor(t){this.findMatchesFunction=t}matches(t,e){return!(null===t||""===t.trim()||!e)&&this.findMatchesFunction(t,e).length>0}findMatches(t,e){return null!==t&&""!==t.trim()&&e?this.findMatchesFunction(t,e):[]}},a=new s(n),o=new s((t,e)=>{const i=r(t,e);return i.length>0?i:n(t,e)}),h=class extends s{constructor(t={}){const e={...t};super((t,r)=>{const s=i(t,r,e);return s.length>0?s:n(t,r)}),this.config=e}getConfig(){return{...this.config}}},l={exact:100,fuzzy:50,wildcard:25};function c(t){return"title"===t?10:1}function u(t){if(t.length<2)return 0;const e=Math.min(...t.map(t=>t.start)),n=Math.max(...t.map(t=>t.end))-e-t.reduce((t,e)=>t+(e.end-e.start),0);return n<=0?80:Math.max(0,80-2*n)}function d(t){const e=t._matchInfo;if(!e||0===Object.keys(e).length)return 0;let n=0;for(const[r,i]of Object.entries(e)){const t=c(r);for(const e of i){let r=l[e.type]??0;r+=Math.max(0,50-2*e.start),n+=r*t}n+=u(i)*t}return n}function p(t,e){return d(e)-d(t)}function g(t){return Boolean(t)&&"[object Object]"===Object.prototype.toString.call(t)}var f={searchInput:null,resultsContainer:null,json:[],success:function(){},searchResultTemplate:'<li><a href="{url}" title="{desc}">{title}</a></li>',templateMiddleware:(t,e,n)=>{},sortMiddleware:function(){return 0},noResultsText:"No results found",limit:10,strategy:"literal",debounceTime:null,exclude:[],onSearch:()=>{},onError:t=>console.error("SimpleJekyllSearch error:",t),fuzzy:!1},m=["searchInput","resultsContainer","json"],y=new Set(["Enter","Shift","CapsLock","ArrowLeft","ArrowUp","ArrowRight","ArrowDown","Meta"]),S=class{constructor(t={},e=()=>a){this.data=[],this.excludePatterns=[],this.strategyResolver=e,this.setOptions(t)}put(t){return g(t)?this.addObject(t):Array.isArray(t)?this.addArray(t):void 0}clear(){return this.data.length=0,this.data}search(t){return t?this.findMatches(this.data,t).sort(this.options.sortMiddleware).map(t=>({...t})):[]}setOptions(t){let e=this.normalizeStrategyOption(t?.strategy??f.strategy);t?.fuzzy&&!t?.strategy&&(console.warn('[Simple Jekyll Search] Warning: fuzzy option is deprecated. Use strategy: "fuzzy" instead.'),e={type:"fuzzy"});const n=t?.exclude||f.exclude;this.excludePatterns=n.map(t=>new RegExp(t)),this.options={limit:t?.limit||f.limit,searchStrategy:this.searchStrategy(e),sortMiddleware:t?.sortMiddleware||f.sortMiddleware,exclude:n,strategy:e}}addObject(t){return this.data.push(t),this.data}addArray(t){const e=[];this.clear();for(const n of t)g(n)&&e.push(this.addObject(n)[0]);return e}findMatches(t,e){const n=[];for(let r=0;r<t.length&&n.length<this.options.limit;r++){const i=this.findMatchesInObject(t[r],e);i&&n.push(i)}return n}findMatchesInObject(t,e){let n=!1;const r={...t};r._matchInfo={};for(const i in t)if(!this.isExcluded(t[i])&&this.options.searchStrategy.matches(t[i],e)&&(n=!0,this.options.searchStrategy.findMatches)){const n=this.options.searchStrategy.findMatches(t[i],e);n&&n.length>0&&(r._matchInfo[i]=n)}return n?r:void 0}isExcluded(t){const e=String(t);return this.excludePatterns.some(t=>t.test(e))}searchStrategy(t){return this.strategyResolver(t)}normalizeStrategyOption(t){return t?"string"==typeof t?{type:t}:t:this.getDefaultStrategyConfig()}getDefaultStrategyConfig(){const t=f.strategy;return"string"==typeof t?{type:t}:t}},w={pattern:/\{(.*?)\}/g,template:"",middleware:function(){}},x=class{constructor(t){this.debounceTimerHandle=null,this.eventHandler=null,this.pageShowHandler=null,this.pendingRequest=null,this.isInitialized=!1,this.STORAGE_KEY="sjs-search-state",this.options={...f},this.repository=new S({},t),this.optionsValidator=new e({required:m})}debounce(t,e){e?(this.debounceTimerHandle&&clearTimeout(this.debounceTimerHandle),this.debounceTimerHandle=setTimeout(t,e)):t()}throwError(t){throw new Error(`SimpleJekyllSearch --- ${t}`)}emptyResultsContainer(){this.options.resultsContainer.innerHTML=""}initWithJSON(t){this.repository.put(t),this.registerInput()}initWithURL(t){!function(t,e){const n=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");n.open("GET",t,!0),n.onreadystatechange=function(t,e){return function(){if(4===t.readyState&&200===t.status)try{e(null,JSON.parse(t.responseText))}catch(n){e(n instanceof Error?n:new Error(String(n)),null)}}}(n,e),n.send()}(t,(e,n)=>{e&&this.throwError(`Failed to load JSON from ${t}: ${e.message}`),this.initWithJSON(n)})}registerInput(){this.eventHandler=t=>{try{const e=t;y.has(e.key)||(this.emptyResultsContainer(),this.debounce(()=>{try{this.search(t.target.value)}catch(e){console.error("Search error:",e),this.options.onError?.(e)}},this.options.debounceTime??null))}catch(e){console.error("Input handler error:",e),this.options.onError?.(e)}},this.options.searchInput.addEventListener("input",this.eventHandler),this.pageShowHandler=()=>{this.restoreSearchState()},window.addEventListener("pageshow",this.pageShowHandler),this.restoreSearchState()}saveSearchState(t){if(t?.trim())try{const e={query:t.trim(),timestamp:Date.now(),path:window.location.pathname};sessionStorage.setItem(this.STORAGE_KEY,JSON.stringify(e))}catch{}else this.clearSearchState()}getStoredSearchState(){try{const t=sessionStorage.getItem(this.STORAGE_KEY);if(!t)return null;const e=JSON.parse(t);return"string"!=typeof e?.query?null:Date.now()-e.timestamp>18e5||e.path&&e.path!==window.location.pathname?(this.clearSearchState(),null):e.query}catch{return this.clearSearchState(),null}}clearSearchState(){try{sessionStorage.removeItem(this.STORAGE_KEY)}catch{}}restoreSearchState(){if(this.options.resultsContainer.children.length>0)return;let t=this.options.searchInput.value?.trim();t||(t=this.getStoredSearchState()||""),t.length>0&&(this.options.searchInput.value=t,this.search(t))}search(t){if(t?.trim().length>0){this.saveSearchState(t),this.emptyResultsContainer();const e=this.repository.search(t);this.render(e,t),this.options.onSearch?.()}else this.clearSearchState()}render(t,e){if(0===t.length)return void this.options.resultsContainer.insertAdjacentHTML("beforeend",this.options.noResultsText);const n=document.createDocumentFragment();t.forEach(t=>{t.query=e;const r=document.createElement("div");r.innerHTML=function(t,e){return w.template.replace(w.pattern,function(n,r){const i=t._matchInfo?.[r];if(i&&i.length>0&&e){const n=w.middleware(r,t[r],w.template,e,i);if(void 0!==n)return n}if(e){const n=w.middleware(r,t[r],w.template,e);if(void 0!==n)return n}const s=w.middleware(r,t[r],w.template);return void 0!==s?s:t[r]||n})}(t,e),n.appendChild(r)}),this.options.resultsContainer.appendChild(n)}destroy(){this.eventHandler&&(this.options.searchInput.removeEventListener("input",this.eventHandler),this.eventHandler=null),this.pageShowHandler&&(window.removeEventListener("pageshow",this.pageShowHandler),this.pageShowHandler=null),this.debounceTimerHandle&&(clearTimeout(this.debounceTimerHandle),this.debounceTimerHandle=null),this.clearSearchState()}init(t){var e,n,r;this.optionsValidator.validate(t).length>0&&this.throwError(`Missing required options: ${m.join(", ")}`),this.options=(e=this.options,n=t,{...e,...n}),function(t){t.pattern&&(w.pattern=t.pattern),t.template&&(w.template=t.template),"function"==typeof t.middleware&&(w.middleware=t.middleware)}({template:this.options.searchResultTemplate,middleware:this.options.templateMiddleware}),this.repository.setOptions({limit:this.options.limit,sortMiddleware:this.options.sortMiddleware,strategy:this.options.strategy,exclude:this.options.exclude}),r=this.options.json,Array.isArray(r)||null!==r&&"object"==typeof r?this.initWithJSON(this.options.json):this.initWithURL(this.options.json);const i={search:this.search.bind(this),destroy:this.destroy.bind(this)};return this.options.success?.call(i),i}},b=class extends s{constructor(t={}){super((t,e)=>this.hybridFind(t,e)),this.config={...t,preferFuzzy:t.preferFuzzy??!1,wildcardPriority:t.wildcardPriority??!0,minFuzzyLength:t.minFuzzyLength??4,maxExtraFuzzyChars:t.maxExtraFuzzyChars??2,maxSpaces:t.maxSpaces??1}}hybridFind(t,e){if(this.config.wildcardPriority&&e.includes("*")){const n=i(t,e,this.config);if(n.length>0)return n}if(e.includes(" ")||e.length<this.config.minFuzzyLength){const r=n(t,e);if(r.length>0)return r}if(this.config.preferFuzzy||e.length>=this.config.minFuzzyLength){const n=r(t,e);if(n.length>0){const t=this.applyFuzzyConstraints(n,e);if(t.length>0)return t}}return n(t,e)}applyFuzzyConstraints(t,e){const n=this.config.maxExtraFuzzyChars;if(!Number.isFinite(n)||n<0)return t;const r=this.normalizeLength(e);return 0===r?t:t.filter(t=>{const e=this.normalizeLength(t.text);return Math.max(0,e-r)<=n})}normalizeLength(t){return t.replace(/\s+/g,"").length}},v=new b,z=class{static create(t={type:"literal"}){const{options:e}=t;switch(this.isValidStrategy(t.type)?t.type:"literal"){case"literal":default:return a;case"fuzzy":return o;case"wildcard":return new h(e);case"hybrid":return new b(e)}}static getAvailableStrategies(){return["literal","fuzzy","wildcard","hybrid"]}static isValidStrategy(t){return this.getAvailableStrategies().includes(t)}};function M(t){const e={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"};return t.replace(/[&<>"']/g,t=>e[t])}function L(t){if(0===t.length)return[];const e=[...t].sort((t,e)=>t.start-e.start),n=[{...e[0]}];for(let r=1;r<e.length;r++){const t=e[r],i=n[n.length-1];t.start<=i.end?i.end=Math.max(i.end,t.end):n.push({...t})}return n}function E(t,e,n={}){if(!t||0===e.length)return M(t);const r=n.className||"search-highlight",i=n.maxLength,s=L(e);let a="",o=0;for(const h of s)a+=M(t.substring(o,h.start)),a+=`<span class="${r}">${M(t.substring(h.start,h.end))}</span>`,o=h.end;return a+=M(t.substring(o)),i&&a.length>i&&(a=function(t,e,n,r,i){if(0===e.length)return M(t.substring(0,n-3))+"...";const s=e[0],a=Math.max(0,s.start-r),o=Math.min(t.length,s.end+r);let h="";a>0&&(h+="...");const l=t.substring(a,o),c=e.filter(t=>t.start<o&&t.end>a).map(t=>({...t,start:Math.max(0,t.start-a),end:Math.min(l.length,t.end-a)}));let u=0;for(const d of c)h+=M(l.substring(u,d.start)),h+=`<span class="${i}">${M(l.substring(d.start,d.end))}</span>`,u=d.end;return h+=M(l.substring(u)),o<t.length&&(h+="..."),h}(t,s,i,n.contextLength||30,r)),a}var O=["content","desc","description"],H=["url","link","href","query"];function T(t={}){const e={className:t.className||"search-highlight",maxLength:t.maxLength,contextLength:t.contextLength||30},n=t.truncateFields||O,r=t.noHighlightFields||H;return function(t,i,s,a,o){if("string"!=typeof i)return;if(r.includes(t))return;const h=n.includes(t);if(o&&o.length>0&&a){const t=E(i,o,{...e,maxLength:h?e.maxLength:void 0});return t!==i?t:void 0}return h&&e.maxLength&&i.length>e.maxLength?M(i.substring(0,e.maxLength-3)+"..."):void 0}}function C(t){return new x(t=>z.create(t)).init(t)}"undefined"!=typeof window&&(window.SimpleJekyllSearch=C,window.createHighlightTemplateMiddleware=T,window.RelevanceSort=p),t.DefaultHybridSearchStrategy=v,t.HybridSearchStrategy=b,t.RelevanceSort=p,t.StrategyFactory=z,t.createHighlightTemplateMiddleware=T,t.default=C,t.defaultHighlightMiddleware=function(t,e,n,r,i){return T()(t,e,n,r,i)},t.escapeHtml=M,t.highlightWithMatchInfo=E,t.mergeOverlappingMatches=L});
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: type-on-strap
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.5.0
4
+ version: 2.5.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sylhare
8
8
  - Rohan Chandra
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-02-26 00:00:00.000000000 Z
11
+ date: 2026-07-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll
@@ -84,8 +84,24 @@ dependencies:
84
84
  - - "<="
85
85
  - !ruby/object:Gem::Version
86
86
  version: '2.8'
87
- description: A simple and responsive jekyll theme template based on type-theme. Great
88
- for blogs, easy to customize and responsive.
87
+ - !ruby/object:Gem::Dependency
88
+ name: kramdown-parser-gfm
89
+ requirement: !ruby/object:Gem::Requirement
90
+ requirements:
91
+ - - ">="
92
+ - !ruby/object:Gem::Version
93
+ version: 1.1.0
94
+ type: :runtime
95
+ prerelease: false
96
+ version_requirements: !ruby/object:Gem::Requirement
97
+ requirements:
98
+ - - ">="
99
+ - !ruby/object:Gem::Version
100
+ version: 1.1.0
101
+ description: A free and open-source Jekyll theme for writers, developers, and creatives.
102
+ Includes portfolio and gallery pages, auto dark/light mode, full-text search, KaTeX
103
+ math rendering, Mermaid diagrams, multiple comment systems, and Bootstrap support.
104
+ Works as a Ruby gem or remote theme.
89
105
  email:
90
106
  - sylhare@outlook.com
91
107
  - hellorohan@outlook.com
@@ -173,101 +189,64 @@ files:
173
189
  - _sass/layouts/_search.scss
174
190
  - _sass/layouts/_tags.scss
175
191
  - _sass/type-on-strap.scss
176
- - assets/css/bootstrap-iso.less
177
192
  - assets/css/main.scss
178
- - assets/css/vendor/bootstrap-iso.css
179
- - assets/css/vendor/bootstrap-iso.min.css
180
- - assets/css/vendor/bootstrap.css
181
193
  - assets/data/search.liquid
182
- - assets/fonts/Pacifico/Pacifico.eot
183
- - assets/fonts/Pacifico/Pacifico.svg
184
- - assets/fonts/Pacifico/Pacifico.ttf
185
194
  - assets/fonts/Pacifico/Pacifico.woff
186
195
  - assets/fonts/Pacifico/Pacifico.woff2
187
- - assets/fonts/Pacifico/original-pacifico-regular.ttf
188
196
  - assets/fonts/font-awesome/fa-brands-400.ttf
189
197
  - assets/fonts/font-awesome/fa-brands-400.woff2
190
198
  - assets/fonts/font-awesome/fa-regular-400.ttf
191
199
  - assets/fonts/font-awesome/fa-regular-400.woff2
192
200
  - assets/fonts/font-awesome/fa-solid-900.ttf
193
201
  - assets/fonts/font-awesome/fa-solid-900.woff2
194
- - assets/fonts/font-awesome/fa-v4compatibility.ttf
195
- - assets/fonts/font-awesome/fa-v4compatibility.woff2
196
- - assets/fonts/katex/KaTeX_AMS-Regular.ttf
197
202
  - assets/fonts/katex/KaTeX_AMS-Regular.woff
198
203
  - assets/fonts/katex/KaTeX_AMS-Regular.woff2
199
- - assets/fonts/katex/KaTeX_Caligraphic-Bold.ttf
200
204
  - assets/fonts/katex/KaTeX_Caligraphic-Bold.woff
201
205
  - assets/fonts/katex/KaTeX_Caligraphic-Bold.woff2
202
- - assets/fonts/katex/KaTeX_Caligraphic-Regular.ttf
203
206
  - assets/fonts/katex/KaTeX_Caligraphic-Regular.woff
204
207
  - assets/fonts/katex/KaTeX_Caligraphic-Regular.woff2
205
- - assets/fonts/katex/KaTeX_Fraktur-Bold.ttf
206
208
  - assets/fonts/katex/KaTeX_Fraktur-Bold.woff
207
209
  - assets/fonts/katex/KaTeX_Fraktur-Bold.woff2
208
- - assets/fonts/katex/KaTeX_Fraktur-Regular.ttf
209
210
  - assets/fonts/katex/KaTeX_Fraktur-Regular.woff
210
211
  - assets/fonts/katex/KaTeX_Fraktur-Regular.woff2
211
- - assets/fonts/katex/KaTeX_Main-Bold.ttf
212
212
  - assets/fonts/katex/KaTeX_Main-Bold.woff
213
213
  - assets/fonts/katex/KaTeX_Main-Bold.woff2
214
- - assets/fonts/katex/KaTeX_Main-BoldItalic.ttf
215
214
  - assets/fonts/katex/KaTeX_Main-BoldItalic.woff
216
215
  - assets/fonts/katex/KaTeX_Main-BoldItalic.woff2
217
- - assets/fonts/katex/KaTeX_Main-Italic.ttf
218
216
  - assets/fonts/katex/KaTeX_Main-Italic.woff
219
217
  - assets/fonts/katex/KaTeX_Main-Italic.woff2
220
- - assets/fonts/katex/KaTeX_Main-Regular.ttf
221
218
  - assets/fonts/katex/KaTeX_Main-Regular.woff
222
219
  - assets/fonts/katex/KaTeX_Main-Regular.woff2
223
- - assets/fonts/katex/KaTeX_Math-BoldItalic.ttf
224
220
  - assets/fonts/katex/KaTeX_Math-BoldItalic.woff
225
221
  - assets/fonts/katex/KaTeX_Math-BoldItalic.woff2
226
- - assets/fonts/katex/KaTeX_Math-Italic.ttf
227
222
  - assets/fonts/katex/KaTeX_Math-Italic.woff
228
223
  - assets/fonts/katex/KaTeX_Math-Italic.woff2
229
- - assets/fonts/katex/KaTeX_SansSerif-Bold.ttf
230
224
  - assets/fonts/katex/KaTeX_SansSerif-Bold.woff
231
225
  - assets/fonts/katex/KaTeX_SansSerif-Bold.woff2
232
- - assets/fonts/katex/KaTeX_SansSerif-Italic.ttf
233
226
  - assets/fonts/katex/KaTeX_SansSerif-Italic.woff
234
227
  - assets/fonts/katex/KaTeX_SansSerif-Italic.woff2
235
- - assets/fonts/katex/KaTeX_SansSerif-Regular.ttf
236
228
  - assets/fonts/katex/KaTeX_SansSerif-Regular.woff
237
229
  - assets/fonts/katex/KaTeX_SansSerif-Regular.woff2
238
- - assets/fonts/katex/KaTeX_Script-Regular.ttf
239
230
  - assets/fonts/katex/KaTeX_Script-Regular.woff
240
231
  - assets/fonts/katex/KaTeX_Script-Regular.woff2
241
- - assets/fonts/katex/KaTeX_Size1-Regular.ttf
242
232
  - assets/fonts/katex/KaTeX_Size1-Regular.woff
243
233
  - assets/fonts/katex/KaTeX_Size1-Regular.woff2
244
- - assets/fonts/katex/KaTeX_Size2-Regular.ttf
245
234
  - assets/fonts/katex/KaTeX_Size2-Regular.woff
246
235
  - assets/fonts/katex/KaTeX_Size2-Regular.woff2
247
- - assets/fonts/katex/KaTeX_Size3-Regular.ttf
248
236
  - assets/fonts/katex/KaTeX_Size3-Regular.woff
249
237
  - assets/fonts/katex/KaTeX_Size3-Regular.woff2
250
- - assets/fonts/katex/KaTeX_Size4-Regular.ttf
251
238
  - assets/fonts/katex/KaTeX_Size4-Regular.woff
252
239
  - assets/fonts/katex/KaTeX_Size4-Regular.woff2
253
- - assets/fonts/katex/KaTeX_Typewriter-Regular.ttf
254
240
  - assets/fonts/katex/KaTeX_Typewriter-Regular.woff
255
241
  - assets/fonts/katex/KaTeX_Typewriter-Regular.woff2
256
242
  - assets/fonts/source-sans-pro/source-sans-pro-bold-italic.woff2
257
243
  - assets/fonts/source-sans-pro/source-sans-pro-bold.woff2
258
244
  - assets/fonts/source-sans-pro/source-sans-pro-italic.woff2
259
245
  - assets/fonts/source-sans-pro/source-sans-pro-regular.woff2
260
- - assets/js/comments-lazy-load.js
261
246
  - assets/js/comments-lazy-load.min.js
262
247
  - assets/js/main.min.js
263
- - assets/js/partials/cookie_consent_init.js
264
- - assets/js/partials/dark-mode.js
265
- - assets/js/partials/masonry_init.js
266
- - assets/js/partials/navbar.js
267
- - assets/js/vendor/imagesloaded.pkgd.min.js
268
248
  - assets/js/vendor/katex.auto-render.min.js
269
249
  - assets/js/vendor/katex.min.js
270
- - assets/js/vendor/masonry.pkgd.min.js
271
250
  - assets/js/vendor/mermaid.min.js
272
251
  - assets/js/vendor/simple-jekyll-search.min.js
273
252
  homepage: https://github.com/sylhare/Type-on-Strap
@@ -295,5 +274,6 @@ required_rubygems_version: !ruby/object:Gem::Requirement
295
274
  requirements: []
296
275
  rubygems_version: 3.6.2
297
276
  specification_version: 4
298
- summary: A simple and responsive jekyll theme template
277
+ summary: Feature-rich Jekyll theme with portfolio, gallery, dark mode, search, KaTeX
278
+ and Mermaid
299
279
  test_files: []
@@ -1,12 +0,0 @@
1
- /*
2
- To create an isolated version of Bootstrap
3
- Use Gulp (npm install) in order to compile it:
4
-
5
- gulp isolate-bootstrap-css
6
-
7
- */
8
-
9
- .bootstrap-iso {
10
- @import (less) 'vendor/bootstrap.css';
11
- /*@import (less) 'vendor/bootstrap-theme.css'; //optional */
12
- }