jekyll-theme-paperwiki 0.1.17 → 0.1.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ccafbae2594b3e26ca40574057a535540860cdfab82ad62d47cbeed13ccc3427
4
- data.tar.gz: ef2323e18fe4d2f3819459bcfb0866ed38366c1d92da8cd010f48e2fbd266180
3
+ metadata.gz: b16cb2fa02d1728ccf3bd09ecb7638fa42c0a0243e93a84c91ab4a383416f4c0
4
+ data.tar.gz: b5dde0f6bbb1021bba6b9644a47a3d8a55f2a92e2b18a72c3a6f78ea6036c6af
5
5
  SHA512:
6
- metadata.gz: c31c58b6e6a115360b9561cec521815ba98036eeb37d0fcf0873808f29b8e6563ebfa9ef4d56e171c67c377d89b7d195612eb03088c3bde1d8eb77584f4735bc
7
- data.tar.gz: 8b540673b1a01905b6259c47c73677737cb76373f3e20526896b724a8c2c858a66777b5239ecd3576deb85df2113cb33ce94b06c85e62ead2904cf0a88fecfc8
6
+ metadata.gz: f4688f18aeb4133788850b20ae6c6a63f9d46694cc7f6ed74b5ca36d179fa4fc8017088118048971f16d4fa71434d3621c08fee169a187895672c18523728bcb
7
+ data.tar.gz: 5ac735c63413c3a22606e40dfd46d58286c25a61109a0193dd84c4dc09c9dae1420bba6959b1879059d02c3456fb06be7a9a5ae6567a4a87bff2847fe5b36570
@@ -0,0 +1,25 @@
1
+ <script type="text/javascript">
2
+
3
+ var urls=[];
4
+
5
+ {% for doc in docs -%}
6
+ urls.push("{{ doc.url | absolute_url }}");
7
+ {% endfor -%}
8
+
9
+ var url = urls[Math.floor(Math.random()*urls.length)];
10
+
11
+ var link = document.createElement('link');
12
+ link.setAttribute('rel', 'canonical');
13
+ link.setAttribute('href', url);
14
+ document.head.appendChild(link);
15
+
16
+ if (typeof IE_fix != "undefined") {
17
+ document.write("Redirecting...");
18
+ var referLink = document.createElement("a");
19
+ referLink.href = url;
20
+ document.body.appendChild(referLink);
21
+ referLink.click();
22
+ } else {
23
+ window.location.replace(url);
24
+ }
25
+ </script>
data/_layouts/random.html CHANGED
@@ -5,41 +5,10 @@
5
5
  layout: page
6
6
  ---
7
7
 
8
- {%- assign docs = site.posts -%}
8
+ {%- assign docs = site.documents -%}
9
9
 
10
- {%- if site.random_redirect.pages == true -%}
11
- {%- assign pages = site.documents | where_exp:"page","page.url != '/random/'" -%}
12
- {%- assign docs = docs | concat: pages -%}
10
+ {%- if site.random_redirect.posts == true -%}
11
+ {%- assign docs = docs | concat: site.posts -%}
13
12
  {%- endif -%}
14
13
 
15
- {%- if site.random_redirect.documents == true -%}
16
- {%- assign docs = docs | concat: site.documents | uniq -%}
17
- {%- endif -%}
18
-
19
- <!---Fix this so the collections random links are scoped to only that collection--->
20
-
21
- <script type="text/javascript">
22
-
23
- var urls=[];
24
-
25
- {% for doc in docs -%}
26
- urls.push("{{ doc.url | absolute_url }}");
27
- {% endfor -%}
28
-
29
- var url = urls[Math.floor(Math.random()*urls.length)];
30
-
31
- var link = document.createElement('link');
32
- link.setAttribute('rel', 'canonical');
33
- link.setAttribute('href', url);
34
- document.head.appendChild(link);
35
-
36
- if (typeof IE_fix != "undefined") {
37
- document.write("Redirecting...");
38
- var referLink = document.createElement("a");
39
- referLink.href = url;
40
- document.body.appendChild(referLink);
41
- referLink.click();
42
- } else {
43
- window.location.replace(url);
44
- }
45
- </script>
14
+ {% include random_redirect.html %}
@@ -0,0 +1,12 @@
1
+ ---
2
+ # Jekyll page that redirects to a random page, post or document
3
+ # https://github.com/jekylltools/jekyll-random-redirect
4
+ # v1.6
5
+ layout: page
6
+ ---
7
+
8
+ {% assign project = page.project %}
9
+
10
+ {%- assign docs = site.documents | where_exp: "page","page.collection == project" -%}
11
+
12
+ {% include random_redirect.html %}
@@ -0,0 +1,16 @@
1
+ ---
2
+ layout: search
3
+ ---
4
+
5
+ {% assign project = page.project %}
6
+
7
+ {%- assign docs = site.documents | where_exp: "page","page.collection == project" -%}
8
+
9
+ <script>
10
+ window.pages = {
11
+ {% for page in docs %}
12
+ {% include search_results.html %}
13
+ {% unless forloop.last %},{% endunless %}
14
+ {% endfor %}
15
+ };
16
+ </script>
@@ -5,14 +5,23 @@
5
5
 
6
6
  .interlinear_gloss {
7
7
  border-collapse: collapse;
8
+ border: 0;
8
9
  margin-left: 3%;
9
10
  margin-top: 0;
10
11
  margin-bottom: 1.75rem;
12
+ tr {
13
+ border: 0;
14
+ }
15
+ tr:nth-child(even) {
16
+ background-color: transparent;
17
+ }
11
18
  td {
12
- padding: 0 0 0 1em;
19
+ padding: 0.5em;
20
+ border: 0;
13
21
  }
14
22
  td:first-child {
15
- border-left: 4px solid $color-pistachio;
23
+ border-left: 0.5em solid $color-pistachio;
24
+ padding-left: 1em;
16
25
  }
17
26
  }
18
27
 
@@ -0,0 +1,162 @@
1
+ import * as lunr from "lunr";
2
+
3
+ /*!
4
+ * lunr.unicodeNormalizer
5
+ * by Chris Van <cvan>, 2014
6
+ * Extension for lunr.js <http://lunrjs.com/>
7
+ * Includes code from https://github.com/dodo/node-slug/blob/master/slug.js
8
+ */
9
+
10
+ const charmap: {[inchar: string]: string} = {
11
+ // Latin & IPA
12
+ 'À': 'A', 'Á': 'A', 'Â': 'A', 'Ã': 'A', 'Ā': 'A', 'Ȧ': 'A', 'Ä': 'A',
13
+ 'Å': 'A', 'Ǎ': 'A', 'Ą': 'A', 'Ạ': 'A', 'Æ': 'AE', 'Ḃ': 'B', 'Ḅ': 'B',
14
+ 'Ç': 'C', 'Ć': 'C', 'Ĉ': 'C', 'Č': 'C', 'Ċ': 'C', 'Ḋ': 'D', 'Ḍ': 'D',
15
+ 'Ḏ': 'D', 'Ď': 'D', 'Ð': 'D', 'È': 'E', 'É': 'E', 'Ê': 'E', 'Ẽ': 'E',
16
+ 'Ē': 'E', 'Ė': 'E', 'Ë': 'E', 'Ě': 'E', 'Ẹ': 'E', 'Ę': 'E', 'Ǵ': 'G',
17
+ 'Ĝ': 'G', 'Ġ': 'G', 'Ǧ': 'G', 'Ĥ': 'H', 'Ȟ': 'H', 'Ḥ': 'H', 'Ì': 'I',
18
+ 'Í': 'I', 'Î': 'I', 'Ĩ': 'I', 'Ī': 'I', 'İ': 'I', 'Ï': 'I', 'Ǐ': 'I',
19
+ 'Ị': 'I', 'Į': 'I', 'Ḱ': 'K', 'Ǩ': 'K', 'Ḵ': 'K', 'Ḳ': 'K', 'Ĺ': 'L',
20
+ 'Ḻ': 'L', 'Ḷ': 'L', 'Ḿ': 'M', 'Ṁ': 'M', 'Ṃ': 'M', 'Ǹ': 'N', 'Ń': 'N',
21
+ 'Ñ': 'N', 'Ṅ': 'N', 'Ň': 'N', 'Ŋ': 'N', 'Ɲ': 'N', 'Ṇ': 'N', 'Ò': 'O',
22
+ 'Ó': 'O', 'Ô': 'O', 'Õ': 'O', 'Ō': 'O', 'Ȯ': 'O', 'Ö': 'O', 'Ő': 'O',
23
+ 'Ǫ': 'O', 'Ọ': 'O', 'Ɔ': 'O', 'Ø': 'O', 'Ŕ': 'R', 'Ṙ': 'R', 'Ř': 'R',
24
+ 'Ṛ': 'R', 'Ś': 'S', 'Ŝ': 'S', 'Ṡ': 'S', 'Ṣ': 'S', 'Ș': 'S', 'Ş': 'S',
25
+ 'Ṭ': 'T', 'Ț': 'T', 'Ţ': 'T', 'Ù': 'U', 'Ú': 'U', 'Û': 'U', 'Ũ': 'U',
26
+ 'Ū': 'U', 'Ü': 'U', 'Ű': 'U', 'Ǔ': 'U', 'Ụ': 'U', 'Ṳ': 'U', 'Ų': 'U',
27
+ 'Ẁ': 'W', 'Ẃ': 'W', 'Ŵ': 'W', 'Ẉ': 'W', 'Ỳ': 'Y', 'Ý': 'Y', 'Ŷ': 'Y',
28
+ 'Ỹ': 'Y', 'Ȳ': 'Y', 'Ẏ': 'Y', 'Ÿ': 'Y', 'Ź': 'Z', 'Ẑ': 'Z', 'Ż': 'Z',
29
+ 'Ž': 'Z', 'Ẓ': 'Z', 'Ẕ': 'Z', 'Þ': 'TH', 'ß': 'ss',
30
+ 'à': 'a', 'á': 'a', 'â': 'a', 'ã': 'a', 'ā': 'a', 'ȧ': 'a', 'ä': 'a',
31
+ 'å': 'a', 'ǎ': 'a', 'ą': 'a', 'ạ': 'a', 'ɑ': 'a', 'ɐ': 'a', 'ɒ': 'a',
32
+ 'æ': 'ae',
33
+ 'ç': 'c', 'è': 'e', 'é': 'e', 'ê': 'e', 'ë': 'e', 'ì': 'i', 'í': 'i',
34
+ 'î': 'i', 'ï': 'i', 'ð': 'd', 'ñ': 'n', 'ò': 'o', 'ó': 'o', 'ô': 'o',
35
+ 'õ': 'o', 'ö': 'o', 'ő': 'o', 'ø': 'o', 'ù': 'u', 'ú': 'u', 'û': 'u',
36
+ 'ü': 'u', 'ű': 'u', 'ý': 'y', 'þ': 'th', 'ÿ': 'y', 'ẞ': 'SS',
37
+
38
+ // Greek
39
+ 'Α': 'A', 'Β': 'B', 'Γ': 'G', 'Δ': 'D', 'Ε': 'E', 'Ζ': 'Z', 'Η': 'H',
40
+ 'Θ': '8', 'Ι': 'I', 'Κ': 'K', 'Λ': 'L', 'Μ': 'M', 'Ν': 'N', 'Ξ': '3',
41
+ 'Ο': 'O', 'Π': 'P', 'Ρ': 'R', 'Σ': 'S', 'Τ': 'T', 'Υ': 'Y', 'Φ': 'F',
42
+ 'Χ': 'X', 'Ψ': 'PS', 'Ω': 'W',
43
+ 'Ά': 'A', 'Έ': 'E', 'Ί': 'I', 'Ό': 'O', 'Ύ': 'Y', 'Ή': 'H', 'Ώ': 'W',
44
+ 'Ϊ': 'I', 'Ϋ': 'Y',
45
+ 'α': 'a', 'β': 'b', 'γ': 'g', 'δ': 'd', 'ε': 'e', 'ζ': 'z', 'η': 'h',
46
+ 'θ': '8', 'ι': 'i', 'κ': 'k', 'λ': 'l', 'μ': 'm', 'ν': 'n', 'ξ': '3',
47
+ 'ο': 'o', 'π': 'p', 'ρ': 'r', 'σ': 's', 'τ': 't', 'υ': 'y', 'φ': 'f',
48
+ 'χ': 'x', 'ψ': 'ps', 'ω': 'w',
49
+ 'ά': 'a', 'έ': 'e', 'ί': 'i', 'ό': 'o', 'ύ': 'y', 'ή': 'h', 'ώ': 'w',
50
+ 'ς': 's', 'ϊ': 'i', 'ΰ': 'y', 'ϋ': 'y', 'ΐ': 'i',
51
+
52
+ // Turkish
53
+ 'Ş': 'S', 'İ': 'I', 'Ğ': 'G',
54
+ 'ş': 's', 'ı': 'i', 'ğ': 'g',
55
+
56
+ // Russian
57
+ 'А': 'A', 'Б': 'B', 'В': 'V', 'Г': 'G', 'Д': 'D', 'Е': 'E', 'Ё': 'Yo',
58
+ 'Ж': 'Zh', 'З': 'Z', 'И': 'I', 'Й': 'J', 'К': 'K', 'Л': 'L', 'М': 'M',
59
+ 'Н': 'N', 'О': 'O', 'П': 'P', 'Р': 'R', 'С': 'S', 'Т': 'T', 'У': 'U',
60
+ 'Ф': 'F', 'Х': 'H', 'Ц': 'C', 'Ч': 'Ch', 'Ш': 'Sh', 'Щ': 'Sh', 'Ъ': 'U',
61
+ 'Ы': 'Y', 'Ь': '', 'Э': 'E', 'Ю': 'Yu', 'Я': 'Ya',
62
+ 'а': 'a', 'б': 'b', 'в': 'v', 'г': 'g', 'д': 'd', 'е': 'e', 'ё': 'yo',
63
+ 'ж': 'zh', 'з': 'z', 'и': 'i', 'й': 'j', 'к': 'k', 'л': 'l', 'м': 'm',
64
+ 'н': 'n', 'о': 'o', 'п': 'p', 'р': 'r', 'с': 's', 'т': 't', 'у': 'u',
65
+ 'ф': 'f', 'х': 'h', 'ц': 'c', 'ч': 'ch', 'ш': 'sh', 'щ': 'sh', 'ъ': 'u',
66
+ 'ы': 'y', 'ь': '', 'э': 'e', 'ю': 'yu', 'я': 'ya',
67
+
68
+ // Ukranian
69
+ 'Є': 'Ye', 'І': 'I', 'Ї': 'Yi', 'Ґ': 'G',
70
+ 'є': 'ye', 'і': 'i', 'ї': 'yi', 'ґ': 'g',
71
+
72
+ // Czech
73
+ 'Č': 'C', 'Ď': 'D', 'Ě': 'E', 'Ň': 'N', 'Ř': 'R', 'Š': 'S', 'Ť': 'T',
74
+ 'Ů': 'U', 'Ž': 'Z',
75
+ 'č': 'c', 'ď': 'd', 'ě': 'e', 'ň': 'n', 'ř': 'r', 'š': 's', 'ť': 't',
76
+ 'ů': 'u', 'ž': 'z',
77
+
78
+ // Polish
79
+ 'Ą': 'A', 'Ć': 'C', 'Ę': 'e', 'Ł': 'L', 'Ń': 'N', 'Ś': 'S', 'Ź': 'Z',
80
+ 'Ż': 'Z',
81
+ 'ą': 'a', 'ć': 'c', 'ę': 'e', 'ł': 'l', 'ń': 'n', 'ś': 's', 'ź': 'z',
82
+ 'ż': 'z',
83
+
84
+ // Latvian
85
+ 'Ā': 'A', 'Ē': 'E', 'Ģ': 'G', 'Ī': 'i', 'Ķ': 'k', 'Ļ': 'L', 'Ņ': 'N',
86
+ 'Ū': 'u',
87
+ 'ā': 'a', 'ē': 'e', 'ģ': 'g', 'ī': 'i', 'ķ': 'k', 'ļ': 'l', 'ņ': 'n',
88
+ 'ū': 'u',
89
+
90
+ // Currency
91
+ '€': 'euro', '₢': 'cruzeiro', '₣': 'french franc', '£': 'pound',
92
+ '₤': 'lira', '₥': 'mill', '₦': 'naira', '₧': 'peseta', '₨': 'rupee',
93
+ '₩': 'won', '₪': 'new shequel', '₫': 'dong', '₭': 'kip', '₮': 'tugrik',
94
+ '₯': 'drachma', '₰': 'penny', '₱': 'peso', '₲': 'guarani',
95
+ '₳': 'austral', '₴': 'hryvnia', '₵': 'cedi', '¢': 'cent', '¥': 'yen',
96
+ '元': 'yuan', '円': 'yen', '﷼': 'rial', '₠': 'ecu', '¤': 'currency',
97
+ '฿': 'baht', "$": 'dollar', '₹': 'indian rupee',
98
+
99
+ // Symbols
100
+ '©': '(c)', 'œ': 'oe', 'Œ': 'OE', '∑': 'sum', '®': '(r)', '†': '+',
101
+ '“': '"', '”': '"', '‘': "'", '’': "'", '∂': 'd', 'ƒ': 'f', '™': 'tm',
102
+ '℠': 'sm', '…': '...', '˚': 'o', 'º': 'o', 'ª': 'a', '•': '*',
103
+ '∆': 'delta', '∞': 'infinity', '♥': 'love', '&': 'and', '|': 'or',
104
+ '<': 'less', '>': 'greater'
105
+ };
106
+ const charmapPattern = Object.keys(charmap).map(function(char) {
107
+ // Update this with every normalized character that is also a unicode
108
+ // operator.
109
+ return char.replace(/[\|\$]/g, '\\$&'); // `$&` -> returns matched text
110
+ }).join('|');
111
+ const charmapRegExp = new RegExp('(' + charmapPattern + ')', 'g');
112
+
113
+ function unicodeFolder(str: string) {
114
+ return str.replace(charmapRegExp, function(char: string) {
115
+ return charmap[char];
116
+ });
117
+ }
118
+
119
+ export default function patchLunr(lunrmod: any) {
120
+ var tokenizer = function(obj: any, metadata: any) {
121
+ if (!arguments.length || obj === null || obj === undefined) return [];
122
+ if (Array.isArray(obj)) {
123
+ return obj.map(function(t) {
124
+ return new lunrmod.Token(
125
+ unicodeFolder(lunrmod.utils.asString(t)).toLowerCase(),
126
+ lunrmod.utils.clone(metadata))
127
+ });
128
+ }
129
+ var str = obj.toString(), len = str.length, tokens = []
130
+
131
+ for (var sliceEnd = 0, sliceStart = 0; sliceEnd <= len; sliceEnd++) {
132
+ var char = str.charAt(sliceEnd),
133
+ sliceLength = sliceEnd - sliceStart
134
+
135
+ if ((char.match(lunrmod.tokenizer.separator) || sliceEnd == len)) {
136
+
137
+ if (sliceLength > 0) {
138
+ var tokenMetadata = lunrmod.utils.clone(metadata) || {}
139
+ tokenMetadata["position"] = [sliceStart, sliceLength]
140
+ tokenMetadata["index"] = tokens.length
141
+
142
+ tokens.push(
143
+ new lunrmod.Token (
144
+ unicodeFolder(str.slice(sliceStart, sliceEnd)).toLowerCase(),
145
+ tokenMetadata
146
+ )
147
+ )
148
+ }
149
+
150
+ sliceStart = sliceEnd + 1
151
+ }
152
+ }
153
+
154
+ return tokens
155
+ }
156
+
157
+ for (const attr in lunrmod.tokenizer){
158
+ // @ts-ignore
159
+ tokenizer[attr] = lunrmod.tokenizer[attr];
160
+ }
161
+ lunrmod.tokenizer = tokenizer;
162
+ }
data/assets/js/search.js CHANGED
@@ -1,20 +1,26 @@
1
1
  // Yoinked in its entirety from https://davidwalsh.name/adding-search-to-your-site-with-javascript and https://trackjs.com/blog/site-search-with-javascript-part-2/
2
2
 
3
- // var lunrFolding = require("lunr-folding")(lunr);
3
+ //var lunr = require("lunr")
4
+ //require("lunr.unicodeNormalizer")(lunr)
4
5
 
5
6
  // Build the search index
6
7
  var searchIndex = lunr(function() {
8
+ // this.use("lunr.unicodeNormalizer")
7
9
  // Define searchable fields for each page
8
10
  this.ref("id");
9
11
  this.field("title", { boost: 100 }); // Boost the importance of the title field, prioritizing title matches
10
- this.field("content", { boost: 10 });
11
- this.field("portal");
12
- this.field("categories");
12
+ this.field("content", { boost: 50 });
13
+ this.field("portal", { boost: 10 });
14
+ this.field("categories", { boost: 10 });
15
+ this.field("tags", { boost: 10 });
13
16
  for (var key in window.pages) { // Loop through all pages to add their data to the search index
14
17
  this.add({
15
18
  "id": key,
16
19
  "title": pages[key].title,
17
- "content": pages[key].content
20
+ "content": pages[key].content,
21
+ "portal": pages[key].portal,
22
+ "categories": pages[key].categories,
23
+ "tags": pages[key].tags
18
24
  });
19
25
  }
20
26
  });
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-theme-paperwiki
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.17
4
+ version: 0.1.18
5
5
  platform: ruby
6
6
  authors:
7
7
  - pomeloshark
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-09-11 00:00:00.000000000 Z
11
+ date: 2023-09-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll
@@ -39,6 +39,7 @@ files:
39
39
  - _includes/global_footer.html
40
40
  - _includes/global_head.html
41
41
  - _includes/global_header.html
42
+ - _includes/random_redirect.html
42
43
  - _includes/search_results.html
43
44
  - _includes/wiki_sidebar.html
44
45
  - _layouts/collections.html
@@ -50,8 +51,10 @@ files:
50
51
  - _layouts/portal.html
51
52
  - _layouts/post.html
52
53
  - _layouts/random.html
54
+ - _layouts/random_collection.html
53
55
  - _layouts/reference_desk.html
54
56
  - _layouts/search.html
57
+ - _layouts/search_collection.html
55
58
  - _layouts/search_global.html
56
59
  - _layouts/wiki.html
57
60
  - _layouts/work.html
@@ -70,7 +73,6 @@ files:
70
73
  - _sass/variables/_fonts.scss
71
74
  - _sass/variables/_media-queries.scss
72
75
  - _sass/variables/_misc.scss
73
- - assets/.DS_Store
74
76
  - assets/css/css.scss
75
77
  - assets/fonts/Inter/.DS_Store
76
78
  - assets/fonts/Inter/Inter-Bold.otf
@@ -2381,6 +2383,7 @@ files:
2381
2383
  - assets/images/favicon.png
2382
2384
  - assets/images/homepage.png
2383
2385
  - assets/js/lunr.js
2386
+ - assets/js/lunr.unicodeNormalizer.ts
2384
2387
  - assets/js/search.js
2385
2388
  - assets/js/toc.js
2386
2389
  homepage: https://github.com/pomeloshark/jekyll-theme-paperwiki
data/assets/.DS_Store DELETED
Binary file