word-games-theme 1.3.0 → 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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8b13b8f7fcd05c82997055d59246a15f6b0f16c571ec7b2d6337218893d73393
4
- data.tar.gz: e438883394cdb2357258d95766300a0b415e765cf40e20ce1b2dc4f17b51d2e2
3
+ metadata.gz: 7cdd9dc7a666e732783cc561d72faf0740ea5748de45dca35e0783f4fe606dea
4
+ data.tar.gz: 470edb3e66e47336adae9dc405e155962f8c7b390649ac8aae1ad5cb018393b1
5
5
  SHA512:
6
- metadata.gz: 124eca04254b09f3118440be6e09d948410972bd799cf2287e77294359f0a51e621e27c24eb3c802a1286876a29ed379852e93fcbba3b6f7cecf40107645e1ab
7
- data.tar.gz: 2d49013a9b37bb6851ccfbcf696e44be871ec0a17afbec4f69f780a64090b0f90752888abf26e043ef70a0514c287bb71847c35f7c9826a5803c543f47ef30df
6
+ metadata.gz: 725d7089553d14c46bc556e0be395d1d59b7c4220456cdba62ab56ccfe8bbbe913972accca0ae3d53e31a919da5eb9c3e7048122158eb0dd6a3c63452cf9716d
7
+ data.tar.gz: 323d620dfb915a6ddce41efb92e33692a5d3524e0f856140a2bfa4764da5ad09fbd7c3d4a878dc89080044e821682cf564282c5f0f7b59e018c11d071d6b468a
@@ -56,9 +56,9 @@
56
56
  }
57
57
  ],
58
58
  "jsfilepaths": [
59
- ""
59
+ "/assets/js/wordleSolver.js"
60
60
  ],
61
61
  "cssfilepaths": [
62
- "../assets/css/wordleSolver.css"
62
+ "/assets/css/wordleSolver.css"
63
63
  ]
64
64
  }
@@ -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
+ }
@@ -1,6 +1,11 @@
1
1
  <head>
2
+ {%- assign pagedescriptionlength = page.description | split: ' ' -%}
3
+ {%- if pagedescriptionlength.size > 5 -%}
4
+ {%- assign pagedescriptionlength = page.description | split: ' ' -%}
5
+ {%- assign pagedescription = page.description -%}
6
+ {%- endif -%}
2
7
  {% assign favicon = site.favicon %} {%- assign seo_description =
3
- page.description | default: page.content | markdownify | strip_html |
8
+ pagedescription | default: page.content | markdownify | strip_html |
4
9
  truncatewords: 50 | default: page.excerpt | default: site.description -%} {%-
5
10
  if seo_description -%} {%- assign seo_description = seo_description |
6
11
  markdownify | strip_html | strip_newlines | escape_once -%} {%- endif -%} {%-
@@ -107,7 +107,7 @@
107
107
 
108
108
  {%- include google-analytics.html -%}
109
109
 
110
- {% if page.url != '/' %}
110
+ {% if page.url != '/' and page.lang == "en" %}
111
111
  {% include Monumetric/Monumetric.html %}
112
112
  {% endif %}
113
113
 
@@ -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}}"></script>
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 -%}
@@ -27,36 +27,66 @@
27
27
  <span id="errorMsg"></span>
28
28
  </div>
29
29
  <div class="game-board">
30
- <input class="tile" onkeypress="limitKeypress(event,this.value,1)">
31
- <input class="tile" onkeypress="limitKeypress(event,this.value,1)">
32
- <input class="tile" onkeypress="limitKeypress(event,this.value,1)">
33
- <input class="tile" onkeypress="limitKeypress(event,this.value,1)">
34
- <input class="tile" onkeypress="limitKeypress(event,this.value,1)">
35
- <input class="tile" onkeypress="limitKeypress(event,this.value,1)">
36
- <input class="tile" onkeypress="limitKeypress(event,this.value,1)">
37
- <input class="tile" onkeypress="limitKeypress(event,this.value,1)">
38
- <input class="tile" onkeypress="limitKeypress(event,this.value,1)">
39
- <input class="tile" onkeypress="limitKeypress(event,this.value,1)">
40
- <input class="tile" onkeypress="limitKeypress(event,this.value,1)">
41
- <input class="tile" onkeypress="limitKeypress(event,this.value,1)">
42
- <input class="tile" onkeypress="limitKeypress(event,this.value,1)">
43
- <input class="tile" onkeypress="limitKeypress(event,this.value,1)">
44
- <input class="tile" onkeypress="limitKeypress(event,this.value,1)">
45
- <input class="tile" onkeypress="limitKeypress(event,this.value,1)">
46
- <input class="tile" onkeypress="limitKeypress(event,this.value,1)">
47
- <input class="tile" onkeypress="limitKeypress(event,this.value,1)">
48
- <input class="tile" onkeypress="limitKeypress(event,this.value,1)">
49
- <input class="tile" onkeypress="limitKeypress(event,this.value,1)">
50
- <input class="tile" onkeypress="limitKeypress(event,this.value,1)">
51
- <input class="tile" onkeypress="limitKeypress(event,this.value,1)">
52
- <input class="tile" onkeypress="limitKeypress(event,this.value,1)">
53
- <input class="tile" onkeypress="limitKeypress(event,this.value,1)">
54
- <input class="tile" onkeypress="limitKeypress(event,this.value,1)">
55
- <input class="tile" onkeypress="limitKeypress(event,this.value,1)">
56
- <input class="tile" onkeypress="limitKeypress(event,this.value,1)">
57
- <input class="tile" onkeypress="limitKeypress(event,this.value,1)">
58
- <input class="tile" onkeypress="limitKeypress(event,this.value,1)">
59
- <input class="tile" onkeypress="limitKeypress(event,this.value,1)">
30
+ <input class="tile" maxlength="1"
31
+ oninput="javascript: if (this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);">
32
+ <input class="tile" maxlength="1"
33
+ oninput="javascript: if (this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);">
34
+ <input class="tile" maxlength="1"
35
+ oninput="javascript: if (this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);">
36
+ <input class="tile" maxlength="1"
37
+ oninput="javascript: if (this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);">
38
+ <input class="tile" maxlength="1"
39
+ oninput="javascript: if (this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);">
40
+ <input class="tile" maxlength="1"
41
+ oninput="javascript: if (this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);">
42
+ <input class="tile" maxlength="1"
43
+ oninput="javascript: if (this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);">
44
+ <input class="tile" maxlength="1"
45
+ oninput="javascript: if (this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);">
46
+ <input class="tile" maxlength="1"
47
+ oninput="javascript: if (this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);">
48
+ <input class="tile" maxlength="1"
49
+ oninput="javascript: if (this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);">
50
+ <input class="tile" maxlength="1"
51
+ oninput="javascript: if (this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);">
52
+ <input class="tile" maxlength="1"
53
+ oninput="javascript: if (this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);">
54
+ <input class="tile" maxlength="1"
55
+ oninput="javascript: if (this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);">
56
+ <input class="tile" maxlength="1"
57
+ oninput="javascript: if (this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);">
58
+ <input class="tile" maxlength="1"
59
+ oninput="javascript: if (this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);">
60
+ <input class="tile" maxlength="1"
61
+ oninput="javascript: if (this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);">
62
+ <input class="tile" maxlength="1"
63
+ oninput="javascript: if (this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);">
64
+ <input class="tile" maxlength="1"
65
+ oninput="javascript: if (this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);">
66
+ <input class="tile" maxlength="1"
67
+ oninput="javascript: if (this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);">
68
+ <input class="tile" maxlength="1"
69
+ oninput="javascript: if (this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);">
70
+ <input class="tile" maxlength="1"
71
+ oninput="javascript: if (this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);">
72
+ <input class="tile" maxlength="1"
73
+ oninput="javascript: if (this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);">
74
+ <input class="tile" maxlength="1"
75
+ oninput="javascript: if (this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);">
76
+ <input class="tile" maxlength="1"
77
+ oninput="javascript: if (this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);">
78
+ <input class="tile" maxlength="1"
79
+ oninput="javascript: if (this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);">
80
+ <input class="tile" maxlength="1"
81
+ oninput="javascript: if (this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);">
82
+ <input class="tile" maxlength="1"
83
+ oninput="javascript: if (this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);">
84
+ <input class="tile" maxlength="1"
85
+ oninput="javascript: if (this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);">
86
+ <input class="tile" maxlength="1"
87
+ oninput="javascript: if (this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);">
88
+ <input class="tile" maxlength="1"
89
+ oninput="javascript: if (this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);">
60
90
  </div>
61
91
 
62
92
  <div data-keyboard class="game-keyboard mt-3">
@@ -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" tabIndex="1"
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" maxlength="1"
57
- id="eleven" value="" autocomplete="off" tabIndex="10" onkeyup="move(this,'twelve')">
58
- <input type="text" class="wordleSolver-field greyLetters form-control px-5" maxlength="1"
59
- id="twelve" value="" autocomplete="off" tabIndex="11" onkeyup="move(this,'thirteen')">
60
- <input type="text" class="wordleSolver-field greyLetters form-control px-5" maxlength="1"
61
- id="thirteen" value="" autocomplete="off" tabIndex="12" onkeyup="move(this,'fourteen')">
62
- <input type="text" class="wordleSolver-field greyLetters form-control px-5" maxlength="1"
63
- id="fourteen" value="" autocomplete="off" tabIndex="13" onkeyup="move(this,'fifteen')">
64
- <input type="text" class="wordleSolver-field greyLetters form-control px-5" maxlength="1"
65
- id="fifteen" value="" autocomplete="off" tabIndex="14" onkeyup="move(this,'sixteen')">
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/game.css CHANGED
@@ -100,7 +100,7 @@
100
100
  justify-content: center;
101
101
  }
102
102
  .game .game-container .game-board .tile{
103
- /* caret-color: transparent; */
103
+
104
104
  display: flex;
105
105
  justify-content: center;
106
106
  align-items: center;
@@ -117,6 +117,8 @@
117
117
  text-transform: uppercase;
118
118
  transition: transform 240ms linear;
119
119
  }
120
+
121
+
120
122
  .game .game-container .game-board .tile:focus-visible{
121
123
  outline: none !important;
122
124
  }
@@ -399,6 +401,10 @@
399
401
  border-color: #666;
400
402
  }
401
403
  @media (max-width: 768px) {
404
+ .tile{
405
+ caret-color: transparent;
406
+ cursor: default;
407
+ }
402
408
  #create-wordle-form{
403
409
  padding:0 10px;
404
410
  }
@@ -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: #90ee90;
148
+ background: #345234;
148
149
  border-radius: 20px;
149
150
  font-size: 15px;
150
151
  margin-bottom: 2rem;
data/assets/js/game.js CHANGED
@@ -34,12 +34,14 @@ let wordleRunningTimer = document.querySelector("#wordle-running-timer")
34
34
 
35
35
 
36
36
  let tile = document.querySelector('.tile')
37
- tile.focus()
38
- function limitKeypress(event, value, maxLength) {
39
- if (value != undefined && value.toString().length >= maxLength) {
40
- event.preventDefault();
41
- }
37
+ let x = window.matchMedia("(min-width: 768px)")
38
+ if (x.matches) {
39
+ tile.focus()
42
40
  }
41
+ // function limitKeypress(event, maxLength) {
42
+ // event.target.value = event.target.value.replace(/[^a-zA-Z? ]/g, '')
43
+ // event.target.value = event.target.value.substring(0, maxLength)
44
+ // }
43
45
 
44
46
 
45
47
  let second = 0
@@ -141,7 +143,11 @@ const pressKey = (key) => {
141
143
  nextTile.dataset.state = "active"
142
144
  nextTile.classList.add("popAni")
143
145
  nextTile.value = key
144
- nextTile.focus()
146
+ let x = window.matchMedia("(min-width: 768px)")
147
+ if (x.matches) {
148
+ nextTile.focus()
149
+ }
150
+
145
151
  nextTile.style.border = "2px solid #a7adc0"
146
152
  }
147
153
  const deleteKey = () => {
@@ -149,7 +155,10 @@ const deleteKey = () => {
149
155
  const lastTile = activeTiles[activeTiles.length - 1]
150
156
  if (lastTile == null) return
151
157
  lastTile.value = ""
152
- lastTile.focus()
158
+ let x = window.matchMedia("(min-width: 768px)")
159
+ if (x.matches) {
160
+ lastTile.focus()
161
+ }
153
162
  delete lastTile.dataset.state
154
163
  delete lastTile.dataset.letter
155
164
  lastTile.style.border = "2px solid #dee1e9"
@@ -1,131 +1,11 @@
1
- // console.log('wordle solver ...')
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
- let wordleSolverData = document.querySelector("#wordleSolverData")
197
- const scrollingElement = (document.scrollingElement || document.body);
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.0
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-05-17 00:00:00.000000000 Z
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