word-games-theme 0.7.9 → 0.8.3
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/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
|