breslavsky commited on
Commit
b821ced
·
1 Parent(s): bae6c75

Add i18n support

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. .env +1 -0
  2. README.md +43 -1
  3. crowdin.yml +13 -0
  4. docusaurus.config.ts +8 -1
  5. i18n/de/code.json +313 -0
  6. i18n/de/docusaurus-plugin-content-blog/2019-05-28-first-blog-post.md +16 -0
  7. i18n/de/docusaurus-plugin-content-blog/2019-05-29-long-blog-post.md +46 -0
  8. i18n/de/docusaurus-plugin-content-blog/2021-08-01-mdx-blog-post.mdx +26 -0
  9. i18n/de/docusaurus-plugin-content-blog/2021-08-26-welcome/docusaurus-plushie-banner.jpeg +0 -0
  10. i18n/de/docusaurus-plugin-content-blog/2021-08-26-welcome/index.md +34 -0
  11. i18n/de/docusaurus-plugin-content-blog/authors.yml +22 -0
  12. i18n/de/docusaurus-plugin-content-blog/options.json +14 -0
  13. i18n/de/docusaurus-plugin-content-blog/tags.yml +16 -0
  14. i18n/de/docusaurus-plugin-content-docs/current.json +18 -0
  15. i18n/de/docusaurus-plugin-content-docs/current/intro.md +47 -0
  16. i18n/de/docusaurus-plugin-content-docs/current/tutorial-basics/_category_.json +8 -0
  17. i18n/de/docusaurus-plugin-content-docs/current/tutorial-basics/congratulations.md +23 -0
  18. i18n/de/docusaurus-plugin-content-docs/current/tutorial-basics/create-a-blog-post.md +34 -0
  19. i18n/de/docusaurus-plugin-content-docs/current/tutorial-basics/create-a-document.md +57 -0
  20. i18n/de/docusaurus-plugin-content-docs/current/tutorial-basics/create-a-page.md +43 -0
  21. i18n/de/docusaurus-plugin-content-docs/current/tutorial-basics/deploy-your-site.md +31 -0
  22. i18n/de/docusaurus-plugin-content-docs/current/tutorial-basics/markdown-features.mdx +152 -0
  23. i18n/de/docusaurus-plugin-content-docs/current/tutorial-extras/_category_.json +7 -0
  24. i18n/de/docusaurus-plugin-content-docs/current/tutorial-extras/img/docsVersionDropdown.png +0 -0
  25. i18n/de/docusaurus-plugin-content-docs/current/tutorial-extras/img/localeDropdown.png +0 -0
  26. i18n/de/docusaurus-plugin-content-docs/current/tutorial-extras/manage-docs-versions.md +55 -0
  27. i18n/de/docusaurus-plugin-content-docs/current/tutorial-extras/translate-your-site.md +88 -0
  28. i18n/de/docusaurus-theme-classic/footer.json +42 -0
  29. i18n/de/docusaurus-theme-classic/navbar.json +22 -0
  30. i18n/en/code.json +313 -0
  31. i18n/en/docusaurus-plugin-content-blog/options.json +14 -0
  32. i18n/en/docusaurus-plugin-content-docs/current.json +18 -0
  33. i18n/en/docusaurus-theme-classic/footer.json +42 -0
  34. i18n/en/docusaurus-theme-classic/navbar.json +22 -0
  35. i18n/ru/code.json +313 -0
  36. i18n/ru/docusaurus-plugin-content-blog/2019-05-28-first-blog-post.md +16 -0
  37. i18n/ru/docusaurus-plugin-content-blog/2019-05-29-long-blog-post.md +46 -0
  38. i18n/ru/docusaurus-plugin-content-blog/2021-08-01-mdx-blog-post.mdx +26 -0
  39. i18n/ru/docusaurus-plugin-content-blog/2021-08-26-welcome/docusaurus-plushie-banner.jpeg +0 -0
  40. i18n/ru/docusaurus-plugin-content-blog/2021-08-26-welcome/index.md +34 -0
  41. i18n/ru/docusaurus-plugin-content-blog/authors.yml +22 -0
  42. i18n/ru/docusaurus-plugin-content-blog/options.json +14 -0
  43. i18n/ru/docusaurus-plugin-content-blog/tags.yml +16 -0
  44. i18n/ru/docusaurus-plugin-content-docs/current.json +18 -0
  45. i18n/ru/docusaurus-plugin-content-docs/current/intro.md +47 -0
  46. i18n/ru/docusaurus-plugin-content-docs/current/tutorial-basics/_category_.json +8 -0
  47. i18n/ru/docusaurus-plugin-content-docs/current/tutorial-basics/congratulations.md +23 -0
  48. i18n/ru/docusaurus-plugin-content-docs/current/tutorial-basics/create-a-blog-post.md +34 -0
  49. i18n/ru/docusaurus-plugin-content-docs/current/tutorial-basics/create-a-document.md +57 -0
  50. i18n/ru/docusaurus-plugin-content-docs/current/tutorial-basics/create-a-page.md +43 -0
.env ADDED
@@ -0,0 +1 @@
 
 
1
+ CROWDIN_PERSONAL_TOKEN=d572aab2a1257c362dc238508b2a72cc659a560c5a681a02cf6fabeadfbf8538efa1a2120ace7157
README.md CHANGED
@@ -8,4 +8,46 @@ pinned: false
8
  license: mit
9
  ---
10
 
11
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8
  license: mit
9
  ---
10
 
11
+ # How to translate
12
+
13
+ Add `.env`
14
+
15
+ ```bash
16
+ CROWDIN_PERSONAL_TOKEN=xxxYYY
17
+ ```
18
+
19
+ Generate files for translation
20
+
21
+ ```bash
22
+ npm run write-translations
23
+ ```
24
+
25
+ Upload files to Crowdin
26
+
27
+ ```bash
28
+ npm upload
29
+ ```
30
+
31
+ Translate files in Crowdin UI.
32
+
33
+ Download files
34
+
35
+ ```bash
36
+ npm run download
37
+ ```
38
+
39
+ Test locale
40
+
41
+ ```bash
42
+ npm run start -- --locale ru
43
+ ```
44
+
45
+ Check more details here https://docusaurus.io/docs/3.4.0/i18n/crowdin
46
+
47
+ # Troubleshooting
48
+
49
+ Remove cache
50
+
51
+ ```bash
52
+ rm -rf .docusaurus build
53
+ ```
crowdin.yml ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ project_id: '769215'
2
+ api_token_env: CROWDIN_PERSONAL_TOKEN
3
+ preserve_hierarchy: true
4
+ files:
5
+ # JSON translation files
6
+ - source: /i18n/en/**/*
7
+ translation: /i18n/%two_letters_code%/**/%original_file_name%
8
+ # Docs Markdown files
9
+ - source: /docs/**/*
10
+ translation: /i18n/%two_letters_code%/docusaurus-plugin-content-docs/current/**/%original_file_name%
11
+ # Blog Markdown files
12
+ - source: /blog/**/*
13
+ translation: /i18n/%two_letters_code%/docusaurus-plugin-content-blog/**/%original_file_name%
docusaurus.config.ts CHANGED
@@ -28,7 +28,10 @@ const config: Config = {
28
  // may want to replace "en" with "zh-Hans".
29
  i18n: {
30
  defaultLocale: 'en',
31
- locales: ['en'],
 
 
 
32
  },
33
 
34
  presets: [
@@ -88,6 +91,10 @@ const config: Config = {
88
  label: 'GitHub',
89
  position: 'right',
90
  },
 
 
 
 
91
  ],
92
  },
93
  footer: {
 
28
  // may want to replace "en" with "zh-Hans".
29
  i18n: {
30
  defaultLocale: 'en',
31
+ locales: ['en', 'ru', 'de'],
32
+ localeConfigs: {
33
+ ru: { label: 'Русский' },
34
+ },
35
  },
36
 
37
  presets: [
 
91
  label: 'GitHub',
92
  position: 'right',
93
  },
94
+ {
95
+ type: 'localeDropdown',
96
+ position: 'right',
97
+ },
98
  ],
99
  },
100
  footer: {
i18n/de/code.json ADDED
@@ -0,0 +1,313 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "theme.ErrorPageContent.title": {
3
+ "message": "This page crashed.",
4
+ "description": "The title of the fallback page when the page crashed"
5
+ },
6
+ "theme.BackToTopButton.buttonAriaLabel": {
7
+ "message": "Scroll back to top",
8
+ "description": "The ARIA label for the back to top button"
9
+ },
10
+ "theme.blog.archive.title": {
11
+ "message": "Archive",
12
+ "description": "The page & hero title of the blog archive page"
13
+ },
14
+ "theme.blog.archive.description": {
15
+ "message": "Archive",
16
+ "description": "The page & hero description of the blog archive page"
17
+ },
18
+ "theme.blog.paginator.navAriaLabel": {
19
+ "message": "Blog list page navigation",
20
+ "description": "The ARIA label for the blog pagination"
21
+ },
22
+ "theme.blog.paginator.newerEntries": {
23
+ "message": "Newer entries",
24
+ "description": "The label used to navigate to the newer blog posts page (previous page)"
25
+ },
26
+ "theme.blog.paginator.olderEntries": {
27
+ "message": "Older entries",
28
+ "description": "The label used to navigate to the older blog posts page (next page)"
29
+ },
30
+ "theme.blog.post.paginator.navAriaLabel": {
31
+ "message": "Blog post page navigation",
32
+ "description": "The ARIA label for the blog posts pagination"
33
+ },
34
+ "theme.blog.post.paginator.newerPost": {
35
+ "message": "Newer post",
36
+ "description": "The blog post button label to navigate to the newer/previous post"
37
+ },
38
+ "theme.blog.post.paginator.olderPost": {
39
+ "message": "Older post",
40
+ "description": "The blog post button label to navigate to the older/next post"
41
+ },
42
+ "theme.tags.tagsPageLink": {
43
+ "message": "View all tags",
44
+ "description": "The label of the link targeting the tag list page"
45
+ },
46
+ "theme.colorToggle.ariaLabel": {
47
+ "message": "Switch between dark and light mode (currently {mode})",
48
+ "description": "The ARIA label for the navbar color mode toggle"
49
+ },
50
+ "theme.colorToggle.ariaLabel.mode.dark": {
51
+ "message": "dark mode",
52
+ "description": "The name for the dark color mode"
53
+ },
54
+ "theme.colorToggle.ariaLabel.mode.light": {
55
+ "message": "light mode",
56
+ "description": "The name for the light color mode"
57
+ },
58
+ "theme.docs.breadcrumbs.navAriaLabel": {
59
+ "message": "Breadcrumbs",
60
+ "description": "The ARIA label for the breadcrumbs"
61
+ },
62
+ "theme.docs.DocCard.categoryDescription.plurals": {
63
+ "message": "1 item|{count} items",
64
+ "description": "The default description for a category card in the generated index about how many items this category includes"
65
+ },
66
+ "theme.docs.paginator.navAriaLabel": {
67
+ "message": "Docs pages",
68
+ "description": "The ARIA label for the docs pagination"
69
+ },
70
+ "theme.docs.paginator.previous": {
71
+ "message": "Previous",
72
+ "description": "The label used to navigate to the previous doc"
73
+ },
74
+ "theme.docs.paginator.next": {
75
+ "message": "Next",
76
+ "description": "The label used to navigate to the next doc"
77
+ },
78
+ "theme.docs.tagDocListPageTitle.nDocsTagged": {
79
+ "message": "One doc tagged|{count} docs tagged",
80
+ "description": "Pluralized label for \"{count} docs tagged\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)"
81
+ },
82
+ "theme.docs.tagDocListPageTitle": {
83
+ "message": "{nDocsTagged} with \"{tagName}\"",
84
+ "description": "The title of the page for a docs tag"
85
+ },
86
+ "theme.docs.versionBadge.label": {
87
+ "message": "Version: {versionLabel}"
88
+ },
89
+ "theme.docs.versions.unreleasedVersionLabel": {
90
+ "message": "This is unreleased documentation for {siteTitle} {versionLabel} version.",
91
+ "description": "The label used to tell the user that he's browsing an unreleased doc version"
92
+ },
93
+ "theme.docs.versions.unmaintainedVersionLabel": {
94
+ "message": "This is documentation for {siteTitle} {versionLabel}, which is no longer actively maintained.",
95
+ "description": "The label used to tell the user that he's browsing an unmaintained doc version"
96
+ },
97
+ "theme.docs.versions.latestVersionSuggestionLabel": {
98
+ "message": "For up-to-date documentation, see the {latestVersionLink} ({versionLabel}).",
99
+ "description": "The label used to tell the user to check the latest version"
100
+ },
101
+ "theme.docs.versions.latestVersionLinkLabel": {
102
+ "message": "latest version",
103
+ "description": "The label used for the latest version suggestion link label"
104
+ },
105
+ "theme.common.editThisPage": {
106
+ "message": "Edit this page",
107
+ "description": "The link label to edit the current page"
108
+ },
109
+ "theme.common.headingLinkTitle": {
110
+ "message": "Direct link to {heading}",
111
+ "description": "Title for link to heading"
112
+ },
113
+ "theme.lastUpdated.atDate": {
114
+ "message": " on {date}",
115
+ "description": "The words used to describe on which date a page has been last updated"
116
+ },
117
+ "theme.lastUpdated.byUser": {
118
+ "message": " by {user}",
119
+ "description": "The words used to describe by who the page has been last updated"
120
+ },
121
+ "theme.lastUpdated.lastUpdatedAtBy": {
122
+ "message": "Last updated{atDate}{byUser}",
123
+ "description": "The sentence used to display when a page has been last updated, and by who"
124
+ },
125
+ "theme.navbar.mobileVersionsDropdown.label": {
126
+ "message": "Versions",
127
+ "description": "The label for the navbar versions dropdown on mobile view"
128
+ },
129
+ "theme.NotFound.title": {
130
+ "message": "Page Not Found",
131
+ "description": "The title of the 404 page"
132
+ },
133
+ "theme.tags.tagsListLabel": {
134
+ "message": "Tags:",
135
+ "description": "The label alongside a tag list"
136
+ },
137
+ "theme.AnnouncementBar.closeButtonAriaLabel": {
138
+ "message": "Close",
139
+ "description": "The ARIA label for close button of announcement bar"
140
+ },
141
+ "theme.admonition.caution": {
142
+ "message": "caution",
143
+ "description": "The default label used for the Caution admonition (:::caution)"
144
+ },
145
+ "theme.admonition.danger": {
146
+ "message": "danger",
147
+ "description": "The default label used for the Danger admonition (:::danger)"
148
+ },
149
+ "theme.admonition.info": {
150
+ "message": "info",
151
+ "description": "The default label used for the Info admonition (:::info)"
152
+ },
153
+ "theme.admonition.note": {
154
+ "message": "note",
155
+ "description": "The default label used for the Note admonition (:::note)"
156
+ },
157
+ "theme.admonition.tip": {
158
+ "message": "tip",
159
+ "description": "The default label used for the Tip admonition (:::tip)"
160
+ },
161
+ "theme.admonition.warning": {
162
+ "message": "warning",
163
+ "description": "The default label used for the Warning admonition (:::warning)"
164
+ },
165
+ "theme.blog.sidebar.navAriaLabel": {
166
+ "message": "Blog recent posts navigation",
167
+ "description": "The ARIA label for recent posts in the blog sidebar"
168
+ },
169
+ "theme.CodeBlock.wordWrapToggle": {
170
+ "message": "Toggle word wrap",
171
+ "description": "The title attribute for toggle word wrapping button of code block lines"
172
+ },
173
+ "theme.CodeBlock.copied": {
174
+ "message": "Copied",
175
+ "description": "The copied button label on code blocks"
176
+ },
177
+ "theme.CodeBlock.copyButtonAriaLabel": {
178
+ "message": "Copy code to clipboard",
179
+ "description": "The ARIA label for copy code blocks button"
180
+ },
181
+ "theme.CodeBlock.copy": {
182
+ "message": "Copy",
183
+ "description": "The copy button label on code blocks"
184
+ },
185
+ "theme.DocSidebarItem.expandCategoryAriaLabel": {
186
+ "message": "Expand sidebar category '{label}'",
187
+ "description": "The ARIA label to expand the sidebar category"
188
+ },
189
+ "theme.DocSidebarItem.collapseCategoryAriaLabel": {
190
+ "message": "Collapse sidebar category '{label}'",
191
+ "description": "The ARIA label to collapse the sidebar category"
192
+ },
193
+ "theme.NavBar.navAriaLabel": {
194
+ "message": "Main",
195
+ "description": "The ARIA label for the main navigation"
196
+ },
197
+ "theme.navbar.mobileLanguageDropdown.label": {
198
+ "message": "Languages",
199
+ "description": "The label for the mobile language switcher dropdown"
200
+ },
201
+ "theme.NotFound.p1": {
202
+ "message": "We could not find what you were looking for.",
203
+ "description": "The first paragraph of the 404 page"
204
+ },
205
+ "theme.NotFound.p2": {
206
+ "message": "Please contact the owner of the site that linked you to the original URL and let them know their link is broken.",
207
+ "description": "The 2nd paragraph of the 404 page"
208
+ },
209
+ "theme.TOCCollapsible.toggleButtonLabel": {
210
+ "message": "On this page",
211
+ "description": "The label used by the button on the collapsible TOC component"
212
+ },
213
+ "theme.blog.post.readMore": {
214
+ "message": "Read more",
215
+ "description": "The label used in blog post item excerpts to link to full blog posts"
216
+ },
217
+ "theme.blog.post.readMoreLabel": {
218
+ "message": "Read more about {title}",
219
+ "description": "The ARIA label for the link to full blog posts from excerpts"
220
+ },
221
+ "theme.blog.post.readingTime.plurals": {
222
+ "message": "One min read|{readingTime} min read",
223
+ "description": "Pluralized label for \"{readingTime} min read\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)"
224
+ },
225
+ "theme.docs.breadcrumbs.home": {
226
+ "message": "Home page",
227
+ "description": "The ARIA label for the home page in the breadcrumbs"
228
+ },
229
+ "theme.docs.sidebar.collapseButtonTitle": {
230
+ "message": "Collapse sidebar",
231
+ "description": "The title attribute for collapse button of doc sidebar"
232
+ },
233
+ "theme.docs.sidebar.collapseButtonAriaLabel": {
234
+ "message": "Collapse sidebar",
235
+ "description": "The title attribute for collapse button of doc sidebar"
236
+ },
237
+ "theme.docs.sidebar.navAriaLabel": {
238
+ "message": "Docs sidebar",
239
+ "description": "The ARIA label for the sidebar navigation"
240
+ },
241
+ "theme.docs.sidebar.closeSidebarButtonAriaLabel": {
242
+ "message": "Close navigation bar",
243
+ "description": "The ARIA label for close button of mobile sidebar"
244
+ },
245
+ "theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel": {
246
+ "message": "← Back to main menu",
247
+ "description": "The label of the back button to return to main menu, inside the mobile navbar sidebar secondary menu (notably used to display the docs sidebar)"
248
+ },
249
+ "theme.docs.sidebar.toggleSidebarButtonAriaLabel": {
250
+ "message": "Toggle navigation bar",
251
+ "description": "The ARIA label for hamburger menu button of mobile navigation"
252
+ },
253
+ "theme.docs.sidebar.expandButtonTitle": {
254
+ "message": "Expand sidebar",
255
+ "description": "The ARIA label and title attribute for expand button of doc sidebar"
256
+ },
257
+ "theme.docs.sidebar.expandButtonAriaLabel": {
258
+ "message": "Expand sidebar",
259
+ "description": "The ARIA label and title attribute for expand button of doc sidebar"
260
+ },
261
+ "theme.blog.post.plurals": {
262
+ "message": "One post|{count} posts",
263
+ "description": "Pluralized label for \"{count} posts\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)"
264
+ },
265
+ "theme.blog.tagTitle": {
266
+ "message": "{nPosts} tagged with \"{tagName}\"",
267
+ "description": "The title of the page for a blog tag"
268
+ },
269
+ "theme.blog.author.pageTitle": {
270
+ "message": "{authorName} - {nPosts}",
271
+ "description": "The title of the page for a blog author"
272
+ },
273
+ "theme.blog.authorsList.pageTitle": {
274
+ "message": "Authors",
275
+ "description": "The title of the authors page"
276
+ },
277
+ "theme.blog.authorsList.viewAll": {
278
+ "message": "View all authors",
279
+ "description": "The label of the link targeting the blog authors page"
280
+ },
281
+ "theme.blog.author.noPosts": {
282
+ "message": "This author has not written any posts yet.",
283
+ "description": "The text for authors with 0 blog post"
284
+ },
285
+ "theme.contentVisibility.unlistedBanner.title": {
286
+ "message": "Unlisted page",
287
+ "description": "The unlisted content banner title"
288
+ },
289
+ "theme.contentVisibility.unlistedBanner.message": {
290
+ "message": "This page is unlisted. Search engines will not index it, and only users having a direct link can access it.",
291
+ "description": "The unlisted content banner message"
292
+ },
293
+ "theme.contentVisibility.draftBanner.title": {
294
+ "message": "Draft page",
295
+ "description": "The draft content banner title"
296
+ },
297
+ "theme.contentVisibility.draftBanner.message": {
298
+ "message": "This page is a draft. It will only be visible in dev and be excluded from the production build.",
299
+ "description": "The draft content banner message"
300
+ },
301
+ "theme.ErrorPageContent.tryAgain": {
302
+ "message": "Try again",
303
+ "description": "The label of the button to try again rendering when the React error boundary captures an error"
304
+ },
305
+ "theme.common.skipToMainContent": {
306
+ "message": "Skip to main content",
307
+ "description": "The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation"
308
+ },
309
+ "theme.tags.tagsPageTitle": {
310
+ "message": "Tags",
311
+ "description": "The title of the tag list page"
312
+ }
313
+ }
i18n/de/docusaurus-plugin-content-blog/2019-05-28-first-blog-post.md ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ slug: first-blog-post
3
+ title: First Blog Post
4
+ authors:
5
+ - slorber
6
+ - yangshun
7
+ tags:
8
+ - hola
9
+ - docusaurus
10
+ ---
11
+
12
+ Lorem ipsum dolor sit amet...
13
+
14
+ <!-- truncate -->
15
+
16
+ ...consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
i18n/de/docusaurus-plugin-content-blog/2019-05-29-long-blog-post.md ADDED
@@ -0,0 +1,46 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ slug: long-blog-post
3
+ title: Long Blog Post
4
+ authors: yangshun
5
+ tags:
6
+ - hello
7
+ - docusaurus
8
+ ---
9
+
10
+ This is the summary of a very long blog post,
11
+
12
+ Use a `<!--` `truncate` `-->` comment to limit blog post size in the list view.
13
+
14
+ <!-- truncate -->
15
+
16
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
17
+
18
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
19
+
20
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
21
+
22
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
23
+
24
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
25
+
26
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
27
+
28
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
29
+
30
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
31
+
32
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
33
+
34
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
35
+
36
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
37
+
38
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
39
+
40
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
41
+
42
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
43
+
44
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
45
+
46
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
i18n/de/docusaurus-plugin-content-blog/2021-08-01-mdx-blog-post.mdx ADDED
@@ -0,0 +1,26 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ slug: mdx-blog-post
3
+ title: MDX Blog Post
4
+ authors:
5
+ - slorber
6
+ tags:
7
+ - docusaurus
8
+ ---
9
+
10
+ Blog posts support [Docusaurus Markdown features](https://docusaurus.io/docs/markdown-features), such as [MDX](https://mdxjs.com/).
11
+
12
+ :::tip
13
+
14
+ Use the power of React to create interactive blog posts.
15
+
16
+ :::
17
+
18
+ {/* truncate */}
19
+
20
+ For example, use JSX to create an interactive button:
21
+
22
+ ```js
23
+ <button onClick={() => alert('button clicked!')}>Click me!</button>
24
+ ```
25
+
26
+ <button onClick={() => alert('button clicked!')}>Click me!</button>
i18n/de/docusaurus-plugin-content-blog/2021-08-26-welcome/docusaurus-plushie-banner.jpeg ADDED
i18n/de/docusaurus-plugin-content-blog/2021-08-26-welcome/index.md ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ slug: welcome
3
+ title: Welcome
4
+ authors:
5
+ - slorber
6
+ - yangshun
7
+ tags:
8
+ - facebook
9
+ - hello
10
+ - docusaurus
11
+ ---
12
+
13
+ [Docusaurus blogging features](https://docusaurus.io/docs/blog) are powered by the [blog plugin](https://docusaurus.io/docs/api/plugins/@docusaurus/plugin-content-blog).
14
+
15
+ Here are a few tips you might find useful.
16
+
17
+ <!-- truncate -->
18
+
19
+ Simply add Markdown files (or folders) to the `blog` directory.
20
+
21
+ Regular blog authors can be added to `authors.yml`.
22
+
23
+ The blog post date can be extracted from filenames, such as:
24
+
25
+ - `2019-05-30-welcome.md`
26
+ - `2019-05-30-welcome/index.md`
27
+
28
+ A blog post folder can be convenient to co-locate blog post images:
29
+
30
+ ![Docusaurus Plushie](./docusaurus-plushie-banner.jpeg)
31
+
32
+ The blog supports tags as well!
33
+
34
+ **And if you don't want a blog**: just delete this directory, and use `blog: false` in your Docusaurus config.
i18n/de/docusaurus-plugin-content-blog/authors.yml ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ yangshun:
2
+ name: Yangshun Tay
3
+ title: Front End Engineer @ Facebook
4
+ url: https://github.com/yangshun
5
+ image_url: https://github.com/yangshun.png
6
+ page: true
7
+ socials:
8
+ x: yangshunz
9
+ github: yangshun
10
+ slorber:
11
+ name: Sébastien Lorber
12
+ title: Docusaurus maintainer
13
+ url: https://sebastienlorber.com
14
+ image_url: https://github.com/slorber.png
15
+ page:
16
+ # customize the url of the author page at /blog/authors/<permalink>
17
+ permalink: '/all-sebastien-lorber-articles'
18
+ socials:
19
+ x: sebastienlorber
20
+ linkedin: sebastienlorber
21
+ github: slorber
22
+ newsletter: https://thisweekinreact.com
i18n/de/docusaurus-plugin-content-blog/options.json ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "title": {
3
+ "message": "Blog",
4
+ "description": "The title for the blog used in SEO"
5
+ },
6
+ "description": {
7
+ "message": "Blog",
8
+ "description": "The description for the blog used in SEO"
9
+ },
10
+ "sidebar.title": {
11
+ "message": "Recent posts",
12
+ "description": "The label for the left sidebar"
13
+ }
14
+ }
i18n/de/docusaurus-plugin-content-blog/tags.yml ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ facebook:
2
+ label: Facebook
3
+ permalink: /facebook
4
+ description: Facebook tag description
5
+ hello:
6
+ label: Hello
7
+ permalink: /hello
8
+ description: Hello tag description
9
+ docusaurus:
10
+ label: Docusaurus
11
+ permalink: /docusaurus
12
+ description: Docusaurus tag description
13
+ hola:
14
+ label: Hola
15
+ permalink: /hola
16
+ description: Hola tag description
i18n/de/docusaurus-plugin-content-docs/current.json ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "version.label": {
3
+ "message": "Next",
4
+ "description": "The label for version current"
5
+ },
6
+ "sidebar.tutorialSidebar.category.Tutorial - Basics": {
7
+ "message": "Tutorial - Basics",
8
+ "description": "The label for category Tutorial - Basics in sidebar tutorialSidebar"
9
+ },
10
+ "sidebar.tutorialSidebar.category.Tutorial - Basics.link.generated-index.description": {
11
+ "message": "5 minutes to learn the most important Docusaurus concepts.",
12
+ "description": "The generated-index page description for category Tutorial - Basics in sidebar tutorialSidebar"
13
+ },
14
+ "sidebar.tutorialSidebar.category.Tutorial - Extras": {
15
+ "message": "Tutorial - Extras",
16
+ "description": "The label for category Tutorial - Extras in sidebar tutorialSidebar"
17
+ }
18
+ }
i18n/de/docusaurus-plugin-content-docs/current/intro.md ADDED
@@ -0,0 +1,47 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ sidebar_position: 1
3
+ ---
4
+
5
+ # Tutorial Intro
6
+
7
+ Let's discover **Piper in less than 5 minutes**.
8
+
9
+ ## Getting Started
10
+
11
+ Get started by **creating a new site**.
12
+
13
+ Or **try Docusaurus immediately** with **[docusaurus.new](https://docusaurus.new)**.
14
+
15
+ ### What you'll need
16
+
17
+ - [Node.js](https://nodejs.org/en/download/) version 18.0 or above:
18
+ - When installing Node.js, you are recommended to check all checkboxes related to dependencies.
19
+
20
+ ## Generate a new site
21
+
22
+ Generate a new Docusaurus site using the **classic template**.
23
+
24
+ The classic template will automatically be added to your project after you run the command:
25
+
26
+ ```bash
27
+ npm init docusaurus@latest my-website classic
28
+ ```
29
+
30
+ You can type this command into Command Prompt, Powershell, Terminal, or any other integrated terminal of your code editor.
31
+
32
+ The command also installs all necessary dependencies you need to run Docusaurus.
33
+
34
+ ## Start your site
35
+
36
+ Run the development server:
37
+
38
+ ```bash
39
+ cd my-website
40
+ npm run start
41
+ ```
42
+
43
+ The `cd` command changes the directory you're working with. In order to work with your newly created Docusaurus site, you'll need to navigate the terminal there.
44
+
45
+ The `npm run start` command builds your website locally and serves it through a development server, ready for you to view at http://localhost:3000/.
46
+
47
+ Open `docs/intro.md` (this page) and edit some lines: the site **reloads automatically** and displays your changes.
i18n/de/docusaurus-plugin-content-docs/current/tutorial-basics/_category_.json ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "label": "Tutorial - Basics",
3
+ "position": 2,
4
+ "link": {
5
+ "type": "generated-index",
6
+ "description": "5 minutes to learn the most important Docusaurus concepts."
7
+ }
8
+ }
i18n/de/docusaurus-plugin-content-docs/current/tutorial-basics/congratulations.md ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ sidebar_position: 6
3
+ ---
4
+
5
+ # Congratulations!
6
+
7
+ You have just learned the **basics of Docusaurus** and made some changes to the **initial template**.
8
+
9
+ Docusaurus has **much more to offer**!
10
+
11
+ Have **5 more minutes**? Take a look at **[versioning](../tutorial-extras/manage-docs-versions.md)** and **[i18n](../tutorial-extras/translate-your-site.md)**.
12
+
13
+ Anything **unclear** or **buggy** in this tutorial? [Please report it!](https://github.com/facebook/docusaurus/discussions/4610)
14
+
15
+ ## What's next?
16
+
17
+ - Read the [official documentation](https://docusaurus.io/)
18
+ - Modify your site configuration with [`docusaurus.config.js`](https://docusaurus.io/docs/api/docusaurus-config)
19
+ - Add navbar and footer items with [`themeConfig`](https://docusaurus.io/docs/api/themes/configuration)
20
+ - Add a custom [Design and Layout](https://docusaurus.io/docs/styling-layout)
21
+ - Add a [search bar](https://docusaurus.io/docs/search)
22
+ - Find inspirations in the [Docusaurus showcase](https://docusaurus.io/showcase)
23
+ - Get involved in the [Docusaurus Community](https://docusaurus.io/community/support)
i18n/de/docusaurus-plugin-content-docs/current/tutorial-basics/create-a-blog-post.md ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ sidebar_position: 3
3
+ ---
4
+
5
+ # Create a Blog Post
6
+
7
+ Docusaurus creates a **page for each blog post**, but also a **blog index page**, a **tag system**, an **RSS** feed...
8
+
9
+ ## Create your first Post
10
+
11
+ Create a file at `blog/2021-02-28-greetings.md`:
12
+
13
+ ```md title="blog/2021-02-28-greetings.md"
14
+ ---
15
+ slug: greetings
16
+ title: Greetings!
17
+ authors:
18
+ - name: Joel Marcey
19
+ title: Co-creator of Docusaurus 1
20
+ url: https://github.com/JoelMarcey
21
+ image_url: https://github.com/JoelMarcey.png
22
+ - name: Sébastien Lorber
23
+ title: Docusaurus maintainer
24
+ url: https://sebastienlorber.com
25
+ image_url: https://github.com/slorber.png
26
+ tags: [greetings]
27
+ ---
28
+
29
+ Congratulations, you have made your first post!
30
+
31
+ Feel free to play around and edit this post as much as you like.
32
+ ```
33
+
34
+ A new blog post is now available at [http://localhost:3000/blog/greetings](http://localhost:3000/blog/greetings).
i18n/de/docusaurus-plugin-content-docs/current/tutorial-basics/create-a-document.md ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ sidebar_position: 2
3
+ ---
4
+
5
+ # Create a Document
6
+
7
+ Documents are **groups of pages** connected through:
8
+
9
+ - a **sidebar**
10
+ - **previous/next navigation**
11
+ - **versioning**
12
+
13
+ ## Create your first Doc
14
+
15
+ Create a Markdown file at `docs/hello.md`:
16
+
17
+ ```md title="docs/hello.md"
18
+ # Hello
19
+
20
+ This is my **first Docusaurus document**!
21
+ ```
22
+
23
+ A new document is now available at [http://localhost:3000/docs/hello](http://localhost:3000/docs/hello).
24
+
25
+ ## Configure the Sidebar
26
+
27
+ Docusaurus automatically **creates a sidebar** from the `docs` folder.
28
+
29
+ Add metadata to customize the sidebar label and position:
30
+
31
+ ```md title="docs/hello.md" {1-4}
32
+ ---
33
+ sidebar_label: 'Hi!'
34
+ sidebar_position: 3
35
+ ---
36
+
37
+ # Hello
38
+
39
+ This is my **first Docusaurus document**!
40
+ ```
41
+
42
+ It is also possible to create your sidebar explicitly in `sidebars.js`:
43
+
44
+ ```js title="sidebars.js"
45
+ export default {
46
+ tutorialSidebar: [
47
+ 'intro',
48
+ // highlight-next-line
49
+ 'hello',
50
+ {
51
+ type: 'category',
52
+ label: 'Tutorial',
53
+ items: ['tutorial-basics/create-a-document'],
54
+ },
55
+ ],
56
+ };
57
+ ```
i18n/de/docusaurus-plugin-content-docs/current/tutorial-basics/create-a-page.md ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ sidebar_position: 1
3
+ ---
4
+
5
+ # Create a Page
6
+
7
+ Add **Markdown or React** files to `src/pages` to create a **standalone page**:
8
+
9
+ - `src/pages/index.js` → `localhost:3000/`
10
+ - `src/pages/foo.md` → `localhost:3000/foo`
11
+ - `src/pages/foo/bar.js` → `localhost:3000/foo/bar`
12
+
13
+ ## Create your first React Page
14
+
15
+ Create a file at `src/pages/my-react-page.js`:
16
+
17
+ ```jsx title="src/pages/my-react-page.js"
18
+ import React from 'react';
19
+ import Layout from '@theme/Layout';
20
+
21
+ export default function MyReactPage() {
22
+ return (
23
+ <Layout>
24
+ <h1>My React page</h1>
25
+ <p>This is a React page</p>
26
+ </Layout>
27
+ );
28
+ }
29
+ ```
30
+
31
+ A new page is now available at [http://localhost:3000/my-react-page](http://localhost:3000/my-react-page).
32
+
33
+ ## Create your first Markdown Page
34
+
35
+ Create a file at `src/pages/my-markdown-page.md`:
36
+
37
+ ```mdx title="src/pages/my-markdown-page.md"
38
+ # My Markdown page
39
+
40
+ This is a Markdown page
41
+ ```
42
+
43
+ A new page is now available at [http://localhost:3000/my-markdown-page](http://localhost:3000/my-markdown-page).
i18n/de/docusaurus-plugin-content-docs/current/tutorial-basics/deploy-your-site.md ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ sidebar_position: 5
3
+ ---
4
+
5
+ # Deploy your site
6
+
7
+ Docusaurus is a **static-site-generator** (also called **[Jamstack](https://jamstack.org/)**).
8
+
9
+ It builds your site as simple **static HTML, JavaScript and CSS files**.
10
+
11
+ ## Build your site
12
+
13
+ Build your site **for production**:
14
+
15
+ ```bash
16
+ npm run build
17
+ ```
18
+
19
+ The static files are generated in the `build` folder.
20
+
21
+ ## Deploy your site
22
+
23
+ Test your production build locally:
24
+
25
+ ```bash
26
+ npm run serve
27
+ ```
28
+
29
+ The `build` folder is now served at [http://localhost:3000/](http://localhost:3000/).
30
+
31
+ You can now deploy the `build` folder **almost anywhere** easily, **for free** or very small cost (read the **[Deployment Guide](https://docusaurus.io/docs/deployment)**).
i18n/de/docusaurus-plugin-content-docs/current/tutorial-basics/markdown-features.mdx ADDED
@@ -0,0 +1,152 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ sidebar_position: 4
3
+ ---
4
+
5
+ # Markdown Features
6
+
7
+ Docusaurus supports **[Markdown](https://daringfireball.net/projects/markdown/syntax)** and a few **additional features**.
8
+
9
+ ## Front Matter
10
+
11
+ Markdown documents have metadata at the top called [Front Matter](https://jekyllrb.com/docs/front-matter/):
12
+
13
+ ```text title="my-doc.md"
14
+ // highlight-start
15
+ ---
16
+ id: my-doc-id
17
+ title: My document title
18
+ description: My document description
19
+ slug: /my-custom-url
20
+ ---
21
+ // highlight-end
22
+
23
+ ## Markdown heading
24
+
25
+ Markdown text with [links](./hello.md)
26
+ ```
27
+
28
+ ## Links
29
+
30
+ Regular Markdown links are supported, using url paths or relative file paths.
31
+
32
+ ```md
33
+ Let's see how to [Create a page](/create-a-page).
34
+ ```
35
+
36
+ ```md
37
+ Let's see how to [Create a page](./create-a-page.md).
38
+ ```
39
+
40
+ **Result:** Let's see how to [Create a page](./create-a-page.md).
41
+
42
+ ## Images
43
+
44
+ Regular Markdown images are supported.
45
+
46
+ You can use absolute paths to reference images in the static directory (`static/img/docusaurus.png`):
47
+
48
+ ```md
49
+ ![Docusaurus logo](/img/docusaurus.png)
50
+ ```
51
+
52
+ ![Docusaurus logo](/img/docusaurus.png)
53
+
54
+ You can reference images relative to the current file as well. This is particularly useful to colocate images close to the Markdown files using them:
55
+
56
+ ```md
57
+ ![Docusaurus logo](./img/docusaurus.png)
58
+ ```
59
+
60
+ ## Code Blocks
61
+
62
+ Markdown code blocks are supported with Syntax highlighting.
63
+
64
+ ````md
65
+ ```jsx title="src/components/HelloDocusaurus.js"
66
+ function HelloDocusaurus() {
67
+ return <h1>Hello, Docusaurus!</h1>;
68
+ }
69
+ ```
70
+ ````
71
+
72
+ ```jsx title="src/components/HelloDocusaurus.js"
73
+ function HelloDocusaurus() {
74
+ return <h1>Hello, Docusaurus!</h1>;
75
+ }
76
+ ```
77
+
78
+ ## Admonitions
79
+
80
+ Docusaurus has a special syntax to create admonitions and callouts:
81
+
82
+ ```md
83
+ :::tip My tip
84
+
85
+ Use this awesome feature option
86
+
87
+ :::
88
+
89
+ :::danger Take care
90
+
91
+ This action is dangerous
92
+
93
+ :::
94
+ ```
95
+
96
+ :::tip My tip
97
+
98
+ Use this awesome feature option
99
+
100
+ :::
101
+
102
+ :::danger Take care
103
+
104
+ This action is dangerous
105
+
106
+ :::
107
+
108
+ ## MDX and React Components
109
+
110
+ [MDX](https://mdxjs.com/) can make your documentation more **interactive** and allows using any **React components inside Markdown**:
111
+
112
+ ```jsx
113
+ export const Highlight = ({children, color}) => (
114
+ <span
115
+ style={{
116
+ backgroundColor: color,
117
+ borderRadius: '20px',
118
+ color: '#fff',
119
+ padding: '10px',
120
+ cursor: 'pointer',
121
+ }}
122
+ onClick={() => {
123
+ alert(`You clicked the color ${color} with label ${children}`)
124
+ }}>
125
+ {children}
126
+ </span>
127
+ );
128
+
129
+ This is <Highlight color="#25c2a0">Docusaurus green</Highlight> !
130
+
131
+ This is <Highlight color="#1877F2">Facebook blue</Highlight> !
132
+ ```
133
+
134
+ export const Highlight = ({children, color}) => (
135
+ <span
136
+ style={{
137
+ backgroundColor: color,
138
+ borderRadius: '20px',
139
+ color: '#fff',
140
+ padding: '10px',
141
+ cursor: 'pointer',
142
+ }}
143
+ onClick={() => {
144
+ alert(`You clicked the color ${color} with label ${children}`);
145
+ }}>
146
+ {children}
147
+ </span>
148
+ );
149
+
150
+ This is <Highlight color="#25c2a0">Docusaurus green</Highlight> !
151
+
152
+ This is <Highlight color="#1877F2">Facebook blue</Highlight> !
i18n/de/docusaurus-plugin-content-docs/current/tutorial-extras/_category_.json ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ {
2
+ "label": "Tutorial - Extras",
3
+ "position": 3,
4
+ "link": {
5
+ "type": "generated-index"
6
+ }
7
+ }
i18n/de/docusaurus-plugin-content-docs/current/tutorial-extras/img/docsVersionDropdown.png ADDED
i18n/de/docusaurus-plugin-content-docs/current/tutorial-extras/img/localeDropdown.png ADDED
i18n/de/docusaurus-plugin-content-docs/current/tutorial-extras/manage-docs-versions.md ADDED
@@ -0,0 +1,55 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ sidebar_position: 1
3
+ ---
4
+
5
+ # Manage Docs Versions
6
+
7
+ Docusaurus can manage multiple versions of your docs.
8
+
9
+ ## Create a docs version
10
+
11
+ Release a version 1.0 of your project:
12
+
13
+ ```bash
14
+ npm run docusaurus docs:version 1.0
15
+ ```
16
+
17
+ The `docs` folder is copied into `versioned_docs/version-1.0` and `versions.json` is created.
18
+
19
+ Your docs now have 2 versions:
20
+
21
+ - `1.0` at `http://localhost:3000/docs/` for the version 1.0 docs
22
+ - `current` at `http://localhost:3000/docs/next/` for the **upcoming, unreleased docs**
23
+
24
+ ## Add a Version Dropdown
25
+
26
+ To navigate seamlessly across versions, add a version dropdown.
27
+
28
+ Modify the `docusaurus.config.js` file:
29
+
30
+ ```js title="docusaurus.config.js"
31
+ export default {
32
+ themeConfig: {
33
+ navbar: {
34
+ items: [
35
+ // highlight-start
36
+ {
37
+ type: 'docsVersionDropdown',
38
+ },
39
+ // highlight-end
40
+ ],
41
+ },
42
+ },
43
+ };
44
+ ```
45
+
46
+ The docs version dropdown appears in your navbar:
47
+
48
+ ![Docs Version Dropdown](./img/docsVersionDropdown.png)
49
+
50
+ ## Update an existing version
51
+
52
+ It is possible to edit versioned docs in their respective folder:
53
+
54
+ - `versioned_docs/version-1.0/hello.md` updates `http://localhost:3000/docs/hello`
55
+ - `docs/hello.md` updates `http://localhost:3000/docs/next/hello`
i18n/de/docusaurus-plugin-content-docs/current/tutorial-extras/translate-your-site.md ADDED
@@ -0,0 +1,88 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ sidebar_position: 2
3
+ ---
4
+
5
+ # Translate your site
6
+
7
+ Let's translate `docs/intro.md` to French.
8
+
9
+ ## Configure i18n
10
+
11
+ Modify `docusaurus.config.js` to add support for the `fr` locale:
12
+
13
+ ```js title="docusaurus.config.js"
14
+ export default {
15
+ i18n: {
16
+ defaultLocale: 'en',
17
+ locales: ['en', 'fr'],
18
+ },
19
+ };
20
+ ```
21
+
22
+ ## Translate a doc
23
+
24
+ Copy the `docs/intro.md` file to the `i18n/fr` folder:
25
+
26
+ ```bash
27
+ mkdir -p i18n/fr/docusaurus-plugin-content-docs/current/
28
+
29
+ cp docs/intro.md i18n/fr/docusaurus-plugin-content-docs/current/intro.md
30
+ ```
31
+
32
+ Translate `i18n/fr/docusaurus-plugin-content-docs/current/intro.md` in French.
33
+
34
+ ## Start your localized site
35
+
36
+ Start your site on the French locale:
37
+
38
+ ```bash
39
+ npm run start -- --locale fr
40
+ ```
41
+
42
+ Your localized site is accessible at [http://localhost:3000/fr/](http://localhost:3000/fr/) and the `Getting Started` page is translated.
43
+
44
+ :::caution
45
+
46
+ In development, you can only use one locale at a time.
47
+
48
+ :::
49
+
50
+ ## Add a Locale Dropdown
51
+
52
+ To navigate seamlessly across languages, add a locale dropdown.
53
+
54
+ Modify the `docusaurus.config.js` file:
55
+
56
+ ```js title="docusaurus.config.js"
57
+ export default {
58
+ themeConfig: {
59
+ navbar: {
60
+ items: [
61
+ // highlight-start
62
+ {
63
+ type: 'localeDropdown',
64
+ },
65
+ // highlight-end
66
+ ],
67
+ },
68
+ },
69
+ };
70
+ ```
71
+
72
+ The locale dropdown now appears in your navbar:
73
+
74
+ ![Locale Dropdown](./img/localeDropdown.png)
75
+
76
+ ## Build your localized site
77
+
78
+ Build your site for a specific locale:
79
+
80
+ ```bash
81
+ npm run build -- --locale fr
82
+ ```
83
+
84
+ Or build your site to include all the locales at once:
85
+
86
+ ```bash
87
+ npm run build
88
+ ```
i18n/de/docusaurus-theme-classic/footer.json ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "link.title.Docs": {
3
+ "message": "Docs",
4
+ "description": "The title of the footer links column with title=Docs in the footer"
5
+ },
6
+ "link.title.Community": {
7
+ "message": "Community",
8
+ "description": "The title of the footer links column with title=Community in the footer"
9
+ },
10
+ "link.title.More": {
11
+ "message": "More",
12
+ "description": "The title of the footer links column with title=More in the footer"
13
+ },
14
+ "link.item.label.Tutorial": {
15
+ "message": "Tutorial",
16
+ "description": "The label of footer link with label=Tutorial linking to /docs/intro"
17
+ },
18
+ "link.item.label.Stack Overflow": {
19
+ "message": "Stack Overflow",
20
+ "description": "The label of footer link with label=Stack Overflow linking to https://stackoverflow.com/questions/tagged/docusaurus"
21
+ },
22
+ "link.item.label.Discord": {
23
+ "message": "Discord",
24
+ "description": "The label of footer link with label=Discord linking to https://discordapp.com/invite/docusaurus"
25
+ },
26
+ "link.item.label.X": {
27
+ "message": "X",
28
+ "description": "The label of footer link with label=X linking to https://x.com/docusaurus"
29
+ },
30
+ "link.item.label.Blog": {
31
+ "message": "Blog",
32
+ "description": "The label of footer link with label=Blog linking to /blog"
33
+ },
34
+ "link.item.label.GitHub": {
35
+ "message": "GitHub",
36
+ "description": "The label of footer link with label=GitHub linking to https://github.com/facebook/docusaurus"
37
+ },
38
+ "copyright": {
39
+ "message": "Copyright © 2025 My Piper, Inc. Built with Docusaurus.",
40
+ "description": "The footer copyright"
41
+ }
42
+ }
i18n/de/docusaurus-theme-classic/navbar.json ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "title": {
3
+ "message": "Piper.My",
4
+ "description": "The title in the navbar"
5
+ },
6
+ "logo.alt": {
7
+ "message": "Piper Logo",
8
+ "description": "The alt text of navbar logo"
9
+ },
10
+ "item.label.Tutorials": {
11
+ "message": "Tutorials",
12
+ "description": "Navbar item with label Tutorials"
13
+ },
14
+ "item.label.Blog": {
15
+ "message": "Blog",
16
+ "description": "Navbar item with label Blog"
17
+ },
18
+ "item.label.GitHub": {
19
+ "message": "GitHub",
20
+ "description": "Navbar item with label GitHub"
21
+ }
22
+ }
i18n/en/code.json ADDED
@@ -0,0 +1,313 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "theme.ErrorPageContent.title": {
3
+ "message": "This page crashed.",
4
+ "description": "The title of the fallback page when the page crashed"
5
+ },
6
+ "theme.BackToTopButton.buttonAriaLabel": {
7
+ "message": "Scroll back to top",
8
+ "description": "The ARIA label for the back to top button"
9
+ },
10
+ "theme.blog.archive.title": {
11
+ "message": "Archive",
12
+ "description": "The page & hero title of the blog archive page"
13
+ },
14
+ "theme.blog.archive.description": {
15
+ "message": "Archive",
16
+ "description": "The page & hero description of the blog archive page"
17
+ },
18
+ "theme.blog.paginator.navAriaLabel": {
19
+ "message": "Blog list page navigation",
20
+ "description": "The ARIA label for the blog pagination"
21
+ },
22
+ "theme.blog.paginator.newerEntries": {
23
+ "message": "Newer entries",
24
+ "description": "The label used to navigate to the newer blog posts page (previous page)"
25
+ },
26
+ "theme.blog.paginator.olderEntries": {
27
+ "message": "Older entries",
28
+ "description": "The label used to navigate to the older blog posts page (next page)"
29
+ },
30
+ "theme.blog.post.paginator.navAriaLabel": {
31
+ "message": "Blog post page navigation",
32
+ "description": "The ARIA label for the blog posts pagination"
33
+ },
34
+ "theme.blog.post.paginator.newerPost": {
35
+ "message": "Newer post",
36
+ "description": "The blog post button label to navigate to the newer/previous post"
37
+ },
38
+ "theme.blog.post.paginator.olderPost": {
39
+ "message": "Older post",
40
+ "description": "The blog post button label to navigate to the older/next post"
41
+ },
42
+ "theme.tags.tagsPageLink": {
43
+ "message": "View all tags",
44
+ "description": "The label of the link targeting the tag list page"
45
+ },
46
+ "theme.colorToggle.ariaLabel": {
47
+ "message": "Switch between dark and light mode (currently {mode})",
48
+ "description": "The ARIA label for the navbar color mode toggle"
49
+ },
50
+ "theme.colorToggle.ariaLabel.mode.dark": {
51
+ "message": "dark mode",
52
+ "description": "The name for the dark color mode"
53
+ },
54
+ "theme.colorToggle.ariaLabel.mode.light": {
55
+ "message": "light mode",
56
+ "description": "The name for the light color mode"
57
+ },
58
+ "theme.docs.breadcrumbs.navAriaLabel": {
59
+ "message": "Breadcrumbs",
60
+ "description": "The ARIA label for the breadcrumbs"
61
+ },
62
+ "theme.docs.DocCard.categoryDescription.plurals": {
63
+ "message": "1 item|{count} items",
64
+ "description": "The default description for a category card in the generated index about how many items this category includes"
65
+ },
66
+ "theme.docs.paginator.navAriaLabel": {
67
+ "message": "Docs pages",
68
+ "description": "The ARIA label for the docs pagination"
69
+ },
70
+ "theme.docs.paginator.previous": {
71
+ "message": "Previous",
72
+ "description": "The label used to navigate to the previous doc"
73
+ },
74
+ "theme.docs.paginator.next": {
75
+ "message": "Next",
76
+ "description": "The label used to navigate to the next doc"
77
+ },
78
+ "theme.docs.tagDocListPageTitle.nDocsTagged": {
79
+ "message": "One doc tagged|{count} docs tagged",
80
+ "description": "Pluralized label for \"{count} docs tagged\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)"
81
+ },
82
+ "theme.docs.tagDocListPageTitle": {
83
+ "message": "{nDocsTagged} with \"{tagName}\"",
84
+ "description": "The title of the page for a docs tag"
85
+ },
86
+ "theme.docs.versionBadge.label": {
87
+ "message": "Version: {versionLabel}"
88
+ },
89
+ "theme.docs.versions.unreleasedVersionLabel": {
90
+ "message": "This is unreleased documentation for {siteTitle} {versionLabel} version.",
91
+ "description": "The label used to tell the user that he's browsing an unreleased doc version"
92
+ },
93
+ "theme.docs.versions.unmaintainedVersionLabel": {
94
+ "message": "This is documentation for {siteTitle} {versionLabel}, which is no longer actively maintained.",
95
+ "description": "The label used to tell the user that he's browsing an unmaintained doc version"
96
+ },
97
+ "theme.docs.versions.latestVersionSuggestionLabel": {
98
+ "message": "For up-to-date documentation, see the {latestVersionLink} ({versionLabel}).",
99
+ "description": "The label used to tell the user to check the latest version"
100
+ },
101
+ "theme.docs.versions.latestVersionLinkLabel": {
102
+ "message": "latest version",
103
+ "description": "The label used for the latest version suggestion link label"
104
+ },
105
+ "theme.common.editThisPage": {
106
+ "message": "Edit this page",
107
+ "description": "The link label to edit the current page"
108
+ },
109
+ "theme.common.headingLinkTitle": {
110
+ "message": "Direct link to {heading}",
111
+ "description": "Title for link to heading"
112
+ },
113
+ "theme.lastUpdated.atDate": {
114
+ "message": " on {date}",
115
+ "description": "The words used to describe on which date a page has been last updated"
116
+ },
117
+ "theme.lastUpdated.byUser": {
118
+ "message": " by {user}",
119
+ "description": "The words used to describe by who the page has been last updated"
120
+ },
121
+ "theme.lastUpdated.lastUpdatedAtBy": {
122
+ "message": "Last updated{atDate}{byUser}",
123
+ "description": "The sentence used to display when a page has been last updated, and by who"
124
+ },
125
+ "theme.navbar.mobileVersionsDropdown.label": {
126
+ "message": "Versions",
127
+ "description": "The label for the navbar versions dropdown on mobile view"
128
+ },
129
+ "theme.NotFound.title": {
130
+ "message": "Page Not Found",
131
+ "description": "The title of the 404 page"
132
+ },
133
+ "theme.tags.tagsListLabel": {
134
+ "message": "Tags:",
135
+ "description": "The label alongside a tag list"
136
+ },
137
+ "theme.AnnouncementBar.closeButtonAriaLabel": {
138
+ "message": "Close",
139
+ "description": "The ARIA label for close button of announcement bar"
140
+ },
141
+ "theme.admonition.caution": {
142
+ "message": "caution",
143
+ "description": "The default label used for the Caution admonition (:::caution)"
144
+ },
145
+ "theme.admonition.danger": {
146
+ "message": "danger",
147
+ "description": "The default label used for the Danger admonition (:::danger)"
148
+ },
149
+ "theme.admonition.info": {
150
+ "message": "info",
151
+ "description": "The default label used for the Info admonition (:::info)"
152
+ },
153
+ "theme.admonition.note": {
154
+ "message": "note",
155
+ "description": "The default label used for the Note admonition (:::note)"
156
+ },
157
+ "theme.admonition.tip": {
158
+ "message": "tip",
159
+ "description": "The default label used for the Tip admonition (:::tip)"
160
+ },
161
+ "theme.admonition.warning": {
162
+ "message": "warning",
163
+ "description": "The default label used for the Warning admonition (:::warning)"
164
+ },
165
+ "theme.blog.sidebar.navAriaLabel": {
166
+ "message": "Blog recent posts navigation",
167
+ "description": "The ARIA label for recent posts in the blog sidebar"
168
+ },
169
+ "theme.CodeBlock.wordWrapToggle": {
170
+ "message": "Toggle word wrap",
171
+ "description": "The title attribute for toggle word wrapping button of code block lines"
172
+ },
173
+ "theme.CodeBlock.copied": {
174
+ "message": "Copied",
175
+ "description": "The copied button label on code blocks"
176
+ },
177
+ "theme.CodeBlock.copyButtonAriaLabel": {
178
+ "message": "Copy code to clipboard",
179
+ "description": "The ARIA label for copy code blocks button"
180
+ },
181
+ "theme.CodeBlock.copy": {
182
+ "message": "Copy",
183
+ "description": "The copy button label on code blocks"
184
+ },
185
+ "theme.DocSidebarItem.expandCategoryAriaLabel": {
186
+ "message": "Expand sidebar category '{label}'",
187
+ "description": "The ARIA label to expand the sidebar category"
188
+ },
189
+ "theme.DocSidebarItem.collapseCategoryAriaLabel": {
190
+ "message": "Collapse sidebar category '{label}'",
191
+ "description": "The ARIA label to collapse the sidebar category"
192
+ },
193
+ "theme.NavBar.navAriaLabel": {
194
+ "message": "Main",
195
+ "description": "The ARIA label for the main navigation"
196
+ },
197
+ "theme.navbar.mobileLanguageDropdown.label": {
198
+ "message": "Languages",
199
+ "description": "The label for the mobile language switcher dropdown"
200
+ },
201
+ "theme.NotFound.p1": {
202
+ "message": "We could not find what you were looking for.",
203
+ "description": "The first paragraph of the 404 page"
204
+ },
205
+ "theme.NotFound.p2": {
206
+ "message": "Please contact the owner of the site that linked you to the original URL and let them know their link is broken.",
207
+ "description": "The 2nd paragraph of the 404 page"
208
+ },
209
+ "theme.TOCCollapsible.toggleButtonLabel": {
210
+ "message": "On this page",
211
+ "description": "The label used by the button on the collapsible TOC component"
212
+ },
213
+ "theme.blog.post.readMore": {
214
+ "message": "Read more",
215
+ "description": "The label used in blog post item excerpts to link to full blog posts"
216
+ },
217
+ "theme.blog.post.readMoreLabel": {
218
+ "message": "Read more about {title}",
219
+ "description": "The ARIA label for the link to full blog posts from excerpts"
220
+ },
221
+ "theme.blog.post.readingTime.plurals": {
222
+ "message": "One min read|{readingTime} min read",
223
+ "description": "Pluralized label for \"{readingTime} min read\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)"
224
+ },
225
+ "theme.docs.breadcrumbs.home": {
226
+ "message": "Home page",
227
+ "description": "The ARIA label for the home page in the breadcrumbs"
228
+ },
229
+ "theme.docs.sidebar.collapseButtonTitle": {
230
+ "message": "Collapse sidebar",
231
+ "description": "The title attribute for collapse button of doc sidebar"
232
+ },
233
+ "theme.docs.sidebar.collapseButtonAriaLabel": {
234
+ "message": "Collapse sidebar",
235
+ "description": "The title attribute for collapse button of doc sidebar"
236
+ },
237
+ "theme.docs.sidebar.navAriaLabel": {
238
+ "message": "Docs sidebar",
239
+ "description": "The ARIA label for the sidebar navigation"
240
+ },
241
+ "theme.docs.sidebar.closeSidebarButtonAriaLabel": {
242
+ "message": "Close navigation bar",
243
+ "description": "The ARIA label for close button of mobile sidebar"
244
+ },
245
+ "theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel": {
246
+ "message": "← Back to main menu",
247
+ "description": "The label of the back button to return to main menu, inside the mobile navbar sidebar secondary menu (notably used to display the docs sidebar)"
248
+ },
249
+ "theme.docs.sidebar.toggleSidebarButtonAriaLabel": {
250
+ "message": "Toggle navigation bar",
251
+ "description": "The ARIA label for hamburger menu button of mobile navigation"
252
+ },
253
+ "theme.docs.sidebar.expandButtonTitle": {
254
+ "message": "Expand sidebar",
255
+ "description": "The ARIA label and title attribute for expand button of doc sidebar"
256
+ },
257
+ "theme.docs.sidebar.expandButtonAriaLabel": {
258
+ "message": "Expand sidebar",
259
+ "description": "The ARIA label and title attribute for expand button of doc sidebar"
260
+ },
261
+ "theme.blog.post.plurals": {
262
+ "message": "One post|{count} posts",
263
+ "description": "Pluralized label for \"{count} posts\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)"
264
+ },
265
+ "theme.blog.tagTitle": {
266
+ "message": "{nPosts} tagged with \"{tagName}\"",
267
+ "description": "The title of the page for a blog tag"
268
+ },
269
+ "theme.blog.author.pageTitle": {
270
+ "message": "{authorName} - {nPosts}",
271
+ "description": "The title of the page for a blog author"
272
+ },
273
+ "theme.blog.authorsList.pageTitle": {
274
+ "message": "Authors",
275
+ "description": "The title of the authors page"
276
+ },
277
+ "theme.blog.authorsList.viewAll": {
278
+ "message": "View all authors",
279
+ "description": "The label of the link targeting the blog authors page"
280
+ },
281
+ "theme.blog.author.noPosts": {
282
+ "message": "This author has not written any posts yet.",
283
+ "description": "The text for authors with 0 blog post"
284
+ },
285
+ "theme.contentVisibility.unlistedBanner.title": {
286
+ "message": "Unlisted page",
287
+ "description": "The unlisted content banner title"
288
+ },
289
+ "theme.contentVisibility.unlistedBanner.message": {
290
+ "message": "This page is unlisted. Search engines will not index it, and only users having a direct link can access it.",
291
+ "description": "The unlisted content banner message"
292
+ },
293
+ "theme.contentVisibility.draftBanner.title": {
294
+ "message": "Draft page",
295
+ "description": "The draft content banner title"
296
+ },
297
+ "theme.contentVisibility.draftBanner.message": {
298
+ "message": "This page is a draft. It will only be visible in dev and be excluded from the production build.",
299
+ "description": "The draft content banner message"
300
+ },
301
+ "theme.ErrorPageContent.tryAgain": {
302
+ "message": "Try again",
303
+ "description": "The label of the button to try again rendering when the React error boundary captures an error"
304
+ },
305
+ "theme.common.skipToMainContent": {
306
+ "message": "Skip to main content",
307
+ "description": "The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation"
308
+ },
309
+ "theme.tags.tagsPageTitle": {
310
+ "message": "Tags",
311
+ "description": "The title of the tag list page"
312
+ }
313
+ }
i18n/en/docusaurus-plugin-content-blog/options.json ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "title": {
3
+ "message": "Blog",
4
+ "description": "The title for the blog used in SEO"
5
+ },
6
+ "description": {
7
+ "message": "Blog",
8
+ "description": "The description for the blog used in SEO"
9
+ },
10
+ "sidebar.title": {
11
+ "message": "Recent posts",
12
+ "description": "The label for the left sidebar"
13
+ }
14
+ }
i18n/en/docusaurus-plugin-content-docs/current.json ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "version.label": {
3
+ "message": "Next",
4
+ "description": "The label for version current"
5
+ },
6
+ "sidebar.tutorialSidebar.category.Tutorial - Basics": {
7
+ "message": "Tutorial - Basics",
8
+ "description": "The label for category Tutorial - Basics in sidebar tutorialSidebar"
9
+ },
10
+ "sidebar.tutorialSidebar.category.Tutorial - Basics.link.generated-index.description": {
11
+ "message": "5 minutes to learn the most important Docusaurus concepts.",
12
+ "description": "The generated-index page description for category Tutorial - Basics in sidebar tutorialSidebar"
13
+ },
14
+ "sidebar.tutorialSidebar.category.Tutorial - Extras": {
15
+ "message": "Tutorial - Extras",
16
+ "description": "The label for category Tutorial - Extras in sidebar tutorialSidebar"
17
+ }
18
+ }
i18n/en/docusaurus-theme-classic/footer.json ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "link.title.Docs": {
3
+ "message": "Docs",
4
+ "description": "The title of the footer links column with title=Docs in the footer"
5
+ },
6
+ "link.title.Community": {
7
+ "message": "Community",
8
+ "description": "The title of the footer links column with title=Community in the footer"
9
+ },
10
+ "link.title.More": {
11
+ "message": "More",
12
+ "description": "The title of the footer links column with title=More in the footer"
13
+ },
14
+ "link.item.label.Tutorial": {
15
+ "message": "Tutorial",
16
+ "description": "The label of footer link with label=Tutorial linking to /docs/intro"
17
+ },
18
+ "link.item.label.Stack Overflow": {
19
+ "message": "Stack Overflow",
20
+ "description": "The label of footer link with label=Stack Overflow linking to https://stackoverflow.com/questions/tagged/docusaurus"
21
+ },
22
+ "link.item.label.Discord": {
23
+ "message": "Discord",
24
+ "description": "The label of footer link with label=Discord linking to https://discordapp.com/invite/docusaurus"
25
+ },
26
+ "link.item.label.X": {
27
+ "message": "X",
28
+ "description": "The label of footer link with label=X linking to https://x.com/docusaurus"
29
+ },
30
+ "link.item.label.Blog": {
31
+ "message": "Blog",
32
+ "description": "The label of footer link with label=Blog linking to /blog"
33
+ },
34
+ "link.item.label.GitHub": {
35
+ "message": "GitHub",
36
+ "description": "The label of footer link with label=GitHub linking to https://github.com/facebook/docusaurus"
37
+ },
38
+ "copyright": {
39
+ "message": "Copyright © 2025 My Piper, Inc. Built with Docusaurus.",
40
+ "description": "The footer copyright"
41
+ }
42
+ }
i18n/en/docusaurus-theme-classic/navbar.json ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "title": {
3
+ "message": "Piper.My",
4
+ "description": "The title in the navbar"
5
+ },
6
+ "logo.alt": {
7
+ "message": "Piper Logo",
8
+ "description": "The alt text of navbar logo"
9
+ },
10
+ "item.label.Tutorials": {
11
+ "message": "Tutorials",
12
+ "description": "Navbar item with label Tutorials"
13
+ },
14
+ "item.label.Blog": {
15
+ "message": "Blog",
16
+ "description": "Navbar item with label Blog"
17
+ },
18
+ "item.label.GitHub": {
19
+ "message": "GitHub",
20
+ "description": "Navbar item with label GitHub"
21
+ }
22
+ }
i18n/ru/code.json ADDED
@@ -0,0 +1,313 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "theme.ErrorPageContent.title": {
3
+ "message": "This page crashed.",
4
+ "description": "The title of the fallback page when the page crashed"
5
+ },
6
+ "theme.BackToTopButton.buttonAriaLabel": {
7
+ "message": "Scroll back to top",
8
+ "description": "The ARIA label for the back to top button"
9
+ },
10
+ "theme.blog.archive.title": {
11
+ "message": "Archive",
12
+ "description": "The page & hero title of the blog archive page"
13
+ },
14
+ "theme.blog.archive.description": {
15
+ "message": "Archive",
16
+ "description": "The page & hero description of the blog archive page"
17
+ },
18
+ "theme.blog.paginator.navAriaLabel": {
19
+ "message": "Blog list page navigation",
20
+ "description": "The ARIA label for the blog pagination"
21
+ },
22
+ "theme.blog.paginator.newerEntries": {
23
+ "message": "Newer entries",
24
+ "description": "The label used to navigate to the newer blog posts page (previous page)"
25
+ },
26
+ "theme.blog.paginator.olderEntries": {
27
+ "message": "Older entries",
28
+ "description": "The label used to navigate to the older blog posts page (next page)"
29
+ },
30
+ "theme.blog.post.paginator.navAriaLabel": {
31
+ "message": "Blog post page navigation",
32
+ "description": "The ARIA label for the blog posts pagination"
33
+ },
34
+ "theme.blog.post.paginator.newerPost": {
35
+ "message": "Newer post",
36
+ "description": "The blog post button label to navigate to the newer/previous post"
37
+ },
38
+ "theme.blog.post.paginator.olderPost": {
39
+ "message": "Older post",
40
+ "description": "The blog post button label to navigate to the older/next post"
41
+ },
42
+ "theme.tags.tagsPageLink": {
43
+ "message": "View all tags",
44
+ "description": "The label of the link targeting the tag list page"
45
+ },
46
+ "theme.colorToggle.ariaLabel": {
47
+ "message": "Switch between dark and light mode (currently {mode})",
48
+ "description": "The ARIA label for the navbar color mode toggle"
49
+ },
50
+ "theme.colorToggle.ariaLabel.mode.dark": {
51
+ "message": "dark mode",
52
+ "description": "The name for the dark color mode"
53
+ },
54
+ "theme.colorToggle.ariaLabel.mode.light": {
55
+ "message": "light mode",
56
+ "description": "The name for the light color mode"
57
+ },
58
+ "theme.docs.breadcrumbs.navAriaLabel": {
59
+ "message": "Breadcrumbs",
60
+ "description": "The ARIA label for the breadcrumbs"
61
+ },
62
+ "theme.docs.DocCard.categoryDescription.plurals": {
63
+ "message": "1 item|{count} items",
64
+ "description": "The default description for a category card in the generated index about how many items this category includes"
65
+ },
66
+ "theme.docs.paginator.navAriaLabel": {
67
+ "message": "Docs pages",
68
+ "description": "The ARIA label for the docs pagination"
69
+ },
70
+ "theme.docs.paginator.previous": {
71
+ "message": "Previous",
72
+ "description": "The label used to navigate to the previous doc"
73
+ },
74
+ "theme.docs.paginator.next": {
75
+ "message": "Next",
76
+ "description": "The label used to navigate to the next doc"
77
+ },
78
+ "theme.docs.tagDocListPageTitle.nDocsTagged": {
79
+ "message": "One doc tagged|{count} docs tagged",
80
+ "description": "Pluralized label for \"{count} docs tagged\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)"
81
+ },
82
+ "theme.docs.tagDocListPageTitle": {
83
+ "message": "{nDocsTagged} with \"{tagName}\"",
84
+ "description": "The title of the page for a docs tag"
85
+ },
86
+ "theme.docs.versionBadge.label": {
87
+ "message": "Version: {versionLabel}"
88
+ },
89
+ "theme.docs.versions.unreleasedVersionLabel": {
90
+ "message": "This is unreleased documentation for {siteTitle} {versionLabel} version.",
91
+ "description": "The label used to tell the user that he's browsing an unreleased doc version"
92
+ },
93
+ "theme.docs.versions.unmaintainedVersionLabel": {
94
+ "message": "This is documentation for {siteTitle} {versionLabel}, which is no longer actively maintained.",
95
+ "description": "The label used to tell the user that he's browsing an unmaintained doc version"
96
+ },
97
+ "theme.docs.versions.latestVersionSuggestionLabel": {
98
+ "message": "For up-to-date documentation, see the {latestVersionLink} ({versionLabel}).",
99
+ "description": "The label used to tell the user to check the latest version"
100
+ },
101
+ "theme.docs.versions.latestVersionLinkLabel": {
102
+ "message": "latest version",
103
+ "description": "The label used for the latest version suggestion link label"
104
+ },
105
+ "theme.common.editThisPage": {
106
+ "message": "Edit this page",
107
+ "description": "The link label to edit the current page"
108
+ },
109
+ "theme.common.headingLinkTitle": {
110
+ "message": "Direct link to {heading}",
111
+ "description": "Title for link to heading"
112
+ },
113
+ "theme.lastUpdated.atDate": {
114
+ "message": " on {date}",
115
+ "description": "The words used to describe on which date a page has been last updated"
116
+ },
117
+ "theme.lastUpdated.byUser": {
118
+ "message": " by {user}",
119
+ "description": "The words used to describe by who the page has been last updated"
120
+ },
121
+ "theme.lastUpdated.lastUpdatedAtBy": {
122
+ "message": "Last updated{atDate}{byUser}",
123
+ "description": "The sentence used to display when a page has been last updated, and by who"
124
+ },
125
+ "theme.navbar.mobileVersionsDropdown.label": {
126
+ "message": "Versions",
127
+ "description": "The label for the navbar versions dropdown on mobile view"
128
+ },
129
+ "theme.NotFound.title": {
130
+ "message": "Page Not Found",
131
+ "description": "The title of the 404 page"
132
+ },
133
+ "theme.tags.tagsListLabel": {
134
+ "message": "Tags:",
135
+ "description": "The label alongside a tag list"
136
+ },
137
+ "theme.AnnouncementBar.closeButtonAriaLabel": {
138
+ "message": "Close",
139
+ "description": "The ARIA label for close button of announcement bar"
140
+ },
141
+ "theme.admonition.caution": {
142
+ "message": "caution",
143
+ "description": "The default label used for the Caution admonition (:::caution)"
144
+ },
145
+ "theme.admonition.danger": {
146
+ "message": "danger",
147
+ "description": "The default label used for the Danger admonition (:::danger)"
148
+ },
149
+ "theme.admonition.info": {
150
+ "message": "info",
151
+ "description": "The default label used for the Info admonition (:::info)"
152
+ },
153
+ "theme.admonition.note": {
154
+ "message": "note",
155
+ "description": "The default label used for the Note admonition (:::note)"
156
+ },
157
+ "theme.admonition.tip": {
158
+ "message": "tip",
159
+ "description": "The default label used for the Tip admonition (:::tip)"
160
+ },
161
+ "theme.admonition.warning": {
162
+ "message": "warning",
163
+ "description": "The default label used for the Warning admonition (:::warning)"
164
+ },
165
+ "theme.blog.sidebar.navAriaLabel": {
166
+ "message": "Blog recent posts navigation",
167
+ "description": "The ARIA label for recent posts in the blog sidebar"
168
+ },
169
+ "theme.CodeBlock.wordWrapToggle": {
170
+ "message": "Toggle word wrap",
171
+ "description": "The title attribute for toggle word wrapping button of code block lines"
172
+ },
173
+ "theme.CodeBlock.copied": {
174
+ "message": "Copied",
175
+ "description": "The copied button label on code blocks"
176
+ },
177
+ "theme.CodeBlock.copyButtonAriaLabel": {
178
+ "message": "Copy code to clipboard",
179
+ "description": "The ARIA label for copy code blocks button"
180
+ },
181
+ "theme.CodeBlock.copy": {
182
+ "message": "Copy",
183
+ "description": "The copy button label on code blocks"
184
+ },
185
+ "theme.DocSidebarItem.expandCategoryAriaLabel": {
186
+ "message": "Expand sidebar category '{label}'",
187
+ "description": "The ARIA label to expand the sidebar category"
188
+ },
189
+ "theme.DocSidebarItem.collapseCategoryAriaLabel": {
190
+ "message": "Collapse sidebar category '{label}'",
191
+ "description": "The ARIA label to collapse the sidebar category"
192
+ },
193
+ "theme.NavBar.navAriaLabel": {
194
+ "message": "Main",
195
+ "description": "The ARIA label for the main navigation"
196
+ },
197
+ "theme.navbar.mobileLanguageDropdown.label": {
198
+ "message": "Languages",
199
+ "description": "The label for the mobile language switcher dropdown"
200
+ },
201
+ "theme.NotFound.p1": {
202
+ "message": "We could not find what you were looking for.",
203
+ "description": "The first paragraph of the 404 page"
204
+ },
205
+ "theme.NotFound.p2": {
206
+ "message": "Please contact the owner of the site that linked you to the original URL and let them know their link is broken.",
207
+ "description": "The 2nd paragraph of the 404 page"
208
+ },
209
+ "theme.TOCCollapsible.toggleButtonLabel": {
210
+ "message": "On this page",
211
+ "description": "The label used by the button on the collapsible TOC component"
212
+ },
213
+ "theme.blog.post.readMore": {
214
+ "message": "Read more",
215
+ "description": "The label used in blog post item excerpts to link to full blog posts"
216
+ },
217
+ "theme.blog.post.readMoreLabel": {
218
+ "message": "Read more about {title}",
219
+ "description": "The ARIA label for the link to full blog posts from excerpts"
220
+ },
221
+ "theme.blog.post.readingTime.plurals": {
222
+ "message": "One min read|{readingTime} min read",
223
+ "description": "Pluralized label for \"{readingTime} min read\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)"
224
+ },
225
+ "theme.docs.breadcrumbs.home": {
226
+ "message": "Home page",
227
+ "description": "The ARIA label for the home page in the breadcrumbs"
228
+ },
229
+ "theme.docs.sidebar.collapseButtonTitle": {
230
+ "message": "Collapse sidebar",
231
+ "description": "The title attribute for collapse button of doc sidebar"
232
+ },
233
+ "theme.docs.sidebar.collapseButtonAriaLabel": {
234
+ "message": "Collapse sidebar",
235
+ "description": "The title attribute for collapse button of doc sidebar"
236
+ },
237
+ "theme.docs.sidebar.navAriaLabel": {
238
+ "message": "Docs sidebar",
239
+ "description": "The ARIA label for the sidebar navigation"
240
+ },
241
+ "theme.docs.sidebar.closeSidebarButtonAriaLabel": {
242
+ "message": "Close navigation bar",
243
+ "description": "The ARIA label for close button of mobile sidebar"
244
+ },
245
+ "theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel": {
246
+ "message": "← Back to main menu",
247
+ "description": "The label of the back button to return to main menu, inside the mobile navbar sidebar secondary menu (notably used to display the docs sidebar)"
248
+ },
249
+ "theme.docs.sidebar.toggleSidebarButtonAriaLabel": {
250
+ "message": "Toggle navigation bar",
251
+ "description": "The ARIA label for hamburger menu button of mobile navigation"
252
+ },
253
+ "theme.docs.sidebar.expandButtonTitle": {
254
+ "message": "Expand sidebar",
255
+ "description": "The ARIA label and title attribute for expand button of doc sidebar"
256
+ },
257
+ "theme.docs.sidebar.expandButtonAriaLabel": {
258
+ "message": "Expand sidebar",
259
+ "description": "The ARIA label and title attribute for expand button of doc sidebar"
260
+ },
261
+ "theme.blog.post.plurals": {
262
+ "message": "One post|{count} posts",
263
+ "description": "Pluralized label for \"{count} posts\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)"
264
+ },
265
+ "theme.blog.tagTitle": {
266
+ "message": "{nPosts} tagged with \"{tagName}\"",
267
+ "description": "The title of the page for a blog tag"
268
+ },
269
+ "theme.blog.author.pageTitle": {
270
+ "message": "{authorName} - {nPosts}",
271
+ "description": "The title of the page for a blog author"
272
+ },
273
+ "theme.blog.authorsList.pageTitle": {
274
+ "message": "Authors",
275
+ "description": "The title of the authors page"
276
+ },
277
+ "theme.blog.authorsList.viewAll": {
278
+ "message": "View all authors",
279
+ "description": "The label of the link targeting the blog authors page"
280
+ },
281
+ "theme.blog.author.noPosts": {
282
+ "message": "This author has not written any posts yet.",
283
+ "description": "The text for authors with 0 blog post"
284
+ },
285
+ "theme.contentVisibility.unlistedBanner.title": {
286
+ "message": "Unlisted page",
287
+ "description": "The unlisted content banner title"
288
+ },
289
+ "theme.contentVisibility.unlistedBanner.message": {
290
+ "message": "This page is unlisted. Search engines will not index it, and only users having a direct link can access it.",
291
+ "description": "The unlisted content banner message"
292
+ },
293
+ "theme.contentVisibility.draftBanner.title": {
294
+ "message": "Draft page",
295
+ "description": "The draft content banner title"
296
+ },
297
+ "theme.contentVisibility.draftBanner.message": {
298
+ "message": "This page is a draft. It will only be visible in dev and be excluded from the production build.",
299
+ "description": "The draft content banner message"
300
+ },
301
+ "theme.ErrorPageContent.tryAgain": {
302
+ "message": "Try again",
303
+ "description": "The label of the button to try again rendering when the React error boundary captures an error"
304
+ },
305
+ "theme.common.skipToMainContent": {
306
+ "message": "Skip to main content",
307
+ "description": "The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation"
308
+ },
309
+ "theme.tags.tagsPageTitle": {
310
+ "message": "Tags",
311
+ "description": "The title of the tag list page"
312
+ }
313
+ }
i18n/ru/docusaurus-plugin-content-blog/2019-05-28-first-blog-post.md ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ slug: first-blog-post
3
+ title: First Blog Post
4
+ authors:
5
+ - slorber
6
+ - yangshun
7
+ tags:
8
+ - hola
9
+ - docusaurus
10
+ ---
11
+
12
+ Lorem ipsum dolor sit amet...
13
+
14
+ <!-- truncate -->
15
+
16
+ ...consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
i18n/ru/docusaurus-plugin-content-blog/2019-05-29-long-blog-post.md ADDED
@@ -0,0 +1,46 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ slug: long-blog-post
3
+ title: Long Blog Post
4
+ authors: yangshun
5
+ tags:
6
+ - hello
7
+ - docusaurus
8
+ ---
9
+
10
+ This is the summary of a very long blog post,
11
+
12
+ Use a `<!--` `truncate` `-->` comment to limit blog post size in the list view.
13
+
14
+ <!-- truncate -->
15
+
16
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
17
+
18
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
19
+
20
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
21
+
22
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
23
+
24
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
25
+
26
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
27
+
28
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
29
+
30
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
31
+
32
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
33
+
34
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
35
+
36
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
37
+
38
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
39
+
40
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
41
+
42
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
43
+
44
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
45
+
46
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
i18n/ru/docusaurus-plugin-content-blog/2021-08-01-mdx-blog-post.mdx ADDED
@@ -0,0 +1,26 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ slug: mdx-blog-post
3
+ title: MDX Blog Post
4
+ authors:
5
+ - slorber
6
+ tags:
7
+ - docusaurus
8
+ ---
9
+
10
+ Blog posts support [Docusaurus Markdown features](https://docusaurus.io/docs/markdown-features), such as [MDX](https://mdxjs.com/).
11
+
12
+ :::tip
13
+
14
+ Use the power of React to create interactive blog posts.
15
+
16
+ :::
17
+
18
+ {/* truncate */}
19
+
20
+ For example, use JSX to create an interactive button:
21
+
22
+ ```js
23
+ <button onClick={() => alert('button clicked!')}>Click me!</button>
24
+ ```
25
+
26
+ <button onClick={() => alert('button clicked!')}>Click me!</button>
i18n/ru/docusaurus-plugin-content-blog/2021-08-26-welcome/docusaurus-plushie-banner.jpeg ADDED
i18n/ru/docusaurus-plugin-content-blog/2021-08-26-welcome/index.md ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ slug: welcome
3
+ title: Welcome
4
+ authors:
5
+ - slorber
6
+ - yangshun
7
+ tags:
8
+ - facebook
9
+ - hello
10
+ - docusaurus
11
+ ---
12
+
13
+ [Docusaurus blogging features](https://docusaurus.io/docs/blog) are powered by the [blog plugin](https://docusaurus.io/docs/api/plugins/@docusaurus/plugin-content-blog).
14
+
15
+ Here are a few tips you might find useful.
16
+
17
+ <!-- truncate -->
18
+
19
+ Simply add Markdown files (or folders) to the `blog` directory.
20
+
21
+ Regular blog authors can be added to `authors.yml`.
22
+
23
+ The blog post date can be extracted from filenames, such as:
24
+
25
+ - `2019-05-30-welcome.md`
26
+ - `2019-05-30-welcome/index.md`
27
+
28
+ A blog post folder can be convenient to co-locate blog post images:
29
+
30
+ ![Docusaurus Plushie](./docusaurus-plushie-banner.jpeg)
31
+
32
+ The blog supports tags as well!
33
+
34
+ **And if you don't want a blog**: just delete this directory, and use `blog: false` in your Docusaurus config.
i18n/ru/docusaurus-plugin-content-blog/authors.yml ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ yangshun:
2
+ name: Yangshun Tay
3
+ title: Front End Engineer @ Facebook
4
+ url: https://github.com/yangshun
5
+ image_url: https://github.com/yangshun.png
6
+ page: true
7
+ socials:
8
+ x: yangshunz
9
+ github: yangshun
10
+ slorber:
11
+ name: Sébastien Lorber
12
+ title: Docusaurus maintainer
13
+ url: https://sebastienlorber.com
14
+ image_url: https://github.com/slorber.png
15
+ page:
16
+ # customize the url of the author page at /blog/authors/<permalink>
17
+ permalink: '/all-sebastien-lorber-articles'
18
+ socials:
19
+ x: sebastienlorber
20
+ linkedin: sebastienlorber
21
+ github: slorber
22
+ newsletter: https://thisweekinreact.com
i18n/ru/docusaurus-plugin-content-blog/options.json ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "title": {
3
+ "message": "Blog",
4
+ "description": "The title for the blog used in SEO"
5
+ },
6
+ "description": {
7
+ "message": "Blog",
8
+ "description": "The description for the blog used in SEO"
9
+ },
10
+ "sidebar.title": {
11
+ "message": "Recent posts",
12
+ "description": "The label for the left sidebar"
13
+ }
14
+ }
i18n/ru/docusaurus-plugin-content-blog/tags.yml ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ facebook:
2
+ label: Facebook
3
+ permalink: /facebook
4
+ description: Facebook tag description
5
+ hello:
6
+ label: Hello
7
+ permalink: /hello
8
+ description: Hello tag description
9
+ docusaurus:
10
+ label: Docusaurus
11
+ permalink: /docusaurus
12
+ description: Docusaurus tag description
13
+ hola:
14
+ label: Hola
15
+ permalink: /hola
16
+ description: Hola tag description
i18n/ru/docusaurus-plugin-content-docs/current.json ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "version.label": {
3
+ "message": "Next",
4
+ "description": "The label for version current"
5
+ },
6
+ "sidebar.tutorialSidebar.category.Tutorial - Basics": {
7
+ "message": "Tutorial - Basics",
8
+ "description": "The label for category Tutorial - Basics in sidebar tutorialSidebar"
9
+ },
10
+ "sidebar.tutorialSidebar.category.Tutorial - Basics.link.generated-index.description": {
11
+ "message": "5 minutes to learn the most important Docusaurus concepts.",
12
+ "description": "The generated-index page description for category Tutorial - Basics in sidebar tutorialSidebar"
13
+ },
14
+ "sidebar.tutorialSidebar.category.Tutorial - Extras": {
15
+ "message": "Tutorial - Extras",
16
+ "description": "The label for category Tutorial - Extras in sidebar tutorialSidebar"
17
+ }
18
+ }
i18n/ru/docusaurus-plugin-content-docs/current/intro.md ADDED
@@ -0,0 +1,47 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ sidebar_position: 1
3
+ ---
4
+
5
+ # Введение
6
+
7
+ Let's discover **Piper in less than 5 minutes**.
8
+
9
+ ## Getting Started
10
+
11
+ Get started by **creating a new site**.
12
+
13
+ Or **try Docusaurus immediately** with **[docusaurus.new](https://docusaurus.new)**.
14
+
15
+ ### What you'll need
16
+
17
+ - [Node.js](https://nodejs.org/en/download/) version 18.0 or above:
18
+ - When installing Node.js, you are recommended to check all checkboxes related to dependencies.
19
+
20
+ ## Generate a new site
21
+
22
+ Generate a new Docusaurus site using the **classic template**.
23
+
24
+ The classic template will automatically be added to your project after you run the command:
25
+
26
+ ```bash
27
+ npm init docusaurus@latest my-website classic
28
+ ```
29
+
30
+ You can type this command into Command Prompt, Powershell, Terminal, or any other integrated terminal of your code editor.
31
+
32
+ The command also installs all necessary dependencies you need to run Docusaurus.
33
+
34
+ ## Start your site
35
+
36
+ Run the development server:
37
+
38
+ ```bash
39
+ cd my-website
40
+ npm run start
41
+ ```
42
+
43
+ The `cd` command changes the directory you're working with. In order to work with your newly created Docusaurus site, you'll need to navigate the terminal there.
44
+
45
+ The `npm run start` command builds your website locally and serves it through a development server, ready for you to view at http://localhost:3000/.
46
+
47
+ Open `docs/intro.md` (this page) and edit some lines: the site **reloads automatically** and displays your changes.
i18n/ru/docusaurus-plugin-content-docs/current/tutorial-basics/_category_.json ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "label": "Tutorial - Basics",
3
+ "position": 2,
4
+ "link": {
5
+ "type": "generated-index",
6
+ "description": "5 minutes to learn the most important Docusaurus concepts."
7
+ }
8
+ }
i18n/ru/docusaurus-plugin-content-docs/current/tutorial-basics/congratulations.md ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ sidebar_position: 6
3
+ ---
4
+
5
+ # Congratulations!
6
+
7
+ You have just learned the **basics of Docusaurus** and made some changes to the **initial template**.
8
+
9
+ Docusaurus has **much more to offer**!
10
+
11
+ Have **5 more minutes**? Take a look at **[versioning](../tutorial-extras/manage-docs-versions.md)** and **[i18n](../tutorial-extras/translate-your-site.md)**.
12
+
13
+ Anything **unclear** or **buggy** in this tutorial? [Please report it!](https://github.com/facebook/docusaurus/discussions/4610)
14
+
15
+ ## What's next?
16
+
17
+ - Read the [official documentation](https://docusaurus.io/)
18
+ - Modify your site configuration with [`docusaurus.config.js`](https://docusaurus.io/docs/api/docusaurus-config)
19
+ - Add navbar and footer items with [`themeConfig`](https://docusaurus.io/docs/api/themes/configuration)
20
+ - Add a custom [Design and Layout](https://docusaurus.io/docs/styling-layout)
21
+ - Add a [search bar](https://docusaurus.io/docs/search)
22
+ - Find inspirations in the [Docusaurus showcase](https://docusaurus.io/showcase)
23
+ - Get involved in the [Docusaurus Community](https://docusaurus.io/community/support)
i18n/ru/docusaurus-plugin-content-docs/current/tutorial-basics/create-a-blog-post.md ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ sidebar_position: 3
3
+ ---
4
+
5
+ # Create a Blog Post
6
+
7
+ Docusaurus creates a **page for each blog post**, but also a **blog index page**, a **tag system**, an **RSS** feed...
8
+
9
+ ## Create your first Post
10
+
11
+ Create a file at `blog/2021-02-28-greetings.md`:
12
+
13
+ ```md title="blog/2021-02-28-greetings.md"
14
+ ---
15
+ slug: greetings
16
+ title: Greetings!
17
+ authors:
18
+ - name: Joel Marcey
19
+ title: Co-creator of Docusaurus 1
20
+ url: https://github.com/JoelMarcey
21
+ image_url: https://github.com/JoelMarcey.png
22
+ - name: Sébastien Lorber
23
+ title: Docusaurus maintainer
24
+ url: https://sebastienlorber.com
25
+ image_url: https://github.com/slorber.png
26
+ tags: [greetings]
27
+ ---
28
+
29
+ Congratulations, you have made your first post!
30
+
31
+ Feel free to play around and edit this post as much as you like.
32
+ ```
33
+
34
+ A new blog post is now available at [http://localhost:3000/blog/greetings](http://localhost:3000/blog/greetings).
i18n/ru/docusaurus-plugin-content-docs/current/tutorial-basics/create-a-document.md ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ sidebar_position: 2
3
+ ---
4
+
5
+ # Create a Document
6
+
7
+ Documents are **groups of pages** connected through:
8
+
9
+ - a **sidebar**
10
+ - **previous/next navigation**
11
+ - **versioning**
12
+
13
+ ## Create your first Doc
14
+
15
+ Create a Markdown file at `docs/hello.md`:
16
+
17
+ ```md title="docs/hello.md"
18
+ # Hello
19
+
20
+ This is my **first Docusaurus document**!
21
+ ```
22
+
23
+ A new document is now available at [http://localhost:3000/docs/hello](http://localhost:3000/docs/hello).
24
+
25
+ ## Configure the Sidebar
26
+
27
+ Docusaurus automatically **creates a sidebar** from the `docs` folder.
28
+
29
+ Add metadata to customize the sidebar label and position:
30
+
31
+ ```md title="docs/hello.md" {1-4}
32
+ ---
33
+ sidebar_label: 'Hi!'
34
+ sidebar_position: 3
35
+ ---
36
+
37
+ # Hello
38
+
39
+ This is my **first Docusaurus document**!
40
+ ```
41
+
42
+ It is also possible to create your sidebar explicitly in `sidebars.js`:
43
+
44
+ ```js title="sidebars.js"
45
+ export default {
46
+ tutorialSidebar: [
47
+ 'intro',
48
+ // highlight-next-line
49
+ 'hello',
50
+ {
51
+ type: 'category',
52
+ label: 'Tutorial',
53
+ items: ['tutorial-basics/create-a-document'],
54
+ },
55
+ ],
56
+ };
57
+ ```
i18n/ru/docusaurus-plugin-content-docs/current/tutorial-basics/create-a-page.md ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ sidebar_position: 1
3
+ ---
4
+
5
+ # Create a Page
6
+
7
+ Add **Markdown or React** files to `src/pages` to create a **standalone page**:
8
+
9
+ - `src/pages/index.js` → `localhost:3000/`
10
+ - `src/pages/foo.md` → `localhost:3000/foo`
11
+ - `src/pages/foo/bar.js` → `localhost:3000/foo/bar`
12
+
13
+ ## Create your first React Page
14
+
15
+ Create a file at `src/pages/my-react-page.js`:
16
+
17
+ ```jsx title="src/pages/my-react-page.js"
18
+ import React from 'react';
19
+ import Layout from '@theme/Layout';
20
+
21
+ export default function MyReactPage() {
22
+ return (
23
+ <Layout>
24
+ <h1>My React page</h1>
25
+ <p>This is a React page</p>
26
+ </Layout>
27
+ );
28
+ }
29
+ ```
30
+
31
+ A new page is now available at [http://localhost:3000/my-react-page](http://localhost:3000/my-react-page).
32
+
33
+ ## Create your first Markdown Page
34
+
35
+ Create a file at `src/pages/my-markdown-page.md`:
36
+
37
+ ```mdx title="src/pages/my-markdown-page.md"
38
+ # My Markdown page
39
+
40
+ This is a Markdown page
41
+ ```
42
+
43
+ A new page is now available at [http://localhost:3000/my-markdown-page](http://localhost:3000/my-markdown-page).