Sobre Hexo, Audio e outras coisas (ou Morse Star Wars)

O principal intuito de ter começado esse blog foi passar a guardar notas sobre tecnologias que eu acabo usando ou conhecendo no dia a dia e que ficam esquecidas depois por acabar não encontrando grandes utilidades. Algumas dessas tecnologias acabam não tendo nem assunto para um artigo inteiro, então vou acabar escrevendo sobre mais de uma em poucas palavras nestes casos.

Hexo

O Hexo é um framework Javascript utilizado para criação de sites estáticos, principalmente blogs. Esse blog, por exemplo, é feito utilizando essa tecnologia.
Uma das grandes vantagens é que ele permite que os artigos sejam todos escritos em markdown facilitando a criação do conteúdo.

O Hexo também possui diversos temas em código aberto, além de ter uma flexibilidade para alterar os estilos da forma que deseja. Além disso, ele permite a insersão de raw scripts no markdown, podendo assim adicionar html dentro de artigos quando necessário.

Para quem busca uma plataforma para criação de sites estáticos sem muitas complexidades, essa é uma boa opção.

Audio

Já faz tempo que o HTML5 já não é mais uma novidade, mas como muitos de seus recursos não são tão comuns de serem usados muita gente acaba nem utilizando. Até hoje eu ainda não havia utilizado as APIs de áudio, e não sabia que era tão fácil.

Para tocar um áudio não é nem necessário utilizar a tag <audio> no HTML da página, basta utilizar o contrutor new Audio(url) através do Javascript.

Morse Star Wars

Para testar a execução de áudio em Javascript fiz um código simples que pode ser visto mais abaixo e que basicamente executa arquivos de som estáticos.

No input abaixo você pode inserir um texto que será convertido para código morse. Através do botão “Play” você consegue executar o morse, mas com o diferencial de ser tocado com sons de sabre de luz do Star Wars.

O código para a execução dos áudios em ordem pode ser visto abaixo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
function playMorse(morse) {
var point = new Audio('point.wav');
var dash = new Audio('dash.wav');
let incrementer = 0;

const interval = setInterval(() => {
if (morse.length > incrementer) {
const char = morse[incrementer];
if (char === '.') {
point.play();
} else if (char === '-') {
dash.play();
}
incrementer++;
} else {
clearInterval(interval);
}
}, 1500);
}

Conclusão

Nem tudo que programamos ou testamos tem potencial para um produto, mas qualquer coisa pode resultar em uma brincadeira rápida e que nos ensina novas coisas.

Neste caso um simples conversor de texto para morse em um gerador de sites estáticos já é uma ideia que nos faz sair da programação do dia a dia e aprender algo diferente.