diff --git a/fortune_generator/js/fortune.js b/fortune_generator/js/fortune.js index a32f5c2..2e0732c 100644 --- a/fortune_generator/js/fortune.js +++ b/fortune_generator/js/fortune.js @@ -29,7 +29,7 @@ let special_events = []; var fortune_generated = false; // using async and await to prevent fetching the data too late... -async function fetch_data(){ +async function fetch_data() { await fetch("./json/fortune.json") .then(response => response.json()) .then(data => { @@ -60,7 +60,7 @@ const day = d.getDay(); const month = d.getMonth() + 1; const year = d.getFullYear(); -function daysDiff(eventIndex){ +function daysDiff(eventIndex) { // define the date right now and the special event date const startDate = new Date(`${year}-${month}-${date}`); const endDate = new Date(`${special_events[eventIndex].year}-${special_events[eventIndex].month}-${special_events[eventIndex].date}`); @@ -85,7 +85,7 @@ let special = false; let special_events_index = 0; // init page -async function init_page(){ +async function init_page() { // fetch fortune.json and special.json await fetch_data(); @@ -103,30 +103,33 @@ async function init_page(){ let eventIndex_1 = -1, eventIndex_2 = -1; // check if there is special event today - for(let i = 0; i < special_events.length; i++){ - if(daysDiff(i) > 0){ - if(eventIndex_1 == -1) eventIndex_1 = i; - else if(eventIndex_2 == -1) eventIndex_2 = i; + for (let i = 0; i < special_events.length; i++) { + if (daysDiff(i) > 0) { + if (eventIndex_1 == -1) { + eventIndex_1 = i; + } else if (eventIndex_2 == -1) { + eventIndex_2 = i; + } } - else if(daysDiff(i) == 0){ + else if (daysDiff(i) == 0) { special = true; special_events_index = i; } } // if there is upcoming event then show - if(eventIndex_1 != -1){ + if (eventIndex_1 != -1) { let days = daysDiff(eventIndex_1); let upcoming_event_1 = `距離${special_events[eventIndex_1].event}還剩${days}`; $('#upcoming-event-1').html(upcoming_event_1); } - if(eventIndex_2 != -1){ + if (eventIndex_2 != -1) { let days = daysDiff(eventIndex_2); let upcoming_event_2 = `距離${special_events[eventIndex_2].event}還剩${days}`; $('#upcoming-event-2').html(upcoming_event_2); } // show special event if today is a special day - if(special){ + if (special) { let special_event_today = `今日是${special_events[special_events_index].event}`; $('#special-day').html(special_event_today); } @@ -135,6 +138,7 @@ async function init_page(){ if (last_date_str !== null && last_date_str !== undefined) { let now_date = new Date(); let last_date = new Date(last_date_str); + if (now_date.getFullYear() === last_date.getFullYear() && now_date.getMonth() === last_date.getMonth() && now_date.getDate() === last_date.getDate()) { fortune_generated = true; Appear(); @@ -190,12 +194,12 @@ function Appear() { let status = `§ ${fortuneStatus[status_index]} §`; - if(special){ + if (special) { status_index = special_events[special_events_index].status_index; let special_status = `§ ${fortuneStatus[status_index]} §`; J_ip_to_fortune.html(special_status); } - else{ + else { J_ip_to_fortune.html(status); } @@ -204,17 +208,17 @@ function Appear() { let l1 = (seed1 % goodLen + goodLen) % goodLen; set.add(goodFortunes[l1].event); let l2 = (((seed1 << 1) + date) % goodLen + goodLen) % goodLen; - while(set.has(goodFortunes[l2].event)){ + while (set.has(goodFortunes[l2].event)) { l2 = (l2 + 1) % goodLen; } set.add(goodFortunes[l2].event); let r1 = (((seed1 >> 1) + (d.getMonth() << 3)) % badLen + badLen) % badLen; - while(set.has(badFortunes[r1].event)){ + while (set.has(badFortunes[r1].event)) { r1 = (r1 + 2) % badLen; } set.add(badFortunes[r1].event); let r2 = ((((((seed1 << 3) + (d.getFullYear() >> 5) * (date << 2)) % badLen) * seed2) >> 6) % badLen + badLen) % badLen; - while(set.has(badFortunes[r2].event)){ + while (set.has(badFortunes[r2].event)) { r2 = (r2 + 1) % badLen; } @@ -228,58 +232,57 @@ function Appear() { let r_2_event = bad_span(badFortunes[r2].event); let r_2_desc = desc_span(badFortunes[r2].description); - if(special){ + if (special) { // instead clear variable name, use short variable name for here... cuz it's too repetitive let Data = special_events[special_events_index]; - if(status_index == 0){ + if (status_index == 0) { J_r_1_event.html(allGood); - } - else{ + } else { J_r_1_event.html(bad_span(Data.badFortunes.r_1_event)); J_r_1_desc.html(desc_span(Data.badFortunes.r_1_desc)); J_r_2_event.html(bad_span(Data.badFortunes.r_2_event)); J_r_2_desc.html(desc_span(Data.badFortunes.r_2_desc)); - if(Data.badFortunes.r_1_event.length == 0){ + + if (Data.badFortunes.r_1_event.length == 0) { J_r_1_event.html(r_1_event); J_r_1_desc.html(r_1_desc); } - if(Data.badFortunes.r_2_event.length == 0){ + if (Data.badFortunes.r_2_event.length == 0) { J_r_2_event.html(r_2_event); J_r_2_desc.html(r_2_desc); } } - if(status_index == statusLen - 1){ + if (status_index == statusLen - 1) { J_l_1_event.html(allBad); - } - else{ + } else { J_l_1_event.html(good_span(Data.goodFortunes.l_1_event)); J_l_1_desc.html(desc_span(Data.goodFortunes.l_1_desc)); J_l_2_event.html(good_span(Data.goodFortunes.l_2_event)); J_l_2_desc.html(desc_span(Data.goodFortunes.l_2_desc)); - if(Data.goodFortunes.l_1_event.length == 0){ + + if (Data.goodFortunes.l_1_event.length == 0) { J_l_1_event.html(l_1_event); J_l_1_desc.html(l_1_desc); } - if(Data.goodFortunes.l_2_event.length == 0){ + if (Data.goodFortunes.l_2_event.length == 0) { J_l_2_event.html(l_2_event); J_l_2_desc.html(l_2_desc); } } } else{ - if(status_index == 0){ + if (status_index == 0) { J_r_1_event.html(allGood); - } - else{ + } else { J_r_1_event.html(r_1_event); J_r_1_desc.html(r_1_desc); J_r_2_event.html(r_2_event); J_r_2_desc.html(r_2_desc); } - if(status_index == statusLen - 1){ + + if (status_index == statusLen - 1) { J_l_1_event.html(allBad); - } - else{ + } else { J_l_1_event.html(l_1_event); J_l_1_desc.html(l_1_desc); J_l_2_event.html(l_2_event); diff --git a/fortune_generator/js/matrix.js b/fortune_generator/js/matrix.js index f7a761e..34cc086 100644 --- a/fortune_generator/js/matrix.js +++ b/fortune_generator/js/matrix.js @@ -10,7 +10,7 @@ const fontSize = 16; const columns = canvas.width / fontSize; const charArr = []; -for(let i = 0; i < columns; ++i) { +for (let i = 0; i < columns; i++) { charArr[i] = 1; } @@ -23,24 +23,27 @@ context.fillRect(0, 0, canvas.width, canvas.height); function Update() { context.fillStyle = "rgba(0, 0, 0, 0.05)"; context.fillRect(0, 0, canvas.width, canvas.height); - if(frame == 0){ + + if (frame == 0) { let a = parseInt(Math.random() * 255); str = `rgba(${a}, ${Math.abs(a - 127)}, ${Math.abs(a - 255)}, 0.9)`; } context.fillStyle = str; context.font = fontSize + "px monospace"; - for(let i = 0; i < columns; ++i){ + for (let i = 0; i < columns; i++) { const text = chars[Math.floor(Math.random() * chars.length)]; context.fillText(text, i * fontSize, charArr[i] * fontSize); - if(charArr[i] * fontSize > canvas.height && Math.random() > 0.90){ + if (charArr[i] * fontSize > canvas.height && Math.random() > 0.90) { charArr[i] = 0; } charArr[i]++; } + frame++; - if(frame <= 40 * (Math.floor(Math.random() * 10) + 3)) requestAnimationFrame(Update); // 40 frames a cycle - else{ + if (frame <= 40 * (Math.floor(Math.random() * 10) + 3)) { + requestAnimationFrame(Update); // 40 frames a cycle + } else { frame = 0; Appear(); } diff --git a/quote_generator/js/matrix.js b/quote_generator/js/matrix.js index f7a761e..5adc251 100644 --- a/quote_generator/js/matrix.js +++ b/quote_generator/js/matrix.js @@ -10,7 +10,7 @@ const fontSize = 16; const columns = canvas.width / fontSize; const charArr = []; -for(let i = 0; i < columns; ++i) { +for (let i = 0; i < columns; i++) { charArr[i] = 1; } @@ -23,24 +23,27 @@ context.fillRect(0, 0, canvas.width, canvas.height); function Update() { context.fillStyle = "rgba(0, 0, 0, 0.05)"; context.fillRect(0, 0, canvas.width, canvas.height); - if(frame == 0){ + + if (frame == 0) { let a = parseInt(Math.random() * 255); str = `rgba(${a}, ${Math.abs(a - 127)}, ${Math.abs(a - 255)}, 0.9)`; } context.fillStyle = str; context.font = fontSize + "px monospace"; - for(let i = 0; i < columns; ++i){ + for (let i = 0; i < columns; i++) { const text = chars[Math.floor(Math.random() * chars.length)]; context.fillText(text, i * fontSize, charArr[i] * fontSize); - if(charArr[i] * fontSize > canvas.height && Math.random() > 0.90){ + if (charArr[i] * fontSize > canvas.height && Math.random() > 0.90) { charArr[i] = 0; } charArr[i]++; } frame++; - if(frame <= 40 * (Math.floor(Math.random() * 10) + 3)) requestAnimationFrame(Update); // 40 frames a cycle - else{ + + if (frame <= 40 * (Math.floor(Math.random() * 10) + 3)) { + requestAnimationFrame(Update); // 40 frames a cycle + } else { frame = 0; Appear(); } diff --git a/scripts.js b/scripts.js index b090e03..50a296c 100644 --- a/scripts.js +++ b/scripts.js @@ -1,7 +1,7 @@ // fetch all folder paths of the generators from `folders.json` let folderPaths = [] -async function fetch_folders(){ +async function fetch_folders() { await fetch('./folders.json') .then(response => response.json()) .then(data => { @@ -10,12 +10,12 @@ async function fetch_folders(){ }) } -async function get_generator_card_footer(){ +async function get_generator_card_footer() { await fetch_folders() // console.log(folderPaths); const repoOwner = 'LifeAdventurer'; const repoName = 'generators'; - for(let folderIndex = 1; folderIndex <= folderPaths.length; folderIndex++){ + for (let folderIndex = 1; folderIndex <= folderPaths.length; folderIndex++) { let folderPath = folderPaths[folderIndex - 1]; const apiUrl = `https://api.github.com/repos/${repoOwner}/${repoName}/commits?path=${folderPath}`; console.log(apiUrl); @@ -42,16 +42,13 @@ function format_time_difference(seconds) { const hours = Math.floor(minutes / 60); const days = Math.floor(hours / 24); - if(days > 0){ + if (days > 0) { return `${days} day${days > 1 ? 's' : ''}`; - } - else if(hours > 0){ + } else if(hours > 0) { return `${hours} hour${hours > 1 ? 's' : ''}`; - } - else if(minutes > 0){ + } else if(minutes > 0) { return `${minutes} minute${minutes > 1 ? 's' : ''}`; - } - else{ + } else { return `${seconds} second${seconds > 1 ? 's' : ''}`; } }