changeset 93:be91a73d801a

[MrJuneJune] Updated my website.
author June Park <parkjune1995@gmail.com>
date Fri, 02 Jan 2026 18:02:22 -0800
parents 655ea0b661fd
children 092afa595764
files mrjunejune/src/index.html mrjunejune/src/parts/footer.html mrjunejune/src/resume/index.html mrjunejune/src/tools/file_converter/index.html mrjunejune/src/tools/file_converter/index.js mrjunejune/src/tools/index.html mrjunejune/src/tools/markdown_to_html/index.html
diffstat 7 files changed, 133 insertions(+), 119 deletions(-) [+]
line wrap: on
line diff
--- a/mrjunejune/src/index.html	Fri Jan 02 17:47:10 2026 -0800
+++ b/mrjunejune/src/index.html	Fri Jan 02 18:02:22 2026 -0800
@@ -23,17 +23,18 @@
          <img id="currentPhoto" style="opacity: 0; transition: opacity 0.2s;" />
        </div>
 
-       <p>During my free time, I like to write codes mostly in C, Python, and Typescript.</p>
-       <p>This website is hosted using my own server library which I wrote in C.</p>
+       <p>During my free time, I like to write codes mostly in C, Python, and Typescript. All in mono repo styles using mercurial and bazel. (I know that is mentally ill...)</p>
+       <p>Feel free to check it out. My bad code..</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="https://zenbu.babocoder.com/file/tip">Repository</a> - Check out my monorepo code</li>
          <li><a href="/resume">Resume</a> - My professional experiences </li>
          <li><a href="/tools">Tools</a> - Tools </li>
          <!-- <li><a href="/blogs">Blogs</a> - Personal Blogs where I rant </li> -->
-       </ul>
+       </ul> 
      </main>
+     {{/parts/footer.html}}
   </body>
   <script>
     let arr = Array.from({ length: 18 }, (_, i) => i+1);
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mrjunejune/src/parts/footer.html	Fri Jan 02 18:02:22 2026 -0800
@@ -0,0 +1,3 @@
+<div style="display: flex; align-items: center; justify-content: center; margin: 30px 0px;">
+  <small>&copy; 2026 June Park</small>
+</div>
--- a/mrjunejune/src/resume/index.html	Fri Jan 02 17:47:10 2026 -0800
+++ b/mrjunejune/src/resume/index.html	Fri Jan 02 18:02:22 2026 -0800
@@ -235,6 +235,7 @@
       </div>
       <div id="footer"></div>
     </main>
+    {{/parts/footer.html}}
     <script href="index.js"></script>
   </body>
 </html>
--- a/mrjunejune/src/tools/file_converter/index.html	Fri Jan 02 17:47:10 2026 -0800
+++ b/mrjunejune/src/tools/file_converter/index.html	Fri Jan 02 18:02:22 2026 -0800
@@ -148,120 +148,8 @@
                 <a id="videoDownload" class="download-link" style="display: none;">Download MP4 Video</a>
             </div>
         </div>
+        {{/parts/footer.html}}
     </div>
-
-    <script>
-        async function convertImageToWebP() {
-            const input = document.getElementById('imageInput');
-            const btn = document.getElementById('convertImageBtn');
-            const loading = document.getElementById('imageLoading');
-            const result = document.getElementById('imageResult');
-            const message = document.getElementById('imageMessage');
-            const download = document.getElementById('imageDownload');
-
-            if (!input.files || !input.files[0]) {
-                alert('Please select an image file first');
-                return;
-            }
-
-            const file = input.files[0];
-
-            // Show loading state
-            btn.disabled = true;
-            loading.classList.add('show');
-            result.classList.remove('show', 'success', 'error');
-            download.style.display = 'none';
-
-            try {
-                const response = await fetch('/api/convert/image-to-webp', {
-                    method: 'POST',
-                    body: file,
-                    headers: {
-                        'Content-Type': file.type
-                    }
-                });
-
-                loading.classList.remove('show');
-                result.classList.add('show');
-
-                if (response.ok) {
-                    const data = await response.json();
-
-                    download.href = data.download_url;
-                    download.download = file.name.replace(/\.[^/.]+$/, '') + '.webp';
-                    download.style.display = 'inline-block';
-
-                    message.textContent = 'Conversion successful! Link expires in ' + data.expires + '.';
-                    result.classList.add('success');
-                } else {
-                    const text = await response.text();
-                    message.textContent = 'Conversion failed: ' + text;
-                    result.classList.add('error');
-                }
-            } catch (error) {
-                loading.classList.remove('show');
-                result.classList.add('show', 'error');
-                message.textContent = 'Error: ' + error.message;
-            } finally {
-                btn.disabled = false;
-            }
-        }
-
-        async function convertVideoToMP4() {
-            const input = document.getElementById('videoInput');
-            const btn = document.getElementById('convertVideoBtn');
-            const loading = document.getElementById('videoLoading');
-            const result = document.getElementById('videoResult');
-            const message = document.getElementById('videoMessage');
-            const download = document.getElementById('videoDownload');
-
-            if (!input.files || !input.files[0]) {
-                alert('Please select a video file first');
-                return;
-            }
-
-            const file = input.files[0];
-
-            // Show loading state
-            btn.disabled = true;
-            loading.classList.add('show');
-            result.classList.remove('show', 'success', 'error');
-            download.style.display = 'none';
-
-            try {
-                const response = await fetch('/api/convert/video-to-mp4', {
-                    method: 'POST',
-                    body: file,
-                    headers: {
-                        'Content-Type': file.type
-                    }
-                });
-
-                loading.classList.remove('show');
-                result.classList.add('show');
-
-                if (response.ok) {
-                    const data = await response.json();
-
-                    download.href = data.download_url;
-                    download.download = file.name.replace(/\.[^/.]+$/, '') + '.mp4';
-                    download.style.display = 'inline-block';
-
-                    message.textContent = 'Conversion successful! Link expires in ' + data.expires + '.';
-                    result.classList.add('success');
-                } else {
-                    const text = await response.text();
-                    message.textContent = 'Conversion failed: ' + text;
-                    result.classList.add('error');
-                }
-            } catch (error) {
-                loading.classList.remove('show');
-                result.classList.add('show', 'error');
-                message.textContent = 'Error: ' + error.message;
-            } finally {
-                btn.disabled = false;
-            }
-        }
-    </script>
+    <script src="/tools/file_converter/index.js"></script>
 </body>
 </html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mrjunejune/src/tools/file_converter/index.js	Fri Jan 02 18:02:22 2026 -0800
@@ -0,0 +1,114 @@
+async function convertImageToWebP()
+{
+  const input = document.getElementById('imageInput');
+  const btn = document.getElementById('convertImageBtn');
+  const loading = document.getElementById('imageLoading');
+  const result = document.getElementById('imageResult');
+  const message = document.getElementById('imageMessage');
+  const download = document.getElementById('imageDownload');
+
+  if (!input.files || !input.files[0])
+  {
+    alert('Please select an image file first');
+    return;
+  }
+
+  const file = input.files[0];
+
+  // Show loading state
+  btn.disabled = true;
+  loading.classList.add('show');
+  result.classList.remove('show', 'success', 'error');
+  download.style.display = 'none';
+
+  try {
+    const response = await fetch('/api/convert/image-to-webp', {
+      method: 'POST',
+      body: file,
+      headers: {
+        'Content-Type': file.type
+      }
+    });
+
+    loading.classList.remove('show');
+    result.classList.add('show');
+
+    if (response.ok) {
+      const data = await response.json();
+
+      download.href = data.download_url;
+      download.download = file.name.replace(/\.[^/.]+$/, '') + '.webp';
+      download.style.display = 'inline-block';
+
+      message.textContent = 'Conversion successful! Link expires in ' + data.expires + '.';
+      result.classList.add('success');
+    } else {
+      const text = await response.text();
+      message.textContent = 'Conversion failed: ' + text;
+      result.classList.add('error');
+    }
+  } catch (error) {
+    loading.classList.remove('show');
+    result.classList.add('show', 'error');
+    message.textContent = 'Error: ' + error.message;
+  } finally {
+    btn.disabled = false;
+  }
+}
+
+async function convertVideoToMP4() {
+  const input = document.getElementById('videoInput');
+  const btn = document.getElementById('convertVideoBtn');
+  const loading = document.getElementById('videoLoading');
+  const result = document.getElementById('videoResult');
+  const message = document.getElementById('videoMessage');
+  const download = document.getElementById('videoDownload');
+
+  if (!input.files || !input.files[0]) {
+    alert('Please select a video file first');
+    return;
+  }
+
+  const file = input.files[0];
+
+  // Show loading state
+  btn.disabled = true;
+  loading.classList.add('show');
+  result.classList.remove('show', 'success', 'error');
+  download.style.display = 'none';
+
+  try {
+    const response = await fetch('/api/convert/video-to-mp4', {
+      method: 'POST',
+      body: file,
+      headers: {
+        'Content-Type': file.type
+      }
+    });
+
+    loading.classList.remove('show');
+    result.classList.add('show');
+
+    if (response.ok) {
+      const data = await response.json();
+
+      download.href = data.download_url;
+      download.download = file.name.replace(/\.[^/.]+$/, '') + '.mp4';
+      download.style.display = 'inline-block';
+
+      message.textContent = 'Conversion successful! Link expires in ' + data.expires + '.';
+      result.classList.add('success');
+    } else {
+      const text = await response.text();
+      message.textContent = 'Conversion failed: ' + text;
+      result.classList.add('error');
+    }
+  } catch (error) {
+    loading.classList.remove('show');
+    result.classList.add('show', 'error');
+    message.textContent = 'Error: ' + error.message;
+  } finally {
+    btn.disabled = false;
+  }
+}
+
--- a/mrjunejune/src/tools/index.html	Fri Jan 02 17:47:10 2026 -0800
+++ b/mrjunejune/src/tools/index.html	Fri Jan 02 18:02:22 2026 -0800
@@ -12,6 +12,13 @@
          <li><a href="/tools/markdown_to_html">MarkDown to HTML</a></li>
          <li><a href="/tools/file_converter">Images to Webp / Video to Mp4</a></li>
        </ul>
+       <h3> TODOs </h3>
+       <p> Probably should add this... </p>
+       <ul class="nav-list">
+         <li>- Simple online LaTex editor.</li>
+         <li>- Online HLS player.</li>
+       </ul>
      </main>
+     {{/parts/footer.html}}
   </body>
 </html>
--- a/mrjunejune/src/tools/markdown_to_html/index.html	Fri Jan 02 17:47:10 2026 -0800
+++ b/mrjunejune/src/tools/markdown_to_html/index.html	Fri Jan 02 18:02:22 2026 -0800
@@ -67,7 +67,7 @@
             <div id="output"></div>
         </div>
     </div>
-
+    {{/parts/footer.html}}
     <script src="/markdown_to_html.js"></script>
     <script>
         function convert() {