Sugestão de feature: um modo noturno
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
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?
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.
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
Bom, não custa tentar. Podemos fazer uma branch experimental.
Tá bom. Vamos dar uma verificada nisso @commonlispbr/lispers
Você sugere um patch no org-minimal-html-theme?
Isso @AndersonTorres. O código fonte do org-minimal-html-theme também tá nesse repositório.
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.
Por favor contribua! QUERO
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
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.
Parece já um avanço bom @mateusfccp, além de ser simples de implementar