Blocchi GitHub: codice JavaScript nei file Markdown.

Nov 27 2022
O piccole app che distribuisci su GitHub.
Uno degli annunci più silenziosi al recente evento GitHub Universe è stato GitHub Blocks, presentato come un esperimento da Kyle Daigle, VP Strategy, sebbene il progetto sia sufficientemente avanzato da consentire agli sviluppatori di iscriversi a una lista d'attesa. I blocchi consentono agli sviluppatori di includere JavaScript nei file del repository in modo che diventino documenti live, in grado di eseguire operazioni come visualizzare contenuti o presentare analisi relative al repository.

Uno degli annunci più silenziosi al recente evento GitHub Universe è stato GitHub Blocks, presentato come un esperimento da Kyle Daigle, VP Strategy, sebbene il progetto sia sufficientemente avanzato da consentire agli sviluppatori di iscriversi a una lista d'attesa.

I blocchi consentono agli sviluppatori di includere JavaScript nei file del repository in modo che diventino documenti live, in grado di eseguire operazioni come visualizzare contenuti o presentare analisi relative al repository. Daigle lo ha descritto come "un modo per interagire con i tuoi repository in modo diretto e interattivo".

Kyle Daigle, VP Strategy, presenta Blocks a Universe

L'idea è stata presentata principalmente per una documentazione più ricca. "I blocchi sono componenti che personalizzano il modo in cui interagisci con i tuoi contenuti", ha affermato Daigle di Universe, aggiungendo che un blocco "potrebbe essere potente quanto una sandbox di codice live per un editor WYSIWYG" o, in altre parole, un modo per eseguire e dimostrare cosa fa il codice in un repository, all'interno del repository stesso. Puoi pensare a Blocks, ha detto Daigle, come a "piccole app che distribuisci spingendo su GitHub".

La documentazione per i repository GitHub è spesso formattata con Markdown, un modo semplice per aggiungere markup che dovrebbe essere facile da creare e facile da leggere come testo semplice, fornendo al contempo una formattazione essenziale come intestazioni, elenchi, immagini ed esempi di codice.

Markdown ha un numero di varianti e la versione di GitHub, che si chiama GFM (GitHub Flavored Markdown) è specificata qui , un superset di Markdown.

Rendering di caratteri e colori in un blocco GitHub

L'idea di aggiungere JavaScript a Markdown è in qualche modo opposta al concetto di Markdown, sebbene l'idea non sia nuova. I blocchi GitHub ricordano R Markdown che consente ai programmatori di incorporare il codice del linguaggio R e i widget Shiny , essendo Shiny un componente che esegue JavaScript, HTML e CSS.

I casi d'uso presentati da Daigle includono il rendering di caratteri e colori, la visualizzazione di dati JSON in tabelle formattate, la visualizzazione di analisi del repository come contributori, statistiche sui problemi, commit e richieste pull, la visualizzazione di diagrammi e la dimostrazione dinamica delle funzionalità dell'applicazione. Quest'ultima caratteristica è più adatta per le applicazioni che sono esse stesse codificate in JavaScript o TypeScript, come spesso accade. Un'altra possibilità è generare la ricerca e l'indicizzazione del codice dall'interno della documentazione.

GitHub ha già un'API REST e, in un certo senso, Blocks si limita a metterla insieme all'idea di abilitare il rendering di JavaScript e HTML da GFM. Concettualmente, però, interrompe l'idea che un repository sia per il codice e che la compilazione e l'esecuzione del codice avvenga altrove, poiché in questo caso il codice viene eseguito direttamente dal repository.

Blocks è una funzionalità specifica di GitHub e se gli sviluppatori fanno affidamento su di essa, renderà più difficile passare a un repository di codice diverso, un altro aspetto dell'esperimento che potrebbe rivelarsi un vantaggio per GitHub. Maggiori informazioni e l'applicazione della lista d'attesa sono qui .