@docusaurus/theme-classic 2.0.0-beta.8e9b829d9 → 2.0.0-beta.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (275) hide show
  1. package/README.md +1 -1
  2. package/codeTranslations/ar.json +12 -6
  3. package/codeTranslations/base.json +12 -0
  4. package/codeTranslations/bn.json +6 -0
  5. package/codeTranslations/cs.json +62 -0
  6. package/codeTranslations/da.json +6 -0
  7. package/codeTranslations/de.json +8 -2
  8. package/codeTranslations/es.json +10 -4
  9. package/codeTranslations/fa.json +9 -3
  10. package/codeTranslations/fil.json +6 -0
  11. package/codeTranslations/fr.json +6 -0
  12. package/codeTranslations/he.json +6 -0
  13. package/codeTranslations/hi.json +6 -0
  14. package/codeTranslations/ja.json +6 -0
  15. package/codeTranslations/ko.json +6 -0
  16. package/codeTranslations/pl.json +6 -0
  17. package/codeTranslations/pt-BR.json +8 -2
  18. package/codeTranslations/pt-PT.json +6 -0
  19. package/codeTranslations/ru.json +6 -0
  20. package/codeTranslations/sr.json +62 -0
  21. package/codeTranslations/tr.json +9 -3
  22. package/codeTranslations/vi.json +10 -4
  23. package/codeTranslations/zh-Hans.json +6 -0
  24. package/codeTranslations/zh-Hant.json +6 -0
  25. package/lib/__tests__/validateThemeConfig.test.js +154 -4
  26. package/lib/index.js +2 -3
  27. package/lib/prism-include-languages.js +9 -5
  28. package/lib/theme/AnnouncementBar/index.js +8 -12
  29. package/lib/theme/AnnouncementBar/styles.module.css +23 -32
  30. package/lib/theme/BackToTopButton/index.js +27 -13
  31. package/lib/theme/BackToTopButton/styles.module.css +17 -14
  32. package/lib/theme/BlogArchivePage/index.js +89 -0
  33. package/lib/theme/BlogLayout/index.js +2 -6
  34. package/lib/theme/BlogListPage/index.js +1 -1
  35. package/lib/theme/BlogPostAuthor/index.js +51 -0
  36. package/lib/theme/BlogPostAuthor/styles.module.css +12 -0
  37. package/lib/theme/BlogPostAuthors/index.js +47 -0
  38. package/lib/theme/BlogPostAuthors/styles.module.css +11 -0
  39. package/lib/theme/BlogPostItem/index.js +58 -67
  40. package/lib/theme/BlogPostPage/index.js +33 -4
  41. package/lib/theme/BlogSidebar/styles.module.css +2 -2
  42. package/lib/theme/BlogTagsListPage/index.js +3 -28
  43. package/lib/theme/BlogTagsPostsPage/index.js +5 -8
  44. package/lib/theme/CodeBlock/index.js +44 -37
  45. package/lib/theme/CodeBlock/styles.module.css +1 -2
  46. package/lib/theme/DocItem/index.js +15 -40
  47. package/lib/theme/DocItem/styles.module.css +2 -12
  48. package/lib/theme/DocItemFooter/index.js +79 -0
  49. package/lib/theme/DocItemFooter/styles.module.css +18 -0
  50. package/lib/theme/DocPage/index.js +18 -13
  51. package/lib/theme/DocSidebar/index.js +11 -16
  52. package/lib/theme/DocSidebarItem/index.js +12 -10
  53. package/lib/theme/DocTagDocListPage/index.js +89 -0
  54. package/lib/theme/DocTagsListPage/index.js +44 -0
  55. package/lib/theme/DocVersionBanner/index.js +6 -4
  56. package/lib/theme/EditThisPage/index.js +3 -1
  57. package/lib/theme/Footer/index.js +5 -3
  58. package/lib/theme/Heading/index.js +7 -9
  59. package/lib/theme/Heading/styles.css +4 -6
  60. package/lib/theme/Heading/styles.module.css +9 -5
  61. package/lib/theme/IconClose/index.js +31 -0
  62. package/lib/theme/LastUpdated/index.js +4 -2
  63. package/lib/theme/LayoutHead/index.js +13 -11
  64. package/lib/theme/LayoutProviders/index.js +7 -5
  65. package/lib/theme/Logo/index.js +14 -12
  66. package/lib/theme/MDXComponents/index.js +27 -1
  67. package/lib/theme/MDXComponents/styles.css +11 -0
  68. package/lib/theme/MDXPage/index.js +2 -1
  69. package/lib/theme/Navbar/index.js +20 -3
  70. package/lib/theme/Navbar/styles.module.css +5 -1
  71. package/lib/theme/NavbarItem/DefaultNavbarItem.js +12 -4
  72. package/lib/theme/NavbarItem/DocNavbarItem.js +5 -3
  73. package/lib/theme/NavbarItem/DocsVersionDropdownNavbarItem.js +7 -1
  74. package/lib/theme/NavbarItem/DropdownNavbarItem.js +3 -3
  75. package/lib/theme/NavbarItem/{LocaleDropdownNavbarItem.js → LocaleDropdownNavbarItem/index.js} +3 -4
  76. package/lib/theme/NavbarItem/LocaleDropdownNavbarItem/styles.module.css +11 -0
  77. package/lib/theme/NavbarItem/index.js +5 -0
  78. package/lib/theme/Seo/index.js +10 -7
  79. package/lib/theme/TOC/index.js +9 -30
  80. package/lib/theme/TOC/styles.module.css +1 -1
  81. package/lib/theme/TOCCollapsible/index.js +5 -3
  82. package/lib/theme/TOCInline/index.js +7 -27
  83. package/lib/theme/TOCItems/index.js +78 -0
  84. package/lib/theme/Tabs/__tests__/index.test.js +123 -0
  85. package/lib/theme/Tabs/index.js +73 -50
  86. package/lib/theme/Tabs/styles.module.css +0 -13
  87. package/lib/theme/Tag/index.js +40 -0
  88. package/lib/theme/Tag/styles.module.css +70 -0
  89. package/lib/theme/TagsListByLetter/index.js +48 -0
  90. package/lib/theme/TagsListByLetter/styles.module.css +11 -0
  91. package/lib/theme/TagsListInline/index.js +44 -0
  92. package/lib/theme/TagsListInline/styles.module.css +15 -0
  93. package/lib/theme/ThemedImage/index.js +3 -5
  94. package/lib/theme/Toggle/index.js +23 -18
  95. package/lib/theme/Toggle/styles.module.css +91 -0
  96. package/lib/theme/hooks/useHideableNavbar.js +14 -31
  97. package/lib/theme/hooks/useTheme.js +2 -2
  98. package/lib/theme/hooks/useWindowSize.js +2 -7
  99. package/lib/theme/prism-include-languages.js +4 -3
  100. package/lib/translations.js +4 -4
  101. package/lib/types.d.ts +216 -105
  102. package/lib/validateThemeConfig.js +215 -254
  103. package/lib-next/__tests__/validateThemeConfig.test.js +154 -4
  104. package/lib-next/index.js +1 -2
  105. package/lib-next/prism-include-languages.js +0 -2
  106. package/lib-next/theme/AnnouncementBar/index.js +7 -12
  107. package/lib-next/theme/AnnouncementBar/styles.module.css +23 -32
  108. package/lib-next/theme/BackToTopButton/index.js +37 -17
  109. package/lib-next/theme/BackToTopButton/styles.module.css +17 -14
  110. package/lib-next/theme/BlogArchivePage/index.js +80 -0
  111. package/lib-next/theme/BlogLayout/index.js +4 -7
  112. package/lib-next/theme/BlogListPage/index.js +1 -0
  113. package/lib-next/theme/BlogPostAuthor/index.js +46 -0
  114. package/lib-next/theme/BlogPostAuthor/styles.module.css +12 -0
  115. package/lib-next/theme/BlogPostAuthors/index.js +34 -0
  116. package/lib-next/theme/BlogPostAuthors/styles.module.css +11 -0
  117. package/lib-next/theme/BlogPostItem/index.js +79 -86
  118. package/lib-next/theme/BlogPostPage/index.js +55 -8
  119. package/lib-next/theme/BlogSidebar/styles.module.css +2 -2
  120. package/lib-next/theme/BlogTagsListPage/index.js +7 -39
  121. package/lib-next/theme/BlogTagsPostsPage/index.js +3 -4
  122. package/lib-next/theme/CodeBlock/index.js +53 -49
  123. package/lib-next/theme/CodeBlock/styles.module.css +1 -2
  124. package/lib-next/theme/DocItem/index.js +27 -45
  125. package/lib-next/theme/DocItem/styles.module.css +2 -12
  126. package/lib-next/theme/DocItemFooter/index.js +79 -0
  127. package/lib-next/theme/DocItemFooter/styles.module.css +18 -0
  128. package/lib-next/theme/DocPage/index.js +18 -14
  129. package/lib-next/theme/DocSidebar/index.js +18 -15
  130. package/lib-next/theme/DocSidebarItem/index.js +31 -11
  131. package/lib-next/theme/DocTagDocListPage/index.js +89 -0
  132. package/lib-next/theme/DocTagsListPage/index.js +38 -0
  133. package/lib-next/theme/DocVersionBanner/index.js +16 -9
  134. package/lib-next/theme/EditThisPage/index.js +6 -1
  135. package/lib-next/theme/Footer/index.js +14 -3
  136. package/lib-next/theme/Heading/index.js +10 -13
  137. package/lib-next/theme/Heading/styles.css +4 -6
  138. package/lib-next/theme/Heading/styles.module.css +9 -5
  139. package/lib-next/theme/IconClose/index.js +23 -0
  140. package/lib-next/theme/LastUpdated/index.js +3 -2
  141. package/lib-next/theme/LayoutHead/index.js +9 -15
  142. package/lib-next/theme/LayoutProviders/index.js +8 -5
  143. package/lib-next/theme/Logo/index.js +23 -19
  144. package/lib-next/theme/MDXComponents/index.js +20 -1
  145. package/lib-next/theme/MDXComponents/styles.css +11 -0
  146. package/lib-next/theme/MDXPage/index.js +10 -2
  147. package/lib-next/theme/Navbar/index.js +27 -3
  148. package/lib-next/theme/Navbar/styles.module.css +5 -1
  149. package/lib-next/theme/NavbarItem/DefaultNavbarItem.js +15 -4
  150. package/lib-next/theme/NavbarItem/DocNavbarItem.js +5 -3
  151. package/lib-next/theme/NavbarItem/DocsVersionDropdownNavbarItem.js +12 -4
  152. package/lib-next/theme/NavbarItem/DropdownNavbarItem.js +4 -6
  153. package/lib-next/theme/NavbarItem/{LocaleDropdownNavbarItem.js → LocaleDropdownNavbarItem/index.js} +2 -6
  154. package/lib-next/theme/NavbarItem/LocaleDropdownNavbarItem/styles.module.css +11 -0
  155. package/lib-next/theme/NavbarItem/index.js +2 -0
  156. package/lib-next/theme/Seo/index.js +11 -7
  157. package/lib-next/theme/TOC/index.js +12 -36
  158. package/lib-next/theme/TOC/styles.module.css +1 -1
  159. package/lib-next/theme/TOCCollapsible/index.js +12 -3
  160. package/lib-next/theme/TOCInline/index.js +10 -28
  161. package/lib-next/theme/TOCItems/index.js +85 -0
  162. package/lib-next/theme/Tabs/__tests__/index.test.js +142 -0
  163. package/lib-next/theme/Tabs/index.js +91 -43
  164. package/lib-next/theme/Tabs/styles.module.css +0 -13
  165. package/lib-next/theme/Tag/index.js +27 -0
  166. package/lib-next/theme/Tag/styles.module.css +70 -0
  167. package/lib-next/theme/TagsListByLetter/index.js +42 -0
  168. package/lib-next/theme/TagsListByLetter/styles.module.css +11 -0
  169. package/lib-next/theme/TagsListInline/index.js +31 -0
  170. package/lib-next/theme/TagsListInline/styles.module.css +15 -0
  171. package/lib-next/theme/ThemedImage/index.js +3 -3
  172. package/lib-next/theme/Toggle/index.js +20 -15
  173. package/lib-next/theme/Toggle/styles.module.css +91 -0
  174. package/lib-next/theme/hooks/useHideableNavbar.js +31 -47
  175. package/lib-next/theme/hooks/useTheme.js +2 -2
  176. package/lib-next/theme/hooks/useWindowSize.js +2 -6
  177. package/lib-next/theme/prism-include-languages.js +2 -1
  178. package/lib-next/translations.js +6 -10
  179. package/lib-next/types.d.ts +216 -105
  180. package/lib-next/validateThemeConfig.js +40 -36
  181. package/package.json +23 -19
  182. package/src/__tests__/validateThemeConfig.test.js +154 -4
  183. package/src/index.ts +11 -9
  184. package/src/{prism-include-languages.js → prism-include-languages.ts} +0 -0
  185. package/src/theme/AnnouncementBar/index.tsx +8 -12
  186. package/src/theme/AnnouncementBar/styles.module.css +23 -32
  187. package/src/theme/BackToTopButton/index.tsx +39 -17
  188. package/src/theme/BackToTopButton/styles.module.css +17 -14
  189. package/src/theme/BlogArchivePage/index.tsx +91 -0
  190. package/src/theme/BlogLayout/index.tsx +4 -8
  191. package/src/theme/BlogListPage/index.tsx +1 -0
  192. package/src/theme/BlogPostAuthor/index.tsx +49 -0
  193. package/src/theme/BlogPostAuthor/styles.module.css +12 -0
  194. package/src/theme/BlogPostAuthors/index.tsx +36 -0
  195. package/src/theme/BlogPostAuthors/styles.module.css +11 -0
  196. package/src/theme/BlogPostItem/index.tsx +70 -80
  197. package/src/theme/BlogPostPage/index.tsx +57 -8
  198. package/src/theme/BlogSidebar/styles.module.css +2 -2
  199. package/src/theme/BlogTagsListPage/index.tsx +7 -41
  200. package/src/theme/BlogTagsPostsPage/index.tsx +3 -4
  201. package/src/theme/CodeBlock/index.tsx +63 -47
  202. package/src/theme/CodeBlock/styles.module.css +1 -2
  203. package/src/theme/DocItem/index.tsx +27 -46
  204. package/src/theme/DocItem/styles.module.css +2 -12
  205. package/src/theme/DocItemFooter/index.tsx +91 -0
  206. package/src/theme/DocItemFooter/styles.module.css +18 -0
  207. package/src/theme/DocPage/index.tsx +16 -12
  208. package/src/theme/DocSidebar/index.tsx +20 -16
  209. package/src/theme/DocSidebarItem/index.tsx +29 -10
  210. package/src/theme/DocTagDocListPage/index.tsx +89 -0
  211. package/src/theme/DocTagsListPage/index.tsx +41 -0
  212. package/src/theme/DocVersionBanner/index.tsx +26 -15
  213. package/src/theme/EditThisPage/index.tsx +6 -1
  214. package/src/theme/Footer/index.tsx +16 -3
  215. package/src/theme/Heading/index.tsx +10 -13
  216. package/src/theme/Heading/styles.css +4 -6
  217. package/src/theme/Heading/styles.module.css +9 -5
  218. package/src/theme/IconClose/index.tsx +26 -0
  219. package/src/theme/LastUpdated/index.tsx +3 -2
  220. package/src/theme/LayoutHead/index.tsx +9 -9
  221. package/src/theme/LayoutProviders/index.tsx +8 -5
  222. package/src/theme/Logo/index.tsx +19 -15
  223. package/src/theme/MDXComponents/index.tsx +20 -1
  224. package/src/theme/MDXComponents/styles.css +11 -0
  225. package/src/theme/MDXPage/index.tsx +10 -2
  226. package/src/theme/Navbar/index.tsx +26 -2
  227. package/src/theme/Navbar/styles.module.css +5 -1
  228. package/src/theme/NavbarItem/DefaultNavbarItem.tsx +15 -4
  229. package/src/theme/NavbarItem/DocNavbarItem.tsx +9 -5
  230. package/src/theme/NavbarItem/DocsVersionDropdownNavbarItem.tsx +15 -6
  231. package/src/theme/NavbarItem/DocsVersionNavbarItem.tsx +7 -3
  232. package/src/theme/NavbarItem/DropdownNavbarItem.tsx +4 -6
  233. package/src/theme/NavbarItem/{LocaleDropdownNavbarItem.tsx → LocaleDropdownNavbarItem/index.tsx} +6 -5
  234. package/src/theme/NavbarItem/LocaleDropdownNavbarItem/styles.module.css +11 -0
  235. package/src/theme/NavbarItem/index.tsx +6 -1
  236. package/src/theme/Seo/index.tsx +7 -4
  237. package/src/theme/TOC/index.tsx +13 -38
  238. package/src/theme/TOC/styles.module.css +1 -1
  239. package/src/theme/TOCCollapsible/index.tsx +8 -2
  240. package/src/theme/TOCInline/index.tsx +13 -32
  241. package/src/theme/TOCItems/index.tsx +96 -0
  242. package/src/theme/Tabs/__tests__/index.test.tsx +129 -0
  243. package/src/theme/Tabs/index.tsx +93 -49
  244. package/src/theme/Tabs/styles.module.css +0 -13
  245. package/src/theme/Tag/index.tsx +31 -0
  246. package/src/theme/Tag/styles.module.css +70 -0
  247. package/src/theme/TagsListByLetter/index.tsx +45 -0
  248. package/src/theme/TagsListByLetter/styles.module.css +11 -0
  249. package/src/theme/TagsListInline/index.tsx +35 -0
  250. package/src/theme/TagsListInline/styles.module.css +15 -0
  251. package/src/theme/ThemedImage/index.tsx +3 -3
  252. package/src/theme/Toggle/index.tsx +20 -15
  253. package/src/theme/Toggle/styles.module.css +91 -0
  254. package/src/theme/hooks/useContextualSearchFilters.ts +1 -1
  255. package/src/theme/hooks/useHideableNavbar.ts +32 -47
  256. package/src/theme/hooks/useTabGroupChoice.ts +2 -2
  257. package/src/theme/hooks/useTheme.ts +2 -2
  258. package/src/theme/hooks/useWindowSize.ts +2 -7
  259. package/src/theme/prism-include-languages.ts +3 -2
  260. package/src/translations.ts +6 -10
  261. package/src/types.d.ts +216 -105
  262. package/src/{validateThemeConfig.js → validateThemeConfig.ts} +46 -12
  263. package/tsconfig.json +0 -1
  264. package/update-code-translations.js +5 -4
  265. package/update-code-translations.test.js +1 -1
  266. package/update.js +151 -0
  267. package/lib/theme/Toggle/styles.css +0 -103
  268. package/lib/theme/hooks/useScrollPosition.js +0 -51
  269. package/lib/theme/hooks/useTOCHighlight.js +0 -87
  270. package/lib-next/theme/Toggle/styles.css +0 -103
  271. package/lib-next/theme/hooks/useScrollPosition.js +0 -42
  272. package/lib-next/theme/hooks/useTOCHighlight.js +0 -84
  273. package/src/theme/Toggle/styles.css +0 -103
  274. package/src/theme/hooks/useScrollPosition.ts +0 -52
  275. package/src/theme/hooks/useTOCHighlight.ts +0 -98
@@ -7,6 +7,8 @@ exports.default = void 0;
7
7
 
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
 
10
+ var _Seo = _interopRequireDefault(require("@theme/Seo"));
11
+
10
12
  var _BlogLayout = _interopRequireDefault(require("@theme/BlogLayout"));
11
13
 
12
14
  var _BlogPostItem = _interopRequireDefault(require("@theme/BlogPostItem"));
@@ -15,6 +17,8 @@ var _BlogPostPaginator = _interopRequireDefault(require("@theme/BlogPostPaginato
15
17
 
16
18
  var _themeCommon = require("@docusaurus/theme-common");
17
19
 
20
+ var _TOC = _interopRequireDefault(require("@theme/TOC"));
21
+
18
22
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
23
 
20
24
  /**
@@ -24,27 +28,52 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
24
28
  * LICENSE file in the root directory of this source tree.
25
29
  */
26
30
  function BlogPostPage(props) {
31
+ var _assets$image;
32
+
27
33
  const {
28
34
  content: BlogPostContents,
29
35
  sidebar
30
36
  } = props;
31
37
  const {
38
+ // TODO this frontmatter is not validated/normalized, it's the raw user-provided one. We should expose normalized one too!
32
39
  frontMatter,
40
+ assets,
33
41
  metadata
34
42
  } = BlogPostContents;
35
43
  const {
36
44
  title,
37
45
  description,
38
46
  nextItem,
39
- prevItem
47
+ prevItem,
48
+ date,
49
+ tags,
50
+ authors
40
51
  } = metadata;
41
52
  const {
42
- hide_table_of_contents: hideTableOfContents
53
+ hide_table_of_contents: hideTableOfContents,
54
+ keywords,
55
+ toc_min_heading_level: tocMinHeadingLevel,
56
+ toc_max_heading_level: tocMaxHeadingLevel
43
57
  } = frontMatter;
44
- return <_BlogLayout.default title={title} description={description} wrapperClassName={_themeCommon.ThemeClassNames.wrapper.blogPages} pageClassName={_themeCommon.ThemeClassNames.page.blogPostPage} sidebar={sidebar} toc={!hideTableOfContents && BlogPostContents.toc ? BlogPostContents.toc : undefined}>
45
- <_BlogPostItem.default frontMatter={frontMatter} metadata={metadata} isBlogPostPage>
58
+ const image = (_assets$image = assets.image) !== null && _assets$image !== void 0 ? _assets$image : frontMatter.image;
59
+ return <_BlogLayout.default wrapperClassName={_themeCommon.ThemeClassNames.wrapper.blogPages} pageClassName={_themeCommon.ThemeClassNames.page.blogPostPage} sidebar={sidebar} toc={!hideTableOfContents && BlogPostContents.toc && BlogPostContents.toc.length > 0 ? <_TOC.default toc={BlogPostContents.toc} minHeadingLevel={tocMinHeadingLevel} maxHeadingLevel={tocMaxHeadingLevel} /> : undefined}>
60
+ <_Seo.default // TODO refactor needed: it's a bit annoying but Seo MUST be inside BlogLayout
61
+ // otherwise default image (set by BlogLayout) would shadow the custom blog post image
62
+ title={title} description={description} keywords={keywords} image={image}>
63
+ <meta property="og:type" content="article" />
64
+ <meta property="article:published_time" content={date} />
65
+
66
+ {
67
+ /* TODO double check those article metas array syntaxes, see https://ogp.me/#array */
68
+ }
69
+ {authors.some(author => author.url) && <meta property="article:author" content={authors.map(author => author.url).filter(Boolean).join(',')} />}
70
+ {tags.length > 0 && <meta property="article:tag" content={tags.map(tag => tag.label).join(',')} />}
71
+ </_Seo.default>
72
+
73
+ <_BlogPostItem.default frontMatter={frontMatter} assets={assets} metadata={metadata} isBlogPostPage>
46
74
  <BlogPostContents />
47
75
  </_BlogPostItem.default>
76
+
48
77
  {(nextItem || prevItem) && <_BlogPostPaginator.default nextItem={nextItem} prevItem={prevItem} />}
49
78
  </_BlogLayout.default>;
50
79
  }
@@ -34,10 +34,10 @@
34
34
  text-decoration: none;
35
35
  }
36
36
  .sidebarItemLinkActive {
37
- color: var(--ifm-color-primary);
37
+ color: var(--ifm-color-primary) !important;
38
38
  }
39
39
 
40
- @media only screen and (max-width: 996px) {
40
+ @media (max-width: 996px) {
41
41
  .sidebar {
42
42
  display: none;
43
43
  }
@@ -7,11 +7,9 @@ exports.default = void 0;
7
7
 
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
 
10
- var _Link = _interopRequireDefault(require("@docusaurus/Link"));
11
-
12
10
  var _BlogLayout = _interopRequireDefault(require("@theme/BlogLayout"));
13
11
 
14
- var _Translate = require("@docusaurus/Translate");
12
+ var _TagsListByLetter = _interopRequireDefault(require("@theme/TagsListByLetter"));
15
13
 
16
14
  var _themeCommon = require("@docusaurus/theme-common");
17
15
 
@@ -23,41 +21,18 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
23
21
  * This source code is licensed under the MIT license found in the
24
22
  * LICENSE file in the root directory of this source tree.
25
23
  */
26
- function getCategoryOfTag(tag) {
27
- // tag's category should be customizable
28
- return tag[0].toUpperCase();
29
- }
30
-
31
24
  function BlogTagsListPage(props) {
32
25
  const {
33
26
  tags,
34
27
  sidebar
35
28
  } = props;
36
- const title = (0, _Translate.translate)({
37
- id: 'theme.tags.tagsPageTitle',
38
- message: 'Tags',
39
- description: 'The title of the tag list page'
40
- });
41
- const tagCategories = {};
42
- Object.keys(tags).forEach(tag => {
43
- const category = getCategoryOfTag(tag);
44
- tagCategories[category] = tagCategories[category] || [];
45
- tagCategories[category].push(tag);
46
- });
47
- const tagsList = Object.entries(tagCategories).sort(([a], [b]) => a.localeCompare(b));
48
- const tagsSection = tagsList.map(([category, tagsForCategory]) => <article key={category}>
49
- <h2>{category}</h2>
50
- {tagsForCategory.map(tag => <_Link.default className="padding-right--md" href={tags[tag].permalink} key={tag}>
51
- {tags[tag].name} ({tags[tag].count})
52
- </_Link.default>)}
53
- <hr />
54
- </article>).filter(item => item != null);
29
+ const title = (0, _themeCommon.translateTagsPageTitle)();
55
30
  return <_BlogLayout.default title={title} wrapperClassName={_themeCommon.ThemeClassNames.wrapper.blogPages} pageClassName={_themeCommon.ThemeClassNames.page.blogTagsListPage} searchMetadatas={{
56
31
  // assign unique search tag to exclude this page from search results!
57
32
  tag: 'blog_tags_list'
58
33
  }} sidebar={sidebar}>
59
34
  <h1>{title}</h1>
60
- <section className="margin-vert--lg">{tagsSection}</section>
35
+ <_TagsListByLetter.default tags={Object.values(tags)} />
61
36
  </_BlogLayout.default>;
62
37
  }
63
38
 
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = void 0;
6
+ exports.default = BlogTagsPostsPage;
7
7
 
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
 
@@ -43,7 +43,7 @@ function useBlogPostsPlural() {
43
43
  }));
44
44
  }
45
45
 
46
- function BlogTagsPostPage(props) {
46
+ function BlogTagsPostsPage(props) {
47
47
  const {
48
48
  metadata,
49
49
  items,
@@ -63,7 +63,7 @@ function BlogTagsPostPage(props) {
63
63
  nPosts: blogPostsPlural(count),
64
64
  tagName
65
65
  });
66
- return <_BlogLayout.default title={title} wrapperClassName={_themeCommon.ThemeClassNames.wrapper.blogPages} pageClassName={_themeCommon.ThemeClassNames.page.blogTagsPostPage} searchMetadatas={{
66
+ return <_BlogLayout.default title={title} wrapperClassName={_themeCommon.ThemeClassNames.wrapper.blogPages} pageClassName={_themeCommon.ThemeClassNames.page.blogTagPostListPage} searchMetadatas={{
67
67
  // assign unique search tag to exclude this page from search results!
68
68
  tag: 'blog_tags_posts'
69
69
  }} sidebar={sidebar}>
@@ -79,11 +79,8 @@ function BlogTagsPostPage(props) {
79
79
 
80
80
  {items.map(({
81
81
  content: BlogPostContent
82
- }) => <_BlogPostItem.default key={BlogPostContent.metadata.permalink} frontMatter={BlogPostContent.frontMatter} metadata={BlogPostContent.metadata} truncated>
82
+ }) => <_BlogPostItem.default key={BlogPostContent.metadata.permalink} frontMatter={BlogPostContent.frontMatter} assets={BlogPostContent.assets} metadata={BlogPostContent.metadata} truncated>
83
83
  <BlogPostContent />
84
84
  </_BlogPostItem.default>)}
85
85
  </_BlogLayout.default>;
86
- }
87
-
88
- var _default = BlogTagsPostPage;
89
- exports.default = _default;
86
+ }
@@ -35,36 +35,43 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
35
35
  * This source code is licensed under the MIT license found in the
36
36
  * LICENSE file in the root directory of this source tree.
37
37
  */
38
- const highlightLinesRangeRegex = /{([\d,-]+)}/;
39
-
40
- const getHighlightDirectiveRegex = (languages = ['js', 'jsBlock', 'jsx', 'python', 'html']) => {
41
- // supported types of comments
42
- const comments = {
43
- js: {
44
- start: '\\/\\/',
45
- end: ''
46
- },
47
- jsBlock: {
48
- start: '\\/\\*',
49
- end: '\\*\\/'
50
- },
51
- jsx: {
52
- start: '\\{\\s*\\/\\*',
53
- end: '\\*\\/\\s*\\}'
54
- },
55
- python: {
56
- start: '#',
57
- end: ''
58
- },
59
- html: {
60
- start: '<!--',
61
- end: '-->'
62
- }
63
- }; // supported directives
38
+ const HighlightLinesRangeRegex = /{([\d,-]+)}/;
39
+ const HighlightLanguages = ['js', 'jsBlock', 'jsx', 'python', 'html'];
40
+ // Supported types of highlight comments
41
+ const HighlightComments = {
42
+ js: {
43
+ start: '\\/\\/',
44
+ end: ''
45
+ },
46
+ jsBlock: {
47
+ start: '\\/\\*',
48
+ end: '\\*\\/'
49
+ },
50
+ jsx: {
51
+ start: '\\{\\s*\\/\\*',
52
+ end: '\\*\\/\\s*\\}'
53
+ },
54
+ python: {
55
+ start: '#',
56
+ end: ''
57
+ },
58
+ html: {
59
+ start: '<!--',
60
+ end: '-->'
61
+ }
62
+ }; // Supported highlight directives
64
63
 
65
- const directives = ['highlight-next-line', 'highlight-start', 'highlight-end'].join('|'); // to be more reliable, the opening and closing comment must match
64
+ const HighlightDirectives = ['highlight-next-line', 'highlight-start', 'highlight-end'];
66
65
 
67
- const commentPattern = languages.map(lang => `(?:${comments[lang].start}\\s*(${directives})\\s*${comments[lang].end})`).join('|'); // white space is allowed, but otherwise it should be on it's own line
66
+ const getHighlightDirectiveRegex = (languages = HighlightLanguages) => {
67
+ // to be more reliable, the opening and closing comment must match
68
+ const commentPattern = languages.map(lang => {
69
+ const {
70
+ start,
71
+ end
72
+ } = HighlightComments[lang];
73
+ return `(?:${start}\\s*(${HighlightDirectives.join('|')})\\s*${end})`;
74
+ }).join('|'); // white space is allowed, but otherwise it should be on it's own line
68
75
 
69
76
  return new RegExp(`^\\s*(?:${commentPattern})\\s*$`);
70
77
  }; // select comment styles based on language
@@ -97,7 +104,7 @@ const highlightDirectiveRegex = lang => {
97
104
 
98
105
  function CodeBlock({
99
106
  children,
100
- className: languageClassName,
107
+ className: blockClassName,
101
108
  metastring,
102
109
  title
103
110
  }) {
@@ -126,15 +133,14 @@ function CodeBlock({
126
133
 
127
134
  const content = Array.isArray(children) ? children.join('') : children;
128
135
 
129
- if (metastring && highlightLinesRangeRegex.test(metastring)) {
136
+ if (metastring && HighlightLinesRangeRegex.test(metastring)) {
130
137
  // Tested above
131
- const highlightLinesRange = metastring.match(highlightLinesRangeRegex)[1];
138
+ const highlightLinesRange = metastring.match(HighlightLinesRangeRegex)[1];
132
139
  highlightLines = (0, _parseNumericRange.default)(highlightLinesRange).filter(n => n > 0);
133
140
  }
134
141
 
135
- let language = languageClassName && // Force Prism's language union type to `any` because it does not contain all available languages
136
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
137
- languageClassName.replace(/language-/, '');
142
+ const languageClassName = blockClassName === null || blockClassName === void 0 ? void 0 : blockClassName.split(' ').find(str => str.startsWith('language-'));
143
+ let language = languageClassName === null || languageClassName === void 0 ? void 0 : languageClassName.replace(/language-/, '');
138
144
 
139
145
  if (!language && prism.defaultLanguage) {
140
146
  language = prism.defaultLanguage;
@@ -200,7 +206,7 @@ function CodeBlock({
200
206
  tokens,
201
207
  getLineProps,
202
208
  getTokenProps
203
- }) => <div className={_stylesModule.default.codeBlockContainer}>
209
+ }) => <div className={(0, _clsx.default)(_stylesModule.default.codeBlockContainer, blockClassName === null || blockClassName === void 0 ? void 0 : blockClassName.replace(/language-[^ ]+/, ''))}>
204
210
  {codeBlockTitle && <div style={style} className={_stylesModule.default.codeBlockTitle}>
205
211
  {codeBlockTitle}
206
212
  </div>}
@@ -210,8 +216,8 @@ function CodeBlock({
210
216
  tabIndex={0} className={(0, _clsx.default)(className, _stylesModule.default.codeBlock, 'thin-scrollbar')} style={style}>
211
217
  <code className={_stylesModule.default.codeBlockLines}>
212
218
  {tokens.map((line, i) => {
213
- if (line.length === 1 && line[0].content === '') {
214
- line[0].content = '\n'; // eslint-disable-line no-param-reassign
219
+ if (line.length === 1 && line[0].content === '\n') {
220
+ line[0].content = '';
215
221
  }
216
222
 
217
223
  const lineProps = getLineProps({
@@ -228,6 +234,7 @@ function CodeBlock({
228
234
  token,
229
235
  key
230
236
  })} />)}
237
+ <br />
231
238
  </span>;
232
239
  })}
233
240
  </code>
@@ -52,11 +52,10 @@
52
52
 
53
53
  .codeBlockLines {
54
54
  font: inherit;
55
+ /*rtl:ignore*/
55
56
  float: left;
56
57
  min-width: 100%;
57
58
  padding: var(--ifm-pre-padding);
58
- display: flex;
59
- flex-direction: column;
60
59
  }
61
60
 
62
61
  @media print {
@@ -3,14 +3,12 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = void 0;
6
+ exports.default = DocItem;
7
7
 
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
 
10
10
  var _clsx = _interopRequireDefault(require("clsx"));
11
11
 
12
- var _useDocs = require("@theme/hooks/useDocs");
13
-
14
12
  var _useWindowSize = _interopRequireDefault(require("@theme/hooks/useWindowSize"));
15
13
 
16
14
  var _DocPaginator = _interopRequireDefault(require("@theme/DocPaginator"));
@@ -19,18 +17,18 @@ var _DocVersionBanner = _interopRequireDefault(require("@theme/DocVersionBanner"
19
17
 
20
18
  var _Seo = _interopRequireDefault(require("@theme/Seo"));
21
19
 
22
- var _LastUpdated = _interopRequireDefault(require("@theme/LastUpdated"));
20
+ var _DocItemFooter = _interopRequireDefault(require("@theme/DocItemFooter"));
23
21
 
24
22
  var _TOC = _interopRequireDefault(require("@theme/TOC"));
25
23
 
26
24
  var _TOCCollapsible = _interopRequireDefault(require("@theme/TOCCollapsible"));
27
25
 
28
- var _EditThisPage = _interopRequireDefault(require("@theme/EditThisPage"));
29
-
30
26
  var _Heading = require("@theme/Heading");
31
27
 
32
28
  var _stylesModule = _interopRequireDefault(require("./styles.module.css"));
33
29
 
30
+ var _themeCommon = require("@docusaurus/theme-common");
31
+
34
32
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
35
33
 
36
34
  /**
@@ -52,26 +50,14 @@ function DocItem(props) {
52
50
  image,
53
51
  keywords,
54
52
  hide_title: hideTitle,
55
- hide_table_of_contents: hideTableOfContents
53
+ hide_table_of_contents: hideTableOfContents,
54
+ toc_min_heading_level: tocMinHeadingLevel,
55
+ toc_max_heading_level: tocMaxHeadingLevel
56
56
  } = frontMatter;
57
57
  const {
58
58
  description,
59
- title,
60
- editUrl,
61
- lastUpdatedAt,
62
- formattedLastUpdatedAt,
63
- lastUpdatedBy
64
- } = metadata;
65
- const {
66
- pluginId
67
- } = (0, _useDocs.useActivePlugin)({
68
- failfast: true
69
- });
70
- const versions = (0, _useDocs.useVersions)(pluginId); // If site is not versioned or only one version is included
71
- // we don't show the version badge
72
- // See https://github.com/facebook/docusaurus/issues/3362
73
-
74
- const showVersionBadge = versions.length > 1; // We only add a title if:
59
+ title
60
+ } = metadata; // We only add a title if:
75
61
  // - user asks to hide it with frontmatter
76
62
  // - the markdown content does not already contain a top-level h1 heading
77
63
 
@@ -94,13 +80,13 @@ function DocItem(props) {
94
80
  <_DocVersionBanner.default versionMetadata={versionMetadata} />
95
81
  <div className={_stylesModule.default.docItemContainer}>
96
82
  <article>
97
- {showVersionBadge && <span className="badge badge--secondary">
83
+ {versionMetadata.badge && <span className={(0, _clsx.default)(_themeCommon.ThemeClassNames.docs.docVersionBadge, 'badge badge--secondary')}>
98
84
  Version: {versionMetadata.label}
99
85
  </span>}
100
86
 
101
- {canRenderTOC && <_TOCCollapsible.default toc={DocContent.toc} className={_stylesModule.default.tocMobile} />}
87
+ {canRenderTOC && <_TOCCollapsible.default toc={DocContent.toc} minHeadingLevel={tocMinHeadingLevel} maxHeadingLevel={tocMaxHeadingLevel} className={(0, _clsx.default)(_themeCommon.ThemeClassNames.docs.docTocMobile, _stylesModule.default.tocMobile)} />}
102
88
 
103
- <div className="markdown">
89
+ <div className={(0, _clsx.default)(_themeCommon.ThemeClassNames.docs.docMarkdown, 'markdown')}>
104
90
  {
105
91
  /*
106
92
  Title can be declared inside md content or declared through frontmatter and added manually
@@ -113,26 +99,15 @@ function DocItem(props) {
113
99
  <DocContent />
114
100
  </div>
115
101
 
116
- {(editUrl || lastUpdatedAt || lastUpdatedBy) && <footer className="row docusaurus-mt-lg">
117
- <div className="col">
118
- {editUrl && <_EditThisPage.default editUrl={editUrl} />}
119
- </div>
120
-
121
- <div className={(0, _clsx.default)('col', _stylesModule.default.lastUpdated)}>
122
- {(lastUpdatedAt || lastUpdatedBy) && <_LastUpdated.default lastUpdatedAt={lastUpdatedAt} formattedLastUpdatedAt={formattedLastUpdatedAt} lastUpdatedBy={lastUpdatedBy} />}
123
- </div>
124
- </footer>}
102
+ <_DocItemFooter.default {...props} />
125
103
  </article>
126
104
 
127
105
  <_DocPaginator.default metadata={metadata} />
128
106
  </div>
129
107
  </div>
130
108
  {renderTocDesktop && <div className="col col--3">
131
- <_TOC.default toc={DocContent.toc} />
109
+ <_TOC.default toc={DocContent.toc} minHeadingLevel={tocMinHeadingLevel} maxHeadingLevel={tocMaxHeadingLevel} className={_themeCommon.ThemeClassNames.docs.docTocDesktop} />
132
110
  </div>}
133
111
  </div>
134
112
  </>;
135
- }
136
-
137
- var _default = DocItem;
138
- exports.default = _default;
113
+ }
@@ -5,26 +5,16 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- .docItemContainer article *:first-child,
8
+ .docItemContainer article > *:first-child,
9
9
  .docItemContainer header + * {
10
10
  margin-top: 0;
11
11
  }
12
12
 
13
- .lastUpdated {
14
- margin-top: 0.2rem;
15
- font-style: italic;
16
- font-size: smaller;
17
- }
18
-
19
- @media only screen and (min-width: 997px) {
13
+ @media (min-width: 997px) {
20
14
  .docItemCol {
21
15
  max-width: 75% !important;
22
16
  }
23
17
 
24
- .lastUpdated {
25
- text-align: right;
26
- }
27
-
28
18
  /* Prevent hydration FOUC, as the mobile TOC needs to be server-rendered */
29
19
  .tocMobile {
30
20
  display: none;
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = DocItemFooter;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _clsx = _interopRequireDefault(require("clsx"));
11
+
12
+ var _LastUpdated = _interopRequireDefault(require("@theme/LastUpdated"));
13
+
14
+ var _EditThisPage = _interopRequireDefault(require("@theme/EditThisPage"));
15
+
16
+ var _TagsListInline = _interopRequireDefault(require("@theme/TagsListInline"));
17
+
18
+ var _stylesModule = _interopRequireDefault(require("./styles.module.css"));
19
+
20
+ var _themeCommon = require("@docusaurus/theme-common");
21
+
22
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
+
24
+ /**
25
+ * Copyright (c) Facebook, Inc. and its affiliates.
26
+ *
27
+ * This source code is licensed under the MIT license found in the
28
+ * LICENSE file in the root directory of this source tree.
29
+ */
30
+ function TagsRow(props) {
31
+ return <div className={(0, _clsx.default)(_themeCommon.ThemeClassNames.docs.docFooterTagsRow, 'row margin-bottom--sm')}>
32
+ <div className="col">
33
+ <_TagsListInline.default {...props} />
34
+ </div>
35
+ </div>;
36
+ }
37
+
38
+ function EditMetaRow({
39
+ editUrl,
40
+ lastUpdatedAt,
41
+ lastUpdatedBy,
42
+ formattedLastUpdatedAt
43
+ }) {
44
+ return <div className={(0, _clsx.default)(_themeCommon.ThemeClassNames.docs.docFooterEditMetaRow, 'row')}>
45
+ <div className="col">{editUrl && <_EditThisPage.default editUrl={editUrl} />}</div>
46
+
47
+ <div className={(0, _clsx.default)('col', _stylesModule.default.lastUpdated)}>
48
+ {(lastUpdatedAt || lastUpdatedBy) && <_LastUpdated.default lastUpdatedAt={lastUpdatedAt} formattedLastUpdatedAt={formattedLastUpdatedAt} lastUpdatedBy={lastUpdatedBy} />}
49
+ </div>
50
+ </div>;
51
+ }
52
+
53
+ function DocItemFooter(props) {
54
+ const {
55
+ content: DocContent
56
+ } = props;
57
+ const {
58
+ metadata
59
+ } = DocContent;
60
+ const {
61
+ editUrl,
62
+ lastUpdatedAt,
63
+ formattedLastUpdatedAt,
64
+ lastUpdatedBy,
65
+ tags
66
+ } = metadata;
67
+ const canDisplayTagsRow = tags.length > 0;
68
+ const canDisplayEditMetaRow = !!(editUrl || lastUpdatedAt || lastUpdatedBy);
69
+ const canDisplayFooter = canDisplayTagsRow || canDisplayEditMetaRow;
70
+
71
+ if (!canDisplayFooter) {
72
+ return <></>;
73
+ }
74
+
75
+ return <footer className={(0, _clsx.default)(_themeCommon.ThemeClassNames.docs.docFooter, 'docusaurus-mt-lg')}>
76
+ {canDisplayTagsRow && <TagsRow tags={tags} />}
77
+ {canDisplayEditMetaRow && <EditMetaRow editUrl={editUrl} lastUpdatedAt={lastUpdatedAt} lastUpdatedBy={lastUpdatedBy} formattedLastUpdatedAt={formattedLastUpdatedAt} />}
78
+ </footer>;
79
+ }
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ .lastUpdated {
9
+ margin-top: 0.2rem;
10
+ font-style: italic;
11
+ font-size: smaller;
12
+ }
13
+
14
+ @media (min-width: 997px) {
15
+ .lastUpdated {
16
+ text-align: right;
17
+ }
18
+ }
@@ -9,8 +9,6 @@ var _react = _interopRequireWildcard(require("react"));
9
9
 
10
10
  var _react2 = require("@mdx-js/react");
11
11
 
12
- var _useDocusaurusContext = _interopRequireDefault(require("@docusaurus/useDocusaurusContext"));
13
-
14
12
  var _renderRoutes = _interopRequireDefault(require("@docusaurus/renderRoutes"));
15
13
 
16
14
  var _Layout = _interopRequireDefault(require("@theme/Layout"));
@@ -35,6 +33,8 @@ var _stylesModule = _interopRequireDefault(require("./styles.module.css"));
35
33
 
36
34
  var _themeCommon = require("@docusaurus/theme-common");
37
35
 
36
+ var _Head = _interopRequireDefault(require("@docusaurus/Head"));
37
+
38
38
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
39
39
 
40
40
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
@@ -52,9 +52,6 @@ function DocPageContent({
52
52
  versionMetadata,
53
53
  children
54
54
  }) {
55
- const {
56
- isClient
57
- } = (0, _useDocusaurusContext.default)();
58
55
  const {
59
56
  pluginId,
60
57
  version
@@ -68,9 +65,9 @@ function DocPageContent({
68
65
  setHiddenSidebar(false);
69
66
  }
70
67
 
71
- setHiddenSidebarContainer(!hiddenSidebarContainer);
68
+ setHiddenSidebarContainer(value => !value);
72
69
  }, [hiddenSidebar]);
73
- return <_Layout.default key={isClient} wrapperClassName={_themeCommon.ThemeClassNames.wrapper.docPages} pageClassName={_themeCommon.ThemeClassNames.page.docPage} searchMetadatas={{
70
+ return <_Layout.default wrapperClassName={_themeCommon.ThemeClassNames.wrapper.docsPages} pageClassName={_themeCommon.ThemeClassNames.page.docsDocPage} searchMetadatas={{
74
71
  version,
75
72
  tag: (0, _themeCommon.docVersionSearchTag)(pluginId, version)
76
73
  }}>
@@ -128,14 +125,22 @@ function DocPage(props) {
128
125
  const currentDocRoute = docRoutes.find(docRoute => (0, _router.matchPath)(location.pathname, docRoute));
129
126
 
130
127
  if (!currentDocRoute) {
131
- return <_NotFound.default {...props} />;
128
+ return <_NotFound.default />;
132
129
  }
133
130
 
134
- return <DocPageContent currentDocRoute={currentDocRoute} versionMetadata={versionMetadata}>
135
- {(0, _renderRoutes.default)(docRoutes, {
136
- versionMetadata
137
- })}
138
- </DocPageContent>;
131
+ return <>
132
+ <_Head.default>
133
+ {
134
+ /* TODO we should add a core addRoute({htmlClassName}) generic plugin option */
135
+ }
136
+ <html className={versionMetadata.className} />
137
+ </_Head.default>
138
+ <DocPageContent currentDocRoute={currentDocRoute} versionMetadata={versionMetadata}>
139
+ {(0, _renderRoutes.default)(docRoutes, {
140
+ versionMetadata
141
+ })}
142
+ </DocPageContent>
143
+ </>;
139
144
  }
140
145
 
141
146
  var _default = DocPage;