word-games-theme 1.3.2 → 1.3.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/wordleSolver/en/data.json +2 -2
- data/_data/wordleSolver/en/resultData.json +64 -0
- data/_includes/script.html +2 -1
- data/_includes/wordle-solver/wordle-solver.html +26 -23
- data/assets/css/wordleSolver.css +2 -1
- data/assets/js/wordleSolver.js +30 -217
- data/assets/js/wordleSolverResult.js +328 -0
- metadata +4 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 7cdd9dc7a666e732783cc561d72faf0740ea5748de45dca35e0783f4fe606dea
|
|
4
|
+
data.tar.gz: 470edb3e66e47336adae9dc405e155962f8c7b390649ac8aae1ad5cb018393b1
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 725d7089553d14c46bc556e0be395d1d59b7c4220456cdba62ab56ccfe8bbbe913972accca0ae3d53e31a919da5eb9c3e7048122158eb0dd6a3c63452cf9716d
|
|
7
|
+
data.tar.gz: 323d620dfb915a6ddce41efb92e33692a5d3524e0f856140a2bfa4764da5ad09fbd7c3d4a878dc89080044e821682cf564282c5f0f7b59e018c11d071d6b468a
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
{
|
|
2
|
+
"title": "Solve wordle easily in minimum guesses",
|
|
3
|
+
"h1": "Solve todays wordle by entering letters used so far",
|
|
4
|
+
"h2": "Enters letters in gray, yellow, and green to see potential words",
|
|
5
|
+
"meta": "Input letters in grey, yellow and green, and get list of matching 5 letter words to solve todays wordle in mimimum attempts, and impress your friends",
|
|
6
|
+
"tags": "",
|
|
7
|
+
"categories": "wordle",
|
|
8
|
+
"featureNo": "02",
|
|
9
|
+
"feature_title": "Features",
|
|
10
|
+
"featureList": [
|
|
11
|
+
{
|
|
12
|
+
"feature_heading": "",
|
|
13
|
+
"feature_text": "",
|
|
14
|
+
"fa_class": "../assets/images/star.svg"
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"feature_heading": "",
|
|
18
|
+
"feature_text": "",
|
|
19
|
+
"fa_class": "../assets/images/star.svg"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"feature_heading": "",
|
|
23
|
+
"feature_text": "",
|
|
24
|
+
"fa_class": "../assets/images/star.svg"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"feature_heading": "",
|
|
28
|
+
"feature_text": "",
|
|
29
|
+
"fa_class": "../assets/images/star.svg"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"feature_heading": "",
|
|
33
|
+
"feature_text": "",
|
|
34
|
+
"fa_class": "../assets/images/star.svg"
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"feature_heading": "",
|
|
38
|
+
"feature_text": "",
|
|
39
|
+
"fa_class": "../assets/images/star.svg"
|
|
40
|
+
}
|
|
41
|
+
],
|
|
42
|
+
"HOW_TO_CONTENT": {
|
|
43
|
+
"logoImageUrl": "https://smallpdf.com/build/73d77e3d204fd7defc9de80bf83fcbeb.svg",
|
|
44
|
+
"heading": "How to set alarm for $variable minutes:",
|
|
45
|
+
"steps": [
|
|
46
|
+
"Click on set alarm ",
|
|
47
|
+
"Set $variable minutes for alarm.",
|
|
48
|
+
"Choose sound of your choice.",
|
|
49
|
+
"Click submit to set alarm, that's it !."
|
|
50
|
+
]
|
|
51
|
+
},
|
|
52
|
+
"faqList": [
|
|
53
|
+
{
|
|
54
|
+
"Question": "",
|
|
55
|
+
"Answer": ""
|
|
56
|
+
}
|
|
57
|
+
],
|
|
58
|
+
"jsfilepaths": [
|
|
59
|
+
"/assets/js/wordleSolverResult.js"
|
|
60
|
+
],
|
|
61
|
+
"cssfilepaths": [
|
|
62
|
+
"../assets/css/wordleSolver.css"
|
|
63
|
+
]
|
|
64
|
+
}
|
data/_includes/script.html
CHANGED
|
@@ -8,7 +8,8 @@
|
|
|
8
8
|
{{site.data.customcdns.customcdns.jsfiles}}
|
|
9
9
|
{%- if scriptData.jsfilepaths -%}
|
|
10
10
|
{%- for path in scriptData.jsfilepaths -%}
|
|
11
|
-
<script src="{{path}}"
|
|
11
|
+
<script src="{{path}}" data-folderName="{{page.folderName}}" data-lang="{{page.lang}}" data-fileName="{{page.fileName}}"
|
|
12
|
+
data-tool="{{page.tool}}" data-permalink="{{page.permalink}}"></script>
|
|
12
13
|
{%- endfor -%}
|
|
13
14
|
{%- endif -%}
|
|
14
15
|
{%- if scriptData.jscdns -%}
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
<div class="col-md-10 mx-auto ws">
|
|
4
4
|
<div style="font-size: 15px;" class="alert errMessage" role="alert"></div>
|
|
5
5
|
<form name="verify" class="forms_data">
|
|
6
|
-
|
|
7
6
|
<div class="form-group">
|
|
8
7
|
<label for="greenLetters" class="my-1 p-0 wordleSolver-label">Enter green letters at correct
|
|
9
8
|
position</label>
|
|
@@ -31,19 +30,19 @@
|
|
|
31
30
|
<label for="yellowLetters" class="my-1 p-0 wordleSolver-label">Enter letters in yellow below</label>
|
|
32
31
|
<div class="col-md-6 p-0">
|
|
33
32
|
<div class="d-flex">
|
|
34
|
-
<input type="text" autocomplete="off"
|
|
33
|
+
<input data-id="0" type="text" autocomplete="off"
|
|
35
34
|
class="wordleSolver-field yellowLetters form-control px-5" maxlength="1" id="six"
|
|
36
35
|
tabIndex="5" onkeyup="move(this,'seven')">
|
|
37
|
-
<input type="text" autocomplete="off"
|
|
36
|
+
<input data-id="1" type="text" autocomplete="off"
|
|
38
37
|
class="wordleSolver-field yellowLetters form-control px-5" maxlength="1" id="seven"
|
|
39
38
|
tabIndex="6" onkeyup="move(this,'eight')">
|
|
40
|
-
<input type="text" autocomplete="off"
|
|
39
|
+
<input data-id="2" type="text" autocomplete="off"
|
|
41
40
|
class="wordleSolver-field yellowLetters form-control px-5" maxlength="1" id="eight"
|
|
42
41
|
tabIndex="7" onkeyup="move(this,'nine')">
|
|
43
|
-
<input type="text" autocomplete="off"
|
|
42
|
+
<input data-id="3" type="text" autocomplete="off"
|
|
44
43
|
class="wordleSolver-field yellowLetters form-control px-5" maxlength="1" id="nine"
|
|
45
44
|
tabIndex="8" onkeyup="move(this,'ten')">
|
|
46
|
-
<input type="text" autocomplete="off"
|
|
45
|
+
<input data-id="4" type="text" autocomplete="off"
|
|
47
46
|
class="wordleSolver-field yellowLetters form-control px-5" maxlength="1" id="ten"
|
|
48
47
|
tabIndex="9" onkeyup="move(this,'eleven')">
|
|
49
48
|
</div>
|
|
@@ -53,31 +52,36 @@
|
|
|
53
52
|
<label for="greyLetters" class="my-1 p-0 wordleSolver-label">Enter letters in grey below</label>
|
|
54
53
|
<div class="col-md-6 p-0 wrapper_div">
|
|
55
54
|
<div class="d-flex">
|
|
56
|
-
<input type="text" class="wordleSolver-field greyLetters form-control px-5"
|
|
57
|
-
id="eleven" value="" autocomplete="off" tabIndex="10"
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
<input type="text" class="wordleSolver-field greyLetters form-control px-5"
|
|
63
|
-
id="
|
|
64
|
-
|
|
65
|
-
|
|
55
|
+
<input data-id="0" type="text" class="wordleSolver-field greyLetters form-control px-5"
|
|
56
|
+
maxlength="1" id="eleven" value="" autocomplete="off" tabIndex="10"
|
|
57
|
+
onkeyup="move(this,'twelve')">
|
|
58
|
+
<input data-id="1" type="text" class="wordleSolver-field greyLetters form-control px-5"
|
|
59
|
+
maxlength="1" id="twelve" value="" autocomplete="off" tabIndex="11"
|
|
60
|
+
onkeyup="move(this,'thirteen')">
|
|
61
|
+
<input data-id="2" type="text" class="wordleSolver-field greyLetters form-control px-5"
|
|
62
|
+
maxlength="1" id="thirteen" value="" autocomplete="off" tabIndex="12"
|
|
63
|
+
onkeyup="move(this,'fourteen')">
|
|
64
|
+
<input data-id="3" type="text" class="wordleSolver-field greyLetters form-control px-5"
|
|
65
|
+
maxlength="1" id="fourteen" value="" autocomplete="off" tabIndex="13"
|
|
66
|
+
onkeyup="move(this,'fifteen')">
|
|
67
|
+
<input data-id="4" type="text" class="wordleSolver-field greyLetters form-control px-5"
|
|
68
|
+
maxlength="1" id="fifteen" value="" autocomplete="off" tabIndex="14"
|
|
69
|
+
onkeyup="move(this,'sixteen')">
|
|
66
70
|
</div>
|
|
67
71
|
<div class="d-flex mt-2">
|
|
68
|
-
<input type="text" autocomplete="off" tabIndex="15"
|
|
72
|
+
<input data-id="5" type="text" autocomplete="off" tabIndex="15"
|
|
69
73
|
class="wordleSolver-field greyLetters form-control px-5" maxlength="1" id="sixteen"
|
|
70
74
|
onkeyup="move(this,'seventeen')">
|
|
71
|
-
<input type="text" autocomplete="off" tabIndex="16"
|
|
75
|
+
<input data-id="6" type="text" autocomplete="off" tabIndex="16"
|
|
72
76
|
class="wordleSolver-field greyLetters form-control px-5" maxlength="1" id="seventeen"
|
|
73
77
|
onkeyup="move(this,'eightteen')">
|
|
74
|
-
<input type="text" autocomplete="off" tabIndex="17"
|
|
78
|
+
<input data-id="7" type="text" autocomplete="off" tabIndex="17"
|
|
75
79
|
class="wordleSolver-field greyLetters form-control px-5" maxlength="1" id="eightteen"
|
|
76
80
|
onkeyup="move(this,'nineteen')">
|
|
77
|
-
<input type="text" autocomplete="off" tabIndex="18"
|
|
81
|
+
<input data-id="8" type="text" autocomplete="off" tabIndex="18"
|
|
78
82
|
class="wordleSolver-field greyLetters form-control px-5" maxlength="1" id="nineteen"
|
|
79
83
|
onkeyup="move(this,'twenty')">
|
|
80
|
-
<input type="text" autocomplete="off" tabIndex="19"
|
|
84
|
+
<input data-id="9" type="text" autocomplete="off" tabIndex="19"
|
|
81
85
|
class="wordleSolver-field greyLetters form-control px-5" maxlength="1" id="twenty"
|
|
82
86
|
onkeyup="move(this,'eleven')">
|
|
83
87
|
</div>
|
|
@@ -142,5 +146,4 @@
|
|
|
142
146
|
document.getElementById(last).focus()
|
|
143
147
|
}
|
|
144
148
|
}
|
|
145
|
-
</script>
|
|
146
|
-
<script defer src="/assets/js/wordleSolver.js"></script>
|
|
149
|
+
</script>
|
data/assets/css/wordleSolver.css
CHANGED
|
@@ -138,13 +138,14 @@
|
|
|
138
138
|
color:#fff !important
|
|
139
139
|
}
|
|
140
140
|
.createWordleLink{
|
|
141
|
+
text-decoration: underline;
|
|
141
142
|
text-align: center;
|
|
142
143
|
display: block;
|
|
143
144
|
box-shadow: 0 0 1px rgb(0 0 0 / 10%);
|
|
144
145
|
border: none;
|
|
145
146
|
padding: 10px 15px;
|
|
146
147
|
width: 320px;
|
|
147
|
-
background: #
|
|
148
|
+
background: #345234;
|
|
148
149
|
border-radius: 20px;
|
|
149
150
|
font-size: 15px;
|
|
150
151
|
margin-bottom: 2rem;
|
data/assets/js/wordleSolver.js
CHANGED
|
@@ -1,131 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
let getScript = document.currentScript
|
|
2
|
+
let fileName = getScript.dataset.filename
|
|
3
|
+
let permalink = getScript.dataset.permalink
|
|
3
4
|
let form = document.querySelector('[name=verify')
|
|
4
|
-
|
|
5
5
|
let greenLetters = document.querySelectorAll('.greenLetters')
|
|
6
6
|
let yellowLetters = document.querySelectorAll('.yellowLetters')
|
|
7
7
|
let greyLetters = document.querySelectorAll('.greyLetters')
|
|
8
|
-
let wordleSolverData = document.getElementById('wordleSolverData')
|
|
9
8
|
greenLetters[0].focus()
|
|
10
|
-
let wordleWordCount = document.querySelector('#wordleWordCount')
|
|
11
|
-
let wordleSolvererrorMsg = document.querySelector('#wordleSolvererrorMsg')
|
|
12
|
-
let wordlesolver_submit = document.getElementById('wordlesolver_submit')
|
|
13
|
-
let newWordsLength = 0
|
|
14
|
-
|
|
15
|
-
let errMessage = document.querySelector('.errMessage')
|
|
16
|
-
let wrapper_div = document.querySelector('.wrapper_div')
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
// let addMore = document.querySelector('#addMore')
|
|
21
|
-
|
|
22
|
-
// addMore.addEventListener('click', (e) => {
|
|
23
|
-
// e.preventDefault()
|
|
24
|
-
// let div = document.createElement('div')
|
|
25
|
-
// div.classList.add('d-flex')
|
|
26
|
-
// div.classList.add('mt-2')
|
|
27
|
-
|
|
28
|
-
// for (let i = 20; i <= 24; i++) {
|
|
29
|
-
// let input = document.createElement('input')
|
|
30
|
-
// input.type = 'text'
|
|
31
|
-
// input.setAttribute('maxlength', '1')
|
|
32
|
-
// input.setAttribute('autocomplete', 'off')
|
|
33
|
-
// if (i <= 24) {
|
|
34
|
-
// input.setAttribute('tabIndex', i)
|
|
35
|
-
// }
|
|
36
|
-
// let classes = ['wordleSolver-field', 'greyLetters', 'form-control', 'px-5']
|
|
37
|
-
// input.classList.add(...classes)
|
|
38
|
-
// input.id = 'greyLetters'
|
|
39
|
-
// div.append(input)
|
|
40
|
-
// wrapper_div.append(div)
|
|
41
|
-
// }
|
|
42
|
-
// })
|
|
43
|
-
|
|
44
|
-
let spinner = document.querySelector('.spinner')
|
|
45
|
-
const wordleSolver = async (value, value2, value3, greenWithIndex) => {
|
|
46
|
-
try {
|
|
47
|
-
let result = ''
|
|
48
|
-
document.querySelector('#updateTxt').innerHTML = ''
|
|
49
|
-
spinner.classList.add('spinner-border')
|
|
50
|
-
wordleWordCount.innerHTML = 'Searching for best possible letters...'
|
|
51
|
-
let response = await fetch('/.netlify/functions/wordleSolver', {
|
|
52
|
-
method: 'POST',
|
|
53
|
-
body: JSON.stringify({
|
|
54
|
-
greenLetters: value,
|
|
55
|
-
yellowLetters: value2,
|
|
56
|
-
greyLetters: value3,
|
|
57
|
-
greenWithIndex: greenWithIndex,
|
|
58
|
-
}),
|
|
59
|
-
})
|
|
60
|
-
let data = await response.json()
|
|
61
|
-
data = data.slice(0, 1000)
|
|
62
|
-
document.querySelector('#updateTxt').innerHTML = 'Solve'
|
|
63
|
-
spinner.classList.remove('spinner-border')
|
|
64
|
-
|
|
65
|
-
let ok = true
|
|
66
|
-
if (data.length === 0) {
|
|
67
|
-
newWordsLength = ''
|
|
68
|
-
wordleSolverData.innerHTML = ''
|
|
69
|
-
wordleSolvererrorMsg.classList.add('alert-danger')
|
|
70
|
-
wordleSolvererrorMsg.innerHTML = 'Sorry!! No words found'
|
|
71
|
-
wordleWordCount.style.display = 'none'
|
|
72
|
-
// console.log(wordleWordCount)
|
|
73
|
-
} else {
|
|
74
|
-
wordleWordCount.style.display = 'block'
|
|
75
|
-
wordleSolverData.innerHTML = ''
|
|
76
|
-
wordleSolvererrorMsg.classList.remove('alert-danger')
|
|
77
|
-
wordleSolvererrorMsg.innerHTML = ''
|
|
78
|
-
newWordsLength = ''
|
|
79
|
-
newWordsLength += data.length
|
|
80
|
-
result = data.map((item) => {
|
|
81
|
-
if (item.length === 1) {
|
|
82
|
-
ok = false
|
|
83
|
-
newWordsLength = newWordsLength - 1
|
|
84
|
-
} else {
|
|
85
|
-
// console.log(newWordsLength);
|
|
86
|
-
let ScrabbleLetterScore = ScrabbleScore()
|
|
87
|
-
sum = 0
|
|
88
|
-
item = item.toLowerCase()
|
|
89
|
-
for (let i = 0; i < item.length; i++) {
|
|
90
|
-
sum += ScrabbleLetterScore[item[i]] || 0 // for unknown characters
|
|
91
|
-
}
|
|
92
|
-
return `
|
|
93
|
-
<a class="anchor__style" title="Lookup ${item} in Dictionary" target="_blank" href="/word-meaning?search=${item.toLowerCase()}">
|
|
94
|
-
<li>
|
|
95
|
-
${item.toLowerCase()}
|
|
96
|
-
<span class="points" value="${sum}" style="position:relative; top:4px; font-size:12px"> ${sum}</span>
|
|
97
|
-
</li>
|
|
98
|
-
</a>
|
|
99
|
-
`
|
|
100
|
-
}
|
|
101
|
-
})
|
|
102
|
-
if (ok) {
|
|
103
|
-
wordleSolverData.innerHTML += `
|
|
104
|
-
<div class="allfiveletterswords wordlistContainer">
|
|
105
|
-
<div class="wordListHeading">
|
|
106
|
-
<h3 class="lead">Solve wordle with these words</h3>
|
|
107
|
-
</div>
|
|
108
|
-
<div class="wordList">
|
|
109
|
-
<ul class="ul list-unstyled">
|
|
110
|
-
${result.join('')}
|
|
111
|
-
</ul>
|
|
112
|
-
</div>
|
|
113
|
-
</div>
|
|
114
|
-
`
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
if (newWordsLength === 0) {
|
|
119
|
-
console.log(true)
|
|
120
|
-
wordleSolvererrorMsg.classList.add('alert-danger')
|
|
121
|
-
wordleSolvererrorMsg.innerHTML = 'Sorry!! No words found'
|
|
122
|
-
} else {
|
|
123
|
-
wordleWordCount.innerHTML = `<strong>Found <span style="color:#20a815">${newWordsLength}</span> matching words for wordle</strong>`
|
|
124
|
-
}
|
|
125
|
-
} catch (error) {
|
|
126
|
-
console.log(error)
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
9
|
|
|
130
10
|
for (let g = 0; g < greenLetters.length; g++) {
|
|
131
11
|
const elem = greenLetters[g]
|
|
@@ -161,101 +41,34 @@ for (let e = 0; e < greyLetters.length; e++) {
|
|
|
161
41
|
})
|
|
162
42
|
}
|
|
163
43
|
|
|
164
|
-
const getLetters = (object) => {
|
|
165
|
-
let letters = []
|
|
166
|
-
if (typeof object === 'string') {
|
|
167
|
-
object = document.querySelectorAll(object)
|
|
168
|
-
}
|
|
169
|
-
for (let item of object) {
|
|
170
|
-
if (item.value.trim().length === 1) {
|
|
171
|
-
letters.push(item.value.toLowerCase())
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
return letters
|
|
175
|
-
}
|
|
176
|
-
const getIndexs = (object) => {
|
|
177
|
-
let index = []
|
|
178
|
-
if (typeof object === 'string') {
|
|
179
|
-
object = document.querySelectorAll(object)
|
|
180
|
-
}
|
|
181
|
-
for (let item of object) {
|
|
182
|
-
if (item.value.trim().length === 1) {
|
|
183
|
-
index.push({
|
|
184
|
-
value: item.value.toLowerCase(),
|
|
185
|
-
index: item.dataset.id,
|
|
186
|
-
})
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
|
-
return index
|
|
190
|
-
}
|
|
191
|
-
|
|
192
44
|
function handleSubmit(e) {
|
|
193
|
-
document.querySelector(".refineSerach").style.display = "block"
|
|
194
45
|
e.preventDefault()
|
|
46
|
+
let corretLettterArray = []
|
|
47
|
+
Array.from(greenLetters).map((item) => {
|
|
48
|
+
if (!item.value) {
|
|
49
|
+
corretLettterArray.push(item.value.replace("", "_"))
|
|
50
|
+
} else {
|
|
51
|
+
corretLettterArray.push(item.value)
|
|
52
|
+
}
|
|
53
|
+
})
|
|
54
|
+
let includesLettterArray = []
|
|
55
|
+
Array.from(yellowLetters).map((item) => {
|
|
56
|
+
if (!item.value) {
|
|
57
|
+
includesLettterArray.push(item.value.replace("", "_"))
|
|
58
|
+
} else {
|
|
59
|
+
includesLettterArray.push(item.value)
|
|
60
|
+
}
|
|
61
|
+
})
|
|
62
|
+
let exculdesLettterArray = []
|
|
63
|
+
Array.from(greyLetters).map((item) => {
|
|
64
|
+
if (!item.value) {
|
|
65
|
+
exculdesLettterArray.push(item.value.replace("", "_"))
|
|
66
|
+
} else {
|
|
67
|
+
exculdesLettterArray.push(item.value)
|
|
68
|
+
}
|
|
69
|
+
})
|
|
195
70
|
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
scrollingElement.scroll({ top: 515, behavior: 'smooth' });
|
|
200
|
-
|
|
201
|
-
let greenLetter = getLetters('.greenLetters')
|
|
202
|
-
let yellowLetters = getLetters('.yellowLetters')
|
|
203
|
-
let greyLetters = getLetters('.greyLetters')
|
|
204
|
-
let greenWithIndex = getIndexs('.greenWithIndex')
|
|
205
|
-
|
|
206
|
-
// if (
|
|
207
|
-
// greenLetters[0].value !== '' ||
|
|
208
|
-
// greenLetters[1].value !== '' ||
|
|
209
|
-
// greenLetters[2].value !== '' ||
|
|
210
|
-
// greenLetters[3].value !== '' ||
|
|
211
|
-
// greenLetters[4].value !== ''
|
|
212
|
-
// ) {
|
|
213
|
-
// errMessage.innerHTML = ''
|
|
214
|
-
// errMessage.classList.remove('alert-danger')
|
|
215
|
-
// errMessage.style.display = 'none'
|
|
216
|
-
wordleSolver(greenLetter, yellowLetters, greyLetters, greenWithIndex)
|
|
217
|
-
// } else {
|
|
218
|
-
// errMessage.innerHTML = 'You must enter at least 1 green letter'
|
|
219
|
-
// errMessage.classList.add('alert-danger')
|
|
220
|
-
// errMessage.style.display = 'block'
|
|
221
|
-
// }
|
|
222
|
-
}
|
|
223
|
-
document.querySelector(".refineSerach").addEventListener("click", () => {
|
|
224
|
-
const scrollingElement = (document.scrollingElement || document.body);
|
|
225
|
-
|
|
226
|
-
scrollingElement.scroll({ top: 0, behavior: 'smooth' });
|
|
227
|
-
})
|
|
228
|
-
form.addEventListener('submit', handleSubmit)
|
|
229
|
-
|
|
230
|
-
// Scrabble Point Array
|
|
231
|
-
const ScrabbleScore = () => {
|
|
232
|
-
let twl06_sowpods = {
|
|
233
|
-
a: 1,
|
|
234
|
-
e: 1,
|
|
235
|
-
i: 1,
|
|
236
|
-
o: 1,
|
|
237
|
-
u: 1,
|
|
238
|
-
l: 1,
|
|
239
|
-
n: 1,
|
|
240
|
-
r: 1,
|
|
241
|
-
s: 1,
|
|
242
|
-
t: 1,
|
|
243
|
-
d: 2,
|
|
244
|
-
g: 2,
|
|
245
|
-
b: 3,
|
|
246
|
-
c: 3,
|
|
247
|
-
m: 3,
|
|
248
|
-
p: 3,
|
|
249
|
-
f: 4,
|
|
250
|
-
h: 4,
|
|
251
|
-
v: 4,
|
|
252
|
-
w: 4,
|
|
253
|
-
y: 4,
|
|
254
|
-
k: 5,
|
|
255
|
-
j: 8,
|
|
256
|
-
x: 8,
|
|
257
|
-
q: 10,
|
|
258
|
-
z: 10,
|
|
259
|
-
}
|
|
260
|
-
return twl06_sowpods
|
|
71
|
+
window.location = `/${permalink}/result` + '?' + "correct" + "=" + corretLettterArray.join("")
|
|
72
|
+
+ '&includes' + '=' + includesLettterArray.join("") + "&excludes" + '=' + exculdesLettterArray.join("")
|
|
261
73
|
}
|
|
74
|
+
form.addEventListener('submit', handleSubmit)
|
|
@@ -0,0 +1,328 @@
|
|
|
1
|
+
let form = document.querySelector('[name=verify')
|
|
2
|
+
|
|
3
|
+
let greenLetters = document.querySelectorAll('.greenLetters')
|
|
4
|
+
let yellowLetters = document.querySelectorAll('.yellowLetters')
|
|
5
|
+
let greyLetters = document.querySelectorAll('.greyLetters')
|
|
6
|
+
let wordleSolverData = document.getElementById('wordleSolverData')
|
|
7
|
+
greenLetters[0].focus()
|
|
8
|
+
let wordleWordCount = document.querySelector('#wordleWordCount')
|
|
9
|
+
let wordleSolvererrorMsg = document.querySelector('#wordleSolvererrorMsg')
|
|
10
|
+
let wordlesolver_submit = document.getElementById('wordlesolver_submit')
|
|
11
|
+
let newWordsLength = 0
|
|
12
|
+
|
|
13
|
+
let errMessage = document.querySelector('.errMessage')
|
|
14
|
+
let wrapper_div = document.querySelector('.wrapper_div')
|
|
15
|
+
|
|
16
|
+
const params = new URLSearchParams(window.location.search)
|
|
17
|
+
let correct = params.get('correct')
|
|
18
|
+
let includes = params.get('includes')
|
|
19
|
+
let excludes = params.get('excludes')
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
// let addMore = document.querySelector('#addMore')
|
|
23
|
+
|
|
24
|
+
// addMore.addEventListener('click', (e) => {
|
|
25
|
+
// e.preventDefault()
|
|
26
|
+
// let div = document.createElement('div')
|
|
27
|
+
// div.classList.add('d-flex')
|
|
28
|
+
// div.classList.add('mt-2')
|
|
29
|
+
|
|
30
|
+
// for (let i = 20; i <= 24; i++) {
|
|
31
|
+
// let input = document.createElement('input')
|
|
32
|
+
// input.type = 'text'
|
|
33
|
+
// input.setAttribute('maxlength', '1')
|
|
34
|
+
// input.setAttribute('autocomplete', 'off')
|
|
35
|
+
// if (i <= 24) {
|
|
36
|
+
// input.setAttribute('tabIndex', i)
|
|
37
|
+
// }
|
|
38
|
+
// let classes = ['wordleSolver-field', 'greyLetters', 'form-control', 'px-5']
|
|
39
|
+
// input.classList.add(...classes)
|
|
40
|
+
// input.id = 'greyLetters'
|
|
41
|
+
// div.append(input)
|
|
42
|
+
// wrapper_div.append(div)
|
|
43
|
+
// }
|
|
44
|
+
// })
|
|
45
|
+
|
|
46
|
+
let spinner = document.querySelector('.spinner')
|
|
47
|
+
const wordleSolver = async (value, value2, value3, greenWithIndex) => {
|
|
48
|
+
try {
|
|
49
|
+
let result = ''
|
|
50
|
+
document.querySelector('#updateTxt').innerHTML = ''
|
|
51
|
+
spinner.classList.add('spinner-border')
|
|
52
|
+
wordleWordCount.innerHTML = 'Searching for best possible letters...'
|
|
53
|
+
let response = await fetch('/.netlify/functions/wordleSolver', {
|
|
54
|
+
method: 'POST',
|
|
55
|
+
body: JSON.stringify({
|
|
56
|
+
greenLetters: value,
|
|
57
|
+
yellowLetters: value2,
|
|
58
|
+
greyLetters: value3,
|
|
59
|
+
greenWithIndex: greenWithIndex,
|
|
60
|
+
}),
|
|
61
|
+
})
|
|
62
|
+
let data = await response.json()
|
|
63
|
+
data = data.slice(0, 1000)
|
|
64
|
+
document.querySelector('#updateTxt').innerHTML = 'Solve'
|
|
65
|
+
spinner.classList.remove('spinner-border')
|
|
66
|
+
|
|
67
|
+
let ok = true
|
|
68
|
+
if (data.length === 0) {
|
|
69
|
+
newWordsLength = ''
|
|
70
|
+
wordleSolverData.innerHTML = ''
|
|
71
|
+
wordleSolvererrorMsg.classList.add('alert-danger')
|
|
72
|
+
wordleSolvererrorMsg.innerHTML = 'Sorry!! No words found'
|
|
73
|
+
wordleWordCount.style.display = 'none'
|
|
74
|
+
// console.log(wordleWordCount)
|
|
75
|
+
} else {
|
|
76
|
+
wordleWordCount.style.display = 'block'
|
|
77
|
+
wordleSolverData.innerHTML = ''
|
|
78
|
+
wordleSolvererrorMsg.classList.remove('alert-danger')
|
|
79
|
+
wordleSolvererrorMsg.innerHTML = ''
|
|
80
|
+
newWordsLength = ''
|
|
81
|
+
newWordsLength += data.length
|
|
82
|
+
result = data.map((item) => {
|
|
83
|
+
if (item.length === 1) {
|
|
84
|
+
ok = false
|
|
85
|
+
newWordsLength = newWordsLength - 1
|
|
86
|
+
} else {
|
|
87
|
+
// console.log(newWordsLength);
|
|
88
|
+
let ScrabbleLetterScore = ScrabbleScore()
|
|
89
|
+
sum = 0
|
|
90
|
+
item = item.toLowerCase()
|
|
91
|
+
for (let i = 0; i < item.length; i++) {
|
|
92
|
+
sum += ScrabbleLetterScore[item[i]] || 0 // for unknown characters
|
|
93
|
+
}
|
|
94
|
+
return `
|
|
95
|
+
<a class="anchor__style" title="Lookup ${item} in Dictionary" target="_blank" href="/word-meaning?search=${item.toLowerCase()}">
|
|
96
|
+
<li>
|
|
97
|
+
${item.toLowerCase()}
|
|
98
|
+
<span class="points" value="${sum}" style="position:relative; top:4px; font-size:12px"> ${sum}</span>
|
|
99
|
+
</li>
|
|
100
|
+
</a>
|
|
101
|
+
`
|
|
102
|
+
}
|
|
103
|
+
})
|
|
104
|
+
if (ok) {
|
|
105
|
+
wordleSolverData.innerHTML += `
|
|
106
|
+
<div class="allfiveletterswords wordlistContainer">
|
|
107
|
+
<div class="wordListHeading">
|
|
108
|
+
<h3 class="lead">Solve wordle with these words</h3>
|
|
109
|
+
</div>
|
|
110
|
+
<div class="wordList">
|
|
111
|
+
<ul class="ul list-unstyled">
|
|
112
|
+
${result.join('')}
|
|
113
|
+
</ul>
|
|
114
|
+
</div>
|
|
115
|
+
</div>
|
|
116
|
+
`
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
if (newWordsLength === 0) {
|
|
121
|
+
console.log(true)
|
|
122
|
+
wordleSolvererrorMsg.classList.add('alert-danger')
|
|
123
|
+
wordleSolvererrorMsg.innerHTML = 'Sorry!! No words found'
|
|
124
|
+
} else {
|
|
125
|
+
wordleWordCount.innerHTML = `<strong>Found <span style="color:#20a815">${newWordsLength}</span> matching words for wordle</strong>`
|
|
126
|
+
}
|
|
127
|
+
} catch (error) {
|
|
128
|
+
console.log(error)
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
for (let g = 0; g < greenLetters.length; g++) {
|
|
133
|
+
const elem = greenLetters[g]
|
|
134
|
+
let values = correct.split("")
|
|
135
|
+
values.map((item, index) => {
|
|
136
|
+
if (Number(elem.dataset.id) === index) {
|
|
137
|
+
elem.value = item.replace("_", "")
|
|
138
|
+
if (elem.value != "") {
|
|
139
|
+
elem.classList.add('ws-fcs')
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
})
|
|
143
|
+
elem.addEventListener('input', (e) => {
|
|
144
|
+
e.target.value = e.target.value.replace(/[^a-zA-Z? ]/g, "")
|
|
145
|
+
if (e.target.value) {
|
|
146
|
+
e.target.classList.add('ws-fcs')
|
|
147
|
+
} else {
|
|
148
|
+
e.target.classList.remove('ws-fcs')
|
|
149
|
+
}
|
|
150
|
+
})
|
|
151
|
+
}
|
|
152
|
+
for (let y = 0; y < yellowLetters.length; y++) {
|
|
153
|
+
const elem = yellowLetters[y]
|
|
154
|
+
let values = includes.split("")
|
|
155
|
+
values.map((item, index) => {
|
|
156
|
+
if (Number(elem.dataset.id) === index) {
|
|
157
|
+
elem.value = item.replace("_", "")
|
|
158
|
+
if (elem.value != "") {
|
|
159
|
+
elem.classList.add('ws-fcs2')
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
})
|
|
163
|
+
elem.addEventListener('input', (e) => {
|
|
164
|
+
e.target.value = e.target.value.replace(/[^a-zA-Z? ]/g, "")
|
|
165
|
+
if (e.target.value) {
|
|
166
|
+
e.target.classList.add('ws-fcs2')
|
|
167
|
+
} else {
|
|
168
|
+
e.target.classList.remove('ws-fcs2')
|
|
169
|
+
}
|
|
170
|
+
})
|
|
171
|
+
}
|
|
172
|
+
for (let e = 0; e < greyLetters.length; e++) {
|
|
173
|
+
const elem = greyLetters[e]
|
|
174
|
+
let values = excludes.split("")
|
|
175
|
+
values.map((item, index) => {
|
|
176
|
+
if (Number(elem.dataset.id) === index) {
|
|
177
|
+
elem.value = item.replace("_", "")
|
|
178
|
+
if (elem.value != "") {
|
|
179
|
+
elem.classList.add('ws-fcs3')
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
})
|
|
183
|
+
|
|
184
|
+
elem.addEventListener('input', (e) => {
|
|
185
|
+
e.target.value = e.target.value.replace(/[^a-zA-Z? ]/g, "")
|
|
186
|
+
if (e.target.value) {
|
|
187
|
+
e.target.classList.add('ws-fcs3')
|
|
188
|
+
} else {
|
|
189
|
+
e.target.classList.remove('ws-fcs3')
|
|
190
|
+
}
|
|
191
|
+
})
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
const getLetters = (object) => {
|
|
195
|
+
let letters = []
|
|
196
|
+
if (typeof object === 'string') {
|
|
197
|
+
object = document.querySelectorAll(object)
|
|
198
|
+
}
|
|
199
|
+
for (let item of object) {
|
|
200
|
+
if (item.value.trim().length === 1) {
|
|
201
|
+
letters.push(item.value.toLowerCase())
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
return letters
|
|
205
|
+
}
|
|
206
|
+
const getIndexs = (object) => {
|
|
207
|
+
let index = []
|
|
208
|
+
if (typeof object === 'string') {
|
|
209
|
+
object = document.querySelectorAll(object)
|
|
210
|
+
}
|
|
211
|
+
for (let item of object) {
|
|
212
|
+
if (item.value.trim().length === 1) {
|
|
213
|
+
index.push({
|
|
214
|
+
value: item.value.toLowerCase(),
|
|
215
|
+
index: item.dataset.id,
|
|
216
|
+
})
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
return index
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
|
|
223
|
+
function handleSubmit(e) {
|
|
224
|
+
e.preventDefault()
|
|
225
|
+
document.querySelector(".refineSerach").style.display = "block"
|
|
226
|
+
const scrollingElement = (document.scrollingElement || document.body);
|
|
227
|
+
scrollingElement.scroll({ top: 515, behavior: 'smooth' });
|
|
228
|
+
|
|
229
|
+
let greenWithIndex = getIndexs('.greenWithIndex')
|
|
230
|
+
|
|
231
|
+
let corretLettterArray = []
|
|
232
|
+
let getGreenLetters = []
|
|
233
|
+
Array.from(greenLetters).map((item) => {
|
|
234
|
+
if (!item.value) {
|
|
235
|
+
corretLettterArray.push(item.value.replace("", "_"))
|
|
236
|
+
} else {
|
|
237
|
+
getGreenLetters.push(item.value)
|
|
238
|
+
corretLettterArray.push(item.value)
|
|
239
|
+
}
|
|
240
|
+
})
|
|
241
|
+
let includesLettersArray = []
|
|
242
|
+
let getYellowLetters = []
|
|
243
|
+
Array.from(yellowLetters).map((item) => {
|
|
244
|
+
if (!item.value) {
|
|
245
|
+
console.log(item.value)
|
|
246
|
+
includesLettersArray.push(item.value.replace("", "_"))
|
|
247
|
+
} else {
|
|
248
|
+
getYellowLetters.push(item.value)
|
|
249
|
+
includesLettersArray.push(item.value)
|
|
250
|
+
}
|
|
251
|
+
})
|
|
252
|
+
let excludesLettersArray = []
|
|
253
|
+
let getGreyLetters = []
|
|
254
|
+
Array.from(greyLetters).map((item) => {
|
|
255
|
+
if (!item.value) {
|
|
256
|
+
excludesLettersArray.push(item.value.replace("", "_"))
|
|
257
|
+
} else {
|
|
258
|
+
getGreyLetters.push(item.value)
|
|
259
|
+
excludesLettersArray.push(item.value)
|
|
260
|
+
}
|
|
261
|
+
})
|
|
262
|
+
|
|
263
|
+
if (history.pushState) {
|
|
264
|
+
var newurl = window.location.protocol + "//" + window.location.host +
|
|
265
|
+
window.location.pathname + '?' + "correct" + "=" + corretLettterArray.join("")
|
|
266
|
+
+ '&includes' + '=' + includesLettersArray.join("") + "&excludes" + '=' + excludesLettersArray.join("")
|
|
267
|
+
window.history.pushState({ path: newurl }, '', newurl);
|
|
268
|
+
|
|
269
|
+
const params = new URLSearchParams(window.location.search)
|
|
270
|
+
let correct = params.get('correct')
|
|
271
|
+
let includes = params.get('includes')
|
|
272
|
+
let excludes = params.get('excludes')
|
|
273
|
+
|
|
274
|
+
gtag('event', 'page_view', {
|
|
275
|
+
page_location: window.location.pathname + location.search,
|
|
276
|
+
})
|
|
277
|
+
}
|
|
278
|
+
wordleSolver(getGreenLetters, getYellowLetters, getGreyLetters, greenWithIndex)
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
|
|
282
|
+
if (correct === "" && includes === "" && excludes === "") {
|
|
283
|
+
const scrollingElement = (document.scrollingElement || document.body);
|
|
284
|
+
scrollingElement.scroll({ top: 515, behavior: 'smooth' });
|
|
285
|
+
wordleSolver("", "", "", "")
|
|
286
|
+
} else {
|
|
287
|
+
window.onload = function (e) {
|
|
288
|
+
handleSubmit(e);
|
|
289
|
+
};
|
|
290
|
+
form.addEventListener('submit', handleSubmit)
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
document.querySelector(".refineSerach").addEventListener("click", () => {
|
|
294
|
+
const scrollingElement = (document.scrollingElement || document.body);
|
|
295
|
+
scrollingElement.scroll({ top: 0, behavior: 'smooth' });
|
|
296
|
+
})
|
|
297
|
+
|
|
298
|
+
const ScrabbleScore = () => {
|
|
299
|
+
let twl06_sowpods = {
|
|
300
|
+
a: 1,
|
|
301
|
+
e: 1,
|
|
302
|
+
i: 1,
|
|
303
|
+
o: 1,
|
|
304
|
+
u: 1,
|
|
305
|
+
l: 1,
|
|
306
|
+
n: 1,
|
|
307
|
+
r: 1,
|
|
308
|
+
s: 1,
|
|
309
|
+
t: 1,
|
|
310
|
+
d: 2,
|
|
311
|
+
g: 2,
|
|
312
|
+
b: 3,
|
|
313
|
+
c: 3,
|
|
314
|
+
m: 3,
|
|
315
|
+
p: 3,
|
|
316
|
+
f: 4,
|
|
317
|
+
h: 4,
|
|
318
|
+
v: 4,
|
|
319
|
+
w: 4,
|
|
320
|
+
y: 4,
|
|
321
|
+
k: 5,
|
|
322
|
+
j: 8,
|
|
323
|
+
x: 8,
|
|
324
|
+
q: 10,
|
|
325
|
+
z: 10,
|
|
326
|
+
}
|
|
327
|
+
return twl06_sowpods
|
|
328
|
+
}
|
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: 1.3.
|
|
4
|
+
version: 1.3.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-06-
|
|
11
|
+
date: 2022-06-23 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: jekyll
|
|
@@ -128,6 +128,7 @@ files:
|
|
|
128
128
|
- _data/wordgames/zh-TW/four_letter_word_finder.json
|
|
129
129
|
- _data/wordgames/zh/four_letter_word_finder.json
|
|
130
130
|
- _data/wordleSolver/en/data.json
|
|
131
|
+
- _data/wordleSolver/en/resultData.json
|
|
131
132
|
- _data/xyzPagesData/en/unscramble-letters-jumble.json
|
|
132
133
|
- _data/xyzPagesData/en/words-with-letters-cheat.json
|
|
133
134
|
- _includes/Monumetric/Monumetric.html
|
|
@@ -294,6 +295,7 @@ files:
|
|
|
294
295
|
- assets/js/wordScrabble-test.js
|
|
295
296
|
- assets/js/wordScrabble.js
|
|
296
297
|
- assets/js/wordleSolver.js
|
|
298
|
+
- assets/js/wordleSolverResult.js
|
|
297
299
|
- assets/js/words-in-certain-positions.js
|
|
298
300
|
- assets/js/words-starting-with.js
|
|
299
301
|
- assets/js/xyz.js
|