npm install @gravity-ui/blog-constructor
Blog-constructor
— это библиотека, основанная на page-constructor
и предназначенная для создания веб-страниц в формате блога. Blog-constructor
использует свойство custom
библиотеки page-constructor
для добавления необходимых компонентов блога.
Документация (см. Storybook)
Blog-constructor
включает как клиентские, так и серверные компоненты для импорта. Страница блога импортируется в виде React-компонента. Для корректной работы ее необходимо обернуть в BlogConstructorProvider
:
import {BlogPage, BlogConstructorProvider} from '@gravity-ui/blog-constructor';
// Main blog page
<BlogConstructorProvider {...providerProps}>
<BlogPage
content={content}
posts={posts}
tags={tags}
getPosts={handleGetPosts}
settings={settings}
/>
</BlogConstructorProvider>
---
import {BlogPostPage, BlogConstructorProvider} from '@gravity-ui/blog-constructor';
// Post page
<BlogConstructorProvider {...providerProps}>
<BlogPostPage
content={content}
post={post}
suggestedPosts={suggestedPosts}
settings={settings}
shareOptions={shareOptions}
/>
</BlogConstructorProvider>
Подробнее см. в документации о providerProps
.
Кроме того, blog-constructor
содержит серверные компоненты для преобразования данных.
import {
transformPost,
sanitizeMeta,
createReadableContent,
transformPageContent,
} from '@gravity-ui/blog-constructor/server';
Библиотека blog-constructor
основана на UIKit
и работает с ее экземпляром i18n
. Для настройки интернационализации используйте configure
из UIKit
:
import {configure} from '@gravity-ui/uikit';
configure({
lang: 'ru',
});
npm ci
npm run dev