Passa al contenuto principale
The translation of this page may not be up to date, please refer to the default locale version for the latest information. If you would like to contribute, you can do so via Crowdin, where we coordinate the translations.
Version: 1.x

Formattazione

Flarum usa la potente libreria s9e TextFormatter per formattare i post dal semplice markup in HTML. Dovresti familiarizzare con come funziona TextFormatter prima di utilizzarlo.

In Flarum, il contenuto del post è formattato con una configurazione TextFormatter minima per impostazione predefinita. Le estensioni Markdown e BBCode in bundle abilitano semplicemente i rispettivi plugin.

Configurazione

Puoi configurare l'istanza di TextFormatter Configurator, così come eseguire la logica personalizzata durante l'analisi e il rendering, utilizzando l'estensione Formatter:

use Flarum\Extend;
use Psr\Http\Message\ServerRequestInterface as Request;
use s9e\TextFormatter\Configurator;
use s9e\TextFormatter\Parser;
use s9e\TextFormatter\Renderer;

return [
(new Extend\Formatter)
// Aggiungi la configurazione del formattatore di testo personalizzato
->configure(function (Configurator $config) {
$config->BBCodes->addFromRepository('B');
})
// Modifica il testo grezzo prima che venga analizzato.
// Questa callback dovrebbe restituire il testo modificato.
->parse(function (Parser $parser, $context, $text) {
// logica personalizzata qui
return $newText;
})
//Modificare l'XML di cui eseguire il rendering.
// il suo callback dovrebbe restituire il nuovo XML.
// Ad esempio, nell'estensione menzioni, viene utilizzato per
// fornire il nome utente e il nome visualizzato dell'utente menzionato.
// Assicurati che l'ultimo argomento $request sia annullabile (o omesso completamente).
->render(function (Renderer $renderer, $context, $xml, Request $request = null) {
// logica personalizzata qui
return $newXml;
})
];

Una buona conoscenza di TextFormatter, ti consentirà di ottenere molti risultati, dalle semplici aggiunte di tag BBCode a compiti di formattazione più complessi come l'estensione Mentions di Flarum.