Emacs - Parte 2
Hmmm… Parte 2? Hmmm…
Bem, eu não acho que isso vá ser um post longo ou que vá adicionar muito ao post original, então você pode ignorar ele a vontade.
Sobre o "ambiente onde eu possa usar o Emacs"
Então, eu já consegui fazer um. É meio que feito na gambiarra, mas funciona.
Eu estou utilizando o compositor wayland Cage, um compositor que tem o objetivo de ser uma ferramenta para criação de kiosk's. Tipo um kiosk onde tem um menu de restaurante e etc.
Porém, como eu posso rodar qualquer programa que eu quiser nele, então nada melhor do que fazer um "kiosk" com o Emacs!
O resultado dessa monstruosidade é um Emacs rodando em tela cheia com um teclado inteiro a disposição para ser usado sem ter algum outro elemento que possa ter teclas de atalho conflitantes com as do Emacs.
Simplificando, eu posso usar até mesmo a tecla super (Windows) se eu quiser e eu vou estar de boa.
O que mais adicionei à minha configuração do Emacs?
Teclas de atalho novas, como por exemplo, teclas para:
- Aumentar/diminuir o brilho da tela do meu notebook;
- Aumentar/diminuir o volume do meu notebook;
- Capturar a tela do Emacs (usando o próprio emacs).
- Gravar a tela
Também deixei habilitados por padrão 2 minor-modes do Emacs que são
pré-instalados (por alguma razão), eles são o display-battery-mode
,
e display-time-mode
. Ambos são minor-modes que poem seu output na
barra do Emacs (eu não faço ideia de qual é o nome oficial dessa
bagaça), o que significa que a barra do Emacs se tornou o equivalente
à barra do Sway, o meu compositor wayland favorito.
Org-publish é praticamente um SSG
Eu sei que eu já comentei algo parecido com isso no meu outro post:
Apesar de ter usado diversos SSG's nos últimos tempos, nenhum deles possui a praticidade de simplesmente gerar uma página HTML a partir de um buffer que esteja aberto no seu editor com a mesma facilidade que o Emacs junto do Org-mode conseguem ter.
Esse site inteiro foi refeito utilizando essa ferramenta de gereção de sites nativa do Emacs.
Mas acho que eu não consegui transparecer o quão prático e simples é o processo de escrever e "publicar" o que foi escrito.
Se você já usou um SSG como por exemplo o Jekyll, você pode interpretar o org-publish como uma template do Jekyll em que você pode fazer algumas modificações e que não tem muitas automações por parte dela.
Todas as páginas seguem um padrão pré-definido, todas.
Ou seja, você pode usar o seu CSS pensando somente em 1 página, porque todas as outras vão ser clones dessa página em que você está se inspirando.
Um bom exemplo disso é esse próprio site. Se você observar bem, não existe muito uma grande diferença entre a página de um post e a página de index. Na verdade a única diferença é a falta de uma tabela de conteúdo na página index.
Outra coisa também que eu encontrei, depois de xeretar um pouco na inter-webs, eu encontrei algumas características interessantes sobre o ox-publish. Uma delas é que as variáveis que criam o preâmbulo e o pós-âmbulo da página (são uns bagulho de autor e de validação da página) podem ser modificadas para qualquer string que o usuário prefira. Ou seja, eu posso colocar meu próprio HTML nelas!
O que em termos práticos, faz com que o ox-publish faça o que eu achava que era a maior utilidade de um SSG: re-utilizar um elemento de uma página em todas as outras.
Por enquanto eu só adicionei uma footer com o nome do author do artigo e com a data de última modificação do arquivo (sim, esse bagulho tem até variáveis que você pode usar).
A site é praticamente um espelho da minha config
O meu site e o meu Emacs possuem uma aparência muito similar, o que é proposital, já que dessa forma eu consigo ter uma certa noção de como meu site vai ficar, tirando a necessidade de usar um navegador para visualizar a página do meu site.
Não é que eu não veja como a página fica, mas eu não tenho a necessidade de ver como ele fica.
Melhor do que só mencionar é mostrar, então aqui está uma screenshot do meu Emacs:
Não é um completo clone 1 por 1, mas pelo menos eles tem certa semelhança, dessa maneira eu consigo me concentrar apenas em escrever com tranquilidade, afinal de contas o site final é extremamente semelhante ao o que eu já estou vendo no editor.
Fin
Bem, é isso. Eu falei que esse posts seria algo rápido.
Enfim, até o próximo post!