jekyll-theme-paperwiki 0.1.17 → 0.1.18

Sign up to get free protection for your applications and to get access to all the features.
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