Content Widgets

Widget per articoli come blocchi di contenuto: avvisi, fisarmoniche, schede, passaggi, riquadri prodotto, incorporamenti, codice, schede link, citazioni, indice e ultimi articoli.

Estensione

Content Widgets

Widget per articoli come blocchi di contenuto: avvisi, fisarmoniche, schede, passaggi, riquadri prodotto, incorporamenti, codice, schede link, citazioni, indice e ultimi articoli.

  • Categoria: widgets
  • Stato: Disponibile
  • Versione: 1.0.4
  • Prezzo: Sconosciuto
  • Fonte: Registro ufficiale dei plugin
  • Installazione: Plugin sandbox del registro
  • Verificato: 2026-10-21

Descrizione

Content Widgets

Demo dal vivo: emdashhq.com/blog/widget-gallery — tutti i diciannove widget mostrati in un solo articolo.

Un insieme di widget per articoli per i siti EmDash: riquadri di avviso, fisarmoniche, schede, liste di controllo, pulsanti, incorporamenti YouTube e iframe, riquadri prodotto/recensione, citazioni in evidenza, tabelle di fatti, un indice automatico, navigazione di serie e un elenco dinamico degli «ultimi articoli».

Ogni widget è un tipo di blocco di un campo blocks, quindi gli editor possono inserirlo in qualsiasi campo basato su blocchi — contenuto delle pagine, corpi degli articoli del blog, landing page — ovunque il tuo schema lo consenta.

Cosa è incluso

Diciannove tipi di blocco, tutti con il prefisso widget_: Prose, Notice, Accordion, Tabs, Checklist, Steps, Button, YouTube, Embed, Image, Code, Product box, Link cards, Pull quote, Facts table, Table of contents, Series nav, Latest posts e Divider.

Come funziona

I plugin in sandbox non possono fornire componenti di rendering Astro, quindi i widget vengono distribuiti come JSON dei tipi di blocco + componenti Astro già pronti nella cartella site/ del pacchetto. Li copi nel tuo sito una sola volta; il plugin fornisce il comportamento condiviso a runtime (modalità privacy di YouTube, la riga di informativa sull’affiliazione, la query degli articoli) tramite due rotte pubbliche che i componenti chiamano nello stesso processo — senza alcun giro HTTP.

Il plugin aggiunge anche una pagina di amministrazione Widget catalog che documenta i campi di ogni blocco, e una pagina Setup guide con i passaggi esatti dell’installazione e lo stato delle impostazioni.

Installazione

Installazione

1. Installare il plugin

Installa @bitdoze.com/emdashhq-widgets dal registro dei plugin EmDash, oppure collegalo come dipendenza di file e registralo sotto sandboxed: in astro.config.mjs:

import widgetsPlugin from "emdashhq-widgets";

emdash();

Il plugin richiede content:read e schema:read — approvale perché il widget Latest posts e la rotta posts funzionino. I widget statici vengono mostrati anche senza.

2. Aggiungere i tipi di blocco al tuo schema

Copia site/block-types/*.json nell’array blockTypes del tuo file seed (oppure invia con POST il contenuto di ogni file a /_emdash/api/schema/block-types su un sito attivo), poi elenca i tipi negli allowedTypes dei campi blocks che devono accettarli — per esempio pages.content o posts.body.

3. Registrare i renderer

Copia site/components/*.astro, site/components/config.ts, site/components/icons.ts, site/widget-components.ts e site/WidgetBlocks.astro nel tuo progetto, poi mostra WidgetBlocks per un campo solo-widget:

oppure espandi widgetComponents nella tua mappa esistente:

const blockComponents = defineBlockComponents();

4. Configurare

Le impostazioni si trovano in Plugins → Content Widgets → Settings:

  • Privacy-enhanced YouTube embeds — serve i lettori da youtube-nocookie.com (attivo per impostazione predefinita).
  • Affiliate disclosure — riga in caratteri piccoli all’interno dei widget Product box; vuota, viene nascosta.
  • Posts collection — raccolta predefinita per il widget Latest posts e la rotta posts.

FAQ

FAQ

Perché devo copiare i file invece di lasciarlo fare al plugin? I plugin in sandbox vengono eseguiti in un runtime isolato e non possono registrare componenti di rendering Astro. La cartella site/ contiene gli stessi JSON dei tipi di blocco e gli stessi componenti usati dall’autore del plugin, quindi l’installazione è una copia una tantum nel tuo repository — dopodiché i widget si comportano come i tuoi tipi di blocco.

I widget funzionano senza il plugin installato? Quelli statici sì — Prose, Notice, Accordion, Tabs, Checklist, Button, Embed, Quote, Facts, TOC e Series richiedono solo i tipi di blocco e i componenti. YouTube, Product box e Latest posts leggono le impostazioni o le rotte del plugin; senza il plugin tornano ai valori predefiniti (no-cookie attivo, nessuna informativa, elenco vuoto).

Il widget YouTube imposta cookie? Nessun lettore viene caricato finché il visitatore non fa clic sull’anteprima. Con l’impostazione di privacy predefinita il lettore proviene poi da youtube-nocookie.com, che non imposta cookie di tracciamento nemmeno allora.

Come costruisce Latest posts il suo elenco? Il componente chiama la rotta pubblica posts del plugin nello stesso processo (nessuna richiesta HTTP). La rotta elenca le voci pubblicate dalla più recente alla più vecchia dalla raccolta configurata e ricava l’URL pubblico di ogni voce dal urlPattern della sua raccolta.

Posso cambiare lo stile dei widget? Sì — ogni componente usa classi wgt-* e legge i tuoi design token (--color-brand, --color-surface, …) con valori di ripiego neutri. Sovrascrivi le classi o i token per adattarli al tuo tema.

I widget funzionano anche nelle pagine normali? Sì. Aggiungi i tipi widget_* agli allowedTypes di qualsiasi campo blocks — pagine, articoli o altro.

Registro delle modifiche

Registro delle modifiche

1.0.4

  • Schede senza JavaScript: le etichette degradano ad ancore nella pagina e ogni pannello resta visibile. Con JS diventano vere schede con i tasti freccia, Home/Fine e tabindex mobile.
  • Documentazione: il link alla demo della galleria include parametri UTM.

1.0.3

  • Product box: corretto il layout senza immagine che comprimeva il contenuto in una colonna stretta; la colonna multimediale ora viene mostrata solo quando è impostata un’immagine
  • Nuovo stile di Product box: riga di informativa in carattere a spaziatura fissa, etichetta del prezzo, segni di spunta/croce su pro e contro, pulsante nello stile dei pulsanti del sito
  • Il set di icone del sito ha ottenuto un’icona x per la colonna dei contro

1.0.2

  • Documentazione: la descrizione rimanda all’articolo demo della galleria dei widget dal vivo

1.0.1

  • Risorse della scheda del registro: icona del plugin, banner e schermate
  • Correzioni della documentazione: elenco dei 19 blocchi nella descrizione e nel registro delle modifiche

1.0.0

  • Versione iniziale: 19 tipi di blocco widget_* (prose, notice, accordion, tabs, checklist, steps, button, YouTube, embed, image, code, product, link cards, quote, facts, table of contents, series nav, latest posts, divider)
  • JSON dei tipi di blocco e componenti Astro autonomi in site/
  • Rotta pubblica config per le impostazioni condivise (modalità privacy di YouTube, informativa sull’affiliazione, raccolta degli articoli)
  • Rotta pubblica posts che elenca le voci pubblicate più recenti con gli URL risolti
  • Pagine di amministrazione Block Kit: catalogo dei widget e guida alla configurazione