commonlispbr.github.io icon indicating copy to clipboard operation
commonlispbr.github.io copied to clipboard

Sugestão de feature: um modo noturno

Open ryukinix opened this issue 8 years ago • 12 comments

Será que vale a pena implementar isso? Algumas pessoas me reportaram algumas vezes que esse setup do org-theme pra geração de páginas estáticas às vezes é agressivo para os olhos. Mas eu não gosto de contraste fraco, então tava pensando num botão preto/branco redondo só pra inverter as cores. O que vocês acham?

https://github.com/caffo/org-minimal-html-theme

ryukinix avatar Feb 11 '18 02:02 ryukinix

Acho válido porque sempre prefiro temas escuros ou AMOLED em meu celular, mas precisamos ver o quão viável isso é só gerar o HTML. Alguma chance de depender de edição direta do HTML ou dá pra fazer só com CSS e variados?

luksamuk avatar Feb 11 '18 02:02 luksamuk

Precisamos discutir isso com cuidado. Não tenho muita ideia como fazer de maneira mínima. Quanto menos CSS e JS melhor. Vamos pesquisar e colocar referências nessa issue.

ryukinix avatar Feb 11 '18 03:02 ryukinix

O ideal seria se basear no org-minimal-html-theme (em sua estrutura) pra gerar novos bundles e continuar com os conteúdos em org-mode. Não tenho pretensão de sair disso

ryukinix avatar Feb 11 '18 03:02 ryukinix

Bom, não custa tentar. Podemos fazer uma branch experimental.

luksamuk avatar Feb 13 '18 02:02 luksamuk

Tá bom. Vamos dar uma verificada nisso @commonlispbr/lispers

ryukinix avatar Feb 13 '18 02:02 ryukinix

Você sugere um patch no org-minimal-html-theme?

AndersonTorres avatar Feb 13 '18 19:02 AndersonTorres

Isso @AndersonTorres. O código fonte do org-minimal-html-theme também tá nesse repositório.

ryukinix avatar Feb 13 '18 21:02 ryukinix

Conversei com o @ryukinix em privado e ele me recomendou vir aqui para propor uma solução. A solução que eu implementei em meu blog depende de pouquíssimo js, uso somente para ler e configurar cookies e para interpretar o acionamento do botão de modo noturno, e uma quantidade de regras de CSS quase do mesmo tamanho do CSS.

A solução que estou propondo foi implementada há poucos dias e não é nada complicada de ser realizada, podendo ser visualizada aqui.

rafaelcn avatar Feb 21 '19 19:02 rafaelcn

Por favor contribua! QUERO

ryukinix avatar Feb 21 '19 20:02 ryukinix

Eu acabei escrevendo o comentário e não explicando a solução. Eu simplesmente adiciono à tag body a classe dark-mode e escrevo várias regras com essa classe e os elementos hierarquicamente abaixo dela, substituindo quase que todas as regras já existentes. É uma solução fácil embora possa acontecer alguns erros como os que acontecem no meu blog.

Com relação ao JS eu somente escrevo no cookie do navegador o tema que está em vigor e atualizo este se caso a pessoa trocar de tema, utilizo uma biblioteca (cookie.js) para fazer essa gerência de cookies porque quando fiz manualmente foi uma pequena chatisse. Todos os arquivos relacionados a solução podem ser visualizados:

Tema escuro CSS Script que gerencia a mudança de tema Biblioteca cookie.js

rafaelcn avatar Feb 21 '19 22:02 rafaelcn

Uma alternativa que requere menos LIXO (a.k.a JS) é a de usar o prefer-color-scheme.

Nesse caso, não teríamos a configuração de mudar entre um tema ou outro, essa opção viria direto do sistema do usuário.

mateusfccp avatar Apr 21 '24 16:04 mateusfccp

Parece já um avanço bom @mateusfccp, além de ser simples de implementar

ryukinix avatar Apr 21 '24 17:04 ryukinix