` для отображения контента из вашего markdown, взгляните на [отображение контента](/displaying).
+
+> Вы можете взглянуть на [руководство по базовому синтаксису](https://www.markdownguide.org/basic-syntax), чтобы лучше разобраться в Markdown
+
+### Заголовки
+
+Этот модуль автоматически добавит `id` и `link` к каждому заголовку.
+
+Представим, что у нас есть такой файл:
+
+```md[home.md]
+# Lorem ipsum
+## dolor—sit—amet
+### consectetur & adipisicing
+#### elit
+##### elit
+```
+
+Это будет преобразовано в древовидную JSON AST структуру и использовано компонентом `nuxt-content` и в итоге получится вот такой HTML:
+
+```html
+Lorem ipsum
+dolor—sit—amet
+consectetur & adipisicing
+elit
+elit
+```
+
+> Ссылки в заголовках пусты и поэтому скрыты, но вы можете стилизовать их. Взгляните на документацию, которая появляется при наведении на заголовок.
+
+### Ссылки
+
+Ссылки преобразуются для добавления корректных `target` и `rel` атрибутов. Вы можете изменить это поведение, взгляните на [конфигурацию](/configuration#markdownexternallinks). Относительные ссылки будут также преобразованы в `nuxt-link`, чтобы обеспечить навигацию между компонентами страниц и улучшит производительность используя умную предзагрузку.
+
+Пример использования внешней, относительной, markdown и html ссылок:
+
+```md
+---
+title: Главная
+---
+
+## Ссылки
+
+Nuxt ссылка на блог
+
+Html ссылка на блог
+
+[Markdown ссылка на блог](/articles)
+
+Внешняя html ссылка
+
+[Внешняя markdown ссылка](https://nuxtjs.org)
+```
+
+### Сноски
+
+Этот модуль поддерживает расширенный markdown синтаксис для сносок.
+
+Пример использования сносок:
+
+```md
+Это простая сноска,[^1], а это более длинная сноска.[^bignote]
+
+[^1]: Это первая сноска.
+
+[^bignote]: Это сноска с несколькими абзацами и кодом.
+
+ Добавим абзацы, чтобы включить их в сноску.
+
+ `{ мой код }`
+
+ Добавьте столько абзацев, сколько вам нужно.
+```
+
+> Вы можете почитать [руководство по расширенному синтаксису](https://www.markdownguide.org/extended-syntax/#footnotes) о сносках
+
+### Блоки кода
+
+Этот блок автоматически обернет ваши блоки кода и применит [PrismJS](https://prismjs.com) классы (посмотрите [синтаксис выделений](/writing#syntax-highlighting)).
+
+Блоки кода в Markdown оборачиваются 3-мя обратными кавычками. Также, вы можете задать язык блока кода, чтобы включить подсветку синтаксиса.
+
+По умолчанию Markdown не поддерживает подсветку строк внутри блока кода и имен файлов. Однако этот модуль позволяет использовать собственный синтаксис:
+
+- Номера строк внутри фигурных скобок
+- Имя файла в квадратных скобках
+
+
+```js{1,3-5}[server.js]
+const http = require('http')
+const bodyParser = require('body-parser')
+
+http.createServer((req, res) => {
+ bodyParser.parse(req, (error, body) => {
+ res.end(body)
+ })
+}).listen(3000)
+```
+
+
+После отрисовки компонента `nuxt-content` это будет выглядеть так:
+
+```html
+
+
server.js
+
+
+ ...
+
+
+
+```
+
+> Номера строк добавляются к тегу `pre` в атрибуте `data-line`.
+
+> Имя файла будет преобразовано в span с классом `filename`, это позволит стилизовать их. Взгляните на документацию в правом верхнем углу блоков кода.
+
+### Подсветка синтаксиса
+
+По умолчанию, подсветка кода обеспечивается использованием [PrismJS](https://prismjs.com) и темой, указанной в опциях вашего Nuxt.js приложения, взгляните на [конфигурацию](/configuration#markdownprismtheme).
+
+### HTML
+
+Вы можете писать HTML внутри вашего Markdown:
+
+```md[home.md]
+---
+title: Главная
+---
+
+## HTML
+
+Смесь Markdown и HTML.
+```
+
+Помните, что при размещении Markdown внутри компонента перед ним должна стоять пустая строка, иначе весь блок обрабатывается как пользовательский HTML.
+
+**Это не будет работать:**
+
+```html
+
+ *Markdown* и HTML.
+
+```
+
+**Но это будет:**
+
+```html
+
+
+ *Markdown* и HTML.
+
+
+```
+
+Также как **это**:
+
+```html
+*Markdown* и HTML.
+```
+
+### Vue компоненты
+
+Вы можете использовать глобальные Vue компоненты или импортированные локально, на страницу, где отображается ваш markdown.
+
+Поскольку `@nuxt/content` предполагает, что весь Markdown предоставлен автором (а не с помощью сторонних пользователей), исходные тексты обрабатываются полностью (включая теги), с помощью [rehype-raw](https://github.com/rehypejs/rehype-raw):
+
+1. Вы должны использовать ваши компоненты в kebab case:
+
+```html
+Используйте вместо
+```
+
+2. Вы не можете использовать самозакрывающиеся теги, потому что **это не будет работать**:
+
+```html
+
+```
+
+А **это будет**:
+
+```html
+
+```
+
+**Примеры:**
+
+Мы определили компонент [ExampleMultiselect.vue](https://github.com/nuxt/content/blob/master/docs/components/examples/ExampleMultiselect.vue):
+
+```md[home.md]
+Выберите *фреймворк*:
+
+
+```
+
+**Результат:**
+
+
+
+Выберите *фреймворк*:
+
+
+
+
+
+Также вы можете задать параметры:
+
+
+```md[home.md]
+---
+multiselectOptions:
+ - VuePress
+ - Gridsome
+ - Nuxt
+---
+
+
+```
+
+
+
+
+
+Эти компоненты будут отрисованы используя компонент ``, взгляните на [отображение контента](/displaying#component).
+
+
+
+Обратите внимание, что вы **не можете использовать** теги `` в вашем markdown (например: при использовании с `v-slot`).
+
+### Оглавление
+
+Массив `toc` будет выведен в ваш документ, в нем будут перечислены все `h2` и `h3` с их заголовками и идентификаторами, чтобы вы смогли связать их.
+
+> Взгляните на правую часть этой страницы для примера.
+
+
+### Пример
+
+Файл `content/home.md`:
+
+```md
+---
+title: Главная
+---
+
+## Добро пожаловать!
+```
+
+Будет преобразовано в:
+
+```json
+{
+ "dir": "/",
+ "slug": "главная",
+ "path": "/главная",
+ "extension": ".md",
+ "title": "Главная",
+ "toc": [
+ {
+ "id": "добро-пожаловать",
+ "depth": 2,
+ "text": "Добро пожаловать!"
+ }
+ ],
+ "body": {
+ "type": "root",
+ "children": [
+ {
+ "type": "element",
+ "tag": "h2",
+ "props": {
+ "id": "добро-пожаловать"
+ },
+ "children": [
+ {
+ "type": "element",
+ "tag": "a",
+ "props": {
+ "ariaHidden": "true",
+ "href": "#добро-пожаловать",
+ "tabIndex": -1
+ },
+ "children": [
+ {
+ "type": "element",
+ "tag": "span",
+ "props": {
+ "className": [
+ "icon",
+ "icon-link"
+ ]
+ },
+ "children": []
+ }
+ ]
+ },
+ {
+ "type": "text",
+ "value": "Добро пожаловать!"
+ }
+ ]
+ }
+ ]
+ }
+}
+```
+
+Мы добавляем ключ `text` с телом markdown, чтобы использовать это для [поиска](/fetching#searchfield-value) или для [расширения](http://localhost:3000/advanced#contentfilebeforeinsert).
+
+Вы можете посмотреть как отображать markdown в вашем приложении в секции [отображение контента](/displaying).
+
+## CSV
+
+Строки будут присвоены к переменной body.
+
+### Пример
+
+Файл `content/home.csv`:
+
+```csv
+title, description
+Главная, Добро пожаловать!
+```
+
+Будет преобразовано в:
+
+```json
+{
+ "dir": "/",
+ "slug": "главная",
+ "path": "/главная",
+ "extension": ".json",
+ "body": [
+ {
+ "title": "Главная",
+ "description": "Добро пожаловать!"
+ }
+ ]
+}
+```
+
+## YAML
+
+Указанные данные будут выведены в документ.
+
+> Переменная body не будет сгенерирована.
+
+### Пример
+
+Файл `content/home.yaml`:
+
+```yaml
+title: Главная
+description: Добро пожаловать!
+```
+
+Будет преобразовано в:
+
+```json
+{
+ "dir": "/",
+ "slug": "главная",
+ "path": "/главная",
+ "extension": ".yaml",
+ "title": "Главная",
+ "description": "Добро пожаловать!"
+}
+```
+
+## JSON / JSON5
+
+Указанные данные будут выведены в документ.
+
+> Переменная body не будет сгенерирована.
+
+### Пример
+
+Файл `content/home.json`:
+
+```json
+{
+ "title": "Главная",
+ "description": "Добро пожаловать!"
+}
+
+```
+
+Будет преобразовано в:
+
+```json
+{
+ "dir": "/",
+ "slug": "главная",
+ "path": "/главная",
+ "extension": ".json",
+ "title": "Главная",
+ "description": "Добро пожаловать!"
+}
+```
diff --git a/docs/i18n/ru-RU.js b/docs/i18n/ru-RU.js
new file mode 100644
index 000000000..61e491b65
--- /dev/null
+++ b/docs/i18n/ru-RU.js
@@ -0,0 +1,11 @@
+export default {
+ search: {
+ placeholder: 'Поиск документации (Нажмите "/", чтобы сфокусироваться)'
+ },
+ toc: {
+ title: 'На этой странице'
+ },
+ article: {
+ github: 'Редактировать эту страницу на GitHub'
+ }
+}
diff --git a/docs/nuxt.config.js b/docs/nuxt.config.js
index 728ef8458..efba5c136 100644
--- a/docs/nuxt.config.js
+++ b/docs/nuxt.config.js
@@ -98,18 +98,23 @@ export default {
}
},
i18n: {
- // locales: [{
- // code: 'fr',
- // iso: 'fr-FR',
- // file: 'fr-FR.js',
- // name: 'Français'
- // }, {
- // code: 'en',
- // iso: 'en-US',
- // file: 'en-US.js',
- // name: 'English'
- // }],
+ // locales: [{
+ // code: 'fr',
+ // iso: 'fr-FR',
+ // file: 'fr-FR.js',
+ // name: 'Français'
+ // }, {
+ // code: 'en',
+ // iso: 'en-US',
+ // file: 'en-US.js',
+ // name: 'English'
+ // }],
locales: [{
+ code: 'ru',
+ iso: 'ru-RU',
+ file: 'ru-RU.js',
+ name: 'Русский'
+ }, {
code: 'en',
iso: 'en-US',
file: 'en-US.js',