GitHub Blocks: código JavaScript em arquivos Markdown.

Nov 27 2022
Ou pequenos aplicativos que você implanta no GitHub.
Um dos anúncios mais silenciosos no recente evento GitHub Universe foi o GitHub Blocks, apresentado como um experimento por Kyle Daigle, vice-presidente de estratégia, embora o projeto esteja suficientemente avançado para que os desenvolvedores possam se inscrever em uma lista de espera. Os blocos permitem que os desenvolvedores incluam JavaScript nos arquivos do repositório para que se tornem documentos ativos, capazes de fazer coisas como visualizar conteúdo ou apresentar análises relacionadas ao repositório.

Um dos anúncios mais silenciosos no recente evento GitHub Universe foi o GitHub Blocks, apresentado como um experimento por Kyle Daigle, vice-presidente de estratégia, embora o projeto esteja suficientemente avançado para que os desenvolvedores possam se inscrever em uma lista de espera.

Os blocos permitem que os desenvolvedores incluam JavaScript nos arquivos do repositório para que se tornem documentos ativos, capazes de fazer coisas como visualizar conteúdo ou apresentar análises relacionadas ao repositório. Daigle o descreveu como “uma maneira de interagir com seus repositórios direta e interativamente”.

Kyle Daigle, vice-presidente de estratégia, apresenta Blocks na Universe

A ideia foi apresentada principalmente para uma documentação mais rica. “Blocks são componentes que personalizam como você interage com seu conteúdo”, disse Daigle na Universe, acrescentando que um bloco “pode ser tão poderoso quanto uma caixa de areia de código ao vivo para um editor WYSIWYG” – ou em outras palavras, uma maneira de executar e demonstrar o que o código em um repositório faz, dentro do próprio repositório. Você pode pensar em Blocks, disse Daigle, como “pequenos aplicativos que você implanta enviando para o GitHub”.

A documentação para repositórios do GitHub geralmente é formatada com Markdown, uma maneira simples de adicionar marcações que se destina a ser fácil de criar e fácil de ler como texto simples, além de fornecer formatação essencial, como cabeçalhos, listas, imagens e exemplos de código.

O Markdown tem várias variantes e a versão do GitHub, chamada GFM (GitHub Flavored Markdown) é especificada aqui , um superconjunto do Markdown.

Renderizando fontes e cores em um GitHub Block

A noção de adicionar JavaScript ao Markdown é um pouco oposta ao conceito de Markdown, embora a ideia não seja nova. Os GitHub Blocks são uma reminiscência do R Markdown , que permite que os codificadores incorporem o código da linguagem R e widgets Shiny , sendo o Shiny um componente que executa JavaScript, HTML e CSS.

Os casos de uso apresentados pela Daigle incluem renderização de fontes e cores, exibição de dados JSON em tabelas formatadas, exibição de análise de repositório, como colaboradores, estatísticas de problemas, confirmações e solicitações pull, exibição de diagramas e demonstração de recursos de aplicativos dinamicamente. Este último recurso é mais adequado para aplicativos que são codificados em JavaScript ou TypeScript, como geralmente é o caso. Outra possibilidade é gerar pesquisa de código e indexação de dentro da documentação.

O GitHub já possui uma API REST e, de certa forma, o Blocks apenas junta isso com a ideia de permitir que JavaScript e HTML sejam renderizados a partir do GFM. Conceitualmente, porém, rompe a noção de que um repositório é para código e que a compilação e execução do código ocorre em outro lugar, pois nesse caso o código está sendo executado diretamente do repositório.

Blocks é um recurso específico do GitHub e, se os desenvolvedores confiarem nele, será mais difícil mudar para um repositório de código diferente, outro aspecto do experimento que pode ser um benefício para o GitHub. Mais informações e inscrição na lista de espera estão aqui .