docusaurus/docs/ru/next/versioning.html
Website Deployment Script 245ec98007 Deploy website
Deploy website version based on 827de9a840
2021-01-10 06:32:52 +00:00

165 lines
No EOL
30 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html><html lang="ru"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Версионирование · Docusaurus</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Вы можете использовать команду `version`, чтобы создать новую версию документации, основанную на наиболее свежем контенте, размещенном в каталоге `docs`. Данный специфический набор документов будет сохранен с предоставлением к нему доступа, даже если документы в каталоге `docs` впоследствии изменятся."/><meta name="docsearch:version" content="next"/><meta name="docsearch:language" content="ru"/><meta property="og:title" content="Версионирование · Docusaurus"/><meta property="og:type" content="website"/><meta property="og:url" content="https://docusaurus.io/"/><meta property="og:description" content="Вы можете использовать команду `version`, чтобы создать новую версию документации, основанную на наиболее свежем контенте, размещенном в каталоге `docs`. Данный специфический набор документов будет сохранен с предоставлением к нему доступа, даже если документы в каталоге `docs` впоследствии изменятся."/><meta property="og:image" content="https://docusaurus.io/img/docusaurus.png"/><meta name="twitter:card" content="summary"/><meta name="twitter:image" content="https://docusaurus.io/img/docusaurus.png"/><link rel="shortcut icon" href="/img/docusaurus.ico"/><link rel="stylesheet" href="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.css"/><link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/atom-one-dark.min.css"/><link rel="alternate" type="application/atom+xml" href="https://docusaurus.io/blog/atom.xml" title="Docusaurus Blog ATOM Feed"/><link rel="alternate" type="application/rss+xml" href="https://docusaurus.io/blog/feed.xml" title="Docusaurus Blog RSS Feed"/><script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-44373548-31', 'auto');
ga('send', 'pageview');
</script><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/code-blocks-buttons.js"></script><script src="https://unpkg.com/vanilla-back-to-top@7.1.14/dist/vanilla-back-to-top.min.js"></script><script>
document.addEventListener('DOMContentLoaded', function() {
addBackToTop(
{"zIndex":100}
)
});
</script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/prism.css"/><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/ru"><img class="logo" src="/img/docusaurus.svg" alt="Docusaurus"/><h2 class="headerTitleWithLogo">Docusaurus</h2></a><a href="/ru/versions"><h3>next</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-internal"><li class="siteNavGroupActive"><a href="/docs/ru/next/installation" target="_self">Документация</a></li><li class=""><a href="/docs/ru/next/tutorial-setup" target="_self">Руководство</a></li><li class=""><a href="/ru/users" target="_self">Пользователи</a></li><li class=""><a href="/blog/" target="_self">Блог</a></li><li class=""><a href="https://github.com/facebook/docusaurus" target="_blank">GitHub</a></li><span><li><a id="languages-menu" href="#"><img class="languages-icon" src="/img/language.svg" alt="Languages icon"/>Русский</a><div id="languages-dropdown" class="hide"><ul id="languages-dropdown-items"><li><a href="/docs/en/next/versioning">English</a></li><li><a href="/docs/fr/next/versioning">Français</a></li><li><a href="/docs/ko/next/versioning">한국어</a></li><li><a href="/docs/pt-BR/next/versioning">Português (Brasil)</a></li><li><a href="/docs/ro/next/versioning">Română</a></li><li><a href="/docs/zh-CN/next/versioning">简体中文</a></li><li><a href="https://crowdin.com/project/docusaurus" target="_blank" rel="noreferrer noopener">Помочь с переводом</a></li></ul></div></li><script>
const languagesMenuItem = document.getElementById("languages-menu");
const languagesDropDown = document.getElementById("languages-dropdown");
languagesMenuItem.addEventListener("click", function(event) {
event.preventDefault();
if (languagesDropDown.className == "hide") {
languagesDropDown.className = "visible";
} else {
languagesDropDown.className = "hide";
}
});
</script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line1"></div><div class="line2"></div><div class="line3"></div></div></div><h2><i></i><span>Руководство</span></h2><div class="tocToggler" id="tocToggler"><i class="icon-toc"></i></div></div><div class="navGroups"><div class="navGroup"><h3 class="navGroupCategoryTitle collapsible">Начало работы<span class="arrow"><svg width="24" height="24" viewBox="0 0 24 24"><path fill="#565656" d="M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z"></path><path d="M0 0h24v24H0z" fill="none"></path></svg></span></h3><ul class="hide"><li class="navListItem"><a class="navItem" href="/docs/ru/next/installation">Установка</a></li><li class="navListItem"><a class="navItem" href="/docs/ru/next/site-preparation">Настройка сайта</a></li><li class="navListItem"><a class="navItem" href="/docs/ru/next/site-creation">Создание вашего сайта</a></li><li class="navListItem"><a class="navItem" href="/docs/ru/next/publishing">Публикация вашего сайта</a></li><li class="navListItem"><a class="navItem" href="/docs/ru/next/docker">Docker</a></li></ul></div><div class="navGroup"><h3 class="navGroupCategoryTitle collapsible">Руководство<span class="arrow"><svg width="24" height="24" viewBox="0 0 24 24"><path fill="#565656" d="M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z"></path><path d="M0 0h24v24H0z" fill="none"></path></svg></span></h3><ul class="hide"><li class="navListItem"><a class="navItem" href="/docs/ru/next/adding-blog">Добавление блога</a></li><li class="navListItem"><a class="navItem" href="/docs/ru/next/custom-pages">Пользовательские страницы</a></li><li class="navListItem"><a class="navItem" href="/docs/ru/next/search">Включение поиска</a></li><li class="navListItem"><a class="navItem" href="/docs/ru/next/navigation">Навигация и боковые панели</a></li><li class="navListItem"><a class="navItem" href="/docs/ru/next/translation">Перевод и локализация</a></li><li class="navListItem navListItemActive"><a class="navItem" href="/docs/ru/next/versioning">Версионирование</a></li></ul></div><div class="navGroup"><h3 class="navGroupCategoryTitle collapsible">API<span class="arrow"><svg width="24" height="24" viewBox="0 0 24 24"><path fill="#565656" d="M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z"></path><path d="M0 0h24v24H0z" fill="none"></path></svg></span></h3><ul class="hide"><li class="navListItem"><a class="navItem" href="/docs/ru/next/commands">Команды CLI</a></li><li class="navListItem"><a class="navItem" href="/docs/ru/next/doc-markdown">Особенности разметки Markdown в Docusaurus</a></li><li class="navListItem"><a class="navItem" href="/docs/ru/next/api-pages">Страницы и стили</a></li><li class="navListItem"><a class="navItem" href="/docs/ru/next/site-config">siteConfig.js</a></li></ul></div></div></section></div><script>
var coll = document.getElementsByClassName('collapsible');
var checkActiveCategory = true;
for (var i = 0; i < coll.length; i++) {
var links = coll[i].nextElementSibling.getElementsByTagName('*');
if (checkActiveCategory){
for (var j = 0; j < links.length; j++) {
if (links[j].classList.contains('navListItemActive')){
coll[i].nextElementSibling.classList.toggle('hide');
coll[i].childNodes[1].classList.toggle('rotate');
checkActiveCategory = false;
break;
}
}
}
coll[i].addEventListener('click', function() {
var arrow = this.childNodes[1];
arrow.classList.toggle('rotate');
var content = this.nextElementSibling;
content.classList.toggle('hide');
});
}
document.addEventListener('DOMContentLoaded', function() {
createToggler('#navToggler', '#docsNav', 'docsSliderActive');
createToggler('#tocToggler', 'body', 'tocActive');
var headings = document.querySelector('.toc-headings');
headings && headings.addEventListener('click', function(event) {
var el = event.target;
while(el !== headings){
if (el.tagName === 'A') {
document.body.classList.remove('tocActive');
break;
} else{
el = el.parentNode;
}
}
}, false);
function createToggler(togglerSelector, targetSelector, className) {
var toggler = document.querySelector(togglerSelector);
var target = document.querySelector(targetSelector);
if (!toggler) {
return;
}
toggler.onclick = function(event) {
event.preventDefault();
target.classList.toggle(className);
};
}
});
</script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/docusaurus/ru" target="_blank" rel="noreferrer noopener">Translate</a><h1 id="__docusaurus" class="postHeaderTitle">Версионирование</h1></header><article><div><span><p>Вы можете использовать команду <code>version</code>, чтобы создать новую версию документации, основанную на наиболее свежем контенте, размещенном в каталоге <code>docs</code>. Данный специфический набор документов будет сохранен с предоставлением к нему доступа, даже если документы в каталоге <code>docs</code> впоследствии изменятся.</p>
<h2><a class="anchor" aria-hidden="true" id="как-создавать-новые-версии"></a><a href="#как-создавать-новые-версии" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Как создавать новые версии</h2>
<p>Выполните следующую команду для создания страницы, в которой будут перечислены все версии сайта:</p>
<pre><code class="hljs css language-bash">yarn examples versions
</code></pre>
<p>Будет создан файл <code>pages/en/versions.js</code>.</p>
<p>You can edit this file, later on, to customize how you display the versions.</p>
<p>Добавьте следующую команду в файл <code>package.json</code>, если её там нет:</p>
<pre><code class="hljs css language-js">...
<span class="hljs-string">"scripts"</span>: {
<span class="hljs-string">"version"</span>: <span class="hljs-string">"docusaurus-version"</span>
},
...
</code></pre>
<p>Запустите команду с параметром, указывающим версию, которую вы желаете создать. Например:</p>
<pre><code class="hljs css language-bash">yarn run version 1.0.0
</code></pre>
<p>Команда сохранит все текущие документы в каталоге <code>docs</code> и предоставит к ним доступ как к документации версии <code>1.0.0</code>.</p>
<p>Если, например, вы запустите команду версионирования с аргументом <code>1.0.0</code> в качестве номера версии, версия <code>1.0.0</code> будет считаться самой последней версией для вашего проекта. Сайт будет отображать номер версии сразу после заголовка в шапке страницы. Этот номер версии будет указывать на страницу с версиями, созданную вами ранее.</p>
<p>Документы из каталога <code>docs</code> будут считаться частью версии <code>next</code> и будут доступны по URL, например, <code>docs/next/doc1.html</code>. Документы последней актуальной версии будут доступны по URL адресу <code>docs/doc1.html</code>.</p>
<p>Запустив команду снова, с другим номером версии - <code>yarn run version 2.0.0</code>, вы создадите версию <code>2.0.0</code>, причем версия <code>2.0.0</code> станет самой последней версией вашей документации. Документы версии <code>1.0.0</code> будут доступны по URL-адресу <code>docs/1.0.0/doc1.html</code>, в то время как <code>2.0.0</code> по адресу <code>docs/doc1.html</code>.</p>
<p>В приведенной ниже таблице кратко представлено управление версиями Docusaurus:</p>
<table>
<thead>
<tr><th>Версия</th><th>Метка</th><th>URL</th></tr>
</thead>
<tbody>
<tr><td>1.0.0</td><td>1.0.0</td><td>docs/1.0.0/doc1.html</td></tr>
<tr><td>1.0.1</td><td>1.0.1</td><td>docs/1.0.1/doc1.html</td></tr>
<tr><td>2.0.0</td><td>current</td><td>docs/doc1.html</td></tr>
<tr><td><code>master</code> branch</td><td>next</td><td>docs/next/doc1.html</td></tr>
</tbody>
</table>
<h2><a class="anchor" aria-hidden="true" id="паттерны-версионирования"></a><a href="#паттерны-версионирования" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Паттерны версионирования</h2>
<p>Вы можете создавать номера версий в любом требуемом формате, причем новая версия может быть создана с любым номером, который не совпадает с уже существующими. Порядок версий определяется порядком их публикации, вне зависимости от их нумерации.</p>
<h2><a class="anchor" aria-hidden="true" id="хранение-файлов-каждой-версии"></a><a href="#хранение-файлов-каждой-версии" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Хранение файлов каждой версии</h2>
<p>Версионированные документы размещаются в каталоге вида <code>website/versioned_docs/version-${version}</code>, где <code>${version}</code> это номер версии, предоставленный вами команде <code>version</code>.</p>
<p>Заголовки markdown в каждой версии документации изменяются путем переименовывания поля id <code>original_id</code> исходного документа в строку вида <code>&quot;version-${version}-${original_id}&quot;</code>, которая становится актуальным значение поля id для версионированного документа.</p>
<p>Версионированные боковые панели копируются в каталог <code>website/versioned_sidebars</code> с именем вида <code>version-${version}-sidebars.json</code>.</p>
<p>Файл <code>website/versions.json</code> создается, когда вы в первый раз публикуете версию, затем Docusaurus использует этот файл для определения того, какие версии существуют. Каждый раз, когда добавляется новая версия, она указывается в файле <code>versions.json</code>.</p>
<p>Если вы желаете изменить документацию более ранней версии, вы можете получить доступ к её файлам.</p>
<h2><a class="anchor" aria-hidden="true" id="резервная-функциональность"></a><a href="#резервная-функциональность" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Резервная функциональность</h2>
<p>Каждый раз, когда вы создаете новую версию документации, копируются только те файлы из каталога <code>docs</code> и файлы боковой панели, которые отличаются от таковых в последней версии. Если файл в новой версии не получил каких-либо изменений, то Docusaurus будет использовать файл предыдущей версии.</p>
<p>Например, документ с идентификатором <code>doc1</code> из последней версии <code>1.0.0</code>, содержит тот же контент, что и документ с идентификатором <code>doc1</code> в каталоге <code>docs</code>. При создании новой версии, <code>2.0.0</code>, файл <code>doc1</code> не будет скопирован в каталог <code>versioned_docs/version-2.0.0/</code>. При этом страница <code>docs/2.0.0/doc1.html</code> будет существовать, но будет использовать файл версии <code>1.0.0</code>.</p>
<p>Because of the way this fallback works, pages that you delete are not really deleted from the website unless you tell Docusaurus to skip fallback after a certain version. To do this, use the <a href="/docs/ru/next/site-config#deleteddocs-object"><code>deletedDocs</code></a> option in <code>siteConfig.js</code>.</p>
<h2><a class="anchor" aria-hidden="true" id="переименование-существующих-версий"></a><a href="#переименование-существующих-версий" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Переименование существующих версий</h2>
<p>Чтобы дать существующей версии новый номер, убедитесь, что следующая команда указана в файле <code>package.json</code>:</p>
<pre><code class="hljs css language-js">...
<span class="hljs-string">"scripts"</span>: {
<span class="hljs-string">"rename-version"</span>: <span class="hljs-string">"docusaurus-rename-version"</span>
},
...
</code></pre>
<p>Выполните команду в терминале, указав первым параметром текущий номер версии, а вторым параметром - новый номер версии. Например:</p>
<pre><code class="hljs css language-bash">yarn run rename-version 1.0.0 1.0.1
</code></pre>
<h2><a class="anchor" aria-hidden="true" id="версионирование-и-перевод"></a><a href="#версионирование-и-перевод" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Версионирование и перевод</h2>
<p>Если вы желаете использовать функции управления версиями и переводами, файл <code>crowdin.yaml</code> должен быть настроен для загрузки версий документов в Crowdin и выгрузки из него переведенных файлов. Переведенные, версионированные файлы будут перемещены в каталог <code>translated_docs/${language}/version-${version}/</code>. Чтобы узнать больше, обратитесь к <a href="/docs/ru/next/translation">руководству по переводу</a>.</p>
</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/ru/next/translation"><span class="arrow-prev"></span><span>Перевод и локализация</span></a><a class="docs-next button" href="/docs/ru/next/commands"><span>Команды CLI</span><span class="arrow-next"></span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#как-создавать-новые-версии">Как создавать новые версии</a></li><li><a href="#паттерны-версионирования">Паттерны версионирования</a></li><li><a href="#хранение-файлов-каждой-версии">Хранение файлов каждой версии</a></li><li><a href="#резервная-функциональность">Резервная функциональность</a></li><li><a href="#переименование-существующих-версий">Переименование существующих версий</a></li><li><a href="#версионирование-и-перевод">Версионирование и перевод</a></li></ul></nav></div><footer class="nav-footer" id="footer"><section class="sitemap"><a href="/" class="nav-home"><img src="/img/docusaurus_monochrome.svg" alt="Docusaurus" width="66" height="58"/></a><div class="footerSection"><h5>Docs</h5><a href="
/docs/ru/installation">Getting Started</a><a href="
/docs/ru/versioning">Versioning</a><a href="
/docs/ru/translation">Localization</a><a href="
/docs/ru/search">Adding Search</a></div><div class="footerSection"><h5>Community</h5><a href="/ru/help">Help</a><a href="/ru/users">User Showcase</a><a href="/ru/about-slash">About</a></div><div class="footerSection"><h5>Legal</h5><a href="https://opensource.facebook.com/legal/privacy/" target="_blank" rel="noreferrer noopener">Privacy</a><a href="https://opensource.facebook.com/legal/terms/" target="_blank" rel="noreferrer noopener">Terms</a><a href="https://opensource.facebook.com/legal/data-policy/" target="_blank" rel="noreferrer noopener">Data Policy</a><a href="https://opensource.facebook.com/legal/cookie-policy/" target="_blank" rel="noreferrer noopener">Cookie Policy</a></div><div class="footerSection"><h5>Social</h5><div class="social"><a class="github-button" href="https://github.com/facebook/docusaurus" data-count-href="https://github.com/facebook/docusaurus/stargazers" data-show-count="true" data-count-aria-label="# stargazers on GitHub" aria-label="Star this project on GitHub">docusaurus</a></div><div class="social"><a href="https://twitter.com/docusaurus" class="twitter-follow-button">Follow @docusaurus</a></div><div class="social"><div class="fb-like" data-href="https://docusaurus.io" data-colorscheme="dark" data-layout="standard" data-share="true" data-width="225" data-show-faces="false"></div></div></div></section><a href="https://opensource.facebook.com/" target="_blank" rel="noreferrer noopener" class="fbOpenSource"><img src="/img/oss_logo.png" alt="Facebook Open Source" width="170" height="45"/></a><section class="copyright"><span>Copyright © 2021 Facebook Inc.</span> Landing images by <a href="https://undraw.co/">unDraw</a>.</section></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>window.fbAsyncInit = function() {FB.init({appId:'199138890728411',xfbml:true,version:'v2.7'});};(function(d, s, id){var js, fjs = d.getElementsByTagName(s)[0];if (d.getElementById(id)) {return;}js = d.createElement(s); js.id = id;js.src = '//connect.facebook.net/en_US/sdk.js';fjs.parentNode.insertBefore(js, fjs);}(document, 'script','facebook-jssdk'));
</script><script>window.twttr=(function(d,s, id){var js,fjs=d.getElementsByTagName(s)[0],t=window.twttr||{};if(d.getElementById(id))return t;js=d.createElement(s);js.id=id;js.src='https://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js, fjs);t._e = [];t.ready = function(f) {t._e.push(f);};return t;}(document, 'script', 'twitter-wjs'));</script><script>
document.addEventListener('keyup', function(e) {
if (e.target !== document.body) {
return;
}
// keyCode for '/' (slash)
if (e.keyCode === 191) {
const search = document.getElementById('search_input_react');
search && search.focus();
}
});
</script><script>
var search = docsearch({
apiKey: '3eb9507824b8be89e7a199ecaa1a9d2c',
indexName: 'docusaurus',
inputSelector: '#search_input_react',
algoliaOptions: {"facetFilters":["language:ru","version:next"]}
});
</script></body></html>