Задайте питання та отримайте підсумок документа, вказавши цю сторінку та обраного вами постачальника штучного інтелекту
Інтегрувавши Intlayer MCP Server у свого улюбленого AI-помічника, ви зможете отримувати всю документацію безпосередньо через ChatGPT, DeepSeek, Cursor, VSCode тощо.
Переглянути документацію MCP ServerІсторія версій
- Ініціалізація історіїv5.5.1029.06.2025
Вміст цієї сторінки перекладено за допомогою штучного інтелекту.
Переглянути останню версію оригінального вмісту англійськоюЯкщо у вас є ідея щодо покращення цієї документації, будь ласка, долучіться, надіславши pull request на GitHub.
Посилання на документацію на GitHubСкопіювати документацію у форматі Markdown в буфер обміну
Markdown / Форматований текст
Як працює Markdown
Intlayer підтримує контент у форматі rich text, визначений за допомогою синтаксису Markdown. Це досягається за допомогою функції md, яка перетворює рядок у форматі Markdown у формат, яким може керувати Intlayer. Використовуючи Markdown, ви можете легко писати й підтримувати контент із багатим форматуванням, наприклад блоги, статті та інше.
Візуальний редактор Intlayer та Intlayer CMS обидва підтримують керування контентом у Markdown.
Під час інтеграції з React-додатком ви можете використовувати провайдера рендерингу Markdown (наприклад, markdown-to-jsx), щоб перетворювати вміст Markdown на HTML. Це дозволяє писати контент у Markdown і забезпечує його коректне відображення в вашому додатку.
Налаштування Markdown-контенту
Щоб налаштувати Markdown-контент у вашому проєкті Intlayer, визначте словник контенту, що використовує функцію md.
Скопіюйте код у буфер обміну
import { md, type Dictionary } from "intlayer";const markdownDictionary = { key: "app", content: { myMarkdownContent: md("## My title \n\nLorem Ipsum"), },} satisfies Dictionary;export default markdownDictionary;Імпорт (багатомовний) файлу .md
Якщо ваш Markdown-файл має розширення .md, ви можете імпортувати його за допомогою різних форматів імпорту, які надає JavaScript або Intlayer.
Рекомендується віддавати перевагу імпорту через функцію file, оскільки вона дозволяє Intlayer коректно керувати шляхами відносно розташування файлу та забезпечує інтеграцію цього файлу з Візуальним редактором / CMS.
Скопіюйте код у буфер обміну
// Ця декларація дозволяє TypeScript розпізнавати та імпортувати Markdown (.md) файли як модулі.// Без цього TypeScript викинув би помилку при спробі імпортувати Markdown-файли,// оскільки він за замовчуванням не підтримує імпорт нечітких файлів (non-code files).declare module "*.md";Скопіюйте код у буфер обміну
import { md, file, t, type Dictionary } from "intlayer";import { readFileSync } from "fs";import { resolve } from "path";import markdown from "./myMarkdown.md";const markdownDictionary = { key: "app", content: { contentMultilingualFile: t({ en: md(file("./myMarkdown.en.md")), fr: md(file("./myMarkdown.fr.md")), es: md(file("./myMarkdown.es.md")), }), contentImport: md(markdown), contentRequire: md(require("./myMarkdown.md")), contentAsyncImport: md( import("./myMarkdown.md").then((module) => module.default) ), contentFetch: md(fetch("https://example.com").then((res) => res.text())), contentFS: md(() => { const filePath = resolve(process.cwd(), "doc/test.md"); return readFileSync(filePath, "utf8"); }), },} satisfies Dictionary;export default markdownDictionary;Використання Markdown з React Intlayer
Щоб відобразити вміст Markdown у React-застосунку, ви можете скористатися хуком useIntlayer з пакета react-intlayer разом із провайдером рендерингу Markdown. У цьому прикладі ми використовуємо пакет markdown-to-jsx для конвертації Markdown у HTML.
Скопіюйте код у буфер обміну
import type { FC } from "react";import { useIntlayer, MarkdownProvider } from "react-intlayer";import Markdown from "markdown-to-jsx";const AppContent: FC = () => { const { myMarkdownContent } = useIntlayer("app"); return <>{myMarkdownContent}</>;};export const AppProvider: FC = () => ( <MarkdownProvider renderMarkdown={(markdown) => <Markdown>{markdown}</Markdown>} > <AppContent /> </MarkdownProvider>);У цій реалізації:
- Компонент MarkdownProvider обгортає застосунок (або відповідну його частину) та приймає функцію renderMarkdown. Ця функція використовується для перетворення рядків Markdown у JSX за допомогою пакету markdown-to-jsx.
- Хук useIntlayer використовується для отримання вмісту Markdown (myMarkdownContent) зі словника за ключем "app".
- Вміст Markdown рендериться безпосередньо в компоненті, а рендеринг Markdown обробляється провайдером.
Використання Markdown з Next Intlayer
Реалізація з пакетом next-intlayer схожа на наведену вище. Єдина відмінність полягає в тому, що функцію renderMarkdown слід передати в компонент MarkdownProvider у клієнтському компоненті.
Скопіюйте код у буфер обміну
"use client";import type { FC, PropsWithChildren } from "react";import { MarkdownProvider } from "next-intlayer";const renderMarkdown = (markdown: string) => ( <span style={{ color: "red" }}>{markdown}</span>);export const IntlayerMarkdownProvider: FC<PropsWithChildren> = ({ children,}) => ( <MarkdownProvider renderMarkdown={renderMarkdown}> {children} </MarkdownProvider>);Додаткові ресурси
- Документація Intlayer CLI
- Документація Intlayer для React
- Документація Intlayer для Next.js
- markdown-to-jsx на npm
Ці ресурси надають додаткову інформацію щодо налаштування та використання Intlayer з різними типами контенту та фреймворками.