diff --git a/README.html b/README.html
index 1c1266f2..1920384f 100644
--- a/README.html
+++ b/README.html
@@ -12,7 +12,7 @@
const baseUrl = '/2025'
-")]),_v(" where HTML content is, "),_c('code',{pre:true,attrs:{"class":"hljs inline no-lang"}},[_v("
diff --git a/instructions.page-vue-render.js b/instructions.page-vue-render.js
index e5f63e1c..cc859a58 100644
--- a/instructions.page-vue-render.js
+++ b/instructions.page-vue-render.js
@@ -53,6 +53,6 @@ with(this){return _c('h2',{attrs:{"id":"cs3282-updating-the-observations-page"}}
with(this){return _c('p',[_v("Update the "),_c('code',{pre:true,attrs:{"class":"hljs inline no-lang"}},[_v("observations.md")]),_v(" page in your folder with relevant observations from your work under the 'External Project' component.")])}
},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 Sat, 8 Feb 2025, 16:36:29 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 Sun, 9 Feb 2025, 7:49:50 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/siteData.json b/siteData.json
index 16e80758..ec3318d9 100644
--- a/siteData.json
+++ b/siteData.json
@@ -430,7 +430,9 @@
"headings": {
"ngx-markdown": "ngx-markdown",
"marked": "Marked",
- "nvm-windows": "nvm-windows"
+ "nvm-windows": "nvm-windows",
+ "catcher-phase-management": "CATcher phase management",
+ "git-commit-hooks": "Git commit hooks"
},
"headingKeywords": {}
},
@@ -588,6 +590,8 @@
"ngx-markdown": "ngx-markdown",
"marked": "Marked",
"nvm-windows": "nvm-windows",
+ "catcher-phase-management": "CATcher phase management",
+ "git-commit-hooks": "Git commit hooks",
"soh-zheng-yang-marcus": "SOH ZHENG YANG, MARCUS",
"tool-technology-1": "Tool/Technology 1",
"tool-technology-2": "Tool/Technology 2",
diff --git a/students/AgentHagu/info.html b/students/AgentHagu/info.html
index 0850e81f..c78941fd 100644
--- a/students/AgentHagu/info.html
+++ b/students/AgentHagu/info.html
@@ -12,7 +12,7 @@
const baseUrl = '/2025'
-
+
diff --git a/students/AgentHagu/info.page-vue-render.js b/students/AgentHagu/info.page-vue-render.js
index c5d22464..b8608085 100644
--- a/students/AgentHagu/info.page-vue-render.js
+++ b/students/AgentHagu/info.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('p',[_c('span',{attrs:{"id":"github"}},[_c('a',{attrs:{"href":"https://github.com/AgentHagu"}},[_v("https://github.com/AgentHagu")])])]),_v(" "),_c('p',[_c('span',{attrs:{"id":"projects"}},[_c('a',{attrs:{"href":"https://github.com/MarkBind/markbind"}},[_v("MarkBind")])])])])}
},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 Sat, 8 Feb 2025, 16:36:29 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 Sun, 9 Feb 2025, 7:49:50 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/students/AgentHagu/knowledge.html b/students/AgentHagu/knowledge.html
index fddea1ea..21dc6b4c 100644
--- a/students/AgentHagu/knowledge.html
+++ b/students/AgentHagu/knowledge.html
@@ -12,7 +12,7 @@
const baseUrl = '/2025'
-
+
diff --git a/students/AgentHagu/knowledge.page-vue-render.js b/students/AgentHagu/knowledge.page-vue-render.js
index 9b6dd707..2855ef5d 100644
--- a/students/AgentHagu/knowledge.page-vue-render.js
+++ b/students/AgentHagu/knowledge.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('h3',{attrs:{"id":"markbind-highlighter-component"}},[_v("MarkBind Highlighter Component"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#markbind-highlighter-component","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("Learned the underlying workings of MarkBind's Highlighter component and how it parses highlighter rules in order to determine the characters or lines to highlight. Learned how to implement an enhancement to the existing feature and add relevant tests and documentation.")]),_v(" "),_c('h3',{attrs:{"id":"typescript"}},[_v("TypeScript"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#typescript","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("TypeScript is a programming language that builds upon JavaScript by adding static typing, enabling developers to catch errors at compile time and write more maintainable code as compared to JavaScript.")]),_v(" "),_c('h4',{attrs:{"id":"resources"}},[_v("Resources:"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#resources","onclick":"event.stopPropagation()"}})]),_v(" "),_c('ol',[_c('li',[_c('a',{attrs:{"href":"https://www.typescriptlang.org/docs/handbook/intro.html"}},[_v("TypeScript Handbook")]),_v(" - Official documentation for TypeScript")])])])}
},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 Sat, 8 Feb 2025, 16:36:29 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 Sun, 9 Feb 2025, 7:49:50 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/students/AgentHagu/progress.html b/students/AgentHagu/progress.html
index f07c7324..d32c0106 100644
--- a/students/AgentHagu/progress.html
+++ b/students/AgentHagu/progress.html
@@ -12,7 +12,7 @@
const baseUrl = '/2025'
-
+
diff --git a/students/AgentHagu/progress.page-vue-render.js b/students/AgentHagu/progress.page-vue-render.js
index a3fb334c..18ba0e11 100644
--- a/students/AgentHagu/progress.page-vue-render.js
+++ b/students/AgentHagu/progress.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('h3',{attrs:{"id":"markbind"}},[_v("MarkBind"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#markbind","onclick":"event.stopPropagation()"}})]),_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/2584"}},[_v("Add optional absolute char indexing for highlighting #2584")])])]),_v(" "),_c('tr',[_c('td',[_v("2")]),_v(" "),_c('td',[_v("Responded to contributor queries: "),_c('a',{attrs:{"href":"https://github.com/MarkBind/markbind/pull/2584"}},[_v("#2584")])])])])])])])}
},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 Sat, 8 Feb 2025, 16:36:29 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 Sun, 9 Feb 2025, 7:49:50 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/students/Airiinnn/info.html b/students/Airiinnn/info.html
index 2bc24e45..714364d4 100644
--- a/students/Airiinnn/info.html
+++ b/students/Airiinnn/info.html
@@ -12,7 +12,7 @@
const baseUrl = '/2025'
-
+
diff --git a/students/Airiinnn/info.page-vue-render.js b/students/Airiinnn/info.page-vue-render.js
index 6f98f3be..0f2d6284 100644
--- a/students/Airiinnn/info.page-vue-render.js
+++ b/students/Airiinnn/info.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('p',[_c('span',{attrs:{"id":"github"}},[_c('a',{attrs:{"href":"https://www.github.com/Airiinnn"}},[_v("https://www.github.com/Airiinnn")])])]),_v(" "),_c('p',[_c('span',{attrs:{"id":"projects"}},[_c('a',{attrs:{"href":"https://github.com/reposense"}},[_v("RepoSense")])])])])}
},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 Sat, 8 Feb 2025, 16:36:29 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 Sun, 9 Feb 2025, 7:49:50 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/students/Airiinnn/knowledge.html b/students/Airiinnn/knowledge.html
index 3dc80ad6..ac70a728 100644
--- a/students/Airiinnn/knowledge.html
+++ b/students/Airiinnn/knowledge.html
@@ -12,7 +12,7 @@
const baseUrl = '/2025'
-
+
diff --git a/students/Airiinnn/knowledge.page-vue-render.js b/students/Airiinnn/knowledge.page-vue-render.js
index 4a2459c8..48eae14f 100644
--- a/students/Airiinnn/knowledge.page-vue-render.js
+++ b/students/Airiinnn/knowledge.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('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("...")])])}
},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 Sat, 8 Feb 2025, 16:36:29 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 Sun, 9 Feb 2025, 7:49:50 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/students/Airiinnn/progress.html b/students/Airiinnn/progress.html
index e76d98b2..91f5b1f6 100644
--- a/students/Airiinnn/progress.html
+++ b/students/Airiinnn/progress.html
@@ -12,7 +12,7 @@
const baseUrl = '/2025'
-
+
diff --git a/students/Airiinnn/progress.page-vue-render.js b/students/Airiinnn/progress.page-vue-render.js
index c00bf9a2..fbf45728 100644
--- a/students/Airiinnn/progress.page-vue-render.js
+++ b/students/Airiinnn/progress.page-vue-render.js
@@ -5,6 +5,6 @@ with(this){return _c('div',{attrs:{"id":"app"}},[_c('header',{attrs:{"fixed":""}
};
var pageVueStaticRenderFns = [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 Sat, 8 Feb 2025, 16:36:29 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 Sun, 9 Feb 2025, 7:49:50 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/students/Arif-Khalid/info.html b/students/Arif-Khalid/info.html
index 7badb0e3..cb4879f6 100644
--- a/students/Arif-Khalid/info.html
+++ b/students/Arif-Khalid/info.html
@@ -12,7 +12,7 @@
const baseUrl = '/2025'
-
+
diff --git a/students/Arif-Khalid/info.page-vue-render.js b/students/Arif-Khalid/info.page-vue-render.js
index e62c8b87..7debd1bd 100644
--- a/students/Arif-Khalid/info.page-vue-render.js
+++ b/students/Arif-Khalid/info.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('p',[_c('span',{attrs:{"id":"github"}},[_c('a',{attrs:{"href":"https://github.com/Arif-Khalid"}},[_v("https://github.com/Arif-Khalid")])])]),_v(" "),_c('p',[_c('span',{attrs:{"id":"projects"}},[_c('a',{attrs:{"href":"https://github.com/CATcher-org"}},[_v("CATcher")])])])])}
},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 Sat, 8 Feb 2025, 16:36:29 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 Sun, 9 Feb 2025, 7:49:50 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/students/Arif-Khalid/knowledge.html b/students/Arif-Khalid/knowledge.html
index 3dc80ad6..ac70a728 100644
--- a/students/Arif-Khalid/knowledge.html
+++ b/students/Arif-Khalid/knowledge.html
@@ -12,7 +12,7 @@
const baseUrl = '/2025'
-
+
diff --git a/students/Arif-Khalid/knowledge.page-vue-render.js b/students/Arif-Khalid/knowledge.page-vue-render.js
index 4a2459c8..48eae14f 100644
--- a/students/Arif-Khalid/knowledge.page-vue-render.js
+++ b/students/Arif-Khalid/knowledge.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('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("...")])])}
},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 Sat, 8 Feb 2025, 16:36:29 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 Sun, 9 Feb 2025, 7:49:50 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/students/Arif-Khalid/observations.html b/students/Arif-Khalid/observations.html
index be70950e..9f55702e 100644
--- a/students/Arif-Khalid/observations.html
+++ b/students/Arif-Khalid/observations.html
@@ -12,7 +12,7 @@
const baseUrl = '/2025'
-
+
diff --git a/students/Arif-Khalid/observations.page-vue-render.js b/students/Arif-Khalid/observations.page-vue-render.js
index dcaeca5a..943d4d3c 100644
--- a/students/Arif-Khalid/observations.page-vue-render.js
+++ b/students/Arif-Khalid/observations.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('h3',{attrs:{"id":"project-foo"}},[_v("Project: Foo"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#project-foo","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("Give an intro to the project here ...")]),_v(" "),_c('h3',{attrs:{"id":"my-contributions"}},[_v("My Contributions"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#my-contributions","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("Give a description of your contributions, including links to relevant PRs")]),_v(" "),_c('h3',{attrs:{"id":"my-learning-record"}},[_v("My Learning Record"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#my-learning-record","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("Give tools/technologies you learned here. Include resources you used, and a brief summary of the resource.")])])}
},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 Sat, 8 Feb 2025, 16:36:29 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 Sun, 9 Feb 2025, 7:49:50 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/students/Arif-Khalid/progress.html b/students/Arif-Khalid/progress.html
index e76d98b2..91f5b1f6 100644
--- a/students/Arif-Khalid/progress.html
+++ b/students/Arif-Khalid/progress.html
@@ -12,7 +12,7 @@
const baseUrl = '/2025'
-
+
diff --git a/students/Arif-Khalid/progress.page-vue-render.js b/students/Arif-Khalid/progress.page-vue-render.js
index c00bf9a2..fbf45728 100644
--- a/students/Arif-Khalid/progress.page-vue-render.js
+++ b/students/Arif-Khalid/progress.page-vue-render.js
@@ -5,6 +5,6 @@ with(this){return _c('div',{attrs:{"id":"app"}},[_c('header',{attrs:{"fixed":""}
};
var pageVueStaticRenderFns = [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 Sat, 8 Feb 2025, 16:36:29 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 Sun, 9 Feb 2025, 7:49:50 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/students/BunnyHoppp/info.html b/students/BunnyHoppp/info.html
index b783bfdc..8ddff8af 100644
--- a/students/BunnyHoppp/info.html
+++ b/students/BunnyHoppp/info.html
@@ -12,7 +12,7 @@
const baseUrl = '/2025'
-
+
diff --git a/students/BunnyHoppp/info.page-vue-render.js b/students/BunnyHoppp/info.page-vue-render.js
index 44c1d226..a263cae9 100644
--- a/students/BunnyHoppp/info.page-vue-render.js
+++ b/students/BunnyHoppp/info.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('p',[_c('span',{attrs:{"id":"github"}},[_c('a',{attrs:{"href":"https://www.github.com/BunnyHoppp"}},[_v("https://www.github.com/BunnyHoppp")])])]),_v(" "),_c('p',[_c('span',{attrs:{"id":"projects"}},[_c('a',{attrs:{"href":"https://github.com/TEAMMATES/teammates"}},[_v("TEAMMATES")])])])])}
},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 Sat, 8 Feb 2025, 16:36:29 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 Sun, 9 Feb 2025, 7:49:50 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/students/BunnyHoppp/knowledge.html b/students/BunnyHoppp/knowledge.html
index 89e9d851..af5108c4 100644
--- a/students/BunnyHoppp/knowledge.html
+++ b/students/BunnyHoppp/knowledge.html
@@ -14,7 +14,7 @@
+- For instance, I only realised that using
when()
does not call the actual method itself.
diff --git a/students/BunnyHoppp/knowledge.page-vue-render.js b/students/BunnyHoppp/knowledge.page-vue-render.js
index 07a35c6f..79310c19 100644
--- a/students/BunnyHoppp/knowledge.page-vue-render.js
+++ b/students/BunnyHoppp/knowledge.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('h3',{attrs:{"id":"tool-technology-1-mockito"}},[_v("Tool/Technology 1 : "),_c('em',[_v("Mockito")]),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#tool-technology-1-mockito","onclick":"event.stopPropagation()"}})]),_v(" "),_c('h4',{attrs:{"id":"aspects-learnt"}},[_v("Aspects Learnt:"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#aspects-learnt","onclick":"event.stopPropagation()"}})]),_v(" "),_c('ul',[_c('li',[_v("Mockito is a mocking framework for unit tests to mock dependencies.")]),_v(" "),_c('li',[_v("One interesting thing about Mockito is that it can be used to reduce dependencies by creating test stubs of certain classes.\n"),_c('ul',[_c('li',[_v("For instance, the Logic class is stubbed using "),_c('code',{pre:true,attrs:{"class":"hljs inline no-lang"}},[_v("mock()")]),_v(", creating a test stub for "),_c('code',{pre:true,attrs:{"class":"hljs inline no-lang"}},[_v("Logic")]),_v(".")])])]),_v(" "),_c('li',[_v("Mockito has "),_c('code',{pre:true,attrs:{"class":"hljs inline no-lang"}},[_v("when()")]),_v(" that allows you to specify a "),_c('code',{pre:true,attrs:{"class":"hljs inline no-lang"}},[_v("return object")]),_v(" using "),_c('code',{pre:true,attrs:{"class":"hljs inline no-lang"}},[_v("thenReturn()")]),_v(" without running the actual method. This can reduce the chances of any bugs from dependencies affecting the unit test.")]),_v(" "),_c('li',[_v("Mockito has "),_c('code',{pre:true,attrs:{"class":"hljs inline no-lang"}},[_v("verify()")]),_v(" that allows you to verify if a certain method call has been made. I think this helps greatly in debugging especially in a large code base.")])]),_v(" "),_c('h4',{attrs:{"id":"resources-used"}},[_v("Resources used:"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#resources-used","onclick":"event.stopPropagation()"}})]),_v(" "),_c('ul',[_c('li',[_v("I used the original "),_c('a',{attrs:{"href":"https://site.mockito.org/"}},[_v("documentation")]),_v(" to learn how it runs.")]),_v(" "),_c('li',[_v("Overall, the documentation helps with what the method does, but I had to test out what they mean using the test cases that I am working on to test the result\n"),_c('ul',[_c('li',[_v("For instance, I only realised that using "),_c('code',{pre:true,attrs:{"class":"hljs inline no-lang"}},[_v("when()")]),_v(" does not call the actual method itself.")])])])])])}
},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 Sat, 8 Feb 2025, 16:36:29 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 Sun, 9 Feb 2025, 7:49:50 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/students/BunnyHoppp/progress.html b/students/BunnyHoppp/progress.html
index 56cc3cc0..0ad3459f 100644
--- a/students/BunnyHoppp/progress.html
+++ b/students/BunnyHoppp/progress.html
@@ -12,7 +12,7 @@
const baseUrl = '/2025'
-
+
diff --git a/students/BunnyHoppp/progress.page-vue-render.js b/students/BunnyHoppp/progress.page-vue-render.js
index dd7f508b..43f9d4d1 100644
--- a/students/BunnyHoppp/progress.page-vue-render.js
+++ b/students/BunnyHoppp/progress.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('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("4")]),_v(" "),_c('td',[_v("Authored PR: "),_c('a',{attrs:{"href":"https://github.com/TEAMMATES/teammates/pull/13218"}},[_v("[#12048] Migrate tests for DeleteFeedbackQuestionActionTest #13218")])])])])])])])}
},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 Sat, 8 Feb 2025, 16:36:29 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 Sun, 9 Feb 2025, 7:49:50 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/students/CYX22222003/info.html b/students/CYX22222003/info.html
index b6284ad5..fecff63c 100644
--- a/students/CYX22222003/info.html
+++ b/students/CYX22222003/info.html
@@ -12,7 +12,7 @@
const baseUrl = '/2025'
-
+
diff --git a/students/CYX22222003/info.page-vue-render.js b/students/CYX22222003/info.page-vue-render.js
index 3041b58e..5b49eefe 100644
--- a/students/CYX22222003/info.page-vue-render.js
+++ b/students/CYX22222003/info.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('p',[_c('span',{attrs:{"id":"github"}},[_c('a',{attrs:{"href":"https://www.github.com/CYX22222003"}},[_v("https://www.github.com/CYX22222003")])])]),_v(" "),_c('p',[_c('span',{attrs:{"id":"projects"}},[_c('a',{attrs:{"href":"https://github.com/RepoSense"}},[_v("RepoSense")]),_v(", "),_c('a',{attrs:{"href":""}},[_v("Project2")])])])])}
},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 Sat, 8 Feb 2025, 16:36:29 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 Sun, 9 Feb 2025, 7:49:50 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/students/CYX22222003/knowledge.html b/students/CYX22222003/knowledge.html
index c5e6b414..eee736a1 100644
--- a/students/CYX22222003/knowledge.html
+++ b/students/CYX22222003/knowledge.html
@@ -12,7 +12,7 @@
const baseUrl = '/2025'
-
+
diff --git a/students/CYX22222003/knowledge.page-vue-render.js b/students/CYX22222003/knowledge.page-vue-render.js
index fa809ab0..8d7c31f4 100644
--- a/students/CYX22222003/knowledge.page-vue-render.js
+++ b/students/CYX22222003/knowledge.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('h3',{attrs:{"id":"gradle"}},[_v("Gradle"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#gradle","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("The Gradle build typically include three phases: initialization, configuration and execution.")]),_v(" "),_c('p',[_v("There are four fundamental components in Gradle: Projects, build scripts, tasks and plugin.")]),_v(" "),_c('p',[_v("A project typically corresponds to a software component that needs to be built, like a library or an application. It might represent a library JAR, a web application, or a distribution ZIP assembled from the JARs produced by other projects. There is a one-to-one relationship between projects and build scripts.")]),_v(" "),_c('p',[_v("The build script configures the project based on certain rules. It can add plugins to the build process, load dependencies and set up and configure tasks, i.e. individual unit of work that the build process will perform. Plugins can introduce new tasks, object and conventions to abstract duplicating configuration block, increasing the modularity and reusability fo the buld script.")]),_v(" "),_c('p',[_v("Resources:")]),_v(" "),_c('ul',[_c('li',[_c('a',{attrs:{"href":"https://tomgregory.com/gradle/gradle-tutorial-for-complete-beginners"}},[_v("https://tomgregory.com/gradle/gradle-tutorial-for-complete-beginners")])]),_v(" "),_c('li',[_c('a',{attrs:{"href":"https://docs.gradle.org/current/userguide/userguide.html"}},[_v("https://docs.gradle.org/current/userguide/userguide.html")])])]),_v(" "),_c('h3',{attrs:{"id":"vue-framework"}},[_v("Vue framework"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#vue-framework","onclick":"event.stopPropagation()"}})]),_v(" "),_c('h3',{attrs:{"id":"java-gson-library"}},[_v("Java Gson library"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#java-gson-library","onclick":"event.stopPropagation()"}})]),_v(" "),_c('h3',{attrs:{"id":"advanced-git-commands"}},[_v("Advanced git commands"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#advanced-git-commands","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 Sat, 8 Feb 2025, 16:36:29 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 Sun, 9 Feb 2025, 7:49:50 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/students/CYX22222003/progress.html b/students/CYX22222003/progress.html
index f9ba0f8c..efa15b75 100644
--- a/students/CYX22222003/progress.html
+++ b/students/CYX22222003/progress.html
@@ -12,7 +12,7 @@
const baseUrl = '/2025'
-
+
diff --git a/students/CYX22222003/progress.page-vue-render.js b/students/CYX22222003/progress.page-vue-render.js
index d663c308..0432c773 100644
--- a/students/CYX22222003/progress.page-vue-render.js
+++ b/students/CYX22222003/progress.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('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("2")]),_v(" "),_c('td',[_v("Submitted issue: "),_c('a',{attrs:{"href":"https://github.com/reposense/RepoSense/issues/2267"}},[_v("Hints containing outdated classes in the developer guide")])])]),_v(" "),_c('tr',[_c('td',[_v("2")]),_v(" "),_c('td',[_v("Responded to contributor queries: "),_c('a',{attrs:{"href":"https://github.com/reposense/RepoSense/issues/2262"}},[_v("Old dashboards failing due to com.google.gson.JsonIOException")])])]),_v(" "),_c('tr',[_c('td',[_v("3")]),_v(" "),_c('td',[_v("Authored PR: "),_c('a',{attrs:{"href":"https://github.com/reposense/RepoSense/pull/2270"}},[_v("[#2262] Update type adapter adding methods for gson builder")])])]),_v(" "),_c('tr',[_c('td',[_v("3")]),_v(" "),_c('td',[_v("Authored PR: "),_c('a',{attrs:{"href":"https://github.com/reposense/RepoSense/pull/2271"}},[_v("[#2269] Update codecov version ")])])]),_v(" "),_c('tr',[_c('td',[_v("3")]),_v(" "),_c('td',[_v("Authored PR: "),_c('a',{attrs:{"href":"https://github.com/reposense/RepoSense/pull/2278"}},[_v("[#2277] Fix cypress setting up error")])])]),_v(" "),_c('tr',[_c('td',[_v("3")]),_v(" "),_c('td',[_v("Authored PR: "),_c('a',{attrs:{"href":"https://github.com/reposense/publish-RepoSense/pull/15"}},[_v("[#2258] Update Netlify build")])])]),_v(" "),_c('tr',[_c('td',[_v("3")]),_v(" "),_c('td',[_v("Submitted Issues: "),_c('a',{attrs:{"href":"https://github.com/reposense/RepoSense/issues/2277"}},[_v("Fix failing Cypress frontend test CI run ")])])]),_v(" "),_c('tr',[_c('td',[_v("3")]),_v(" "),_c('td',[_v("Responded to contributor queries: "),_c('a',{attrs:{"href":"https://github.com/reposense/RepoSense/issues/2269"}},[_v("Fix failing Codecov runs")])])]),_v(" "),_c('tr',[_c('td',[_v("3")]),_v(" "),_c('td',[_v("Responded to contributor queries: "),_c('a',{attrs:{"href":"https://github.com/reposense/RepoSense/issues/2258"}},[_v("Netlify Deployment Instructions No Longer Work")])])]),_v(" "),_c('tr',[_c('td',[_v("3")]),_v(" "),_c('td',[_v("Reviewed PR: "),_c('a',{attrs:{"href":"https://github.com/reposense/RepoSense/pull/2268"}},[_v("[#2265][#2267]Fix outdated suggested solution for backend Task 1")])])]),_v(" "),_c('tr',[_c('td',[_v("4")]),_v(" "),_c('td',[_v("Submitted issue: "),_c('a',{attrs:{"href":"https://github.com/reposense/RepoSense/issues/2280"}},[_v("Specify different time periods for different repos (backend) ")])])]),_v(" "),_c('tr',[_c('td',[_v("4")]),_v(" "),_c('td',[_v("Reviewd PR: "),_c('a',{attrs:{"href":"https://github.com/reposense/RepoSense/pull/2279"}},[_v("[#2213] Fix hr element not appearing in report")])])]),_v(" "),_c('tr',[_c('td',[_v("4")]),_v(" "),_c('td',[_v("Authored PR: "),_c('a',{attrs:{"href":"https://github.com/reposense/RepoSense/pull/2281"}},[_v("[2280] Specify time periods for different repos in csv config")])])])])])])])}
},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 Sat, 8 Feb 2025, 16:36:29 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 Sun, 9 Feb 2025, 7:49:50 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/students/DhiraPT/info.html b/students/DhiraPT/info.html
index 7aff17c6..7fbed44c 100644
--- a/students/DhiraPT/info.html
+++ b/students/DhiraPT/info.html
@@ -12,7 +12,7 @@
const baseUrl = '/2025'
-
+
diff --git a/students/DhiraPT/info.page-vue-render.js b/students/DhiraPT/info.page-vue-render.js
index 59ab3d9e..7f841d7a 100644
--- a/students/DhiraPT/info.page-vue-render.js
+++ b/students/DhiraPT/info.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('p',[_c('span',{attrs:{"id":"github"}},[_c('a',{attrs:{"href":"https://www.github.com/DhiraPT"}},[_v("https://www.github.com/DhiraPT")])])]),_v(" "),_c('p',[_c('span',{attrs:{"id":"projects"}},[_c('a',{attrs:{"href":"https://github.com/TEAMMATES/teammates"}},[_v("TEAMMATES")]),_v(", "),_c('a',{attrs:{"href":""}},[_v("Project2")])])])])}
},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 Sat, 8 Feb 2025, 16:36:29 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 Sun, 9 Feb 2025, 7:49:50 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/students/DhiraPT/knowledge.html b/students/DhiraPT/knowledge.html
index 3dc80ad6..ac70a728 100644
--- a/students/DhiraPT/knowledge.html
+++ b/students/DhiraPT/knowledge.html
@@ -12,7 +12,7 @@
const baseUrl = '/2025'
-
+
diff --git a/students/DhiraPT/knowledge.page-vue-render.js b/students/DhiraPT/knowledge.page-vue-render.js
index 4a2459c8..48eae14f 100644
--- a/students/DhiraPT/knowledge.page-vue-render.js
+++ b/students/DhiraPT/knowledge.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('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("...")])])}
},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 Sat, 8 Feb 2025, 16:36:29 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 Sun, 9 Feb 2025, 7:49:50 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/students/DhiraPT/progress.html b/students/DhiraPT/progress.html
index addbc98c..9273ddfc 100644
--- a/students/DhiraPT/progress.html
+++ b/students/DhiraPT/progress.html
@@ -12,7 +12,7 @@
const baseUrl = '/2025'
-
+
diff --git a/students/DhiraPT/progress.page-vue-render.js b/students/DhiraPT/progress.page-vue-render.js
index ddc496e5..d41b3604 100644
--- a/students/DhiraPT/progress.page-vue-render.js
+++ b/students/DhiraPT/progress.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('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("2")]),_v(" "),_c('td',[_v("Submitted Issue: "),_c('a',{attrs:{"href":"https://github.com/TEAMMATES/teammates/issues/13199"}},[_v("Duplicate Feedback Sessions Appear on Student Page #13199")])])])])])])])}
},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 Sat, 8 Feb 2025, 16:36:29 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 Sun, 9 Feb 2025, 7:49:50 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/students/Echomo-Xinyu/info.html b/students/Echomo-Xinyu/info.html
index 9f4b3219..045f1394 100644
--- a/students/Echomo-Xinyu/info.html
+++ b/students/Echomo-Xinyu/info.html
@@ -12,7 +12,7 @@
const baseUrl = '/2025'
-
+
diff --git a/students/Echomo-Xinyu/info.page-vue-render.js b/students/Echomo-Xinyu/info.page-vue-render.js
index 7da2ac9a..9024b164 100644
--- a/students/Echomo-Xinyu/info.page-vue-render.js
+++ b/students/Echomo-Xinyu/info.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('p',[_c('span',{attrs:{"id":"github"}},[_c('a',{attrs:{"href":"https://www.github.com/Echomo-Xinyu"}},[_v("https://www.github.com/Echomo-Xinyu")])])]),_v(" "),_c('p',[_c('span',{attrs:{"id":"projects"}},[_c('a',{attrs:{"href":"https://github.com/CATcher-org/CATcher"}},[_v("CATcher")])])])])}
},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 Sat, 8 Feb 2025, 16:36:29 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 Sun, 9 Feb 2025, 7:49:50 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/students/Echomo-Xinyu/knowledge.html b/students/Echomo-Xinyu/knowledge.html
index 3dc80ad6..ac70a728 100644
--- a/students/Echomo-Xinyu/knowledge.html
+++ b/students/Echomo-Xinyu/knowledge.html
@@ -12,7 +12,7 @@
const baseUrl = '/2025'
-
+
diff --git a/students/Echomo-Xinyu/knowledge.page-vue-render.js b/students/Echomo-Xinyu/knowledge.page-vue-render.js
index 4a2459c8..48eae14f 100644
--- a/students/Echomo-Xinyu/knowledge.page-vue-render.js
+++ b/students/Echomo-Xinyu/knowledge.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('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("...")])])}
},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 Sat, 8 Feb 2025, 16:36:29 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 Sun, 9 Feb 2025, 7:49:50 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/students/Echomo-Xinyu/observations.html b/students/Echomo-Xinyu/observations.html
index be70950e..9f55702e 100644
--- a/students/Echomo-Xinyu/observations.html
+++ b/students/Echomo-Xinyu/observations.html
@@ -12,7 +12,7 @@
const baseUrl = '/2025'
-
+
diff --git a/students/Echomo-Xinyu/observations.page-vue-render.js b/students/Echomo-Xinyu/observations.page-vue-render.js
index dcaeca5a..943d4d3c 100644
--- a/students/Echomo-Xinyu/observations.page-vue-render.js
+++ b/students/Echomo-Xinyu/observations.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('h3',{attrs:{"id":"project-foo"}},[_v("Project: Foo"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#project-foo","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("Give an intro to the project here ...")]),_v(" "),_c('h3',{attrs:{"id":"my-contributions"}},[_v("My Contributions"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#my-contributions","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("Give a description of your contributions, including links to relevant PRs")]),_v(" "),_c('h3',{attrs:{"id":"my-learning-record"}},[_v("My Learning Record"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#my-learning-record","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("Give tools/technologies you learned here. Include resources you used, and a brief summary of the resource.")])])}
},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 Sat, 8 Feb 2025, 16:36:29 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 Sun, 9 Feb 2025, 7:49:50 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/students/Echomo-Xinyu/progress.html b/students/Echomo-Xinyu/progress.html
index e76d98b2..91f5b1f6 100644
--- a/students/Echomo-Xinyu/progress.html
+++ b/students/Echomo-Xinyu/progress.html
@@ -12,7 +12,7 @@
const baseUrl = '/2025'
-
+
diff --git a/students/Echomo-Xinyu/progress.page-vue-render.js b/students/Echomo-Xinyu/progress.page-vue-render.js
index c00bf9a2..fbf45728 100644
--- a/students/Echomo-Xinyu/progress.page-vue-render.js
+++ b/students/Echomo-Xinyu/progress.page-vue-render.js
@@ -5,6 +5,6 @@ with(this){return _c('div',{attrs:{"id":"app"}},[_c('header',{attrs:{"fixed":""}
};
var pageVueStaticRenderFns = [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 Sat, 8 Feb 2025, 16:36:29 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 Sun, 9 Feb 2025, 7:49:50 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/students/Eclipse-Dominator/info.html b/students/Eclipse-Dominator/info.html
index 1fc9a769..21bdc880 100644
--- a/students/Eclipse-Dominator/info.html
+++ b/students/Eclipse-Dominator/info.html
@@ -12,7 +12,7 @@
const baseUrl = '/2025'
-
+
diff --git a/students/Eclipse-Dominator/info.page-vue-render.js b/students/Eclipse-Dominator/info.page-vue-render.js
index 206cd8fe..e5af3507 100644
--- a/students/Eclipse-Dominator/info.page-vue-render.js
+++ b/students/Eclipse-Dominator/info.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('p',[_c('span',{attrs:{"id":"github"}},[_c('a',{attrs:{"href":"https://www.github.com/Eclipse-Dominator"}},[_v("https://www.github.com/Eclipse-Dominator")])])]),_v(" "),_c('p',[_c('span',{attrs:{"id":"projects"}},[_c('a',{attrs:{"href":"https://www.github.com/CATcher-org/CATcher/"}},[_v("CATcher")]),_c('span')])])])}
},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 Sat, 8 Feb 2025, 16:36:29 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 Sun, 9 Feb 2025, 7:49:50 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/students/Eclipse-Dominator/knowledge.html b/students/Eclipse-Dominator/knowledge.html
index 3dc80ad6..ac70a728 100644
--- a/students/Eclipse-Dominator/knowledge.html
+++ b/students/Eclipse-Dominator/knowledge.html
@@ -12,7 +12,7 @@
const baseUrl = '/2025'
-
+
diff --git a/students/Eclipse-Dominator/knowledge.page-vue-render.js b/students/Eclipse-Dominator/knowledge.page-vue-render.js
index 4a2459c8..48eae14f 100644
--- a/students/Eclipse-Dominator/knowledge.page-vue-render.js
+++ b/students/Eclipse-Dominator/knowledge.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('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("...")])])}
},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 Sat, 8 Feb 2025, 16:36:29 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 Sun, 9 Feb 2025, 7:49:50 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/students/Eclipse-Dominator/observations.html b/students/Eclipse-Dominator/observations.html
index be70950e..9f55702e 100644
--- a/students/Eclipse-Dominator/observations.html
+++ b/students/Eclipse-Dominator/observations.html
@@ -12,7 +12,7 @@
const baseUrl = '/2025'
-
+
diff --git a/students/Eclipse-Dominator/observations.page-vue-render.js b/students/Eclipse-Dominator/observations.page-vue-render.js
index dcaeca5a..943d4d3c 100644
--- a/students/Eclipse-Dominator/observations.page-vue-render.js
+++ b/students/Eclipse-Dominator/observations.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('h3',{attrs:{"id":"project-foo"}},[_v("Project: Foo"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#project-foo","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("Give an intro to the project here ...")]),_v(" "),_c('h3',{attrs:{"id":"my-contributions"}},[_v("My Contributions"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#my-contributions","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("Give a description of your contributions, including links to relevant PRs")]),_v(" "),_c('h3',{attrs:{"id":"my-learning-record"}},[_v("My Learning Record"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#my-learning-record","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("Give tools/technologies you learned here. Include resources you used, and a brief summary of the resource.")])])}
},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 Sat, 8 Feb 2025, 16:36:29 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 Sun, 9 Feb 2025, 7:49:50 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/students/Eclipse-Dominator/progress.html b/students/Eclipse-Dominator/progress.html
index e76d98b2..91f5b1f6 100644
--- a/students/Eclipse-Dominator/progress.html
+++ b/students/Eclipse-Dominator/progress.html
@@ -12,7 +12,7 @@
const baseUrl = '/2025'
-
+
diff --git a/students/Eclipse-Dominator/progress.page-vue-render.js b/students/Eclipse-Dominator/progress.page-vue-render.js
index c00bf9a2..fbf45728 100644
--- a/students/Eclipse-Dominator/progress.page-vue-render.js
+++ b/students/Eclipse-Dominator/progress.page-vue-render.js
@@ -5,6 +5,6 @@ with(this){return _c('div',{attrs:{"id":"app"}},[_c('header',{attrs:{"fixed":""}
};
var pageVueStaticRenderFns = [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 Sat, 8 Feb 2025, 16:36:29 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 Sun, 9 Feb 2025, 7:49:50 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/students/HollaG/info.html b/students/HollaG/info.html
index cc9dae5f..688f96ac 100644
--- a/students/HollaG/info.html
+++ b/students/HollaG/info.html
@@ -12,7 +12,7 @@
const baseUrl = '/2025'
-
+
diff --git a/students/HollaG/info.page-vue-render.js b/students/HollaG/info.page-vue-render.js
index f660eb8d..8a45b0d9 100644
--- a/students/HollaG/info.page-vue-render.js
+++ b/students/HollaG/info.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('p',[_c('span',{attrs:{"id":"github"}},[_c('a',{attrs:{"href":"https://www.github.com/hollag"}},[_v("https://www.github.com/hollag")])])]),_v(" "),_c('p',[_c('span',{attrs:{"id":"projects"}},[_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")])])])])}
},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 Sat, 8 Feb 2025, 16:36:29 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 Sun, 9 Feb 2025, 7:49:50 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/students/HollaG/knowledge.html b/students/HollaG/knowledge.html
index 14bbe868..ae30fbb2 100644
--- a/students/HollaG/knowledge.html
+++ b/students/HollaG/knowledge.html
@@ -14,7 +14,7 @@
+Services are kept in a separate directory /services/*. ...
diff --git a/students/HollaG/knowledge.page-vue-render.js b/students/HollaG/knowledge.page-vue-render.js
index 19a2dfa0..436aaa05 100644
--- a/students/HollaG/knowledge.page-vue-render.js
+++ b/students/HollaG/knowledge.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('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('h4',{attrs:{"id":"angular"}},[_v("Angular"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#angular","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("Angular is the main tool used in both CATcher and WATcher. It is based on TypeScript.")]),_v(" "),_c('p',[_v("Angular is a component-based framework.\nEach component is generated with:")]),_v(" "),_c('ol',[_c('li',[_v("*.component.ts")]),_v(" "),_c('li',[_v("*.component.html")]),_v(" "),_c('li',[_v("*.component.css")])]),_v(" "),_c('p',[_v("Component state is maintained in the .ts file. These state variables can be bound to HTML elements through use of curly braces {{}}.")]),_v(" "),_c('p',[_v("Angular offers directives such as ngIf, ngFor that allow us to \"use\" JS in the HTML files.")]),_v(" "),_c('p',[_v("Services are used for processing, for tasks that don't involve what the user sees. This is different from the .component file, which directly handles things the users see.\nServices are kept in a separate directory /services/*.")]),_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("...")])])}
},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 Sat, 8 Feb 2025, 16:36:29 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 Sun, 9 Feb 2025, 7:49:50 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/students/HollaG/progress.html b/students/HollaG/progress.html
index f1f08541..3f6ce655 100644
--- a/students/HollaG/progress.html
+++ b/students/HollaG/progress.html
@@ -12,7 +12,7 @@
const baseUrl = '/2025'
-
+
diff --git a/students/HollaG/progress.page-vue-render.js b/students/HollaG/progress.page-vue-render.js
index 9b2609d5..a7bcbf18 100644
--- a/students/HollaG/progress.page-vue-render.js
+++ b/students/HollaG/progress.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('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("Submitted PR "),_c('a',{attrs:{"href":"https://github.com/CATcher-org/WATcher/pull/391"}},[_v("#391")])])]),_v(" "),_c('tr',[_c('td',[_v("2")]),_v(" "),_c('td',[_v("Contributed to issue "),_c('a',{attrs:{"href":"https://github.com/CATcher-org/WATcher/issues/363"}},[_v("#363")])])]),_v(" "),_c('tr',[_c('td',[_v("2")]),_v(" "),_c('td',[_v("Created issue "),_c('a',{attrs:{"href":"https://github.com/CATcher-org/WATcher/issues/396"}},[_v("#396")])])]),_v(" "),_c('tr',[_c('td',[_v("3")]),_v(" "),_c('td',[_v("Created issue "),_c('a',{attrs:{"href":"https://github.com/CATcher-org/WATcher/issues/401"}},[_v("#401")])])])])])])])}
},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 Sat, 8 Feb 2025, 16:36:29 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 Sun, 9 Feb 2025, 7:49:50 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/students/IanCheah/info.html b/students/IanCheah/info.html
index 592b352a..da074c62 100644
--- a/students/IanCheah/info.html
+++ b/students/IanCheah/info.html
@@ -12,7 +12,7 @@
const baseUrl = '/2025'
-
+
diff --git a/students/IanCheah/info.page-vue-render.js b/students/IanCheah/info.page-vue-render.js
index bc0e224d..c6156209 100644
--- a/students/IanCheah/info.page-vue-render.js
+++ b/students/IanCheah/info.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('p',[_c('span',{attrs:{"id":"github"}},[_c('a',{attrs:{"href":"https://www.github.com/IanCheah"}},[_v("https://www.github.com/IanCheah")])])]),_v(" "),_c('p',[_c('span',{attrs:{"id":"projects"}},[_c('a',{attrs:{"href":"https://github.com/MarkBind/markbind"}},[_v("MarkBind")]),_v(", "),_c('a',{attrs:{"href":""}},[_v("Project2")])])])])}
},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 Sat, 8 Feb 2025, 16:36:29 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 Sun, 9 Feb 2025, 7:49:50 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/students/IanCheah/knowledge.html b/students/IanCheah/knowledge.html
index 4d680bfd..bba36885 100644
--- a/students/IanCheah/knowledge.html
+++ b/students/IanCheah/knowledge.html
@@ -13,7 +13,7 @@
+properties are automatically updates when the underlying data changes. Others
1. Adding Hyperlinks in HTML and Markdown
When writing in Markdown, hyperlinks are created using a specific syntax, but behind the scenes, this Markdown code is converted into HTML.
In Markdown, we use syntax like [Java Docs](https://docs.oracle.com/javase/8/docs/api/java/lang/String.html)
to create a hyperlink. When the Markdown is converted to HTML, it generates an anchor tag in the form of <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html">Java Docs</a>
. This would open the link in the same tab, as no additional attributes are specified.
In contrast, when we write HTML durectly, we can specify additional attributes, such as target="_blank"
, to control how the link behaves. Using the same example, <a href="https://markbind.org/userGuide/templates.html" target="_blank">User Guide: Templates</a>
will ensure that the link opens in a new tab.
diff --git a/students/IanCheah/knowledge.page-vue-render.js b/students/IanCheah/knowledge.page-vue-render.js
index 7146ae40..26070784 100644
--- a/students/IanCheah/knowledge.page-vue-render.js
+++ b/students/IanCheah/knowledge.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('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('h1',{attrs:{"id":"specific-to-vue"}},[_v("Specific to Vue"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#specific-to-vue","onclick":"event.stopPropagation()"}})]),_v(" "),_c('h3',{attrs:{"id":"1-components-of-vue"}},[_v("1. Components of Vue"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#1-components-of-vue","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("A Vue component typically consists of three main sections.")]),_v(" "),_c('ul',[_c('li',[_v("Template: this defines the HTML structure")]),_v(" "),_c('li',[_v("Script: Contains the logic and data for the component")]),_v(" "),_c('li',[_v("Style: Defines the CSS specific to the component")])]),_v(" "),_c('h3',{attrs:{"id":"2-using-computed-properties-in-vue-js"}},[_v("2. Using Computed Properties in Vue.js"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#2-using-computed-properties-in-vue-js","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("When doing experimental changes, I thought of letting users specify things like font size, font type, etc. Upon looking up the other components and stackoverflow, this is what I found")]),_v(" "),_c('ul',[_c('li',[_v("In a basic Vue component, we can define a computed property by plaing it in the "),_c('code',{pre:true,attrs:{"class":"hljs inline no-lang"}},[_v("computed")]),_v(" option. These\nproperties are automatically updates when the underlying data changes.")])]),_v(" "),_c('h1',{attrs:{"id":"others"}},[_v("Others"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#others","onclick":"event.stopPropagation()"}})]),_v(" "),_c('h3',{attrs:{"id":"1-adding-hyperlinks-in-html-and-markdown"}},[_v("1. Adding Hyperlinks in HTML and Markdown"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#1-adding-hyperlinks-in-html-and-markdown","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("When writing in Markdown, hyperlinks are created using a specific syntax, but behind the scenes, this Markdown code is converted into HTML.")]),_v(" "),_c('ul',[_c('li',[_c('p',[_v("In Markdown, we use syntax like "),_c('code',{pre:true,attrs:{"class":"hljs inline no-lang"}},[_v("[Java Docs](https://docs.oracle.com/javase/8/docs/api/java/lang/String.html)")]),_v(" to create a hyperlink. When the Markdown is converted to HTML, it generates an anchor tag in the form of "),_c('code',{pre:true,attrs:{"class":"hljs inline no-lang"}},[_v("Java Docs")]),_v(". This would open the link in the same tab, as no additional attributes are specified.")])]),_v(" "),_c('li',[_c('p',[_v("In contrast, when we write HTML durectly, we can specify additional attributes, such as "),_c('code',{pre:true,attrs:{"class":"hljs inline no-lang"}},[_v("target=\"_blank\"")]),_v(", to control how the link behaves. Using the same example, "),_c('code',{pre:true,attrs:{"class":"hljs inline no-lang"}},[_v("User Guide: Templates")]),_v(" will ensure that the link opens in a new tab.")])])])])}
},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 Sat, 8 Feb 2025, 16:36:29 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 Sun, 9 Feb 2025, 7:49:50 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/students/IanCheah/progress.html b/students/IanCheah/progress.html
index 96384421..c147fbb5 100644
--- a/students/IanCheah/progress.html
+++ b/students/IanCheah/progress.html
@@ -12,7 +12,7 @@
const baseUrl = '/2025'
-
+
diff --git a/students/IanCheah/progress.page-vue-render.js b/students/IanCheah/progress.page-vue-render.js
index 0cce376b..c4ee56d7 100644
--- a/students/IanCheah/progress.page-vue-render.js
+++ b/students/IanCheah/progress.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('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("Progress so far")])])]),_v(" "),_c('tbody',[_c('tr',[_c('td',[_v("2")]),_v(" "),_c('td',[_v("Working on PR: "),_c('a',{attrs:{"href":"https://github.com/MarkBind/markbind/issues/2468"}},[_v("Allow users to define the height/width in percentages for Pic and Annotate")])])])])])])])}
},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 Sat, 8 Feb 2025, 16:36:29 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 Sun, 9 Feb 2025, 7:49:50 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/students/Incogdino/info.html b/students/Incogdino/info.html
index 5a05a3b6..6a322a42 100644
--- a/students/Incogdino/info.html
+++ b/students/Incogdino/info.html
@@ -12,7 +12,7 @@
const baseUrl = '/2025'
-
+
diff --git a/students/Incogdino/info.page-vue-render.js b/students/Incogdino/info.page-vue-render.js
index 5a23ba59..0d437020 100644
--- a/students/Incogdino/info.page-vue-render.js
+++ b/students/Incogdino/info.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('p',[_c('span',{attrs:{"id":"github"}},[_c('a',{attrs:{"href":"https://github.com/Incogdino"}},[_v("https://github.com/Incogdino")])])]),_v(" "),_c('p',[_c('span',{attrs:{"id":"projects"}},[_c('a',{attrs:{"href":"https://github.com/MarkBind/markbind"}},[_v("Markbind")]),_v(", "),_c('a',{attrs:{"href":""}},[_v("Project2")])])])])}
},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 Sat, 8 Feb 2025, 16:36:29 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 Sun, 9 Feb 2025, 7:49:50 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/students/Incogdino/knowledge.html b/students/Incogdino/knowledge.html
index 890b0f6b..ba0cb275 100644
--- a/students/Incogdino/knowledge.html
+++ b/students/Incogdino/knowledge.html
@@ -12,7 +12,7 @@
const baseUrl = '/2025'
-
+
diff --git a/students/Incogdino/knowledge.page-vue-render.js b/students/Incogdino/knowledge.page-vue-render.js
index c7772757..39b77d35 100644
--- a/students/Incogdino/knowledge.page-vue-render.js
+++ b/students/Incogdino/knowledge.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('h3',{attrs:{"id":"vue-components"}},[_v("Vue components"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#vue-components","onclick":"event.stopPropagation()"}})]),_v(" "),_c('ul',[_c('li',[_v("Properties are being passed to vue components as props. These properties specifies the different configurations of the html templates.")]),_v(" "),_c('li',[_v("Content passed by the "),_c('code',{pre:true,attrs:{"class":"hljs inline no-lang"}},[_v("slots")]),_v(" API are considered to be owned by the parent component that passes them in and so styles do not apply to them. To apply styles to these components, target the surrounding container and then the style using a CSS selector such as "),_c('code',{pre:true,attrs:{"class":"hljs inline no-lang"}},[_v(".someClass > *")])])]),_v(" "),_c('h4',{attrs:{"id":"testing"}},[_v("Testing:"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#testing","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("Vue component test utilities library: "),_c('a',{attrs:{"href":"https://v1.test-utils.vuejs.org/api/wrapper/#properties"}},[_v("Wrapper")])]),_v(" "),_c('p',[_v("According to my current understanding:")]),_v(" "),_c('ul',[_c('li',[_v("Testing is done by first creating a wrapper with the component to be tested.")]),_v(" "),_c('li',[_v("The "),_c('code',{pre:true,attrs:{"class":"hljs inline no-lang"}},[_v("$nextTick()")]),_v(" function of the vm of the wrapper is then called which waits for the next DOM update flush.")]),_v(" "),_c('li',[_v("The generated HTML is then compared with the snapshot that is generated.")])])])}
},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 Sat, 8 Feb 2025, 16:36:29 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 Sun, 9 Feb 2025, 7:49:50 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/students/Incogdino/progress.html b/students/Incogdino/progress.html
index 495e4227..e857945f 100644
--- a/students/Incogdino/progress.html
+++ b/students/Incogdino/progress.html
@@ -12,7 +12,7 @@
const baseUrl = '/2025'
-
+
diff --git a/students/Incogdino/progress.page-vue-render.js b/students/Incogdino/progress.page-vue-render.js
index 1a1b2f7d..a066d71a 100644
--- a/students/Incogdino/progress.page-vue-render.js
+++ b/students/Incogdino/progress.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('h3',{attrs:{"id":"markbind"}},[_v("MarkBind"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#markbind","onclick":"event.stopPropagation()"}})]),_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("0")]),_v(" "),_c('td',[_v("Authored PR: "),_c('a',{attrs:{"href":"https://github.com/MarkBind/markbind/pull/2580"}},[_v("Update copy plugin #2580")])])]),_v(" "),_c('tr',[_c('td',[_v("2")]),_v(" "),_c('td',[_v("Authored PR: "),_c('a',{attrs:{"href":"https://github.com/MarkBind/markbind/pull/2586"}},[_v("Fix broken annotation label #2586")])])]),_v(" "),_c('tr',[_c('td',[_v("3")]),_v(" "),_c('td',[_v("Reviewed issue: "),_c('a',{attrs:{"href":"https://github.com/MarkBind/markbind/issues/2559"}},[_v("Boxes: give a way to omit the icon #2559")])])]),_v(" "),_c('tr',[_c('td',[_v("3")]),_v(" "),_c('td',[_v("Reviewing issue: "),_c('a',{attrs:{"href":"https://github.com/MarkBind/markbind/issues/2587"}},[_v("Inconsistent behavior with mcq questions allowing multiple correct answers #2587")])])]),_v(" "),_c('tr',[_c('td',[_v("3")]),_v(" "),_c('td',[_v("Reviewing issue: "),_c('a',{attrs:{"href":"https://github.com/MarkBind/markbind/issues/2588"}},[_v("Better feedback when hovering labels #2588")])])])])])])])}
},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 Sat, 8 Feb 2025, 16:36:29 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 Sun, 9 Feb 2025, 7:49:50 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/students/InfinityTwo/info.html b/students/InfinityTwo/info.html
index e20e5721..4fa9ce1e 100644
--- a/students/InfinityTwo/info.html
+++ b/students/InfinityTwo/info.html
@@ -12,7 +12,7 @@
const baseUrl = '/2025'
-
+
diff --git a/students/InfinityTwo/info.page-vue-render.js b/students/InfinityTwo/info.page-vue-render.js
index 028c1c52..7d06e970 100644
--- a/students/InfinityTwo/info.page-vue-render.js
+++ b/students/InfinityTwo/info.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('p',[_c('span',{attrs:{"id":"github"}},[_c('a',{attrs:{"href":"https://www.github.com/InfinityTwo"}},[_v("https://www.github.com/InfinityTwo")])])]),_v(" "),_c('p',[_c('span',{attrs:{"id":"projects"}},[_c('a',{attrs:{"href":"https://github.com/TEAMMATES"}},[_v("TEAMMATES")])])])])}
},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 Sat, 8 Feb 2025, 16:36:29 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 Sun, 9 Feb 2025, 7:49:50 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/students/InfinityTwo/knowledge.html b/students/InfinityTwo/knowledge.html
index 330ec960..c338513a 100644
--- a/students/InfinityTwo/knowledge.html
+++ b/students/InfinityTwo/knowledge.html
@@ -13,7 +13,7 @@
+...
diff --git a/students/InfinityTwo/knowledge.page-vue-render.js b/students/InfinityTwo/knowledge.page-vue-render.js
index 77cf0042..6212ea04 100644
--- a/students/InfinityTwo/knowledge.page-vue-render.js
+++ b/students/InfinityTwo/knowledge.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('h2',{attrs:{"id":"angular-and-frontend"}},[_v("Angular and Frontend"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#angular-and-frontend","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":"aspects-learnt"}},[_v("Aspects Learnt"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#aspects-learnt","onclick":"event.stopPropagation()"}})]),_v(" "),_c('h5',{attrs:{"id":"components"}},[_v("Components"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#components","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("Coming from a React background, it was interesting to understand how Angular components work and how it talks to each other. A lot of the features are built in with their custom names like "),_c('code',{pre:true,attrs:{"class":"hljs inline no-lang"}},[_v("ngFor")]),_v(" and "),_c('code',{pre:true,attrs:{"class":"hljs inline no-lang"}},[_v("(click)")]),_v(" as compared to using JSX. It was very modular in nature which made the learning easier as I can focus on one component without having to break the rest or needing to learn the codebase of more than the surrounding components.")]),_v(" "),_c('h5',{attrs:{"id":"observables"}},[_v("Observables"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#observables","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("Angular uses a lot more of observables, emittors and listeners which is based on services to communicate between components. It was very different from React Redux and parent-child that I know of. This was what I had to make use of for one of my first "),_c('a',{attrs:{"href":"https://github.com/TEAMMATES/teammates/pull/13203"}},[_v("PRs #13203")]),_v(" to deal with dynamic child components listening to a hide/show all button.")]),_v(" "),_c('h3',{attrs:{"id":"resources-used"}},[_v("Resources Used"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#resources-used","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_c('strong',[_c('a',{attrs:{"href":"https://www.youtube.com/watch?v=3dHNOWTI7H8"}},[_v("Angular Crash Course by Traversy Media")])]),_v(": A crash course for learning how Angular works for developers with some frontend experience. It covers the basics of Angular, including components, services, and routing.")]),_v(" "),_c('h2',{attrs:{"id":"testing-and-mockito"}},[_v("Testing and Mockito"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#testing-and-mockito","onclick":"event.stopPropagation()"}})]),_v(" "),_c('h3',{attrs:{"id":"aspects-learnt-2"}},[_v("Aspects Learnt"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#aspects-learnt-2","onclick":"event.stopPropagation()"}})]),_v(" "),_c('h5',{attrs:{"id":"mocking-functions"}},[_v("Mocking functions"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#mocking-functions","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("The use of "),_c('code',{pre:true,attrs:{"class":"hljs inline no-lang"}},[_v("when()")]),_v(" was rather cool for me coming from JUnit and CS2103T. I did not expect to be able to mock functions and their return values. "),_c('code',{pre:true,attrs:{"class":"hljs inline no-lang"}},[_v("when()")]),_v(" overrides a function call when that provided function is called, and returns the values given with chain functions. It allows me to perform unit tests much more easily as we do not need to worry about the implementation of the method being complete.")]),_v(" "),_c('h3',{attrs:{"id":"resources-used-2"}},[_v("Resources Used"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#resources-used-2","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_c('strong',[_c('a',{attrs:{"href":"https://javadoc.io/doc/org.mockito/mockito-core/latest/org/mockito/Mockito.html"}},[_v("Mockito Documentation")])]),_v(": Official documentation for Mockito")]),_v(" "),_c('h2',{attrs:{"id":"docker"}},[_v("Docker"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#docker","onclick":"event.stopPropagation()"}})]),_v(" "),_c('h3',{attrs:{"id":"aspects-learnt-3"}},[_v("Aspects Learnt"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#aspects-learnt-3","onclick":"event.stopPropagation()"}})]),_v(" "),_c('h5',{attrs:{"id":"containerised-applications"}},[_v("Containerised Applications"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#containerised-applications","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("This was my first time using Docker and it made development much easier by containing our backend in its own sandbox environment. It keeps the application standardised by running on one type of environment and ensures smooth development by not worrying about multiple types of environment to cater and develop for during production.\n...")])])}
},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 Sat, 8 Feb 2025, 16:36:29 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 Sun, 9 Feb 2025, 7:49:50 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/students/InfinityTwo/progress.html b/students/InfinityTwo/progress.html
index a5bdc776..8b82f90c 100644
--- a/students/InfinityTwo/progress.html
+++ b/students/InfinityTwo/progress.html
@@ -12,7 +12,7 @@
const baseUrl = '/2025'
-
+
diff --git a/students/InfinityTwo/progress.page-vue-render.js b/students/InfinityTwo/progress.page-vue-render.js
index 75de6d9b..ea437f16 100644
--- a/students/InfinityTwo/progress.page-vue-render.js
+++ b/students/InfinityTwo/progress.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('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("PR")])])]),_v(" "),_c('tbody',[_c('tr',[_c('td',[_v("2")]),_v(" "),_c('td',[_v("Opened PR: "),_c('a',{attrs:{"href":"https://github.com/TEAMMATES/teammates/pull/13201"}},[_v("[#12048] Migrate tests for DeleteNotificationActionTest #13201")])])]),_v(" "),_c('tr',[_c('td',[_v("2")]),_v(" "),_c('td',[_v("Submitted Issue: "),_c('a',{attrs:{"href":"https://github.com/TEAMMATES/teammates/pull/13202"}},[_v("Add a show all/collapse all button for students on their submission page #13202")])])]),_v(" "),_c('tr',[_c('td',[_v("2")]),_v(" "),_c('td',[_v("Opened PR: "),_c('a',{attrs:{"href":"https://github.com/TEAMMATES/teammates/pull/13203"}},[_v("[#13202] Show/Collapse All button in the student form submission #13203")])])]),_v(" "),_c('tr',[_c('td',[_v("3")]),_v(" "),_c('td',[_v("Opened PR: "),_c('a',{attrs:{"href":"https://github.com/TEAMMATES/teammates/pull/13209"}},[_v("[#12048] Migrate tests for CreateNotificationActionTest #13209")])])]),_v(" "),_c('tr',[_c('td',[_v("3")]),_v(" "),_c('td',[_v("Opened PR: "),_c('a',{attrs:{"href":"https://github.com/TEAMMATES/teammates/pull/13210"}},[_v("[#12048] Migrate tests for GetNotificationActionTest #13201")])])])])])])])}
},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 Sat, 8 Feb 2025, 16:36:29 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 Sun, 9 Feb 2025, 7:49:50 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/students/Izn432/info.html b/students/Izn432/info.html
index 8cd7eecf..06fcfbba 100644
--- a/students/Izn432/info.html
+++ b/students/Izn432/info.html
@@ -12,7 +12,7 @@
const baseUrl = '/2025'
-
+
diff --git a/students/Izn432/info.page-vue-render.js b/students/Izn432/info.page-vue-render.js
index 041a9899..56fe32a2 100644
--- a/students/Izn432/info.page-vue-render.js
+++ b/students/Izn432/info.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('p',[_c('span',{attrs:{"id":"github"}},[_c('a',{attrs:{"href":"https://www.github.com/IzN432"}},[_v("https://www.github.com/IzN432")])])]),_v(" "),_c('p',[_c('span',{attrs:{"id":"projects"}},[_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")])])])])}
},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 Sat, 8 Feb 2025, 16:36:29 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 Sun, 9 Feb 2025, 7:49:50 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/students/Izn432/knowledge.html b/students/Izn432/knowledge.html
index d1fc555a..4bb1edd4 100644
--- a/students/Izn432/knowledge.html
+++ b/students/Izn432/knowledge.html
@@ -28,7 +28,7 @@
};
return result;
});
-str(TODO_HEADER)
matches the starting of the string with TODO_HEADER
. whitespace
matches the next part of the string with one or more whitespaces. many1(ModerationSectionParser)
applies the ModerationSectionParser
one or more times.
GraphQL
GraphQL is a architecture for building APIs like REST. Unlike REST where the server defines the structure of the response, in GraphQL, the client and request the exact data they need.
Node 14.x support on macos
Apple laptops changed to using ARM64 architecture back in 2020. This meant that Node versions released before then were not directly supported by the ARM64 architecture. This caused issues with the github actions. There is a workaround for this by running arch -x86_64
and manually installing node instead of using the setup-node Github action, but the simpler solution was to upgrade the test to use Node version 16.x.
...
+str(TODO_HEADER)
matches the starting of the string with TODO_HEADER
. whitespace
matches the next part of the string with one or more whitespaces. many1(ModerationSectionParser)
applies the ModerationSectionParser
one or more times.
GraphQL
GraphQL is a architecture for building APIs like REST. Unlike REST where the server defines the structure of the response, in GraphQL, the client and request the exact data they need.
Node 14.x support on macos
Apple laptops changed to using ARM64 architecture back in 2020. This meant that Node versions released before then were not directly supported by the ARM64 architecture. This caused issues with the github actions. There is a workaround for this by running arch -x86_64
and manually installing node instead of using the setup-node Github action, but the simpler solution was to upgrade the test to use Node version 16.x.
...
-