newsfeed


Table of contents
  1. tl;dr
  2. Config JSON Fragment
  3. Proprietà (Config Section)
  4. Notifiche
  5. Screenshots
  6. RSS Tutorial

tl;dr

Questo modulo visualizza i titoli delle notizie in base a un feed RSS.


Config JSON Fragment

{
    "module": "newsfeed",
    "position": "bottom_bar",
    "config": {
        "feeds": [
            {
                "title": "Il Giornale",
                "url": "https://www.ilgiornale.it/feed.xml"
            },
            {
                "title": "Corriere della sera",
                "url": "http://xml2.corriereobjects.it/rss/homepage.xml"
            },
            {
                "title": "La Gazzetta dello Sport",
                "url": "https://www.gazzetta.it/rss/home.xml"
            }
        ],
        "showSourceTitle": true,
        "showPublishDate": true,
        "broadcastNewsFeeds": true,
        "broadcastNewsUpdates": true
    }
}

Proprietà (Config Section)

Proprietà Tipo Valori Valore Default Inderogabilità Descrizione
feeds Object --- [{ title: "New York Times", url: "http://www.nytimes.com/services/xml/rss/nyt/HomePage.xml", encoding: "UTF-8"}] REQUIRED Un array di URL da cui prendere le notizie che verrà utilizzato come origine.
Si può aggiungere l’opzione reloadInterval per impostare un particolare reloadInterval su un feed.
showSourceTitle Boolean true: è attivo.
false: non è attivo.
true OPTIONAL Visualizza il titolo della fonte.
showPublishDate Boolean true: è attivo.
false: non è attivo.
true OPTIONAL Visualizza la data di pubblicazione di un titolo.
broadcastNewsFeeds Boolean true: utilizza sendNotification().
false: utilizza sendSocketNotification().
true OPTIONAL Offre la possibilità di trasmettere feed di notizie a tutti i moduli.
broadcastNewsUpdates Boolean true: è attivo.
false: non è attivo.
true OPTIONAL Offre la possibilità di trasmettere gli aggiornamenti dei feed di notizie a tutti i moduli.
showDescription Boolean true: è attivo.
false: non è attivo.
false OPTIONAL Permette di visualizzare la descrizione di un articolo.
wrapTitle Boolean true: è attivo
false: non è attivo
true OPTIONAL Permette di disporre il titolo dell’articolo su più righe.
wrapDescription Boolean true: è attivo
false: non è attivo
true OPTIONAL Permette di disporre la descrizione dell’articolo su più righe.
truncDescription Boolean true: è attivo
false: non è attivo
true OPTIONAL Permette di troncare la descrizione.
lengthDescription Number 1 - 500 400 OPTIONAL Permette di definire la lunghezza delle descrizioni troncate, espressa in numero di caratteri.
hideLoading Boolean true: è attivo
false: non è attivo
false OPTIONAL Permette di nascondere il modulo invece di mostrarne lo stato di caricamento.
reloadInterval Number 1000 - 86400000 300000 (5 minuti) OPTIONAL Permette di definire, in millisecondi, la frequenza con la quale recuperare il contenuto.
updateInterval Number 1000 - 60000 10000 (10 secondi) OPTIONAL Permette di definire, in millisecondi, la frequenza con la quale visualizzare un nuovo titolo.
animationSpeed Number 0 - 5000 2500 (2.5 secondi) OPTIONAL Permette di definire, in millisecondi, la durata dell’animazione dell’aggiornamento.
maxNewsItems Number 0 - ... 0 OPTIONAL Permette di definire la quantità totale di notizie da scorrere. (0 per illimitato).
ignoreOldItems Boolean true: è attivo
false: non è attivo
false OPTIONAL Permette di ignorare le notizie obsolete.
ignoreOlderThan Number 1 - ... 86400000 (1 giorno) OPTIONAL Permette di definire, in millisceondi, la quantità di tempo che deve trascorrere affinché le notizie vengano considerate obsolete.
removeStartTags String "title"
"description"
"both"
--- OPTIONAL Permette la rimozione di tag specificati dall’inizio della descrizione e / o del titolo di un elemento.
startTags Object [TAG]
[TAG1, TAG2,...]
--- OPTIONAL Permette di definire quali tag rimuovere all’inizio dell’elemento del feed.
removeEndTags String "title"
"description"
"both"
--- OPTIONAL Permette di rimuovere i tag specificati alla fine della descrizione e / o del titolo di un articolo.
endTags Object [TAG]
[TAG1, TAG2,...]
--- OPTIONAL Permette di definire quali tag rimuovere alla fine dell’elemento del feed.
prohibitedWords Object [word]
[word11, word2,...]
--- OPTIONAL Permette di rimuovere un elemento del feed di notizie se una di queste parole si trova ovunque nel titolo, senza distinzione tra maiuscole e minuscole.
scrollLength Number 1 - 10000 500 OPTIONAL Permette di scorrere l’intera pagina dell’articolo di notizie di un determinato numero di pixel quando viene ricevuta una notifica ARTICLE_MORE_DETAILS e l’articolo completo è già visualizzato.
logFeedWarnings Boolean true: è attivo
false: non è attivo
false OPTIONAL Permette di registrare avvisi quando si verifica un errore durante l’analisi di un articolo.

La proprietà feeds contiene un array con più oggetti. Essi hanno le seguenti proprietà:

Proprietà Tipo Valori Valore Default Inderogabilità Descrizione
title String --- "New York Times" OPTIONAL Il nome della fonte del feed da visualizzare sopra le notizie.
url String --- "http://www.nytimes.com/services/xml/rss/nyt/HomePage.xml" REQUIRED L’URL del feed utilizzato per i titoli.
encoding String "UTF-8"
"ISO-8859-1"
"ecc..."
"UTF-8" OPTIONAL La codifica del feed di notizie.

Notifiche

Le notifiche sono uno strumento utilizzato dai moduli per comunicare con:

  • L’OS del MagicMirror
  • Altri moduli
  • Attori umani
Notifica Direzione Trigger Payload (inline js) Descrizione
ARTICLE_NEXT IN --- --- Mostra il titolo della notizia successiva.
ARTICLE_PREVIOUS IN --- --- Mostra il titolo della notizia precedente.
ARTICLE_MORE_DETAILS IN --- --- 1. Quando viene ricevuto per la prima volta, mostra la descrizione corrispondente del titolo della notizia attualmente visualizzato.
Il modulo si aspetta che l’opzione di configurazione showDescription sia impostata su false (valore predefinito).
2. Quando viene ricevuto una seconda volta consecutiva, mostra l’articolo completo in un IFRAME.
Ciò richiede che la pagina delle notizie possa essere incorporata in un IFRAME, ad es. non ha l’intestazione della risposta HTTP X-Frame-Options impostata ad es. DENY.
3. Quando viene ricevuto le successive volte consecutive, ricarica la pagina e scorre verso il basso di pixel pari a scrollLength per impaginare l’articolo.
ARTICLE_LESS_DETAILS IN --- --- Nasconde il riepilogo o l’articolo completo delle notizie e ne visualizza solo il titolo.
ARTICLE_TOGGLE_FULL IN --- --- Attiva / disattiva l’articolo a schermo intero.
ARTICLE_INFO_REQUEST IN --- [{<br>title: "TITOLO_NOTIZIA", fonte: "FONTE_NOTIZIA", data: "DATA_NOTIZIA", descrizione: "DESCRIZIONE_NOTIZIA", url: "URL_NOTIZIA"<br>}] Fa sì che il newsfeed risponda con la notifica ARTICLE_INFO_RESPONSE, il cui payload fornisce il titolo, la fonte, la data, la descrizione e l’url della notizia corrente.
NEWS_FEED OUT --- --- Condivide l’elenco corrente delle notizie.
NEWS_FEED_UPDATE OUT --- --- Condivide l’elenco delle notizie aggiornato.

Screenshots

News Feed Screenshot usando come giornale il “Corriere della sera”.

NFScreenshot


RSS Tutorial

Per aggiungere una sorgente di notizie o News Feed occorre:

  1. Cercare su internet la sorgente rss del giornale interessato:

    ricerca

  2. Selezionare tra i risultati proposti quello più opportuno:

    risultati

  3. La pagina che si aprirà deve essere tipo:

    rsss

  4. Selezionare la voce che più ci interessa ad esempio Corriere home – tutte le notizie (la prima voce della colonna Notizie) e si aprirà una pagina del tipo:

    rss

  5. Copiare l’URL della pagina es: http://xml2.corriereobjects.it/rss/homepage.xml

  6. Aggiungere l’URL con relativo nome all’array feeds:

    add