diff --git a/build.sh b/build.sh
index c63e37b..4c2182b 100755
--- a/build.sh
+++ b/build.sh
@@ -4,28 +4,10 @@
# NODE_ENV is set to production, npm won't install anything
unset NODE_ENV
-echo "Rebuilding deprived main site"
-echo "cwd: ${pwd}"
-
-#rm -rf deprived-main-website
-#git clone https://gitea.deprived.dev/Sveskejuice/deprived-main-website.git
-
-git restore .
-git clean -fd
git pull
-git checkout WeGoingBasic
+git reset --hard WeGoingBasic
-echo "Project files up to date. Proceeding to install deps"
-
-echo "npm config list:"
-npm config list
-
-npm cache clean --force
-npm i
-npm i @sveltejs/adapter-static
-npm i @sveltejs/kit
-npm i @zerodevx/svelte-img
-npm tailwind init
+npm ci
echo "Ready to build, building..."
diff --git a/package-lock.json b/package-lock.json
index 041d5fd..276d8e3 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -8,6 +8,8 @@
"name": "deprived-main-website",
"version": "0.0.1",
"dependencies": {
+ "lucide-svelte": "^0.475.0",
+ "svelte-katex": "^0.1.2",
"svelte-media-queries": "^1.6.2",
"svelte-parallax": "^0.6.0",
"theme-change": "^2.5.0"
@@ -48,7 +50,6 @@
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz",
"integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==",
- "dev": true,
"dependencies": {
"@jridgewell/gen-mapping": "^0.3.5",
"@jridgewell/trace-mapping": "^0.3.24"
@@ -781,7 +782,6 @@
"version": "0.3.5",
"resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz",
"integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==",
- "dev": true,
"dependencies": {
"@jridgewell/set-array": "^1.2.1",
"@jridgewell/sourcemap-codec": "^1.4.10",
@@ -795,7 +795,6 @@
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
"integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
- "dev": true,
"engines": {
"node": ">=6.0.0"
}
@@ -804,7 +803,6 @@
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz",
"integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==",
- "dev": true,
"engines": {
"node": ">=6.0.0"
}
@@ -812,14 +810,12 @@
"node_modules/@jridgewell/sourcemap-codec": {
"version": "1.4.15",
"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
- "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==",
- "dev": true
+ "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg=="
},
"node_modules/@jridgewell/trace-mapping": {
"version": "0.3.25",
"resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
"integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
- "dev": true,
"dependencies": {
"@jridgewell/resolve-uri": "^3.1.0",
"@jridgewell/sourcemap-codec": "^1.4.14"
@@ -1475,7 +1471,6 @@
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz",
"integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==",
- "dev": true,
"license": "MIT"
},
"node_modules/@types/pug": {
@@ -1488,7 +1483,6 @@
"version": "8.11.3",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz",
"integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==",
- "dev": true,
"bin": {
"acorn": "bin/acorn"
},
@@ -1573,7 +1567,6 @@
"version": "5.3.0",
"resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz",
"integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==",
- "dev": true,
"dependencies": {
"dequal": "^2.0.3"
}
@@ -1620,7 +1613,6 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.0.0.tgz",
"integrity": "sha512-+60uv1hiVFhHZeO+Lz0RYzsVHy5Wr1ayX0mwda9KPDVLNJgZ1T9Ny7VmFbLDzxsH0D87I86vgj3gFrjTJUYznw==",
- "dev": true,
"dependencies": {
"dequal": "^2.0.3"
}
@@ -1801,7 +1793,6 @@
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/code-red/-/code-red-1.0.4.tgz",
"integrity": "sha512-7qJWqItLA8/VPVlKJlFXU+NBlo/qyfs39aJcuMT/2ere32ZqvF5OSxgdM5xOfJJ7O429gg2HM47y8v9P+9wrNw==",
- "dev": true,
"dependencies": {
"@jridgewell/sourcemap-codec": "^1.4.15",
"@types/estree": "^1.0.1",
@@ -1915,7 +1906,6 @@
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz",
"integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==",
- "dev": true,
"dependencies": {
"mdn-data": "2.0.30",
"source-map-js": "^1.0.1"
@@ -1997,7 +1987,6 @@
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz",
"integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==",
- "dev": true,
"engines": {
"node": ">=6"
}
@@ -2164,7 +2153,6 @@
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz",
"integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==",
- "dev": true,
"dependencies": {
"@types/estree": "^1.0.0"
}
@@ -2500,7 +2488,6 @@
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.2.tgz",
"integrity": "sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==",
- "dev": true,
"dependencies": {
"@types/estree": "*"
}
@@ -2586,6 +2573,31 @@
"node": ">=6"
}
},
+ "node_modules/katex": {
+ "version": "0.15.6",
+ "resolved": "https://registry.npmjs.org/katex/-/katex-0.15.6.tgz",
+ "integrity": "sha512-UpzJy4yrnqnhXvRPhjEuLA4lcPn6eRngixW7Q3TJErjg3Aw2PuLFBzTkdUb89UtumxjhHTqL3a5GDGETMSwgJA==",
+ "funding": [
+ "https://opencollective.com/katex",
+ "https://github.com/sponsors/katex"
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "commander": "^8.0.0"
+ },
+ "bin": {
+ "katex": "cli.js"
+ }
+ },
+ "node_modules/katex/node_modules/commander": {
+ "version": "8.3.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz",
+ "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 12"
+ }
+ },
"node_modules/kleur": {
"version": "4.1.5",
"resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz",
@@ -2614,8 +2626,7 @@
"node_modules/locate-character": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/locate-character/-/locate-character-3.0.0.tgz",
- "integrity": "sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==",
- "dev": true
+ "integrity": "sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA=="
},
"node_modules/lodash.castarray": {
"version": "4.4.0",
@@ -2653,11 +2664,19 @@
"yallist": "^3.0.2"
}
},
+ "node_modules/lucide-svelte": {
+ "version": "0.475.0",
+ "resolved": "https://registry.npmjs.org/lucide-svelte/-/lucide-svelte-0.475.0.tgz",
+ "integrity": "sha512-N5+hFTPHaZe9HhqJDxxxODfYuOmI6v+JIowzERcea/uxytN/JZlehVTcINBNp8wMo7l6ov1Jf5srrDbkI/WsJg==",
+ "license": "ISC",
+ "peerDependencies": {
+ "svelte": "^3 || ^4 || ^5.0.0-next.42"
+ }
+ },
"node_modules/magic-string": {
"version": "0.30.10",
"resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.10.tgz",
"integrity": "sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==",
- "dev": true,
"dependencies": {
"@jridgewell/sourcemap-codec": "^1.4.15"
}
@@ -2665,8 +2684,7 @@
"node_modules/mdn-data": {
"version": "2.0.30",
"resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz",
- "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==",
- "dev": true
+ "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA=="
},
"node_modules/merge2": {
"version": "1.4.1",
@@ -2962,7 +2980,6 @@
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/periscopic/-/periscopic-3.1.0.tgz",
"integrity": "sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==",
- "dev": true,
"dependencies": {
"@types/estree": "^1.0.0",
"estree-walker": "^3.0.0",
@@ -3448,7 +3465,6 @@
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
"integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
- "dev": true,
"license": "BSD-3-Clause",
"engines": {
"node": ">=0.10.0"
@@ -3669,7 +3685,6 @@
"version": "4.2.19",
"resolved": "https://registry.npmjs.org/svelte/-/svelte-4.2.19.tgz",
"integrity": "sha512-IY1rnGr6izd10B0A8LqsBfmlT5OILVuZ7XsI0vdGPEvuonFV7NYEUK4dAkm9Zg2q0Um92kYjTpS1CAP3Nh/KWw==",
- "dev": true,
"license": "MIT",
"dependencies": {
"@ampproject/remapping": "^2.2.1",
@@ -3734,6 +3749,15 @@
"svelte": "^3.19.0 || ^4.0.0"
}
},
+ "node_modules/svelte-katex": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/svelte-katex/-/svelte-katex-0.1.2.tgz",
+ "integrity": "sha512-jgqMgP0hwgsaYKLNa9GGpuEKiwE7Gr6QlDKp3C3QQkIb30G+WEHCljfl+nVCNra1aTr7uIemQmlyMA3avHx6HQ==",
+ "license": "MIT",
+ "dependencies": {
+ "katex": "^0.15.2"
+ }
+ },
"node_modules/svelte-media-queries": {
"version": "1.6.2",
"resolved": "https://registry.npmjs.org/svelte-media-queries/-/svelte-media-queries-1.6.2.tgz",
diff --git a/package.json b/package.json
index e3bbfec..f658140 100644
--- a/package.json
+++ b/package.json
@@ -29,6 +29,8 @@
},
"type": "module",
"dependencies": {
+ "lucide-svelte": "^0.475.0",
+ "svelte-katex": "^0.1.2",
"svelte-media-queries": "^1.6.2",
"svelte-parallax": "^0.6.0",
"theme-change": "^2.5.0"
diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte
index 8fb365d..6b6c8b2 100644
--- a/src/routes/+layout.svelte
+++ b/src/routes/+layout.svelte
@@ -58,7 +58,9 @@
- Zhen's CV
+
+ Zhen CV
+ Tools
Games
diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte
index 9015b86..9de2f90 100644
--- a/src/routes/+page.svelte
+++ b/src/routes/+page.svelte
@@ -7,7 +7,7 @@
import { ButtonType } from '$lib/IO/ButtonType.ts';
import Timeline from '../comps/timeline/timeline.svelte';
import { Parallax, ParallaxLayer, StickyLayer } from "svelte-parallax";
- import { tick } from 'svelte'
+ import { onMount, tick } from 'svelte'
import PreviewDeprivedLogo from "$lib/images/DeprivedLogo-NoBackground.png";
@@ -35,13 +35,19 @@
const mobileThreshold : string = '600px'; // was 1000px. zhen testing
let mobile : boolean;
+
+ onMount(()=> {
+ let tabTittleElement = window.document.getElementById("TabTittle");
+ if (tabTittleElement) // Not null
+ tabTittleElement.innerHTML = "Deprived devs";
+ });
-We are the DEPRIVED DEVS
+We are the DEPRIVED DEVS
@@ -125,15 +131,15 @@
-
+
-
+
Games
diff --git a/src/routes/tools/+page.svelte b/src/routes/tools/+page.svelte
new file mode 100644
index 0000000..f4b3bb0
--- /dev/null
+++ b/src/routes/tools/+page.svelte
@@ -0,0 +1,53 @@
+
+
+
+
+
+
Tools
+
These are the tools collected from different places of the
+ internet
+
+
+
+
+
+
MPUs/SoCs
+
Whatever acronym you want lol
+
+
+
+
+
+
+
+ I if you have tool suggestions, then either create an issue, create a pull request, or send an email. I probably wont add it though, since this is free work lol.
+
+
+
+
diff --git a/src/routes/tools/battery-life-calculator/+page.svelte b/src/routes/tools/battery-life-calculator/+page.svelte
new file mode 100644
index 0000000..7037823
--- /dev/null
+++ b/src/routes/tools/battery-life-calculator/+page.svelte
@@ -0,0 +1,183 @@
+
+
+
+
+
+
Battery life calculator
+
+ Calculates the time a battery will last. Too lazy to explain
+ more.
+
+
+
+
+
+
+
Software
+
+
+
+
+
+
Hardware
+
+
+ Use custom values
+
+
+
+
+
+ {#if !useCustom}
+
+
+ Select a text
+ {#each options as option}
+ {option}
+ {/each}
+
+
+ {#if selectedMcu != undefined && selectedMcu?.wifi != undefined}
+
+ wifi
+
+ {/if}
+ {#if selectedMcu != undefined && selectedMcu?.wifi != undefined}
+
+ ble
+
+ {/if}
+
+ {:else}
+
+
+ {/if}
+
+
+
+
+ Source for the calculations is at this
+
github
+ and the
+
original website.
+ I just mearly made additions.
+
+
+
+
+
+
diff --git a/src/routes/tools/battery-life-calculator/pageSrc/BatteryCalc.js b/src/routes/tools/battery-life-calculator/pageSrc/BatteryCalc.js
new file mode 100644
index 0000000..2913ab7
--- /dev/null
+++ b/src/routes/tools/battery-life-calculator/pageSrc/BatteryCalc.js
@@ -0,0 +1,108 @@
+export class BatteryLifeCalculator {
+ constructor(
+ timeRunSeconds,
+ timeSleepSeconds,
+ consumptionActiveMilliAmpHours,
+ consumptionSleepMilliAmpHours,
+ powerBatteryTotalMilliAmpHours,
+ powerBatteryBufferBeforeEmptyPercent = 20) {
+ this.timeRunSeconds = timeRunSeconds
+ this.timeSleepSeconds = timeSleepSeconds
+ this.consumptionActiveMilliAmpHours = consumptionActiveMilliAmpHours
+ this.consumptionSleepMilliAmpHours = consumptionSleepMilliAmpHours
+ this.powerBatteryTotalMilliAmpHours = powerBatteryTotalMilliAmpHours
+ this.powerBatteryBufferBeforeEmptyPercent = powerBatteryBufferBeforeEmptyPercent
+
+ console.log("The source of this battery calc is here: https://github.com/simonneutert/batterylife-calculator\nI was too lazy to make the math myself.");
+ }
+
+ // public API
+
+ milliAmpToMicroAmp(milliAmps) {
+ return milliAmps * 1000
+ }
+
+ microAmpToMilliAmp(milliAmps) {
+ return milliAmps * 0.001
+ }
+
+ calculate() {
+ return {
+ powerAveragePerHour: this.powerEstimatedHourly(),
+ runtimeHoursEstimated: this.runtimeHoursEstimated(),
+ runtimeDaysEstimated: this.runtimeDaysEstimated(),
+ runtimeDaysRemainingHoursEstimated: this.runtimeDaysRemainingHoursEstimated()
+ }
+ }
+
+ powerEstimatedHourly() {
+ return this.calcPowerEst(
+ this.powerRun(),
+ this.consumptionActiveMilliAmpHours,
+ this.powerSleep(),
+ this.consumptionSleepMilliAmpHours
+ )
+ }
+
+ runtimeHoursEstimated() {
+ return parseInt(this.powerLipo() / this.powerEstimatedHourly())
+ }
+
+ runtimeDaysEstimated() {
+ return parseInt(this.runtimeHoursEstimated() / 24)
+ }
+
+ runtimeDaysRemainingHoursEstimated() {
+ return parseInt(this.runtimeHoursEstimated() % 24)
+ }
+
+ // private
+
+ roundOff(x) {
+ return Math.round(x * 100.0) / 100.0
+ }
+
+ calcPowerLipo(x, y) {
+ return parseFloat((x * (100 - y)) / 100)
+ }
+
+ calcRuns(x, y) {
+ return parseFloat(60 / (x + y))
+ }
+
+ calcRunsHour(x, y) {
+ return parseFloat(3600 / (x + y))
+ }
+
+ calcPowerRun(x, y) {
+ return parseFloat((x / (x + y)) * 3600)
+ }
+
+ calcPowerSleep(x, y) {
+ return parseFloat((y / (x + y)) * 3600)
+ }
+
+ powerLipo() {
+ return this.calcPowerLipo(this.powerBatteryTotalMilliAmpHours, this.powerBatteryBufferBeforeEmptyPercent)
+ }
+
+ runs() {
+ return this.calcRuns(this.timeRunSeconds, this.timeSleepSeconds)
+ }
+
+ runsHour() {
+ return this.calcRunsHour(this.timeRunSeconds, this.timeSleepSeconds)
+ }
+
+ powerRun() {
+ return this.calcPowerRun(this.timeRunSeconds, this.timeSleepSeconds)
+ }
+
+ powerSleep() {
+ return this.calcPowerSleep(this.timeRunSeconds, this.timeSleepSeconds)
+ }
+
+ calcPowerEst(a, b, c, d) {
+ return parseFloat((a / 3600) * b + (c / 3600) * d)
+ }
+}
diff --git a/src/routes/tools/battery-life-calculator/pageSrc/MCU_defs.ts b/src/routes/tools/battery-life-calculator/pageSrc/MCU_defs.ts
new file mode 100644
index 0000000..d4372f2
--- /dev/null
+++ b/src/routes/tools/battery-life-calculator/pageSrc/MCU_defs.ts
@@ -0,0 +1,63 @@
+export interface MCU_Type {
+ name: string;
+ cpu: { [key: string]: Number }; // state: power consumption
+ sleep: { [key: string]: Number };
+ wifi?: { [key: string]: Number };
+ bluetooth?: { [key: string]: Number };
+}
+
+const MCUs: MCU_Type[] = [
+ {
+ name: "esp32-s3",
+ cpu: { // mili amps
+ single_core_40MHz: 21.8,
+ dual_core_40MHz: 24.4,
+ single_core_80MHz: 42.6,
+ dual_core_80MHz: 47.3,
+ single_core_160MHz: 54.6,
+ dual_core_160MHz: 54.1,
+ single_core_240MHz: 65.9,
+ dual_core_240MHz: 81.3,
+ },
+ sleep: {
+
+ },
+ wifi: { //
+ dBm_21: 318.2,
+ sleep: 10
+ },
+ bluetooth: {
+ active: 100,
+ sleep: 5
+ }
+ },
+
+ {
+ name: "esp32-c3",
+ cpu: {
+ single_core_80MHz: 22,
+ single_core_160MHz: 54.6,
+ },
+ sleep: {
+
+ },
+ wifi: {
+ active: 110,
+ sleep: 9
+ },
+ bluetooth: {
+ active: 90,
+ sleep: 4
+ }
+ }
+];
+
+export function getMCU(name: string): MCU_Type | undefined{
+ for (let i = 0; i < MCUs.length; i++) {
+ const element = MCUs[i];
+ if (element.name == name)
+ return element
+ }
+
+ return undefined;
+}
\ No newline at end of file
diff --git a/src/routes/tools/comps/ToolButton.svelte b/src/routes/tools/comps/ToolButton.svelte
new file mode 100644
index 0000000..967b4b2
--- /dev/null
+++ b/src/routes/tools/comps/ToolButton.svelte
@@ -0,0 +1,27 @@
+
+
+
+
+
+
{desc}
+
+
+ {#if icon != undefined}
+
+ {/if}
+ {btnText}
+
+
+
\ No newline at end of file
diff --git a/src/routes/zhen/cv/rev2/+page.svelte b/src/routes/zhen/cv/rev2/+page.svelte
index 5b59441..55fe6c0 100644
--- a/src/routes/zhen/cv/rev2/+page.svelte
+++ b/src/routes/zhen/cv/rev2/+page.svelte
@@ -49,8 +49,8 @@
Zhentao Wei's CV {getFormattedDate()}
-
-
+
+
@@ -120,12 +120,6 @@
}
}
- @media print {
- .hide-on-print {
- display: none;
- }
-}
-
.cv-container-container{
width: 100%;
height: 100%;
@@ -149,11 +143,6 @@
padding: auto;
}
- .include-in-print { &, & * {
- -webkit-print-color-adjust:exact !important;
- print-color-adjust:exact !important;
- }}
-
.sections {
// Shared between sections
> div {
diff --git a/src/routes/zhen/notes/physics/1/+page.svelte b/src/routes/zhen/notes/physics/1/+page.svelte
new file mode 100644
index 0000000..58c1a8d
--- /dev/null
+++ b/src/routes/zhen/notes/physics/1/+page.svelte
@@ -0,0 +1,72 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Symbol
+ Description
+
+
+
+
+ $v_i$
+ Initial velo
+
+
+ $v_f$
+ Final velo
+
+
+ $a$
+ Accel
+
+
+ $\Delta x$
+ The amount of change.
+
+
+ $t$
+ You're on your own on this one
+
+
+
+
+
+
+ {#each { length: 3 } as _, i}
+ test {i}
+ {/each}
+
+
+
diff --git a/src/routes/zhen/notes/physics/sharedComps/A4.svelte b/src/routes/zhen/notes/physics/sharedComps/A4.svelte
new file mode 100644
index 0000000..f7ab836
--- /dev/null
+++ b/src/routes/zhen/notes/physics/sharedComps/A4.svelte
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+ {#if bottomBorder}
+
+ {/if}
+
+
\ No newline at end of file
diff --git a/src/routes/zhen/notes/physics/sharedComps/Math.svelte b/src/routes/zhen/notes/physics/sharedComps/Math.svelte
new file mode 100644
index 0000000..e69de29
diff --git a/static/stylesheets/global.css b/static/stylesheets/global.css
index 5cd3a51..4ac99e5 100644
--- a/static/stylesheets/global.css
+++ b/static/stylesheets/global.css
@@ -17,6 +17,17 @@
font-family: "CozetteVector";
}
+@media print {
+ .hide-on-print {
+ display: none;
+ }
+}
+
+.include-in-print { &, & * {
+ -webkit-print-color-adjust:exact !important;
+ print-color-adjust:exact !important;
+}}
+
html {
background: var(--background1);
}