From 108db090a64a7e479fa005318de40c651dd9d31e Mon Sep 17 00:00:00 2001
From: github-actions
Date: Mon, 20 Jan 2025 02:08:35 +0000
Subject: [PATCH] Site Update. [skip ci]
---
README.html | 2 +-
README.page-vue-render.js | 2 +-
activities-dashboard.html | 2 +-
activities-dashboard.page-vue-render.js | 2 +-
cs3282-index.html | 2 +-
cs3282-index.page-vue-render.js | 2 +-
index.html | 2 +-
index.page-vue-render.js | 4 ++--
instructions.html | 2 +-
instructions.page-vue-render.js | 2 +-
students/AgentHagu/info.html | 2 +-
students/AgentHagu/info.page-vue-render.js | 2 +-
students/AgentHagu/knowledge.html | 2 +-
students/AgentHagu/knowledge.page-vue-render.js | 2 +-
students/AgentHagu/progress.html | 2 +-
students/AgentHagu/progress.page-vue-render.js | 2 +-
students/Airiinnn/info.html | 2 +-
students/Airiinnn/info.page-vue-render.js | 2 +-
students/Airiinnn/knowledge.html | 2 +-
students/Airiinnn/knowledge.page-vue-render.js | 2 +-
students/Airiinnn/progress.html | 2 +-
students/Airiinnn/progress.page-vue-render.js | 2 +-
students/Arif-Khalid/info.html | 2 +-
students/Arif-Khalid/info.page-vue-render.js | 2 +-
students/Arif-Khalid/knowledge.html | 2 +-
students/Arif-Khalid/knowledge.page-vue-render.js | 2 +-
students/Arif-Khalid/observations.html | 2 +-
students/Arif-Khalid/observations.page-vue-render.js | 2 +-
students/Arif-Khalid/progress.html | 2 +-
students/Arif-Khalid/progress.page-vue-render.js | 2 +-
students/BunnyHoppp/info.html | 2 +-
students/BunnyHoppp/info.page-vue-render.js | 2 +-
students/BunnyHoppp/knowledge.html | 2 +-
students/BunnyHoppp/knowledge.page-vue-render.js | 2 +-
students/BunnyHoppp/progress.html | 2 +-
students/BunnyHoppp/progress.page-vue-render.js | 2 +-
students/CYX22222003/info.html | 2 +-
students/CYX22222003/info.page-vue-render.js | 2 +-
students/CYX22222003/knowledge.html | 2 +-
students/CYX22222003/knowledge.page-vue-render.js | 2 +-
students/CYX22222003/progress.html | 2 +-
students/CYX22222003/progress.page-vue-render.js | 2 +-
students/DhiraPT/info.html | 2 +-
students/DhiraPT/info.page-vue-render.js | 2 +-
students/DhiraPT/knowledge.html | 2 +-
students/DhiraPT/knowledge.page-vue-render.js | 2 +-
students/DhiraPT/progress.html | 2 +-
students/DhiraPT/progress.page-vue-render.js | 2 +-
students/Echomo-Xinyu/info.html | 2 +-
students/Echomo-Xinyu/info.page-vue-render.js | 2 +-
students/Echomo-Xinyu/knowledge.html | 2 +-
students/Echomo-Xinyu/knowledge.page-vue-render.js | 2 +-
students/Echomo-Xinyu/observations.html | 2 +-
students/Echomo-Xinyu/observations.page-vue-render.js | 2 +-
students/Echomo-Xinyu/progress.html | 2 +-
students/Echomo-Xinyu/progress.page-vue-render.js | 2 +-
students/Eclipse-Dominator/info.html | 2 +-
students/Eclipse-Dominator/info.page-vue-render.js | 2 +-
students/Eclipse-Dominator/knowledge.html | 2 +-
students/Eclipse-Dominator/knowledge.page-vue-render.js | 2 +-
students/Eclipse-Dominator/observations.html | 2 +-
students/Eclipse-Dominator/observations.page-vue-render.js | 2 +-
students/Eclipse-Dominator/progress.html | 2 +-
students/Eclipse-Dominator/progress.page-vue-render.js | 2 +-
students/HollaG/info.html | 2 +-
students/HollaG/info.page-vue-render.js | 2 +-
students/HollaG/knowledge.html | 2 +-
students/HollaG/knowledge.page-vue-render.js | 2 +-
students/HollaG/progress.html | 2 +-
students/HollaG/progress.page-vue-render.js | 2 +-
students/IanCheah/info.html | 2 +-
students/IanCheah/info.page-vue-render.js | 2 +-
students/IanCheah/knowledge.html | 2 +-
students/IanCheah/knowledge.page-vue-render.js | 2 +-
students/IanCheah/progress.html | 2 +-
students/IanCheah/progress.page-vue-render.js | 2 +-
students/Incogdino/info.html | 2 +-
students/Incogdino/info.page-vue-render.js | 2 +-
students/Incogdino/knowledge.html | 2 +-
students/Incogdino/knowledge.page-vue-render.js | 2 +-
students/Incogdino/progress.html | 2 +-
students/Incogdino/progress.page-vue-render.js | 2 +-
students/InfinityTwo/info.html | 2 +-
students/InfinityTwo/info.page-vue-render.js | 2 +-
students/InfinityTwo/knowledge.html | 2 +-
students/InfinityTwo/knowledge.page-vue-render.js | 2 +-
students/InfinityTwo/progress.html | 2 +-
students/InfinityTwo/progress.page-vue-render.js | 2 +-
students/Izn432/info.html | 2 +-
students/Izn432/info.page-vue-render.js | 2 +-
students/Izn432/knowledge.html | 2 +-
students/Izn432/knowledge.page-vue-render.js | 2 +-
students/Izn432/progress.html | 2 +-
students/Izn432/progress.page-vue-render.js | 2 +-
students/JoanneHing/info.html | 2 +-
students/JoanneHing/info.page-vue-render.js | 2 +-
students/JoanneHing/knowledge.html | 2 +-
students/JoanneHing/knowledge.page-vue-render.js | 2 +-
students/JoanneHing/progress.html | 2 +-
students/JoanneHing/progress.page-vue-render.js | 2 +-
students/NorbertLoh/info.html | 2 +-
students/NorbertLoh/info.page-vue-render.js | 2 +-
students/NorbertLoh/knowledge.html | 2 +-
students/NorbertLoh/knowledge.page-vue-render.js | 2 +-
students/NorbertLoh/progress.html | 2 +-
students/NorbertLoh/progress.page-vue-render.js | 2 +-
students/domoberzin/info.html | 2 +-
students/domoberzin/info.page-vue-render.js | 2 +-
students/domoberzin/knowledge.html | 2 +-
students/domoberzin/knowledge.page-vue-render.js | 2 +-
students/domoberzin/observations.html | 2 +-
students/domoberzin/observations.page-vue-render.js | 2 +-
students/domoberzin/progress.html | 2 +-
students/domoberzin/progress.page-vue-render.js | 2 +-
students/gerteck/info.html | 2 +-
students/gerteck/info.page-vue-render.js | 2 +-
students/gerteck/knowledge.html | 2 +-
students/gerteck/knowledge.page-vue-render.js | 2 +-
students/gerteck/progress.html | 2 +-
students/gerteck/progress.page-vue-render.js | 2 +-
students/jasonqiu212/info.html | 2 +-
students/jasonqiu212/info.page-vue-render.js | 2 +-
students/jasonqiu212/knowledge.html | 2 +-
students/jasonqiu212/knowledge.page-vue-render.js | 2 +-
students/jasonqiu212/observations.html | 2 +-
students/jasonqiu212/observations.page-vue-render.js | 2 +-
students/jasonqiu212/progress.html | 2 +-
students/jasonqiu212/progress.page-vue-render.js | 2 +-
students/joeng03/info.html | 2 +-
students/joeng03/info.page-vue-render.js | 4 ++--
students/joeng03/knowledge.html | 2 +-
students/joeng03/knowledge.page-vue-render.js | 2 +-
students/joeng03/progress.html | 2 +-
students/joeng03/progress.page-vue-render.js | 2 +-
students/jonasongg/info.html | 2 +-
students/jonasongg/info.page-vue-render.js | 2 +-
students/jonasongg/knowledge.html | 2 +-
students/jonasongg/knowledge.page-vue-render.js | 2 +-
students/jonasongg/observations.html | 2 +-
students/jonasongg/observations.page-vue-render.js | 2 +-
students/jonasongg/progress.html | 2 +-
students/jonasongg/progress.page-vue-render.js | 2 +-
students/knowledge.html | 2 +-
students/knowledge.page-vue-render.js | 2 +-
students/lhw-1/info.html | 2 +-
students/lhw-1/info.page-vue-render.js | 2 +-
students/lhw-1/knowledge.html | 2 +-
students/lhw-1/knowledge.page-vue-render.js | 2 +-
students/lhw-1/observations.html | 2 +-
students/lhw-1/observations.page-vue-render.js | 2 +-
students/lhw-1/progress.html | 2 +-
students/lhw-1/progress.page-vue-render.js | 2 +-
students/lyuanww/info.html | 2 +-
students/lyuanww/info.page-vue-render.js | 2 +-
students/lyuanww/knowledge.html | 2 +-
students/lyuanww/knowledge.page-vue-render.js | 2 +-
students/lyuanww/progress.html | 2 +-
students/lyuanww/progress.page-vue-render.js | 2 +-
students/mingyang143/info.html | 2 +-
students/mingyang143/info.page-vue-render.js | 2 +-
students/mingyang143/knowledge.html | 2 +-
students/mingyang143/knowledge.page-vue-render.js | 2 +-
students/mingyang143/progress.html | 2 +-
students/mingyang143/progress.page-vue-render.js | 2 +-
students/nknguyenhc/info.html | 2 +-
students/nknguyenhc/info.page-vue-render.js | 2 +-
students/nknguyenhc/knowledge.html | 2 +-
students/nknguyenhc/knowledge.page-vue-render.js | 2 +-
students/nknguyenhc/observations.html | 2 +-
students/nknguyenhc/observations.page-vue-render.js | 2 +-
students/nknguyenhc/progress.html | 2 +-
students/nknguyenhc/progress.page-vue-render.js | 2 +-
students/observations.html | 2 +-
students/observations.page-vue-render.js | 2 +-
students/peasantbird/info.html | 2 +-
students/peasantbird/info.page-vue-render.js | 2 +-
students/peasantbird/knowledge.html | 2 +-
students/peasantbird/knowledge.page-vue-render.js | 2 +-
students/peasantbird/progress.html | 2 +-
students/peasantbird/progress.page-vue-render.js | 2 +-
students/sample/info.html | 2 +-
students/sample/info.page-vue-render.js | 2 +-
students/sample/knowledge.html | 2 +-
students/sample/knowledge.page-vue-render.js | 2 +-
students/sample/observations.html | 2 +-
students/sample/observations.page-vue-render.js | 2 +-
students/sample/progress.html | 2 +-
students/sample/progress.page-vue-render.js | 2 +-
students/sample/resume.html | 2 +-
students/sample/resume.page-vue-render.js | 2 +-
students/sikai00/info.html | 2 +-
students/sikai00/info.page-vue-render.js | 2 +-
students/sikai00/knowledge.html | 2 +-
students/sikai00/knowledge.page-vue-render.js | 2 +-
students/sikai00/observations.html | 2 +-
students/sikai00/observations.page-vue-render.js | 2 +-
students/sikai00/progress.html | 2 +-
students/sikai00/progress.page-vue-render.js | 2 +-
students/sopa301/info.html | 2 +-
students/sopa301/info.page-vue-render.js | 2 +-
students/sopa301/knowledge.html | 2 +-
students/sopa301/knowledge.page-vue-render.js | 2 +-
students/sopa301/observations.html | 2 +-
students/sopa301/observations.page-vue-render.js | 2 +-
students/sopa301/progress.html | 2 +-
students/sopa301/progress.page-vue-render.js | 2 +-
students/talksSchedule.html | 2 +-
students/talksSchedule.page-vue-render.js | 2 +-
students/worksheet.html | 2 +-
students/worksheet.page-vue-render.js | 2 +-
students/wx-03/info.html | 2 +-
students/wx-03/info.page-vue-render.js | 2 +-
students/wx-03/knowledge.html | 2 +-
students/wx-03/knowledge.page-vue-render.js | 2 +-
students/wx-03/progress.html | 2 +-
students/wx-03/progress.page-vue-render.js | 2 +-
students/xenosf/info.html | 2 +-
students/xenosf/info.page-vue-render.js | 2 +-
students/xenosf/knowledge.html | 2 +-
students/xenosf/knowledge.page-vue-render.js | 2 +-
students/xenosf/observations.html | 2 +-
students/xenosf/observations.page-vue-render.js | 2 +-
students/xenosf/progress.html | 2 +-
students/xenosf/progress.page-vue-render.js | 2 +-
students/yuanxi1/info.html | 2 +-
students/yuanxi1/info.page-vue-render.js | 2 +-
students/yuanxi1/knowledge.html | 2 +-
students/yuanxi1/knowledge.page-vue-render.js | 2 +-
students/yuanxi1/observations.html | 2 +-
students/yuanxi1/observations.page-vue-render.js | 2 +-
students/yuanxi1/progress.html | 2 +-
students/yuanxi1/progress.page-vue-render.js | 2 +-
students/yucongkoo/info.html | 2 +-
students/yucongkoo/info.page-vue-render.js | 2 +-
students/yucongkoo/knowledge.html | 2 +-
students/yucongkoo/knowledge.page-vue-render.js | 2 +-
students/yucongkoo/progress.html | 2 +-
students/yucongkoo/progress.page-vue-render.js | 2 +-
students/yyccbb/info.html | 2 +-
students/yyccbb/info.page-vue-render.js | 2 +-
students/yyccbb/knowledge.html | 2 +-
students/yyccbb/knowledge.page-vue-render.js | 2 +-
students/yyccbb/progress.html | 2 +-
students/yyccbb/progress.page-vue-render.js | 2 +-
244 files changed, 246 insertions(+), 246 deletions(-)
diff --git a/README.html b/README.html
index 93a9efa7..ed34d4c9 100644
--- a/README.html
+++ b/README.html
@@ -12,7 +12,7 @@
const baseUrl = '/2025'
-
+
diff --git a/README.page-vue-render.js b/README.page-vue-render.js
index a64fae43..38ada3d5 100644
--- a/README.page-vue-render.js
+++ b/README.page-vue-render.js
@@ -8,6 +8,6 @@ with(this){return _c('div',{attrs:{"id":"app"}},[_c('header',{attrs:{"fixed":""}
with(this){return _c('div',{staticClass:"fixed-header-padding",attrs:{"id":"content-wrapper"}},[_c('h1',{attrs:{"id":"cs3281-and-amp-2-student-data-website"}},[_v("CS3281&2 student data website"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#cs3281-and-amp-2-student-data-website","onclick":"event.stopPropagation()"}})])])}
},function anonymous(
) {
-with(this){return _c('footer',[_c('div',{staticClass:"text-center"},[_c('p',[_v("["),_c('strong',[_v("This site was generated using "),_c('img',{attrs:{"src":"https://markbind.org/favicon.ico","width":"25"}}),_v(" "),_c('a',{attrs:{"href":"https://markbind.org/"}},[_v("MarkBind 5.5.3")])]),_v(" on Mon, 20 Jan 2025, 1:16:13 UTC]"),_c('br'),_v(" "),_c('span',{staticClass:"dimmed"},[_c('small',[_c('small',[_v("favicon.ico of this site was made by "),_c('a',{attrs:{"href":"https://www.flaticon.com/authors/smashicons","title":"Smashicons"}},[_v("Smashicons")]),_v(" from "),_c('a',{attrs:{"href":"https://www.flaticon.com/","title":"Flaticon"}},[_v("www.flaticon.com")]),_v(" is licensed by "),_c('a',{attrs:{"href":"http://creativecommons.org/licenses/by/3.0/","title":"Creative Commons BY 3.0","target":"_blank"}},[_v("CC 3.0 BY")])])])])])])])}
+with(this){return _c('footer',[_c('div',{staticClass:"text-center"},[_c('p',[_v("["),_c('strong',[_v("This site was generated using "),_c('img',{attrs:{"src":"https://markbind.org/favicon.ico","width":"25"}}),_v(" "),_c('a',{attrs:{"href":"https://markbind.org/"}},[_v("MarkBind 5.5.3")])]),_v(" on Mon, 20 Jan 2025, 2:07:30 UTC]"),_c('br'),_v(" "),_c('span',{staticClass:"dimmed"},[_c('small',[_c('small',[_v("favicon.ico of this site was made by "),_c('a',{attrs:{"href":"https://www.flaticon.com/authors/smashicons","title":"Smashicons"}},[_v("Smashicons")]),_v(" from "),_c('a',{attrs:{"href":"https://www.flaticon.com/","title":"Flaticon"}},[_v("www.flaticon.com")]),_v(" is licensed by "),_c('a',{attrs:{"href":"http://creativecommons.org/licenses/by/3.0/","title":"Creative Commons BY 3.0","target":"_blank"}},[_v("CC 3.0 BY")])])])])])])])}
}];
\ No newline at end of file
diff --git a/activities-dashboard.html b/activities-dashboard.html
index a9a30881..153e9e14 100644
--- a/activities-dashboard.html
+++ b/activities-dashboard.html
@@ -14,7 +14,7 @@
+Furthermore, the stats (i.e., posts counts) are not directly comparable between devs, as they are influenced by the type of work/project. This page will be updated once in a while, in 1-2 week intervals. [This page was last updated on 2024-05-07 @22:54]
CS3281
CS3282
diff --git a/activities-dashboard.page-vue-render.js b/activities-dashboard.page-vue-render.js
index 74bd8425..d1a10002 100644
--- a/activities-dashboard.page-vue-render.js
+++ b/activities-dashboard.page-vue-render.js
@@ -20,6 +20,6 @@ with(this){return _c('h1',{attrs:{"id":"cs3281"}},[_v("CS3281"),_c('a',{staticCl
with(this){return _c('h1',{attrs:{"id":"cs3282"}},[_v("CS3282"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#cs3282","onclick":"event.stopPropagation()"}})])}
},function anonymous(
) {
-with(this){return _c('footer',[_c('div',{staticClass:"text-center"},[_c('p',[_v("["),_c('strong',[_v("This site was generated using "),_c('img',{attrs:{"src":"https://markbind.org/favicon.ico","width":"25"}}),_v(" "),_c('a',{attrs:{"href":"https://markbind.org/"}},[_v("MarkBind 5.5.3")])]),_v(" on Mon, 20 Jan 2025, 1:16:13 UTC]"),_c('br'),_v(" "),_c('span',{staticClass:"dimmed"},[_c('small',[_c('small',[_v("favicon.ico of this site was made by "),_c('a',{attrs:{"href":"https://www.flaticon.com/authors/smashicons","title":"Smashicons"}},[_v("Smashicons")]),_v(" from "),_c('a',{attrs:{"href":"https://www.flaticon.com/","title":"Flaticon"}},[_v("www.flaticon.com")]),_v(" is licensed by "),_c('a',{attrs:{"href":"http://creativecommons.org/licenses/by/3.0/","title":"Creative Commons BY 3.0","target":"_blank"}},[_v("CC 3.0 BY")])])])])])])])}
+with(this){return _c('footer',[_c('div',{staticClass:"text-center"},[_c('p',[_v("["),_c('strong',[_v("This site was generated using "),_c('img',{attrs:{"src":"https://markbind.org/favicon.ico","width":"25"}}),_v(" "),_c('a',{attrs:{"href":"https://markbind.org/"}},[_v("MarkBind 5.5.3")])]),_v(" on Mon, 20 Jan 2025, 2:07:30 UTC]"),_c('br'),_v(" "),_c('span',{staticClass:"dimmed"},[_c('small',[_c('small',[_v("favicon.ico of this site was made by "),_c('a',{attrs:{"href":"https://www.flaticon.com/authors/smashicons","title":"Smashicons"}},[_v("Smashicons")]),_v(" from "),_c('a',{attrs:{"href":"https://www.flaticon.com/","title":"Flaticon"}},[_v("www.flaticon.com")]),_v(" is licensed by "),_c('a',{attrs:{"href":"http://creativecommons.org/licenses/by/3.0/","title":"Creative Commons BY 3.0","target":"_blank"}},[_v("CC 3.0 BY")])])])])])])])}
}];
\ No newline at end of file
diff --git a/cs3282-index.html b/cs3282-index.html
index 16869aee..382cff37 100644
--- a/cs3282-index.html
+++ b/cs3282-index.html
@@ -12,7 +12,7 @@
const baseUrl = '/2025'
-
+
diff --git a/cs3282-index.page-vue-render.js b/cs3282-index.page-vue-render.js
index 4322de56..9548f417 100644
--- a/cs3282-index.page-vue-render.js
+++ b/cs3282-index.page-vue-render.js
@@ -44,6 +44,6 @@ with(this){return _c('h1',{attrs:{"id":"reposense"}},[_v("RepoSense"),_c('a',{st
with(this){return _c('h1',{attrs:{"id":"teammates"}},[_v("TEAMMATES"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#teammates","onclick":"event.stopPropagation()"}})])}
},function anonymous(
) {
-with(this){return _c('footer',[_c('div',{staticClass:"text-center"},[_c('p',[_v("["),_c('strong',[_v("This site was generated using "),_c('img',{attrs:{"src":"https://markbind.org/favicon.ico","width":"25"}}),_v(" "),_c('a',{attrs:{"href":"https://markbind.org/"}},[_v("MarkBind 5.5.3")])]),_v(" on Mon, 20 Jan 2025, 1:16:13 UTC]"),_c('br'),_v(" "),_c('span',{staticClass:"dimmed"},[_c('small',[_c('small',[_v("favicon.ico of this site was made by "),_c('a',{attrs:{"href":"https://www.flaticon.com/authors/smashicons","title":"Smashicons"}},[_v("Smashicons")]),_v(" from "),_c('a',{attrs:{"href":"https://www.flaticon.com/","title":"Flaticon"}},[_v("www.flaticon.com")]),_v(" is licensed by "),_c('a',{attrs:{"href":"http://creativecommons.org/licenses/by/3.0/","title":"Creative Commons BY 3.0","target":"_blank"}},[_v("CC 3.0 BY")])])])])])])])}
+with(this){return _c('footer',[_c('div',{staticClass:"text-center"},[_c('p',[_v("["),_c('strong',[_v("This site was generated using "),_c('img',{attrs:{"src":"https://markbind.org/favicon.ico","width":"25"}}),_v(" "),_c('a',{attrs:{"href":"https://markbind.org/"}},[_v("MarkBind 5.5.3")])]),_v(" on Mon, 20 Jan 2025, 2:07:30 UTC]"),_c('br'),_v(" "),_c('span',{staticClass:"dimmed"},[_c('small',[_c('small',[_v("favicon.ico of this site was made by "),_c('a',{attrs:{"href":"https://www.flaticon.com/authors/smashicons","title":"Smashicons"}},[_v("Smashicons")]),_v(" from "),_c('a',{attrs:{"href":"https://www.flaticon.com/","title":"Flaticon"}},[_v("www.flaticon.com")]),_v(" is licensed by "),_c('a',{attrs:{"href":"http://creativecommons.org/licenses/by/3.0/","title":"Creative Commons BY 3.0","target":"_blank"}},[_v("CC 3.0 BY")])])])])])])])}
}];
\ No newline at end of file
diff --git a/index.html b/index.html
index 9d643cb4..2a72ef19 100644
--- a/index.html
+++ b/index.html
@@ -12,7 +12,7 @@
const baseUrl = '/2025'
-
+
diff --git a/index.page-vue-render.js b/index.page-vue-render.js
index 8263883c..dd523210 100644
--- a/index.page-vue-render.js
+++ b/index.page-vue-render.js
@@ -1,7 +1,7 @@
var pageVueRenderFn = function anonymous(
) {
-with(this){return _c('div',{attrs:{"id":"app"}},[_c('header',{attrs:{"fixed":""}},[_c('navbar',{attrs:{"placement":"top","type":"primary"},scopedSlots:_u([{key:"brand",fn:function(){return [_c('a',{staticClass:"navbar-brand",attrs:{"href":"/2025/index.html","title":"Home"}},[_v("CS3281&2-2025/Students")])]},proxy:true},{key:"right",fn:function(){return [_c('li',[_c('a',{staticClass:"nav-link",attrs:{"href":"https://github.com/nus-cs3281/2025"}},[_c('span',[_c('span',{staticClass:"fab fa-github",attrs:{"aria-hidden":"true"}})])])])]},proxy:true}])},[_v(" "),_c('dropdown',{staticClass:"nav-link",scopedSlots:_u([{key:"header",fn:function(){return [_v("CS3281")]},proxy:true}])},[_v(" "),_c('li',[_c('a',{staticClass:"dropdown-item",attrs:{"href":"/2025/index.html"}},[_v("Students")])]),_v(" "),_c('li',[_c('a',{staticClass:"dropdown-item",attrs:{"href":"/2025/students/knowledge.html"}},[_v("Knowledge")])]),_v(" "),_c('li',[_c('a',{staticClass:"dropdown-item",attrs:{"href":"https://nus-cs3281.github.io/2025-dashboard/?search=&sort=groupTitle&sortWithin=title&timeframe=commit&mergegroup=&groupSelect=groupByAuthors&breakdown=false"}},[_v("Code Dashboard")])]),_v(" "),_c('li',[_c('a',{staticClass:"dropdown-item",attrs:{"href":"/2025/activities-dashboard.html"}},[_v("Activities Dashboard")])])]),_v(" "),_c('dropdown',{staticClass:"nav-link",scopedSlots:_u([{key:"header",fn:function(){return [_v("CS3282")]},proxy:true}])},[_v(" "),_c('li',[_c('a',{staticClass:"dropdown-item",attrs:{"href":"/2025/cs3282-index.html"}},[_v("Students")])]),_v(" "),_c('li',[_c('a',{staticClass:"dropdown-item",attrs:{"href":"/2025/students/talksSchedule.html"}},[_v("Lightning Talks")])]),_v(" "),_c('li',[_c('a',{staticClass:"dropdown-item",attrs:{"href":"/2025/activities-dashboard.html"}},[_v("Activities Dashboard")])])]),_v(" "),_c('li',[_c('a',{staticClass:"nav-link",attrs:{"href":"/2025/instructions.html"}},[_v("Instructions")])]),_v(" "),_c('li',[_c('a',{staticClass:"nav-link",attrs:{"href":"https://nus-cs3281.github.io/website/"}},[_v("CS3281&2 Website "),_c('span',[_c('span',{staticClass:"glyphicon glyphicon-share-alt",attrs:{"aria-hidden":"true"}})])])])],1)],1),_v(" "),_c('div',{attrs:{"id":"flex-body"}},[_c('div',{staticClass:"fixed-header-padding",attrs:{"id":"content-wrapper"}},[_m(0),_v(" "),_m(1),_v(" "),_m(2),_v(" "),_m(3),_v(" "),_m(4),_v(" "),_m(5),_v(" "),_m(6),_v(" "),_m(7),_v(" "),_m(8),_v(" "),_m(9),_v(" "),_c('div',[_c('box',[_c('h2',{attrs:{"id":"isaac-ng-jun-jie"}},[_v("ISAAC NG JUN JIE"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#isaac-ng-jun-jie","onclick":"event.stopPropagation()"}})]),_v(" "),_c('div',{staticClass:"container"},[_c('div',{staticClass:"row"},[_c('div',{staticClass:"col"},[_c('img',{attrs:{"src":"/2025/students/Izn432/photo.png","width":"100"}}),_c('br')]),_v(" "),_c('div',{staticClass:"col"},[_c('p',[_c('strong',[_v("GitHub:")]),_v(" "),_c('span',[_c('a',{attrs:{"href":"https://www.github.com/IzN432"}},[_v("https://www.github.com/IzN432")])]),_c('br')]),_v(" "),_c('p',[_c('strong',[_v("Projects:")]),_v(" "),_c('span',[_c('a',{attrs:{"href":"https://github.com/CATcher-org/CATcher"}},[_v("CATcher")]),_v(", "),_c('a',{attrs:{"href":"https://github.com/CATcher-org/WATcher"}},[_v("WATcher")])])])])])]),_v(" "),_c('p'),_v(" "),_c('panel',{attrs:{"minimized":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("Progress")])])]},proxy:true}])},[_v(" "),_c('div')]),_v(" "),_c('panel',{attrs:{"minimized":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("Knowledge gained")])])]},proxy:true}])},[_v(" "),_c('div',[_c('h3',{attrs:{"id":"tool-technology-1"}},[_v("Tool/Technology 1"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#tool-technology-1","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("List the aspects you learned, and the resources you used to learn them, and a brief summary of each resource.")]),_v(" "),_c('h3',{attrs:{"id":"tool-technology-2"}},[_v("Tool/Technology 2"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#tool-technology-2","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("...")])])])],1)],1),_v(" "),_c('div',[_c('box',[_c('h2',{attrs:{"id":"koo-yu-cong"}},[_v("KOO YU CONG"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#koo-yu-cong","onclick":"event.stopPropagation()"}})]),_v(" "),_c('div',{staticClass:"container"},[_c('div',{staticClass:"row"},[_c('div',{staticClass:"col"},[_c('img',{attrs:{"src":"/2025/students/yucongkoo/photo.png","width":"100"}}),_c('br')]),_v(" "),_c('div',{staticClass:"col"},[_c('p',[_c('strong',[_v("GitHub:")]),_v(" "),_c('span',[_c('a',{attrs:{"href":"https://www.github.com/yucongkoo"}},[_v("https://www.github.com/yucongkoo")])]),_c('br')]),_v(" "),_c('p',[_c('strong',[_v("Projects:")]),_v(" "),_c('span',[_c('a',{attrs:{"href":"https://github.com/CATcher-org/CATcher"}},[_v("CATcher")]),_v(", "),_c('a',{attrs:{"href":"https://github.com/CATcher-org/WATcher"}},[_v("WATcher")])])])])])]),_v(" "),_c('p'),_v(" "),_c('panel',{attrs:{"minimized":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("Progress")])])]},proxy:true}])},[_v(" "),_c('div')]),_v(" "),_c('panel',{attrs:{"minimized":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("Knowledge gained")])])]},proxy:true}])},[_v(" "),_c('div',[_c('h3',{attrs:{"id":"tool-technology-1-2"}},[_v("Tool/Technology 1"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#tool-technology-1-2","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("List the aspects you learned, and the resources you used to learn them, and a brief summary of each resource.")]),_v(" "),_c('h3',{attrs:{"id":"tool-technology-2-2"}},[_v("Tool/Technology 2"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#tool-technology-2-2","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("...")])])])],1)],1),_v(" "),_c('div',[_c('box',[_c('h2',{attrs:{"id":"loh-ze-qing-norbert"}},[_v("LOH ZE QING, NORBERT"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#loh-ze-qing-norbert","onclick":"event.stopPropagation()"}})]),_v(" "),_c('div',{staticClass:"container"},[_c('div',{staticClass:"row"},[_c('div',{staticClass:"col"},[_c('img',{attrs:{"src":"/2025/students/NorbertLoh/photo.png","width":"100"}}),_c('br')]),_v(" "),_c('div',{staticClass:"col"},[_c('p',[_c('strong',[_v("GitHub:")]),_v(" "),_c('span',[_c('a',{attrs:{"href":"https://github.com/NorbertLoh"}},[_v("https://github.com/NorbertLoh")])]),_c('br')]),_v(" "),_c('p',[_c('strong',[_v("Projects:")]),_v(" "),_c('span',[_c('a',{attrs:{"href":"https://github.com/CATcher-org/CATcher"}},[_v("CATcher")]),_v(", "),_c('a',{attrs:{"href":"https://github.com/CATcher-org/WATcher"}},[_v("WATcher")])])])])])]),_v(" "),_c('p'),_v(" "),_c('panel',{attrs:{"minimized":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("Progress")])])]},proxy:true}])},[_v(" "),_c('div')]),_v(" "),_c('panel',{attrs:{"minimized":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("Knowledge gained")])])]},proxy:true}])},[_v(" "),_c('div',[_c('h3',{attrs:{"id":"tool-technology-1-3"}},[_v("Tool/Technology 1"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#tool-technology-1-3","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("List the aspects you learned, and the resources you used to learn them, and a brief summary of each resource.")]),_v(" "),_c('h3',{attrs:{"id":"tool-technology-2-3"}},[_v("Tool/Technology 2"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#tool-technology-2-3","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("...")])])])],1)],1),_v(" "),_c('div',[_c('box',[_c('h2',{attrs:{"id":"soh-zheng-yang-marcus"}},[_v("SOH ZHENG YANG, MARCUS"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#soh-zheng-yang-marcus","onclick":"event.stopPropagation()"}})]),_v(" "),_c('div',{staticClass:"container"},[_c('div',{staticClass:"row"},[_c('div',{staticClass:"col"},[_c('img',{attrs:{"src":"/2025/students/HollaG/photo.png","width":"100"}}),_c('br')]),_v(" "),_c('div',{staticClass:"col"},[_c('p',[_c('strong',[_v("GitHub:")]),_v(" "),_c('span',[_c('a',{attrs:{"href":"https://www.github.com/hollag"}},[_v("https://www.github.com/hollag")])]),_c('br')]),_v(" "),_c('p',[_c('strong',[_v("Projects:")]),_v(" "),_c('span',[_c('a',{attrs:{"href":"https://github.com/CATcher-org/CATcher"}},[_v("CATcher")]),_v(", "),_c('a',{attrs:{"href":"https://github.com/CATcher-org/WATcher"}},[_v("WATcher")])])])])])]),_v(" "),_c('p'),_v(" "),_c('panel',{attrs:{"minimized":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("Progress")])])]},proxy:true}])},[_v(" "),_c('div',[_c('div',{staticClass:"table-responsive"},[_c('table',{staticClass:"markbind-table table table-bordered table-striped"},[_c('thead',[_c('tr',[_c('th',[_v("Week")]),_v(" "),_c('th',[_v("Achievements")])])])])])])]),_v(" "),_c('panel',{attrs:{"minimized":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("Knowledge gained")])])]},proxy:true}])},[_v(" "),_c('div',[_c('h3',{attrs:{"id":"tool-technology-1-4"}},[_v("Tool/Technology 1"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#tool-technology-1-4","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("List the aspects you learned, and the resources you used to learn them, and a brief summary of each resource.")]),_v(" "),_c('h3',{attrs:{"id":"tool-technology-2-4"}},[_v("Tool/Technology 2"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#tool-technology-2-4","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("...")])])])],1)],1),_v(" "),_c('div',[_c('box',[_c('h2',{attrs:{"id":"tng-wen-xi"}},[_v("TNG WEN XI"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#tng-wen-xi","onclick":"event.stopPropagation()"}})]),_v(" "),_c('div',{staticClass:"container"},[_c('div',{staticClass:"row"},[_c('div',{staticClass:"col"},[_c('img',{attrs:{"src":"/2025/students/wx-03/photo.png","width":"100"}}),_c('br')]),_v(" "),_c('div',{staticClass:"col"},[_c('p',[_c('strong',[_v("GitHub:")]),_v(" "),_c('span',[_c('a',{attrs:{"href":"https://www.github.com/wx-03"}},[_v("https://www.github.com/wx-03")])]),_c('br')]),_v(" "),_c('p',[_c('strong',[_v("Projects:")]),_v(" "),_c('span',[_c('a',{attrs:{"href":"https://github.com/CATcher-org/CATcher"}},[_v("CATcher")]),_v(", "),_c('a',{attrs:{"href":"https://github.com/CATcher-org/WATcher"}},[_v("WATcher")])])])])])]),_v(" "),_c('p'),_v(" "),_c('panel',{attrs:{"minimized":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("Progress")])])]},proxy:true}])},[_v(" "),_c('div',[_c('div',{staticClass:"table-responsive"},[_c('table',{staticClass:"markbind-table table table-bordered table-striped"},[_c('thead',[_c('tr',[_c('th',[_v("Week")]),_v(" "),_c('th',[_v("Achievements")])])])])])])]),_v(" "),_c('panel',{attrs:{"minimized":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("Knowledge gained")])])]},proxy:true}])},[_v(" "),_c('div',[_c('h3',{attrs:{"id":"tool-technology-1-5"}},[_v("Tool/Technology 1"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#tool-technology-1-5","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("List the aspects you learned, and the resources you used to learn them, and a brief summary of each resource.")]),_v(" "),_c('h3',{attrs:{"id":"tool-technology-2-5"}},[_v("Tool/Technology 2"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#tool-technology-2-5","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("...")])])])],1)],1),_v(" "),_m(10),_v(" "),_c('div',[_c('box',[_c('h2',{attrs:{"id":"adrian-leonardo-liang"}},[_v("ADRIAN LEONARDO LIANG"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#adrian-leonardo-liang","onclick":"event.stopPropagation()"}})]),_v(" "),_c('div',{staticClass:"container"},[_c('div',{staticClass:"row"},[_c('div',{staticClass:"col"},[_c('img',{attrs:{"src":"/2025/students/AgentHagu/photo.png","width":"100"}}),_c('br')]),_v(" "),_c('div',{staticClass:"col"},[_c('p',[_c('strong',[_v("GitHub:")]),_v(" "),_c('span',[_c('a',{attrs:{"href":"https://github.com/AgentHagu"}},[_v("https://github.com/AgentHagu")])]),_c('br')]),_v(" "),_c('p',[_c('strong',[_v("Projects:")]),_v(" "),_c('span',[_c('a',{attrs:{"href":"https://github.com/MarkBind/markbind"}},[_v("MarkBind")]),_v(", "),_c('a',{attrs:{"href":""}},[_v("Project2")])])])])])]),_v(" "),_c('p'),_v(" "),_c('panel',{attrs:{"minimized":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("Progress")])])]},proxy:true}])},[_v(" "),_c('div')]),_v(" "),_c('panel',{attrs:{"minimized":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("Knowledge gained")])])]},proxy:true}])},[_v(" "),_c('div',[_c('h3',{attrs:{"id":"tool-technology-1-6"}},[_v("Tool/Technology 1"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#tool-technology-1-6","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("List the aspects you learned, and the resources you used to learn them, and a brief summary of each resource.")]),_v(" "),_c('h3',{attrs:{"id":"tool-technology-2-6"}},[_v("Tool/Technology 2"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#tool-technology-2-6","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("...")])])])],1)],1),_v(" "),_c('div',[_c('box',[_c('h2',{attrs:{"id":"chan-ger-teck"}},[_v("CHAN GER TECK"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#chan-ger-teck","onclick":"event.stopPropagation()"}})]),_v(" "),_c('div',{staticClass:"container"},[_c('div',{staticClass:"row"},[_c('div',{staticClass:"col"},[_c('img',{attrs:{"src":"/2025/students/gerteck/photo.png","width":"100"}}),_c('br')]),_v(" "),_c('div',{staticClass:"col"},[_c('p',[_c('strong',[_v("GitHub:")]),_v(" "),_c('span',[_c('a',{attrs:{"href":"https://www.github.com/gerteck"}},[_v("https://www.github.com/gerteck")])]),_c('br')]),_v(" "),_c('p',[_c('strong',[_v("Projects:")]),_v(" "),_c('span',[_c('a',{attrs:{"href":"https://github.com/MarkBind/markbind"}},[_v("MarkBind")]),_v(", "),_c('a',{attrs:{"href":""}},[_v("Project2")])])])])])]),_v(" "),_c('p'),_v(" "),_c('panel',{attrs:{"minimized":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("Progress")])])]},proxy:true}])},[_v(" "),_c('div',[_c('h3',{attrs:{"id":"summary"}},[_v("Summary"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#summary","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("Over the semester, I will be working on MarkBind.")]),_v(" "),_c('p',[_v("The work will build on previous work done, recorded "),_c('a',{attrs:{"href":"https://docs.google.com/document/d/1PjA6jfa7G_ZNjc8zSWi1hVSMmhbrGUY95k0ytyDCo-Y/edit?usp=sharing"}},[_v("here")])]),_v(" "),_c('div',{staticClass:"table-responsive"},[_c('table',{staticClass:"markbind-table table table-bordered table-striped"},[_c('thead',[_c('tr',[_c('th',[_v("Week")]),_v(" "),_c('th',[_v("Achievements")])])]),_v(" "),_c('tbody',[_c('tr',[_c('td',[_v("1")]),_v(" "),_c('td',[_v("Authored PR: "),_c('a',{attrs:{"href":"https://github.com/MarkBind/markbind/pull/2568"}},[_v("Add Pagefind Plugin #2568")])])])])])])])]),_v(" "),_c('panel',{attrs:{"minimized":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("Knowledge gained")])])]},proxy:true}])},[_v(" "),_c('div',[_c('h3',{attrs:{"id":"tool-technology"}},[_v("Tool/Technology"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#tool-technology","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("List the aspects you learned, and the resources you used to learn them, and a brief summary of each resource.")]),_v(" "),_c('h1',{attrs:{"id":"markbind-s-search-utility"}},[_v("Markbind's Search Utility"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#markbind-s-search-utility","onclick":"event.stopPropagation()"}})]),_v(" "),_c('h2',{attrs:{"id":"how-native-markbind-search-works"}},[_v("How Native MarkBind Search works"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#how-native-markbind-search-works","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_c('strong',[_v("Collection of Title and headings in generation:")])]),_v(" "),_c('ul',[_c('li',[_v("We trace the website generation in "),_c('code',{pre:true,attrs:{"class":"hljs inline no-lang"}},[_v("Site/index.ts")]),_v(".")]),_v(" "),_c('li',[_v("When building source files, during the page generation process, "),_c('code',{pre:true,attrs:{"class":"hljs inline no-lang"}},[_v("Page.collectHeadingsAndKeywords")]),_v(" records headings and keywords inside rendered page into this.headings and this.keywords respectively.")]),_v(" "),_c('li',[_v("When writing site data, the title, headings, keywords are collected into pages object.")])]),_v(" "),_c('p',[_c('strong',[_v("Page Generation and Vue Initialization")])]),_v(" "),_c('ul',[_c('li',[_v("In "),_c('code',{pre:true,attrs:{"class":"hljs inline no-lang"}},[_v("core-web/src/index.js")]),_v(", the "),_c('code',{pre:true,attrs:{"class":"hljs inline no-lang"}},[_v("setupWithSearch()")]),_v(" updates the SearchData by collecting the pages from the site data.\n"),_c('ul',[_c('li',[_c('code',{pre:true,attrs:{"class":"hljs inline no-lang"}},[_v("setupWithSearch()")]),_v(" is added as a script in the file template "),_c('code',{pre:true,attrs:{"class":"hljs inline no-lang"}},[_v("page.njk")]),_v(" used to render the HTML structure of Markbind pages.")]),_v(" "),_c('li',[_v("This file template is used during the page generation process.")])])]),_v(" "),_c('li',[_v("Note also that "),_c('code',{pre:true,attrs:{"class":"hljs inline no-lang"}},[_v("VueCommonAppFactory.js")]),_v(" provides a factory function (appFactory) to set up the common data and methods for Vue application shared between server-side and client-side, and provides the common data properties and methods.\n"),_c('ul',[_c('li',[_v("In particular, "),_c('code',{pre:true,attrs:{"class":"hljs inline no-lang"}},[_v("searchData[]")]),_v(" and "),_c('code',{pre:true,attrs:{"class":"hljs inline no-lang"}},[_v("searchCallback()")]),_v(", which are relevant in the following portion.")]),_v(" "),_c('li',[_v("When using "),_c('code',{pre:true,attrs:{"class":"hljs inline no-lang"}},[_v("")]),_v(", this is where to use MarkBind's search functionality, we set the appropriate values: "),_c('code',{pre:true,attrs:{"class":"hljs inline no-lang"}},[_v(" ")])])])])]),_v(" "),_c('p',[_c('strong',[_v("Vue Components: Searchbar/SearchbarPageItem.vue")]),_v(" "),_c('strong',[_v("Searchbar.vue")])]),_v(" "),_c('ul',[_c('li',[_v("The searchbar uses the "),_c('code',{pre:true,attrs:{"class":"hljs inline no-lang"}},[_v("searchData[]")]),_v(" in "),_c('code',{pre:true,attrs:{"class":"hljs inline no-lang"}},[_v("data")]),_v(", filters and ranks the data based on keyword matches and populates the dropdown with "),_c('code',{pre:true,attrs:{"class":"hljs inline no-lang"}},[_v("searchbarPageItems")]),_v(".")]),_v(" "),_c('li',[_v("It calls the "),_c('code',{pre:true,attrs:{"class":"hljs inline no-lang"}},[_v("on-hit")]),_v(" function when a search result is selected, passing the selected item.\n"),_c('strong',[_v("SearchbarPageItem.vue")])]),_v(" "),_c('li',[_v("Decides how to present the item based on whether it is a heading or a page title.")])]),_v(" "),_c('h2',{attrs:{"id":"how-proposed-markbind-pagefind-plugin-works"}},[_v("How Proposed Markbind PageFind Plugin Works"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#how-proposed-markbind-pagefind-plugin-works","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("About "),_c('a',{attrs:{"href":"https://pagefind.app/"}},[_v("PageFind")]),_v(": A fully static search library that aims to perform well on large sites, while using as little of users bandwidth\nas possible, and without hosting any infrastructure.")]),_v(" "),_c('p',[_c('strong',[_v("Documentation:")])]),_v(" "),_c('ul',[_c('li',[_c('a',{attrs:{"href":"https://pagefind.app/docs/node-api/"}},[_v("PageFind NodeJS Indexing API")])]),_v(" "),_c('li',[_c('a',{attrs:{"href":"https://github.com/CloudCannon/pagefind/blob/production-docs/pagefind_web_js/types/index.d.ts"}},[_v("The types returned by Pagefind’s JavaScript search API")])])]),_v(" "),_c('h3',{attrs:{"id":"integration-of-pagefind-into-markbind"}},[_c('strong',[_v("Integration of Pagefind into MarkBind")]),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#integration-of-pagefind-into-markbind","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("It runs after the website framework, and only requires the folder containing the built static files of the website. A short explanation of how it works would be:")]),_v(" "),_c('ul',[_c('li',[_v("PageFind indexes the static files\n"),_c('ul',[_c('li',[_v("If pagefind is included as a plugin, we indexSites with PageFind, which writes the index files _site/pagefind")])])]),_v(" "),_c('li',[_v("Plugin exposes a pagefind JS API for searching\n"),_c('ul',[_c('li',[_v("Alternatively, use pagefind default UI for searching. This is done by processes containers with \"id=\"pagefind-search-input\"\", and initialing a default PageFindUI instance on it, not unlike how algolia search works.")])])]),_v(" "),_c('li',[_v("This JS API is used by a custom Vue component searchbar.")])])])])],1)],1),_v(" "),_c('div',[_c('box',[_c('h2',{attrs:{"id":"cheah-gee-nung-ian"}},[_v("CHEAH GEE NUNG, IAN"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#cheah-gee-nung-ian","onclick":"event.stopPropagation()"}})]),_v(" "),_c('div',{staticClass:"container"},[_c('div',{staticClass:"row"},[_c('div',{staticClass:"col"},[_c('img',{attrs:{"src":"/2025/students/IanCheah/photo.png","width":"100"}}),_c('br')]),_v(" "),_c('div',{staticClass:"col"},[_c('p',[_c('strong',[_v("GitHub:")]),_v(" "),_c('span',[_c('a',{attrs:{"href":"https://www.github.com/IanCheah"}},[_v("https://www.github.com/IanCheah")])]),_c('br')]),_v(" "),_c('p',[_c('strong',[_v("Projects:")]),_v(" "),_c('span',[_c('a',{attrs:{"href":"https://github.com/MarkBind/markbind"}},[_v("MarkBind")]),_v(", "),_c('a',{attrs:{"href":""}},[_v("Project2")])])])])])]),_v(" "),_c('p'),_v(" "),_c('panel',{attrs:{"minimized":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("Progress")])])]},proxy:true}])},[_v(" "),_c('div')]),_v(" "),_c('panel',{attrs:{"minimized":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("Knowledge gained")])])]},proxy:true}])},[_v(" "),_c('div',[_c('h3',{attrs:{"id":"tool-technology-1-7"}},[_v("Tool/Technology 1"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#tool-technology-1-7","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("List the aspects you learned, and the resources you used to learn them, and a brief summary of each resource.")]),_v(" "),_c('h3',{attrs:{"id":"tool-technology-2-7"}},[_v("Tool/Technology 2"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#tool-technology-2-7","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("...")])])])],1)],1),_v(" "),_c('div',[_c('box',[_c('h2',{attrs:{"id":"javier-tan-meng-wee"}},[_v("JAVIER TAN MENG WEE"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#javier-tan-meng-wee","onclick":"event.stopPropagation()"}})]),_v(" "),_c('div',{staticClass:"container"},[_c('div',{staticClass:"row"},[_c('div',{staticClass:"col"},[_c('img',{attrs:{"src":"/2025/students/Incogdino/photo.png","width":"100"}}),_c('br')]),_v(" "),_c('div',{staticClass:"col"},[_c('p',[_c('strong',[_v("GitHub:")]),_v(" "),_c('span',[_c('a',{attrs:{"href":"https://github.com/Incogdino"}},[_v("https://github.com/Incogdino")])]),_c('br')]),_v(" "),_c('p',[_c('strong',[_v("Projects:")]),_v(" "),_c('span',[_c('a',{attrs:{"href":"https://github.com/MarkBind/markbind"}},[_v("Markbind")]),_v(", "),_c('a',{attrs:{"href":""}},[_v("Project2")])])])])])]),_v(" "),_c('p'),_v(" "),_c('panel',{attrs:{"minimized":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("Progress")])])]},proxy:true}])},[_v(" "),_c('div')]),_v(" "),_c('panel',{attrs:{"minimized":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("Knowledge gained")])])]},proxy:true}])},[_v(" "),_c('div',[_c('h3',{attrs:{"id":"tool-technology-1-8"}},[_v("Tool/Technology 1"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#tool-technology-1-8","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("List the aspects you learned, and the resources you used to learn them, and a brief summary of each resource.")]),_v(" "),_c('h3',{attrs:{"id":"tool-technology-2-8"}},[_v("Tool/Technology 2"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#tool-technology-2-8","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("...")])])])],1)],1),_v(" "),_c('div',[_c('box',[_c('h2',{attrs:{"id":"yu-chenbo"}},[_v("YU CHENBO"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#yu-chenbo","onclick":"event.stopPropagation()"}})]),_v(" "),_c('div',{staticClass:"container"},[_c('div',{staticClass:"row"},[_c('div',{staticClass:"col"},[_c('img',{attrs:{"src":"/2025/students/yyccbb/photo.png","width":"100"}}),_c('br')]),_v(" "),_c('div',{staticClass:"col"},[_c('p',[_c('strong',[_v("GitHub:")]),_v(" "),_c('span',[_c('a',{attrs:{"href":"https://www.github.com/johnDoe"}},[_v("https://www.github.com/johnDoe")])]),_c('br')]),_v(" "),_c('p',[_c('strong',[_v("Projects:")]),_v(" "),_c('span',[_c('a',{attrs:{"href":""}},[_v("Project1")]),_v(", "),_c('a',{attrs:{"href":""}},[_v("Project2")])])])])])]),_v(" "),_c('p'),_v(" "),_c('panel',{attrs:{"minimized":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("Progress")])])]},proxy:true}])},[_v(" "),_c('div')]),_v(" "),_c('panel',{attrs:{"minimized":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("Knowledge gained")])])]},proxy:true}])},[_v(" "),_c('div',[_c('h3',{attrs:{"id":"tool-technology-1-9"}},[_v("Tool/Technology 1"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#tool-technology-1-9","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("List the aspects you learned, and the resources you used to learn them, and a brief summary of each resource.")]),_v(" "),_c('h3',{attrs:{"id":"tool-technology-2-9"}},[_v("Tool/Technology 2"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#tool-technology-2-9","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("...")])])])],1)],1),_v(" "),_m(11),_v(" "),_c('div',[_c('box',[_c('h2',{attrs:{"id":"alexander-liswandy"}},[_v("ALEXANDER LISWANDY"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#alexander-liswandy","onclick":"event.stopPropagation()"}})]),_v(" "),_c('div',{staticClass:"container"},[_c('div',{staticClass:"row"},[_c('div',{staticClass:"col"},[_c('img',{attrs:{"src":"/2025/students/Airiinnn/photo.png","width":"100"}}),_c('br')]),_v(" "),_c('div',{staticClass:"col"},[_c('p',[_c('strong',[_v("GitHub:")]),_v(" "),_c('span',[_c('a',{attrs:{"href":"https://www.github.com/Airiinnn"}},[_v("https://www.github.com/Airiinnn")])]),_c('br')]),_v(" "),_c('p',[_c('strong',[_v("Projects:")]),_v(" "),_c('span',[_c('a',{attrs:{"href":"https://github.com/reposense"}},[_v("RepoSense")])])])])])]),_v(" "),_c('p'),_v(" "),_c('panel',{attrs:{"minimized":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("Progress")])])]},proxy:true}])},[_v(" "),_c('div')]),_v(" "),_c('panel',{attrs:{"minimized":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("Knowledge gained")])])]},proxy:true}])},[_v(" "),_c('div',[_c('h3',{attrs:{"id":"tool-technology-1-10"}},[_v("Tool/Technology 1"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#tool-technology-1-10","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("List the aspects you learned, and the resources you used to learn them, and a brief summary of each resource.")]),_v(" "),_c('h3',{attrs:{"id":"tool-technology-2-10"}},[_v("Tool/Technology 2"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#tool-technology-2-10","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("...")])])])],1)],1),_v(" "),_c('div',[_c('box',[_c('h2',{attrs:{"id":"chen-yixun"}},[_v("CHEN YIXUN"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#chen-yixun","onclick":"event.stopPropagation()"}})]),_v(" "),_c('div',{staticClass:"container"},[_c('div',{staticClass:"row"},[_c('div',{staticClass:"col"},[_c('img',{attrs:{"src":"/2025/students/CYX22222003/photo.png","width":"100"}}),_c('br')]),_v(" "),_c('div',{staticClass:"col"},[_c('p',[_c('strong',[_v("GitHub:")]),_v(" "),_c('span',[_c('a',{attrs:{"href":"https://www.github.com/CYX22222003"}},[_v("https://www.github.com/CYX22222003")])]),_c('br')]),_v(" "),_c('p',[_c('strong',[_v("Projects:")]),_v(" "),_c('span',[_c('a',{attrs:{"href":"https://github.com/RepoSense"}},[_v("RepoSense")]),_v(", "),_c('a',{attrs:{"href":""}},[_v("Project2")])])])])])]),_v(" "),_c('p'),_v(" "),_c('panel',{attrs:{"minimized":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("Progress")])])]},proxy:true}])},[_v(" "),_c('div')]),_v(" "),_c('panel',{attrs:{"minimized":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("Knowledge gained")])])]},proxy:true}])},[_v(" "),_c('div',[_c('h3',{attrs:{"id":"tool-technology-1-11"}},[_v("Tool/Technology 1"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#tool-technology-1-11","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("List the aspects you learned, and the resources you used to learn them, and a brief summary of each resource.")]),_v(" "),_c('h3',{attrs:{"id":"tool-technology-2-11"}},[_v("Tool/Technology 2"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#tool-technology-2-11","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("...")])])])],1)],1),_v(" "),_c('div',[_c('box',[_c('h2',{attrs:{"id":"hing-yen-xing"}},[_v("HING YEN XING"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#hing-yen-xing","onclick":"event.stopPropagation()"}})]),_v(" "),_c('div',{staticClass:"container"},[_c('div',{staticClass:"row"},[_c('div',{staticClass:"col"},[_c('img',{attrs:{"src":"/2025/students/JoanneHing/photo.png","width":"100"}}),_c('br')]),_v(" "),_c('div',{staticClass:"col"},[_c('p',[_c('strong',[_v("GitHub:")]),_v(" "),_c('span',[_c('a',{attrs:{"href":"https://github.com/JoanneHing"}},[_v("https://github.com/JoanneHing")])]),_c('br')]),_v(" "),_c('p',[_c('strong',[_v("Projects:")]),_v(" "),_c('span',[_c('a',{attrs:{"href":"https://github.com/reposense"}},[_v("Reposense")])])])])])]),_v(" "),_c('p'),_v(" "),_c('panel',{attrs:{"minimized":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("Progress")])])]},proxy:true}])},[_v(" "),_c('div',[_c('div',{staticClass:"table-responsive"},[_c('table',{staticClass:"markbind-table table table-bordered table-striped"},[_c('thead',[_c('tr',[_c('th',[_v("Week")]),_v(" "),_c('th',[_v("Achievements")])])]),_v(" "),_c('tbody',[_c('tr',[_c('td',[_v("1")]),_v(" "),_c('td',[_v("Solved issue: "),_c('a',{attrs:{"href":"https://github.com/reposense/RepoSense/issues/2259"}},[_v("Upgrade GitHub Actions macOS runners to 13 and 14 (and possibly 15) #2259")])])]),_v(" "),_c('tr',[_c('td',[_v("1")]),_v(" "),_c('td',[_v("Solved issue: "),_c('a',{attrs:{"href":"https://github.com/reposense/RepoSense/issues/2252"}},[_v("Add ubuntu-24.04 to CI runners and bump publish-RepoSense runner #2252")])])])])])])])]),_v(" "),_c('panel',{attrs:{"minimized":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("Knowledge gained")])])]},proxy:true}])},[_v(" "),_c('div',[_c('h2',{attrs:{"id":"github-actions"}},[_v("gitHub Actions"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#github-actions","onclick":"event.stopPropagation()"}})]),_v(" "),_c('ol',[_c('li',[_v("I learned how to update gitHub action runners to different version for macOS, ubuntu and window. Resource referred from "),_c('a',{attrs:{"href":"https://stackoverflow.com/questions/77781713/using-github-strategy-matrix-to-select-a-runner"}},[_v("stackoverflow")]),_v(". I found that how the gitHub runner is updated using the gitHub strategy matrix.")])]),_v(" "),_c('h3',{attrs:{"id":"tool-technology-2-12"}},[_v("Tool/Technology 2"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#tool-technology-2-12","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("...")])])])],1)],1),_v(" "),_c('div',[_c('box',[_c('h2',{attrs:{"id":"ng-yin-joe"}},[_v("NG YIN JOE"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#ng-yin-joe","onclick":"event.stopPropagation()"}})]),_v(" "),_c('div',{staticClass:"container"},[_c('div',{staticClass:"row"},[_c('div',{staticClass:"col"},[_c('img',{attrs:{"src":"/2025/students/joeng03/photo.png","width":"100"}}),_c('br')]),_v(" "),_c('div',{staticClass:"col"},[_c('p',[_c('strong',[_v("GitHub:")]),_v(" "),_c('span',[_c('a',{attrs:{"href":"https://www.github.com/joeng03"}},[_v("https://www.github.com/joeng03")])]),_c('br')]),_v(" "),_c('p',[_c('strong',[_v("Projects:")]),_v(" "),_c('span',[_c('a',{attrs:{"href":"https://github.com/reposense"}},[_v("Reposense")])])])])])]),_v(" "),_c('p'),_v(" "),_c('panel',{attrs:{"minimized":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("Progress")])])]},proxy:true}])},[_v(" "),_c('div')]),_v(" "),_c('panel',{attrs:{"minimized":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("Knowledge gained")])])]},proxy:true}])},[_v(" "),_c('div',[_c('h3',{attrs:{"id":"tool-technology-1-12"}},[_v("Tool/Technology 1"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#tool-technology-1-12","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("List the aspects you learned, and the resources you used to learn them, and a brief summary of each resource.")]),_v(" "),_c('h3',{attrs:{"id":"tool-technology-2-13"}},[_v("Tool/Technology 2"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#tool-technology-2-13","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("...")])])])],1)],1),_v(" "),_c('div',[_c('box',[_c('h2',{attrs:{"id":"wong-li-yuan"}},[_v("WONG LI YUAN"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#wong-li-yuan","onclick":"event.stopPropagation()"}})]),_v(" "),_c('div',{staticClass:"container"},[_c('div',{staticClass:"row"},[_c('div',{staticClass:"col"},[_c('img',{attrs:{"src":"/2025/students/lyuanww/photo.png","width":"100"}}),_c('br')]),_v(" "),_c('div',{staticClass:"col"},[_c('p',[_c('strong',[_v("GitHub:")]),_v(" "),_c('span',[_c('a',{attrs:{"href":"https://github.com/lyuanww"}},[_v("https://github.com/lyuanww")])]),_c('br')]),_v(" "),_c('p',[_c('strong',[_v("Projects:")]),_v(" "),_c('span',[_c('a',{attrs:{"href":"https://github.com/reposense/RepoSense"}},[_v("RepoSense")]),_v(", "),_c('a',{attrs:{"href":""}},[_v("Project2")])])])])])]),_v(" "),_c('p'),_v(" "),_c('panel',{attrs:{"minimized":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("Progress")])])]},proxy:true}])},[_v(" "),_c('div')]),_v(" "),_c('panel',{attrs:{"minimized":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("Knowledge gained")])])]},proxy:true}])},[_v(" "),_c('div',[_c('h3',{attrs:{"id":"tool-technology-1-13"}},[_v("Tool/Technology 1"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#tool-technology-1-13","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("List the aspects you learned, and the resources you used to learn them, and a brief summary of each resource.")]),_v(" "),_c('h3',{attrs:{"id":"tool-technology-2-14"}},[_v("Tool/Technology 2"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#tool-technology-2-14","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("...")])])])],1)],1),_v(" "),_m(12),_v(" "),_c('div',[_c('box',[_c('h2',{attrs:{"id":"dhiraputta-pathama-tengara"}},[_v("DHIRAPUTTA PATHAMA TENGARA"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#dhiraputta-pathama-tengara","onclick":"event.stopPropagation()"}})]),_v(" "),_c('div',{staticClass:"container"},[_c('div',{staticClass:"row"},[_c('div',{staticClass:"col"},[_c('img',{attrs:{"src":"/2025/students/DhiraPT/photo.png","width":"100"}}),_c('br')]),_v(" "),_c('div',{staticClass:"col"},[_c('p',[_c('strong',[_v("GitHub:")]),_v(" "),_c('span',[_c('a',{attrs:{"href":"https://www.github.com/DhiraPT"}},[_v("https://www.github.com/DhiraPT")])]),_c('br')]),_v(" "),_c('p',[_c('strong',[_v("Projects:")]),_v(" "),_c('span',[_c('a',{attrs:{"href":"https://github.com/TEAMMATES/teammates"}},[_v("TEAMMATES")]),_v(", "),_c('a',{attrs:{"href":""}},[_v("Project2")])])])])])]),_v(" "),_c('p'),_v(" "),_c('panel',{attrs:{"minimized":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("Progress")])])]},proxy:true}])},[_v(" "),_c('div')]),_v(" "),_c('panel',{attrs:{"minimized":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("Knowledge gained")])])]},proxy:true}])},[_v(" "),_c('div',[_c('h3',{attrs:{"id":"tool-technology-1-14"}},[_v("Tool/Technology 1"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#tool-technology-1-14","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("List the aspects you learned, and the resources you used to learn them, and a brief summary of each resource.")]),_v(" "),_c('h3',{attrs:{"id":"tool-technology-2-15"}},[_v("Tool/Technology 2"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#tool-technology-2-15","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("...")])])])],1)],1),_v(" "),_c('div',[_c('box',[_c('h2',{attrs:{"id":"li-mingyang"}},[_v("LI MINGYANG"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#li-mingyang","onclick":"event.stopPropagation()"}})]),_v(" "),_c('div',{staticClass:"container"},[_c('div',{staticClass:"row"},[_c('div',{staticClass:"col"},[_c('img',{attrs:{"src":"/2025/students/mingyang143/photo.png","width":"100"}}),_c('br')]),_v(" "),_c('div',{staticClass:"col"},[_c('p',[_c('strong',[_v("GitHub:")]),_v(" "),_c('span',[_c('a',{attrs:{"href":"https://github.com/mingyang143"}},[_v("https://github.com/mingyang143")])]),_c('br')]),_v(" "),_c('p',[_c('strong',[_v("Projects:")]),_v(" "),_c('span',[_c('a',{attrs:{"href":"https://github.com/TEAMMATES"}},[_v("TEAMMATES")]),_v(", "),_c('a',{attrs:{"href":""}},[_v("Project2")])])])])])]),_v(" "),_c('p'),_v(" "),_c('panel',{attrs:{"minimized":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("Progress")])])]},proxy:true}])},[_v(" "),_c('div')]),_v(" "),_c('panel',{attrs:{"minimized":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("Knowledge gained")])])]},proxy:true}])},[_v(" "),_c('div',[_c('h3',{attrs:{"id":"tool-technology-1-angular-and-dark-mode-implementation-for-the-frontend"}},[_v("Tool/Technology 1: "),_c('strong',[_v("Angular and Dark Mode Implementation for the frontend")]),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#tool-technology-1-angular-and-dark-mode-implementation-for-the-frontend","onclick":"event.stopPropagation()"}})]),_v(" "),_c('h4',{attrs:{"id":"aspects-learned"}},[_v("Aspects Learned"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#aspects-learned","onclick":"event.stopPropagation()"}})]),_v(" "),_c('ol',[_c('li',[_c('p',[_c('strong',[_v("Angular Component Communication:")])]),_v(" "),_c('ul',[_c('li',[_v("Understanding how child components communicate with parent components using "),_c('code',{pre:true,attrs:{"class":"hljs inline no-lang"}},[_v("@Output")]),_v(" and "),_c('code',{pre:true,attrs:{"class":"hljs inline no-lang"}},[_v("EventEmitter")]),_v(".")]),_v(" "),_c('li',[_v("Applying event binding in parent templates to listen for changes emitted by child components.")])])]),_v(" "),_c('li',[_c('p',[_c('strong',[_v("Conditional Class Application:")])]),_v(" "),_c('ul',[_c('li',[_v("Dynamically applying CSS classes to elements using Angular’s "),_c('code',{pre:true,attrs:{"class":"hljs inline no-lang"}},[_v("ngClass")]),_v(" directive.")]),_v(" "),_c('li',[_v("Dynamically applying CSS classes to elements using Angular’s "),_c('code',{pre:true,attrs:{"class":"hljs inline no-lang"}},[_v("[class]")]),_v(" binding syntax.")]),_v(" "),_c('li',[_v("Managing theme switching logic in the parent component.")])])]),_v(" "),_c('li',[_c('p',[_c('strong',[_v("Event Binding:")])]),_v(" "),_c('ul',[_c('li',[_v("Utilizing Angular’s "),_c('code',{pre:true,attrs:{"class":"hljs inline no-lang"}},[_v("(event)")]),_v(" binding syntax to handle user interactions.")]),_v(" "),_c('li',[_v("For example: "),_c('code',{pre:true,attrs:{"class":"hljs inline no-lang"}},[_v("(change)=\"handleChange($event)\"")]),_v(" to trigger functions when events like "),_c('code',{pre:true,attrs:{"class":"hljs inline no-lang"}},[_v("change")]),_v(" occur, passing the event object as an argument.")])])])]),_v(" "),_c('h4',{attrs:{"id":"resources-used-and-summary"}},[_v("Resources Used and Summary"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#resources-used-and-summary","onclick":"event.stopPropagation()"}})]),_v(" "),_c('ol',[_c('li',[_c('p',[_c('strong',[_c('a',{attrs:{"href":"https://angular.io/"}},[_v("Angular Official Documentation")]),_v(":")])]),_v(" "),_c('ul',[_c('li',[_c('a',{attrs:{"href":"https://angular.io/guide/component-interaction"}},[_v("Components and Templates")]),_v(": Learned how to use "),_c('code',{pre:true,attrs:{"class":"hljs inline no-lang"}},[_v("@Output")]),_v(" and "),_c('code',{pre:true,attrs:{"class":"hljs inline no-lang"}},[_v("EventEmitter")]),_v(" to enable child-to-parent communication.")]),_v(" "),_c('li',[_c('a',{attrs:{"href":"https://angular.io/api/common/NgClass"}},[_v("NgClass Directive")]),_v(": Understood how to conditionally apply CSS classes dynamically based on variables.")])])]),_v(" "),_c('li',[_c('p',[_c('strong',[_c('a',{attrs:{"href":"https://www.udemy.com/course/the-complete-guide-to-angular-2/"}},[_v("Udemy Course: \"Angular - The Complete Guide\" by Maximilian Schwarzmüller")]),_v(":")])]),_v(" "),_c('ul',[_c('li',[_v("This course, although I have yet to complete it provided a basic understanding of Angular, including component communication and dynamic class management, which were instrumental in implementing the dark mode feature.")])])])]),_v(" "),_c('h3',{attrs:{"id":"final-thoughts"}},[_v("Final Thoughts"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#final-thoughts","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("By combining these resources, I was able to implement a basic dark mode feature that functions effectively but still requires refinement. One key area for improvement is ensuring the dark mode state persists when navigating between routes. Currently, when the route changes (e.g., from "),_c('code',{pre:true,attrs:{"class":"hljs inline no-lang"}},[_v("localhost:4200/web/")]),_v(" to another route), the boolean variable controlling the dynamic CSS class allocation using "),_c('code',{pre:true,attrs:{"class":"hljs inline no-lang"}},[_v("ngClass")]),_v(" resets to its default light mode, even if dark mode was active prior to the route change.")]),_v(" "),_c('p',[_v("I suspect this behavior occurs because the page component is re-rendered during navigation, causing the component's state (including the boolean variable) to be re-initialized. To address this, I plan to research and implement a solution to persist the dark mode state. A promising approach might involve using a shared Angular service to store and manage the state globally, ensuring it remains consistent across routes. While I am not yet an expert in Angular, I am confident that further exploration and practice will help me refine this feature.")])])])],1)],1),_v(" "),_c('div',[_c('box',[_c('h2',{attrs:{"id":"poh-jun-kang"}},[_v("POH JUN KANG"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#poh-jun-kang","onclick":"event.stopPropagation()"}})]),_v(" "),_c('div',{staticClass:"container"},[_c('div',{staticClass:"row"},[_c('div',{staticClass:"col"},[_c('img',{attrs:{"src":"/2025/students/InfinityTwo/photo.png","width":"100"}}),_c('br')]),_v(" "),_c('div',{staticClass:"col"},[_c('p',[_c('strong',[_v("GitHub:")]),_v(" "),_c('span',[_c('a',{attrs:{"href":"https://www.github.com/InfinityTwo"}},[_v("https://www.github.com/InfinityTwo")])]),_c('br')]),_v(" "),_c('p',[_c('strong',[_v("Projects:")]),_v(" "),_c('span',[_c('a',{attrs:{"href":"https://github.com/TEAMMATES"}},[_v("TEAMMATES")])])])])])]),_v(" "),_c('p'),_v(" "),_c('panel',{attrs:{"minimized":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("Progress")])])]},proxy:true}])},[_v(" "),_c('div')]),_v(" "),_c('panel',{attrs:{"minimized":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("Knowledge gained")])])]},proxy:true}])},[_v(" "),_c('div',[_c('h3',{attrs:{"id":"tool-technology-1-15"}},[_v("Tool/Technology 1"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#tool-technology-1-15","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("List the aspects you learned, and the resources you used to learn them, and a brief summary of each resource.")]),_v(" "),_c('h3',{attrs:{"id":"tool-technology-2-16"}},[_v("Tool/Technology 2"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#tool-technology-2-16","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("...")])])])],1)],1),_v(" "),_c('div',[_c('box',[_c('h2',{attrs:{"id":"teng-wei-loon"}},[_v("TENG WEI LOON"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#teng-wei-loon","onclick":"event.stopPropagation()"}})]),_v(" "),_c('div',{staticClass:"container"},[_c('div',{staticClass:"row"},[_c('div',{staticClass:"col"},[_c('img',{attrs:{"src":"/2025/students/BunnyHoppp/photo.png","width":"100"}}),_c('br')]),_v(" "),_c('div',{staticClass:"col"},[_c('p',[_c('strong',[_v("GitHub:")]),_v(" "),_c('span',[_c('a',{attrs:{"href":"https://www.github.com/BunnyHoppp"}},[_v("https://www.github.com/BunnyHoppp")])]),_c('br')]),_v(" "),_c('p',[_c('strong',[_v("Projects:")]),_v(" "),_c('span',[_c('a',{attrs:{"href":"https://github.com/TEAMMATES/teammates"}},[_v("TEAMMATES")])])])])])]),_v(" "),_c('p'),_v(" "),_c('panel',{attrs:{"minimized":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("Progress")])])]},proxy:true}])},[_v(" "),_c('div')]),_v(" "),_c('panel',{attrs:{"minimized":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("Knowledge gained")])])]},proxy:true}])},[_v(" "),_c('div',[_c('h3',{attrs:{"id":"tool-technology-1-16"}},[_v("Tool/Technology 1"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#tool-technology-1-16","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("List the aspects you learned, and the resources you used to learn them, and a brief summary of each resource.")]),_v(" "),_c('h3',{attrs:{"id":"tool-technology-2-17"}},[_v("Tool/Technology 2"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#tool-technology-2-17","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("...")])])])],1)],1),_v(" "),_c('div',[_c('box',[_c('h2',{attrs:{"id":"wong-xing-hui-bertrand"}},[_v("WONG XING HUI BERTRAND"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#wong-xing-hui-bertrand","onclick":"event.stopPropagation()"}})]),_v(" "),_c('div',{staticClass:"container"},[_c('div',{staticClass:"row"},[_c('div',{staticClass:"col"},[_c('img',{attrs:{"src":"/2025/students/peasantbird/photo.png","width":"100"}}),_c('br')]),_v(" "),_c('div',{staticClass:"col"},[_c('p',[_c('strong',[_v("GitHub:")]),_v(" "),_c('span',[_c('a',{attrs:{"href":"https://www.github.com/peasantbird"}},[_v("https://www.github.com/peasantbird")])]),_c('br')]),_v(" "),_c('p',[_c('strong',[_v("Projects:")]),_v(" "),_c('span',[_c('a',{attrs:{"href":"https://github.com/TEAMMATES/teammates"}},[_v("TEAMMATES")])])])])])]),_v(" "),_c('p'),_v(" "),_c('panel',{attrs:{"minimized":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("Progress")])])]},proxy:true}])},[_v(" "),_c('div')]),_v(" "),_c('panel',{attrs:{"minimized":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("Knowledge gained")])])]},proxy:true}])},[_v(" "),_c('div',[_c('h3',{attrs:{"id":"tool-technology-1-17"}},[_v("Tool/Technology 1"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#tool-technology-1-17","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("List the aspects you learned, and the resources you used to learn them, and a brief summary of each resource.")]),_v(" "),_c('h3',{attrs:{"id":"tool-technology-2-18"}},[_v("Tool/Technology 2"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#tool-technology-2-18","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("...")])])])],1)],1)]),_v(" "),_c('overlay-source',{staticClass:"fixed-header-padding",attrs:{"id":"page-nav","tag-name":"nav","to":"page-nav"}},[_c('div',{staticClass:"nav-component slim-scroll"},[_c('overlay-source',{staticClass:"nav nav-pills flex-column my-0 small no-flex-wrap",attrs:{"id":"mb-page-nav","tag-name":"nav","to":"mb-page-nav"}},[_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#cs3281-2025-batch"}},[_v("CS3281 - 2025 Batch‎")]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#catcher"}},[_v("CATcher‎")]),_v(" "),_c('nav',{staticClass:"nav nav-pills flex-column my-0 nested no-flex-wrap"},[_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#isaac-ng-jun-jie"}},[_v("ISAAC NG JUN JIE‎")]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#koo-yu-cong"}},[_v("KOO YU CONG‎")]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#loh-ze-qing-norbert"}},[_v("LOH ZE QING, NORBERT‎")]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#soh-zheng-yang-marcus"}},[_v("SOH ZHENG YANG, MARCUS‎")]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#tng-wen-xi"}},[_v("TNG WEN XI‎")])]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#markbind"}},[_v("MarkBind‎")]),_v(" "),_c('nav',{staticClass:"nav nav-pills flex-column my-0 nested no-flex-wrap"},[_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#adrian-leonardo-liang"}},[_v("ADRIAN LEONARDO LIANG‎")]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#chan-ger-teck"}},[_v("CHAN GER TECK‎")]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#cheah-gee-nung-ian"}},[_v("CHEAH GEE NUNG, IAN‎")]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#javier-tan-meng-wee"}},[_v("JAVIER TAN MENG WEE‎")]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#yu-chenbo"}},[_v("YU CHENBO‎")])]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#reposense"}},[_v("RepoSense‎")]),_v(" "),_c('nav',{staticClass:"nav nav-pills flex-column my-0 nested no-flex-wrap"},[_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#alexander-liswandy"}},[_v("ALEXANDER LISWANDY‎")]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#chen-yixun"}},[_v("CHEN YIXUN‎")]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#hing-yen-xing"}},[_v("HING YEN XING‎")]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#ng-yin-joe"}},[_v("NG YIN JOE‎")]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#wong-li-yuan"}},[_v("WONG LI YUAN‎")])]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#teammates"}},[_v("TEAMMATES‎")]),_v(" "),_c('nav',{staticClass:"nav nav-pills flex-column my-0 nested no-flex-wrap"},[_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#dhiraputta-pathama-tengara"}},[_v("DHIRAPUTTA PATHAMA TENGARA‎")]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#li-mingyang"}},[_v("LI MINGYANG‎")]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#poh-jun-kang"}},[_v("POH JUN KANG‎")]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#teng-wei-loon"}},[_v("TENG WEI LOON‎")]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#wong-xing-hui-bertrand"}},[_v("WONG XING HUI BERTRAND‎")])])])],1)])],1),_v(" "),_m(13)])}
+with(this){return _c('div',{attrs:{"id":"app"}},[_c('header',{attrs:{"fixed":""}},[_c('navbar',{attrs:{"placement":"top","type":"primary"},scopedSlots:_u([{key:"brand",fn:function(){return [_c('a',{staticClass:"navbar-brand",attrs:{"href":"/2025/index.html","title":"Home"}},[_v("CS3281&2-2025/Students")])]},proxy:true},{key:"right",fn:function(){return [_c('li',[_c('a',{staticClass:"nav-link",attrs:{"href":"https://github.com/nus-cs3281/2025"}},[_c('span',[_c('span',{staticClass:"fab fa-github",attrs:{"aria-hidden":"true"}})])])])]},proxy:true}])},[_v(" "),_c('dropdown',{staticClass:"nav-link",scopedSlots:_u([{key:"header",fn:function(){return [_v("CS3281")]},proxy:true}])},[_v(" "),_c('li',[_c('a',{staticClass:"dropdown-item",attrs:{"href":"/2025/index.html"}},[_v("Students")])]),_v(" "),_c('li',[_c('a',{staticClass:"dropdown-item",attrs:{"href":"/2025/students/knowledge.html"}},[_v("Knowledge")])]),_v(" "),_c('li',[_c('a',{staticClass:"dropdown-item",attrs:{"href":"https://nus-cs3281.github.io/2025-dashboard/?search=&sort=groupTitle&sortWithin=title&timeframe=commit&mergegroup=&groupSelect=groupByAuthors&breakdown=false"}},[_v("Code Dashboard")])]),_v(" "),_c('li',[_c('a',{staticClass:"dropdown-item",attrs:{"href":"/2025/activities-dashboard.html"}},[_v("Activities Dashboard")])])]),_v(" "),_c('dropdown',{staticClass:"nav-link",scopedSlots:_u([{key:"header",fn:function(){return [_v("CS3282")]},proxy:true}])},[_v(" "),_c('li',[_c('a',{staticClass:"dropdown-item",attrs:{"href":"/2025/cs3282-index.html"}},[_v("Students")])]),_v(" "),_c('li',[_c('a',{staticClass:"dropdown-item",attrs:{"href":"/2025/students/talksSchedule.html"}},[_v("Lightning Talks")])]),_v(" "),_c('li',[_c('a',{staticClass:"dropdown-item",attrs:{"href":"/2025/activities-dashboard.html"}},[_v("Activities Dashboard")])])]),_v(" "),_c('li',[_c('a',{staticClass:"nav-link",attrs:{"href":"/2025/instructions.html"}},[_v("Instructions")])]),_v(" "),_c('li',[_c('a',{staticClass:"nav-link",attrs:{"href":"https://nus-cs3281.github.io/website/"}},[_v("CS3281&2 Website "),_c('span',[_c('span',{staticClass:"glyphicon glyphicon-share-alt",attrs:{"aria-hidden":"true"}})])])])],1)],1),_v(" "),_c('div',{attrs:{"id":"flex-body"}},[_c('div',{staticClass:"fixed-header-padding",attrs:{"id":"content-wrapper"}},[_m(0),_v(" "),_m(1),_v(" "),_m(2),_v(" "),_m(3),_v(" "),_m(4),_v(" "),_m(5),_v(" "),_m(6),_v(" "),_m(7),_v(" "),_m(8),_v(" "),_m(9),_v(" "),_c('div',[_c('box',[_c('h2',{attrs:{"id":"isaac-ng-jun-jie"}},[_v("ISAAC NG JUN JIE"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#isaac-ng-jun-jie","onclick":"event.stopPropagation()"}})]),_v(" "),_c('div',{staticClass:"container"},[_c('div',{staticClass:"row"},[_c('div',{staticClass:"col"},[_c('img',{attrs:{"src":"/2025/students/Izn432/photo.png","width":"100"}}),_c('br')]),_v(" "),_c('div',{staticClass:"col"},[_c('p',[_c('strong',[_v("GitHub:")]),_v(" "),_c('span',[_c('a',{attrs:{"href":"https://www.github.com/IzN432"}},[_v("https://www.github.com/IzN432")])]),_c('br')]),_v(" "),_c('p',[_c('strong',[_v("Projects:")]),_v(" "),_c('span',[_c('a',{attrs:{"href":"https://github.com/CATcher-org/CATcher"}},[_v("CATcher")]),_v(", "),_c('a',{attrs:{"href":"https://github.com/CATcher-org/WATcher"}},[_v("WATcher")])])])])])]),_v(" "),_c('p'),_v(" "),_c('panel',{attrs:{"minimized":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("Progress")])])]},proxy:true}])},[_v(" "),_c('div')]),_v(" "),_c('panel',{attrs:{"minimized":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("Knowledge gained")])])]},proxy:true}])},[_v(" "),_c('div',[_c('h3',{attrs:{"id":"tool-technology-1"}},[_v("Tool/Technology 1"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#tool-technology-1","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("List the aspects you learned, and the resources you used to learn them, and a brief summary of each resource.")]),_v(" "),_c('h3',{attrs:{"id":"tool-technology-2"}},[_v("Tool/Technology 2"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#tool-technology-2","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("...")])])])],1)],1),_v(" "),_c('div',[_c('box',[_c('h2',{attrs:{"id":"koo-yu-cong"}},[_v("KOO YU CONG"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#koo-yu-cong","onclick":"event.stopPropagation()"}})]),_v(" "),_c('div',{staticClass:"container"},[_c('div',{staticClass:"row"},[_c('div',{staticClass:"col"},[_c('img',{attrs:{"src":"/2025/students/yucongkoo/photo.png","width":"100"}}),_c('br')]),_v(" "),_c('div',{staticClass:"col"},[_c('p',[_c('strong',[_v("GitHub:")]),_v(" "),_c('span',[_c('a',{attrs:{"href":"https://www.github.com/yucongkoo"}},[_v("https://www.github.com/yucongkoo")])]),_c('br')]),_v(" "),_c('p',[_c('strong',[_v("Projects:")]),_v(" "),_c('span',[_c('a',{attrs:{"href":"https://github.com/CATcher-org/CATcher"}},[_v("CATcher")]),_v(", "),_c('a',{attrs:{"href":"https://github.com/CATcher-org/WATcher"}},[_v("WATcher")])])])])])]),_v(" "),_c('p'),_v(" "),_c('panel',{attrs:{"minimized":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("Progress")])])]},proxy:true}])},[_v(" "),_c('div')]),_v(" "),_c('panel',{attrs:{"minimized":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("Knowledge gained")])])]},proxy:true}])},[_v(" "),_c('div',[_c('h3',{attrs:{"id":"tool-technology-1-2"}},[_v("Tool/Technology 1"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#tool-technology-1-2","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("List the aspects you learned, and the resources you used to learn them, and a brief summary of each resource.")]),_v(" "),_c('h3',{attrs:{"id":"tool-technology-2-2"}},[_v("Tool/Technology 2"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#tool-technology-2-2","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("...")])])])],1)],1),_v(" "),_c('div',[_c('box',[_c('h2',{attrs:{"id":"loh-ze-qing-norbert"}},[_v("LOH ZE QING, NORBERT"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#loh-ze-qing-norbert","onclick":"event.stopPropagation()"}})]),_v(" "),_c('div',{staticClass:"container"},[_c('div',{staticClass:"row"},[_c('div',{staticClass:"col"},[_c('img',{attrs:{"src":"/2025/students/NorbertLoh/photo.png","width":"100"}}),_c('br')]),_v(" "),_c('div',{staticClass:"col"},[_c('p',[_c('strong',[_v("GitHub:")]),_v(" "),_c('span',[_c('a',{attrs:{"href":"https://github.com/NorbertLoh"}},[_v("https://github.com/NorbertLoh")])]),_c('br')]),_v(" "),_c('p',[_c('strong',[_v("Projects:")]),_v(" "),_c('span',[_c('a',{attrs:{"href":"https://github.com/CATcher-org/CATcher"}},[_v("CATcher")]),_v(", "),_c('a',{attrs:{"href":"https://github.com/CATcher-org/WATcher"}},[_v("WATcher")])])])])])]),_v(" "),_c('p'),_v(" "),_c('panel',{attrs:{"minimized":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("Progress")])])]},proxy:true}])},[_v(" "),_c('div')]),_v(" "),_c('panel',{attrs:{"minimized":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("Knowledge gained")])])]},proxy:true}])},[_v(" "),_c('div',[_c('h3',{attrs:{"id":"tool-technology-1-3"}},[_v("Tool/Technology 1"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#tool-technology-1-3","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("List the aspects you learned, and the resources you used to learn them, and a brief summary of each resource.")]),_v(" "),_c('h3',{attrs:{"id":"tool-technology-2-3"}},[_v("Tool/Technology 2"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#tool-technology-2-3","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("...")])])])],1)],1),_v(" "),_c('div',[_c('box',[_c('h2',{attrs:{"id":"soh-zheng-yang-marcus"}},[_v("SOH ZHENG YANG, MARCUS"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#soh-zheng-yang-marcus","onclick":"event.stopPropagation()"}})]),_v(" "),_c('div',{staticClass:"container"},[_c('div',{staticClass:"row"},[_c('div',{staticClass:"col"},[_c('img',{attrs:{"src":"/2025/students/HollaG/photo.png","width":"100"}}),_c('br')]),_v(" "),_c('div',{staticClass:"col"},[_c('p',[_c('strong',[_v("GitHub:")]),_v(" "),_c('span',[_c('a',{attrs:{"href":"https://www.github.com/hollag"}},[_v("https://www.github.com/hollag")])]),_c('br')]),_v(" "),_c('p',[_c('strong',[_v("Projects:")]),_v(" "),_c('span',[_c('a',{attrs:{"href":"https://github.com/CATcher-org/CATcher"}},[_v("CATcher")]),_v(", "),_c('a',{attrs:{"href":"https://github.com/CATcher-org/WATcher"}},[_v("WATcher")])])])])])]),_v(" "),_c('p'),_v(" "),_c('panel',{attrs:{"minimized":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("Progress")])])]},proxy:true}])},[_v(" "),_c('div',[_c('div',{staticClass:"table-responsive"},[_c('table',{staticClass:"markbind-table table table-bordered table-striped"},[_c('thead',[_c('tr',[_c('th',[_v("Week")]),_v(" "),_c('th',[_v("Achievements")])])])])])])]),_v(" "),_c('panel',{attrs:{"minimized":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("Knowledge gained")])])]},proxy:true}])},[_v(" "),_c('div',[_c('h3',{attrs:{"id":"tool-technology-1-4"}},[_v("Tool/Technology 1"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#tool-technology-1-4","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("List the aspects you learned, and the resources you used to learn them, and a brief summary of each resource.")]),_v(" "),_c('h3',{attrs:{"id":"tool-technology-2-4"}},[_v("Tool/Technology 2"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#tool-technology-2-4","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("...")])])])],1)],1),_v(" "),_c('div',[_c('box',[_c('h2',{attrs:{"id":"tng-wen-xi"}},[_v("TNG WEN XI"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#tng-wen-xi","onclick":"event.stopPropagation()"}})]),_v(" "),_c('div',{staticClass:"container"},[_c('div',{staticClass:"row"},[_c('div',{staticClass:"col"},[_c('img',{attrs:{"src":"/2025/students/wx-03/photo.png","width":"100"}}),_c('br')]),_v(" "),_c('div',{staticClass:"col"},[_c('p',[_c('strong',[_v("GitHub:")]),_v(" "),_c('span',[_c('a',{attrs:{"href":"https://www.github.com/wx-03"}},[_v("https://www.github.com/wx-03")])]),_c('br')]),_v(" "),_c('p',[_c('strong',[_v("Projects:")]),_v(" "),_c('span',[_c('a',{attrs:{"href":"https://github.com/CATcher-org/CATcher"}},[_v("CATcher")]),_v(", "),_c('a',{attrs:{"href":"https://github.com/CATcher-org/WATcher"}},[_v("WATcher")])])])])])]),_v(" "),_c('p'),_v(" "),_c('panel',{attrs:{"minimized":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("Progress")])])]},proxy:true}])},[_v(" "),_c('div',[_c('div',{staticClass:"table-responsive"},[_c('table',{staticClass:"markbind-table table table-bordered table-striped"},[_c('thead',[_c('tr',[_c('th',[_v("Week")]),_v(" "),_c('th',[_v("Achievements")])])])])])])]),_v(" "),_c('panel',{attrs:{"minimized":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("Knowledge gained")])])]},proxy:true}])},[_v(" "),_c('div',[_c('h3',{attrs:{"id":"tool-technology-1-5"}},[_v("Tool/Technology 1"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#tool-technology-1-5","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("List the aspects you learned, and the resources you used to learn them, and a brief summary of each resource.")]),_v(" "),_c('h3',{attrs:{"id":"tool-technology-2-5"}},[_v("Tool/Technology 2"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#tool-technology-2-5","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("...")])])])],1)],1),_v(" "),_m(10),_v(" "),_c('div',[_c('box',[_c('h2',{attrs:{"id":"adrian-leonardo-liang"}},[_v("ADRIAN LEONARDO LIANG"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#adrian-leonardo-liang","onclick":"event.stopPropagation()"}})]),_v(" "),_c('div',{staticClass:"container"},[_c('div',{staticClass:"row"},[_c('div',{staticClass:"col"},[_c('img',{attrs:{"src":"/2025/students/AgentHagu/photo.png","width":"100"}}),_c('br')]),_v(" "),_c('div',{staticClass:"col"},[_c('p',[_c('strong',[_v("GitHub:")]),_v(" "),_c('span',[_c('a',{attrs:{"href":"https://github.com/AgentHagu"}},[_v("https://github.com/AgentHagu")])]),_c('br')]),_v(" "),_c('p',[_c('strong',[_v("Projects:")]),_v(" "),_c('span',[_c('a',{attrs:{"href":"https://github.com/MarkBind/markbind"}},[_v("MarkBind")]),_v(", "),_c('a',{attrs:{"href":""}},[_v("Project2")])])])])])]),_v(" "),_c('p'),_v(" "),_c('panel',{attrs:{"minimized":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("Progress")])])]},proxy:true}])},[_v(" "),_c('div')]),_v(" "),_c('panel',{attrs:{"minimized":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("Knowledge gained")])])]},proxy:true}])},[_v(" "),_c('div',[_c('h3',{attrs:{"id":"tool-technology-1-6"}},[_v("Tool/Technology 1"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#tool-technology-1-6","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("List the aspects you learned, and the resources you used to learn them, and a brief summary of each resource.")]),_v(" "),_c('h3',{attrs:{"id":"tool-technology-2-6"}},[_v("Tool/Technology 2"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#tool-technology-2-6","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("...")])])])],1)],1),_v(" "),_c('div',[_c('box',[_c('h2',{attrs:{"id":"chan-ger-teck"}},[_v("CHAN GER TECK"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#chan-ger-teck","onclick":"event.stopPropagation()"}})]),_v(" "),_c('div',{staticClass:"container"},[_c('div',{staticClass:"row"},[_c('div',{staticClass:"col"},[_c('img',{attrs:{"src":"/2025/students/gerteck/photo.png","width":"100"}}),_c('br')]),_v(" "),_c('div',{staticClass:"col"},[_c('p',[_c('strong',[_v("GitHub:")]),_v(" "),_c('span',[_c('a',{attrs:{"href":"https://www.github.com/gerteck"}},[_v("https://www.github.com/gerteck")])]),_c('br')]),_v(" "),_c('p',[_c('strong',[_v("Projects:")]),_v(" "),_c('span',[_c('a',{attrs:{"href":"https://github.com/MarkBind/markbind"}},[_v("MarkBind")]),_v(", "),_c('a',{attrs:{"href":""}},[_v("Project2")])])])])])]),_v(" "),_c('p'),_v(" "),_c('panel',{attrs:{"minimized":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("Progress")])])]},proxy:true}])},[_v(" "),_c('div',[_c('h3',{attrs:{"id":"summary"}},[_v("Summary"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#summary","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("Over the semester, I will be working on MarkBind.")]),_v(" "),_c('p',[_v("The work will build on previous work done, recorded "),_c('a',{attrs:{"href":"https://docs.google.com/document/d/1PjA6jfa7G_ZNjc8zSWi1hVSMmhbrGUY95k0ytyDCo-Y/edit?usp=sharing"}},[_v("here")])]),_v(" "),_c('div',{staticClass:"table-responsive"},[_c('table',{staticClass:"markbind-table table table-bordered table-striped"},[_c('thead',[_c('tr',[_c('th',[_v("Week")]),_v(" "),_c('th',[_v("Achievements")])])]),_v(" "),_c('tbody',[_c('tr',[_c('td',[_v("1")]),_v(" "),_c('td',[_v("Authored PR: "),_c('a',{attrs:{"href":"https://github.com/MarkBind/markbind/pull/2568"}},[_v("Add Pagefind Plugin #2568")])])])])])])])]),_v(" "),_c('panel',{attrs:{"minimized":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("Knowledge gained")])])]},proxy:true}])},[_v(" "),_c('div',[_c('h3',{attrs:{"id":"tool-technology"}},[_v("Tool/Technology"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#tool-technology","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("List the aspects you learned, and the resources you used to learn them, and a brief summary of each resource.")]),_v(" "),_c('h1',{attrs:{"id":"markbind-s-search-utility"}},[_v("Markbind's Search Utility"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#markbind-s-search-utility","onclick":"event.stopPropagation()"}})]),_v(" "),_c('h2',{attrs:{"id":"how-native-markbind-search-works"}},[_v("How Native MarkBind Search works"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#how-native-markbind-search-works","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_c('strong',[_v("Collection of Title and headings in generation:")])]),_v(" "),_c('ul',[_c('li',[_v("We trace the website generation in "),_c('code',{pre:true,attrs:{"class":"hljs inline no-lang"}},[_v("Site/index.ts")]),_v(".")]),_v(" "),_c('li',[_v("When building source files, during the page generation process, "),_c('code',{pre:true,attrs:{"class":"hljs inline no-lang"}},[_v("Page.collectHeadingsAndKeywords")]),_v(" records headings and keywords inside rendered page into this.headings and this.keywords respectively.")]),_v(" "),_c('li',[_v("When writing site data, the title, headings, keywords are collected into pages object.")])]),_v(" "),_c('p',[_c('strong',[_v("Page Generation and Vue Initialization")])]),_v(" "),_c('ul',[_c('li',[_v("In "),_c('code',{pre:true,attrs:{"class":"hljs inline no-lang"}},[_v("core-web/src/index.js")]),_v(", the "),_c('code',{pre:true,attrs:{"class":"hljs inline no-lang"}},[_v("setupWithSearch()")]),_v(" updates the SearchData by collecting the pages from the site data.\n"),_c('ul',[_c('li',[_c('code',{pre:true,attrs:{"class":"hljs inline no-lang"}},[_v("setupWithSearch()")]),_v(" is added as a script in the file template "),_c('code',{pre:true,attrs:{"class":"hljs inline no-lang"}},[_v("page.njk")]),_v(" used to render the HTML structure of Markbind pages.")]),_v(" "),_c('li',[_v("This file template is used during the page generation process.")])])]),_v(" "),_c('li',[_v("Note also that "),_c('code',{pre:true,attrs:{"class":"hljs inline no-lang"}},[_v("VueCommonAppFactory.js")]),_v(" provides a factory function (appFactory) to set up the common data and methods for Vue application shared between server-side and client-side, and provides the common data properties and methods.\n"),_c('ul',[_c('li',[_v("In particular, "),_c('code',{pre:true,attrs:{"class":"hljs inline no-lang"}},[_v("searchData[]")]),_v(" and "),_c('code',{pre:true,attrs:{"class":"hljs inline no-lang"}},[_v("searchCallback()")]),_v(", which are relevant in the following portion.")]),_v(" "),_c('li',[_v("When using "),_c('code',{pre:true,attrs:{"class":"hljs inline no-lang"}},[_v("")]),_v(", this is where to use MarkBind's search functionality, we set the appropriate values: "),_c('code',{pre:true,attrs:{"class":"hljs inline no-lang"}},[_v(" ")])])])])]),_v(" "),_c('p',[_c('strong',[_v("Vue Components: Searchbar/SearchbarPageItem.vue")]),_v(" "),_c('strong',[_v("Searchbar.vue")])]),_v(" "),_c('ul',[_c('li',[_v("The searchbar uses the "),_c('code',{pre:true,attrs:{"class":"hljs inline no-lang"}},[_v("searchData[]")]),_v(" in "),_c('code',{pre:true,attrs:{"class":"hljs inline no-lang"}},[_v("data")]),_v(", filters and ranks the data based on keyword matches and populates the dropdown with "),_c('code',{pre:true,attrs:{"class":"hljs inline no-lang"}},[_v("searchbarPageItems")]),_v(".")]),_v(" "),_c('li',[_v("It calls the "),_c('code',{pre:true,attrs:{"class":"hljs inline no-lang"}},[_v("on-hit")]),_v(" function when a search result is selected, passing the selected item.\n"),_c('strong',[_v("SearchbarPageItem.vue")])]),_v(" "),_c('li',[_v("Decides how to present the item based on whether it is a heading or a page title.")])]),_v(" "),_c('h2',{attrs:{"id":"how-proposed-markbind-pagefind-plugin-works"}},[_v("How Proposed Markbind PageFind Plugin Works"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#how-proposed-markbind-pagefind-plugin-works","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("About "),_c('a',{attrs:{"href":"https://pagefind.app/"}},[_v("PageFind")]),_v(": A fully static search library that aims to perform well on large sites, while using as little of users bandwidth\nas possible, and without hosting any infrastructure.")]),_v(" "),_c('p',[_c('strong',[_v("Documentation:")])]),_v(" "),_c('ul',[_c('li',[_c('a',{attrs:{"href":"https://pagefind.app/docs/node-api/"}},[_v("PageFind NodeJS Indexing API")])]),_v(" "),_c('li',[_c('a',{attrs:{"href":"https://github.com/CloudCannon/pagefind/blob/production-docs/pagefind_web_js/types/index.d.ts"}},[_v("The types returned by Pagefind’s JavaScript search API")])])]),_v(" "),_c('h3',{attrs:{"id":"integration-of-pagefind-into-markbind"}},[_c('strong',[_v("Integration of Pagefind into MarkBind")]),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#integration-of-pagefind-into-markbind","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("It runs after the website framework, and only requires the folder containing the built static files of the website. A short explanation of how it works would be:")]),_v(" "),_c('ul',[_c('li',[_v("PageFind indexes the static files\n"),_c('ul',[_c('li',[_v("If pagefind is included as a plugin, we indexSites with PageFind, which writes the index files _site/pagefind")])])]),_v(" "),_c('li',[_v("Plugin exposes a pagefind JS API for searching\n"),_c('ul',[_c('li',[_v("Alternatively, use pagefind default UI for searching. This is done by processes containers with \"id=\"pagefind-search-input\"\", and initialing a default PageFindUI instance on it, not unlike how algolia search works.")])])]),_v(" "),_c('li',[_v("This JS API is used by a custom Vue component searchbar.")])])])])],1)],1),_v(" "),_c('div',[_c('box',[_c('h2',{attrs:{"id":"cheah-gee-nung-ian"}},[_v("CHEAH GEE NUNG, IAN"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#cheah-gee-nung-ian","onclick":"event.stopPropagation()"}})]),_v(" "),_c('div',{staticClass:"container"},[_c('div',{staticClass:"row"},[_c('div',{staticClass:"col"},[_c('img',{attrs:{"src":"/2025/students/IanCheah/photo.png","width":"100"}}),_c('br')]),_v(" "),_c('div',{staticClass:"col"},[_c('p',[_c('strong',[_v("GitHub:")]),_v(" "),_c('span',[_c('a',{attrs:{"href":"https://www.github.com/IanCheah"}},[_v("https://www.github.com/IanCheah")])]),_c('br')]),_v(" "),_c('p',[_c('strong',[_v("Projects:")]),_v(" "),_c('span',[_c('a',{attrs:{"href":"https://github.com/MarkBind/markbind"}},[_v("MarkBind")]),_v(", "),_c('a',{attrs:{"href":""}},[_v("Project2")])])])])])]),_v(" "),_c('p'),_v(" "),_c('panel',{attrs:{"minimized":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("Progress")])])]},proxy:true}])},[_v(" "),_c('div')]),_v(" "),_c('panel',{attrs:{"minimized":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("Knowledge gained")])])]},proxy:true}])},[_v(" "),_c('div',[_c('h3',{attrs:{"id":"tool-technology-1-7"}},[_v("Tool/Technology 1"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#tool-technology-1-7","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("List the aspects you learned, and the resources you used to learn them, and a brief summary of each resource.")]),_v(" "),_c('h3',{attrs:{"id":"tool-technology-2-7"}},[_v("Tool/Technology 2"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#tool-technology-2-7","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("...")])])])],1)],1),_v(" "),_c('div',[_c('box',[_c('h2',{attrs:{"id":"javier-tan-meng-wee"}},[_v("JAVIER TAN MENG WEE"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#javier-tan-meng-wee","onclick":"event.stopPropagation()"}})]),_v(" "),_c('div',{staticClass:"container"},[_c('div',{staticClass:"row"},[_c('div',{staticClass:"col"},[_c('img',{attrs:{"src":"/2025/students/Incogdino/photo.png","width":"100"}}),_c('br')]),_v(" "),_c('div',{staticClass:"col"},[_c('p',[_c('strong',[_v("GitHub:")]),_v(" "),_c('span',[_c('a',{attrs:{"href":"https://github.com/Incogdino"}},[_v("https://github.com/Incogdino")])]),_c('br')]),_v(" "),_c('p',[_c('strong',[_v("Projects:")]),_v(" "),_c('span',[_c('a',{attrs:{"href":"https://github.com/MarkBind/markbind"}},[_v("Markbind")]),_v(", "),_c('a',{attrs:{"href":""}},[_v("Project2")])])])])])]),_v(" "),_c('p'),_v(" "),_c('panel',{attrs:{"minimized":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("Progress")])])]},proxy:true}])},[_v(" "),_c('div')]),_v(" "),_c('panel',{attrs:{"minimized":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("Knowledge gained")])])]},proxy:true}])},[_v(" "),_c('div',[_c('h3',{attrs:{"id":"tool-technology-1-8"}},[_v("Tool/Technology 1"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#tool-technology-1-8","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("List the aspects you learned, and the resources you used to learn them, and a brief summary of each resource.")]),_v(" "),_c('h3',{attrs:{"id":"tool-technology-2-8"}},[_v("Tool/Technology 2"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#tool-technology-2-8","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("...")])])])],1)],1),_v(" "),_c('div',[_c('box',[_c('h2',{attrs:{"id":"yu-chenbo"}},[_v("YU CHENBO"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#yu-chenbo","onclick":"event.stopPropagation()"}})]),_v(" "),_c('div',{staticClass:"container"},[_c('div',{staticClass:"row"},[_c('div',{staticClass:"col"},[_c('img',{attrs:{"src":"/2025/students/yyccbb/photo.png","width":"100"}}),_c('br')]),_v(" "),_c('div',{staticClass:"col"},[_c('p',[_c('strong',[_v("GitHub:")]),_v(" "),_c('span',[_c('a',{attrs:{"href":"https://www.github.com/johnDoe"}},[_v("https://www.github.com/johnDoe")])]),_c('br')]),_v(" "),_c('p',[_c('strong',[_v("Projects:")]),_v(" "),_c('span',[_c('a',{attrs:{"href":""}},[_v("Project1")]),_v(", "),_c('a',{attrs:{"href":""}},[_v("Project2")])])])])])]),_v(" "),_c('p'),_v(" "),_c('panel',{attrs:{"minimized":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("Progress")])])]},proxy:true}])},[_v(" "),_c('div')]),_v(" "),_c('panel',{attrs:{"minimized":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("Knowledge gained")])])]},proxy:true}])},[_v(" "),_c('div',[_c('h3',{attrs:{"id":"tool-technology-1-9"}},[_v("Tool/Technology 1"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#tool-technology-1-9","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("List the aspects you learned, and the resources you used to learn them, and a brief summary of each resource.")]),_v(" "),_c('h3',{attrs:{"id":"tool-technology-2-9"}},[_v("Tool/Technology 2"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#tool-technology-2-9","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("...")])])])],1)],1),_v(" "),_m(11),_v(" "),_c('div',[_c('box',[_c('h2',{attrs:{"id":"alexander-liswandy"}},[_v("ALEXANDER LISWANDY"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#alexander-liswandy","onclick":"event.stopPropagation()"}})]),_v(" "),_c('div',{staticClass:"container"},[_c('div',{staticClass:"row"},[_c('div',{staticClass:"col"},[_c('img',{attrs:{"src":"/2025/students/Airiinnn/photo.png","width":"100"}}),_c('br')]),_v(" "),_c('div',{staticClass:"col"},[_c('p',[_c('strong',[_v("GitHub:")]),_v(" "),_c('span',[_c('a',{attrs:{"href":"https://www.github.com/Airiinnn"}},[_v("https://www.github.com/Airiinnn")])]),_c('br')]),_v(" "),_c('p',[_c('strong',[_v("Projects:")]),_v(" "),_c('span',[_c('a',{attrs:{"href":"https://github.com/reposense"}},[_v("RepoSense")])])])])])]),_v(" "),_c('p'),_v(" "),_c('panel',{attrs:{"minimized":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("Progress")])])]},proxy:true}])},[_v(" "),_c('div')]),_v(" "),_c('panel',{attrs:{"minimized":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("Knowledge gained")])])]},proxy:true}])},[_v(" "),_c('div',[_c('h3',{attrs:{"id":"tool-technology-1-10"}},[_v("Tool/Technology 1"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#tool-technology-1-10","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("List the aspects you learned, and the resources you used to learn them, and a brief summary of each resource.")]),_v(" "),_c('h3',{attrs:{"id":"tool-technology-2-10"}},[_v("Tool/Technology 2"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#tool-technology-2-10","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("...")])])])],1)],1),_v(" "),_c('div',[_c('box',[_c('h2',{attrs:{"id":"chen-yixun"}},[_v("CHEN YIXUN"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#chen-yixun","onclick":"event.stopPropagation()"}})]),_v(" "),_c('div',{staticClass:"container"},[_c('div',{staticClass:"row"},[_c('div',{staticClass:"col"},[_c('img',{attrs:{"src":"/2025/students/CYX22222003/photo.png","width":"100"}}),_c('br')]),_v(" "),_c('div',{staticClass:"col"},[_c('p',[_c('strong',[_v("GitHub:")]),_v(" "),_c('span',[_c('a',{attrs:{"href":"https://www.github.com/CYX22222003"}},[_v("https://www.github.com/CYX22222003")])]),_c('br')]),_v(" "),_c('p',[_c('strong',[_v("Projects:")]),_v(" "),_c('span',[_c('a',{attrs:{"href":"https://github.com/RepoSense"}},[_v("RepoSense")]),_v(", "),_c('a',{attrs:{"href":""}},[_v("Project2")])])])])])]),_v(" "),_c('p'),_v(" "),_c('panel',{attrs:{"minimized":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("Progress")])])]},proxy:true}])},[_v(" "),_c('div')]),_v(" "),_c('panel',{attrs:{"minimized":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("Knowledge gained")])])]},proxy:true}])},[_v(" "),_c('div',[_c('h3',{attrs:{"id":"tool-technology-1-11"}},[_v("Tool/Technology 1"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#tool-technology-1-11","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("List the aspects you learned, and the resources you used to learn them, and a brief summary of each resource.")]),_v(" "),_c('h3',{attrs:{"id":"tool-technology-2-11"}},[_v("Tool/Technology 2"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#tool-technology-2-11","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("...")])])])],1)],1),_v(" "),_c('div',[_c('box',[_c('h2',{attrs:{"id":"hing-yen-xing"}},[_v("HING YEN XING"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#hing-yen-xing","onclick":"event.stopPropagation()"}})]),_v(" "),_c('div',{staticClass:"container"},[_c('div',{staticClass:"row"},[_c('div',{staticClass:"col"},[_c('img',{attrs:{"src":"/2025/students/JoanneHing/photo.png","width":"100"}}),_c('br')]),_v(" "),_c('div',{staticClass:"col"},[_c('p',[_c('strong',[_v("GitHub:")]),_v(" "),_c('span',[_c('a',{attrs:{"href":"https://github.com/JoanneHing"}},[_v("https://github.com/JoanneHing")])]),_c('br')]),_v(" "),_c('p',[_c('strong',[_v("Projects:")]),_v(" "),_c('span',[_c('a',{attrs:{"href":"https://github.com/reposense"}},[_v("Reposense")])])])])])]),_v(" "),_c('p'),_v(" "),_c('panel',{attrs:{"minimized":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("Progress")])])]},proxy:true}])},[_v(" "),_c('div',[_c('div',{staticClass:"table-responsive"},[_c('table',{staticClass:"markbind-table table table-bordered table-striped"},[_c('thead',[_c('tr',[_c('th',[_v("Week")]),_v(" "),_c('th',[_v("Achievements")])])]),_v(" "),_c('tbody',[_c('tr',[_c('td',[_v("1")]),_v(" "),_c('td',[_v("Solved issue: "),_c('a',{attrs:{"href":"https://github.com/reposense/RepoSense/issues/2259"}},[_v("Upgrade GitHub Actions macOS runners to 13 and 14 (and possibly 15) #2259")])])]),_v(" "),_c('tr',[_c('td',[_v("1")]),_v(" "),_c('td',[_v("Solved issue: "),_c('a',{attrs:{"href":"https://github.com/reposense/RepoSense/issues/2252"}},[_v("Add ubuntu-24.04 to CI runners and bump publish-RepoSense runner #2252")])])])])])])])]),_v(" "),_c('panel',{attrs:{"minimized":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("Knowledge gained")])])]},proxy:true}])},[_v(" "),_c('div',[_c('h2',{attrs:{"id":"github-actions"}},[_v("gitHub Actions"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#github-actions","onclick":"event.stopPropagation()"}})]),_v(" "),_c('ol',[_c('li',[_v("I learned how to update gitHub action runners to different version for macOS, ubuntu and window. Resource referred from "),_c('a',{attrs:{"href":"https://stackoverflow.com/questions/77781713/using-github-strategy-matrix-to-select-a-runner"}},[_v("stackoverflow")]),_v(". I found that how the gitHub runner is updated using the gitHub strategy matrix.")])]),_v(" "),_c('h3',{attrs:{"id":"tool-technology-2-12"}},[_v("Tool/Technology 2"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#tool-technology-2-12","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("...")])])])],1)],1),_v(" "),_c('div',[_c('box',[_c('h2',{attrs:{"id":"ng-yin-joe"}},[_v("NG YIN JOE"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#ng-yin-joe","onclick":"event.stopPropagation()"}})]),_v(" "),_c('div',{staticClass:"container"},[_c('div',{staticClass:"row"},[_c('div',{staticClass:"col"},[_c('img',{attrs:{"src":"/2025/students/joeng03/photo.png","width":"100"}}),_c('br')]),_v(" "),_c('div',{staticClass:"col"},[_c('p',[_c('strong',[_v("GitHub:")]),_v(" "),_c('span',[_c('a',{attrs:{"href":"https://www.github.com/joeng03"}},[_v("https://www.github.com/joeng03")])]),_c('br')]),_v(" "),_c('p',[_c('strong',[_v("Projects:")]),_v(" "),_c('span',[_c('a',{attrs:{"href":"https://github.com/reposense"}},[_v("RepoSense")])])])])])]),_v(" "),_c('p'),_v(" "),_c('panel',{attrs:{"minimized":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("Progress")])])]},proxy:true}])},[_v(" "),_c('div')]),_v(" "),_c('panel',{attrs:{"minimized":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("Knowledge gained")])])]},proxy:true}])},[_v(" "),_c('div',[_c('h3',{attrs:{"id":"tool-technology-1-12"}},[_v("Tool/Technology 1"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#tool-technology-1-12","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("List the aspects you learned, and the resources you used to learn them, and a brief summary of each resource.")]),_v(" "),_c('h3',{attrs:{"id":"tool-technology-2-13"}},[_v("Tool/Technology 2"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#tool-technology-2-13","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("...")])])])],1)],1),_v(" "),_c('div',[_c('box',[_c('h2',{attrs:{"id":"wong-li-yuan"}},[_v("WONG LI YUAN"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#wong-li-yuan","onclick":"event.stopPropagation()"}})]),_v(" "),_c('div',{staticClass:"container"},[_c('div',{staticClass:"row"},[_c('div',{staticClass:"col"},[_c('img',{attrs:{"src":"/2025/students/lyuanww/photo.png","width":"100"}}),_c('br')]),_v(" "),_c('div',{staticClass:"col"},[_c('p',[_c('strong',[_v("GitHub:")]),_v(" "),_c('span',[_c('a',{attrs:{"href":"https://github.com/lyuanww"}},[_v("https://github.com/lyuanww")])]),_c('br')]),_v(" "),_c('p',[_c('strong',[_v("Projects:")]),_v(" "),_c('span',[_c('a',{attrs:{"href":"https://github.com/reposense/RepoSense"}},[_v("RepoSense")]),_v(", "),_c('a',{attrs:{"href":""}},[_v("Project2")])])])])])]),_v(" "),_c('p'),_v(" "),_c('panel',{attrs:{"minimized":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("Progress")])])]},proxy:true}])},[_v(" "),_c('div')]),_v(" "),_c('panel',{attrs:{"minimized":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("Knowledge gained")])])]},proxy:true}])},[_v(" "),_c('div',[_c('h3',{attrs:{"id":"tool-technology-1-13"}},[_v("Tool/Technology 1"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#tool-technology-1-13","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("List the aspects you learned, and the resources you used to learn them, and a brief summary of each resource.")]),_v(" "),_c('h3',{attrs:{"id":"tool-technology-2-14"}},[_v("Tool/Technology 2"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#tool-technology-2-14","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("...")])])])],1)],1),_v(" "),_m(12),_v(" "),_c('div',[_c('box',[_c('h2',{attrs:{"id":"dhiraputta-pathama-tengara"}},[_v("DHIRAPUTTA PATHAMA TENGARA"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#dhiraputta-pathama-tengara","onclick":"event.stopPropagation()"}})]),_v(" "),_c('div',{staticClass:"container"},[_c('div',{staticClass:"row"},[_c('div',{staticClass:"col"},[_c('img',{attrs:{"src":"/2025/students/DhiraPT/photo.png","width":"100"}}),_c('br')]),_v(" "),_c('div',{staticClass:"col"},[_c('p',[_c('strong',[_v("GitHub:")]),_v(" "),_c('span',[_c('a',{attrs:{"href":"https://www.github.com/DhiraPT"}},[_v("https://www.github.com/DhiraPT")])]),_c('br')]),_v(" "),_c('p',[_c('strong',[_v("Projects:")]),_v(" "),_c('span',[_c('a',{attrs:{"href":"https://github.com/TEAMMATES/teammates"}},[_v("TEAMMATES")]),_v(", "),_c('a',{attrs:{"href":""}},[_v("Project2")])])])])])]),_v(" "),_c('p'),_v(" "),_c('panel',{attrs:{"minimized":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("Progress")])])]},proxy:true}])},[_v(" "),_c('div')]),_v(" "),_c('panel',{attrs:{"minimized":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("Knowledge gained")])])]},proxy:true}])},[_v(" "),_c('div',[_c('h3',{attrs:{"id":"tool-technology-1-14"}},[_v("Tool/Technology 1"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#tool-technology-1-14","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("List the aspects you learned, and the resources you used to learn them, and a brief summary of each resource.")]),_v(" "),_c('h3',{attrs:{"id":"tool-technology-2-15"}},[_v("Tool/Technology 2"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#tool-technology-2-15","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("...")])])])],1)],1),_v(" "),_c('div',[_c('box',[_c('h2',{attrs:{"id":"li-mingyang"}},[_v("LI MINGYANG"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#li-mingyang","onclick":"event.stopPropagation()"}})]),_v(" "),_c('div',{staticClass:"container"},[_c('div',{staticClass:"row"},[_c('div',{staticClass:"col"},[_c('img',{attrs:{"src":"/2025/students/mingyang143/photo.png","width":"100"}}),_c('br')]),_v(" "),_c('div',{staticClass:"col"},[_c('p',[_c('strong',[_v("GitHub:")]),_v(" "),_c('span',[_c('a',{attrs:{"href":"https://github.com/mingyang143"}},[_v("https://github.com/mingyang143")])]),_c('br')]),_v(" "),_c('p',[_c('strong',[_v("Projects:")]),_v(" "),_c('span',[_c('a',{attrs:{"href":"https://github.com/TEAMMATES"}},[_v("TEAMMATES")]),_v(", "),_c('a',{attrs:{"href":""}},[_v("Project2")])])])])])]),_v(" "),_c('p'),_v(" "),_c('panel',{attrs:{"minimized":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("Progress")])])]},proxy:true}])},[_v(" "),_c('div')]),_v(" "),_c('panel',{attrs:{"minimized":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("Knowledge gained")])])]},proxy:true}])},[_v(" "),_c('div',[_c('h3',{attrs:{"id":"tool-technology-1-angular-and-dark-mode-implementation-for-the-frontend"}},[_v("Tool/Technology 1: "),_c('strong',[_v("Angular and Dark Mode Implementation for the frontend")]),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#tool-technology-1-angular-and-dark-mode-implementation-for-the-frontend","onclick":"event.stopPropagation()"}})]),_v(" "),_c('h4',{attrs:{"id":"aspects-learned"}},[_v("Aspects Learned"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#aspects-learned","onclick":"event.stopPropagation()"}})]),_v(" "),_c('ol',[_c('li',[_c('p',[_c('strong',[_v("Angular Component Communication:")])]),_v(" "),_c('ul',[_c('li',[_v("Understanding how child components communicate with parent components using "),_c('code',{pre:true,attrs:{"class":"hljs inline no-lang"}},[_v("@Output")]),_v(" and "),_c('code',{pre:true,attrs:{"class":"hljs inline no-lang"}},[_v("EventEmitter")]),_v(".")]),_v(" "),_c('li',[_v("Applying event binding in parent templates to listen for changes emitted by child components.")])])]),_v(" "),_c('li',[_c('p',[_c('strong',[_v("Conditional Class Application:")])]),_v(" "),_c('ul',[_c('li',[_v("Dynamically applying CSS classes to elements using Angular’s "),_c('code',{pre:true,attrs:{"class":"hljs inline no-lang"}},[_v("ngClass")]),_v(" directive.")]),_v(" "),_c('li',[_v("Dynamically applying CSS classes to elements using Angular’s "),_c('code',{pre:true,attrs:{"class":"hljs inline no-lang"}},[_v("[class]")]),_v(" binding syntax.")]),_v(" "),_c('li',[_v("Managing theme switching logic in the parent component.")])])]),_v(" "),_c('li',[_c('p',[_c('strong',[_v("Event Binding:")])]),_v(" "),_c('ul',[_c('li',[_v("Utilizing Angular’s "),_c('code',{pre:true,attrs:{"class":"hljs inline no-lang"}},[_v("(event)")]),_v(" binding syntax to handle user interactions.")]),_v(" "),_c('li',[_v("For example: "),_c('code',{pre:true,attrs:{"class":"hljs inline no-lang"}},[_v("(change)=\"handleChange($event)\"")]),_v(" to trigger functions when events like "),_c('code',{pre:true,attrs:{"class":"hljs inline no-lang"}},[_v("change")]),_v(" occur, passing the event object as an argument.")])])])]),_v(" "),_c('h4',{attrs:{"id":"resources-used-and-summary"}},[_v("Resources Used and Summary"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#resources-used-and-summary","onclick":"event.stopPropagation()"}})]),_v(" "),_c('ol',[_c('li',[_c('p',[_c('strong',[_c('a',{attrs:{"href":"https://angular.io/"}},[_v("Angular Official Documentation")]),_v(":")])]),_v(" "),_c('ul',[_c('li',[_c('a',{attrs:{"href":"https://angular.io/guide/component-interaction"}},[_v("Components and Templates")]),_v(": Learned how to use "),_c('code',{pre:true,attrs:{"class":"hljs inline no-lang"}},[_v("@Output")]),_v(" and "),_c('code',{pre:true,attrs:{"class":"hljs inline no-lang"}},[_v("EventEmitter")]),_v(" to enable child-to-parent communication.")]),_v(" "),_c('li',[_c('a',{attrs:{"href":"https://angular.io/api/common/NgClass"}},[_v("NgClass Directive")]),_v(": Understood how to conditionally apply CSS classes dynamically based on variables.")])])]),_v(" "),_c('li',[_c('p',[_c('strong',[_c('a',{attrs:{"href":"https://www.udemy.com/course/the-complete-guide-to-angular-2/"}},[_v("Udemy Course: \"Angular - The Complete Guide\" by Maximilian Schwarzmüller")]),_v(":")])]),_v(" "),_c('ul',[_c('li',[_v("This course, although I have yet to complete it provided a basic understanding of Angular, including component communication and dynamic class management, which were instrumental in implementing the dark mode feature.")])])])]),_v(" "),_c('h3',{attrs:{"id":"final-thoughts"}},[_v("Final Thoughts"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#final-thoughts","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("By combining these resources, I was able to implement a basic dark mode feature that functions effectively but still requires refinement. One key area for improvement is ensuring the dark mode state persists when navigating between routes. Currently, when the route changes (e.g., from "),_c('code',{pre:true,attrs:{"class":"hljs inline no-lang"}},[_v("localhost:4200/web/")]),_v(" to another route), the boolean variable controlling the dynamic CSS class allocation using "),_c('code',{pre:true,attrs:{"class":"hljs inline no-lang"}},[_v("ngClass")]),_v(" resets to its default light mode, even if dark mode was active prior to the route change.")]),_v(" "),_c('p',[_v("I suspect this behavior occurs because the page component is re-rendered during navigation, causing the component's state (including the boolean variable) to be re-initialized. To address this, I plan to research and implement a solution to persist the dark mode state. A promising approach might involve using a shared Angular service to store and manage the state globally, ensuring it remains consistent across routes. While I am not yet an expert in Angular, I am confident that further exploration and practice will help me refine this feature.")])])])],1)],1),_v(" "),_c('div',[_c('box',[_c('h2',{attrs:{"id":"poh-jun-kang"}},[_v("POH JUN KANG"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#poh-jun-kang","onclick":"event.stopPropagation()"}})]),_v(" "),_c('div',{staticClass:"container"},[_c('div',{staticClass:"row"},[_c('div',{staticClass:"col"},[_c('img',{attrs:{"src":"/2025/students/InfinityTwo/photo.png","width":"100"}}),_c('br')]),_v(" "),_c('div',{staticClass:"col"},[_c('p',[_c('strong',[_v("GitHub:")]),_v(" "),_c('span',[_c('a',{attrs:{"href":"https://www.github.com/InfinityTwo"}},[_v("https://www.github.com/InfinityTwo")])]),_c('br')]),_v(" "),_c('p',[_c('strong',[_v("Projects:")]),_v(" "),_c('span',[_c('a',{attrs:{"href":"https://github.com/TEAMMATES"}},[_v("TEAMMATES")])])])])])]),_v(" "),_c('p'),_v(" "),_c('panel',{attrs:{"minimized":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("Progress")])])]},proxy:true}])},[_v(" "),_c('div')]),_v(" "),_c('panel',{attrs:{"minimized":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("Knowledge gained")])])]},proxy:true}])},[_v(" "),_c('div',[_c('h3',{attrs:{"id":"tool-technology-1-15"}},[_v("Tool/Technology 1"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#tool-technology-1-15","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("List the aspects you learned, and the resources you used to learn them, and a brief summary of each resource.")]),_v(" "),_c('h3',{attrs:{"id":"tool-technology-2-16"}},[_v("Tool/Technology 2"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#tool-technology-2-16","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("...")])])])],1)],1),_v(" "),_c('div',[_c('box',[_c('h2',{attrs:{"id":"teng-wei-loon"}},[_v("TENG WEI LOON"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#teng-wei-loon","onclick":"event.stopPropagation()"}})]),_v(" "),_c('div',{staticClass:"container"},[_c('div',{staticClass:"row"},[_c('div',{staticClass:"col"},[_c('img',{attrs:{"src":"/2025/students/BunnyHoppp/photo.png","width":"100"}}),_c('br')]),_v(" "),_c('div',{staticClass:"col"},[_c('p',[_c('strong',[_v("GitHub:")]),_v(" "),_c('span',[_c('a',{attrs:{"href":"https://www.github.com/BunnyHoppp"}},[_v("https://www.github.com/BunnyHoppp")])]),_c('br')]),_v(" "),_c('p',[_c('strong',[_v("Projects:")]),_v(" "),_c('span',[_c('a',{attrs:{"href":"https://github.com/TEAMMATES/teammates"}},[_v("TEAMMATES")])])])])])]),_v(" "),_c('p'),_v(" "),_c('panel',{attrs:{"minimized":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("Progress")])])]},proxy:true}])},[_v(" "),_c('div')]),_v(" "),_c('panel',{attrs:{"minimized":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("Knowledge gained")])])]},proxy:true}])},[_v(" "),_c('div',[_c('h3',{attrs:{"id":"tool-technology-1-16"}},[_v("Tool/Technology 1"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#tool-technology-1-16","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("List the aspects you learned, and the resources you used to learn them, and a brief summary of each resource.")]),_v(" "),_c('h3',{attrs:{"id":"tool-technology-2-17"}},[_v("Tool/Technology 2"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#tool-technology-2-17","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("...")])])])],1)],1),_v(" "),_c('div',[_c('box',[_c('h2',{attrs:{"id":"wong-xing-hui-bertrand"}},[_v("WONG XING HUI BERTRAND"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#wong-xing-hui-bertrand","onclick":"event.stopPropagation()"}})]),_v(" "),_c('div',{staticClass:"container"},[_c('div',{staticClass:"row"},[_c('div',{staticClass:"col"},[_c('img',{attrs:{"src":"/2025/students/peasantbird/photo.png","width":"100"}}),_c('br')]),_v(" "),_c('div',{staticClass:"col"},[_c('p',[_c('strong',[_v("GitHub:")]),_v(" "),_c('span',[_c('a',{attrs:{"href":"https://www.github.com/peasantbird"}},[_v("https://www.github.com/peasantbird")])]),_c('br')]),_v(" "),_c('p',[_c('strong',[_v("Projects:")]),_v(" "),_c('span',[_c('a',{attrs:{"href":"https://github.com/TEAMMATES/teammates"}},[_v("TEAMMATES")])])])])])]),_v(" "),_c('p'),_v(" "),_c('panel',{attrs:{"minimized":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("Progress")])])]},proxy:true}])},[_v(" "),_c('div')]),_v(" "),_c('panel',{attrs:{"minimized":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("Knowledge gained")])])]},proxy:true}])},[_v(" "),_c('div',[_c('h3',{attrs:{"id":"tool-technology-1-17"}},[_v("Tool/Technology 1"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#tool-technology-1-17","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("List the aspects you learned, and the resources you used to learn them, and a brief summary of each resource.")]),_v(" "),_c('h3',{attrs:{"id":"tool-technology-2-18"}},[_v("Tool/Technology 2"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#tool-technology-2-18","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("...")])])])],1)],1)]),_v(" "),_c('overlay-source',{staticClass:"fixed-header-padding",attrs:{"id":"page-nav","tag-name":"nav","to":"page-nav"}},[_c('div',{staticClass:"nav-component slim-scroll"},[_c('overlay-source',{staticClass:"nav nav-pills flex-column my-0 small no-flex-wrap",attrs:{"id":"mb-page-nav","tag-name":"nav","to":"mb-page-nav"}},[_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#cs3281-2025-batch"}},[_v("CS3281 - 2025 Batch‎")]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#catcher"}},[_v("CATcher‎")]),_v(" "),_c('nav',{staticClass:"nav nav-pills flex-column my-0 nested no-flex-wrap"},[_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#isaac-ng-jun-jie"}},[_v("ISAAC NG JUN JIE‎")]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#koo-yu-cong"}},[_v("KOO YU CONG‎")]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#loh-ze-qing-norbert"}},[_v("LOH ZE QING, NORBERT‎")]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#soh-zheng-yang-marcus"}},[_v("SOH ZHENG YANG, MARCUS‎")]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#tng-wen-xi"}},[_v("TNG WEN XI‎")])]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#markbind"}},[_v("MarkBind‎")]),_v(" "),_c('nav',{staticClass:"nav nav-pills flex-column my-0 nested no-flex-wrap"},[_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#adrian-leonardo-liang"}},[_v("ADRIAN LEONARDO LIANG‎")]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#chan-ger-teck"}},[_v("CHAN GER TECK‎")]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#cheah-gee-nung-ian"}},[_v("CHEAH GEE NUNG, IAN‎")]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#javier-tan-meng-wee"}},[_v("JAVIER TAN MENG WEE‎")]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#yu-chenbo"}},[_v("YU CHENBO‎")])]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#reposense"}},[_v("RepoSense‎")]),_v(" "),_c('nav',{staticClass:"nav nav-pills flex-column my-0 nested no-flex-wrap"},[_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#alexander-liswandy"}},[_v("ALEXANDER LISWANDY‎")]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#chen-yixun"}},[_v("CHEN YIXUN‎")]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#hing-yen-xing"}},[_v("HING YEN XING‎")]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#ng-yin-joe"}},[_v("NG YIN JOE‎")]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#wong-li-yuan"}},[_v("WONG LI YUAN‎")])]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#teammates"}},[_v("TEAMMATES‎")]),_v(" "),_c('nav',{staticClass:"nav nav-pills flex-column my-0 nested no-flex-wrap"},[_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#dhiraputta-pathama-tengara"}},[_v("DHIRAPUTTA PATHAMA TENGARA‎")]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#li-mingyang"}},[_v("LI MINGYANG‎")]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#poh-jun-kang"}},[_v("POH JUN KANG‎")]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#teng-wei-loon"}},[_v("TENG WEI LOON‎")]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#wong-xing-hui-bertrand"}},[_v("WONG XING HUI BERTRAND‎")])])])],1)])],1),_v(" "),_m(13)])}
};
var pageVueStaticRenderFns = [function anonymous(
) {
@@ -44,6 +44,6 @@ with(this){return _c('h1',{attrs:{"id":"reposense"}},[_v("RepoSense"),_c('a',{st
with(this){return _c('h1',{attrs:{"id":"teammates"}},[_v("TEAMMATES"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#teammates","onclick":"event.stopPropagation()"}})])}
},function anonymous(
) {
-with(this){return _c('footer',[_c('div',{staticClass:"text-center"},[_c('p',[_v("["),_c('strong',[_v("This site was generated using "),_c('img',{attrs:{"src":"https://markbind.org/favicon.ico","width":"25"}}),_v(" "),_c('a',{attrs:{"href":"https://markbind.org/"}},[_v("MarkBind 5.5.3")])]),_v(" on Mon, 20 Jan 2025, 1:16:13 UTC]"),_c('br'),_v(" "),_c('span',{staticClass:"dimmed"},[_c('small',[_c('small',[_v("favicon.ico of this site was made by "),_c('a',{attrs:{"href":"https://www.flaticon.com/authors/smashicons","title":"Smashicons"}},[_v("Smashicons")]),_v(" from "),_c('a',{attrs:{"href":"https://www.flaticon.com/","title":"Flaticon"}},[_v("www.flaticon.com")]),_v(" is licensed by "),_c('a',{attrs:{"href":"http://creativecommons.org/licenses/by/3.0/","title":"Creative Commons BY 3.0","target":"_blank"}},[_v("CC 3.0 BY")])])])])])])])}
+with(this){return _c('footer',[_c('div',{staticClass:"text-center"},[_c('p',[_v("["),_c('strong',[_v("This site was generated using "),_c('img',{attrs:{"src":"https://markbind.org/favicon.ico","width":"25"}}),_v(" "),_c('a',{attrs:{"href":"https://markbind.org/"}},[_v("MarkBind 5.5.3")])]),_v(" on Mon, 20 Jan 2025, 2:07:30 UTC]"),_c('br'),_v(" "),_c('span',{staticClass:"dimmed"},[_c('small',[_c('small',[_v("favicon.ico of this site was made by "),_c('a',{attrs:{"href":"https://www.flaticon.com/authors/smashicons","title":"Smashicons"}},[_v("Smashicons")]),_v(" from "),_c('a',{attrs:{"href":"https://www.flaticon.com/","title":"Flaticon"}},[_v("www.flaticon.com")]),_v(" is licensed by "),_c('a',{attrs:{"href":"http://creativecommons.org/licenses/by/3.0/","title":"Creative Commons BY 3.0","target":"_blank"}},[_v("CC 3.0 BY")])])])])])])])}
}];
\ No newline at end of file
diff --git a/instructions.html b/instructions.html
index cac29b10..85b9d818 100644
--- a/instructions.html
+++ b/instructions.html
@@ -19,7 +19,7 @@
| 2 | Submitted Issue: [Issue name #223]() |
| 2 | Authored PR (put on hold by request): [PR name 3 #365]() |
| 2 | Responded to contributor queries: [#1234](), [#4567]() |
-
Notes:
- The page is for CS3281&2 work only (i.e., contributions to our own internal projects or work under the CS3282 'External Project' component)
- PR-related contributions: Report only when a PR is merged (or it's finalized in some other way e.g., abandoned)
- Past PRs can be claimed in future weeks, but not the other way around.
- Report each significant achievement in a separate row. You may aggregate multiple minor achievements in to a single row.
[CS3281] Updating the Knowledge Gained Page
Update the knowledge.md
page in your folder with the knowledge of tools/technologies you gained by doing the project.
[CS3282] Updating the Observations Page
Update the observations.md
page in your folder with relevant observations from your work under the 'External Project' component.
+
Notes:
- The page is for CS3281&2 work only (i.e., contributions to our own internal projects or work under the CS3282 'External Project' component)
- PR-related contributions: Report only when a PR is merged (or it's finalized in some other way e.g., abandoned)
- Past PRs can be claimed in future weeks, but not the other way around.
- Report each significant achievement in a separate row. You may aggregate multiple minor achievements in to a single row.
[CS3281] Updating the Knowledge Gained Page
Update the knowledge.md
page in your folder with the knowledge of tools/technologies you gained by doing the project.
[CS3282] Updating the Observations Page
Update the observations.md
page in your folder with relevant observations from your work under the 'External Project' component.
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+