AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / computer / Perguntas / 1794556
Accepted
alamar
alamar
Asked: 2023-07-07 18:28:34 +0800 CST2023-07-07 18:28:34 +0800 CST 2023-07-07 18:28:34 +0800 CST

Torne o painel de navegação do GitHub sempre visível usando JS/CSS local, como GreaseMonkey

  • 772
A recompensa expira em 5 dias . As respostas a esta pergunta são elegíveis para uma recompensa de reputação de +50 . alamar quer chamar mais atenção para esta questão:
Eu gostaria de ter um passo a passo executável fazendo isso usando uma ferramenta de escolha

O redesenho do GitHub recentemente o tornou muito menos utilizável, já que 2/3 do espaço da tela não é mais usado: Redesenho do GitHub com espaço desperdiçado

Se você pressionar o botão do menu hambúrguer, uma barra lateral útil aparecerá, mas ela desaparecerá se você clicar em qualquer lugar fora dela: GitHub com barra lateral

Eu gostaria de usar algum plug-in do Chromium para modificar a árvore DOM/CSS do GitHub para fazer com que essa barra lateral seja sempre exibida em todas as páginas, conforme mostrado na captura de tela do GIMPed abaixo:

insira a descrição da imagem aqui

Eu ficaria grato por instruções para fazê-lo. Acho que reposicioná-lo em um local diferente da árvore DOM e torná-lo visível deve ser suficiente.

script
  • 1 1 respostas
  • 54 Views

1 respostas

  • Voted
  1. Best Answer
    ryelin
    2023-07-10T20:49:34+08:002023-07-10T20:49:34+08:00

    A barra lateral esquerda meio que não carrega os dados antes de clicar no botão de hambúrguer, e não tenho ideia de como o site funciona em geral, mas fiz algo um pouco cafona.

    // ==UserScript==
    // @name         New Userscript for superuser.com/questions/1794556
    // @namespace    http://tampermonkey.net/
    // @version      2
    // @description  superuser.com/questions/1794556
    // @match        https://github.com/*
    // ==/UserScript==
    
    (function() {
      'use strict';
    
      const css = `
    
      @media only screen and (min-width: 1300px) {
        body {
          overflow: auto !important;
        }
        .AppHeader-globalBar-start deferred-side-panel {
          transform: translatex(-15px);
        }
        .application-main main {
          max-width: calc(100vw - 320px - 2em);
          margin-left: auto;
        }
        deferred-side-panel > div > modal-dialog {
          position: absolute;
          top: 104px;
          left: 0px;
        }
        .Overlay-backdrop--side.Overlay-backdrop--placement-left.Overlay--hidden {
          display: flex !important;
          height: 100%;
          position: relative;
        }
        .AppHeader-globalBar-start .Overlay-backdrop--side {
          background-color: transparent;
        }
        .dashboard-sidebar,
        .AppHeader-globalBar-start deferred-side-panel > include-fragment > div[class] > modal-dialog,
        .AppHeader-globalBar-start deferred-side-panel > button[id],
        .AppHeader-globalBar-start deferred-side-panel > div[class] .Overlay-actionWrap {
          display: none !important;
        }
      }
    
      `;
    
      const styleElement = document.createElement('style');
    
      styleElement.textContent = css;
    
      document.head.appendChild(styleElement);
    
      function trigMenu() {
        setTimeout(function() {
          document.querySelector("deferred-side-panel > include-fragment > button[id]").click();
          document.querySelector(".Overlay-actionWrap > .close-button").click();
        }, 10);
      }
    
      const observer = new MutationObserver(function(mutationsList) {
        for (let mutation of mutationsList) {
          if (mutation.type === 'childList') {
            trigMenu();
            break;
          }
        }
      });
    
      observer.observe(document.body, { childList: true, subtree: true });
    
    })();
    

    Tudo o que o código faz é injetar CSS que faz a barra de menus aparecer no lado esquerdo enquanto move os elementos atrás dela para longe dela. Então, sempre que o DOM muda, ele clica no botão de menu para que os dados dinâmicos sejam carregados na barra lateral.

    A maior parte do trabalho é feito em CSS. Não explorei todas as páginas em busca de colisões de elementos gritantes, mas até agora parece estar tudo bem nas páginas comuns.

    • 1

relate perguntas

  • Como verificar se um servidor possui um endereço IP fixo usando o Powershell?

  • script bash: saída de eco truncada e na ordem errada

  • como executar um script dentro de um script no comando shell

  • Como criar um script de monitoramento e gerenciamento remoto

  • Sintaxe correta em um script para anexar a .bashrc para root

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como posso reduzir o consumo do processo `vmmem`?

    • 11 respostas
  • Marko Smith

    Baixar vídeo do Microsoft Stream

    • 4 respostas
  • Marko Smith

    O Google Chrome DevTools falhou ao analisar o SourceMap: chrome-extension

    • 6 respostas
  • Marko Smith

    O visualizador de fotos do Windows não pode ser executado porque não há memória suficiente?

    • 5 respostas
  • Marko Smith

    Como faço para ativar o WindowsXP agora que o suporte acabou?

    • 6 respostas
  • Marko Smith

    Área de trabalho remota congelando intermitentemente

    • 7 respostas
  • Marko Smith

    O que significa ter uma máscara de sub-rede /32?

    • 6 respostas
  • Marko Smith

    Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows?

    • 1 respostas
  • Marko Smith

    O VirtualBox falha ao iniciar com VERR_NEM_VM_CREATE_FAILED

    • 8 respostas
  • Marko Smith

    Os aplicativos não aparecem nas configurações de privacidade da câmera e do microfone no MacBook

    • 5 respostas
  • Martin Hope
    Vickel O Firefox não permite mais colar no WhatsApp web? 2023-08-18 05:04:35 +0800 CST
  • Martin Hope
    Saaru Lindestøkke Por que os arquivos tar.xz são 15x menores ao usar a biblioteca tar do Python em comparação com o tar do macOS? 2021-03-14 09:37:48 +0800 CST
  • Martin Hope
    CiaranWelsh Como posso reduzir o consumo do processo `vmmem`? 2020-06-10 02:06:58 +0800 CST
  • Martin Hope
    Jim Pesquisa do Windows 10 não está carregando, mostrando janela em branco 2020-02-06 03:28:26 +0800 CST
  • Martin Hope
    andre_ss6 Área de trabalho remota congelando intermitentemente 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney Por que colocar um ponto após o URL remove as informações de login? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    jonsca Todos os meus complementos do Firefox foram desativados repentinamente, como posso reativá-los? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK É possível criar um código QR usando texto? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 Altere o nome da ramificação padrão do git init 2019-04-01 06:16:56 +0800 CST

Hot tag

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve