Markdown / Contenuto Rich Text

    Come Funziona Markdown

    Intlayer supporta il contenuto rich text definito utilizzando la sintassi Markdown. Questo è ottenuto tramite la funzione md, che converte una stringa Markdown in un formato gestibile da Intlayer. Utilizzando Markdown, puoi facilmente scrivere e mantenere contenuti con formattazione avanzata, come blog, articoli e altro.

    Il Visual editor di Intlayer e Intlayer CMS supportano entrambi la gestione del contenuto Markdown.

    Quando integrato con un'applicazione React, puoi utilizzare un provider di rendering Markdown (come markdown-to-jsx) per rendere il contenuto Markdown in HTML. Questo consente di scrivere il contenuto in Markdown assicurandosi che venga visualizzato correttamente nell'app.

    Configurazione del Contenuto Markdown

    Per configurare contenuti Markdown nel progetto Intlayer, definisci un dizionario di contenuti che utilizzi la funzione md.

    Esempio TypeScript

    markdownDictionary.content.ts
    import { md, type Dictionary } from "intlayer";const markdownDictionary = {  key: "app",  content: {    myMarkdownContent: md("## My title \n\nLorem Ipsum"),  },} satisfies Dictionary;export default markdownDictionary;

    Esempio JavaScript (ESM)

    Esempio CommonJS

    Esempio JSON

    Quando si utilizza JSON, il contenuto Markdown è definito impostando un nodeType (ad esempio, "markdown") e fornendo la stringa Markdown. Per esempio:

    Utilizzo di Markdown con React Intlayer

    Per rendere il contenuto Markdown in un'applicazione React, puoi sfruttare il hook useIntlayer dal pacchetto react-intlayer insieme a un provider di rendering Markdown. In questo esempio, utilizziamo il pacchetto markdown-to-jsx per convertire Markdown in HTML.

    App.tsx
    import { FC } from "react";import { useIntlayer, MarkdownProvider } from "react-intlayer";import { LocaleRouter } from "./Router";import Markdown from "markdown-to-jsx";import "./App.css";const AppContent: FC = () => {  const { myMarkdownContent } = useIntlayer("app");  return <>{myMarkdownContent}</>;};const App: FC = () => (  <LocaleRouter>    <MarkdownProvider      renderMarkdown={(markdown) => <Markdown>{markdown}</Markdown>}    >      <AppContent />    </MarkdownProvider>  </LocaleRouter>);export default App;

    In questa implementazione:

    • Il MarkdownProvider avvolge l'applicazione (o la porzione rilevante) e accetta una funzione renderMarkdown. Questa funzione è utilizzata per convertire stringhe Markdown in JSX utilizzando il pacchetto markdown-to-jsx.
    • Il hook useIntlayer viene utilizzato per recuperare il contenuto Markdown (myMarkdownContent) dal dizionario con la chiave "app".
    • Il contenuto Markdown è direttamente reso nel componente, e il rendering del Markdown è gestito dal provider.

    Risorse Aggiuntive

    Queste risorse forniscono ulteriori approfondimenti su come configurare e utilizzare Intlayer con vari tipi di contenuto e framework.

    Se hai un’idea per migliorare questa documentazione, non esitare a contribuire inviando una pull request su GitHub.

    Collegamento GitHub alla documentazione