jekyll-bonsai 0.0.3 → 0.0.7

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 (193) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +676 -0
  3. data/README.md +3 -5
  4. data/_config.yml +173 -76
  5. data/_data/emoji.yml +45 -0
  6. data/_data/themes.yml +145 -0
  7. data/_includes/anchor-headings.html +5 -1
  8. data/_includes/btn_state.html +14 -0
  9. data/_includes/connect.html +11 -9
  10. data/_includes/cookie-consent.html +79 -0
  11. data/_includes/dates.html +22 -0
  12. data/_includes/hp-tooltip.html +106 -0
  13. data/_includes/img/bullet-net-web.svg +1 -1
  14. data/_includes/img/bullet-tree.svg +1 -1
  15. data/_includes/img/pencil-filter.svg +17 -0
  16. data/_includes/share.html +10 -8
  17. data/_includes/site-nav.html +83 -37
  18. data/_includes/tags.html +49 -0
  19. data/_includes/themes.scss.liquid +80 -0
  20. data/_includes/toc.html +187 -0
  21. data/_layouts/404.html +10 -0
  22. data/_layouts/about.html +14 -0
  23. data/_layouts/archive.html +77 -0
  24. data/_layouts/base.html +68 -0
  25. data/_layouts/book.html +40 -0
  26. data/_layouts/entry.html +238 -93
  27. data/_layouts/home.html +96 -0
  28. data/_layouts/post.html +30 -22
  29. data/_layouts/privacy.html +15 -0
  30. data/_layouts/recent.html +66 -0
  31. data/_layouts/state.html +54 -43
  32. data/_sass/base/_code.scss +133 -0
  33. data/_sass/base/_layout.scss +30 -29
  34. data/_sass/base/_link.scss +105 -0
  35. data/_sass/base/_main.scss +19 -126
  36. data/_sass/base/_markdown.scss +281 -0
  37. data/_sass/base/_typography.scss +81 -67
  38. data/_sass/base/code_themes/_gruvbox.scss +92 -0
  39. data/_sass/base/code_themes/_monokai.scss +217 -0
  40. data/_sass/base/code_themes/_solarized.scss +84 -0
  41. data/_sass/components/_btn.scss +95 -0
  42. data/_sass/components/_infobox.scss +48 -0
  43. data/_sass/components/_item.scss +28 -0
  44. data/_sass/components/_search.scss +61 -0
  45. data/_sass/components/_tag_pills.scss +24 -0
  46. data/_sass/components/_visited.scss +42 -0
  47. data/_sass/includes/_anchor_headings.scss +36 -0
  48. data/_sass/includes/_connect.scss +8 -0
  49. data/_sass/includes/_cookie_consent.scss +46 -0
  50. data/_sass/includes/_dates.scss +6 -0
  51. data/_sass/includes/_hp_tooltip.scss +41 -0
  52. data/_sass/includes/_share.scss +10 -0
  53. data/_sass/includes/_site_nav.scss +26 -150
  54. data/_sass/includes/_svg.scss +89 -0
  55. data/_sass/includes/_toc.scss +38 -0
  56. data/_sass/layouts/_404.scss +3 -0
  57. data/_sass/layouts/_about.scss +3 -0
  58. data/_sass/layouts/_archive.scss +26 -0
  59. data/_sass/layouts/_book.scss +17 -0
  60. data/_sass/layouts/_entry.scss +140 -0
  61. data/_sass/layouts/_home.scss +75 -0
  62. data/_sass/layouts/_post.scss +17 -0
  63. data/_sass/layouts/_privacy.scss +3 -0
  64. data/_sass/layouts/_recent.scss +77 -0
  65. data/_sass/layouts/_state.scss +98 -0
  66. data/_sass/main.scss +72 -0
  67. data/_sass/{support → util}/_functions.scss +0 -0
  68. data/_sass/{support → util}/_variables.scss +21 -87
  69. data/_sass/{support → util}/mixins/_buttons.scss +0 -0
  70. data/_sass/util/mixins/_layout.scss +81 -0
  71. data/_sass/{support → util}/mixins/_typography.scss +0 -0
  72. data/assets/css/styles.scss +29 -6
  73. data/assets/img/bonsai-star.png +0 -0
  74. data/assets/img/bonsai-star.svg +1 -0
  75. data/assets/img/books/the-ancient-art-of-bonsai.png +0 -0
  76. data/assets/img/nav-base-star.svg +1 -0
  77. data/assets/img/nav-bonsai-star.svg +1 -0
  78. data/assets/js/entry.js +33 -5
  79. data/assets/js/graph.js +21 -509
  80. data/assets/js/scripts.js +41 -57
  81. data/assets/js/search.js +165 -0
  82. data/assets/js/site-nav.js +99 -99
  83. data/assets/js/theme-colors.js +23 -37
  84. data/assets/js/vendor/lunr.js +3475 -0
  85. data/assets/js/vendor/lunr.min.js +6 -0
  86. data/assets/js/visited-nav.js +65 -0
  87. metadata +145 -150
  88. data/_entries/digital-garden.bonsai.md +0 -36
  89. data/_entries/digital-garden.field-logs.md +0 -10
  90. data/_entries/digital-garden.fork.md +0 -10
  91. data/_entries/digital-garden.md +0 -17
  92. data/_entries/digital-garden.path.md +0 -11
  93. data/_entries/digital-garden.plants.md +0 -12
  94. data/_entries/digital-garden.pollinate.md +0 -10
  95. data/_entries/digital-garden.steps.md +0 -10
  96. data/_entries/digital-garden.stream.md +0 -12
  97. data/_entries/digital-garden.sweep.md +0 -12
  98. data/_entries/digital-garden.weather.md +0 -12
  99. data/_entries/features.md +0 -10
  100. data/_entries/features.notes.hover-preview.md +0 -10
  101. data/_entries/features.notes.md +0 -12
  102. data/_entries/features.notes.note-body.md +0 -12
  103. data/_entries/features.notes.note-body.share.md +0 -10
  104. data/_entries/features.notes.note-body.sidenotes.md +0 -52
  105. data/_entries/features.notes.note-foot.links.md +0 -10
  106. data/_entries/features.notes.note-foot.md +0 -11
  107. data/_entries/features.notes.note-foot.posts.md +0 -10
  108. data/_entries/features.notes.note-foot.webmentions.md +0 -10
  109. data/_entries/features.notes.note-head.md +0 -10
  110. data/_entries/features.pages.field-blogs.md +0 -10
  111. data/_entries/features.pages.md +0 -12
  112. data/_entries/features.pages.recent.md +0 -10
  113. data/_entries/features.pages.status-tags.md +0 -10
  114. data/_entries/features.site-nav.graph.links.md +0 -10
  115. data/_entries/features.site-nav.graph.links.namespacing.md +0 -14
  116. data/_entries/features.site-nav.graph.links.wikilinks.md +0 -25
  117. data/_entries/features.site-nav.graph.md +0 -12
  118. data/_entries/features.site-nav.graph.nodes.current-note.md +0 -10
  119. data/_entries/features.site-nav.graph.nodes.md +0 -12
  120. data/_entries/features.site-nav.graph.nodes.mia.missing-note.md +0 -20
  121. data/_entries/features.site-nav.graph.nodes.visited-status.md +0 -10
  122. data/_entries/features.site-nav.graph.toggle-graph.md +0 -13
  123. data/_entries/features.site-nav.graph.type.md +0 -16
  124. data/_entries/features.site-nav.graph.type.net-web.md +0 -10
  125. data/_entries/features.site-nav.graph.type.tree.md +0 -12
  126. data/_entries/features.site-nav.md +0 -10
  127. data/_entries/features.site-nav.visited.md +0 -14
  128. data/_entries/features.tags.md +0 -13
  129. data/_entries/features.themes.dark.md +0 -12
  130. data/_entries/features.themes.light.md +0 -10
  131. data/_entries/features.themes.md +0 -12
  132. data/_entries/features.visited.delete-data.md +0 -10
  133. data/_entries/features.visited.md +0 -12
  134. data/_entries/features.visitor-preferences.md +0 -27
  135. data/_entries/feedback.md +0 -10
  136. data/_entries/people.creator.md +0 -12
  137. data/_entries/people.md +0 -13
  138. data/_entries/people.visitors.md +0 -12
  139. data/_entries/plugins.jekyll-wikilinks.md +0 -10
  140. data/_entries/plugins.md +0 -10
  141. data/_entries/root.md +0 -26
  142. data/_includes/entry-attrs.html +0 -27
  143. data/_includes/head.html +0 -23
  144. data/_includes/hover-preview.html +0 -84
  145. data/_includes/metrics.html +0 -10
  146. data/_includes/styles.scss.liquid +0 -3
  147. data/_layouts/default.html +0 -39
  148. data/_pages/about.md +0 -7
  149. data/_pages/posts.html +0 -19
  150. data/_pages/recent.html +0 -48
  151. data/_plugins/doc_filters.rb +0 -44
  152. data/_plugins/prep_entry.rb +0 -43
  153. data/_plugins/sidenote.rb +0 -123
  154. data/_plugins/tags.rb +0 -52
  155. data/_sass/base/base.scss +0 -3
  156. data/_sass/color/dark.scss +0 -58
  157. data/_sass/color/light.scss +0 -58
  158. data/_sass/includes/_btn.scss +0 -106
  159. data/_sass/includes/_graph.scss +0 -69
  160. data/_sass/includes/_nav.scss +0 -89
  161. data/_sass/includes/_tooltip.scss +0 -29
  162. data/_sass/includes/includes.scss +0 -9
  163. data/_sass/markdown/_code.scss +0 -340
  164. data/_sass/markdown/_content.scss +0 -400
  165. data/_sass/markdown/_tables.scss +0 -60
  166. data/_sass/markdown/markdown.scss +0 -7
  167. data/_sass/modules.scss +0 -14
  168. data/_sass/pages/_index.scss +0 -72
  169. data/_sass/pages/_posts.scss +0 -17
  170. data/_sass/pages/_recent.scss +0 -26
  171. data/_sass/pages/_state.scss +0 -72
  172. data/_sass/pages/pages.scss +0 -4
  173. data/_sass/support/mixins/_layout.scss +0 -56
  174. data/_sass/support/mixins/mixins.scss +0 -3
  175. data/_sass/support/support.scss +0 -3
  176. data/_states/bamboo.md +0 -8
  177. data/_states/berry.md +0 -8
  178. data/_states/bloom.md +0 -8
  179. data/_states/bud.md +0 -6
  180. data/_states/fruit.md +0 -8
  181. data/_states/melon.md +0 -8
  182. data/_states/pot-bamboo.md +0 -8
  183. data/_states/seed.md +0 -8
  184. data/_states/sprout.md +0 -8
  185. data/_states/tags.md +0 -8
  186. data/_states/tea.md +0 -8
  187. data/assets/css/styles-dark.scss +0 -3
  188. data/assets/css/styles-light.scss +0 -3
  189. data/assets/img/nav-dot-dark.svg +0 -1
  190. data/assets/img/nav-dot-light.svg +0 -1
  191. data/assets/img/nav-wiki-links-dark.svg +0 -1
  192. data/assets/img/nav-wiki-links-light.svg +0 -1
  193. data/index.html +0 -82
@@ -0,0 +1,6 @@
1
+ /**
2
+ * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.6
3
+ * Copyright (C) 2019 Oliver Nightingale
4
+ * @license MIT
5
+ */
6
+ !function(){var e=function(t){var r=new e.Builder;return r.pipeline.add(e.trimmer,e.stopWordFilter,e.stemmer),r.searchPipeline.add(e.stemmer),t.call(r,r),r.build()};e.version="2.3.6",e.utils={},e.utils.warn=function(e){return function(t){e.console&&console.warn&&console.warn(t)}}(this),e.utils.asString=function(e){return void 0===e||null===e?"":e.toString()},e.utils.clone=function(e){if(null===e||void 0===e)return e;for(var t=Object.create(null),r=Object.keys(e),i=0;i<r.length;i++){var n=r[i],s=e[n];if(Array.isArray(s))t[n]=s.slice();else{if("string"!=typeof s&&"number"!=typeof s&&"boolean"!=typeof s)throw new TypeError("clone is not deep and does not support nested objects");t[n]=s}}return t},e.FieldRef=function(e,t,r){this.docRef=e,this.fieldName=t,this._stringValue=r},e.FieldRef.joiner="/",e.FieldRef.fromString=function(t){var r=t.indexOf(e.FieldRef.joiner);if(r===-1)throw"malformed field ref string";var i=t.slice(0,r),n=t.slice(r+1);return new e.FieldRef(n,i,t)},e.FieldRef.prototype.toString=function(){return void 0==this._stringValue&&(this._stringValue=this.fieldName+e.FieldRef.joiner+this.docRef),this._stringValue},e.Set=function(e){if(this.elements=Object.create(null),e){this.length=e.length;for(var t=0;t<this.length;t++)this.elements[e[t]]=!0}else this.length=0},e.Set.complete={intersect:function(e){return e},union:function(e){return e},contains:function(){return!0}},e.Set.empty={intersect:function(){return this},union:function(e){return e},contains:function(){return!1}},e.Set.prototype.contains=function(e){return!!this.elements[e]},e.Set.prototype.intersect=function(t){var r,i,n,s=[];if(t===e.Set.complete)return this;if(t===e.Set.empty)return t;this.length<t.length?(r=this,i=t):(r=t,i=this),n=Object.keys(r.elements);for(var o=0;o<n.length;o++){var a=n[o];a in i.elements&&s.push(a)}return new e.Set(s)},e.Set.prototype.union=function(t){return t===e.Set.complete?e.Set.complete:t===e.Set.empty?this:new e.Set(Object.keys(this.elements).concat(Object.keys(t.elements)))},e.idf=function(e,t){var r=0;for(var i in e)"_index"!=i&&(r+=Object.keys(e[i]).length);var n=(t-r+.5)/(r+.5);return Math.log(1+Math.abs(n))},e.Token=function(e,t){this.str=e||"",this.metadata=t||{}},e.Token.prototype.toString=function(){return this.str},e.Token.prototype.update=function(e){return this.str=e(this.str,this.metadata),this},e.Token.prototype.clone=function(t){return t=t||function(e){return e},new e.Token(t(this.str,this.metadata),this.metadata)},e.tokenizer=function(t,r){if(null==t||void 0==t)return[];if(Array.isArray(t))return t.map(function(t){return new e.Token(e.utils.asString(t).toLowerCase(),e.utils.clone(r))});for(var i=t.toString().trim().toLowerCase(),n=i.length,s=[],o=0,a=0;o<=n;o++){var u=i.charAt(o),l=o-a;if(u.match(e.tokenizer.separator)||o==n){if(l>0){var c=e.utils.clone(r)||{};c.position=[a,l],c.index=s.length,s.push(new e.Token(i.slice(a,o),c))}a=o+1}}return s},e.tokenizer.separator=/[\s\-]+/,e.Pipeline=function(){this._stack=[]},e.Pipeline.registeredFunctions=Object.create(null),e.Pipeline.registerFunction=function(t,r){r in this.registeredFunctions&&e.utils.warn("Overwriting existing registered function: "+r),t.label=r,e.Pipeline.registeredFunctions[t.label]=t},e.Pipeline.warnIfFunctionNotRegistered=function(t){var r=t.label&&t.label in this.registeredFunctions;r||e.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",t)},e.Pipeline.load=function(t){var r=new e.Pipeline;return t.forEach(function(t){var i=e.Pipeline.registeredFunctions[t];if(!i)throw new Error("Cannot load unregistered function: "+t);r.add(i)}),r},e.Pipeline.prototype.add=function(){var t=Array.prototype.slice.call(arguments);t.forEach(function(t){e.Pipeline.warnIfFunctionNotRegistered(t),this._stack.push(t)},this)},e.Pipeline.prototype.after=function(t,r){e.Pipeline.warnIfFunctionNotRegistered(r);var i=this._stack.indexOf(t);if(i==-1)throw new Error("Cannot find existingFn");i+=1,this._stack.splice(i,0,r)},e.Pipeline.prototype.before=function(t,r){e.Pipeline.warnIfFunctionNotRegistered(r);var i=this._stack.indexOf(t);if(i==-1)throw new Error("Cannot find existingFn");this._stack.splice(i,0,r)},e.Pipeline.prototype.remove=function(e){var t=this._stack.indexOf(e);t!=-1&&this._stack.splice(t,1)},e.Pipeline.prototype.run=function(e){for(var t=this._stack.length,r=0;r<t;r++){for(var i=this._stack[r],n=[],s=0;s<e.length;s++){var o=i(e[s],s,e);if(void 0!==o&&""!==o)if(Array.isArray(o))for(var a=0;a<o.length;a++)n.push(o[a]);else n.push(o)}e=n}return e},e.Pipeline.prototype.runString=function(t,r){var i=new e.Token(t,r);return this.run([i]).map(function(e){return e.toString()})},e.Pipeline.prototype.reset=function(){this._stack=[]},e.Pipeline.prototype.toJSON=function(){return this._stack.map(function(t){return e.Pipeline.warnIfFunctionNotRegistered(t),t.label})},e.Vector=function(e){this._magnitude=0,this.elements=e||[]},e.Vector.prototype.positionForIndex=function(e){if(0==this.elements.length)return 0;for(var t=0,r=this.elements.length/2,i=r-t,n=Math.floor(i/2),s=this.elements[2*n];i>1&&(s<e&&(t=n),s>e&&(r=n),s!=e);)i=r-t,n=t+Math.floor(i/2),s=this.elements[2*n];return s==e?2*n:s>e?2*n:s<e?2*(n+1):void 0},e.Vector.prototype.insert=function(e,t){this.upsert(e,t,function(){throw"duplicate index"})},e.Vector.prototype.upsert=function(e,t,r){this._magnitude=0;var i=this.positionForIndex(e);this.elements[i]==e?this.elements[i+1]=r(this.elements[i+1],t):this.elements.splice(i,0,e,t)},e.Vector.prototype.magnitude=function(){if(this._magnitude)return this._magnitude;for(var e=0,t=this.elements.length,r=1;r<t;r+=2){var i=this.elements[r];e+=i*i}return this._magnitude=Math.sqrt(e)},e.Vector.prototype.dot=function(e){for(var t=0,r=this.elements,i=e.elements,n=r.length,s=i.length,o=0,a=0,u=0,l=0;u<n&&l<s;)o=r[u],a=i[l],o<a?u+=2:o>a?l+=2:o==a&&(t+=r[u+1]*i[l+1],u+=2,l+=2);return t},e.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},e.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),t=1,r=0;t<this.elements.length;t+=2,r++)e[r]=this.elements[t];return e},e.Vector.prototype.toJSON=function(){return this.elements},e.stemmer=function(){var e={ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log"},t={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},r="[^aeiou]",i="[aeiouy]",n=r+"[^aeiouy]*",s=i+"[aeiou]*",o="^("+n+")?"+s+n,a="^("+n+")?"+s+n+"("+s+")?$",u="^("+n+")?"+s+n+s+n,l="^("+n+")?"+i,c=new RegExp(o),h=new RegExp(u),d=new RegExp(a),f=new RegExp(l),p=/^(.+?)(ss|i)es$/,y=/^(.+?)([^s])s$/,m=/^(.+?)eed$/,v=/^(.+?)(ed|ing)$/,g=/.$/,x=/(at|bl|iz)$/,w=new RegExp("([^aeiouylsz])\\1$"),Q=new RegExp("^"+n+i+"[^aeiouwxy]$"),k=/^(.+?[^aeiou])y$/,S=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,E=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,L=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,b=/^(.+?)(s|t)(ion)$/,P=/^(.+?)e$/,T=/ll$/,O=new RegExp("^"+n+i+"[^aeiouwxy]$"),I=function(r){var i,n,s,o,a,u,l;if(r.length<3)return r;if(s=r.substr(0,1),"y"==s&&(r=s.toUpperCase()+r.substr(1)),o=p,a=y,o.test(r)?r=r.replace(o,"$1$2"):a.test(r)&&(r=r.replace(a,"$1$2")),o=m,a=v,o.test(r)){var I=o.exec(r);o=c,o.test(I[1])&&(o=g,r=r.replace(o,""))}else if(a.test(r)){var I=a.exec(r);i=I[1],a=f,a.test(i)&&(r=i,a=x,u=w,l=Q,a.test(r)?r+="e":u.test(r)?(o=g,r=r.replace(o,"")):l.test(r)&&(r+="e"))}if(o=k,o.test(r)){var I=o.exec(r);i=I[1],r=i+"i"}if(o=S,o.test(r)){var I=o.exec(r);i=I[1],n=I[2],o=c,o.test(i)&&(r=i+e[n])}if(o=E,o.test(r)){var I=o.exec(r);i=I[1],n=I[2],o=c,o.test(i)&&(r=i+t[n])}if(o=L,a=b,o.test(r)){var I=o.exec(r);i=I[1],o=h,o.test(i)&&(r=i)}else if(a.test(r)){var I=a.exec(r);i=I[1]+I[2],a=h,a.test(i)&&(r=i)}if(o=P,o.test(r)){var I=o.exec(r);i=I[1],o=h,a=d,u=O,(o.test(i)||a.test(i)&&!u.test(i))&&(r=i)}return o=T,a=h,o.test(r)&&a.test(r)&&(o=g,r=r.replace(o,"")),"y"==s&&(r=s.toLowerCase()+r.substr(1)),r};return function(e){return e.update(I)}}(),e.Pipeline.registerFunction(e.stemmer,"stemmer"),e.generateStopWordFilter=function(e){var t=e.reduce(function(e,t){return e[t]=t,e},{});return function(e){if(e&&t[e.toString()]!==e.toString())return e}},e.stopWordFilter=e.generateStopWordFilter(["a","able","about","across","after","all","almost","also","am","among","an","and","any","are","as","at","be","because","been","but","by","can","cannot","could","dear","did","do","does","either","else","ever","every","for","from","get","got","had","has","have","he","her","hers","him","his","how","however","i","if","in","into","is","it","its","just","least","let","like","likely","may","me","might","most","must","my","neither","no","nor","not","of","off","often","on","only","or","other","our","own","rather","said","say","says","she","should","since","so","some","than","that","the","their","them","then","there","these","they","this","tis","to","too","twas","us","wants","was","we","were","what","when","where","which","while","who","whom","why","will","with","would","yet","you","your"]),e.Pipeline.registerFunction(e.stopWordFilter,"stopWordFilter"),e.trimmer=function(e){return e.update(function(e){return e.replace(/^\W+/,"").replace(/\W+$/,"")})},e.Pipeline.registerFunction(e.trimmer,"trimmer"),e.TokenSet=function(){this["final"]=!1,this.edges={},this.id=e.TokenSet._nextId,e.TokenSet._nextId+=1},e.TokenSet._nextId=1,e.TokenSet.fromArray=function(t){for(var r=new e.TokenSet.Builder,i=0,n=t.length;i<n;i++)r.insert(t[i]);return r.finish(),r.root},e.TokenSet.fromClause=function(t){return"editDistance"in t?e.TokenSet.fromFuzzyString(t.term,t.editDistance):e.TokenSet.fromString(t.term)},e.TokenSet.fromFuzzyString=function(t,r){for(var i=new e.TokenSet,n=[{node:i,editsRemaining:r,str:t}];n.length;){var s=n.pop();if(s.str.length>0){var o,a=s.str.charAt(0);a in s.node.edges?o=s.node.edges[a]:(o=new e.TokenSet,s.node.edges[a]=o),1==s.str.length&&(o["final"]=!0),n.push({node:o,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(0!=s.editsRemaining){if("*"in s.node.edges)var u=s.node.edges["*"];else{var u=new e.TokenSet;s.node.edges["*"]=u}if(0==s.str.length&&(u["final"]=!0),n.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&n.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),1==s.str.length&&(s.node["final"]=!0),s.str.length>=1){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new e.TokenSet;s.node.edges["*"]=l}1==s.str.length&&(l["final"]=!0),n.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var c,h=s.str.charAt(0),d=s.str.charAt(1);d in s.node.edges?c=s.node.edges[d]:(c=new e.TokenSet,s.node.edges[d]=c),1==s.str.length&&(c["final"]=!0),n.push({node:c,editsRemaining:s.editsRemaining-1,str:h+s.str.slice(2)})}}}return i},e.TokenSet.fromString=function(t){for(var r=new e.TokenSet,i=r,n=0,s=t.length;n<s;n++){var o=t[n],a=n==s-1;if("*"==o)r.edges[o]=r,r["final"]=a;else{var u=new e.TokenSet;u["final"]=a,r.edges[o]=u,r=u}}return i},e.TokenSet.prototype.toArray=function(){for(var e=[],t=[{prefix:"",node:this}];t.length;){var r=t.pop(),i=Object.keys(r.node.edges),n=i.length;r.node["final"]&&(r.prefix.charAt(0),e.push(r.prefix));for(var s=0;s<n;s++){var o=i[s];t.push({prefix:r.prefix.concat(o),node:r.node.edges[o]})}}return e},e.TokenSet.prototype.toString=function(){if(this._str)return this._str;for(var e=this["final"]?"1":"0",t=Object.keys(this.edges).sort(),r=t.length,i=0;i<r;i++){var n=t[i],s=this.edges[n];e=e+n+s.id}return e},e.TokenSet.prototype.intersect=function(t){for(var r=new e.TokenSet,i=void 0,n=[{qNode:t,output:r,node:this}];n.length;){i=n.pop();for(var s=Object.keys(i.qNode.edges),o=s.length,a=Object.keys(i.node.edges),u=a.length,l=0;l<o;l++)for(var c=s[l],h=0;h<u;h++){var d=a[h];if(d==c||"*"==c){var f=i.node.edges[d],p=i.qNode.edges[c],y=f["final"]&&p["final"],m=void 0;d in i.output.edges?(m=i.output.edges[d],m["final"]=m["final"]||y):(m=new e.TokenSet,m["final"]=y,i.output.edges[d]=m),n.push({qNode:p,output:m,node:f})}}}return r},e.TokenSet.Builder=function(){this.previousWord="",this.root=new e.TokenSet,this.uncheckedNodes=[],this.minimizedNodes={}},e.TokenSet.Builder.prototype.insert=function(t){var r,i=0;if(t<this.previousWord)throw new Error("Out of order word insertion");for(var n=0;n<t.length&&n<this.previousWord.length&&t[n]==this.previousWord[n];n++)i++;this.minimize(i),r=0==this.uncheckedNodes.length?this.root:this.uncheckedNodes[this.uncheckedNodes.length-1].child;for(var n=i;n<t.length;n++){var s=new e.TokenSet,o=t[n];r.edges[o]=s,this.uncheckedNodes.push({parent:r,"char":o,child:s}),r=s}r["final"]=!0,this.previousWord=t},e.TokenSet.Builder.prototype.finish=function(){this.minimize(0)},e.TokenSet.Builder.prototype.minimize=function(e){for(var t=this.uncheckedNodes.length-1;t>=e;t--){var r=this.uncheckedNodes[t],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r["char"]]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.child),this.uncheckedNodes.pop()}},e.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},e.Index.prototype.search=function(t){return this.query(function(r){var i=new e.QueryParser(t,r);i.parse()})},e.Index.prototype.query=function(t){for(var r=new e.Query(this.fields),i=Object.create(null),n=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),u=0;u<this.fields.length;u++)n[this.fields[u]]=new e.Vector;t.call(r,r);for(var u=0;u<r.clauses.length;u++){var l=r.clauses[u],c=null,h=e.Set.complete;c=l.usePipeline?this.pipeline.runString(l.term,{fields:l.fields}):[l.term];for(var d=0;d<c.length;d++){var f=c[d];l.term=f;var p=e.TokenSet.fromClause(l),y=this.tokenSet.intersect(p).toArray();if(0===y.length&&l.presence===e.Query.presence.REQUIRED){for(var m=0;m<l.fields.length;m++){var v=l.fields[m];o[v]=e.Set.empty}break}for(var g=0;g<y.length;g++)for(var x=y[g],w=this.invertedIndex[x],Q=w._index,m=0;m<l.fields.length;m++){var v=l.fields[m],k=w[v],S=Object.keys(k),E=x+"/"+v,L=new e.Set(S);if(l.presence==e.Query.presence.REQUIRED&&(h=h.union(L),void 0===o[v]&&(o[v]=e.Set.complete)),l.presence!=e.Query.presence.PROHIBITED){if(n[v].upsert(Q,l.boost,function(e,t){return e+t}),!s[E]){for(var b=0;b<S.length;b++){var P,T=S[b],O=new e.FieldRef(T,v),I=k[T];void 0===(P=i[O])?i[O]=new e.MatchData(x,v,I):P.add(x,v,I)}s[E]=!0}}else void 0===a[v]&&(a[v]=e.Set.empty),a[v]=a[v].union(L)}}if(l.presence===e.Query.presence.REQUIRED)for(var m=0;m<l.fields.length;m++){var v=l.fields[m];o[v]=o[v].intersect(h)}}for(var R=e.Set.complete,F=e.Set.empty,u=0;u<this.fields.length;u++){var v=this.fields[u];o[v]&&(R=R.intersect(o[v])),a[v]&&(F=F.union(a[v]))}var C=Object.keys(i),N=[],_=Object.create(null);if(r.isNegated()){C=Object.keys(this.fieldVectors);for(var u=0;u<C.length;u++){var O=C[u],j=e.FieldRef.fromString(O);i[O]=new e.MatchData}}for(var u=0;u<C.length;u++){var j=e.FieldRef.fromString(C[u]),D=j.docRef;if(R.contains(D)&&!F.contains(D)){var A,B=this.fieldVectors[j],V=n[j.fieldName].similarity(B);if(void 0!==(A=_[D]))A.score+=V,A.matchData.combine(i[j]);else{var z={ref:D,score:V,matchData:i[j]};_[D]=z,N.push(z)}}}return N.sort(function(e,t){return t.score-e.score})},e.Index.prototype.toJSON=function(){var t=Object.keys(this.invertedIndex).sort().map(function(e){return[e,this.invertedIndex[e]]},this),r=Object.keys(this.fieldVectors).map(function(e){return[e,this.fieldVectors[e].toJSON()]},this);return{version:e.version,fields:this.fields,fieldVectors:r,invertedIndex:t,pipeline:this.pipeline.toJSON()}},e.Index.load=function(t){var r={},i={},n=t.fieldVectors,s=Object.create(null),o=t.invertedIndex,a=new e.TokenSet.Builder,u=e.Pipeline.load(t.pipeline);t.version!=e.version&&e.utils.warn("Version mismatch when loading serialised index. Current version of lunr '"+e.version+"' does not match serialized index '"+t.version+"'");for(var l=0;l<n.length;l++){var c=n[l],h=c[0],d=c[1];i[h]=new e.Vector(d)}for(var l=0;l<o.length;l++){var c=o[l],f=c[0],p=c[1];a.insert(f),s[f]=p}return a.finish(),r.fields=t.fields,r.fieldVectors=i,r.invertedIndex=s,r.tokenSet=a.root,r.pipeline=u,new e.Index(r)},e.Builder=function(){this._ref="id",this._fields=Object.create(null),this._documents=Object.create(null),this.invertedIndex=Object.create(null),this.fieldTermFrequencies={},this.fieldLengths={},this.tokenizer=e.tokenizer,this.pipeline=new e.Pipeline,this.searchPipeline=new e.Pipeline,this.documentCount=0,this._b=.75,this._k1=1.2,this.termIndex=0,this.metadataWhitelist=[]},e.Builder.prototype.ref=function(e){this._ref=e},e.Builder.prototype.field=function(e,t){if(/\//.test(e))throw new RangeError("Field '"+e+"' contains illegal character '/'");this._fields[e]=t||{}},e.Builder.prototype.b=function(e){e<0?this._b=0:e>1?this._b=1:this._b=e},e.Builder.prototype.k1=function(e){this._k1=e},e.Builder.prototype.add=function(t,r){var i=t[this._ref],n=Object.keys(this._fields);this._documents[i]=r||{},this.documentCount+=1;for(var s=0;s<n.length;s++){var o=n[s],a=this._fields[o].extractor,u=a?a(t):t[o],l=this.tokenizer(u,{fields:[o]}),c=this.pipeline.run(l),h=new e.FieldRef(i,o),d=Object.create(null);this.fieldTermFrequencies[h]=d,this.fieldLengths[h]=0,this.fieldLengths[h]+=c.length;for(var f=0;f<c.length;f++){var p=c[f];if(void 0==d[p]&&(d[p]=0),d[p]+=1,void 0==this.invertedIndex[p]){var y=Object.create(null);y._index=this.termIndex,this.termIndex+=1;for(var m=0;m<n.length;m++)y[n[m]]=Object.create(null);this.invertedIndex[p]=y}void 0==this.invertedIndex[p][o][i]&&(this.invertedIndex[p][o][i]=Object.create(null));for(var v=0;v<this.metadataWhitelist.length;v++){var g=this.metadataWhitelist[v],x=p.metadata[g];void 0==this.invertedIndex[p][o][i][g]&&(this.invertedIndex[p][o][i][g]=[]),this.invertedIndex[p][o][i][g].push(x)}}}},e.Builder.prototype.calculateAverageFieldLengths=function(){for(var t=Object.keys(this.fieldLengths),r=t.length,i={},n={},s=0;s<r;s++){var o=e.FieldRef.fromString(t[s]),a=o.fieldName;n[a]||(n[a]=0),n[a]+=1,i[a]||(i[a]=0),i[a]+=this.fieldLengths[o]}for(var u=Object.keys(this._fields),s=0;s<u.length;s++){var l=u[s];i[l]=i[l]/n[l]}this.averageFieldLength=i},e.Builder.prototype.createFieldVectors=function(){for(var t={},r=Object.keys(this.fieldTermFrequencies),i=r.length,n=Object.create(null),s=0;s<i;s++){for(var o=e.FieldRef.fromString(r[s]),a=o.fieldName,u=this.fieldLengths[o],l=new e.Vector,c=this.fieldTermFrequencies[o],h=Object.keys(c),d=h.length,f=this._fields[a].boost||1,p=this._documents[o.docRef].boost||1,y=0;y<d;y++){var m,v,g,x=h[y],w=c[x],Q=this.invertedIndex[x]._index;void 0===n[x]?(m=e.idf(this.invertedIndex[x],this.documentCount),n[x]=m):m=n[x],v=m*((this._k1+1)*w)/(this._k1*(1-this._b+this._b*(u/this.averageFieldLength[a]))+w),v*=f,v*=p,g=Math.round(1e3*v)/1e3,l.insert(Q,g)}t[o]=l}this.fieldVectors=t},e.Builder.prototype.createTokenSet=function(){this.tokenSet=e.TokenSet.fromArray(Object.keys(this.invertedIndex).sort())},e.Builder.prototype.build=function(){return this.calculateAverageFieldLengths(),this.createFieldVectors(),this.createTokenSet(),new e.Index({invertedIndex:this.invertedIndex,fieldVectors:this.fieldVectors,tokenSet:this.tokenSet,fields:Object.keys(this._fields),pipeline:this.searchPipeline})},e.Builder.prototype.use=function(e){var t=Array.prototype.slice.call(arguments,1);t.unshift(this),e.apply(this,t)},e.MatchData=function(e,t,r){for(var i=Object.create(null),n=Object.keys(r||{}),s=0;s<n.length;s++){var o=n[s];i[o]=r[o].slice()}this.metadata=Object.create(null),void 0!==e&&(this.metadata[e]=Object.create(null),this.metadata[e][t]=i)},e.MatchData.prototype.combine=function(e){for(var t=Object.keys(e.metadata),r=0;r<t.length;r++){var i=t[r],n=Object.keys(e.metadata[i]);void 0==this.metadata[i]&&(this.metadata[i]=Object.create(null));for(var s=0;s<n.length;s++){var o=n[s],a=Object.keys(e.metadata[i][o]);void 0==this.metadata[i][o]&&(this.metadata[i][o]=Object.create(null));for(var u=0;u<a.length;u++){var l=a[u];void 0==this.metadata[i][o][l]?this.metadata[i][o][l]=e.metadata[i][o][l]:this.metadata[i][o][l]=this.metadata[i][o][l].concat(e.metadata[i][o][l])}}}},e.MatchData.prototype.add=function(e,t,r){if(!(e in this.metadata))return this.metadata[e]=Object.create(null),void(this.metadata[e][t]=r);if(!(t in this.metadata[e]))return void(this.metadata[e][t]=r);for(var i=Object.keys(r),n=0;n<i.length;n++){var s=i[n];s in this.metadata[e][t]?this.metadata[e][t][s]=this.metadata[e][t][s].concat(r[s]):this.metadata[e][t][s]=r[s]}},e.Query=function(e){this.clauses=[],this.allFields=e},e.Query.wildcard=new String("*"),e.Query.wildcard.NONE=0,e.Query.wildcard.LEADING=1,e.Query.wildcard.TRAILING=2,e.Query.presence={OPTIONAL:1,REQUIRED:2,PROHIBITED:3},e.Query.prototype.clause=function(t){return"fields"in t||(t.fields=this.allFields),"boost"in t||(t.boost=1),"usePipeline"in t||(t.usePipeline=!0),"wildcard"in t||(t.wildcard=e.Query.wildcard.NONE),t.wildcard&e.Query.wildcard.LEADING&&t.term.charAt(0)!=e.Query.wildcard&&(t.term="*"+t.term),t.wildcard&e.Query.wildcard.TRAILING&&t.term.slice(-1)!=e.Query.wildcard&&(t.term=""+t.term+"*"),"presence"in t||(t.presence=e.Query.presence.OPTIONAL),this.clauses.push(t),this},e.Query.prototype.isNegated=function(){for(var t=0;t<this.clauses.length;t++)if(this.clauses[t].presence!=e.Query.presence.PROHIBITED)return!1;return!0},e.Query.prototype.term=function(t,r){if(Array.isArray(t))return t.forEach(function(t){this.term(t,e.utils.clone(r))},this),this;var i=r||{};return i.term=t.toString(),this.clause(i),this},e.QueryParseError=function(e,t,r){this.name="QueryParseError",this.message=e,this.start=t,this.end=r},e.QueryParseError.prototype=new Error,e.QueryLexer=function(e){this.lexemes=[],this.str=e,this.length=e.length,this.pos=0,this.start=0,this.escapeCharPositions=[]},e.QueryLexer.prototype.run=function(){for(var t=e.QueryLexer.lexText;t;)t=t(this)},e.QueryLexer.prototype.sliceString=function(){for(var e=[],t=this.start,r=this.pos,i=0;i<this.escapeCharPositions.length;i++)r=this.escapeCharPositions[i],e.push(this.str.slice(t,r)),t=r+1;return e.push(this.str.slice(t,this.pos)),this.escapeCharPositions.length=0,e.join("")},e.QueryLexer.prototype.emit=function(e){this.lexemes.push({type:e,str:this.sliceString(),start:this.start,end:this.pos}),this.start=this.pos},e.QueryLexer.prototype.escapeCharacter=function(){this.escapeCharPositions.push(this.pos-1),this.pos+=1},e.QueryLexer.prototype.next=function(){if(this.pos>=this.length)return e.QueryLexer.EOS;var t=this.str.charAt(this.pos);return this.pos+=1,t},e.QueryLexer.prototype.width=function(){return this.pos-this.start},e.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},e.QueryLexer.prototype.backup=function(){this.pos-=1},e.QueryLexer.prototype.acceptDigitRun=function(){var t,r;do t=this.next(),r=t.charCodeAt(0);while(r>47&&r<58);t!=e.QueryLexer.EOS&&this.backup()},e.QueryLexer.prototype.more=function(){return this.pos<this.length},e.QueryLexer.EOS="EOS",e.QueryLexer.FIELD="FIELD",e.QueryLexer.TERM="TERM",e.QueryLexer.EDIT_DISTANCE="EDIT_DISTANCE",e.QueryLexer.BOOST="BOOST",e.QueryLexer.PRESENCE="PRESENCE",e.QueryLexer.lexField=function(t){return t.backup(),t.emit(e.QueryLexer.FIELD),t.ignore(),e.QueryLexer.lexText},e.QueryLexer.lexTerm=function(t){if(t.width()>1&&(t.backup(),t.emit(e.QueryLexer.TERM)),t.ignore(),t.more())return e.QueryLexer.lexText},e.QueryLexer.lexEditDistance=function(t){return t.ignore(),t.acceptDigitRun(),t.emit(e.QueryLexer.EDIT_DISTANCE),e.QueryLexer.lexText},e.QueryLexer.lexBoost=function(t){return t.ignore(),t.acceptDigitRun(),t.emit(e.QueryLexer.BOOST),e.QueryLexer.lexText},e.QueryLexer.lexEOS=function(t){t.width()>0&&t.emit(e.QueryLexer.TERM)},e.QueryLexer.termSeparator=e.tokenizer.separator,e.QueryLexer.lexText=function(t){for(;;){var r=t.next();if(r==e.QueryLexer.EOS)return e.QueryLexer.lexEOS;if(92!=r.charCodeAt(0)){if(":"==r)return e.QueryLexer.lexField;if("~"==r)return t.backup(),t.width()>0&&t.emit(e.QueryLexer.TERM),e.QueryLexer.lexEditDistance;if("^"==r)return t.backup(),t.width()>0&&t.emit(e.QueryLexer.TERM),e.QueryLexer.lexBoost;if("+"==r&&1===t.width())return t.emit(e.QueryLexer.PRESENCE),e.QueryLexer.lexText;if("-"==r&&1===t.width())return t.emit(e.QueryLexer.PRESENCE),e.QueryLexer.lexText;if(r.match(e.QueryLexer.termSeparator))return e.QueryLexer.lexTerm}else t.escapeCharacter()}},e.QueryParser=function(t,r){this.lexer=new e.QueryLexer(t),this.query=r,this.currentClause={},this.lexemeIdx=0},e.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var t=e.QueryParser.parseClause;t;)t=t(this);return this.query},e.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},e.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},e.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},e.QueryParser.parseClause=function(t){var r=t.peekLexeme();if(void 0!=r)switch(r.type){case e.QueryLexer.PRESENCE:return e.QueryParser.parsePresence;case e.QueryLexer.FIELD:return e.QueryParser.parseField;case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:var i="expected either a field or a term, found "+r.type;throw r.str.length>=1&&(i+=" with value '"+r.str+"'"),new e.QueryParseError(i,r.start,r.end)}},e.QueryParser.parsePresence=function(t){var r=t.consumeLexeme();if(void 0!=r){switch(r.str){case"-":t.currentClause.presence=e.Query.presence.PROHIBITED;break;case"+":t.currentClause.presence=e.Query.presence.REQUIRED;break;default:var i="unrecognised presence operator'"+r.str+"'";throw new e.QueryParseError(i,r.start,r.end)}var n=t.peekLexeme();if(void 0==n){var i="expecting term or field, found nothing";throw new e.QueryParseError(i,r.start,r.end)}switch(n.type){case e.QueryLexer.FIELD:return e.QueryParser.parseField;case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:var i="expecting term or field, found '"+n.type+"'";throw new e.QueryParseError(i,n.start,n.end)}}},e.QueryParser.parseField=function(t){var r=t.consumeLexeme();if(void 0!=r){if(t.query.allFields.indexOf(r.str)==-1){var i=t.query.allFields.map(function(e){return"'"+e+"'"}).join(", "),n="unrecognised field '"+r.str+"', possible fields: "+i;throw new e.QueryParseError(n,r.start,r.end)}t.currentClause.fields=[r.str];var s=t.peekLexeme();if(void 0==s){var n="expecting term, found nothing";throw new e.QueryParseError(n,r.start,r.end)}switch(s.type){case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:var n="expecting term, found '"+s.type+"'";throw new e.QueryParseError(n,s.start,s.end)}}},e.QueryParser.parseTerm=function(t){var r=t.consumeLexeme();if(void 0!=r){t.currentClause.term=r.str.toLowerCase(),r.str.indexOf("*")!=-1&&(t.currentClause.usePipeline=!1);var i=t.peekLexeme();if(void 0==i)return void t.nextClause();switch(i.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:var n="Unexpected lexeme type '"+i.type+"'";throw new e.QueryParseError(n,i.start,i.end)}}},e.QueryParser.parseEditDistance=function(t){var r=t.consumeLexeme();if(void 0!=r){var i=parseInt(r.str,10);if(isNaN(i)){var n="edit distance must be numeric";throw new e.QueryParseError(n,r.start,r.end)}t.currentClause.editDistance=i;var s=t.peekLexeme();if(void 0==s)return void t.nextClause();switch(s.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:var n="Unexpected lexeme type '"+s.type+"'";throw new e.QueryParseError(n,s.start,s.end)}}},e.QueryParser.parseBoost=function(t){var r=t.consumeLexeme();if(void 0!=r){var i=parseInt(r.str,10);if(isNaN(i)){var n="boost must be numeric";throw new e.QueryParseError(n,r.start,r.end)}t.currentClause.boost=i;var s=t.peekLexeme();if(void 0==s)return void t.nextClause();switch(s.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:var n="Unexpected lexeme type '"+s.type+"'";throw new e.QueryParseError(n,s.start,s.end)}}},function(e,t){"function"==typeof define&&define.amd?define(t):"object"==typeof exports?module.exports=t():e.lunr=t()}(this,function(){return e})}();
@@ -0,0 +1,65 @@
1
+ ---
2
+ ---
3
+ export default class VisitedNav {
4
+
5
+ constructor() {
6
+ // visitedURLs set in initVisited();
7
+ this.nav = document.getElementById('visited-nav');
8
+ }
9
+
10
+ // display
11
+
12
+ hide() {
13
+ this.nav.classList.remove("show");
14
+ this.nav.classList.add("hide");
15
+ }
16
+
17
+ show() {
18
+ this.nav.classList.remove("hide");
19
+ this.nav.classList.add("show");
20
+ }
21
+
22
+ // build
23
+
24
+ build(visitedURLs) {
25
+ var visitedNavList = this.buildNavList();
26
+ this.nav.appendChild(visitedNavList);
27
+ for (var i = visitedURLs.length - 1; i > -1; i--) {
28
+ const visitedDoc = visitedURLs[i];
29
+ var visitedNavListItem = this.buildNavListItem(visitedURLs.length - i, i);
30
+ var visitedNavLink = this.buildNavLink(visitedDoc['title'], visitedDoc['url']);
31
+ visitedNavListItem.appendChild(visitedNavLink);
32
+ visitedNavList.appendChild(visitedNavListItem);
33
+ }
34
+ }
35
+
36
+ rebuild(visitedURLs) {
37
+ // reset visible elements
38
+ // (there used to be a graph redraw here -- in case that is needed again)
39
+ this.nav.innerHTML = "";
40
+ this.build(visitedURLs);
41
+ }
42
+
43
+ buildNavLink(title, url) {
44
+ var visitedNavLink = document.createElement('a');
45
+ visitedNavLink.setAttribute('href', url);
46
+ visitedNavLink.classList.add('wiki-link');
47
+ visitedNavLink.innerText = title;
48
+ return visitedNavLink;
49
+ }
50
+
51
+ buildNavList() {
52
+ var visitedNavList = document.createElement('ul');
53
+ return visitedNavList;
54
+ }
55
+
56
+ buildNavListItem(i, o) {
57
+ var visitedNavListItem = document.createElement('li');
58
+ var visitedNavListItemBullet = document.createElement('span');
59
+ visitedNavListItemBullet.innerText = '{{ site.data.emoji.visited }}';
60
+ visitedNavListItem.appendChild(visitedNavListItemBullet);
61
+ // visitedNavListItem.setAttribute('style', `--animation-show-order: ${i};`);
62
+ // visitedNavListItem.setAttribute('style', `--animation-hide-order: ${o};`);
63
+ return visitedNavListItem;
64
+ }
65
+ }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-bonsai
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - manunamz
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-07-27 00:00:00.000000000 Z
11
+ date: 2022-01-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll
@@ -25,63 +25,77 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: '4.2'
27
27
  - !ruby/object:Gem::Dependency
28
- name: nanoid
28
+ name: rouge
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">="
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '0'
33
+ version: 3.26.1
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ">="
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '0'
40
+ version: 3.26.1
41
41
  - !ruby/object:Gem::Dependency
42
- name: jekyll-sitemap
42
+ name: jekyll-feed
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ">="
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '0'
47
+ version: 0.15.0
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ">="
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '0'
54
+ version: 0.15.0
55
55
  - !ruby/object:Gem::Dependency
56
- name: jekyll-feed
56
+ name: jekyll-seo-tag
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ">="
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '0'
61
+ version: 2.7.1
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ">="
66
+ - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '0'
68
+ version: 2.7.1
69
69
  - !ruby/object:Gem::Dependency
70
- name: jekyll-seo-tag
70
+ name: jekyll-sitemap
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ">="
73
+ - - '='
74
74
  - !ruby/object:Gem::Version
75
- version: '0'
75
+ version: 1.4.0
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ">="
80
+ - - '='
81
81
  - !ruby/object:Gem::Version
82
- version: '0'
82
+ version: 1.4.0
83
83
  - !ruby/object:Gem::Dependency
84
- name: jekyll-namespaces
84
+ name: jekyll-data
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - '='
88
+ - !ruby/object:Gem::Version
89
+ version: 1.1.1
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - '='
95
+ - !ruby/object:Gem::Version
96
+ version: 1.1.1
97
+ - !ruby/object:Gem::Dependency
98
+ name: jekyll-id
85
99
  requirement: !ruby/object:Gem::Requirement
86
100
  requirements:
87
101
  - - "~>"
@@ -94,62 +108,90 @@ dependencies:
94
108
  - - "~>"
95
109
  - !ruby/object:Gem::Version
96
110
  version: 0.0.2
111
+ - !ruby/object:Gem::Dependency
112
+ name: jekyll-namespaces
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: 0.0.3
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: 0.0.3
97
125
  - !ruby/object:Gem::Dependency
98
126
  name: jekyll-wikilinks
99
127
  requirement: !ruby/object:Gem::Requirement
100
128
  requirements:
101
129
  - - "~>"
102
130
  - !ruby/object:Gem::Version
103
- version: 0.0.6
131
+ version: 0.0.11
104
132
  type: :runtime
105
133
  prerelease: false
106
134
  version_requirements: !ruby/object:Gem::Requirement
107
135
  requirements:
108
136
  - - "~>"
109
137
  - !ruby/object:Gem::Version
110
- version: 0.0.6
138
+ version: 0.0.11
111
139
  - !ruby/object:Gem::Dependency
112
- name: webrick
140
+ name: jekyll-graph
113
141
  requirement: !ruby/object:Gem::Requirement
114
142
  requirements:
115
143
  - - "~>"
116
144
  - !ruby/object:Gem::Version
117
- version: '1.7'
145
+ version: 0.0.7
118
146
  type: :runtime
119
147
  prerelease: false
120
148
  version_requirements: !ruby/object:Gem::Requirement
121
149
  requirements:
122
150
  - - "~>"
123
151
  - !ruby/object:Gem::Version
124
- version: '1.7'
152
+ version: 0.0.7
125
153
  - !ruby/object:Gem::Dependency
126
154
  name: rake
127
155
  requirement: !ruby/object:Gem::Requirement
128
156
  requirements:
129
- - - ">="
157
+ - - "~>"
130
158
  - !ruby/object:Gem::Version
131
- version: '0'
159
+ version: 13.0.6
132
160
  type: :development
133
161
  prerelease: false
134
162
  version_requirements: !ruby/object:Gem::Requirement
135
163
  requirements:
136
- - - ">="
164
+ - - "~>"
137
165
  - !ruby/object:Gem::Version
138
- version: '0'
166
+ version: 13.0.6
139
167
  - !ruby/object:Gem::Dependency
140
168
  name: rspec
141
169
  requirement: !ruby/object:Gem::Requirement
142
170
  requirements:
143
- - - ">="
171
+ - - '='
144
172
  - !ruby/object:Gem::Version
145
- version: '0'
173
+ version: 3.10.0
146
174
  type: :development
147
175
  prerelease: false
148
176
  version_requirements: !ruby/object:Gem::Requirement
149
177
  requirements:
150
- - - ">="
178
+ - - '='
179
+ - !ruby/object:Gem::Version
180
+ version: 3.10.0
181
+ - !ruby/object:Gem::Dependency
182
+ name: webrick
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - "~>"
186
+ - !ruby/object:Gem::Version
187
+ version: '1.7'
188
+ type: :runtime
189
+ prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - "~>"
151
193
  - !ruby/object:Gem::Version
152
- version: '0'
194
+ version: '1.7'
153
195
  description:
154
196
  email:
155
197
  - manunamz@pm.me
@@ -157,132 +199,82 @@ executables: []
157
199
  extensions: []
158
200
  extra_rdoc_files: []
159
201
  files:
202
+ - LICENSE
160
203
  - LICENSE.txt
161
204
  - README.md
162
205
  - _config.yml
163
- - _entries/digital-garden.bonsai.md
164
- - _entries/digital-garden.field-logs.md
165
- - _entries/digital-garden.fork.md
166
- - _entries/digital-garden.md
167
- - _entries/digital-garden.path.md
168
- - _entries/digital-garden.plants.md
169
- - _entries/digital-garden.pollinate.md
170
- - _entries/digital-garden.steps.md
171
- - _entries/digital-garden.stream.md
172
- - _entries/digital-garden.sweep.md
173
- - _entries/digital-garden.weather.md
174
- - _entries/features.md
175
- - _entries/features.notes.hover-preview.md
176
- - _entries/features.notes.md
177
- - _entries/features.notes.note-body.md
178
- - _entries/features.notes.note-body.share.md
179
- - _entries/features.notes.note-body.sidenotes.md
180
- - _entries/features.notes.note-foot.links.md
181
- - _entries/features.notes.note-foot.md
182
- - _entries/features.notes.note-foot.posts.md
183
- - _entries/features.notes.note-foot.webmentions.md
184
- - _entries/features.notes.note-head.md
185
- - _entries/features.pages.field-blogs.md
186
- - _entries/features.pages.md
187
- - _entries/features.pages.recent.md
188
- - _entries/features.pages.status-tags.md
189
- - _entries/features.site-nav.graph.links.md
190
- - _entries/features.site-nav.graph.links.namespacing.md
191
- - _entries/features.site-nav.graph.links.wikilinks.md
192
- - _entries/features.site-nav.graph.md
193
- - _entries/features.site-nav.graph.nodes.current-note.md
194
- - _entries/features.site-nav.graph.nodes.md
195
- - _entries/features.site-nav.graph.nodes.mia.missing-note.md
196
- - _entries/features.site-nav.graph.nodes.visited-status.md
197
- - _entries/features.site-nav.graph.toggle-graph.md
198
- - _entries/features.site-nav.graph.type.md
199
- - _entries/features.site-nav.graph.type.net-web.md
200
- - _entries/features.site-nav.graph.type.tree.md
201
- - _entries/features.site-nav.md
202
- - _entries/features.site-nav.visited.md
203
- - _entries/features.tags.md
204
- - _entries/features.themes.dark.md
205
- - _entries/features.themes.light.md
206
- - _entries/features.themes.md
207
- - _entries/features.visited.delete-data.md
208
- - _entries/features.visited.md
209
- - _entries/features.visitor-preferences.md
210
- - _entries/feedback.md
211
- - _entries/people.creator.md
212
- - _entries/people.md
213
- - _entries/people.visitors.md
214
- - _entries/plugins.jekyll-wikilinks.md
215
- - _entries/plugins.md
216
- - _entries/root.md
206
+ - _data/emoji.yml
207
+ - _data/themes.yml
217
208
  - _includes/anchor-headings.html
209
+ - _includes/btn_state.html
218
210
  - _includes/connect.html
219
- - _includes/entry-attrs.html
220
- - _includes/head.html
221
- - _includes/hover-preview.html
211
+ - _includes/cookie-consent.html
212
+ - _includes/dates.html
213
+ - _includes/hp-tooltip.html
222
214
  - _includes/img/bullet-ancestor.svg
223
215
  - _includes/img/bullet-net-web.svg
224
216
  - _includes/img/bullet-tree.svg
225
- - _includes/metrics.html
217
+ - _includes/img/pencil-filter.svg
226
218
  - _includes/share.html
227
219
  - _includes/site-nav.html
228
- - _includes/styles.scss.liquid
229
- - _layouts/default.html
220
+ - _includes/tags.html
221
+ - _includes/themes.scss.liquid
222
+ - _includes/toc.html
223
+ - _layouts/404.html
224
+ - _layouts/about.html
225
+ - _layouts/archive.html
226
+ - _layouts/base.html
227
+ - _layouts/book.html
230
228
  - _layouts/entry.html
229
+ - _layouts/home.html
231
230
  - _layouts/post.html
231
+ - _layouts/privacy.html
232
+ - _layouts/recent.html
232
233
  - _layouts/state.html
233
234
  - _layouts/table-wrappers.html
234
235
  - _layouts/vendor/compress.html
235
- - _pages/about.md
236
- - _pages/posts.html
237
- - _pages/recent.html
238
- - _plugins/doc_filters.rb
239
- - _plugins/prep_entry.rb
240
- - _plugins/sidenote.rb
241
- - _plugins/tags.rb
236
+ - _sass/base/_code.scss
242
237
  - _sass/base/_layout.scss
238
+ - _sass/base/_link.scss
243
239
  - _sass/base/_main.scss
240
+ - _sass/base/_markdown.scss
244
241
  - _sass/base/_typography.scss
245
- - _sass/base/base.scss
246
- - _sass/color/dark.scss
247
- - _sass/color/light.scss
248
- - _sass/includes/_btn.scss
249
- - _sass/includes/_graph.scss
250
- - _sass/includes/_nav.scss
242
+ - _sass/base/code_themes/_gruvbox.scss
243
+ - _sass/base/code_themes/_monokai.scss
244
+ - _sass/base/code_themes/_solarized.scss
245
+ - _sass/components/_btn.scss
246
+ - _sass/components/_infobox.scss
247
+ - _sass/components/_item.scss
248
+ - _sass/components/_search.scss
249
+ - _sass/components/_tag_pills.scss
250
+ - _sass/components/_visited.scss
251
+ - _sass/includes/_anchor_headings.scss
252
+ - _sass/includes/_connect.scss
253
+ - _sass/includes/_cookie_consent.scss
254
+ - _sass/includes/_dates.scss
255
+ - _sass/includes/_hp_tooltip.scss
256
+ - _sass/includes/_share.scss
251
257
  - _sass/includes/_site_nav.scss
252
- - _sass/includes/_tooltip.scss
253
- - _sass/includes/includes.scss
254
- - _sass/markdown/_code.scss
255
- - _sass/markdown/_content.scss
256
- - _sass/markdown/_tables.scss
257
- - _sass/markdown/markdown.scss
258
- - _sass/modules.scss
259
- - _sass/pages/_index.scss
260
- - _sass/pages/_posts.scss
261
- - _sass/pages/_recent.scss
262
- - _sass/pages/_state.scss
263
- - _sass/pages/pages.scss
264
- - _sass/support/_functions.scss
265
- - _sass/support/_variables.scss
266
- - _sass/support/mixins/_buttons.scss
267
- - _sass/support/mixins/_layout.scss
268
- - _sass/support/mixins/_typography.scss
269
- - _sass/support/mixins/mixins.scss
270
- - _sass/support/support.scss
258
+ - _sass/includes/_svg.scss
259
+ - _sass/includes/_toc.scss
260
+ - _sass/layouts/_404.scss
261
+ - _sass/layouts/_about.scss
262
+ - _sass/layouts/_archive.scss
263
+ - _sass/layouts/_book.scss
264
+ - _sass/layouts/_entry.scss
265
+ - _sass/layouts/_home.scss
266
+ - _sass/layouts/_post.scss
267
+ - _sass/layouts/_privacy.scss
268
+ - _sass/layouts/_recent.scss
269
+ - _sass/layouts/_state.scss
270
+ - _sass/main.scss
271
+ - _sass/util/_functions.scss
272
+ - _sass/util/_variables.scss
273
+ - _sass/util/mixins/_buttons.scss
274
+ - _sass/util/mixins/_layout.scss
275
+ - _sass/util/mixins/_typography.scss
271
276
  - _sass/vendor/normalize.scss/README.md
272
277
  - _sass/vendor/normalize.scss/normalize.scss
273
- - _states/bamboo.md
274
- - _states/berry.md
275
- - _states/bloom.md
276
- - _states/bud.md
277
- - _states/fruit.md
278
- - _states/melon.md
279
- - _states/pot-bamboo.md
280
- - _states/seed.md
281
- - _states/sprout.md
282
- - _states/tags.md
283
- - _states/tea.md
284
- - assets/css/styles-dark.scss
285
- - assets/css/styles-light.scss
286
278
  - assets/css/styles.scss
287
279
  - assets/font/Cutive_Mono/CutiveMono-Regular.ttf
288
280
  - assets/font/Cutive_Mono/OFL.txt
@@ -316,23 +308,27 @@ files:
316
308
  - assets/img/bonsai-dark.svg
317
309
  - assets/img/bonsai-light.png
318
310
  - assets/img/bonsai-light.svg
311
+ - assets/img/bonsai-star.png
312
+ - assets/img/bonsai-star.svg
313
+ - assets/img/books/the-ancient-art-of-bonsai.png
319
314
  - assets/img/favicon-dark.png
320
315
  - assets/img/favicon-light.png
321
316
  - assets/img/nav-base-dark.svg
322
317
  - assets/img/nav-base-light.svg
318
+ - assets/img/nav-base-star.svg
323
319
  - assets/img/nav-bonsai-dark.svg
324
320
  - assets/img/nav-bonsai-light.svg
325
- - assets/img/nav-dot-dark.svg
326
- - assets/img/nav-dot-light.svg
327
- - assets/img/nav-wiki-links-dark.svg
328
- - assets/img/nav-wiki-links-light.svg
321
+ - assets/img/nav-bonsai-star.svg
329
322
  - assets/js/entry.js
330
323
  - assets/js/graph.js
331
324
  - assets/js/scripts.js
325
+ - assets/js/search.js
332
326
  - assets/js/site-nav.js
333
327
  - assets/js/theme-colors.js
334
- - index.html
335
- homepage: https://manunamz.github.io/jekyll-bonsai/
328
+ - assets/js/vendor/lunr.js
329
+ - assets/js/vendor/lunr.min.js
330
+ - assets/js/visited-nav.js
331
+ homepage: https://github.com/manunamz/jekyll-bonsai/
336
332
  licenses:
337
333
  - GPL3
338
334
  metadata:
@@ -352,9 +348,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
352
348
  - !ruby/object:Gem::Version
353
349
  version: '0'
354
350
  requirements: []
355
- rubygems_version: 3.2.17
351
+ rubygems_version: 3.2.27
356
352
  signing_key:
357
353
  specification_version: 4
358
- summary: These are not the gems you're looking for -- just grabbing the gem name for
359
- now.
354
+ summary: A modern jekyll theme for semantically inclined digital gardeners.
360
355
  test_files: []
@@ -1,36 +0,0 @@
1
- ---
2
- id: 77dfbf83f6
3
- title: Bonsai
4
- desc: ''
5
- updated: 1624991154120
6
- created: 1620493859775
7
- tags: "\U0001F38B"
8
- notable: true
9
- ---
10
-
11
- Bonsai literally means "tray planting". It is the art of recreating a realistic picture of nature[>i] in miniaturized form. From the perspective of a site-[[people.creator]], they are seeding and pruning a `jekyll-bonsai` in a small [[features.site-nav.graph|tray-like]] space. The finer details are described well by the wikipedia article on bonsai:
12
-
13
- > Purposes of bonsai are primarily contemplation for the [[people.visitors|viewer]], and the pleasant exercise of effort and ingenuity for the [[people.creator|grower]]. By contrast with other plant cultivation practices, bonsai is not intended for production of food or for medicine[>data]. Instead, bonsai practice focuses on long-term cultivation and shaping of one or more small trees growing in a [[features.site-nav.graph|container]]."
14
- >
15
- > ...
16
- >
17
- > A bonsai is created beginning with a specimen of source material. This may be a cutting, seedling[>seed], or small tree[>pot-bamboo] of a species suitable for bonsai development.
18
- >
19
- > ...
20
- >
21
- > Bonsai uses cultivation techniques like pruning, root reduction, potting, defoliation, and grafting to produce small trees that mimic the shape and style of mature, full-size trees.
22
- >
23
- > ~[wikipedia > bonsai; 2021-05-08](https://en.wikipedia.org/wiki/Bonsai)
24
-
25
- The various steps of the process are still under experimentation and being discovered, but you can learn more by reading about about the [[digital-garden.plants|plant types]] that grow in this garden.
26
-
27
- And because of the wonders of technology, this bonsai can be displayed for [[people.visitors]]. From their perspective, the creation is experienced as a digital garden which they may traverse at their leisure.
28
-
29
- [>i]: read as: the internet.
30
-
31
- [>data]: read as: "data" or "engagement".
32
-
33
- [>seed]: 🌰
34
-
35
- [>pot-bamboo]: 🎍
36
-
@@ -1,10 +0,0 @@
1
- ---
2
- id: c99e15751d
3
- title: Field Logs
4
- desc: ''
5
- updated: 1622903231656
6
- created: 1622901113335
7
- tags: 🌿
8
- ---
9
-
10
- 📓 Field logs are personal observations and ruminations. They are blog [[features.notes.note-foot.posts]], which can be viewed on the [[features.pages.field-blogs]] page.
@@ -1,10 +0,0 @@
1
- ---
2
- id: 7be41b1b1f
3
- title: Fork
4
- desc: ''
5
- updated: 1622903869435
6
- created: 1620492740142
7
- tags: "\U0001F331"
8
- ---
9
- 🚏 The fork in the [[digital-garden.path]] is where [[people.visitors]] may decide where to go next: To either drill down deeper through the [[features.site-nav.graph.type.tree]]'s children or hop around the [[features.site-nav.graph.type.net-web]].
10
-