word-games-theme 0.8.0 → 0.8.1

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: 5b383e2d2ca991f0df8c99706aea73184eed922cad3c6207e9144f3795c3a38d
4
- data.tar.gz: b70abbe49809438065ff3f2b8e8e9611633a1ab8cbf292c7f6eae8b344a80f9e
3
+ metadata.gz: 365f974085302d1308d6b085887b28c5e0eea6802bfb87af6560dbe57c91ae19
4
+ data.tar.gz: fc5713197ce42b4869e1ff9cbfc218cf84413493d04d31de9df16345a3c2d3b4
5
5
  SHA512:
6
- metadata.gz: 23a74f922f3fd3a6301aa07618809a0894f7089c0fccce5e2e2e919c909b7d73963ee50527fcada52ced63dc40a0c27f6907dac2b140757f73ec228183f167aa
7
- data.tar.gz: ee7afc262a84181335b87320eb085c2cb65ffba4df67805e590acb0ffc5f8e0a2eae530b3b9f50035297bb1e5de01c443ae7f713d265906d8e7093095da61e3f
6
+ metadata.gz: fc89d748df6b1a3dfff361dc4c4713cdc2680fbac866757d12304dcfecff5b3a6044e7bddc190cc50a8a793127cff0eeb48ab5f8c1fbb2219813008514e43423
7
+ data.tar.gz: 614d760ab3ef31eccf42e790ce52a3e608d1b8dbac5a3743f0d3b1f7509109d79a7fcdf7963d027c65836bd979fd1a2918e0c83278777bd686f9deee38812aa5
@@ -5,6 +5,10 @@
5
5
  "name": "words",
6
6
  "url": "/test"
7
7
  },
8
+ {
9
+ "name": "4 letter words with these letters and a blank",
10
+ "url": "/4-letter-words-with-these-letters-and-a-blank"
11
+ },
8
12
  {
9
13
  "name": "unscramble-letters",
10
14
  "url": "/unscramble-letters-to-make-words"
@@ -0,0 +1 @@
1
+ {"filewords":{"name":"","data":[{"word":"","x":"","gameName":""}]},"filepath":{},"title":"4 letter words with these letters and a blank- The most useful word finder tool ","h1":"Here's the full list of 4 letter words with these letters and a blank","h2":"Find all 4 letter words with these letters and a blank","meta":"Find words using a combination of letters and blanks words using a combination of letters and blanks without any constrain. Use our advanced word search tool and get your desired result.","featureNo":"02","feature_title":"Features","blogNo":"03","blog_title":"Blog","FaqNo":"04","Faq_title":"FAQ","aboutNo":"05","about_title":"About","featureList":[{"feature_heading":"","feature_text":"","fa_class":"../assets/images/star.svg"},{"feature_heading":"","feature_text":"","fa_class":"../assets/images/star.svg"},{"feature_heading":"","feature_text":"","fa_class":"../assets/images/star.svg"},{"feature_heading":"","feature_text":"","fa_class":"../assets/images/star.svg"},{"feature_heading":"","feature_text":"","fa_class":"../assets/images/star.svg"},{"feature_heading":"","feature_text":"","fa_class":"../assets/images/star.svg"}],"faqList":[{"Question":"","Answer":""}]}
@@ -20,10 +20,14 @@
20
20
  <div class="serachSection">
21
21
  <div class="position-relative serachBox">
22
22
  <form action="/result" id='form' method="GET">
23
-
24
- <input style="border-radius: {{CustomColor.inputFieldBorder}}" type="text"
25
- placeholder="Enter up to 15 letters?" class="txtBox" value='' name="search" maxlength="15"
26
- required autocomplete="off">
23
+ <div style="position: relative;">
24
+ <input style="border-radius: {{CustomColor.inputFieldBorder}}" type="text"
25
+ placeholder="Enter up to 15 letters?" class="txtBox" value='' name="search" maxlength="15"
26
+ required autocomplete="off">
27
+ <span class="focus-border">
28
+ <i></i>
29
+ </span>
30
+ </div>
27
31
  <input style="border-radius: {{CustomColor.inputFieldBorder}};
28
32
  background-color: {{CustomColor.inputButtonBg}};" type="submit" class="serachBtn" id="serach"
29
33
  value>
@@ -19,9 +19,15 @@
19
19
  <div class="serachSection">
20
20
  <div class="position-relative serachBox">
21
21
  <form action="{{page.url}}/result" id='form' method="GET">
22
- <input style="border-radius: {{CustomColor.inputFieldBorder}}" type="text"
23
- placeholder="Enter up to 15 letters?" class="txtBox" value='' name="search" maxlength="15"
24
- required autocomplete="off">
22
+ <div style="position: relative;">
23
+ <input style="border-radius: {{CustomColor.inputFieldBorder}}" type="text"
24
+ placeholder="Enter up to 15 letters?" class="txtBox" value='' name="search" maxlength="15"
25
+ required autocomplete="off">
26
+ <span class="focus-border">
27
+ <i></i>
28
+ </span>
29
+ </div>
30
+
25
31
  <input
26
32
  style="border-radius: {{CustomColor.inputFieldBorder}}; background-color: {{CustomColor.inputButtonBg}};"
27
33
  type="submit" class="serachBtn" id="serach" value>
@@ -57,8 +57,10 @@
57
57
  <script defer src="https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/js/bootstrap.min.js"></script>
58
58
  <script>
59
59
  let txtBox = document.querySelector('.txtBox')
60
+ let focusBorder = document.querySelector('.focus-border')
60
61
  txtBox.focus()
61
62
  txtBox.addEventListener('input', (e) => {
63
+ focusBorder.classList.remove("focus-border")
62
64
  e.target.value = e.target.value.replace(/[^a-zA-Z? ]/g, "")
63
65
  let rangeOfBlankTile = '{{ page.blanktilerange }}'
64
66
  if (rangeOfBlankTile === "") {
data/_layouts/page.html CHANGED
@@ -59,6 +59,17 @@
59
59
 
60
60
  <link rel="stylesheet"
61
61
  href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-icons/1.5.0/font/bootstrap-icons.min.css" />
62
+ <script src="//cdnjs.cloudflare.com/ajax/libs/webfont/1.6.28/webfontloader.js"></script>
63
+ <script>WebFont.load({ google: { families: ['Poppins:400&display=swap'] } })</script>
64
+ <script>
65
+ (function () {
66
+ d = document;
67
+ c = d.createElement('link');
68
+ c.href = '//cdnjs.cloudflare.com/ajax/libs/font-awesome/5.13.0/css/all.min.css';
69
+ c.rel = 'stylesheet';
70
+ d.head.appendChild(c);
71
+ })();
72
+ </script>
62
73
  <script data-range="{{page.blanktilerange}}" src="/assets/js/wordScrabble.js"></script>
63
74
  <script defer src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>
64
75
  <script defer src="https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/js/bootstrap.min.js"></script>
data/_layouts/page2.html CHANGED
@@ -57,7 +57,18 @@
57
57
 
58
58
  <link rel="stylesheet"
59
59
  href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-icons/1.5.0/font/bootstrap-icons.min.css" />
60
- <script src="/assets/js/X-letter.js" data-letter="{{page.letter}}"></script>
60
+ <script src="//cdnjs.cloudflare.com/ajax/libs/webfont/1.6.28/webfontloader.js"></script>
61
+ <script>WebFont.load({ google: { families: ['Poppins:400&display=swap'] } })</script>
62
+ <script>
63
+ (function () {
64
+ d = document;
65
+ c = d.createElement('link');
66
+ c.href = '//cdnjs.cloudflare.com/ajax/libs/font-awesome/5.13.0/css/all.min.css';
67
+ c.rel = 'stylesheet';
68
+ d.head.appendChild(c);
69
+ })();
70
+ </script>
71
+ <script src="/assets/js/X-letter.js" data-letter="{{page.letter}}" data-ablank="{{page.ablank}}"></script>
61
72
  <script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>
62
73
  <script src="https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/js/bootstrap.min.js"></script>
63
74
  {% include Monumetric/Monumetric.html %}
data/assets/css/home.css CHANGED
@@ -55,6 +55,77 @@ input:-webkit-autofill:active {
55
55
  outline: none;
56
56
  position: relative;
57
57
  }
58
+
59
+ .txtBox~.focus-border:before,
60
+ .txtBox~.focus-border:after {
61
+ content: "";
62
+ position: absolute;
63
+ top: 0;
64
+ right: 0;
65
+ width: 0;
66
+ height: 2px;
67
+ background-color: #000;
68
+ transition: .5s;
69
+ transition-delay: 0.2s;
70
+ z-index: 9;
71
+ }
72
+ .txtBox~.focus-border:after {
73
+ top: auto;
74
+ bottom: 0;
75
+ right: auto;
76
+ left: 0;
77
+ transition-delay: 0.6s;
78
+ }
79
+ .txtBox:focus~.focus-border:before,
80
+ .txtBox:focus~.focus-border:after,
81
+ .has-content.txtBox~.focus-border:before,
82
+ .has-content.txtBox~.focus-border:after {
83
+ width: 100%;
84
+ transition: .5s;
85
+ transition-delay: 0.6s;
86
+ }
87
+
88
+ .txtBox:focus~.focus-border:after,
89
+ .has-content.txtBox~.focus-border:after {
90
+ transition-delay: 0.2s;
91
+ }
92
+
93
+ .txtBox:focus~.focus-border i:before,
94
+ .txtBox:focus~.focus-border i:after,
95
+ .has-content.txtBox~.focus-border i:before,
96
+ .has-content.txtBox~.focus-border i:after {
97
+ height: 100%;
98
+ transition: 0.2s;
99
+ }
100
+
101
+ .txtBox:focus~.focus-border i:after,
102
+ .has-conten.txtBox~.focus-border i:after {
103
+ transition-delay: 0.4s;
104
+ }
105
+ .txtBox~.focus-border i:before,
106
+ .txtBox~.focus-border i:after {
107
+ content: "";
108
+ position: absolute;
109
+ top: 0;
110
+ left: 0;
111
+ width: 2px;
112
+ height: 0;
113
+ background-color: #000;
114
+ transition: .5s;
115
+ }
116
+
117
+ .txtBox~.focus-border i:after {
118
+ left: auto;
119
+ right: 0;
120
+ top: auto;
121
+ bottom: 0;
122
+ transition-delay: 0.4s;
123
+ }
124
+
125
+
126
+
127
+
128
+
58
129
  /* ravi */
59
130
  .txtBox::placeholder {
60
131
  /* Chrome, Firefox, Opera, Safari 10.1+ */
@@ -3,6 +3,8 @@
3
3
  const getScript=document.currentScript
4
4
  const letterLen = getScript.dataset.letter
5
5
 
6
+ const ablank = getScript.dataset.ablank
7
+
6
8
  let errorMsg = document.querySelector('.errorMsg')
7
9
  let script = document.currentScript
8
10
  let wordCount = document.querySelector('.wordCount')
@@ -24,6 +26,16 @@ tab_link_wrapper.style.display = "none"
24
26
  let txtBox = document.querySelector('.txtBox')
25
27
  txtBox.focus()
26
28
  txtBox.value = serachValue
29
+
30
+
31
+ if(ablank){
32
+ if(!serachValue.includes("?")){
33
+ if(serachValue.length < letterLen){
34
+ serachValue = serachValue + '?'
35
+ }
36
+ }
37
+ }
38
+
27
39
  txtBox.addEventListener('input', (e) => {
28
40
  let rangeOfBlankTile = script.dataset.range
29
41
  e.target.value = e.target.value.replace(/[^a-zA-Z? ]/g, '')
@@ -80,6 +92,7 @@ const getData = async (serachValue) => {
80
92
  getData(serachValue.toLowerCase())
81
93
 
82
94
  function x_with_letters(data) {
95
+ console.log(data);
83
96
  if (typeof data === 'string') {
84
97
  errorMsg.innerHTML = 'No words found'
85
98
  wordCount.innerHTML = `<strong>Found 0 words with letters ${serachValue.split(
@@ -93,7 +106,7 @@ function x_with_letters(data) {
93
106
  if (letterLen) {
94
107
  filterData = data.filter((item) => item.length == letterLen)
95
108
  }
96
-
109
+
97
110
 
98
111
  if (prefixValue) {
99
112
  filterData = filterData.filter((item2) =>
@@ -316,8 +329,42 @@ function sortPointsby(sortValue, data, i) {
316
329
  })
317
330
  })
318
331
  const result = newArray.map((item) => {
319
- return `<a class="anchor__style" title="Lookup python in Dictionary" target="_blank" href="/word-meaning?search=${item.words}">
320
- <li>${item.words}
332
+ var text1 = serachValue.replace('?', '')
333
+ var text2 = item.words
334
+ var text3 = item.words
335
+ function findIndex(str, char) {
336
+ const strLength = str.length
337
+ const indexes = []
338
+ let newStr = str
339
+ while (newStr && newStr.indexOf(char) > -1) {
340
+ indexes.push(newStr.indexOf(char) + strLength - newStr.length)
341
+ newStr = newStr.substring(newStr.indexOf(char) + 1)
342
+ newStr = newStr.substring(newStr.indexOf(char) + 1)
343
+ }
344
+ return indexes
345
+ }
346
+ let chars = text1.split('')
347
+ let indexs = []
348
+ chars.map((i) => {
349
+ let findIndexes = findIndex(text3, i)
350
+ if (findIndexes.length > 0) {
351
+ text3 = text3.split('')
352
+ text3[findIndexes] = '$'
353
+ text3 = text3.join('')
354
+ indexs = [...indexs, ...findIndexes]
355
+ }
356
+ })
357
+ let itemHtml = ''
358
+ text2.split('').map((itemValue, index) => {
359
+ let check = indexs.find((i) => i === index)
360
+ if (check !== undefined) {
361
+ itemHtml += `${itemValue}`
362
+ } else {
363
+ itemHtml += `<span class='highlight'>${itemValue}</span>`
364
+ }
365
+ })
366
+ return `<a class="anchor__style" title="Lookup ${item} in Dictionary" target="_blank" href="/word-meaning?search=${item.words}">
367
+ <li>${itemHtml}
321
368
  <span class="points" value="${item.points}" style="position:relative; top:4px; font-size:12px"> ${item.points}</span>
322
369
  </li></a>`
323
370
  })
@@ -336,7 +383,6 @@ function sortPointsby(sortValue, data, i) {
336
383
  `
337
384
  }
338
385
  }
339
-
340
386
  // sort by aplhabets
341
387
  function sortby(sortBool, data, i) {
342
388
  if (sortBool) {
@@ -349,8 +395,44 @@ function sortby(sortBool, data, i) {
349
395
  for (let i = 0; i < item.length; i++) {
350
396
  sum += ScrabbleLetterScore[item[i]] || 0 // for unknown characters
351
397
  }
352
- return `<a class="anchor__style" title="Lookup python in Dictionary" target="_blank" href="/word-meaning?search=${item}">
353
- <li>${item}
398
+
399
+ var text1 = serachValue.replace('?', '')
400
+ var text2 = item
401
+ var text3 = item
402
+ function findIndex(str, char) {
403
+ const strLength = str.length
404
+ const indexes = []
405
+ let newStr = str
406
+ while (newStr && newStr.indexOf(char) > -1) {
407
+ indexes.push(newStr.indexOf(char) + strLength - newStr.length)
408
+ newStr = newStr.substring(newStr.indexOf(char) + 1)
409
+ newStr = newStr.substring(newStr.indexOf(char) + 1)
410
+ }
411
+ return indexes
412
+ }
413
+ let chars = text1.split('')
414
+ let indexs = []
415
+ chars.map((i) => {
416
+ let findIndexes = findIndex(text3, i)
417
+ if (findIndexes.length > 0) {
418
+ text3 = text3.split('')
419
+ text3[findIndexes] = '$'
420
+ text3 = text3.join('')
421
+ indexs = [...indexs, ...findIndexes]
422
+ }
423
+ })
424
+ let itemHtml = ''
425
+ text2.split('').map((itemValue, index) => {
426
+ let check = indexs.find((i) => i === index)
427
+ if (check !== undefined) {
428
+ itemHtml += `${itemValue}`
429
+ } else {
430
+ itemHtml += `<span class='highlight'>${itemValue}</span>`
431
+ }
432
+ })
433
+
434
+ return `<a class="anchor__style" title="Lookup ${item} in Dictionary" target="_blank" href="/word-meaning?search=${item}">
435
+ <li>${itemHtml}
354
436
  <span class="points" value="${sum}" style="position:relative; top:4px; font-size:12px"> ${sum}</span>
355
437
  </li></a>`
356
438
  })
@@ -378,8 +460,44 @@ function sortby(sortBool, data, i) {
378
460
  for (let i = 0; i < item.length; i++) {
379
461
  sum += ScrabbleLetterScore[item[i]] || 0 // for unknown characters
380
462
  }
381
- return `<a class="anchor__style" title="Lookup python in Dictionary" target="_blank" href="/word-meaning?search=${item}">
382
- <li>${item}
463
+
464
+ var text1 = serachValue.replace('?', '')
465
+ var text2 = item
466
+ var text3 = item
467
+ function findIndex(str, char) {
468
+ const strLength = str.length
469
+ const indexes = []
470
+ let newStr = str
471
+ while (newStr && newStr.indexOf(char) > -1) {
472
+ indexes.push(newStr.indexOf(char) + strLength - newStr.length)
473
+ newStr = newStr.substring(newStr.indexOf(char) + 1)
474
+ newStr = newStr.substring(newStr.indexOf(char) + 1)
475
+ }
476
+ return indexes
477
+ }
478
+ let chars = text1.split('')
479
+ let indexs = []
480
+ chars.map((i) => {
481
+ let findIndexes = findIndex(text3, i)
482
+ if (findIndexes.length > 0) {
483
+ text3 = text3.split('')
484
+ text3[findIndexes] = '$'
485
+ text3 = text3.join('')
486
+ indexs = [...indexs, ...findIndexes]
487
+ }
488
+ })
489
+ let itemHtml = ''
490
+ text2.split('').map((itemValue, index) => {
491
+ let check = indexs.find((i) => i === index)
492
+ if (check !== undefined) {
493
+ itemHtml += `${itemValue}`
494
+ } else {
495
+ itemHtml += `<span class='highlight'>${itemValue}</span>`
496
+ }
497
+ })
498
+
499
+ return `<a class="anchor__style" title="Lookup ${item} in Dictionary" target="_blank" href="/word-meaning?search=${item}">
500
+ <li>${itemHtml}
383
501
  <span class="points" value="${sum}" style="position:relative; top:4px; font-size:12px"> ${sum}</span>
384
502
  </li></a>`
385
503
  })
@@ -354,7 +354,7 @@ function sortPointsby(sortValue, data) {
354
354
  itemHtml += `<span class='highlight'>${itemValue}</span>`
355
355
  }
356
356
  })
357
- return `<a class="anchor__style" title="Lookup python in Dictionary" target="_blank" href="/word-meaning?search=${item.words}">
357
+ return `<a class="anchor__style" title="Lookup ${item} in Dictionary" target="_blank" href="/word-meaning?search=${item.words}">
358
358
  <li>${itemHtml}
359
359
  <span class="points" value="${item.points}" style="position:relative; top:4px; font-size:12px"> ${item.points}</span>
360
360
  </li></a>`
@@ -426,7 +426,7 @@ function sortby(sortBool, data) {
426
426
  sum += ScrabbleLetterScore[item[i]] || 0 // for unknown characters
427
427
  }
428
428
 
429
- return `<a class="anchor__style" title="Lookup python in Dictionary" target="_blank" href="/word-meaning?search=${item.toLowerCase()}">
429
+ return `<a class="anchor__style" title="Lookup ${item} in Dictionary" target="_blank" href="/word-meaning?search=${item.toLowerCase()}">
430
430
  <li>${itemHtml}
431
431
  <span class="points" value="${sum}" style="position:relative; top:4px; font-size:12px"> ${sum}</span>
432
432
  </li></a>`
@@ -489,7 +489,7 @@ function sortby(sortBool, data) {
489
489
  sum += ScrabbleLetterScore[item[i]] || 0 // for unknown characters
490
490
  }
491
491
 
492
- return `<a class="anchor__style" title="Lookup python in Dictionary" target="_blank" href="/word-meaning?search=${item.toLowerCase()}">
492
+ return `<a class="anchor__style" title="Lookup ${item} in Dictionary" target="_blank" href="/word-meaning?search=${item.toLowerCase()}">
493
493
  <li>${itemHtml}
494
494
  <span class="points" value="${sum}" style="position:relative; top:4px; font-size:12px"> ${sum}</span>
495
495
  </li></a>`
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: word-games-theme
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.0
4
+ version: 0.8.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - manpreet-appscms
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-02-01 00:00:00.000000000 Z
11
+ date: 2022-02-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll
@@ -76,6 +76,7 @@ files:
76
76
  - _data/header/en/data.json
77
77
  - _data/theme/colors.json
78
78
  - _data/wordfinderstrategy/en/how-to-use-5-letter-word-finder-to-score-high-in-scrabble-words-with-friends.json
79
+ - _data/wordgames/en/4_letter_words_with_these_letters_and_a_blank.json
79
80
  - _data/wordgames/en/anagram_word_finder.json
80
81
  - _data/wordgames/en/eight_letter_word_finder.json
81
82
  - _data/wordgames/en/eleven_letter_word_finder.json