Mercurial
changeset 91:19cccf6e866a
Added Epi photo reels.
line wrap: on
line diff
--- a/gara/main.c Thu Jan 01 14:47:28 2026 -0800 +++ b/gara/main.c Thu Jan 01 16:34:51 2026 -0800 @@ -1,7 +1,8 @@ #include "seobeo/seobeo.h" #include "stdio.h" -void HandleClientRequest(Seobeo_Handle *p_cli_handle) { +void HandleClientRequest(Seobeo_Handle *p_cli_handle) +{ char *hello = "Hello good sir"; Seobeo_Handle_Queue(p_cli_handle, (uint8_t*)hello, 14); Seobeo_Handle_Flush(p_cli_handle);
--- a/mrjunejune/src/base.css Thu Jan 01 14:47:28 2026 -0800 +++ b/mrjunejune/src/base.css Thu Jan 01 16:34:51 2026 -0800 @@ -54,28 +54,33 @@ background: var(--white); } -/* fonts */ @font-face { font-family: "Atkinson"; - src: url("/fonts/atkinson-regular.woff") format("woff"); + src: url("/public/fonts/atkinson-regular.woff") format("woff"); font-weight: 400; font-style: normal; } @font-face { font-family: "Atkinson"; - src: url("/fonts/atkinson-bold.woff") format("woff"); + src: url("/public/fonts/atkinson-bold.woff") format("woff"); font-weight: 700; font-style: normal; } -/* Fonts */ @font-face { font-family: "Roboto"; - src: url("/fonts/Roboto-Regular.ttf"); + src: url("/public/fonts/Roboto-Regular.ttf"); } - @font-face { font-family: "Roboto Light"; - src: url("/fonts/Roboto-Thin.ttf"); + src: url("/public/fonts/Roboto-Thin.ttf"); +} +@font-face { + font-family: "More Thin"; + src: url("/public/fonts/more-sugar.thin.otf"); +} +@font-face { + font-family: "More"; + src: url("/public/fonts/more-sugar.regular.otf"); } a { @@ -84,7 +89,7 @@ } body { - font-family: "Atkinson", sans-serif; + font-family: "More Thin", sans-serif; margin: 0; padding: 0; text-align: left;
--- a/mrjunejune/src/index.html Thu Jan 01 14:47:28 2026 -0800 +++ b/mrjunejune/src/index.html Thu Jan 01 16:34:51 2026 -0800 @@ -2,34 +2,48 @@ <html lang="en"> <head> <title> MrJuneJune </title> - <link rel="icon" type="image/svg+xml" href="/public/epi_all_colors.svg"> - - <link rel="preload" href="/fonts/Roboto-Regular.ttf" as="font" type="font/tff" crossorigin> - <link rel="preload" href="/fonts/Roboto-Thin.ttf"as="font" type="font/tff" crossorigin> - <link rel="preload" href="/fonts/atkinson-regular.woff" as="font" type="font/woff" crossorigin> - <link rel="preload" href="/fonts/atkinson-bold.woff" as="font" type="font/woff" crossorigin> - - <link rel="preload" href="base.css" as="style" /> - <link rel="stylesheet" href="base.css" /> + {{//parts/base_head.html}} + <style> + .epi-photo { + display: flex; + justify-content: center; + } + </style> </head> <body> {{/parts/header.html}} <main> - <p>Hi, my name is Juntae, but most people call me June.</p> + <p>Hi, my name is Juntae, but most people call me June or MrJuneJune.</p> - <p>I am a software engineer with experience spanning a wide range of companies, from small startups to FAANG[s].</p> + <p>I am a software engineer with experience spanning a wide range of companies, from small startups to FAANGs....</p> <p>I know it is lame to work for them, but I have a dog so I need to put foods on my table.</p> - <img> dog photos </img> + <div class="epi-photo"> + <img id="currentPhoto" style="opacity: 0; transition: opacity 0.2s;" /> + </div> + <p>During my free time, I like to write codes mostly in C, typescript and python.</p> <p>This website is hosted using my own server library which I wrote in C.</p> <h2>Links</h2> <ul> <li><a href="https://zenbu.babocoder.com/file/tip">Repository</a> - Check out my code (MIT License)</li> <li><a href="/resume">Resume</a> - My professional experiences </li> - <li><a href="/tools">Tools</a> - Tools I use daily</li> + <li><a href="/tools">Tools</a> - Tools </li> </ul> </main> </body> + <script> + let arr = Array.from({ length: 18 }, (_, i) => i+1); + function setRandomImages() { + const randomIndex = Math.floor(Math.random() * arr.length); + const pos = arr[randomIndex]; + currentPhoto.src = `/public/epi-photos/webp/${pos}.webp`; + currentPhoto.onload = () => { + currentPhoto.style.opacity = "1"; + }; + setTimeout(() => setRandomImages(), 1000); + } + setRandomImages(); + </script> </html>
--- a/mrjunejune/src/parts/base_head.html Thu Jan 01 14:47:28 2026 -0800 +++ b/mrjunejune/src/parts/base_head.html Thu Jan 01 16:34:51 2026 -0800 @@ -1,7 +1,14 @@ -<link rel="preload" href="/fonts/Roboto-Regular.ttf" as="font" type="font/tff" crossorigin> -<link rel="preload" href="/fonts/Roboto-Thin.ttf"as="font" type="font/tff" crossorigin> -<link rel="preload" href="/fonts/atkinson-regular.woff" as="font" type="font/woff" crossorigin> -<link rel="preload" href="/fonts/atkinson-bold.woff" as="font" type="font/woff" crossorigin> +<link rel="icon" type="image/svg+xml" href="/public/epi_all_colors.svg"> + +<link rel="preload" href="/public/fonts/Roboto-Regular.ttf" as="font" crossorigin> +<link rel="preload" href="/public/fonts/Roboto-Thin.ttf"as="font" crossorigin> + +<link rel="preload" href="/public/fonts/atkinson-regular.woff" as="font" type="font/woff" crossorigin> +<link rel="preload" href="/public/fonts/atkinson-bold.woff" as="font" type="font/woff" crossorigin> + +<link rel="preload" href="/public/fonts/more-sugar.extras.otf" as="font" type="font/otf" crossorigin> +<link rel="preload" href="/public/fonts/more-sugar.regular.otf" as="font" type="font/otf" crossorigin> +<link rel="preload" href="/public/fonts/more-sugar.thin.otf" as="font" type="font/otf" crossorigin> <link rel="preload" href="/base.css" as="style" /> <link rel="stylesheet" href="/base.css" />
--- a/mrjunejune/src/parts/header.html Thu Jan 01 14:47:28 2026 -0800 +++ b/mrjunejune/src/parts/header.html Thu Jan 01 16:34:51 2026 -0800 @@ -36,6 +36,7 @@ } header h1 { + font-family: "More", sans-serif; margin: 0; font-size: 1.8em; font-weight: 700; @@ -131,9 +132,7 @@ </div> <header> - <h1> - <a href="/"><img id="logo" src="/public/logo_white.png"> </a> - </h1> + <h1><a href="/">MrJuneJune</a></h1> </header> <script src="/index.js"></script>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mrjunejune/src/public/test.sh Thu Jan 01 16:34:51 2026 -0800 @@ -0,0 +1,7 @@ +i=1; for f in *; do \ + # Create the original resolution version + ffmpeg -i "$f" -vcodec libwebp -q:v 75 "webp/${i}_original.webp"; \ + # Create the 400x400 version (maintaining aspect ratio) + ffmpeg -i "$f" -vcodec libwebp -vf "scale=400:400:force_original_aspect_ratio=decrease,pad=400:400:(ow-iw)/2:(oh-ih)/2:color=black" -q:v 75 "webp/${i}.webp"; \ + i=$((i+1)); \ +done
--- a/seobeo/s_web.c Thu Jan 01 14:47:28 2026 -0800 +++ b/seobeo/s_web.c Thu Jan 01 16:34:51 2026 -0800 @@ -3,8 +3,9 @@ // Global folder path for serving files static char g_folder_path[512] = "."; -int Seobeo_Web_GenerateRequestHeader(void *buffer, const char *host, - const char *path) +int Seobeo_Web_GenerateRequestHeader( + void *buffer, const char *host, + const char *path) { return sprintf( buffer, @@ -508,7 +509,6 @@ return -1; } - // Response size_t cap = 1024*8, used = 0; char *p_request_body = Dowa_Arena_Allocate(p_request_arena, cap); if (!p_request_body) { Seobeo_Handle_Destroy(h); return -1; }