View paul-mathieu's full-sized avatar
⌨️
⌨️

    Block or report paul-mathieu

    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

    Pinned Loading

    1. bus-networkbus-networkPublic

      Creation of a bus path research using Djikstra Algorithm

      Java 3

    2. english-football-leaguesenglish-football-leaguesPublic

      Unofficial updated English leagues and players API

      Jupyter Notebook 3

    3. online-chat-nodejs-mongoonline-chat-nodejs-mongoPublic

      Online chat using nodjs, replicaset, mongo, redis and socket.io

      JavaScript

    4. huffman-encodinghuffman-encodingPublic

      Fast encoding of a text file with the Huffman compression method

      Python 4 1

    5. pizza-popolo-v2pizza-popolo-v2Public

      Interface of a pizza ordering site (works with the paul-mathieu/pizza-api project)

      JavaScript

    6. PolyChessPolyChessPublic

      Projet de création d'un jeu d'échec en Python

      Python 14 4

    , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
     blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
    }
    } catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
    })();
    (function(){
    try {
    var __m = "github.com";
    var __re = new RegExp('^' + "github\\.com" + '
    
    Skip to content
    View paul-mathieu's full-sized avatar
    ⌨️
    ⌨️

      Block or report paul-mathieu

      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

      Pinned Loading

      1. bus-networkbus-networkPublic

        Creation of a bus path research using Djikstra Algorithm

        Java 3

      2. english-football-leaguesenglish-football-leaguesPublic

        Unofficial updated English leagues and players API

        Jupyter Notebook 3

      3. online-chat-nodejs-mongoonline-chat-nodejs-mongoPublic

        Online chat using nodjs, replicaset, mongo, redis and socket.io

        JavaScript

      4. huffman-encodinghuffman-encodingPublic

        Fast encoding of a text file with the Huffman compression method

        Python 4 1

      5. pizza-popolo-v2pizza-popolo-v2Public

        Interface of a pizza ordering site (works with the paul-mathieu/pizza-api project)

        JavaScript

      6. PolyChessPolyChessPublic

        Projet de création d'un jeu d'échec en Python

        Python 14 4

      , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
      Skip to content
      View paul-mathieu's full-sized avatar
      ⌨️
      ⌨️

        Block or report paul-mathieu

        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

        Pinned Loading

        1. bus-networkbus-networkPublic

          Creation of a bus path research using Djikstra Algorithm

          Java 3

        2. english-football-leaguesenglish-football-leaguesPublic

          Unofficial updated English leagues and players API

          Jupyter Notebook 3

        3. online-chat-nodejs-mongoonline-chat-nodejs-mongoPublic

          Online chat using nodjs, replicaset, mongo, redis and socket.io

          JavaScript

        4. huffman-encodinghuffman-encodingPublic

          Fast encoding of a text file with the Huffman compression method

          Python 4 1

        5. pizza-popolo-v2pizza-popolo-v2Public

          Interface of a pizza ordering site (works with the paul-mathieu/pizza-api project)

          JavaScript

        6. PolyChessPolyChessPublic

          Projet de création d'un jeu d'échec en Python

          Python 14 4

        , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
        Skip to content
        View paul-mathieu's full-sized avatar
        ⌨️
        ⌨️

          Block or report paul-mathieu

          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

          Pinned Loading

          1. bus-networkbus-networkPublic

            Creation of a bus path research using Djikstra Algorithm

            Java 3

          2. english-football-leaguesenglish-football-leaguesPublic

            Unofficial updated English leagues and players API

            Jupyter Notebook 3

          3. online-chat-nodejs-mongoonline-chat-nodejs-mongoPublic

            Online chat using nodjs, replicaset, mongo, redis and socket.io

            JavaScript

          4. huffman-encodinghuffman-encodingPublic

            Fast encoding of a text file with the Huffman compression method

            Python 4 1

          5. pizza-popolo-v2pizza-popolo-v2Public

            Interface of a pizza ordering site (works with the paul-mathieu/pizza-api project)

            JavaScript

          6. PolyChessPolyChessPublic

            Projet de création d'un jeu d'échec en Python

            Python 14 4

          , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
          Skip to content
          View paul-mathieu's full-sized avatar
          ⌨️
          ⌨️

            Block or report paul-mathieu

            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

            Pinned Loading

            1. bus-networkbus-networkPublic

              Creation of a bus path research using Djikstra Algorithm

              Java 3

            2. english-football-leaguesenglish-football-leaguesPublic

              Unofficial updated English leagues and players API

              Jupyter Notebook 3

            3. online-chat-nodejs-mongoonline-chat-nodejs-mongoPublic

              Online chat using nodjs, replicaset, mongo, redis and socket.io

              JavaScript

            4. huffman-encodinghuffman-encodingPublic

              Fast encoding of a text file with the Huffman compression method

              Python 4 1

            5. pizza-popolo-v2pizza-popolo-v2Public

              Interface of a pizza ordering site (works with the paul-mathieu/pizza-api project)

              JavaScript

            6. PolyChessPolyChessPublic

              Projet de création d'un jeu d'échec en Python

              Python 14 4

            , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
            Skip to content
            View paul-mathieu's full-sized avatar
            ⌨️
            ⌨️

              Block or report paul-mathieu

              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

              Pinned Loading

              1. bus-networkbus-networkPublic

                Creation of a bus path research using Djikstra Algorithm

                Java 3

              2. english-football-leaguesenglish-football-leaguesPublic

                Unofficial updated English leagues and players API

                Jupyter Notebook 3

              3. online-chat-nodejs-mongoonline-chat-nodejs-mongoPublic

                Online chat using nodjs, replicaset, mongo, redis and socket.io

                JavaScript

              4. huffman-encodinghuffman-encodingPublic

                Fast encoding of a text file with the Huffman compression method

                Python 4 1

              5. pizza-popolo-v2pizza-popolo-v2Public

                Interface of a pizza ordering site (works with the paul-mathieu/pizza-api project)

                JavaScript

              6. PolyChessPolyChessPublic

                Projet de création d'un jeu d'échec en Python

                Python 14 4

              , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
              Skip to content
              View paul-mathieu's full-sized avatar
              ⌨️
              ⌨️

                Block or report paul-mathieu

                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

                Pinned Loading

                1. bus-networkbus-networkPublic

                  Creation of a bus path research using Djikstra Algorithm

                  Java 3

                2. english-football-leaguesenglish-football-leaguesPublic

                  Unofficial updated English leagues and players API

                  Jupyter Notebook 3

                3. online-chat-nodejs-mongoonline-chat-nodejs-mongoPublic

                  Online chat using nodjs, replicaset, mongo, redis and socket.io

                  JavaScript

                4. huffman-encodinghuffman-encodingPublic

                  Fast encoding of a text file with the Huffman compression method

                  Python 4 1

                5. pizza-popolo-v2pizza-popolo-v2Public

                  Interface of a pizza ordering site (works with the paul-mathieu/pizza-api project)

                  JavaScript

                6. PolyChessPolyChessPublic

                  Projet de création d'un jeu d'échec en Python

                  Python 14 4

                , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
                Skip to content
                View paul-mathieu's full-sized avatar
                ⌨️
                ⌨️

                  Block or report paul-mathieu

                  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

                  Pinned Loading

                  1. bus-networkbus-networkPublic

                    Creation of a bus path research using Djikstra Algorithm

                    Java 3

                  2. english-football-leaguesenglish-football-leaguesPublic

                    Unofficial updated English leagues and players API

                    Jupyter Notebook 3

                  3. online-chat-nodejs-mongoonline-chat-nodejs-mongoPublic

                    Online chat using nodjs, replicaset, mongo, redis and socket.io

                    JavaScript

                  4. huffman-encodinghuffman-encodingPublic

                    Fast encoding of a text file with the Huffman compression method

                    Python 4 1

                  5. pizza-popolo-v2pizza-popolo-v2Public

                    Interface of a pizza ordering site (works with the paul-mathieu/pizza-api project)

                    JavaScript

                  6. PolyChessPolyChessPublic

                    Projet de création d'un jeu d'échec en Python

                    Python 14 4