ciao,
2. Basato su TC, sperimentale: prevedi piccoli problemi, ma con vantaggi aggiuntivi come le immagini in evidenza su mobile e la reattività delle barre laterali… plugin opzionale “sidecar” che aggiunge funzionalità
Aggiungi il plugin sidecar se desideri più funzionalità: - git clone https://github.com/merefield/discourse-topic-previews.git -b "theme_sidecar". A questo punto è funzionalmente molto, molto simile a un plugin.
Ho aggiornato all’ultima versione del plugin (4.3.1) e di Discourse (2.5.0.beta4) e ho notato che quasi tutte le anteprime delle liste di argomenti sono scomparse
Riesco a rigenerare l’immagine di anteprima per ogni singolo argomento, ma questo è a) dispendioso in termini di tempo e b) sposta gli argomenti in cima dopo averli aggiornati.
Esiste un modo per rigenerare automaticamente le miniature degli argomenti?
Mi piace davvero molto questo plugin: ha fatto miracoli per il nostro forum e lo fa apparire fantastico. Ho anche provato il [modifica - proveniva da un autore diverso, quindi non rilevante per questa discussione]TC, ma ho notato che l’aspetto è piuttosto diverso e offre meno opzioni: quindi, a meno che qualcuno non mi corregga, questo plugin mi sembra ancora superiore.
Ma prima di farlo, assicurati che questa impostazione sia attiva:
Altrimenti quei post non importeranno le immagini remote nel forum e le miniature non verranno create.
Il Componente Tema è in fase di sviluppo e per avere l’insieme completo delle funzionalità è necessario installare il ‘plugin sidecar’. Le azioni non sono ancora supportate, ma lo saranno presto non appena avrò un momento.
Oh, in che modo? C’è una leggera approssimazione nella dimensione delle tessere, ma a parte la mancanza delle azioni dovrebbe essere identico (a parte il fatto che le tessere nel TC hanno leggere ombre proiettate, che personalmente preferisco).
Ehi, problema simile a quello di Ian C; dal passaggio a Discourse 2.5.0.beta4, con Topic List Previews 4.4.0, la maggior parte delle miniature è scomparsa (a margine, perché non tutte?)
Il numero massimo di giorni è troppo basso. Come ho già detto, dovrebbe essere un numero elevato. 30 significa che qualsiasi contenuto più vecchio di un mese non verrà generato in anteprima.
È stato disabilitato a causa di vari problemi ad esso correlati. Inoltre, entrava in conflitto con le modifiche personalizzate, se ricordo bene.
Quindi, è stato abilitato e ho aumentato il numero massimo di giorni per i vecchi elementi. Cosa fare ora? Non sono sicuro di come funzionino queste opzioni. Significa che dobbiamo attendere che ogni singola immagine venga scaricata prima di riprovare il backup?
Ora si tratta principalmente del comportamento di base di Discourse, non di TLP (in passato era tutto gestito da TLP; ora ci sono solo minime sovrascritture nel plugin a riguardo, poiché il supporto per le miniature è ora integrato nel core).
È necessario rigenerare nuovamente i post: questo avvierà una serie di lavori Sidekiq di tipo UploadHotLinkImages e li elaborerà tutti. Entro pochi minuti inizierà a generare le miniature.
La ricottura è stata completata. Che risultato disordinato!
Beh, ora so perché questa opzione era disabilitata.
Stiamo usando WordPress e il primo post contiene HTML completo. Discourse non ha problemi a sostituire l’HTML delle immagini con il markdown, ma le immagini in markdown non vengono visualizzate se sono circondate da HTML (in particolare, è necessaria almeno una riga vuota sopra).
Ho due problemi:
Alcune immagini non sono state scaricate, probabilmente a causa dell’attributo srcset (ma non è un grosso problema). Le immagini vengono visualizzate correttamente nel primo post, ma non viene generata alcuna miniatura. Prima funzionava.
C’è stato qualche cambiamento di rottura nel plugin che impedisce la generazione della miniatura quando il post contiene già HTML di immagini? Credo di aver eseguito la ricottura tre volte ormai, ma non ha aiutato. Esiste un altro modo per forzare la rigenerazione della miniatura? Intendo, prima, anche con l’opzione disabilitata, veniva generata una miniatura con qualsiasi immagine alla creazione del topic o anche dopo la modifica; questo comportamento non funziona più.
Come detto sopra, alcune immagini in markdown non vengono visualizzate.
Ho cercato di vedere se fosse disponibile un’API del plugin prima che il post venisse elaborato, ma non ne ho trovata alcuna.
Immagino che l’unico modo sia aggiungere nuove righe nel messaggio grezzo interessato direttamente nel database e tramite la console Rails, e poi eseguire di nuovo la ricottura.
Attualmente sto cercando di risolvere il problema (non conosco Ruby) basandomi sul codice sorgente di Discourse:
Sembra funzionare per un topic. Non l’ho ancora eseguito per tutti i topic. Esiste un modo migliore/più pulito per risolvere il problema senza fare questo?
Post
.where(post_number: 1)
.where("raw LIKE '%upload://%'").each do |post|
post.raw.gsub!(/(!\[.*upload:\/\/.*\))/, "\n\n\\1")
post.save!(validate: false);
post.rebake!
end
Dopo aver rigenerato le anteprime, ora funzionano.
Ma ogni volta che devo aggiornare (non è sotto il mio controllo: ogni volta che faccio una ricompilazione per modificare qualcosa, il forum viene aggiornato) incrocio le dita.
I criteri per la creazione delle miniature sono ora in gran parte delegati al core di Discourse.
Il tuo problema si verifica probabilmente con qualsiasi componente aggiuntivo che utilizza le miniature di Discourse. Dovrebbero allargarne i criteri?
Potresti pubblicare il contenuto completo e grezzo di un post problematico? Se mai avrò tempo (non posso promettere nulla), verificherò se sia banale ampliare l’inclusione. Tuttavia, esito un po’ a sovrascrivere questa funzionalità, poiché il fatto che Discourse l’abbia implementata nel core è un valido motivo per evitare sovrascritture e fare maggiore affidamento sul core. Questo contribuirà alla stabilità del plugin e ridurrà le modifiche che potrebbero rompere funzionalità esistenti. È proprio questo tipo di personalizzazione che crea problemi ai plugin.
Potresti sempre mantenere una tua fork e personalizzarlo direttamente?
Potresti provare a utilizzare il selettore di miniature nell’editor dei metadati dell’argomento per vedere se riesci a selezionare la miniatura, ma anche questo si basa sugli stessi criteri di inclusione. Se la miniatura non appare lì, significa che non soddisfa i criteri, il che costituirebbe una buona conferma.
Questa è una configurazione piuttosto subottimale.
Se desideri ottimizzare la stabilità, esegui i test degli aggiornamenti in un ambiente di staging, segnala e risolvi eventuali problemi, e solo allora aggiorna la produzione.
Applicare modifiche non testate direttamente alla produzione è solitamente una cattiva idea.
Facciamo del nostro meglio per garantire la compatibilità, concentrandoci sui primi 5 giorni del mese, ma siamo soggetti a cambiamenti senza preavviso; quindi, aggiorna Discourse per il resto del mese a tuo rischio e pericolo. Ti preghiamo inoltre di testare gli aggiornamenti in un ambiente sicuro!