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 chamado 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:

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).

O 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!