Quelle est la meilleure approche pour prendre en charge le BBCode personnalisé ?

Bonjour à tous,

Nous envisageons sérieusement Discourse comme alternative à notre logiciel de forum pour diverses raisons. Cependant, l’un des principaux défis à relever est de déterminer quoi faire de tout le code BB que nous prenons en charge sur notre site, comme on peut le voir ici : Tutorial - RpNation - BBcode Guide | RpNation et ici : Tutorial - RpNation - BBCode+ Guide | RpNation.

En examinant le plugin vbulletin bbcode comme référence, il ne semble pas trop difficile d’ajouter simplement la prise en charge de ce que nous faisons déjà. Nous disposons de toutes sortes de codes BB personnalisés, comme le montrent les guides, allant de choses simples à un code BB div personnalisé qui permet aux utilisateurs d’utiliser du HTML dans une certaine mesure, de manière sécurisée. Ce système génère un sélecteur d’ID personnalisé pour le message, et les utilisateurs ne peuvent cibler aucun élément en dehors du conteneur du message.

Cela a permis aux membres de créer des messages vraiment fantastiques au fil des ans. Voici un exemple rapide que j’ai trouvé en jetant un coup d’œil :

Ma question est donc la suivante : devrions-nous créer un plugin BBCode, ou tenter de développer une méthode sécurisée permettant de maintenir les sélecteurs HTML contenus dans les messages, comme nous le faisons actuellement pour notre BBCode, puis explorer cette approche et la proposer à la place ?

Bien que l’idée de permettre aux utilisateurs d’utiliser du HTML me fasse frémir.

Nous souhaitons conserver aux utilisateurs la possibilité de continuer à formater leurs messages tout en garantissant que tout reste sécurisé.

Je comprends pourquoi vous envisagez un nouveau logiciel : le chargement de Tutorial - RpNation - BBcode Guide | RpNation me prend 2 minutes :scream:

image

Je pense que tous vos styles personnalisés, comme le journal, les défis, les colonnes, etc., peuvent être réalisés avec Generic bbcode wrapper for theme components et du CSS.

De plus, beaucoup de fonctionnalités sont déjà intégrées dans Discourse, comme la coloration syntaxique du code, les exposants/sous-exposants, les blocs centrés, les tableaux, les citations, les spoilers en ligne, les séparateurs, les en-têtes, l’intégration de médias, etc.

Oh non. Ça a l’air vraiment pénible. Nous utilisons Cloudflare + un serveur AMD Ryzen assez puissant. Pour moi, le chargement de tous les assets prend environ 2 secondes quand je ne suis pas connecté.

C’est exactement ce que nous envisageons. Donc, en gros, nous pouvons ajouter n’importe quel HTML/CSS dans un composant de thème, puis l’appeler via une balise BBcode personnalisée ?
[blah]contenu[/blah] ?

Dans ce cas, nous pourrions recréer certains de nos éléments avec :

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

Il se peut qu’il soit préférable d’adopter un format similaire à celui du plugin, afin qu’une grande quantité de contenu ne perde pas sa mise en forme. De plus, cela permettrait des arguments multiples et optionnels.

Vous pourriez jeter un œil à Discourse BBCode. Je pense qu’il devrait être relativement facile d’ajouter la prise en charge d’autres codes (bien que, pour être honnête, j’ai eu du mal à comprendre comment le faire…)

N’aurais-tu pas pu mettre tout ce guide dans un seul message et en faire un wiki quand tu avais envie d’ajouter plus ? Le fait de le répartir sur plusieurs messages le rend beaucoup plus difficile à lire et à comprendre, à mon avis, et cela crée beaucoup d’espace gaspillé.

C’est génial, j’adore ça.

Notez également que Discourse prend en charge nativement certains HTML restreints partout dans le contenu du message, pas seulement à l'intérieur d'un conteneur spécial. Par exemple, ce message est enveloppé dans un <div align=justify>. Malheureusement, cela perturbe certaines mises en forme en ligne, obligeant à utiliser du HTML pour tout dans le paragraphe.

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

Ce guide bbcode se trouve dans un autre logiciel de forum, qui ne prend pas en charge les messages wiki.

Super. Bien que je pense que nous préférerions le garder en bbcode, en l’ajoutant via l’extension de ce seul plugin, plutôt que de trouver un moyen de donner à tout le monde plus de HTML que nous devrions sécuriser.

Nous avons trouvé le plugin officiel Discourse BBCode plus difficile à modifier (en raison de nos faibles compétences en développement de plugins Discourse) que celui-ci :

Superbe plugin BBCodes

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

Le « Superbe plugin BBCodes » était assez facile à forker, cloner et modifier/hacker ; beaucoup plus facile que le plugin « Discourse BBCode ».

Ma suggestion à quiconque ( @TheDarkWizard ) souhaitant créer des BBCODE personnalisés est de commencer par le « Superbe plugin BBCodes » et de procéder aux modifications à partir de là.

Ah, désolé, oui, c’est encore une raison de plus pour migrer ! :slight_smile:

Pas de problème :slight_smile:

Je vais jeter un coup d’œil. Merci !