') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ', 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ', 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ', 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); })(); monam2 (Changwoo Kang) · GitHub
Skip to content
View monam2's full-sized avatar

Organizations

@sipe-team@Algorithm-with-SSAFY@SSAFY11th-Gwangju04-WebStudy@NagneTrip@ssafy-meetz@Arbaguette@DDASOOM@debug-community@study-react-from-scratch-hoco@Randomgorithm

Block or report monam2

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
monam2/README.md

👋 Hi there, I'm monam2!

💻 Works

  • Frontend Developer @ Dozn (Feb 2025 – Now)

🌱 Experiences

  • SIPE 5th (Feb 2026 - Jul 2026)
  • Samsung Software Academy For Youth (SSAFY) 11th (Jan 2024 – Dec 2024)
  • B.S. in Computer Info and Telecommunications Engineering, Chonnam Nat'l Univ. (Mar 2018 – Feb 2024)

🛠️ Skills

📍 Contributions

  • ⭕️ Vite(#21412) - add html.additionalAssetSources option
  • ⭕️ Vite(#20707) - support multiple certificates in resolveServerUrls
  • ⭕️ Material UI(#46907) - Add track slot to CircularProgress via enableTrackSlot
  • ❌ tRPC(#6926) - export DataTransformer type from @trpc/server and @trpc/client
  • ⭕️ Mantine(#8162) - ScrollArea extends horizontally even with scrollbars="y" set

Pinned Loading

  1. vitevitePublic

    Forked from vitejs/vite

    Next generation frontend tooling. It's fast!

    TypeScript

  2. fe-engineering-basefe-engineering-basePublic

    후론트엔드 지식 쌓기

    TypeScript

  3. meet-zmeet-zPublic

    Forked from ssafy-meetz/meet-z

    [🏆우수상][MEET:Z] WebRTC기반 비대면 팬싸인회 자동화 플랫폼

    TypeScript 2

  4. ddasoomddasoomPublic

    Forked from DDASOOM/ddasoom

    [🏆우수상][따 숨] 갤럭시 워치와 AI를 이용한 공황발작 예측과 훈련을 도와주는 서비스

    TypeScript

  5. dev-blogdev-blogPublic

    HTML