word-games-theme 0.7.9 → 0.8.3
Sign up to get free protection for your applications and to get access to all the features.
- 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/Monumetric/Monumetric.html +2 -2
- data/_includes/footer/index.html +32 -33
- data/_includes/section/commonPage.html +1 -1
- data/_includes/section/home.html +8 -4
- data/_includes/section/home2.html +10 -4
- data/_layouts/default.html +1 -3
- data/_layouts/page.html +12 -1
- data/_layouts/page2.html +13 -3
- data/_layouts/xyzpages.html +1 -1
- data/assets/css/advancedFilter.css +2 -1
- data/assets/css/footer.css +4 -1
- data/assets/css/home.css +84 -2
- data/assets/css/style.css +3 -0
- data/assets/css/wordGroup.css +2 -2
- 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: 0ee34c20666ba81ae3fbcee19af3d215cd4f21ddfbee6191aeac0640b0803e96
|
4
|
+
data.tar.gz: b1df8727531dbefc545e2cf61c16baeca78ccf20873536ef8e6e94810304e9e8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a9879e76ae9e72ed2d0733f3f87b16bbf550a425568c08e17f5a04f8e9ecebdcd5fa7761d889129c0202bd7f6724a4a9084632039ba7576102dbab3deb2271b2
|
7
|
+
data.tar.gz: 56f8c7b936c16eb7672cbdef2037752edadfc69b2d1c0f2675d52a53b4aeb78c4dd289ba095e4c018bd7caa6a5529abf243d4015e40b34eee60c35e1702f44cf
|
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":""}]}
|
@@ -2,6 +2,6 @@
|
|
2
2
|
<script type="text/javascript" defer delay="{{site.MonumetricID}}" data-cfasync="false"></script>
|
3
3
|
{% endif %}
|
4
4
|
|
5
|
-
|
5
|
+
{% if jekyll.environment == 'development' and site.MonumetricID %}
|
6
6
|
<script type="text/javascript" delay="{{site.MonumetricID}}"></script>
|
7
|
-
{% endif %}
|
7
|
+
{% endif %}
|
data/_includes/footer/index.html
CHANGED
@@ -58,38 +58,6 @@
|
|
58
58
|
<div class="container">
|
59
59
|
<div class="footer-single-col">
|
60
60
|
<div class="row d-flex justify-content-between mt-5 ">
|
61
|
-
<div class="col-md-12 txt-secondary mb-5">
|
62
|
-
{%- if dataToShow.logo -%}
|
63
|
-
<div class="footer-logo-cont">
|
64
|
-
<img loading="lazy" src="{{dataToShow.logo}}" title="logo" class="footer-logo d-block"
|
65
|
-
alt="footer logo" width="30px">
|
66
|
-
<span>
|
67
|
-
{{dataToShow.heading}}
|
68
|
-
</span>
|
69
|
-
<!-- <div class="footer-title">{{dataToShow.heading}}</div> -->
|
70
|
-
</div>
|
71
|
-
{%- endif -%}
|
72
|
-
<hr class="footer_hr">
|
73
|
-
<div class="footer-social-list mt-4">
|
74
|
-
<ul class="list-inline">
|
75
|
-
{% for data in dataToShow.social %}
|
76
|
-
<li>
|
77
|
-
<a href="{{data.url}}" target="_blank">
|
78
|
-
<i class="{{data.icon}}"></i>
|
79
|
-
</a>
|
80
|
-
</li>
|
81
|
-
{% endfor %}
|
82
|
-
</ul>
|
83
|
-
</div>
|
84
|
-
</div>
|
85
|
-
|
86
|
-
<div class="col-md-2 txt-secondary">
|
87
|
-
<p class=" font-weight-bold txt-primary footer_subheading">{{dataToShow.companytitle | default:
|
88
|
-
'Company' }}</p>
|
89
|
-
{% for data in dataToShow.company %}
|
90
|
-
<p class="mb-4"><a class="footer-links txt-secondary" href="{{data.url}}">{{data.name}}</a></p>
|
91
|
-
{% endfor %}
|
92
|
-
</div>
|
93
61
|
<div class="col-md-2 txt-secondary">
|
94
62
|
<p class=" font-weight-bold txt-primary footer_subheading">{{dataToShow.linksTitle | default:
|
95
63
|
'Links' }}</p>
|
@@ -97,7 +65,6 @@
|
|
97
65
|
<p class="mb-4"><a class="footer-links txt-secondary" href="{{data.url}}">{{data.name}}</a></p>
|
98
66
|
{% endfor %}
|
99
67
|
</div>
|
100
|
-
|
101
68
|
<div class="col-md-2 txt-secondary ">
|
102
69
|
<p class=" font-weight-bold txt-primary footer_subheading">{{dataToShow.producttitle | default:
|
103
70
|
'tools' }}</p>
|
@@ -112,6 +79,38 @@
|
|
112
79
|
<p class="mb-4"><a class="footer-links txt-secondary" href="{{data.url}}">{{data.name}}</a></p>
|
113
80
|
{% endfor %}
|
114
81
|
</div>
|
82
|
+
<div class="col-md-2 txt-secondary">
|
83
|
+
<p class=" font-weight-bold txt-primary footer_subheading">{{dataToShow.companytitle | default:
|
84
|
+
'Company' }}</p>
|
85
|
+
{% for data in dataToShow.company %}
|
86
|
+
<p class="mb-4"><a class="footer-links txt-secondary" href="{{data.url}}">{{data.name}}</a></p>
|
87
|
+
{% endfor %}
|
88
|
+
</div>
|
89
|
+
</div>
|
90
|
+
|
91
|
+
<div class="col-md-12 txt-secondary mb-5">
|
92
|
+
{%- if dataToShow.logo -%}
|
93
|
+
<div class="footer-logo-cont">
|
94
|
+
<img loading="lazy" src="{{dataToShow.logo}}" title="logo" class="footer-logo d-block"
|
95
|
+
alt="footer logo" width="30px">
|
96
|
+
<span class="email_heaidng">
|
97
|
+
{{dataToShow.heading}}
|
98
|
+
</span>
|
99
|
+
<!-- <div class="footer-title">{{dataToShow.heading}}</div> -->
|
100
|
+
</div>
|
101
|
+
{%- endif -%}
|
102
|
+
<hr class="footer_hr">
|
103
|
+
<div class="footer-social-list mt-4">
|
104
|
+
<ul class="list-inline">
|
105
|
+
{% for data in dataToShow.social %}
|
106
|
+
<li>
|
107
|
+
<a href="{{data.url}}" target="_blank">
|
108
|
+
<i class="{{data.icon}}"></i>
|
109
|
+
</a>
|
110
|
+
</li>
|
111
|
+
{% endfor %}
|
112
|
+
</ul>
|
113
|
+
</div>
|
115
114
|
</div>
|
116
115
|
<div class="copyright-text mt-5 txt-secondary text-center">
|
117
116
|
<p>
|
@@ -14,7 +14,7 @@
|
|
14
14
|
</div> -->
|
15
15
|
<div class="container" id="containerWd">
|
16
16
|
<section class="sticky_nav">
|
17
|
-
<div class="pageHeading text-center
|
17
|
+
<div class="pageHeading text-center">
|
18
18
|
<h1 class="heading m-0 pb-0">
|
19
19
|
{{dataToShow.h1}}</h1>
|
20
20
|
{%- if dataToShow.h2 != "" -%}
|
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>
|
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
@@ -49,7 +49,7 @@
|
|
49
49
|
|
50
50
|
<body>
|
51
51
|
|
52
|
-
{%- include header/
|
52
|
+
{%- include header/resultHeader.html -%}
|
53
53
|
|
54
54
|
{%- include section/commonPage.html -%}
|
55
55
|
|
@@ -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
@@ -45,11 +45,10 @@
|
|
45
45
|
|
46
46
|
<body>
|
47
47
|
|
48
|
-
{%- include header/
|
48
|
+
{%- include header/resultHeader.html -%}
|
49
49
|
|
50
50
|
{%- include section/commonPage.html -%}
|
51
51
|
|
52
|
-
|
53
52
|
{%- include share/socialshare.html -%}
|
54
53
|
|
55
54
|
{%- include footer/index.html -%}
|
@@ -57,7 +56,18 @@
|
|
57
56
|
|
58
57
|
<link rel="stylesheet"
|
59
58
|
href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-icons/1.5.0/font/bootstrap-icons.min.css" />
|
60
|
-
<script src="/
|
59
|
+
<script src="//cdnjs.cloudflare.com/ajax/libs/webfont/1.6.28/webfontloader.js"></script>
|
60
|
+
<script>WebFont.load({ google: { families: ['Poppins:400&display=swap'] } })</script>
|
61
|
+
<script>
|
62
|
+
(function () {
|
63
|
+
d = document;
|
64
|
+
c = d.createElement('link');
|
65
|
+
c.href = '//cdnjs.cloudflare.com/ajax/libs/font-awesome/5.13.0/css/all.min.css';
|
66
|
+
c.rel = 'stylesheet';
|
67
|
+
d.head.appendChild(c);
|
68
|
+
})();
|
69
|
+
</script>
|
70
|
+
<script src="/assets/js/X-letter.js" data-letter="{{page.letter}}" data-ablank="{{page.ablank}}"></script>
|
61
71
|
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>
|
62
72
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/js/bootstrap.min.js"></script>
|
63
73
|
{% include Monumetric/Monumetric.html %}
|
data/_layouts/xyzpages.html
CHANGED
data/assets/css/footer.css
CHANGED
@@ -272,7 +272,7 @@ hr {
|
|
272
272
|
}
|
273
273
|
|
274
274
|
.footer-section {
|
275
|
-
padding:
|
275
|
+
padding: 50px 0px;
|
276
276
|
background-color: #f8f9fa;
|
277
277
|
margin-top: 3rem;
|
278
278
|
}
|
@@ -321,4 +321,7 @@ hr {
|
|
321
321
|
.txt-secondary {
|
322
322
|
text-align: center;
|
323
323
|
}
|
324
|
+
.email_heaidng{
|
325
|
+
font-size: 1.4rem;
|
326
|
+
}
|
324
327
|
}
|
data/assets/css/home.css
CHANGED
@@ -12,6 +12,7 @@
|
|
12
12
|
}
|
13
13
|
.pageHeading {
|
14
14
|
margin-bottom: 2rem;
|
15
|
+
padding-top: 3rem;
|
15
16
|
}
|
16
17
|
.pageHeading > h1 {
|
17
18
|
font-size: 30px;
|
@@ -55,6 +56,77 @@ input:-webkit-autofill:active {
|
|
55
56
|
outline: none;
|
56
57
|
position: relative;
|
57
58
|
}
|
59
|
+
|
60
|
+
.txtBox~.focus-border:before,
|
61
|
+
.txtBox~.focus-border:after {
|
62
|
+
content: "";
|
63
|
+
position: absolute;
|
64
|
+
top: 0;
|
65
|
+
right: 0;
|
66
|
+
width: 0;
|
67
|
+
height: 2px;
|
68
|
+
background-color: #000;
|
69
|
+
transition: .5s;
|
70
|
+
transition-delay: 0.2s;
|
71
|
+
z-index: 9;
|
72
|
+
}
|
73
|
+
.txtBox~.focus-border:after {
|
74
|
+
top: auto;
|
75
|
+
bottom: 0;
|
76
|
+
right: auto;
|
77
|
+
left: 0;
|
78
|
+
transition-delay: 0.6s;
|
79
|
+
}
|
80
|
+
.txtBox:focus~.focus-border:before,
|
81
|
+
.txtBox:focus~.focus-border:after,
|
82
|
+
.has-content.txtBox~.focus-border:before,
|
83
|
+
.has-content.txtBox~.focus-border:after {
|
84
|
+
width: 100%;
|
85
|
+
transition: .5s;
|
86
|
+
transition-delay: 0.6s;
|
87
|
+
}
|
88
|
+
|
89
|
+
.txtBox:focus~.focus-border:after,
|
90
|
+
.has-content.txtBox~.focus-border:after {
|
91
|
+
transition-delay: 0.2s;
|
92
|
+
}
|
93
|
+
|
94
|
+
.txtBox:focus~.focus-border i:before,
|
95
|
+
.txtBox:focus~.focus-border i:after,
|
96
|
+
.has-content.txtBox~.focus-border i:before,
|
97
|
+
.has-content.txtBox~.focus-border i:after {
|
98
|
+
height: 100%;
|
99
|
+
transition: 0.2s;
|
100
|
+
}
|
101
|
+
|
102
|
+
.txtBox:focus~.focus-border i:after,
|
103
|
+
.has-conten.txtBox~.focus-border i:after {
|
104
|
+
transition-delay: 0.4s;
|
105
|
+
}
|
106
|
+
.txtBox~.focus-border i:before,
|
107
|
+
.txtBox~.focus-border i:after {
|
108
|
+
content: "";
|
109
|
+
position: absolute;
|
110
|
+
top: 0;
|
111
|
+
left: 0;
|
112
|
+
width: 2px;
|
113
|
+
height: 0;
|
114
|
+
background-color: #000;
|
115
|
+
transition: .5s;
|
116
|
+
}
|
117
|
+
|
118
|
+
.txtBox~.focus-border i:after {
|
119
|
+
left: auto;
|
120
|
+
right: 0;
|
121
|
+
top: auto;
|
122
|
+
bottom: 0;
|
123
|
+
transition-delay: 0.4s;
|
124
|
+
}
|
125
|
+
|
126
|
+
|
127
|
+
|
128
|
+
|
129
|
+
|
58
130
|
/* ravi */
|
59
131
|
.txtBox::placeholder {
|
60
132
|
/* Chrome, Firefox, Opera, Safari 10.1+ */
|
@@ -222,9 +294,20 @@ input:-webkit-autofill:active {
|
|
222
294
|
padding: 0px;
|
223
295
|
}
|
224
296
|
@media (max-width: 768px) {
|
297
|
+
.pageHeaderBg{
|
298
|
+
height: 25vh;
|
299
|
+
}
|
300
|
+
.pageHeading{
|
301
|
+
padding:0 !important;
|
302
|
+
}
|
303
|
+
.pageHeading > h2{
|
304
|
+
font-size: 1.4rem;
|
305
|
+
}
|
225
306
|
.wrapper_dropDown {
|
226
307
|
align-items: flex-end;
|
227
308
|
flex-direction: column;
|
309
|
+
gap: 0 !important;
|
310
|
+
margin:0 !important
|
228
311
|
}
|
229
312
|
.txtBox {
|
230
313
|
height: 50px !important;
|
@@ -251,12 +334,11 @@ input:-webkit-autofill:active {
|
|
251
334
|
width: 50%;
|
252
335
|
right: 0;
|
253
336
|
border-radius: 0;
|
254
|
-
padding:
|
337
|
+
padding: 7.5px;
|
255
338
|
z-index: 99;
|
256
339
|
}
|
257
340
|
.pageHeading h1 {
|
258
341
|
font-size: 2rem;
|
259
|
-
padding-top: 3rem;
|
260
342
|
}
|
261
343
|
#containerWd {
|
262
344
|
width: 100% !important;
|
data/assets/css/style.css
CHANGED
data/assets/css/wordGroup.css
CHANGED
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.3
|
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
|