|
1 | 1 | /* ============================================================================ |
2 | | - realmathmodel.github.io — study hub catalog |
| 2 | + realmathmodel.github.io — study hub catalog (tree structure) |
3 | 3 | ---------------------------------------------------------------------------- |
4 | | - EDIT THIS FILE to add/remove study areas and resources. Nothing else needs |
5 | | - to change — index.html and category.html both read from CATALOG below. |
6 | | -
|
7 | | - A category: |
8 | | - { id, title, tag, icon, accent, blurb, resources:[ ... ] } |
9 | | - id : url-safe key (used as category.html?id=ID). keep it unique. |
10 | | - tag : short label shown as a chip (e.g. "CS", "MATH"). |
11 | | - icon : 1–2 chars shown in the tile box (any glyph/emoji). |
12 | | - accent : one of amber | blue | purple | orange | teal | green |
13 | | - blurb : one short line under the title. |
14 | | -
|
15 | | - A resource: |
| 4 | + EDIT THIS FILE only. index.html + category.html read everything from here. |
| 5 | +
|
| 6 | + A NODE is either a BRANCH (holds sub-areas) or a LEAF (holds resources): |
| 7 | +
|
| 8 | + BRANCH: { id, title, tag, icon, accent, blurb, children:[ ...nodes ] } |
| 9 | + LEAF : { id, title, tag, icon, accent, blurb, resources:[ ...links ] } |
| 10 | +
|
| 11 | + Fields: |
| 12 | + id : UNIQUE url-safe key across the WHOLE tree (used as ?id=ID). |
| 13 | + tag : tiny label chip (e.g. "Y1", "CP"). optional. |
| 14 | + icon : 1-3 chars shown in the tile (any glyph). |
| 15 | + accent : amber | blue | purple | orange | teal | green |
| 16 | + blurb : one short line. |
| 17 | +
|
| 18 | + A RESOURCE (inside a leaf's resources[]): |
16 | 19 | { label, href, type, note } |
17 | | - type : "internal" -> a page in your own repo (opens same tab) |
18 | | - "external" -> an outside site (opens new tab, shown with ↗) |
19 | | - href : "#" means "not linked yet" (shows as a TODO placeholder) |
20 | | - note : optional small grey hint (e.g. "offline", "PDF") |
| 20 | + type : "internal" (page in your repo, same tab) | "external" (new tab, ↗) |
| 21 | + href : "#" => not linked yet (shows a dashed TODO row) |
| 22 | + note : optional small grey hint. |
| 23 | +
|
| 24 | + To make a year hold courses: give it children:[ ...course leaves ]. |
| 25 | + To make an area a direct list: give it resources:[ ...links ]. |
21 | 26 | ========================================================================== */ |
22 | 27 |
|
23 | 28 | const CATALOG = { |
24 | 29 | owner: "hasan", |
25 | 30 | host: "iug", |
26 | 31 | categories: [ |
27 | 32 |
|
28 | | - { id:"cpp", title:"Programming 1 — C++", tag:"CS", icon:">_", accent:"blue", |
29 | | - blurb:"Liang, chapters 1–9 + exams", |
30 | | - resources:[ |
31 | | - { label:"C++ Mastery — exam quiz (Ch 1–9, Midterm + 2 Finals)", href:"cpp_mastery.html", type:"internal", note:"529 questions · offline" }, |
32 | | - { label:"cppreference.com — language & STL reference", href:"https://en.cppreference.com/", type:"external" }, |
33 | | - { label:"LearnCpp.com — full beginner-to-advanced tutorial", href:"https://www.learncpp.com/", type:"external" }, |
34 | | - { label:"Liang — Intro to C++ (course textbook notes)", href:"#", type:"internal", note:"add your PDF link" }, |
35 | | - ]}, |
| 33 | + /* ===================== UNIVERSITY (by year) ===================== */ |
| 34 | + { id:"university", title:"University", tag:"IUG", icon:"U", accent:"blue", |
| 35 | + blurb:"Computer Engineering & AI — by year", |
| 36 | + children:[ |
36 | 37 |
|
37 | | - { id:"digital", title:"Digital Design", tag:"EE", icon:"⏚", accent:"teal", |
38 | | - blurb:"Mano — logic, K-maps, FSMs", |
39 | | - resources:[ |
40 | | - { label:"Digital Design solutions (Mano, Ch 1–6)", href:"#", type:"internal", note:"add your LaTeX PDF" }, |
41 | | - { label:"CircuitVerse — online logic simulator", href:"https://circuitverse.org/", type:"external" }, |
42 | | - { label:"All About Circuits — digital logic textbook", href:"https://www.allaboutcircuits.com/textbook/digital/", type:"external" }, |
43 | | - { label:"Nand2Tetris — build a computer from gates up", href:"https://www.nand2tetris.org/", type:"external" }, |
44 | | - ]}, |
| 38 | + { id:"y1", title:"First Year", tag:"Y1", icon:"1", accent:"amber", |
| 39 | + blurb:"current courses", |
| 40 | + children:[ |
45 | 41 |
|
46 | | - { id:"calc", title:"Calculus B", tag:"MATH", icon:"∫", accent:"purple", |
47 | | - blurb:"Thomas — series, polar, conics", |
48 | | - resources:[ |
49 | | - { label:"Calculus B summary (TikZ / pgfplots notes)", href:"#", type:"internal", note:"add your LaTeX PDF" }, |
50 | | - { label:"Paul's Online Math Notes — Calculus II", href:"https://tutorial.math.lamar.edu/Classes/CalcII/CalcII.aspx", type:"external" }, |
51 | | - { label:"Khan Academy — Integral Calculus", href:"https://www.khanacademy.org/math/integral-calculus", type:"external" }, |
52 | | - { label:"3Blue1Brown — Essence of Calculus", href:"https://www.3blue1brown.com/topics/calculus", type:"external" }, |
| 42 | + { id:"cpp", title:"Programming 1 — C++", tag:"CS", icon:">_", accent:"blue", |
| 43 | + blurb:"Liang, chapters 1–9 + exams", |
| 44 | + resources:[ |
| 45 | + { label:"C++ Mastery — exam quiz (Ch 1–9, Midterm + 2 Finals)", href:"cpp_mastery.html", type:"internal", note:"529 questions · offline" }, |
| 46 | + { label:"cppreference.com — language & STL reference", href:"https://en.cppreference.com/", type:"external" }, |
| 47 | + { label:"LearnCpp.com — full tutorial", href:"https://www.learncpp.com/", type:"external" }, |
| 48 | + { label:"Liang — Intro to C++ (textbook notes)", href:"#", type:"internal", note:"add your PDF link" }, |
| 49 | + ]}, |
| 50 | + |
| 51 | + { id:"calc", title:"Calculus B", tag:"MATH", icon:"\u222B", accent:"purple", |
| 52 | + blurb:"Thomas — series, polar, conics", |
| 53 | + resources:[ |
| 54 | + { label:"Calculus B summary (TikZ / pgfplots notes)", href:"#", type:"internal", note:"add your LaTeX PDF" }, |
| 55 | + { label:"Paul's Online Math Notes — Calculus II", href:"https://tutorial.math.lamar.edu/Classes/CalcII/CalcII.aspx", type:"external" }, |
| 56 | + { label:"Khan Academy — Integral Calculus", href:"https://www.khanacademy.org/math/integral-calculus", type:"external" }, |
| 57 | + { label:"3Blue1Brown — Essence of Calculus", href:"https://www.3blue1brown.com/topics/calculus", type:"external" }, |
| 58 | + ]}, |
| 59 | + |
| 60 | + { id:"digital", title:"Digital Design", tag:"EE", icon:"\u23DA", accent:"teal", |
| 61 | + blurb:"Mano — logic, K-maps, FSMs", |
| 62 | + resources:[ |
| 63 | + { label:"Digital Design solutions (Mano, Ch 1–6)", href:"#", type:"internal", note:"add your LaTeX PDF" }, |
| 64 | + { label:"CircuitVerse — online logic simulator", href:"https://circuitverse.org/", type:"external" }, |
| 65 | + { label:"All About Circuits — digital logic", href:"https://www.allaboutcircuits.com/textbook/digital/", type:"external" }, |
| 66 | + { label:"Nand2Tetris — build a computer from gates", href:"https://www.nand2tetris.org/", type:"external" }, |
| 67 | + ]}, |
| 68 | + |
| 69 | + { id:"iot", title:"IoT / ESP32", tag:"EMB", icon:"\u269B", accent:"orange", |
| 70 | + blurb:"PWM, sensors, projects", |
| 71 | + resources:[ |
| 72 | + { label:"IoT / ESP32 summary (slide sets + diagrams)", href:"#", type:"internal" }, |
| 73 | + { label:"Espressif — ESP-IDF programming guide", href:"https://docs.espressif.com/projects/esp-idf/en/latest/", type:"external" }, |
| 74 | + { label:"Random Nerd Tutorials — ESP32 projects", href:"https://randomnerdtutorials.com/projects-esp32/", type:"external" }, |
| 75 | + ]}, |
| 76 | + ]}, |
| 77 | + |
| 78 | + { id:"y2", title:"Second Year", tag:"Y2", icon:"2", accent:"teal", |
| 79 | + blurb:"add courses in catalog.js", children:[] }, |
| 80 | + |
| 81 | + { id:"y3", title:"Third Year", tag:"Y3", icon:"3", accent:"purple", |
| 82 | + blurb:"add courses in catalog.js", children:[] }, |
| 83 | + |
| 84 | + { id:"y4", title:"Fourth Year", tag:"Y4", icon:"4", accent:"orange", |
| 85 | + blurb:"add courses in catalog.js", children:[] }, |
53 | 86 | ]}, |
54 | 87 |
|
55 | | - { id:"iot", title:"IoT / ESP32", tag:"EMB", icon:"⚛", accent:"orange", |
56 | | - blurb:"PWM, sensors, projects", |
57 | | - resources:[ |
58 | | - { label:"IoT / ESP32 summary (slide sets + diagrams)", href:"#", type:"internal" }, |
59 | | - { label:"Espressif — ESP-IDF programming guide", href:"https://docs.espressif.com/projects/esp-idf/en/latest/", type:"external" }, |
60 | | - { label:"Random Nerd Tutorials — ESP32 projects", href:"https://randomnerdtutorials.com/projects-esp32/", type:"external" }, |
| 88 | + /* ===================== PROGRAMMING ===================== */ |
| 89 | + { id:"programming", title:"Programming", tag:"DEV", icon:">_", accent:"amber", |
| 90 | + blurb:"competitive, web, tooling", |
| 91 | + children:[ |
| 92 | + |
| 93 | + { id:"cp", title:"Competitive Programming", tag:"CP", icon:"\u2694", accent:"amber", |
| 94 | + blurb:"PSIUG handbook + practice", |
| 95 | + resources:[ |
| 96 | + { label:"PSIUG — personal CP handbook", href:"#", type:"internal", note:"add your handbook" }, |
| 97 | + { label:"CP-Algorithms — algorithm reference", href:"https://cp-algorithms.com/", type:"external" }, |
| 98 | + { label:"USACO Guide — structured roadmap", href:"https://usaco.guide/", type:"external" }, |
| 99 | + { label:"Codeforces — contests & problemset", href:"https://codeforces.com/", type:"external" }, |
| 100 | + { label:"AtCoder — contests", href:"https://atcoder.jp/", type:"external" }, |
| 101 | + ]}, |
| 102 | + |
| 103 | + { id:"web", title:"Web Development", tag:"WEB", icon:"\u2329\u232A", accent:"blue", |
| 104 | + blurb:"front-end & back-end", |
| 105 | + resources:[ |
| 106 | + { label:"MDN Web Docs — HTML / CSS / JS reference", href:"https://developer.mozilla.org/", type:"external" }, |
| 107 | + { label:"The Odin Project — full curriculum", href:"https://www.theodinproject.com/", type:"external" }, |
| 108 | + { label:"freeCodeCamp", href:"https://www.freecodecamp.org/", type:"external" }, |
| 109 | + ]}, |
| 110 | + |
| 111 | + { id:"tools", title:"Git & Tooling", tag:"OPS", icon:"\u2387", accent:"teal", |
| 112 | + blurb:"version control & workflow", |
| 113 | + resources:[ |
| 114 | + { label:"Pro Git — the book (free)", href:"https://git-scm.com/book", type:"external" }, |
| 115 | + { label:"Learn Git Branching — interactive", href:"https://learngitbranching.js.org/", type:"external" }, |
| 116 | + { label:"Overleaf — LaTeX docs & learn", href:"https://www.overleaf.com/learn", type:"external" }, |
| 117 | + ]}, |
61 | 118 | ]}, |
62 | 119 |
|
63 | | - { id:"cp", title:"Competitive Programming", tag:"CP", icon:"⚔", accent:"amber", |
64 | | - blurb:"PSIUG handbook + practice", |
| 120 | + /* ===================== GENERAL MATH IMPROVEMENT (leaf) ===================== */ |
| 121 | + { id:"math", title:"General Math Improvement", tag:"MATH", icon:"\u03C0", accent:"purple", |
| 122 | + blurb:"sharpen intuition & problem-solving", |
65 | 123 | resources:[ |
66 | | - { label:"PSIUG — personal CP handbook", href:"#", type:"internal", note:"add your handbook" }, |
67 | | - { label:"CP-Algorithms — algorithm reference", href:"https://cp-algorithms.com/", type:"external" }, |
68 | | - { label:"USACO Guide — structured roadmap", href:"https://usaco.guide/", type:"external" }, |
69 | | - { label:"Codeforces — contests & problemset", href:"https://codeforces.com/", type:"external" }, |
| 124 | + { label:"3Blue1Brown — visual math", href:"https://www.3blue1brown.com/", type:"external" }, |
| 125 | + { label:"Khan Academy — all math", href:"https://www.khanacademy.org/math", type:"external" }, |
| 126 | + { label:"Paul's Online Math Notes", href:"https://tutorial.math.lamar.edu/", type:"external" }, |
| 127 | + { label:"Project Euler — math + programming problems", href:"https://projecteuler.net/", type:"external" }, |
| 128 | + { label:"Brilliant — guided problem solving", href:"https://brilliant.org/", type:"external" }, |
| 129 | + { label:"Art of Problem Solving", href:"https://artofproblemsolving.com/", type:"external" }, |
70 | 130 | ]}, |
71 | 131 |
|
72 | | - { id:"islamic", title:"Islamic Studies", tag:"DIN", icon:"☪", accent:"green", |
| 132 | + /* ===================== EXTRAS (keep or delete) ===================== */ |
| 133 | + { id:"islamic", title:"Islamic Studies", tag:"DIN", icon:"\u262A", accent:"green", |
73 | 134 | blurb:"Tajweed & Tafseer", |
74 | 135 | resources:[ |
75 | 136 | { label:"Tajweed & Tafseer notes (typeset Arabic)", href:"#", type:"internal" }, |
76 | 137 | { label:"Quran.com — text, recitation & tafsirs", href:"https://quran.com/", type:"external" }, |
77 | 138 | { label:"Tanzil — Quran navigator", href:"https://tanzil.net/", type:"external" }, |
78 | 139 | ]}, |
79 | 140 |
|
80 | | - { id:"firstaid", title:"First Aid", tag:"MED", icon:"✚", accent:"teal", |
| 141 | + { id:"firstaid", title:"First Aid", tag:"MED", icon:"\u271A", accent:"teal", |
81 | 142 | blurb:"Arabic first-aid reference", |
82 | 143 | resources:[ |
83 | 144 | { label:"Arabic First-Aid summary (OCR + typeset)", href:"#", type:"internal" }, |
84 | | - { label:"IFRC — International first aid guidelines", href:"https://www.ifrc.org/", type:"external" }, |
| 145 | + { label:"IFRC — international first aid guidelines", href:"https://www.ifrc.org/", type:"external" }, |
85 | 146 | ]}, |
86 | 147 |
|
87 | | - { id:"audit", title:"Internal Auditing & PM", tag:"ADM", icon:"§", accent:"blue", |
88 | | - blurb:"Humanitarian programme work", |
| 148 | + { id:"audit", title:"Internal Auditing & PM", tag:"ADM", icon:"\u00A7", accent:"orange", |
| 149 | + blurb:"humanitarian programme work", |
89 | 150 | resources:[ |
90 | 151 | { label:"Internal Auditing self-study (7 ch · 140 MCQs)", href:"#", type:"internal" }, |
91 | 152 | { label:"UNRWA Project Procedures — analysis report", href:"#", type:"internal" }, |
|
0 commit comments