Mercurial
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>© 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() {