@@ -64,13 +64,28 @@ <h1>Pixels Visualiser</h1>
6464
6565
6666 < div id ="content " style ="display: none; ">
67- < div class ="pill-selector ">
68- < button class ="pill " data-range ="7 "> Last week</ button >
69- < button class ="pill " data-range ="30 "> Last month</ button >
70- < button class ="pill " data-range ="180 "> Last 6 months</ button >
71- < button class ="pill " data-range ="365 "> Last year</ button >
72- < button class ="pill " data-range ="1095 "> Last 3 years</ button >
73- < button class ="pill active " data-range ="99999 "> All time</ button >
67+ < div class ="div-pill-selector ">
68+ < div class ="pill-selector ">
69+ < button class ="pill " data-range ="0 "> Custom</ button >
70+ < button class ="pill " data-range ="7 "> Last week</ button >
71+ < button class ="pill " data-range ="30 "> Last month</ button >
72+ < button class ="pill " data-range ="180 "> Last 6 months</ button >
73+ < button class ="pill " data-range ="365 "> Last year</ button >
74+ < button class ="pill " data-range ="1095 "> Last 3 years</ button >
75+ < button class ="pill active " data-range ="99999 "> All time</ button >
76+ </ div >
77+
78+ < div class ="pill-date-range-filter " id ="dateRangeFilter ">
79+ < div class ="option-item ">
80+ < label for ="startDateFilterInput " title ="The date of the first Pixel "> Start date</ label >
81+ < input type ="date " id ="startDateFilterInput " class ="input-date ">
82+ </ div >
83+
84+ < div class ="option-item ">
85+ < label for ="endDateFilterInput " title ="The date of the last Pixel "> End date</ label >
86+ < input type ="date " id ="endDateFilterInput " class ="input-date ">
87+ </ div >
88+ </ div >
7489 </ div >
7590
7691 < div class ="no-data-error "> No data available for the selected range</ div >
@@ -123,12 +138,12 @@ <h2>📈 Time evolution</h2>
123138 title ="Show percentage of appearance among all Pixels instead of raw values "> Show percentages</ label >
124139 < input type ="checkbox " id ="tagFrequencyCheckbox " class ="checkbox ">
125140 </ div >
126-
141+
127142 < div class ="option-item ">
128143 < label for ="maxTagsInput " title ="Number of tags to display "> Number of tags</ label >
129144 < input type ="number " id ="maxTagsInput " class ="input-nb " min ="1 " value ="10 ">
130145 </ div >
131-
146+
132147 < div class ="option-item ">
133148 < label for ="selectTagCategory " title ="Choose the category you want to display "> Tag category</ label >
134149 < select id ="selectTagCategory " class ="select "> </ select >
@@ -148,8 +163,8 @@ <h2>😊 Average score per tag</h2>
148163 </ div >
149164 </ div >
150165
151- < div class ="grid-charts group-options ">
152- < div class ="chart-container " id ="WeekdaysContainer ">
166+ < div class ="grid-charts ">
167+ < div class ="chart-container group-options " id ="WeekdaysContainer ">
153168 < h2 > 🔁 Weekdays average scores</ h2 >
154169 < div class ="options ">
155170 < div class ="option-item ">
@@ -168,7 +183,7 @@ <h2>🔁 Weekdays average scores</h2>
168183 < canvas id ="weekdaysChart "> </ canvas >
169184 </ div >
170185
171- < div class ="chart-container " id ="WeekdaysContainer ">
186+ < div class ="chart-container group-options " id ="WeekdaysContainer ">
172187 < h2 > 🗓️ Months average scores</ h2 >
173188 < div class ="options ">
174189 < div class ="option-item ">
@@ -197,14 +212,17 @@ <h2>📝 Most frequent words</h2>
197212 < div class ="dialog-settings ">
198213
199214 < h3 > Words settings</ h3 >
200-
215+
201216 < div class ="dialog-settings-group ">
202217 < label for ="wordsPercentageCheckbox " title ="Show percentage of appearance among all Pixels instead of raw values "> Show percentages</ label >
203218 < input type ="checkbox " id ="wordsPercentageCheckbox " class ="checkbox ">
204219
205220 < label for ="wordsOrderCheckbox " title ="Order the words bellow by decreasing score "> Order by score</ label >
206221 < input type ="checkbox " id ="wordsOrderCheckbox " class ="checkbox ">
207-
222+
223+ < label for ="wordsRegexCheckbox " title ="Advanced feature. Allow searching with regular expressions "> Search by regex</ label >
224+ < input type ="checkbox " id ="wordsRegexCheckbox " class ="checkbox ">
225+
208226 < label for ="minCountInput " title ="Minimum number of time this words appears in your Pixels "> Minimum count</ label >
209227 < input type ="number " id ="minCountInput " class ="input-nb " min ="1 ">
210228
@@ -222,7 +240,7 @@ <h3>Words settings</h3>
222240 < div class ="dialog-settings ">
223241
224242 < h3 > Stopwords settings</ h3 >
225-
243+
226244 < div class ="dialog-settings-group ">
227245
228246 < label for ="stopwordsLanguageSelect " title ="Which language do you want the stopwords to be in? "> Stopwords language</ label >
@@ -257,9 +275,9 @@ <h3>Stopwords settings</h3>
257275 < label for ="minScoreSlider " title ="Only count words appearing in a Pixel with a score above the defined threshold "> Min score: < span id ="minScoreValue "> 1</ span > </ label >
258276 < input type ="range " id ="minScoreSlider " class ="range-slider " min ="10 " max ="50 ">
259277 </ div >
260-
278+
261279 < div class ="option-item ">
262- < label for ="searchInput " title ='hint: use "*" to search for any word, e.g. "went to *" '> Search words</ label >
280+ < label id =" labelSearchInput " for ="searchInput " title ='hint: use "*" to search for any word, e.g. "went to *" '> Search words</ label >
263281 < input type ="text " id ="searchInput " class ="input-nb input-large " placeholder ='e.g. "happy", "good day", "been to *" '>
264282 </ div >
265283 </ div >
@@ -279,12 +297,13 @@ <h3>Stopwords settings</h3>
279297 </ div >
280298
281299 < div class ="option-item ">
282- < label for ="wordcloudCompression " title ="How much the differences between word sizes are reduced "> Words compression</ label >
300+ < label for ="wordcloudCompression " title ="If this number is high, bigger words will have a more similar size than smaller words "> Words compression</ label >
283301 < input type ="number " id ="wordcloudCompression " class ="input-nb " min ="1 " max ="10 ">
284302 </ div >
285303 </ div >
286304
287305 < canvas id ="wordcloudCanvas " width ="1000 " height ="400 "> </ canvas >
306+ <!-- <div id="wordcloudCanvas" width="1000" height="400" style="width: 1000px; height: 400px;"></div> -->
288307
289308 < button class ="button " id ="btnDownloadWordcloud "> Download</ button >
290309 </ div >
@@ -304,29 +323,29 @@ <h2>🖼️ Create Pixels image</h2>
304323 < div class ="dialog-settings ">
305324
306325 < h3 > Image settings</ h3 >
307-
326+
308327 < div class ="dialog-settings-group ">
309328 < label for ="color1 "> Score 1</ label >
310329 < input type ="color " id ="color1 ">
311-
330+
312331 < label for ="color2 "> Score 2</ label >
313332 < input type ="color " id ="color2 ">
314-
333+
315334 < label for ="color3 "> Score 3</ label >
316335 < input type ="color " id ="color3 ">
317-
336+
318337 < label for ="color4 "> Score 4</ label >
319338 < input type ="color " id ="color4 ">
320-
339+
321340 < label for ="color5 "> Score 5</ label >
322341 < input type ="color " id ="color5 ">
323-
342+
324343 < label for ="colorEmpty "> Background</ label >
325344 < input type ="color " id ="colorEmpty ">
326-
345+
327346 < div class ="empty-line "> < hr > </ div >
328347 < div class ="empty-line "> < hr > </ div >
329-
348+
330349 < label for ="squareSizeInput " title ="The size of each Pixel on the generated image "> Square size (px)</ label >
331350 < input type ="number " id ="squareSizeInput " class ="input-nb " min ="2 " max ="100 ">
332351
@@ -342,7 +361,7 @@ <h3>Image settings</h3>
342361
343362 < label for ="showDaysCheckbox " title ="Show each day of the month on the image "> Show days</ label >
344363 < input type ="checkbox " id ="showDaysCheckbox " class ="checkbox ">
345-
364+
346365 < div class ="empty-line "> < hr > </ div >
347366 < div class ="empty-line "> < hr > </ div >
348367
@@ -354,7 +373,7 @@ <h3>Image settings</h3>
354373 </ select >
355374
356375 </ div >
357-
376+
358377 < div class ="dialog-buttons ">
359378 < button type ="button " class ="button button-secondary " id ="resetSettingsDialog "> Reset</ button >
360379 < button type ="button " class ="button " id ="cancelSettingsDialog "> Cancel</ button >
@@ -411,7 +430,7 @@ <h3>Image settings</h3>
411430 < option value ="word "> Word</ option >
412431 < option value ="tag "> Tag</ option >
413432 </ select >
414- < input type ="text " id ="compareWordInput2 " class ="input-nb input-large " placeholder ="enter a word ">
433+ < input type ="text " id ="compareWordInput2 " class ="input-nb input-large " placeholder ="enter a word " value ="" >
415434 < select id ="compareTagSelect2 " class ="select " style ="display: none; "> </ select >
416435 </ div >
417436 </ div >
@@ -428,7 +447,7 @@ <h2>📅 Search Pixels by date</h2>
428447
429448 < div class ="option-item ">
430449 < label for ="dateSearchInput " title ="Colors and score type can be selected above "> Select date</ label >
431- < input type ="date " id ="dateSearchInput " class ="input-date "" >
450+ < input type ="date " id ="dateSearchInput " class ="input-date ">
432451 </ div >
433452
434453 < div class ="options ">
@@ -456,8 +475,8 @@ <h2>📅 Search Pixels by date</h2>
456475 < img src ="assets/pixels_memories_logo.png " alt ="Pixels Memories ">
457476 </ a >
458477 </ div >
459- < div class ="version "> Version: v1.5.10 </ div >
460- < div class ="version "> Last update: 2025-07-25 </ div >
478+ < div class ="version "> Version: v1.5.15 </ div >
479+ < div class ="version "> Last update: 2025-08-08 </ div >
461480 </ footer >
462481
463482 <!-- Charts.js for graphs -->
@@ -466,7 +485,7 @@ <h2>📅 Search Pixels by date</h2>
466485 < script src ="https://cdn.jsdelivr.net/npm/chartjs-adapter-date-fns/dist/chartjs-adapter-date-fns.bundle.min.js "> </ script >
467486
468487 <!-- Wordcloud2.js for wordcloud -->
469- < script src ="https://cdnjs.cloudflare.com/ajax/libs/wordcloud2.js/1.1.2 /wordcloud2.min.js "> </ script >
488+ < script src ="https://cdnjs.cloudflare.com/ajax/libs/wordcloud2.js/1.2.3 /wordcloud2.min.js "> </ script >
470489
471490 <!-- Fullcalendar.js for date input -->
472491 < script src ="https://cdn.jsdelivr.net/npm/fullcalendar@6.1.8/index.global.min.js "> </ script >
0 commit comments