@docusaurus/theme-classic 2.0.0-beta.1decd6f80 → 2.0.0-beta.20
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.
- package/README.md +2 -2
- package/lib/admonitions.css +39 -0
- package/lib/deps.d.ts +13 -0
- package/lib/getSwizzleConfig.js +243 -0
- package/lib/index.js +65 -54
- package/lib/nprogress.css +41 -0
- package/lib/nprogress.js +46 -0
- package/lib/prism-include-languages.js +9 -5
- package/lib/theme-classic.d.ts +1279 -0
- package/lib/translations.js +52 -36
- package/lib/validateThemeConfig.js +298 -248
- package/lib-next/theme/Admonition/index.js +101 -0
- package/lib-next/theme/AnnouncementBar/index.js +10 -22
- package/lib-next/theme/AnnouncementBar/styles.module.css +26 -35
- package/lib-next/theme/BackToTopButton/index.js +33 -0
- package/lib-next/theme/BackToTopButton/styles.module.css +44 -0
- package/lib-next/theme/BlogArchivePage/index.js +84 -0
- package/lib-next/theme/BlogLayout/index.js +33 -0
- package/lib-next/theme/BlogListPage/index.js +45 -35
- package/lib-next/theme/BlogListPaginator/index.js +27 -33
- package/lib-next/theme/BlogPostAuthor/index.js +49 -0
- package/lib-next/theme/BlogPostAuthors/index.js +44 -0
- package/lib-next/theme/BlogPostAuthors/styles.module.css +21 -0
- package/lib-next/theme/BlogPostItem/index.js +112 -97
- package/lib-next/theme/BlogPostItem/styles.module.css +14 -1
- package/lib-next/theme/BlogPostPage/index.js +84 -41
- package/lib-next/theme/BlogPostPaginator/index.js +28 -38
- package/lib-next/theme/BlogSidebar/Desktop/index.js +41 -0
- package/{lib/theme/BlogSidebar → lib-next/theme/BlogSidebar/Desktop}/styles.module.css +8 -9
- package/lib-next/theme/BlogSidebar/Mobile/index.js +36 -0
- package/lib-next/theme/BlogSidebar/index.js +11 -24
- package/lib-next/theme/BlogTagsListPage/index.js +24 -71
- package/lib-next/theme/BlogTagsPostsPage/index.js +55 -62
- package/lib-next/theme/CodeBlock/Container/index.js +29 -0
- package/lib-next/theme/CodeBlock/Container/styles.module.css +14 -0
- package/lib-next/theme/CodeBlock/Content/Element.js +23 -0
- package/lib-next/theme/CodeBlock/Content/String.js +104 -0
- package/{src/theme/CodeBlock → lib-next/theme/CodeBlock/Content}/styles.module.css +47 -32
- package/lib-next/theme/CodeBlock/CopyButton/index.js +61 -0
- package/lib-next/theme/CodeBlock/CopyButton/styles.module.css +47 -0
- package/lib-next/theme/CodeBlock/Line/index.js +49 -0
- package/lib-next/theme/CodeBlock/Line/styles.module.css +51 -0
- package/lib-next/theme/CodeBlock/WordWrapButton/index.js +40 -0
- package/lib-next/theme/CodeBlock/WordWrapButton/styles.module.css +15 -0
- package/lib-next/theme/CodeBlock/index.js +28 -255
- package/lib-next/theme/ColorModeToggle/index.js +62 -0
- package/lib-next/theme/ColorModeToggle/styles.module.css +35 -0
- package/lib-next/theme/Details/index.js +21 -0
- package/lib-next/theme/Details/styles.module.css +13 -0
- package/lib-next/theme/DocBreadcrumbs/index.js +120 -0
- package/{lib/theme/Heading/styles.css → lib-next/theme/DocBreadcrumbs/styles.module.css} +9 -13
- package/lib-next/theme/DocCard/index.js +93 -0
- package/lib-next/theme/DocCard/styles.module.css +34 -0
- package/lib-next/theme/DocCardList/index.js +33 -0
- package/lib-next/theme/DocCategoryGeneratedIndexPage/index.js +75 -0
- package/lib-next/theme/DocCategoryGeneratedIndexPage/styles.module.css +26 -0
- package/lib-next/theme/DocItem/index.js +99 -86
- package/lib-next/theme/DocItem/styles.module.css +12 -12
- package/lib-next/theme/DocItemFooter/index.js +79 -0
- package/{lib/theme/Layout/styles.css → lib-next/theme/DocItemFooter/styles.module.css} +8 -11
- package/lib-next/theme/DocPage/Layout/Main/index.js +29 -0
- package/lib-next/theme/DocPage/Layout/Main/styles.module.css +28 -0
- package/lib-next/theme/DocPage/Layout/Sidebar/ExpandButton/index.js +34 -0
- package/lib-next/theme/DocPage/Layout/Sidebar/ExpandButton/styles.module.css +33 -0
- package/lib-next/theme/DocPage/Layout/Sidebar/index.js +68 -0
- package/lib-next/theme/DocPage/Layout/Sidebar/index.module.css +32 -0
- package/lib-next/theme/DocPage/Layout/index.js +34 -0
- package/{lib/theme/BlogPostItem/styles.module.css → lib-next/theme/DocPage/Layout/index.module.css} +5 -4
- package/lib-next/theme/DocPage/index.js +40 -133
- package/lib-next/theme/DocPaginator/index.js +29 -41
- package/lib-next/theme/DocSidebar/Desktop/CollapseButton/index.js +34 -0
- package/lib-next/theme/DocSidebar/Desktop/CollapseButton/styles.module.css +46 -0
- package/lib-next/theme/DocSidebar/Desktop/Content/index.js +46 -0
- package/lib-next/theme/DocSidebar/Desktop/Content/styles.module.css +23 -0
- package/lib-next/theme/DocSidebar/Desktop/index.js +36 -0
- package/lib-next/theme/DocSidebar/Desktop/styles.module.css +50 -0
- package/lib-next/theme/DocSidebar/Mobile/index.js +49 -0
- package/lib-next/theme/DocSidebar/index.js +13 -333
- package/lib-next/theme/DocSidebarItem/Category.js +197 -0
- package/lib-next/theme/DocSidebarItem/Html.js +27 -0
- package/lib-next/theme/DocSidebarItem/Html.module.css +13 -0
- package/lib-next/theme/DocSidebarItem/Link.js +53 -0
- package/lib-next/theme/DocSidebarItem/Link.module.css +10 -0
- package/lib-next/theme/DocSidebarItem/index.js +23 -0
- package/lib-next/theme/DocSidebarItems/index.js +23 -0
- package/lib-next/theme/DocTagDocListPage/index.js +96 -0
- package/lib-next/theme/DocTagsListPage/index.js +40 -0
- package/lib-next/theme/DocVersionBadge/index.js +34 -0
- package/lib-next/theme/{DocVersionSuggestions → DocVersionBanner}/index.js +55 -37
- package/lib-next/theme/EditThisPage/index.js +6 -1
- package/lib-next/theme/ErrorPageContent.js +35 -0
- package/lib-next/theme/Footer/Copyright/index.js +18 -0
- package/lib-next/theme/Footer/Layout/index.js +26 -0
- package/lib-next/theme/Footer/LinkItem/index.js +33 -0
- package/lib-next/theme/Footer/Links/MultiColumn/index.js +47 -0
- package/lib-next/theme/Footer/Links/Simple/index.js +41 -0
- package/lib-next/theme/Footer/Links/index.js +17 -0
- package/lib-next/theme/Footer/Logo/index.js +38 -0
- package/lib-next/theme/Footer/{styles.module.css → Logo/styles.module.css} +2 -1
- package/lib-next/theme/Footer/index.js +12 -100
- package/lib-next/theme/Heading/index.js +31 -38
- package/lib-next/theme/Heading/styles.module.css +27 -2
- package/lib-next/theme/IconArrow/index.js +3 -6
- package/lib-next/theme/IconClose/index.js +23 -0
- package/lib-next/theme/IconDarkMode/index.js +17 -0
- package/lib-next/theme/IconEdit/index.js +5 -10
- package/lib-next/theme/IconExternalLink/index.js +23 -0
- package/lib-next/theme/{LastUpdated → IconExternalLink}/styles.module.css +2 -2
- package/lib-next/theme/IconHome/index.js +17 -0
- package/lib-next/theme/IconLanguage/index.js +5 -8
- package/lib-next/theme/IconLightMode/index.js +17 -0
- package/lib-next/theme/IconMenu/index.js +8 -9
- package/lib-next/theme/LastUpdated/index.js +36 -39
- package/lib-next/theme/Layout/index.js +19 -16
- package/lib-next/theme/Layout/styles.css +6 -0
- package/lib-next/theme/LayoutProviders/index.js +22 -10
- package/lib-next/theme/Logo/index.js +21 -16
- package/lib-next/theme/{ThemeContext.js → MDXComponents/A.js} +4 -2
- package/lib-next/theme/MDXComponents/Code.js +28 -0
- package/lib-next/theme/MDXComponents/Details.js +20 -0
- package/lib-next/theme/MDXComponents/Head.js +26 -0
- package/lib-next/theme/MDXComponents/Heading.js +11 -0
- package/lib-next/theme/MDXComponents/Img.js +24 -0
- package/{lib/theme/LastUpdated/styles.module.css → lib-next/theme/MDXComponents/Img.module.css} +2 -2
- package/lib-next/theme/MDXComponents/Pre.js +18 -0
- package/lib-next/theme/MDXComponents/Ul.js +21 -0
- package/lib-next/theme/MDXComponents/index.js +22 -42
- package/lib-next/theme/MDXContent/index.js +12 -0
- package/lib-next/theme/MDXPage/index.js +38 -39
- package/{lib/theme/IconEdit → lib-next/theme/MDXPage}/styles.module.css +2 -3
- package/lib-next/theme/Navbar/ColorModeToggle/index.js +25 -0
- package/lib-next/theme/Navbar/Content/index.js +75 -0
- package/lib-next/theme/Navbar/Content/styles.module.css +15 -0
- package/lib-next/theme/Navbar/Layout/index.js +54 -0
- package/{src/theme/Navbar → lib-next/theme/Navbar/Layout}/styles.module.css +1 -7
- package/lib-next/theme/Navbar/Logo/index.js +17 -0
- package/lib-next/theme/Navbar/MobileSidebar/Header/index.js +33 -0
- package/lib-next/theme/Navbar/MobileSidebar/Layout/index.js +28 -0
- package/lib-next/theme/Navbar/MobileSidebar/PrimaryMenu/index.js +33 -0
- package/lib-next/theme/Navbar/MobileSidebar/SecondaryMenu/index.js +36 -0
- package/lib-next/theme/Navbar/MobileSidebar/Toggle/index.js +23 -0
- package/lib-next/theme/Navbar/MobileSidebar/index.js +31 -0
- package/lib-next/theme/Navbar/Search/index.js +11 -0
- package/lib-next/theme/Navbar/Search/styles.module.css +20 -0
- package/lib-next/theme/Navbar/index.js +7 -137
- package/lib-next/theme/NavbarItem/ComponentTypes.js +27 -0
- package/lib-next/theme/NavbarItem/DefaultNavbarItem.js +33 -186
- package/lib-next/theme/NavbarItem/DocNavbarItem.js +14 -14
- package/lib-next/theme/NavbarItem/DocSidebarNavbarItem.js +41 -0
- package/lib-next/theme/NavbarItem/DocsVersionDropdownNavbarItem.js +55 -45
- package/lib-next/theme/NavbarItem/DocsVersionNavbarItem.js +2 -6
- package/lib-next/theme/NavbarItem/DropdownNavbarItem.js +167 -0
- package/lib-next/theme/NavbarItem/HtmlNavbarItem.js +30 -0
- package/lib-next/theme/NavbarItem/{LocaleDropdownNavbarItem.js → LocaleDropdownNavbarItem/index.js} +16 -22
- package/lib-next/theme/NavbarItem/LocaleDropdownNavbarItem/styles.module.css +11 -0
- package/lib-next/theme/NavbarItem/NavbarNavLink.js +84 -0
- package/lib-next/theme/NavbarItem/SearchNavbarItem.js +6 -1
- package/lib-next/theme/NavbarItem/index.js +18 -25
- package/lib-next/theme/NavbarItem/utils.js +10 -0
- package/lib-next/theme/NotFound.js +40 -34
- package/lib-next/theme/PaginatorNavLink/index.js +23 -0
- package/lib-next/theme/SearchBar.js +1 -1
- package/lib-next/theme/SearchMetadata/index.js +34 -0
- package/lib-next/theme/{LayoutHead → SiteMetadata}/index.js +31 -46
- package/lib-next/theme/SkipToContent/index.js +7 -32
- package/lib-next/theme/SkipToContent/styles.module.css +8 -3
- package/lib-next/theme/TOC/index.js +12 -39
- package/lib-next/theme/TOC/styles.module.css +2 -2
- package/lib-next/theme/TOCCollapsible/CollapseButton.js +29 -0
- package/lib-next/theme/TOCCollapsible/CollapseButton.module.css +29 -0
- package/lib-next/theme/TOCCollapsible/index.js +42 -0
- package/lib-next/theme/TOCCollapsible/index.module.css +31 -0
- package/lib-next/theme/TOCInline/index.js +10 -31
- package/lib-next/theme/TOCItems/Tree.js +40 -0
- package/lib-next/theme/TOCItems/index.js +54 -0
- package/lib-next/theme/TabItem/index.js +4 -5
- package/lib-next/theme/TabItem/styles.module.css +10 -0
- package/lib-next/theme/Tabs/__tests__/index.test.js +146 -0
- package/lib-next/theme/Tabs/index.js +111 -53
- package/lib-next/theme/Tabs/styles.module.css +4 -13
- package/lib-next/theme/Tag/index.js +23 -0
- package/lib-next/theme/Tag/styles.module.css +70 -0
- package/lib-next/theme/TagsListByLetter/index.js +40 -0
- package/lib-next/theme/TagsListByLetter/styles.module.css +11 -0
- package/lib-next/theme/TagsListInline/index.js +31 -0
- package/{lib/theme/Heading → lib-next/theme/TagsListInline}/styles.module.css +7 -2
- package/lib-next/theme/ThemedImage/index.js +10 -14
- package/lib-next/theme/ThemedImage/styles.module.css +9 -2
- package/lib-next/theme/prism-include-languages.js +17 -15
- package/package.json +37 -31
- package/src/admonitions.css +39 -0
- package/src/deps.d.ts +13 -0
- package/src/getSwizzleConfig.ts +252 -0
- package/src/index.ts +76 -75
- package/src/nprogress.css +41 -0
- package/src/nprogress.ts +31 -0
- package/{lib-next/prism-include-languages.js → src/prism-include-languages.ts} +0 -0
- package/src/theme/Admonition/index.tsx +106 -0
- package/src/theme/AnnouncementBar/index.tsx +11 -20
- package/src/theme/AnnouncementBar/styles.module.css +26 -35
- package/src/theme/BackToTopButton/index.tsx +34 -0
- package/src/theme/BackToTopButton/styles.module.css +44 -0
- package/src/theme/BlogArchivePage/index.tsx +92 -0
- package/src/theme/BlogLayout/index.tsx +38 -0
- package/src/theme/BlogListPage/index.tsx +45 -35
- package/src/theme/BlogListPaginator/index.tsx +27 -32
- package/src/theme/BlogPostAuthor/index.tsx +50 -0
- package/src/theme/BlogPostAuthors/index.tsx +49 -0
- package/src/theme/BlogPostAuthors/styles.module.css +21 -0
- package/src/theme/BlogPostItem/index.tsx +103 -93
- package/src/theme/BlogPostItem/styles.module.css +14 -1
- package/src/theme/BlogPostPage/index.tsx +84 -42
- package/src/theme/BlogPostPaginator/index.tsx +28 -37
- package/src/theme/BlogSidebar/Desktop/index.tsx +45 -0
- package/{lib-next/theme/BlogSidebar → src/theme/BlogSidebar/Desktop}/styles.module.css +8 -9
- package/src/theme/BlogSidebar/Mobile/index.tsx +38 -0
- package/src/theme/BlogSidebar/index.tsx +10 -24
- package/src/theme/BlogTagsListPage/index.tsx +24 -71
- package/src/theme/BlogTagsPostsPage/index.tsx +57 -65
- package/src/theme/CodeBlock/Container/index.tsx +35 -0
- package/src/theme/CodeBlock/Container/styles.module.css +14 -0
- package/src/theme/CodeBlock/Content/Element.tsx +30 -0
- package/src/theme/CodeBlock/Content/String.tsx +111 -0
- package/{lib/theme/CodeBlock → src/theme/CodeBlock/Content}/styles.module.css +47 -32
- package/src/theme/CodeBlock/CopyButton/index.tsx +67 -0
- package/src/theme/CodeBlock/CopyButton/styles.module.css +47 -0
- package/src/theme/CodeBlock/Line/index.tsx +48 -0
- package/src/theme/CodeBlock/Line/styles.module.css +51 -0
- package/src/theme/CodeBlock/WordWrapButton/index.tsx +49 -0
- package/src/theme/CodeBlock/WordWrapButton/styles.module.css +15 -0
- package/src/theme/CodeBlock/index.tsx +29 -252
- package/src/theme/ColorModeToggle/index.tsx +67 -0
- package/src/theme/ColorModeToggle/styles.module.css +35 -0
- package/src/theme/Details/index.tsx +25 -0
- package/src/theme/Details/styles.module.css +13 -0
- package/src/theme/DocBreadcrumbs/index.tsx +140 -0
- package/src/theme/{Heading/styles.css → DocBreadcrumbs/styles.module.css} +9 -13
- package/src/theme/DocCard/index.tsx +116 -0
- package/src/theme/DocCard/styles.module.css +34 -0
- package/src/theme/DocCardList/index.tsx +36 -0
- package/src/theme/DocCategoryGeneratedIndexPage/index.tsx +86 -0
- package/src/theme/DocCategoryGeneratedIndexPage/styles.module.css +26 -0
- package/src/theme/DocItem/index.tsx +93 -79
- package/src/theme/DocItem/styles.module.css +12 -12
- package/src/theme/DocItemFooter/index.tsx +91 -0
- package/src/theme/DocItemFooter/styles.module.css +18 -0
- package/src/theme/DocPage/Layout/Main/index.tsx +37 -0
- package/src/theme/DocPage/Layout/Main/styles.module.css +28 -0
- package/src/theme/DocPage/Layout/Sidebar/ExpandButton/index.tsx +40 -0
- package/src/theme/DocPage/Layout/Sidebar/ExpandButton/styles.module.css +33 -0
- package/src/theme/DocPage/Layout/Sidebar/index.module.css +32 -0
- package/src/theme/DocPage/Layout/Sidebar/index.tsx +74 -0
- package/{lib-next/theme/hooks/styles.css → src/theme/DocPage/Layout/index.module.css} +7 -2
- package/src/theme/DocPage/Layout/index.tsx +39 -0
- package/src/theme/DocPage/index.tsx +40 -146
- package/src/theme/DocPaginator/index.tsx +29 -40
- package/src/theme/DocSidebar/Desktop/CollapseButton/index.tsx +38 -0
- package/src/theme/DocSidebar/Desktop/CollapseButton/styles.module.css +46 -0
- package/src/theme/DocSidebar/Desktop/Content/index.tsx +55 -0
- package/src/theme/DocSidebar/Desktop/Content/styles.module.css +23 -0
- package/src/theme/DocSidebar/Desktop/index.tsx +40 -0
- package/src/theme/DocSidebar/Desktop/styles.module.css +50 -0
- package/src/theme/DocSidebar/Mobile/index.tsx +54 -0
- package/src/theme/DocSidebar/index.tsx +14 -343
- package/src/theme/DocSidebarItem/Category.tsx +210 -0
- package/src/theme/DocSidebarItem/Html.module.css +13 -0
- package/src/theme/DocSidebarItem/Html.tsx +34 -0
- package/src/theme/DocSidebarItem/Link.module.css +10 -0
- package/src/theme/DocSidebarItem/Link.tsx +58 -0
- package/src/theme/DocSidebarItem/index.tsx +27 -0
- package/src/theme/DocSidebarItems/index.tsx +27 -0
- package/src/theme/DocTagDocListPage/index.tsx +96 -0
- package/src/theme/DocTagsListPage/index.tsx +44 -0
- package/src/theme/DocVersionBadge/index.tsx +35 -0
- package/src/theme/{DocVersionSuggestions → DocVersionBanner}/index.tsx +78 -49
- package/src/theme/EditThisPage/index.tsx +6 -1
- package/src/theme/ErrorPageContent.tsx +41 -0
- package/src/theme/Footer/Copyright/index.tsx +20 -0
- package/src/theme/Footer/Layout/index.tsx +34 -0
- package/src/theme/Footer/LinkItem/index.tsx +36 -0
- package/src/theme/Footer/Links/MultiColumn/index.tsx +51 -0
- package/src/theme/Footer/Links/Simple/index.tsx +42 -0
- package/src/theme/Footer/Links/index.tsx +21 -0
- package/src/theme/Footer/Logo/index.tsx +41 -0
- package/{lib/theme/Footer → src/theme/Footer/Logo}/styles.module.css +2 -1
- package/src/theme/Footer/index.tsx +13 -113
- package/src/theme/Heading/index.tsx +33 -39
- package/src/theme/Heading/styles.module.css +27 -2
- package/src/theme/IconArrow/index.tsx +3 -5
- package/src/theme/IconClose/index.tsx +26 -0
- package/src/theme/IconDarkMode/index.tsx +20 -0
- package/src/theme/IconEdit/index.tsx +8 -9
- package/src/theme/IconExternalLink/index.tsx +30 -0
- package/src/theme/IconExternalLink/styles.module.css +10 -0
- package/src/theme/IconHome/index.tsx +20 -0
- package/src/theme/IconLanguage/index.tsx +6 -8
- package/src/theme/IconLightMode/index.tsx +20 -0
- package/src/theme/IconMenu/index.tsx +4 -9
- package/src/theme/LastUpdated/index.tsx +36 -39
- package/src/theme/Layout/index.tsx +19 -15
- package/src/theme/Layout/styles.css +6 -0
- package/src/theme/LayoutProviders/index.tsx +22 -10
- package/src/theme/Logo/index.tsx +21 -15
- package/src/theme/{ThemeContext.ts → MDXComponents/A.tsx} +5 -6
- package/src/theme/MDXComponents/Code.tsx +37 -0
- package/src/theme/MDXComponents/Details.tsx +25 -0
- package/src/theme/MDXComponents/Head.tsx +29 -0
- package/src/theme/MDXComponents/Heading.tsx +14 -0
- package/src/theme/{LastUpdated/styles.module.css → MDXComponents/Img.module.css} +2 -2
- package/src/theme/MDXComponents/Img.tsx +26 -0
- package/src/theme/MDXComponents/Pre.tsx +22 -0
- package/src/theme/MDXComponents/Ul.tsx +24 -0
- package/src/theme/MDXComponents/index.tsx +23 -42
- package/src/theme/MDXContent/index.tsx +15 -0
- package/src/theme/MDXPage/index.tsx +39 -39
- package/src/theme/MDXPage/styles.module.css +10 -0
- package/src/theme/Navbar/ColorModeToggle/index.tsx +30 -0
- package/src/theme/Navbar/Content/index.tsx +86 -0
- package/src/theme/Navbar/Content/styles.module.css +15 -0
- package/src/theme/Navbar/Layout/index.tsx +57 -0
- package/{lib-next/theme/Navbar → src/theme/Navbar/Layout}/styles.module.css +1 -7
- package/src/theme/Navbar/Logo/index.tsx +19 -0
- package/src/theme/Navbar/MobileSidebar/Header/index.tsx +34 -0
- package/src/theme/Navbar/MobileSidebar/Layout/index.tsx +31 -0
- package/src/theme/Navbar/MobileSidebar/PrimaryMenu/index.tsx +38 -0
- package/src/theme/Navbar/MobileSidebar/SecondaryMenu/index.tsx +38 -0
- package/src/theme/Navbar/MobileSidebar/Toggle/index.tsx +25 -0
- package/src/theme/Navbar/MobileSidebar/index.tsx +33 -0
- package/src/theme/Navbar/Search/index.tsx +15 -0
- package/src/theme/Navbar/Search/styles.module.css +20 -0
- package/src/theme/Navbar/index.tsx +7 -147
- package/src/theme/NavbarItem/ComponentTypes.tsx +32 -0
- package/src/theme/NavbarItem/DefaultNavbarItem.tsx +37 -194
- package/src/theme/NavbarItem/DocNavbarItem.tsx +17 -18
- package/src/theme/NavbarItem/DocSidebarNavbarItem.tsx +44 -0
- package/src/theme/NavbarItem/DocsVersionDropdownNavbarItem.tsx +60 -51
- package/src/theme/NavbarItem/DocsVersionNavbarItem.tsx +5 -8
- package/src/theme/NavbarItem/DropdownNavbarItem.tsx +193 -0
- package/src/theme/NavbarItem/HtmlNavbarItem.tsx +32 -0
- package/src/theme/NavbarItem/{LocaleDropdownNavbarItem.tsx → LocaleDropdownNavbarItem/index.tsx} +19 -17
- package/src/theme/NavbarItem/LocaleDropdownNavbarItem/styles.module.css +11 -0
- package/src/theme/NavbarItem/NavbarNavLink.tsx +80 -0
- package/src/theme/NavbarItem/SearchNavbarItem.tsx +6 -1
- package/src/theme/NavbarItem/index.tsx +23 -30
- package/src/theme/NavbarItem/utils.ts +13 -0
- package/src/theme/NotFound.tsx +40 -33
- package/src/theme/PaginatorNavLink/index.tsx +26 -0
- package/src/theme/SearchBar.tsx +2 -1
- package/src/theme/SearchMetadata/index.tsx +43 -0
- package/src/theme/{LayoutHead → SiteMetadata}/index.tsx +31 -40
- package/src/theme/SkipToContent/index.tsx +7 -32
- package/src/theme/SkipToContent/styles.module.css +8 -3
- package/src/theme/TOC/index.tsx +13 -44
- package/src/theme/TOC/styles.module.css +2 -2
- package/src/theme/TOCCollapsible/CollapseButton.module.css +29 -0
- package/src/theme/TOCCollapsible/CollapseButton.tsx +35 -0
- package/src/theme/TOCCollapsible/index.module.css +31 -0
- package/src/theme/TOCCollapsible/index.tsx +45 -0
- package/src/theme/TOCInline/index.tsx +14 -35
- package/src/theme/TOCItems/Tree.tsx +46 -0
- package/src/theme/TOCItems/index.tsx +61 -0
- package/src/theme/TabItem/index.tsx +12 -4
- package/src/theme/TabItem/styles.module.css +10 -0
- package/src/theme/Tabs/index.tsx +120 -62
- package/src/theme/Tabs/styles.module.css +4 -13
- package/src/theme/Tag/index.tsx +27 -0
- package/src/theme/Tag/styles.module.css +70 -0
- package/src/theme/TagsListByLetter/index.tsx +43 -0
- package/src/theme/TagsListByLetter/styles.module.css +11 -0
- package/src/theme/TagsListInline/index.tsx +35 -0
- package/src/theme/TagsListInline/styles.module.css +15 -0
- package/src/theme/ThemedImage/index.tsx +12 -13
- package/src/theme/ThemedImage/styles.module.css +9 -2
- package/src/theme/prism-include-languages.ts +20 -15
- package/src/theme-classic.d.ts +1279 -0
- package/src/translations.ts +84 -58
- package/src/validateThemeConfig.ts +448 -0
- package/babel.config.js +0 -35
- package/codeTranslations/README.md +0 -20
- package/codeTranslations/ar.json +0 -55
- package/codeTranslations/base.json +0 -108
- package/codeTranslations/da.json +0 -55
- package/codeTranslations/de.json +0 -55
- package/codeTranslations/es.json +0 -55
- package/codeTranslations/fa.json +0 -55
- package/codeTranslations/fil.json +0 -55
- package/codeTranslations/fr.json +0 -55
- package/codeTranslations/he.json +0 -55
- package/codeTranslations/hi.json +0 -55
- package/codeTranslations/ja.json +0 -55
- package/codeTranslations/ko.json +0 -55
- package/codeTranslations/pl.json +0 -55
- package/codeTranslations/pt-BR.json +0 -55
- package/codeTranslations/pt-PT.json +0 -55
- package/codeTranslations/ru.json +0 -55
- package/codeTranslations/tr.json +0 -55
- package/codeTranslations/vi.json +0 -55
- package/codeTranslations/zh-Hans.json +0 -55
- package/codeTranslations/zh-Hant.json +0 -55
- package/lib/__tests__/__snapshots__/translations.test.ts.snap +0 -116
- package/lib/__tests__/translations.test.js +0 -112
- package/lib/__tests__/validateThemeConfig.test.js +0 -333
- package/lib/theme/AnnouncementBar/index.js +0 -74
- package/lib/theme/AnnouncementBar/styles.module.css +0 -72
- package/lib/theme/BlogListPage/index.js +0 -71
- package/lib/theme/BlogListPaginator/index.js +0 -63
- package/lib/theme/BlogPostItem/index.js +0 -152
- package/lib/theme/BlogPostPage/index.js +0 -75
- package/lib/theme/BlogPostPaginator/index.js +0 -64
- package/lib/theme/BlogSidebar/index.js +0 -43
- package/lib/theme/BlogTagsListPage/index.js +0 -81
- package/lib/theme/BlogTagsPostsPage/index.js +0 -104
- package/lib/theme/CodeBlock/index.js +0 -253
- package/lib/theme/DocItem/index.js +0 -120
- package/lib/theme/DocItem/styles.module.css +0 -28
- package/lib/theme/DocPage/index.js +0 -141
- package/lib/theme/DocPage/styles.module.css +0 -98
- package/lib/theme/DocPaginator/index.js +0 -63
- package/lib/theme/DocSidebar/index.js +0 -307
- package/lib/theme/DocSidebar/styles.module.css +0 -138
- package/lib/theme/DocVersionSuggestions/index.js +0 -111
- package/lib/theme/EditThisPage/index.js +0 -31
- package/lib/theme/Footer/index.js +0 -108
- package/lib/theme/Heading/index.js +0 -60
- package/lib/theme/IconArrow/index.js +0 -28
- package/lib/theme/IconEdit/index.js +0 -34
- package/lib/theme/IconLanguage/index.js +0 -29
- package/lib/theme/IconMenu/index.js +0 -31
- package/lib/theme/LastUpdated/index.js +0 -65
- package/lib/theme/Layout/index.js +0 -64
- package/lib/theme/LayoutHead/index.js +0 -142
- package/lib/theme/LayoutProviders/index.js +0 -34
- package/lib/theme/Logo/index.js +0 -59
- package/lib/theme/MDXComponents/index.js +0 -65
- package/lib/theme/MDXPage/index.js +0 -68
- package/lib/theme/Navbar/index.js +0 -147
- package/lib/theme/Navbar/styles.module.css +0 -20
- package/lib/theme/NavbarItem/DefaultNavbarItem.js +0 -195
- package/lib/theme/NavbarItem/DocNavbarItem.js +0 -55
- package/lib/theme/NavbarItem/DocsVersionDropdownNavbarItem.js +0 -75
- package/lib/theme/NavbarItem/DocsVersionNavbarItem.js +0 -43
- package/lib/theme/NavbarItem/LocaleDropdownNavbarItem.js +0 -72
- package/lib/theme/NavbarItem/SearchNavbarItem.js +0 -28
- package/lib/theme/NavbarItem/index.js +0 -54
- package/lib/theme/NotFound.js +0 -50
- package/lib/theme/SearchBar.js +0 -15
- package/lib/theme/SearchMetadatas/index.js +0 -33
- package/lib/theme/Seo/index.js +0 -50
- package/lib/theme/SkipToContent/index.js +0 -61
- package/lib/theme/SkipToContent/styles.module.css +0 -16
- package/lib/theme/TOC/index.js +0 -59
- package/lib/theme/TOC/styles.module.css +0 -23
- package/lib/theme/TOCInline/index.js +0 -53
- package/lib/theme/TOCInline/styles.module.css +0 -12
- package/lib/theme/TabItem/index.js +0 -32
- package/lib/theme/Tabs/index.js +0 -150
- package/lib/theme/Tabs/styles.module.css +0 -23
- package/lib/theme/ThemeContext.js +0 -21
- package/lib/theme/ThemeProvider/index.js +0 -38
- package/lib/theme/ThemedImage/index.js +0 -48
- package/lib/theme/ThemedImage/styles.module.css +0 -11
- package/lib/theme/Toggle/index.js +0 -106
- package/lib/theme/Toggle/styles.module.css +0 -114
- package/lib/theme/UserPreferencesContext.js +0 -18
- package/lib/theme/UserPreferencesProvider/index.js +0 -44
- package/lib/theme/hooks/styles.css +0 -10
- package/lib/theme/hooks/useAnnouncementBar.js +0 -63
- package/lib/theme/hooks/useContextualSearchFilters.js +0 -47
- package/lib/theme/hooks/useDocs.js +0 -18
- package/lib/theme/hooks/useHideableNavbar.js +0 -92
- package/lib/theme/hooks/useKeyboardNavigation.js +0 -45
- package/lib/theme/hooks/useLocationHash.js +0 -28
- package/lib/theme/hooks/useLockBodyScroll.js +0 -26
- package/lib/theme/hooks/usePrismTheme.js +0 -36
- package/lib/theme/hooks/useScrollPosition.js +0 -49
- package/lib/theme/hooks/useTOCHighlight.js +0 -87
- package/lib/theme/hooks/useTabGroupChoice.js +0 -53
- package/lib/theme/hooks/useTheme.js +0 -99
- package/lib/theme/hooks/useThemeContext.js +0 -31
- package/lib/theme/hooks/useUserPreferencesContext.js +0 -31
- package/lib/theme/hooks/useWindowSize.js +0 -55
- package/lib/theme/prism-include-languages.js +0 -39
- package/lib/types.d.ts +0 -600
- package/lib-next/__tests__/__snapshots__/translations.test.ts.snap +0 -116
- package/lib-next/__tests__/translations.test.js +0 -128
- package/lib-next/__tests__/validateThemeConfig.test.js +0 -333
- package/lib-next/index.js +0 -198
- package/lib-next/theme/CodeBlock/styles.module.css +0 -71
- package/lib-next/theme/DocPage/styles.module.css +0 -98
- package/lib-next/theme/DocSidebar/styles.module.css +0 -138
- package/lib-next/theme/Heading/styles.css +0 -23
- package/lib-next/theme/SearchMetadatas/index.js +0 -20
- package/lib-next/theme/Seo/index.js +0 -37
- package/lib-next/theme/ThemeProvider/index.js +0 -25
- package/lib-next/theme/Toggle/index.js +0 -95
- package/lib-next/theme/Toggle/styles.module.css +0 -114
- package/lib-next/theme/UserPreferencesContext.js +0 -9
- package/lib-next/theme/UserPreferencesProvider/index.js +0 -28
- package/lib-next/theme/hooks/useAnnouncementBar.js +0 -49
- package/lib-next/theme/hooks/useContextualSearchFilters.js +0 -41
- package/lib-next/theme/hooks/useDocs.js +0 -10
- package/lib-next/theme/hooks/useHideableNavbar.js +0 -79
- package/lib-next/theme/hooks/useKeyboardNavigation.js +0 -35
- package/lib-next/theme/hooks/useLocationHash.js +0 -20
- package/lib-next/theme/hooks/useLockBodyScroll.js +0 -18
- package/lib-next/theme/hooks/usePrismTheme.js +0 -20
- package/lib-next/theme/hooks/useScrollPosition.js +0 -38
- package/lib-next/theme/hooks/useTOCHighlight.js +0 -84
- package/lib-next/theme/hooks/useTabGroupChoice.js +0 -41
- package/lib-next/theme/hooks/useTheme.js +0 -82
- package/lib-next/theme/hooks/useThemeContext.js +0 -22
- package/lib-next/theme/hooks/useUserPreferencesContext.js +0 -22
- package/lib-next/theme/hooks/useWindowSize.js +0 -45
- package/lib-next/translations.js +0 -145
- package/lib-next/types.d.ts +0 -600
- package/lib-next/validateThemeConfig.js +0 -317
- package/src/__tests__/__snapshots__/translations.test.ts.snap +0 -116
- package/src/__tests__/translations.test.ts +0 -116
- package/src/__tests__/validateThemeConfig.test.js +0 -333
- package/src/prism-include-languages.js +0 -11
- package/src/theme/BlogSidebar/styles.module.css +0 -46
- package/src/theme/DocPage/styles.module.css +0 -98
- package/src/theme/DocSidebar/styles.module.css +0 -138
- package/src/theme/Footer/styles.module.css +0 -15
- package/src/theme/SearchMetadatas/index.tsx +0 -28
- package/src/theme/Seo/index.tsx +0 -47
- package/src/theme/ThemeProvider/index.tsx +0 -24
- package/src/theme/Toggle/index.tsx +0 -113
- package/src/theme/Toggle/styles.module.css +0 -114
- package/src/theme/UserPreferencesContext.ts +0 -12
- package/src/theme/UserPreferencesProvider/index.tsx +0 -32
- package/src/theme/hooks/styles.css +0 -10
- package/src/theme/hooks/useAnnouncementBar.ts +0 -58
- package/src/theme/hooks/useContextualSearchFilters.ts +0 -52
- package/src/theme/hooks/useDocs.ts +0 -11
- package/src/theme/hooks/useHideableNavbar.ts +0 -85
- package/src/theme/hooks/useKeyboardNavigation.ts +0 -39
- package/src/theme/hooks/useLocationHash.ts +0 -25
- package/src/theme/hooks/useLockBodyScroll.ts +0 -20
- package/src/theme/hooks/usePrismTheme.ts +0 -22
- package/src/theme/hooks/useScrollPosition.ts +0 -45
- package/src/theme/hooks/useTOCHighlight.ts +0 -98
- package/src/theme/hooks/useTabGroupChoice.ts +0 -46
- package/src/theme/hooks/useTheme.ts +0 -92
- package/src/theme/hooks/useThemeContext.ts +0 -23
- package/src/theme/hooks/useUserPreferencesContext.ts +0 -25
- package/src/theme/hooks/useWindowSize.ts +0 -51
- package/src/types.d.ts +0 -600
- package/src/validateThemeConfig.js +0 -317
- package/tsconfig.json +0 -12
- package/update-code-translations.js +0 -239
- package/update-code-translations.test.js +0 -33
|
@@ -4,20 +4,22 @@
|
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
|
-
import ExecutionEnvironment from '@docusaurus/ExecutionEnvironment';
|
|
8
7
|
import siteConfig from '@generated/docusaurus.config';
|
|
8
|
+
export default function prismIncludeLanguages(PrismObject) {
|
|
9
|
+
const {
|
|
10
|
+
themeConfig: {prism},
|
|
11
|
+
} = siteConfig;
|
|
12
|
+
const {additionalLanguages} = prism; // Prism components work on the Prism instance on the window, while prism-
|
|
13
|
+
// react-renderer uses its own Prism instance. We temporarily mount the
|
|
14
|
+
// instance onto window, import components to enhance it, then remove it to
|
|
15
|
+
// avoid polluting global namespace.
|
|
16
|
+
// You can mutate PrismObject: registering plugins, deleting languages... As
|
|
17
|
+
// long as you don't re-assign it
|
|
9
18
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
require(`prismjs/components/prism-${lang}`); // eslint-disable-line
|
|
18
|
-
});
|
|
19
|
-
delete window.Prism;
|
|
20
|
-
}
|
|
21
|
-
};
|
|
22
|
-
|
|
23
|
-
export default prismIncludeLanguages;
|
|
19
|
+
globalThis.Prism = PrismObject;
|
|
20
|
+
additionalLanguages.forEach((lang) => {
|
|
21
|
+
// eslint-disable-next-line global-require, import/no-dynamic-require
|
|
22
|
+
require(`prismjs/components/prism-${lang}`);
|
|
23
|
+
});
|
|
24
|
+
delete globalThis.Prism;
|
|
25
|
+
}
|
package/package.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@docusaurus/theme-classic",
|
|
3
|
-
"version": "2.0.0-beta.
|
|
3
|
+
"version": "2.0.0-beta.20",
|
|
4
4
|
"description": "Classic theme for Docusaurus",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
|
-
"types": "src/
|
|
6
|
+
"types": "src/theme-classic.d.ts",
|
|
7
7
|
"publishConfig": {
|
|
8
8
|
"access": "public"
|
|
9
9
|
},
|
|
@@ -14,49 +14,55 @@
|
|
|
14
14
|
},
|
|
15
15
|
"license": "MIT",
|
|
16
16
|
"scripts": {
|
|
17
|
-
"build": "tsc --noEmit && yarn babel:lib && yarn babel:lib-next && yarn
|
|
18
|
-
"watch": "concurrently
|
|
17
|
+
"build": "tsc --noEmit && yarn babel:lib && yarn babel:lib-next && yarn format:lib-next",
|
|
18
|
+
"watch": "concurrently --names \"lib,lib-next,tsc\" --kill-others \"yarn babel:lib --watch\" \"yarn babel:lib-next --watch\" \"yarn tsc --watch\"",
|
|
19
19
|
"babel:lib": "cross-env BABEL_ENV=lib babel src -d lib --extensions \".tsx,.ts\" --ignore \"**/*.d.ts\" --copy-files",
|
|
20
20
|
"babel:lib-next": "cross-env BABEL_ENV=lib-next babel src -d lib-next --extensions \".tsx,.ts\" --ignore \"**/*.d.ts\" --copy-files",
|
|
21
|
-
"
|
|
22
|
-
"prettier:lib-next": "prettier --config ../../.prettierrc --write \"lib-next/**/*.{js,ts,jsx,tsc}\"",
|
|
23
|
-
"update-code-translations": "node -e 'require(\"./update-code-translations.js\").run()'"
|
|
21
|
+
"format:lib-next": "prettier --config ../../.prettierrc --write \"lib-next/**/*.{js,ts,jsx,tsc}\""
|
|
24
22
|
},
|
|
25
23
|
"dependencies": {
|
|
26
|
-
"@docusaurus/core": "2.0.0-beta.
|
|
27
|
-
"@docusaurus/plugin-content-blog": "2.0.0-beta.
|
|
28
|
-
"@docusaurus/plugin-content-docs": "2.0.0-beta.
|
|
29
|
-
"@docusaurus/plugin-content-pages": "2.0.0-beta.
|
|
30
|
-
"@docusaurus/theme-common": "2.0.0-beta.
|
|
31
|
-
"@docusaurus/
|
|
32
|
-
"@docusaurus/utils": "2.0.0-beta.
|
|
33
|
-
"@docusaurus/utils-
|
|
34
|
-
"@
|
|
35
|
-
"@mdx-js/react": "^1.6.
|
|
36
|
-
"chalk": "^4.1.1",
|
|
24
|
+
"@docusaurus/core": "2.0.0-beta.20",
|
|
25
|
+
"@docusaurus/plugin-content-blog": "2.0.0-beta.20",
|
|
26
|
+
"@docusaurus/plugin-content-docs": "2.0.0-beta.20",
|
|
27
|
+
"@docusaurus/plugin-content-pages": "2.0.0-beta.20",
|
|
28
|
+
"@docusaurus/theme-common": "2.0.0-beta.20",
|
|
29
|
+
"@docusaurus/theme-translations": "2.0.0-beta.20",
|
|
30
|
+
"@docusaurus/utils": "2.0.0-beta.20",
|
|
31
|
+
"@docusaurus/utils-common": "2.0.0-beta.20",
|
|
32
|
+
"@docusaurus/utils-validation": "2.0.0-beta.20",
|
|
33
|
+
"@mdx-js/react": "^1.6.22",
|
|
37
34
|
"clsx": "^1.1.1",
|
|
38
35
|
"copy-text-to-clipboard": "^3.0.1",
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
-
"
|
|
42
|
-
"
|
|
43
|
-
"
|
|
44
|
-
"
|
|
45
|
-
"prism-react-renderer": "^1.2.1",
|
|
46
|
-
"prismjs": "^1.23.0",
|
|
47
|
-
"prop-types": "^15.7.2",
|
|
36
|
+
"infima": "0.2.0-alpha.39",
|
|
37
|
+
"lodash": "^4.17.21",
|
|
38
|
+
"nprogress": "^0.2.0",
|
|
39
|
+
"postcss": "^8.4.13",
|
|
40
|
+
"prism-react-renderer": "^1.3.1",
|
|
41
|
+
"prismjs": "^1.28.0",
|
|
48
42
|
"react-router-dom": "^5.2.0",
|
|
49
|
-
"rtlcss": "^3.
|
|
43
|
+
"rtlcss": "^3.5.0"
|
|
50
44
|
},
|
|
51
45
|
"devDependencies": {
|
|
52
|
-
"@
|
|
46
|
+
"@babel/cli": "^7.17.10",
|
|
47
|
+
"@babel/core": "^7.17.10",
|
|
48
|
+
"@babel/preset-typescript": "^7.16.7",
|
|
49
|
+
"@docusaurus/module-type-aliases": "2.0.0-beta.20",
|
|
50
|
+
"@docusaurus/types": "2.0.0-beta.20",
|
|
51
|
+
"@types/mdx-js__react": "^1.5.5",
|
|
52
|
+
"@types/nprogress": "^0.2.0",
|
|
53
|
+
"@types/prismjs": "^1.26.0",
|
|
54
|
+
"@types/rtlcss": "^3.1.4",
|
|
55
|
+
"cross-env": "^7.0.3",
|
|
56
|
+
"fs-extra": "^10.1.0",
|
|
57
|
+
"react-test-renderer": "^17.0.2",
|
|
58
|
+
"utility-types": "^3.10.0"
|
|
53
59
|
},
|
|
54
60
|
"peerDependencies": {
|
|
55
61
|
"react": "^16.8.4 || ^17.0.0",
|
|
56
62
|
"react-dom": "^16.8.4 || ^17.0.0"
|
|
57
63
|
},
|
|
58
64
|
"engines": {
|
|
59
|
-
"node": ">=
|
|
65
|
+
"node": ">=14"
|
|
60
66
|
},
|
|
61
|
-
"gitHead": "
|
|
67
|
+
"gitHead": "ed5cdba401a5948e187e927039b142a0decc702d"
|
|
62
68
|
}
|
|
@@ -0,0 +1,39 @@
|
|
|
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
|
+
.admonition h5 {
|
|
9
|
+
margin-top: 0;
|
|
10
|
+
margin-bottom: 8px;
|
|
11
|
+
text-transform: uppercase;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.admonition h5 code {
|
|
15
|
+
text-transform: none;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.admonition-icon {
|
|
19
|
+
display: inline-block;
|
|
20
|
+
vertical-align: middle;
|
|
21
|
+
margin-right: 0.4em;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.admonition-icon svg {
|
|
25
|
+
display: inline-block;
|
|
26
|
+
width: 22px;
|
|
27
|
+
height: 22px;
|
|
28
|
+
stroke-width: 0;
|
|
29
|
+
fill: var(--ifm-alert-foreground-color);
|
|
30
|
+
stroke: var(--ifm-alert-foreground-color);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.admonition-content > :last-child {
|
|
34
|
+
margin-bottom: 0;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.admonition {
|
|
38
|
+
margin-bottom: 1em;
|
|
39
|
+
}
|
package/src/deps.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
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
|
+
declare module 'prism-react-renderer/prism' {
|
|
9
|
+
import type * as PrismNamespace from 'prismjs';
|
|
10
|
+
|
|
11
|
+
const Prism: typeof PrismNamespace;
|
|
12
|
+
export default Prism;
|
|
13
|
+
}
|
|
@@ -0,0 +1,252 @@
|
|
|
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
|
+
import type {SwizzleConfig} from '@docusaurus/types';
|
|
9
|
+
|
|
10
|
+
/* eslint sort-keys: "error" */
|
|
11
|
+
|
|
12
|
+
export default function getSwizzleConfig(): SwizzleConfig {
|
|
13
|
+
return {
|
|
14
|
+
components: {
|
|
15
|
+
CodeBlock: {
|
|
16
|
+
actions: {
|
|
17
|
+
eject: 'safe',
|
|
18
|
+
wrap: 'safe',
|
|
19
|
+
},
|
|
20
|
+
description:
|
|
21
|
+
'The component used to render multi-line code blocks, generally used in Markdown files.',
|
|
22
|
+
},
|
|
23
|
+
ColorModeToggle: {
|
|
24
|
+
actions: {
|
|
25
|
+
eject: 'safe',
|
|
26
|
+
wrap: 'safe',
|
|
27
|
+
},
|
|
28
|
+
description:
|
|
29
|
+
'The color mode toggle to switch between light and dark mode.',
|
|
30
|
+
},
|
|
31
|
+
DocSidebar: {
|
|
32
|
+
actions: {
|
|
33
|
+
eject: 'unsafe', // Too much technical code in sidebar, not very safe atm
|
|
34
|
+
wrap: 'safe',
|
|
35
|
+
},
|
|
36
|
+
description: 'The sidebar component on docs pages',
|
|
37
|
+
},
|
|
38
|
+
Footer: {
|
|
39
|
+
actions: {
|
|
40
|
+
eject: 'safe',
|
|
41
|
+
wrap: 'safe',
|
|
42
|
+
},
|
|
43
|
+
description: "The footer component of you site's layout",
|
|
44
|
+
},
|
|
45
|
+
'Footer/Copyright': {
|
|
46
|
+
actions: {
|
|
47
|
+
eject: 'safe',
|
|
48
|
+
wrap: 'safe',
|
|
49
|
+
},
|
|
50
|
+
description: 'The footer copyright',
|
|
51
|
+
},
|
|
52
|
+
'Footer/Layout': {
|
|
53
|
+
actions: {
|
|
54
|
+
eject: 'safe',
|
|
55
|
+
wrap: 'safe',
|
|
56
|
+
},
|
|
57
|
+
description: 'The footer main layout component',
|
|
58
|
+
},
|
|
59
|
+
'Footer/LinkItem': {
|
|
60
|
+
actions: {
|
|
61
|
+
eject: 'safe',
|
|
62
|
+
wrap: 'safe',
|
|
63
|
+
},
|
|
64
|
+
description: 'The footer link item component',
|
|
65
|
+
},
|
|
66
|
+
'Footer/Links': {
|
|
67
|
+
actions: {
|
|
68
|
+
eject: 'safe',
|
|
69
|
+
wrap: 'safe',
|
|
70
|
+
},
|
|
71
|
+
description: 'The footer component rendering the footer links',
|
|
72
|
+
},
|
|
73
|
+
'Footer/Links/MultiColumn': {
|
|
74
|
+
actions: {
|
|
75
|
+
eject: 'safe',
|
|
76
|
+
wrap: 'safe',
|
|
77
|
+
},
|
|
78
|
+
description:
|
|
79
|
+
'The footer component rendering the footer links with a multi-column layout',
|
|
80
|
+
},
|
|
81
|
+
'Footer/Links/Simple': {
|
|
82
|
+
actions: {
|
|
83
|
+
eject: 'safe',
|
|
84
|
+
wrap: 'safe',
|
|
85
|
+
},
|
|
86
|
+
description:
|
|
87
|
+
'The footer component rendering the footer links with a simple layout (single row)',
|
|
88
|
+
},
|
|
89
|
+
'Footer/Logo': {
|
|
90
|
+
actions: {
|
|
91
|
+
eject: 'safe',
|
|
92
|
+
wrap: 'safe',
|
|
93
|
+
},
|
|
94
|
+
description: 'The footer logo',
|
|
95
|
+
},
|
|
96
|
+
IconArrow: {
|
|
97
|
+
actions: {
|
|
98
|
+
eject: 'safe',
|
|
99
|
+
wrap: 'safe',
|
|
100
|
+
},
|
|
101
|
+
description: 'The arrow icon component',
|
|
102
|
+
},
|
|
103
|
+
IconDarkMode: {
|
|
104
|
+
actions: {
|
|
105
|
+
eject: 'safe',
|
|
106
|
+
wrap: 'safe',
|
|
107
|
+
},
|
|
108
|
+
description: 'The dark mode icon component.',
|
|
109
|
+
},
|
|
110
|
+
IconEdit: {
|
|
111
|
+
actions: {
|
|
112
|
+
eject: 'safe',
|
|
113
|
+
wrap: 'safe',
|
|
114
|
+
},
|
|
115
|
+
description: 'The edit icon component',
|
|
116
|
+
},
|
|
117
|
+
IconLightMode: {
|
|
118
|
+
actions: {
|
|
119
|
+
eject: 'safe',
|
|
120
|
+
wrap: 'safe',
|
|
121
|
+
},
|
|
122
|
+
description: 'The light mode icon component.',
|
|
123
|
+
},
|
|
124
|
+
IconMenu: {
|
|
125
|
+
actions: {
|
|
126
|
+
eject: 'safe',
|
|
127
|
+
wrap: 'safe',
|
|
128
|
+
},
|
|
129
|
+
description: 'The menu icon component',
|
|
130
|
+
},
|
|
131
|
+
MDXComponents: {
|
|
132
|
+
actions: {
|
|
133
|
+
eject: 'safe',
|
|
134
|
+
wrap: 'forbidden', /// TODO allow wrapping objects???
|
|
135
|
+
},
|
|
136
|
+
description:
|
|
137
|
+
'The MDX components to use for rendering MDX files. Meant to be ejected.',
|
|
138
|
+
},
|
|
139
|
+
'MDXComponents/A': {
|
|
140
|
+
actions: {
|
|
141
|
+
eject: 'safe',
|
|
142
|
+
wrap: 'safe',
|
|
143
|
+
},
|
|
144
|
+
description:
|
|
145
|
+
'The component used to render <a> tags and Markdown links in MDX',
|
|
146
|
+
},
|
|
147
|
+
'MDXComponents/Code': {
|
|
148
|
+
actions: {
|
|
149
|
+
eject: 'safe',
|
|
150
|
+
wrap: 'safe',
|
|
151
|
+
},
|
|
152
|
+
description:
|
|
153
|
+
'The component used to render <code> tags and Markdown code blocks in MDX',
|
|
154
|
+
},
|
|
155
|
+
'MDXComponents/Details': {
|
|
156
|
+
actions: {
|
|
157
|
+
eject: 'safe',
|
|
158
|
+
wrap: 'safe',
|
|
159
|
+
},
|
|
160
|
+
description: 'The component used to render <details> tags in MDX',
|
|
161
|
+
},
|
|
162
|
+
'MDXComponents/Head': {
|
|
163
|
+
actions: {
|
|
164
|
+
eject: 'forbidden',
|
|
165
|
+
wrap: 'forbidden',
|
|
166
|
+
},
|
|
167
|
+
description:
|
|
168
|
+
'Technical component used to assign metadata (generally for SEO purpose) to the current MDX document',
|
|
169
|
+
},
|
|
170
|
+
'MDXComponents/Heading': {
|
|
171
|
+
actions: {
|
|
172
|
+
eject: 'safe',
|
|
173
|
+
wrap: 'safe',
|
|
174
|
+
},
|
|
175
|
+
description:
|
|
176
|
+
'The component used to render heading tags (<h1>, <h2>...) and Markdown headings in MDX',
|
|
177
|
+
},
|
|
178
|
+
'MDXComponents/Img': {
|
|
179
|
+
actions: {
|
|
180
|
+
eject: 'safe',
|
|
181
|
+
wrap: 'safe',
|
|
182
|
+
},
|
|
183
|
+
description:
|
|
184
|
+
'The component used to render <img> tags and Markdown images in MDX',
|
|
185
|
+
},
|
|
186
|
+
'MDXComponents/Pre': {
|
|
187
|
+
actions: {
|
|
188
|
+
eject: 'safe',
|
|
189
|
+
wrap: 'safe',
|
|
190
|
+
},
|
|
191
|
+
description: 'The component used to render <pre> tags in MDX',
|
|
192
|
+
},
|
|
193
|
+
'MDXComponents/Ul': {
|
|
194
|
+
actions: {
|
|
195
|
+
eject: 'safe',
|
|
196
|
+
wrap: 'safe',
|
|
197
|
+
},
|
|
198
|
+
description:
|
|
199
|
+
'The component used to render <ul> tags and Markdown unordered lists in MDX',
|
|
200
|
+
},
|
|
201
|
+
MDXContent: {
|
|
202
|
+
actions: {
|
|
203
|
+
eject: 'safe',
|
|
204
|
+
wrap: 'safe',
|
|
205
|
+
},
|
|
206
|
+
description:
|
|
207
|
+
'A component wrapping all MDX content and providing the MDXComponents to the MDX context',
|
|
208
|
+
},
|
|
209
|
+
'NavbarItem/ComponentTypes': {
|
|
210
|
+
actions: {
|
|
211
|
+
eject: 'safe',
|
|
212
|
+
wrap: 'forbidden',
|
|
213
|
+
},
|
|
214
|
+
description:
|
|
215
|
+
'The Navbar item components mapping. Can be ejected to add custom navbar item types. See https://github.com/facebook/docusaurus/issues/7227.',
|
|
216
|
+
},
|
|
217
|
+
// TODO should probably not even appear here
|
|
218
|
+
'NavbarItem/utils': {
|
|
219
|
+
actions: {
|
|
220
|
+
eject: 'forbidden',
|
|
221
|
+
wrap: 'forbidden',
|
|
222
|
+
},
|
|
223
|
+
},
|
|
224
|
+
NotFound: {
|
|
225
|
+
actions: {
|
|
226
|
+
eject: 'safe',
|
|
227
|
+
wrap: 'safe',
|
|
228
|
+
},
|
|
229
|
+
description:
|
|
230
|
+
'The global 404 page of your site, meant to be ejected and customized',
|
|
231
|
+
},
|
|
232
|
+
SearchBar: {
|
|
233
|
+
actions: {
|
|
234
|
+
eject: 'safe',
|
|
235
|
+
wrap: 'safe',
|
|
236
|
+
},
|
|
237
|
+
// TODO how to describe this one properly?
|
|
238
|
+
// By default it's an empty placeholder for the user to fill
|
|
239
|
+
description:
|
|
240
|
+
'The search bar component of your site, appearing in the navbar.',
|
|
241
|
+
},
|
|
242
|
+
'prism-include-languages': {
|
|
243
|
+
actions: {
|
|
244
|
+
eject: 'safe',
|
|
245
|
+
wrap: 'forbidden', // Not a component!
|
|
246
|
+
},
|
|
247
|
+
description:
|
|
248
|
+
'The Prism languages to include for code block syntax highlighting. Meant to be ejected.',
|
|
249
|
+
},
|
|
250
|
+
},
|
|
251
|
+
};
|
|
252
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -5,28 +5,29 @@
|
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
import {
|
|
9
|
-
import {ThemeConfig} from '@docusaurus/theme-common';
|
|
8
|
+
import type {LoadContext, Plugin} from '@docusaurus/types';
|
|
9
|
+
import type {ThemeConfig} from '@docusaurus/theme-common';
|
|
10
10
|
import {getTranslationFiles, translateThemeConfig} from './translations';
|
|
11
|
-
import
|
|
12
|
-
import
|
|
13
|
-
import type {AcceptedPlugin, Result, Plugin as PostCssPlugin} from 'postcss';
|
|
11
|
+
import {createRequire} from 'module';
|
|
12
|
+
import type {Plugin as PostCssPlugin} from 'postcss';
|
|
14
13
|
import rtlcss from 'rtlcss';
|
|
15
|
-
import {readDefaultCodeTranslationMessages} from '@docusaurus/
|
|
14
|
+
import {readDefaultCodeTranslationMessages} from '@docusaurus/theme-translations';
|
|
15
|
+
import type {Options} from '@docusaurus/theme-classic';
|
|
16
|
+
import type webpack from 'webpack';
|
|
16
17
|
|
|
17
|
-
const createRequire = Module.createRequire || Module.createRequireFromPath;
|
|
18
18
|
const requireFromDocusaurusCore = createRequire(
|
|
19
19
|
require.resolve('@docusaurus/core/package.json'),
|
|
20
20
|
);
|
|
21
|
-
const ContextReplacementPlugin =
|
|
22
|
-
'webpack/lib/ContextReplacementPlugin'
|
|
23
|
-
);
|
|
21
|
+
const ContextReplacementPlugin: typeof webpack.ContextReplacementPlugin =
|
|
22
|
+
requireFromDocusaurusCore('webpack/lib/ContextReplacementPlugin');
|
|
24
23
|
|
|
25
24
|
// Need to be inlined to prevent dark mode FOUC
|
|
26
|
-
// Make sure
|
|
27
|
-
const
|
|
28
|
-
const noFlashColorMode = ({
|
|
29
|
-
|
|
25
|
+
// Make sure the key is the same as the one in `/theme/hooks/useTheme.js`
|
|
26
|
+
const ThemeStorageKey = 'theme';
|
|
27
|
+
const noFlashColorMode = ({
|
|
28
|
+
defaultMode,
|
|
29
|
+
respectPrefersColorScheme,
|
|
30
|
+
}: ThemeConfig['colorMode']) => `(function() {
|
|
30
31
|
var defaultMode = '${defaultMode}';
|
|
31
32
|
var respectPrefersColorScheme = ${respectPrefersColorScheme};
|
|
32
33
|
|
|
@@ -37,7 +38,7 @@ const noFlashColorMode = ({defaultMode, respectPrefersColorScheme}) => {
|
|
|
37
38
|
function getStoredTheme() {
|
|
38
39
|
var theme = null;
|
|
39
40
|
try {
|
|
40
|
-
theme = localStorage.getItem('${
|
|
41
|
+
theme = localStorage.getItem('${ThemeStorageKey}');
|
|
41
42
|
} catch (err) {}
|
|
42
43
|
return theme;
|
|
43
44
|
}
|
|
@@ -61,66 +62,83 @@ const noFlashColorMode = ({defaultMode, respectPrefersColorScheme}) => {
|
|
|
61
62
|
}
|
|
62
63
|
}
|
|
63
64
|
})();`;
|
|
64
|
-
};
|
|
65
65
|
|
|
66
|
-
|
|
66
|
+
// Duplicated constant. Unfortunately we can't import it from theme-common, as
|
|
67
|
+
// we need to support older nodejs versions without ESM support
|
|
68
|
+
// TODO: import from theme-common once we only support Node.js with ESM support
|
|
69
|
+
// + move all those announcementBar stuff there too
|
|
70
|
+
export const AnnouncementBarDismissStorageKey =
|
|
71
|
+
'docusaurus.announcement.dismiss';
|
|
72
|
+
const AnnouncementBarDismissDataAttribute =
|
|
73
|
+
'data-announcement-bar-initially-dismissed';
|
|
74
|
+
// We always render the announcement bar html on the server, to prevent layout
|
|
75
|
+
// shifts on React hydration. The theme can use CSS + the data attribute to hide
|
|
76
|
+
// the announcement bar asap (before React hydration)
|
|
77
|
+
const AnnouncementBarInlineJavaScript = `
|
|
78
|
+
(function() {
|
|
79
|
+
function isDismissed() {
|
|
80
|
+
try {
|
|
81
|
+
return localStorage.getItem('${AnnouncementBarDismissStorageKey}') === 'true';
|
|
82
|
+
} catch (err) {}
|
|
83
|
+
return false;
|
|
84
|
+
}
|
|
85
|
+
document.documentElement.setAttribute('${AnnouncementBarDismissDataAttribute}', isDismissed());
|
|
86
|
+
})();`;
|
|
87
|
+
|
|
88
|
+
function getInfimaCSSFile(direction: string) {
|
|
67
89
|
return `infima/dist/css/default/default${
|
|
68
90
|
direction === 'rtl' ? '-rtl' : ''
|
|
69
91
|
}.css`;
|
|
70
92
|
}
|
|
71
93
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
export default function docusaurusThemeClassic(
|
|
77
|
-
context: DocusaurusContext, // TODO: LoadContext is missing some of properties
|
|
78
|
-
options: PluginOptions,
|
|
79
|
-
): Plugin<void> {
|
|
94
|
+
export default function themeClassic(
|
|
95
|
+
context: LoadContext,
|
|
96
|
+
options: Options,
|
|
97
|
+
): Plugin<undefined> {
|
|
80
98
|
const {
|
|
81
|
-
siteConfig: {themeConfig: roughlyTypedThemeConfig},
|
|
82
99
|
i18n: {currentLocale, localeConfigs},
|
|
83
100
|
} = context;
|
|
84
|
-
const themeConfig =
|
|
85
|
-
const {
|
|
86
|
-
|
|
87
|
-
|
|
101
|
+
const themeConfig = context.siteConfig.themeConfig as ThemeConfig;
|
|
102
|
+
const {
|
|
103
|
+
announcementBar,
|
|
104
|
+
colorMode,
|
|
105
|
+
prism: {additionalLanguages},
|
|
106
|
+
} = themeConfig;
|
|
107
|
+
const {customCss} = options ?? {};
|
|
108
|
+
const {direction} = localeConfigs[currentLocale]!;
|
|
88
109
|
|
|
89
110
|
return {
|
|
90
111
|
name: 'docusaurus-theme-classic',
|
|
91
112
|
|
|
92
|
-
/*
|
|
93
|
-
Does not seem needed: webpack can already hot reload theme files
|
|
94
|
-
getPathsToWatch() {
|
|
95
|
-
return [
|
|
96
|
-
path.join(__dirname, '..', 'lib'),
|
|
97
|
-
path.join(__dirname, '..', 'lib-next'),
|
|
98
|
-
];
|
|
99
|
-
},
|
|
100
|
-
*/
|
|
101
|
-
|
|
102
113
|
getThemePath() {
|
|
103
|
-
return
|
|
114
|
+
return '../lib-next/theme';
|
|
104
115
|
},
|
|
105
116
|
|
|
106
117
|
getTypeScriptThemePath() {
|
|
107
|
-
return
|
|
118
|
+
return '../src/theme';
|
|
108
119
|
},
|
|
109
120
|
|
|
110
|
-
getTranslationFiles:
|
|
111
|
-
|
|
121
|
+
getTranslationFiles: () => getTranslationFiles({themeConfig}),
|
|
122
|
+
|
|
123
|
+
translateThemeConfig: (params) =>
|
|
124
|
+
translateThemeConfig({
|
|
125
|
+
themeConfig: params.themeConfig as ThemeConfig,
|
|
126
|
+
translationFiles: params.translationFiles,
|
|
127
|
+
}),
|
|
112
128
|
|
|
113
|
-
getDefaultCodeTranslationMessages
|
|
129
|
+
getDefaultCodeTranslationMessages() {
|
|
114
130
|
return readDefaultCodeTranslationMessages({
|
|
115
|
-
dirPath: path.resolve(__dirname, '..', 'codeTranslations'),
|
|
116
131
|
locale: currentLocale,
|
|
132
|
+
name: 'theme-common',
|
|
117
133
|
});
|
|
118
134
|
},
|
|
119
135
|
|
|
120
136
|
getClientModules() {
|
|
121
137
|
const modules = [
|
|
122
138
|
require.resolve(getInfimaCSSFile(direction)),
|
|
123
|
-
|
|
139
|
+
'./prism-include-languages',
|
|
140
|
+
'./admonitions.css',
|
|
141
|
+
'./nprogress',
|
|
124
142
|
];
|
|
125
143
|
|
|
126
144
|
if (customCss) {
|
|
@@ -140,11 +158,10 @@ export default function docusaurusThemeClassic(
|
|
|
140
158
|
.join('|');
|
|
141
159
|
|
|
142
160
|
return {
|
|
143
|
-
ignoreWarnings: [
|
|
144
|
-
// See https://github.com/facebook/docusaurus/pull/3382
|
|
145
|
-
(e) => e.message.includes("Can't resolve '@theme-init/hooks/useDocs"),
|
|
146
|
-
],
|
|
147
161
|
plugins: [
|
|
162
|
+
// This allows better optimization by only bundling those components
|
|
163
|
+
// that the user actually needs, because the modules are dynamically
|
|
164
|
+
// required and can't be known during compile time.
|
|
148
165
|
new ContextReplacementPlugin(
|
|
149
166
|
/prismjs[\\/]components$/,
|
|
150
167
|
new RegExp(`^./(${prismLanguages})$`),
|
|
@@ -153,18 +170,18 @@ export default function docusaurusThemeClassic(
|
|
|
153
170
|
};
|
|
154
171
|
},
|
|
155
172
|
|
|
156
|
-
configurePostCss(postCssOptions
|
|
173
|
+
configurePostCss(postCssOptions) {
|
|
157
174
|
if (direction === 'rtl') {
|
|
158
175
|
const resolvedInfimaFile = require.resolve(getInfimaCSSFile(direction));
|
|
159
176
|
const plugin: PostCssPlugin = {
|
|
160
177
|
postcssPlugin: 'RtlCssPlugin',
|
|
161
|
-
prepare: (result
|
|
178
|
+
prepare: (result) => {
|
|
162
179
|
const file = result.root?.source?.input?.file;
|
|
163
180
|
// Skip Infima as we are using the its RTL version.
|
|
164
181
|
if (file === resolvedInfimaFile) {
|
|
165
182
|
return {};
|
|
166
183
|
}
|
|
167
|
-
return rtlcss(result.root);
|
|
184
|
+
return rtlcss(result.root as unknown as rtlcss.ConfigOptions);
|
|
168
185
|
},
|
|
169
186
|
};
|
|
170
187
|
postCssOptions.plugins.push(plugin);
|
|
@@ -178,10 +195,10 @@ export default function docusaurusThemeClassic(
|
|
|
178
195
|
preBodyTags: [
|
|
179
196
|
{
|
|
180
197
|
tagName: 'script',
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
198
|
+
innerHTML: `
|
|
199
|
+
${noFlashColorMode(colorMode)}
|
|
200
|
+
${announcementBar ? AnnouncementBarInlineJavaScript : ''}
|
|
201
|
+
`,
|
|
185
202
|
},
|
|
186
203
|
],
|
|
187
204
|
};
|
|
@@ -189,21 +206,5 @@ export default function docusaurusThemeClassic(
|
|
|
189
206
|
};
|
|
190
207
|
}
|
|
191
208
|
|
|
192
|
-
|
|
193
|
-
'CodeBlock',
|
|
194
|
-
'DocSidebar',
|
|
195
|
-
'Footer',
|
|
196
|
-
'NotFound',
|
|
197
|
-
'SearchBar',
|
|
198
|
-
'IconArrow',
|
|
199
|
-
'IconEdit',
|
|
200
|
-
'IconMenu',
|
|
201
|
-
'hooks/useTheme',
|
|
202
|
-
'prism-include-languages',
|
|
203
|
-
];
|
|
204
|
-
|
|
205
|
-
export function getSwizzleComponentList(): string[] {
|
|
206
|
-
return swizzleAllowedComponents;
|
|
207
|
-
}
|
|
208
|
-
|
|
209
|
+
export {default as getSwizzleConfig} from './getSwizzleConfig';
|
|
209
210
|
export {validateThemeConfig} from './validateThemeConfig';
|