word-games-theme 0.7.8 → 0.8.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/_data/header/en/data.json +4 -0
- data/_data/wordgames/en/4_letter_words_with_these_letters_and_a_blank.json +1 -0
- data/_includes/section/home.html +8 -4
- data/_includes/section/home2.html +10 -4
- data/_layouts/autogencontent.html +1 -1
- data/_layouts/default.html +1 -3
- data/_layouts/page.html +11 -0
- data/_layouts/page2.html +12 -1
- data/_layouts/xyzpages.html +1 -1
- data/assets/css/footer.css +1 -1
- data/assets/css/home.css +71 -0
- data/assets/js/X-letter.js +200 -11
- data/assets/js/wordScrabble.js +5 -3
- metadata +3 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 03c2597b88c9c783b47b3fd78b7b3f64f72155a5796e287c030aac519a8bef5b
|
|
4
|
+
data.tar.gz: cd381f0d2f72030746d8deea8174725a9c0e8c4e2145055c5d08ab3717515ca2
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 013dfdf1c66dbfb81c34dca9e84bb0b015bd4bb61a80f69cfd539c6532e152160acd6f548c8c00ccccb9d6983b2095e2e5da618fe85b2e0d37a42cbe11c7e860
|
|
7
|
+
data.tar.gz: 29d3d58f0c8892c278b9c0137dddf3adb9a47b219d5fbb23da6097461e8fb4bf092deec74a97c0fda92c0f6f72e9b92cd6cb2e9c1077cc37340ef231b9b6a6a8
|
data/_data/header/en/data.json
CHANGED
|
@@ -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":""}]}
|
data/_includes/section/home.html
CHANGED
|
@@ -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
|
-
|
|
25
|
-
|
|
26
|
-
|
|
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
|
-
<
|
|
23
|
-
|
|
24
|
-
|
|
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>
|
|
@@ -85,7 +91,7 @@
|
|
|
85
91
|
</div>
|
|
86
92
|
</div>
|
|
87
93
|
</form>
|
|
88
|
-
{%- if page.
|
|
94
|
+
{%- if page.wordle == 'solver' -%}
|
|
89
95
|
<h2 class="m-0 mt-4 text-center" style="font-size:16px">
|
|
90
96
|
<a style="color:#000" href="/wordle-solver">Solve wordle quickly using our wordle solver</a>
|
|
91
97
|
</h2>
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
|
|
11
11
|
<link rel="stylesheet"
|
|
12
12
|
href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-icons/1.5.0/font/bootstrap-icons.min.css" />
|
|
13
|
-
<script defer src="
|
|
13
|
+
<script defer src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>
|
|
14
14
|
<script defer src="https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/js/bootstrap.min.js"></script>
|
|
15
15
|
{% include Monumetric/Monumetric.html %}
|
|
16
16
|
</body>
|
data/_layouts/default.html
CHANGED
|
@@ -56,13 +56,11 @@
|
|
|
56
56
|
<script defer src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>
|
|
57
57
|
<script defer src="https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/js/bootstrap.min.js"></script>
|
|
58
58
|
<script>
|
|
59
|
-
|
|
60
59
|
let txtBox = document.querySelector('.txtBox')
|
|
61
60
|
let focusBorder = document.querySelector('.focus-border')
|
|
62
|
-
|
|
63
61
|
txtBox.focus()
|
|
64
62
|
txtBox.addEventListener('input', (e) => {
|
|
65
|
-
focusBorder.classList.remove(
|
|
63
|
+
focusBorder.classList.remove("focus-border")
|
|
66
64
|
e.target.value = e.target.value.replace(/[^a-zA-Z? ]/g, "")
|
|
67
65
|
let rangeOfBlankTile = '{{ page.blanktilerange }}'
|
|
68
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="/
|
|
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/_layouts/xyzpages.html
CHANGED
|
@@ -95,7 +95,7 @@
|
|
|
95
95
|
|
|
96
96
|
<link rel="stylesheet"
|
|
97
97
|
href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-icons/1.5.0/font/bootstrap-icons.min.css" />
|
|
98
|
-
<script defer src="
|
|
98
|
+
<script defer src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>
|
|
99
99
|
<script defer src="https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/js/bootstrap.min.js"></script>
|
|
100
100
|
{% include Monumetric/Monumetric.html %}
|
|
101
101
|
|
data/assets/css/footer.css
CHANGED
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+ */
|
data/assets/js/X-letter.js
CHANGED
|
@@ -3,12 +3,15 @@
|
|
|
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')
|
|
9
|
+
let script = document.currentScript
|
|
7
10
|
let wordCount = document.querySelector('.wordCount')
|
|
8
11
|
let main = document.querySelector('.main')
|
|
9
12
|
|
|
10
13
|
const params = new URLSearchParams(window.location.search)
|
|
11
|
-
let serachValue = params.get('search')
|
|
14
|
+
let serachValue = params.get('search').toLowerCase()
|
|
12
15
|
let prefixValue = params.get('prefix')
|
|
13
16
|
let containsValue = params.get('contains')
|
|
14
17
|
let suffixValue = params.get('suffix')
|
|
@@ -24,9 +27,52 @@ let txtBox = document.querySelector('.txtBox')
|
|
|
24
27
|
txtBox.focus()
|
|
25
28
|
txtBox.value = serachValue
|
|
26
29
|
|
|
30
|
+
|
|
31
|
+
if(ablank){
|
|
32
|
+
if(!serachValue.includes("?")){
|
|
33
|
+
if(serachValue.length < letterLen){
|
|
34
|
+
serachValue = serachValue + '?'
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
txtBox.addEventListener('input', (e) => {
|
|
40
|
+
let rangeOfBlankTile = script.dataset.range
|
|
41
|
+
e.target.value = e.target.value.replace(/[^a-zA-Z? ]/g, '')
|
|
42
|
+
if (rangeOfBlankTile === '') {
|
|
43
|
+
rangeOfBlankTile = 5
|
|
44
|
+
}
|
|
45
|
+
e.target.value = e.target.value.replace(/ /g, '?')
|
|
46
|
+
let data = []
|
|
47
|
+
data = e.target.value.split('').filter((i) => i === '?')
|
|
48
|
+
if (data.length > rangeOfBlankTile) {
|
|
49
|
+
e.target.value = e.target.value.replace(/\?$/, '')
|
|
50
|
+
}
|
|
51
|
+
})
|
|
52
|
+
|
|
27
53
|
var theSelect = document.getElementById('select_dropDown')
|
|
28
54
|
document.querySelector('.select_dropDown2').value = dictonary
|
|
29
|
-
|
|
55
|
+
const getDiff = (text1, text2) => {
|
|
56
|
+
var diffRange = []
|
|
57
|
+
var currentRange = undefined
|
|
58
|
+
for (var i = 0; i < text1.length; i++) {
|
|
59
|
+
if (text1[i] != text2[i]) {
|
|
60
|
+
if (currentRange == undefined) {
|
|
61
|
+
currentRange = [i]
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
if (currentRange != undefined && text1[i] == text2[i]) {
|
|
65
|
+
currentRange.push(i)
|
|
66
|
+
diffRange.push(currentRange)
|
|
67
|
+
currentRange = undefined
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
if (currentRange != undefined) {
|
|
71
|
+
currentRange.push(i)
|
|
72
|
+
diffRange.push(currentRange)
|
|
73
|
+
}
|
|
74
|
+
return diffRange
|
|
75
|
+
}
|
|
30
76
|
const getData = async (serachValue) => {
|
|
31
77
|
try {
|
|
32
78
|
main.innerHTML = `<div class="loader">
|
|
@@ -46,6 +92,7 @@ const getData = async (serachValue) => {
|
|
|
46
92
|
getData(serachValue.toLowerCase())
|
|
47
93
|
|
|
48
94
|
function x_with_letters(data) {
|
|
95
|
+
console.log(data);
|
|
49
96
|
if (typeof data === 'string') {
|
|
50
97
|
errorMsg.innerHTML = 'No words found'
|
|
51
98
|
wordCount.innerHTML = `<strong>Found 0 words with letters ${serachValue.split(
|
|
@@ -59,7 +106,7 @@ function x_with_letters(data) {
|
|
|
59
106
|
if (letterLen) {
|
|
60
107
|
filterData = data.filter((item) => item.length == letterLen)
|
|
61
108
|
}
|
|
62
|
-
|
|
109
|
+
|
|
63
110
|
|
|
64
111
|
if (prefixValue) {
|
|
65
112
|
filterData = filterData.filter((item2) =>
|
|
@@ -160,8 +207,45 @@ function x_with_letters(data) {
|
|
|
160
207
|
sum += ScrabbleLetterScore[item[i]] || 0 // for unknown characters
|
|
161
208
|
}
|
|
162
209
|
wordLength.value = itemLength
|
|
210
|
+
|
|
211
|
+
var text1 = serachValue.replace('?', '')
|
|
212
|
+
var text2 = item
|
|
213
|
+
var text3 = item
|
|
214
|
+
function findIndex(str, char) {
|
|
215
|
+
const strLength = str.length
|
|
216
|
+
const indexes = []
|
|
217
|
+
let newStr = str
|
|
218
|
+
while (newStr && newStr.indexOf(char) > -1) {
|
|
219
|
+
indexes.push(newStr.indexOf(char) + strLength - newStr.length)
|
|
220
|
+
newStr = newStr.substring(newStr.indexOf(char) + 1)
|
|
221
|
+
newStr = newStr.substring(newStr.indexOf(char) + 1)
|
|
222
|
+
}
|
|
223
|
+
return indexes
|
|
224
|
+
}
|
|
225
|
+
let chars = text1.split('')
|
|
226
|
+
let indexs = []
|
|
227
|
+
chars.map((i) => {
|
|
228
|
+
let findIndexes = findIndex(text3, i)
|
|
229
|
+
if (findIndexes.length > 0) {
|
|
230
|
+
text3 = text3.split('')
|
|
231
|
+
text3[findIndexes] = '$'
|
|
232
|
+
text3 = text3.join('')
|
|
233
|
+
indexs = [...indexs, ...findIndexes]
|
|
234
|
+
}
|
|
235
|
+
})
|
|
236
|
+
let itemHtml = ''
|
|
237
|
+
text2.split('').map((itemValue, index) => {
|
|
238
|
+
let check = indexs.find((i) => i === index)
|
|
239
|
+
if (check !== undefined) {
|
|
240
|
+
itemHtml += `${itemValue}`
|
|
241
|
+
} else {
|
|
242
|
+
itemHtml += `<span class='highlight'>${itemValue}</span>`
|
|
243
|
+
}
|
|
244
|
+
})
|
|
245
|
+
|
|
246
|
+
|
|
163
247
|
return `<a class="anchor__style" title="Lookup ${item} in Dictionary" target="_blank" href="/word-meaning?search=${item}">
|
|
164
|
-
<li>${
|
|
248
|
+
<li>${itemHtml}
|
|
165
249
|
<span class="points" value="${sum}" style="position:relative; top:4px; font-size:12px"> ${sum}</span>
|
|
166
250
|
</li></a>`
|
|
167
251
|
})
|
|
@@ -245,8 +329,42 @@ function sortPointsby(sortValue, data, i) {
|
|
|
245
329
|
})
|
|
246
330
|
})
|
|
247
331
|
const result = newArray.map((item) => {
|
|
248
|
-
|
|
249
|
-
|
|
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}
|
|
250
368
|
<span class="points" value="${item.points}" style="position:relative; top:4px; font-size:12px"> ${item.points}</span>
|
|
251
369
|
</li></a>`
|
|
252
370
|
})
|
|
@@ -265,7 +383,6 @@ function sortPointsby(sortValue, data, i) {
|
|
|
265
383
|
`
|
|
266
384
|
}
|
|
267
385
|
}
|
|
268
|
-
|
|
269
386
|
// sort by aplhabets
|
|
270
387
|
function sortby(sortBool, data, i) {
|
|
271
388
|
if (sortBool) {
|
|
@@ -278,8 +395,44 @@ function sortby(sortBool, data, i) {
|
|
|
278
395
|
for (let i = 0; i < item.length; i++) {
|
|
279
396
|
sum += ScrabbleLetterScore[item[i]] || 0 // for unknown characters
|
|
280
397
|
}
|
|
281
|
-
|
|
282
|
-
|
|
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}
|
|
283
436
|
<span class="points" value="${sum}" style="position:relative; top:4px; font-size:12px"> ${sum}</span>
|
|
284
437
|
</li></a>`
|
|
285
438
|
})
|
|
@@ -307,8 +460,44 @@ function sortby(sortBool, data, i) {
|
|
|
307
460
|
for (let i = 0; i < item.length; i++) {
|
|
308
461
|
sum += ScrabbleLetterScore[item[i]] || 0 // for unknown characters
|
|
309
462
|
}
|
|
310
|
-
|
|
311
|
-
|
|
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}
|
|
312
501
|
<span class="points" value="${sum}" style="position:relative; top:4px; font-size:12px"> ${sum}</span>
|
|
313
502
|
</li></a>`
|
|
314
503
|
})
|
data/assets/js/wordScrabble.js
CHANGED
|
@@ -321,6 +321,8 @@ function sortPointsby(sortValue, data) {
|
|
|
321
321
|
var text1 = serachValue.replace('?', '')
|
|
322
322
|
var text2 = item.words
|
|
323
323
|
var text3 = item.words
|
|
324
|
+
|
|
325
|
+
|
|
324
326
|
function findIndex(str, char) {
|
|
325
327
|
const strLength = str.length
|
|
326
328
|
const indexes = []
|
|
@@ -352,7 +354,7 @@ function sortPointsby(sortValue, data) {
|
|
|
352
354
|
itemHtml += `<span class='highlight'>${itemValue}</span>`
|
|
353
355
|
}
|
|
354
356
|
})
|
|
355
|
-
return `<a class="anchor__style" title="Lookup
|
|
357
|
+
return `<a class="anchor__style" title="Lookup ${item} in Dictionary" target="_blank" href="/word-meaning?search=${item.words}">
|
|
356
358
|
<li>${itemHtml}
|
|
357
359
|
<span class="points" value="${item.points}" style="position:relative; top:4px; font-size:12px"> ${item.points}</span>
|
|
358
360
|
</li></a>`
|
|
@@ -424,7 +426,7 @@ function sortby(sortBool, data) {
|
|
|
424
426
|
sum += ScrabbleLetterScore[item[i]] || 0 // for unknown characters
|
|
425
427
|
}
|
|
426
428
|
|
|
427
|
-
return `<a class="anchor__style" title="Lookup
|
|
429
|
+
return `<a class="anchor__style" title="Lookup ${item} in Dictionary" target="_blank" href="/word-meaning?search=${item.toLowerCase()}">
|
|
428
430
|
<li>${itemHtml}
|
|
429
431
|
<span class="points" value="${sum}" style="position:relative; top:4px; font-size:12px"> ${sum}</span>
|
|
430
432
|
</li></a>`
|
|
@@ -487,7 +489,7 @@ function sortby(sortBool, data) {
|
|
|
487
489
|
sum += ScrabbleLetterScore[item[i]] || 0 // for unknown characters
|
|
488
490
|
}
|
|
489
491
|
|
|
490
|
-
return `<a class="anchor__style" title="Lookup
|
|
492
|
+
return `<a class="anchor__style" title="Lookup ${item} in Dictionary" target="_blank" href="/word-meaning?search=${item.toLowerCase()}">
|
|
491
493
|
<li>${itemHtml}
|
|
492
494
|
<span class="points" value="${sum}" style="position:relative; top:4px; font-size:12px"> ${sum}</span>
|
|
493
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.
|
|
4
|
+
version: 0.8.2
|
|
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-
|
|
11
|
+
date: 2022-02-03 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
|