Qual è la migliore strategia per supportare il BBCode personalizzato?

Ciao a tutti,

Stiamo sicuramente valutando Discourse come alternativa al nostro software di forum per una varietà di motivi, ma una delle cose principali che dobbiamo capire è cosa fare con tutto il BBCode che supportiamo sul nostro sito, che potete vedere qui: Tutorial - RpNation - BBcode Guide | RpNation e qui: Tutorial - RpNation - BBCode+ Guide | RpNation

Guardando il plugin BBCode di vBulletin come riferimento, non sembra che sarà troppo difficile aggiungere semplicemente il supporto per ciò che facciamo già. Abbiamo tutti i tipi di BBCode personalizzato, come mostrato nelle guide, da cose semplici a un BBCode div personalizzato che permette alle persone di usare l’HTML in una certa misura in modo sicuro, generando un selettore ID personalizzato per il post e impedendo agli utenti di selezionare elementi al di fuori del contenitore del post.

Questo ha permesso alle persone di creare alcuni post davvero fantastici nel corso degli anni; ecco un esempio veloce che ho trovato dando solo un’occhiata veloce:

La mia domanda è: dovremmo realizzare questo come un plugin BBCode o provare a creare un metodo sicuro in cui possiamo mantenere i selettori HTML contenuti nei post, come facciamo per il nostro BBCode, e investigare su quel metodo offrendolo invece?

Anche se rabbrividisco all’idea di permettere alle persone di usare l’HTML.

Vogliamo mantenere la possibilità per gli utenti di continuare a formattare i loro post, assicurandoci al contempo che tutto rimanga sicuro.

Capisco perché stai valutando un nuovo software: il caricamento di Tutorial - RpNation - BBcode Guide | RpNation mi richiede 2 minuti :scream:

image

Credo che tutti i tuoi stili personalizzati, come quelli per i giornali, le sfide, le colonne laterali, possano essere realizzati utilizzando Generic bbcode wrapper for theme components e CSS.

Inoltre, molte funzionalità sono già integrate in Discourse, come l’evidenziazione del codice, gli apici e i pedici, i blocchi centrati, le tabelle, le citazioni, gli spoiler in linea, i separatori, gli intestazioni, l’incorporamento dei media, ecc.

Oh no. Sembra davvero problematico. Stiamo utilizzando Cloudflare + un server AMD Ryzen piuttosto potente. Per me, il caricamento di tutte le risorse richiede circa 2 secondi quando non si è loggati.

Stiamo sicuramente esaminando questa opzione. Quindi, essenzialmente, possiamo aggiungere qualsiasi HTML/CSS in un componente del tema e poi richiamarlo utilizzando un tag bbcode personalizzato?
[blah]contenuto[/blah]?

Quindi, in questo caso, potremmo ricreare alcune delle nostre funzionalità con:

[wrap=bg bg=blue] o [wrap=random-name newspaper=1]

Potrebbe comunque essere meglio utilizzare un formato simile a quello del plugin, in modo che una grande quantità di contenuto non perda la formattazione. Anche argomenti multipli opzionali.

Dovresti dare un’occhiata a Discourse BBCode. Penso che dovrebbe essere relativamente semplice aggiungere il supporto per altri codici (anche se, a dire il vero, ho avuto difficoltà a capire come farlo…)

Non avresti potuto mettere tutta quella guida in un unico post e trasformarla in una Wiki quando avessi voglia di aggiungere altro? Avere il contenuto suddiviso in più post rende molto più difficile la lettura e la comprensione, a mio avviso, e crea un sacco di spazio sprecato.

Che figata, mi piace tantissimo!

Si noti inoltre che Discourse, out-of-the-box, supporta alcuni tag HTML limitati ovunque nel contenuto del post, non solo all'interno di un contenitore speciale. Ad esempio, questo post è racchiuso in un <div align=justify>. Purtroppo ciò interferisce con alcune delle formattazioni in linea, richiedendo l'uso di HTML per tutto nel paragrafo.

https://meta.discourse.org/raw/148941/8

Quella guida bbcode si trova in un software forum diverso, uno che non supporta i post wiki.

Fantastico. Tuttavia, credo che preferiremmo mantenerlo come bbcode da aggiungere estendendo quell’unico plugin, piuttosto che trovare un modo per concedere a tutti più HTML che dovremmo poi rendere sicuro.

Abbiamo scoperto che modificare il plugin ufficiale Discourse BBCode era più complicato (a causa delle nostre scarse competenze nello sviluppo di plugin Discourse) rispetto a questo:

Awesome BBCodes Plugin

Awesome BBCodes Plugin: multi-paragraph, nestable, with auto-complete

Il “Awesome BBCodes Plugin” è stato piuttosto semplice da forcare, clonare e modificare; molto più facile rispetto al plugin “Discourse BBCode”.

Il mio suggerimento a chiunque ( @TheDarkWizard ) intenda creare BBCODE personalizzati è di iniziare dal “Awesome BBCodes Plugin” e procedere con le modifiche da lì.

Ah, scusa, sì, ancora più motivo per migrare! :slight_smile:

Nessun problema :slight_smile:

Ci darò un’occhiata. Grazie!