@docusaurus/theme-classic 3.4.0 → 3.5.0
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/lib/getSwizzleConfig.js +32 -1
- package/lib/index.d.ts +0 -1
- package/lib/index.js +1 -1
- package/lib/inlineScripts.js +3 -3
- package/lib/options.d.ts +0 -1
- package/lib/options.js +15 -3
- package/lib/theme/Admonition/Icon/Danger.d.ts +0 -2
- package/lib/theme/Admonition/Icon/Info.d.ts +0 -2
- package/lib/theme/Admonition/Icon/Note.d.ts +0 -2
- package/lib/theme/Admonition/Icon/Tip.d.ts +0 -2
- package/lib/theme/Admonition/Icon/Warning.d.ts +0 -2
- package/lib/theme/Admonition/Layout/index.d.ts +0 -2
- package/lib/theme/Admonition/Type/Caution.d.ts +0 -2
- package/lib/theme/Admonition/Type/Danger.d.ts +0 -2
- package/lib/theme/Admonition/Type/Info.d.ts +0 -2
- package/lib/theme/Admonition/Type/Note.d.ts +0 -2
- package/lib/theme/Admonition/Type/Tip.d.ts +0 -2
- package/lib/theme/Admonition/Type/Warning.d.ts +0 -2
- package/lib/theme/Admonition/Types.d.ts +0 -1
- package/lib/theme/Admonition/index.d.ts +0 -2
- package/lib/theme/AnnouncementBar/CloseButton/index.d.ts +0 -2
- package/lib/theme/AnnouncementBar/Content/index.d.ts +0 -2
- package/lib/theme/AnnouncementBar/index.d.ts +0 -1
- package/lib/theme/BackToTopButton/index.d.ts +0 -1
- package/lib/theme/Blog/Components/Author/Socials/index.d.ts +10 -0
- package/lib/theme/Blog/Components/Author/Socials/index.js +49 -0
- package/lib/theme/Blog/Components/Author/Socials/styles.module.css +39 -0
- package/lib/theme/Blog/Components/Author/index.d.ts +8 -0
- package/lib/theme/Blog/Components/Author/index.js +86 -0
- package/lib/theme/Blog/Components/Author/styles.module.css +74 -0
- package/lib/theme/Blog/Pages/BlogAuthorsListPage/index.d.ts +9 -0
- package/lib/theme/Blog/Pages/BlogAuthorsListPage/index.js +54 -0
- package/lib/theme/Blog/Pages/BlogAuthorsListPage/styles.module.css +11 -0
- package/lib/theme/Blog/Pages/BlogAuthorsPostsPage/index.d.ts +8 -0
- package/lib/theme/Blog/Pages/BlogAuthorsPostsPage/index.js +67 -0
- package/lib/theme/BlogArchivePage/index.d.ts +0 -2
- package/lib/theme/BlogLayout/index.d.ts +0 -2
- package/lib/theme/BlogListPage/StructuredData/index.d.ts +0 -2
- package/lib/theme/BlogListPage/StructuredData/index.js +1 -1
- package/lib/theme/BlogListPage/index.d.ts +0 -2
- package/lib/theme/BlogListPaginator/index.d.ts +0 -2
- package/lib/theme/BlogPostItem/Container/index.d.ts +0 -2
- package/lib/theme/BlogPostItem/Content/index.d.ts +0 -2
- package/lib/theme/BlogPostItem/Content/index.js +1 -1
- package/lib/theme/BlogPostItem/Footer/ReadMoreLink/index.d.ts +0 -2
- package/lib/theme/BlogPostItem/Footer/index.d.ts +0 -1
- package/lib/theme/BlogPostItem/Footer/index.js +1 -1
- package/lib/theme/BlogPostItem/Header/Authors/index.d.ts +0 -2
- package/lib/theme/BlogPostItem/Header/Authors/index.js +5 -4
- package/lib/theme/BlogPostItem/Header/Authors/styles.module.css +0 -1
- package/lib/theme/BlogPostItem/Header/Info/index.d.ts +0 -2
- package/lib/theme/BlogPostItem/Header/Info/index.js +2 -4
- package/lib/theme/BlogPostItem/Header/Title/index.d.ts +0 -2
- package/lib/theme/BlogPostItem/Header/Title/index.js +1 -1
- package/lib/theme/BlogPostItem/Header/index.d.ts +0 -1
- package/lib/theme/BlogPostItem/index.d.ts +0 -2
- package/lib/theme/BlogPostItem/index.js +1 -1
- package/lib/theme/BlogPostItems/index.d.ts +0 -2
- package/lib/theme/BlogPostItems/index.js +1 -1
- package/lib/theme/BlogPostPage/Metadata/index.d.ts +0 -1
- package/lib/theme/BlogPostPage/Metadata/index.js +1 -1
- package/lib/theme/BlogPostPage/StructuredData/index.d.ts +0 -1
- package/lib/theme/BlogPostPage/StructuredData/index.js +1 -1
- package/lib/theme/BlogPostPage/index.d.ts +0 -2
- package/lib/theme/BlogPostPage/index.js +7 -4
- package/lib/theme/BlogPostPaginator/index.d.ts +0 -2
- package/lib/theme/BlogSidebar/Content/index.d.ts +11 -0
- package/lib/theme/BlogSidebar/Content/index.js +41 -0
- package/lib/theme/BlogSidebar/Desktop/index.d.ts +4 -3
- package/lib/theme/BlogSidebar/Desktop/index.js +24 -17
- package/lib/theme/BlogSidebar/Desktop/styles.module.css +5 -0
- package/lib/theme/BlogSidebar/Mobile/index.d.ts +4 -3
- package/lib/theme/BlogSidebar/Mobile/index.js +25 -17
- package/lib/theme/BlogSidebar/Mobile/styles.module.css +10 -0
- package/lib/theme/BlogSidebar/index.d.ts +0 -2
- package/lib/theme/BlogTagsListPage/index.d.ts +0 -2
- package/lib/theme/BlogTagsPostsPage/index.d.ts +0 -2
- package/lib/theme/BlogTagsPostsPage/index.js +3 -31
- package/lib/theme/CodeBlock/Content/Element.d.ts +0 -2
- package/lib/theme/CodeBlock/Content/String.d.ts +0 -2
- package/lib/theme/CodeBlock/CopyButton/index.d.ts +0 -2
- package/lib/theme/CodeBlock/Line/index.d.ts +0 -2
- package/lib/theme/CodeBlock/WordWrapButton/index.d.ts +0 -2
- package/lib/theme/CodeBlock/index.d.ts +0 -2
- package/lib/theme/CodeInline/index.d.ts +0 -2
- package/lib/theme/ColorModeToggle/index.d.ts +0 -1
- package/lib/theme/ContentVisibility/Draft/index.d.ts +8 -0
- package/lib/theme/ContentVisibility/Draft/index.js +24 -0
- package/lib/theme/{Unlisted → ContentVisibility/Unlisted}/index.d.ts +1 -3
- package/lib/theme/ContentVisibility/index.d.ts +8 -0
- package/lib/theme/ContentVisibility/index.js +21 -0
- package/lib/theme/Details/index.d.ts +0 -2
- package/lib/theme/DocBreadcrumbs/Items/Home/index.d.ts +0 -1
- package/lib/theme/DocBreadcrumbs/index.d.ts +0 -1
- package/lib/theme/DocBreadcrumbs/index.js +2 -4
- package/lib/theme/DocCard/index.d.ts +0 -2
- package/lib/theme/DocCard/index.js +2 -2
- package/lib/theme/DocCardList/index.d.ts +0 -2
- package/lib/theme/DocCardList/index.js +1 -1
- package/lib/theme/DocCategoryGeneratedIndexPage/index.d.ts +0 -2
- package/lib/theme/DocCategoryGeneratedIndexPage/index.js +2 -4
- package/lib/theme/DocItem/Content/index.d.ts +0 -2
- package/lib/theme/DocItem/Content/index.js +1 -1
- package/lib/theme/DocItem/Footer/index.d.ts +0 -1
- package/lib/theme/DocItem/Footer/index.js +1 -1
- package/lib/theme/DocItem/Layout/index.d.ts +0 -2
- package/lib/theme/DocItem/Layout/index.js +4 -6
- package/lib/theme/DocItem/Metadata/index.d.ts +0 -1
- package/lib/theme/DocItem/Metadata/index.js +1 -1
- package/lib/theme/DocItem/Paginator/index.d.ts +0 -1
- package/lib/theme/DocItem/Paginator/index.js +1 -1
- package/lib/theme/DocItem/TOC/Desktop/index.d.ts +0 -1
- package/lib/theme/DocItem/TOC/Desktop/index.js +1 -1
- package/lib/theme/DocItem/TOC/Mobile/index.d.ts +0 -1
- package/lib/theme/DocItem/TOC/Mobile/index.js +1 -1
- package/lib/theme/DocItem/index.d.ts +0 -2
- package/lib/theme/DocItem/index.js +1 -1
- package/lib/theme/DocPaginator/index.d.ts +0 -2
- package/lib/theme/DocRoot/Layout/Main/index.d.ts +0 -2
- package/lib/theme/DocRoot/Layout/Main/index.js +1 -1
- package/lib/theme/DocRoot/Layout/Sidebar/ExpandButton/index.d.ts +0 -2
- package/lib/theme/DocRoot/Layout/Sidebar/index.d.ts +0 -2
- package/lib/theme/DocRoot/Layout/Sidebar/index.js +1 -1
- package/lib/theme/DocRoot/Layout/index.d.ts +0 -2
- package/lib/theme/DocRoot/Layout/index.js +1 -1
- package/lib/theme/DocRoot/index.d.ts +0 -2
- package/lib/theme/DocRoot/index.js +1 -1
- package/lib/theme/DocSidebar/Desktop/CollapseButton/index.d.ts +0 -2
- package/lib/theme/DocSidebar/Desktop/Content/index.d.ts +0 -2
- package/lib/theme/DocSidebar/Desktop/index.d.ts +0 -1
- package/lib/theme/DocSidebar/Mobile/index.d.ts +0 -1
- package/lib/theme/DocSidebar/index.d.ts +0 -2
- package/lib/theme/DocSidebarItem/Category/index.d.ts +0 -2
- package/lib/theme/DocSidebarItem/Category/index.js +2 -2
- package/lib/theme/DocSidebarItem/Html/index.d.ts +0 -2
- package/lib/theme/DocSidebarItem/Link/index.d.ts +0 -2
- package/lib/theme/DocSidebarItem/Link/index.js +1 -1
- package/lib/theme/DocSidebarItem/index.d.ts +0 -2
- package/lib/theme/DocSidebarItems/index.d.ts +0 -1
- package/lib/theme/DocSidebarItems/index.js +1 -1
- package/lib/theme/DocTagDocListPage/index.d.ts +0 -2
- package/lib/theme/DocTagDocListPage/index.js +1 -1
- package/lib/theme/DocTagsListPage/index.d.ts +0 -2
- package/lib/theme/DocVersionBadge/index.d.ts +0 -2
- package/lib/theme/DocVersionBadge/index.js +1 -1
- package/lib/theme/DocVersionBanner/index.d.ts +0 -2
- package/lib/theme/DocVersionBanner/index.js +1 -1
- package/lib/theme/DocVersionRoot/index.d.ts +0 -2
- package/lib/theme/DocVersionRoot/index.js +3 -3
- package/lib/theme/DocsRoot/index.d.ts +0 -2
- package/lib/theme/EditMetaRow/index.d.ts +0 -2
- package/lib/theme/EditThisPage/index.d.ts +0 -2
- package/lib/theme/ErrorPageContent.d.ts +0 -2
- package/lib/theme/Footer/Copyright/index.d.ts +0 -2
- package/lib/theme/Footer/Layout/index.d.ts +0 -2
- package/lib/theme/Footer/LinkItem/index.d.ts +0 -2
- package/lib/theme/Footer/Links/MultiColumn/index.d.ts +0 -2
- package/lib/theme/Footer/Links/Simple/index.d.ts +0 -2
- package/lib/theme/Footer/Links/index.d.ts +0 -2
- package/lib/theme/Footer/Logo/index.d.ts +0 -2
- package/lib/theme/Heading/index.d.ts +0 -2
- package/lib/theme/Icon/Arrow/index.d.ts +0 -2
- package/lib/theme/Icon/Close/index.d.ts +0 -2
- package/lib/theme/Icon/Copy/index.d.ts +0 -2
- package/lib/theme/Icon/DarkMode/index.d.ts +0 -2
- package/lib/theme/Icon/Edit/index.d.ts +0 -2
- package/lib/theme/Icon/ExternalLink/index.d.ts +0 -2
- package/lib/theme/Icon/Home/index.d.ts +0 -2
- package/lib/theme/Icon/Language/index.d.ts +0 -2
- package/lib/theme/Icon/LightMode/index.d.ts +0 -2
- package/lib/theme/Icon/Menu/index.d.ts +0 -2
- package/lib/theme/Icon/Socials/Default/index.d.ts +9 -0
- package/lib/theme/Icon/Socials/Default/index.js +30 -0
- package/lib/theme/Icon/Socials/GitHub/index.d.ts +9 -0
- package/lib/theme/Icon/Socials/GitHub/index.js +25 -0
- package/lib/theme/Icon/Socials/GitHub/styles.module.css +14 -0
- package/lib/theme/Icon/Socials/LinkedIn/index.d.ts +9 -0
- package/lib/theme/Icon/Socials/LinkedIn/index.js +24 -0
- package/lib/theme/Icon/Socials/StackOverflow/index.d.ts +9 -0
- package/lib/theme/Icon/Socials/StackOverflow/index.js +27 -0
- package/lib/theme/Icon/Socials/Twitter/index.d.ts +9 -0
- package/lib/theme/Icon/Socials/Twitter/index.js +24 -0
- package/lib/theme/Icon/Socials/X/index.d.ts +9 -0
- package/lib/theme/Icon/Socials/X/index.js +25 -0
- package/lib/theme/Icon/Socials/X/styles.module.css +14 -0
- package/lib/theme/Icon/Success/index.d.ts +0 -2
- package/lib/theme/Icon/WordWrap/index.d.ts +0 -2
- package/lib/theme/LastUpdated/index.d.ts +0 -2
- package/lib/theme/Layout/Provider/index.d.ts +0 -2
- package/lib/theme/Layout/Provider/index.js +1 -1
- package/lib/theme/Layout/index.d.ts +0 -3
- package/lib/theme/Logo/index.d.ts +0 -2
- package/lib/theme/MDXComponents/A.d.ts +0 -2
- package/lib/theme/MDXComponents/Code.d.ts +0 -2
- package/lib/theme/MDXComponents/Details.d.ts +0 -2
- package/lib/theme/MDXComponents/Heading.d.ts +0 -2
- package/lib/theme/MDXComponents/Img/index.d.ts +0 -2
- package/lib/theme/MDXComponents/Li.d.ts +0 -1
- package/lib/theme/MDXComponents/Pre.d.ts +0 -1
- package/lib/theme/MDXComponents/Ul/index.d.ts +0 -2
- package/lib/theme/MDXComponents/index.d.ts +0 -1
- package/lib/theme/MDXContent/index.d.ts +0 -2
- package/lib/theme/MDXPage/index.d.ts +0 -2
- package/lib/theme/MDXPage/index.js +10 -13
- package/lib/theme/Mermaid.d.ts +0 -1
- package/lib/theme/Navbar/ColorModeToggle/index.d.ts +0 -2
- package/lib/theme/Navbar/Content/index.d.ts +0 -1
- package/lib/theme/Navbar/Layout/index.d.ts +0 -2
- package/lib/theme/Navbar/Logo/index.d.ts +0 -1
- package/lib/theme/Navbar/MobileSidebar/Header/index.d.ts +0 -1
- package/lib/theme/Navbar/MobileSidebar/Layout/index.d.ts +0 -2
- package/lib/theme/Navbar/MobileSidebar/PrimaryMenu/index.d.ts +0 -1
- package/lib/theme/Navbar/MobileSidebar/SecondaryMenu/index.d.ts +0 -1
- package/lib/theme/Navbar/MobileSidebar/Toggle/index.d.ts +0 -1
- package/lib/theme/Navbar/MobileSidebar/index.d.ts +0 -1
- package/lib/theme/Navbar/Search/index.d.ts +0 -2
- package/lib/theme/Navbar/index.d.ts +0 -1
- package/lib/theme/NavbarItem/ComponentTypes.d.ts +0 -1
- package/lib/theme/NavbarItem/DefaultNavbarItem.d.ts +0 -2
- package/lib/theme/NavbarItem/DocNavbarItem.d.ts +0 -2
- package/lib/theme/NavbarItem/DocNavbarItem.js +4 -2
- package/lib/theme/NavbarItem/DocSidebarNavbarItem.d.ts +0 -2
- package/lib/theme/NavbarItem/DocSidebarNavbarItem.js +4 -2
- package/lib/theme/NavbarItem/DocsVersionDropdownNavbarItem.d.ts +0 -2
- package/lib/theme/NavbarItem/DocsVersionDropdownNavbarItem.js +19 -14
- package/lib/theme/NavbarItem/DocsVersionNavbarItem.d.ts +0 -2
- package/lib/theme/NavbarItem/DocsVersionNavbarItem.js +1 -1
- package/lib/theme/NavbarItem/DropdownNavbarItem/index.d.ts +0 -2
- package/lib/theme/NavbarItem/HtmlNavbarItem.d.ts +0 -2
- package/lib/theme/NavbarItem/LocaleDropdownNavbarItem/index.d.ts +0 -2
- package/lib/theme/NavbarItem/NavbarNavLink.d.ts +0 -2
- package/lib/theme/NavbarItem/SearchNavbarItem.d.ts +0 -2
- package/lib/theme/NavbarItem/index.d.ts +0 -2
- package/lib/theme/NotFound/Content/index.d.ts +0 -2
- package/lib/theme/NotFound/index.d.ts +0 -1
- package/lib/theme/PaginatorNavLink/index.d.ts +0 -2
- package/lib/theme/SearchBar.d.ts +0 -1
- package/lib/theme/SearchMetadata/index.d.ts +0 -2
- package/lib/theme/SiteMetadata/index.d.ts +0 -1
- package/lib/theme/SkipToContent/index.d.ts +0 -1
- package/lib/theme/TOC/index.d.ts +0 -2
- package/lib/theme/TOCCollapsible/CollapseButton/index.d.ts +0 -2
- package/lib/theme/TOCCollapsible/index.d.ts +0 -2
- package/lib/theme/TOCInline/index.d.ts +0 -2
- package/lib/theme/TOCItems/Tree.d.ts +0 -1
- package/lib/theme/TOCItems/index.d.ts +0 -2
- package/lib/theme/TabItem/index.d.ts +0 -2
- package/lib/theme/Tabs/index.d.ts +0 -2
- package/lib/theme/Tabs/index.js +3 -1
- package/lib/theme/Tag/index.d.ts +0 -2
- package/lib/theme/TagsListByLetter/index.d.ts +0 -2
- package/lib/theme/TagsListInline/index.d.ts +0 -2
- package/lib/theme/ThemedImage/index.d.ts +0 -2
- package/lib/translations.js +2 -3
- package/package.json +15 -15
- package/src/getSwizzleConfig.ts +32 -0
- package/src/options.ts +18 -2
- package/src/theme/Blog/Components/Author/Socials/index.tsx +66 -0
- package/src/theme/Blog/Components/Author/Socials/styles.module.css +39 -0
- package/src/theme/Blog/Components/Author/index.tsx +99 -0
- package/src/theme/Blog/Components/Author/styles.module.css +74 -0
- package/src/theme/Blog/Pages/BlogAuthorsListPage/index.tsx +62 -0
- package/src/theme/Blog/Pages/BlogAuthorsListPage/styles.module.css +11 -0
- package/src/theme/Blog/Pages/BlogAuthorsPostsPage/index.tsx +73 -0
- package/src/theme/BlogListPage/StructuredData/index.tsx +1 -1
- package/src/theme/BlogPostItem/Content/index.tsx +1 -1
- package/src/theme/BlogPostItem/Footer/index.tsx +1 -1
- package/src/theme/BlogPostItem/Header/Authors/index.tsx +5 -4
- package/src/theme/BlogPostItem/Header/Authors/styles.module.css +0 -1
- package/src/theme/BlogPostItem/Header/Info/index.tsx +2 -4
- package/src/theme/BlogPostItem/Header/Title/index.tsx +1 -1
- package/src/theme/BlogPostItem/index.tsx +1 -1
- package/src/theme/BlogPostItems/index.tsx +1 -1
- package/src/theme/BlogPostPage/Metadata/index.tsx +1 -1
- package/src/theme/BlogPostPage/StructuredData/index.tsx +1 -1
- package/src/theme/BlogPostPage/index.tsx +7 -4
- package/src/theme/BlogSidebar/Content/index.tsx +57 -0
- package/src/theme/BlogSidebar/Desktop/index.tsx +27 -17
- package/src/theme/BlogSidebar/Desktop/styles.module.css +5 -0
- package/src/theme/BlogSidebar/Mobile/index.tsx +29 -17
- package/src/theme/BlogSidebar/Mobile/styles.module.css +10 -0
- package/src/theme/BlogTagsPostsPage/index.tsx +3 -33
- package/src/theme/ContentVisibility/Draft/index.tsx +27 -0
- package/src/theme/{Unlisted → ContentVisibility/Unlisted}/index.tsx +1 -1
- package/src/theme/ContentVisibility/index.tsx +27 -0
- package/src/theme/DocBreadcrumbs/index.tsx +2 -4
- package/src/theme/DocCard/index.tsx +2 -2
- package/src/theme/DocCardList/index.tsx +1 -1
- package/src/theme/DocCategoryGeneratedIndexPage/index.tsx +2 -4
- package/src/theme/DocItem/Content/index.tsx +1 -1
- package/src/theme/DocItem/Footer/index.tsx +1 -1
- package/src/theme/DocItem/Layout/index.tsx +4 -6
- package/src/theme/DocItem/Metadata/index.tsx +1 -1
- package/src/theme/DocItem/Paginator/index.tsx +1 -1
- package/src/theme/DocItem/TOC/Desktop/index.tsx +1 -1
- package/src/theme/DocItem/TOC/Mobile/index.tsx +1 -1
- package/src/theme/DocItem/index.tsx +1 -1
- package/src/theme/DocRoot/Layout/Main/index.tsx +1 -1
- package/src/theme/DocRoot/Layout/Sidebar/index.tsx +1 -1
- package/src/theme/DocRoot/Layout/index.tsx +1 -1
- package/src/theme/DocRoot/index.tsx +1 -1
- package/src/theme/DocSidebarItem/Category/index.tsx +2 -2
- package/src/theme/DocSidebarItem/Link/index.tsx +1 -1
- package/src/theme/DocSidebarItems/index.tsx +1 -1
- package/src/theme/DocTagDocListPage/index.tsx +1 -1
- package/src/theme/DocVersionBadge/index.tsx +1 -1
- package/src/theme/DocVersionBanner/index.tsx +1 -1
- package/src/theme/DocVersionRoot/index.tsx +3 -3
- package/src/theme/Icon/Socials/Default/index.tsx +33 -0
- package/src/theme/Icon/Socials/GitHub/index.tsx +29 -0
- package/src/theme/Icon/Socials/GitHub/styles.module.css +14 -0
- package/src/theme/Icon/Socials/LinkedIn/index.tsx +27 -0
- package/src/theme/Icon/Socials/StackOverflow/index.tsx +30 -0
- package/src/theme/Icon/Socials/Twitter/index.tsx +27 -0
- package/src/theme/Icon/Socials/X/index.tsx +29 -0
- package/src/theme/Icon/Socials/X/styles.module.css +14 -0
- package/src/theme/Layout/Provider/index.tsx +1 -1
- package/src/theme/MDXPage/index.tsx +10 -13
- package/src/theme/NavbarItem/DocNavbarItem.tsx +4 -2
- package/src/theme/NavbarItem/DocSidebarNavbarItem.tsx +4 -2
- package/src/theme/NavbarItem/DocsVersionDropdownNavbarItem.tsx +32 -16
- package/src/theme/NavbarItem/DocsVersionNavbarItem.tsx +1 -1
- package/src/theme/Tabs/index.tsx +3 -1
- package/src/theme-classic.d.ts +106 -12
- package/lib/theme/BlogPostItem/Header/Author/index.d.ts +0 -10
- package/lib/theme/BlogPostItem/Header/Author/index.js +0 -39
- package/src/theme/BlogPostItem/Header/Author/index.tsx +0 -47
- /package/lib/theme/{Unlisted → ContentVisibility/Unlisted}/index.js +0 -0
|
@@ -4,7 +4,5 @@
|
|
|
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
|
-
/// <reference path="../../../src/theme-classic.d.ts" />
|
|
8
|
-
/// <reference types="react" />
|
|
9
7
|
import type { Props } from '@theme/NavbarItem/NavbarNavLink';
|
|
10
8
|
export default function NavbarNavLink({ activeBasePath, activeBaseRegex, to, href, label, html, isDropdownLink, prependBaseUrlToHref, ...props }: Props): JSX.Element;
|
|
@@ -4,7 +4,5 @@
|
|
|
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
|
-
/// <reference path="../../../src/theme-classic.d.ts" />
|
|
8
|
-
/// <reference types="react" />
|
|
9
7
|
import type { Props } from '@theme/NavbarItem/SearchNavbarItem';
|
|
10
8
|
export default function SearchNavbarItem({ mobile, className, }: Props): JSX.Element | null;
|
|
@@ -4,7 +4,5 @@
|
|
|
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
|
-
/// <reference path="../../../src/theme-classic.d.ts" />
|
|
8
|
-
/// <reference types="react" />
|
|
9
7
|
import type { Props } from '@theme/NavbarItem';
|
|
10
8
|
export default function NavbarItem({ type, ...props }: Props): JSX.Element;
|
|
@@ -4,7 +4,5 @@
|
|
|
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
|
-
/// <reference path="../../../../src/theme-classic.d.ts" />
|
|
8
|
-
/// <reference types="react" />
|
|
9
7
|
import type { Props } from '@theme/NotFound/Content';
|
|
10
8
|
export default function NotFoundContent({ className }: Props): JSX.Element;
|
|
@@ -4,7 +4,5 @@
|
|
|
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
|
-
/// <reference path="../../../src/theme-classic.d.ts" />
|
|
8
|
-
/// <reference types="react" />
|
|
9
7
|
import type { Props } from '@theme/PaginatorNavLink';
|
|
10
8
|
export default function PaginatorNavLink(props: Props): JSX.Element;
|
package/lib/theme/SearchBar.d.ts
CHANGED
|
@@ -4,7 +4,5 @@
|
|
|
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
|
-
/// <reference path="../../../src/theme-classic.d.ts" />
|
|
8
|
-
/// <reference types="react" />
|
|
9
7
|
import type { Props } from '@theme/SearchMetadata';
|
|
10
8
|
export default function SearchMetadata({ locale, version, tag, }: Props): JSX.Element;
|
package/lib/theme/TOC/index.d.ts
CHANGED
|
@@ -4,7 +4,5 @@
|
|
|
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
|
-
/// <reference path="../../../src/theme-classic.d.ts" />
|
|
8
|
-
/// <reference types="react" />
|
|
9
7
|
import type { Props } from '@theme/TOC';
|
|
10
8
|
export default function TOC({ className, ...props }: Props): JSX.Element;
|
|
@@ -4,7 +4,5 @@
|
|
|
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
|
-
/// <reference path="../../../../src/theme-classic.d.ts" />
|
|
8
|
-
/// <reference types="react" />
|
|
9
7
|
import type { Props } from '@theme/TOCCollapsible/CollapseButton';
|
|
10
8
|
export default function TOCCollapsibleCollapseButton({ collapsed, ...props }: Props): JSX.Element;
|
|
@@ -4,7 +4,5 @@
|
|
|
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
|
-
/// <reference path="../../../src/theme-classic.d.ts" />
|
|
8
|
-
/// <reference types="react" />
|
|
9
7
|
import type { Props } from '@theme/TOCCollapsible';
|
|
10
8
|
export default function TOCCollapsible({ toc, className, minHeadingLevel, maxHeadingLevel, }: Props): JSX.Element;
|
|
@@ -4,7 +4,5 @@
|
|
|
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
|
-
/// <reference path="../../../src/theme-classic.d.ts" />
|
|
8
|
-
/// <reference types="react" />
|
|
9
7
|
import type { Props } from '@theme/TOCInline';
|
|
10
8
|
export default function TOCInline({ toc, minHeadingLevel, maxHeadingLevel, }: Props): JSX.Element;
|
|
@@ -4,7 +4,6 @@
|
|
|
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
|
-
/// <reference path="../../../src/theme-classic.d.ts" />
|
|
8
7
|
import React from 'react';
|
|
9
8
|
import type { Props } from '@theme/TOCItems/Tree';
|
|
10
9
|
declare function TOCItemTree({ toc, className, linkClassName, isChild, }: Props): JSX.Element | null;
|
|
@@ -4,7 +4,5 @@
|
|
|
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
|
-
/// <reference path="../../../src/theme-classic.d.ts" />
|
|
8
|
-
/// <reference types="react" />
|
|
9
7
|
import type { Props } from '@theme/TOCItems';
|
|
10
8
|
export default function TOCItems({ toc, className, linkClassName, linkActiveClassName, minHeadingLevel: minHeadingLevelOption, maxHeadingLevel: maxHeadingLevelOption, ...props }: Props): JSX.Element | null;
|
|
@@ -4,7 +4,5 @@
|
|
|
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
|
-
/// <reference path="../../../src/theme-classic.d.ts" />
|
|
8
|
-
/// <reference types="react" />
|
|
9
7
|
import type { Props } from '@theme/TabItem';
|
|
10
8
|
export default function TabItem({ children, hidden, className, }: Props): JSX.Element;
|
|
@@ -4,7 +4,5 @@
|
|
|
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
|
-
/// <reference path="../../../src/theme-classic.d.ts" />
|
|
8
|
-
/// <reference types="react" />
|
|
9
7
|
import type { Props } from '@theme/Tabs';
|
|
10
8
|
export default function Tabs(props: Props): JSX.Element;
|
package/lib/theme/Tabs/index.js
CHANGED
|
@@ -91,7 +91,9 @@ function TabContent({lazy, children, selectedValue}) {
|
|
|
91
91
|
// fail-safe or fail-fast? not sure what's best here
|
|
92
92
|
return null;
|
|
93
93
|
}
|
|
94
|
-
return cloneElement(selectedTabItem, {
|
|
94
|
+
return cloneElement(selectedTabItem, {
|
|
95
|
+
className: clsx('margin-top--md', selectedTabItem.props.className),
|
|
96
|
+
});
|
|
95
97
|
}
|
|
96
98
|
return (
|
|
97
99
|
<div className="margin-top--md">
|
package/lib/theme/Tag/index.d.ts
CHANGED
|
@@ -4,7 +4,5 @@
|
|
|
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
|
-
/// <reference path="../../../src/theme-classic.d.ts" />
|
|
8
|
-
/// <reference types="react" />
|
|
9
7
|
import type { Props } from '@theme/Tag';
|
|
10
8
|
export default function Tag({ permalink, label, count, description, }: Props): JSX.Element;
|
|
@@ -4,7 +4,5 @@
|
|
|
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
|
-
/// <reference path="../../../src/theme-classic.d.ts" />
|
|
8
|
-
/// <reference types="react" />
|
|
9
7
|
import type { Props } from '@theme/TagsListByLetter';
|
|
10
8
|
export default function TagsListByLetter({ tags }: Props): JSX.Element;
|
|
@@ -4,7 +4,5 @@
|
|
|
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
|
-
/// <reference path="../../../src/theme-classic.d.ts" />
|
|
8
|
-
/// <reference types="react" />
|
|
9
7
|
import type { Props } from '@theme/TagsListInline';
|
|
10
8
|
export default function TagsListInline({ tags }: Props): JSX.Element;
|
|
@@ -4,7 +4,5 @@
|
|
|
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
|
-
/// <reference path="../../../src/theme-classic.d.ts" />
|
|
8
|
-
/// <reference types="react" />
|
|
9
7
|
import type { Props } from '@theme/ThemedImage';
|
|
10
8
|
export default function ThemedImage(props: Props): JSX.Element;
|
package/lib/translations.js
CHANGED
|
@@ -6,7 +6,8 @@
|
|
|
6
6
|
* LICENSE file in the root directory of this source tree.
|
|
7
7
|
*/
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.
|
|
9
|
+
exports.getTranslationFiles = getTranslationFiles;
|
|
10
|
+
exports.translateThemeConfig = translateThemeConfig;
|
|
10
11
|
const tslib_1 = require("tslib");
|
|
11
12
|
const lodash_1 = tslib_1.__importDefault(require("lodash"));
|
|
12
13
|
const utils_1 = require("@docusaurus/utils");
|
|
@@ -165,7 +166,6 @@ function getTranslationFiles({ themeConfig, }) {
|
|
|
165
166
|
];
|
|
166
167
|
return translationFiles.filter(Boolean);
|
|
167
168
|
}
|
|
168
|
-
exports.getTranslationFiles = getTranslationFiles;
|
|
169
169
|
function translateThemeConfig({ themeConfig, translationFiles, }) {
|
|
170
170
|
const translationFilesMap = lodash_1.default.keyBy(translationFiles, (f) => f.path);
|
|
171
171
|
return {
|
|
@@ -176,4 +176,3 @@ function translateThemeConfig({ themeConfig, translationFiles, }) {
|
|
|
176
176
|
: undefined,
|
|
177
177
|
};
|
|
178
178
|
}
|
|
179
|
-
exports.translateThemeConfig = translateThemeConfig;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@docusaurus/theme-classic",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.5.0",
|
|
4
4
|
"description": "Classic theme for Docusaurus",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"types": "src/theme-classic.d.ts",
|
|
@@ -20,22 +20,22 @@
|
|
|
20
20
|
"copy:watch": "node ../../admin/scripts/copyUntypedFiles.js --watch"
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"@docusaurus/core": "3.
|
|
24
|
-
"@docusaurus/mdx-loader": "3.
|
|
25
|
-
"@docusaurus/module-type-aliases": "3.
|
|
26
|
-
"@docusaurus/plugin-content-blog": "3.
|
|
27
|
-
"@docusaurus/plugin-content-docs": "3.
|
|
28
|
-
"@docusaurus/plugin-content-pages": "3.
|
|
29
|
-
"@docusaurus/theme-common": "3.
|
|
30
|
-
"@docusaurus/theme-translations": "3.
|
|
31
|
-
"@docusaurus/types": "3.
|
|
32
|
-
"@docusaurus/utils": "3.
|
|
33
|
-
"@docusaurus/utils-common": "3.
|
|
34
|
-
"@docusaurus/utils-validation": "3.
|
|
23
|
+
"@docusaurus/core": "3.5.0",
|
|
24
|
+
"@docusaurus/mdx-loader": "3.5.0",
|
|
25
|
+
"@docusaurus/module-type-aliases": "3.5.0",
|
|
26
|
+
"@docusaurus/plugin-content-blog": "3.5.0",
|
|
27
|
+
"@docusaurus/plugin-content-docs": "3.5.0",
|
|
28
|
+
"@docusaurus/plugin-content-pages": "3.5.0",
|
|
29
|
+
"@docusaurus/theme-common": "3.5.0",
|
|
30
|
+
"@docusaurus/theme-translations": "3.5.0",
|
|
31
|
+
"@docusaurus/types": "3.5.0",
|
|
32
|
+
"@docusaurus/utils": "3.5.0",
|
|
33
|
+
"@docusaurus/utils-common": "3.5.0",
|
|
34
|
+
"@docusaurus/utils-validation": "3.5.0",
|
|
35
35
|
"@mdx-js/react": "^3.0.0",
|
|
36
36
|
"clsx": "^2.0.0",
|
|
37
37
|
"copy-text-to-clipboard": "^3.2.0",
|
|
38
|
-
"infima": "0.2.0-alpha.
|
|
38
|
+
"infima": "0.2.0-alpha.44",
|
|
39
39
|
"lodash": "^4.17.21",
|
|
40
40
|
"nprogress": "^0.2.0",
|
|
41
41
|
"postcss": "^8.4.26",
|
|
@@ -61,5 +61,5 @@
|
|
|
61
61
|
"engines": {
|
|
62
62
|
"node": ">=18.0"
|
|
63
63
|
},
|
|
64
|
-
"gitHead": "
|
|
64
|
+
"gitHead": "cb5829f3c34b26d798b869e38ee25073488140bd"
|
|
65
65
|
}
|
package/src/getSwizzleConfig.ts
CHANGED
|
@@ -127,6 +127,27 @@ export default function getSwizzleConfig(): SwizzleConfig {
|
|
|
127
127
|
description:
|
|
128
128
|
'The object mapping admonition type to a React component.\nUse it to add custom admonition type components, or replace existing ones.\nCan be ejected or wrapped (only manually, see our documentation).',
|
|
129
129
|
},
|
|
130
|
+
Blog: {
|
|
131
|
+
actions: {
|
|
132
|
+
// Forbidden because it's a parent folder, makes the CLI crash atm
|
|
133
|
+
eject: 'forbidden',
|
|
134
|
+
wrap: 'forbidden',
|
|
135
|
+
},
|
|
136
|
+
},
|
|
137
|
+
'Blog/Components': {
|
|
138
|
+
actions: {
|
|
139
|
+
// Forbidden because it's a parent folder, makes the CLI crash atm
|
|
140
|
+
eject: 'forbidden',
|
|
141
|
+
wrap: 'forbidden',
|
|
142
|
+
},
|
|
143
|
+
},
|
|
144
|
+
'Blog/Pages': {
|
|
145
|
+
actions: {
|
|
146
|
+
// Forbidden because it's a parent folder, makes the CLI crash atm
|
|
147
|
+
eject: 'forbidden',
|
|
148
|
+
wrap: 'forbidden',
|
|
149
|
+
},
|
|
150
|
+
},
|
|
130
151
|
CodeBlock: {
|
|
131
152
|
actions: {
|
|
132
153
|
eject: 'safe',
|
|
@@ -289,6 +310,17 @@ export default function getSwizzleConfig(): SwizzleConfig {
|
|
|
289
310
|
},
|
|
290
311
|
description: 'The menu icon component',
|
|
291
312
|
},
|
|
313
|
+
'Icon/Socials': {
|
|
314
|
+
actions: {
|
|
315
|
+
// Forbidden because it's a parent folder, makes the CLI crash atm
|
|
316
|
+
// TODO the CLI should rather support --eject
|
|
317
|
+
// Subfolders can be swizzled
|
|
318
|
+
eject: 'forbidden',
|
|
319
|
+
wrap: 'forbidden',
|
|
320
|
+
},
|
|
321
|
+
description:
|
|
322
|
+
'The Icon/Socials folder is not directly swizzle-able, but you can swizzle its sub-components.',
|
|
323
|
+
},
|
|
292
324
|
MDXComponents: {
|
|
293
325
|
actions: {
|
|
294
326
|
eject: 'safe',
|
package/src/options.ts
CHANGED
|
@@ -15,6 +15,7 @@ import type {
|
|
|
15
15
|
} from '@docusaurus/types';
|
|
16
16
|
|
|
17
17
|
const defaultPrismTheme = themes.palenight;
|
|
18
|
+
|
|
18
19
|
const DEFAULT_DOCS_CONFIG: ThemeConfig['docs'] = {
|
|
19
20
|
versionPersistence: 'localStorage',
|
|
20
21
|
sidebar: {
|
|
@@ -22,11 +23,12 @@ const DEFAULT_DOCS_CONFIG: ThemeConfig['docs'] = {
|
|
|
22
23
|
autoCollapseCategories: false,
|
|
23
24
|
},
|
|
24
25
|
};
|
|
25
|
-
|
|
26
|
+
|
|
27
|
+
const DocsSchema = Joi.object<ThemeConfig['docs']>({
|
|
26
28
|
versionPersistence: Joi.string()
|
|
27
29
|
.equal('localStorage', 'none')
|
|
28
30
|
.default(DEFAULT_DOCS_CONFIG.versionPersistence),
|
|
29
|
-
sidebar: Joi.object({
|
|
31
|
+
sidebar: Joi.object<ThemeConfig['docs']['sidebar']>({
|
|
30
32
|
hideable: Joi.bool().default(DEFAULT_DOCS_CONFIG.sidebar.hideable),
|
|
31
33
|
autoCollapseCategories: Joi.bool().default(
|
|
32
34
|
DEFAULT_DOCS_CONFIG.sidebar.autoCollapseCategories,
|
|
@@ -34,6 +36,18 @@ const DocsSchema = Joi.object({
|
|
|
34
36
|
}).default(DEFAULT_DOCS_CONFIG.sidebar),
|
|
35
37
|
}).default(DEFAULT_DOCS_CONFIG);
|
|
36
38
|
|
|
39
|
+
const DEFAULT_BLOG_CONFIG: ThemeConfig['blog'] = {
|
|
40
|
+
sidebar: {
|
|
41
|
+
groupByYear: true,
|
|
42
|
+
},
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
const BlogSchema = Joi.object<ThemeConfig['blog']>({
|
|
46
|
+
sidebar: Joi.object<ThemeConfig['blog']['sidebar']>({
|
|
47
|
+
groupByYear: Joi.bool().default(DEFAULT_BLOG_CONFIG.sidebar.groupByYear),
|
|
48
|
+
}).default(DEFAULT_BLOG_CONFIG.sidebar),
|
|
49
|
+
}).default(DEFAULT_BLOG_CONFIG);
|
|
50
|
+
|
|
37
51
|
const DEFAULT_COLOR_MODE_CONFIG: ThemeConfig['colorMode'] = {
|
|
38
52
|
defaultMode: 'light',
|
|
39
53
|
disableSwitch: false,
|
|
@@ -43,6 +57,7 @@ const DEFAULT_COLOR_MODE_CONFIG: ThemeConfig['colorMode'] = {
|
|
|
43
57
|
export const DEFAULT_CONFIG: ThemeConfig = {
|
|
44
58
|
colorMode: DEFAULT_COLOR_MODE_CONFIG,
|
|
45
59
|
docs: DEFAULT_DOCS_CONFIG,
|
|
60
|
+
blog: DEFAULT_BLOG_CONFIG,
|
|
46
61
|
metadata: [],
|
|
47
62
|
prism: {
|
|
48
63
|
additionalLanguages: [],
|
|
@@ -333,6 +348,7 @@ export const ThemeConfigSchema = Joi.object<ThemeConfig>({
|
|
|
333
348
|
colorMode: ColorModeSchema,
|
|
334
349
|
image: Joi.string(),
|
|
335
350
|
docs: DocsSchema,
|
|
351
|
+
blog: BlogSchema,
|
|
336
352
|
metadata: Joi.array()
|
|
337
353
|
.items(HtmlMetadataSchema)
|
|
338
354
|
.default(DEFAULT_CONFIG.metadata),
|
|
@@ -0,0 +1,66 @@
|
|
|
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 {ComponentType} from 'react';
|
|
9
|
+
import React from 'react';
|
|
10
|
+
import clsx from 'clsx';
|
|
11
|
+
import Link from '@docusaurus/Link';
|
|
12
|
+
import type {Props} from '@theme/Blog/Components/Author/Socials';
|
|
13
|
+
|
|
14
|
+
import Twitter from '@theme/Icon/Socials/Twitter';
|
|
15
|
+
import GitHub from '@theme/Icon/Socials/GitHub';
|
|
16
|
+
import X from '@theme/Icon/Socials/X';
|
|
17
|
+
import StackOverflow from '@theme/Icon/Socials/StackOverflow';
|
|
18
|
+
import LinkedIn from '@theme/Icon/Socials/LinkedIn';
|
|
19
|
+
import DefaultSocialIcon from '@theme/Icon/Socials/Default';
|
|
20
|
+
|
|
21
|
+
import styles from './styles.module.css';
|
|
22
|
+
|
|
23
|
+
type SocialIcon = ComponentType<{className: string}>;
|
|
24
|
+
|
|
25
|
+
type SocialPlatformConfig = {Icon: SocialIcon; label: string};
|
|
26
|
+
|
|
27
|
+
const SocialPlatformConfigs: Record<string, SocialPlatformConfig> = {
|
|
28
|
+
twitter: {Icon: Twitter, label: 'Twitter'},
|
|
29
|
+
github: {Icon: GitHub, label: 'GitHub'},
|
|
30
|
+
stackoverflow: {Icon: StackOverflow, label: 'Stack Overflow'},
|
|
31
|
+
linkedin: {Icon: LinkedIn, label: 'LinkedIn'},
|
|
32
|
+
x: {Icon: X, label: 'X'},
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
function getSocialPlatformConfig(platformKey: string): SocialPlatformConfig {
|
|
36
|
+
return (
|
|
37
|
+
SocialPlatformConfigs[platformKey] ?? {
|
|
38
|
+
Icon: DefaultSocialIcon,
|
|
39
|
+
label: platformKey,
|
|
40
|
+
}
|
|
41
|
+
);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
function SocialLink({platform, link}: {platform: string; link: string}) {
|
|
45
|
+
const {Icon, label} = getSocialPlatformConfig(platform);
|
|
46
|
+
return (
|
|
47
|
+
<Link className={styles.authorSocialLink} href={link} title={label}>
|
|
48
|
+
<Icon className={clsx(styles.authorSocialLink)} />
|
|
49
|
+
</Link>
|
|
50
|
+
);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
export default function BlogAuthorSocials({
|
|
54
|
+
author,
|
|
55
|
+
}: {
|
|
56
|
+
author: Props['author'];
|
|
57
|
+
}): JSX.Element {
|
|
58
|
+
const entries = Object.entries(author.socials ?? {});
|
|
59
|
+
return (
|
|
60
|
+
<div className={styles.authorSocials}>
|
|
61
|
+
{entries.map(([platform, linkUrl]) => {
|
|
62
|
+
return <SocialLink key={platform} platform={platform} link={linkUrl} />;
|
|
63
|
+
})}
|
|
64
|
+
</div>
|
|
65
|
+
);
|
|
66
|
+
}
|
|
@@ -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
|
+
:root {
|
|
9
|
+
--docusaurus-blog-social-icon-size: 1rem;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.authorSocials {
|
|
13
|
+
/*
|
|
14
|
+
This ensures that container takes height even if there's no social link
|
|
15
|
+
This keeps author names aligned even if only some have socials
|
|
16
|
+
*/
|
|
17
|
+
height: var(--docusaurus-blog-social-icon-size);
|
|
18
|
+
|
|
19
|
+
display: flex;
|
|
20
|
+
flex-wrap: wrap;
|
|
21
|
+
align-items: center;
|
|
22
|
+
line-height: 0;
|
|
23
|
+
overflow: hidden;
|
|
24
|
+
line-clamp: 1;
|
|
25
|
+
-webkit-line-clamp: 1;
|
|
26
|
+
-webkit-box-orient: vertical;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.authorSocialLink {
|
|
30
|
+
height: var(--docusaurus-blog-social-icon-size);
|
|
31
|
+
width: var(--docusaurus-blog-social-icon-size);
|
|
32
|
+
line-height: 0;
|
|
33
|
+
margin-right: 0.4rem;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
.authorSocialIcon {
|
|
37
|
+
width: var(--docusaurus-blog-social-icon-size);
|
|
38
|
+
height: var(--docusaurus-blog-social-icon-size);
|
|
39
|
+
}
|
|
@@ -0,0 +1,99 @@
|
|
|
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 React from 'react';
|
|
9
|
+
import clsx from 'clsx';
|
|
10
|
+
import Link, {type Props as LinkProps} from '@docusaurus/Link';
|
|
11
|
+
import AuthorSocials from '@theme/Blog/Components/Author/Socials';
|
|
12
|
+
import type {Props} from '@theme/Blog/Components/Author';
|
|
13
|
+
import Heading from '@theme/Heading';
|
|
14
|
+
import styles from './styles.module.css';
|
|
15
|
+
|
|
16
|
+
function MaybeLink(props: LinkProps): JSX.Element {
|
|
17
|
+
if (props.href) {
|
|
18
|
+
return <Link {...props} />;
|
|
19
|
+
}
|
|
20
|
+
return <>{props.children}</>;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
function AuthorTitle({title}: {title: string}) {
|
|
24
|
+
return (
|
|
25
|
+
<small className={styles.authorTitle} title={title}>
|
|
26
|
+
{title}
|
|
27
|
+
</small>
|
|
28
|
+
);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
function AuthorName({name, as}: {name: string; as: Props['as']}) {
|
|
32
|
+
if (!as) {
|
|
33
|
+
return <span className={styles.authorName}>{name}</span>;
|
|
34
|
+
} else {
|
|
35
|
+
return (
|
|
36
|
+
<Heading as={as} className={styles.authorName}>
|
|
37
|
+
{name}
|
|
38
|
+
</Heading>
|
|
39
|
+
);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
function AuthorBlogPostCount({count}: {count: number}) {
|
|
44
|
+
return <span className={clsx(styles.authorBlogPostCount)}>{count}</span>;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
// Note: in the future we might want to have multiple "BlogAuthor" components
|
|
48
|
+
// Creating different display modes with the "as" prop may not be the best idea
|
|
49
|
+
// Explainer: https://kyleshevlin.com/prefer-multiple-compositions/
|
|
50
|
+
// For now, we almost use the same design for all cases, so it's good enough
|
|
51
|
+
export default function BlogAuthor({
|
|
52
|
+
as,
|
|
53
|
+
author,
|
|
54
|
+
className,
|
|
55
|
+
count,
|
|
56
|
+
}: Props): JSX.Element {
|
|
57
|
+
const {name, title, url, imageURL, email, page} = author;
|
|
58
|
+
const link =
|
|
59
|
+
page?.permalink || url || (email && `mailto:${email}`) || undefined;
|
|
60
|
+
|
|
61
|
+
return (
|
|
62
|
+
<div
|
|
63
|
+
className={clsx(
|
|
64
|
+
'avatar margin-bottom--sm',
|
|
65
|
+
className,
|
|
66
|
+
styles[`author-as-${as}`],
|
|
67
|
+
)}>
|
|
68
|
+
{imageURL && (
|
|
69
|
+
<MaybeLink href={link} className="avatar__photo-link">
|
|
70
|
+
<img
|
|
71
|
+
className={clsx('avatar__photo', styles.authorImage)}
|
|
72
|
+
src={imageURL}
|
|
73
|
+
alt={name}
|
|
74
|
+
/>
|
|
75
|
+
</MaybeLink>
|
|
76
|
+
)}
|
|
77
|
+
|
|
78
|
+
{(name || title) && (
|
|
79
|
+
<div className={clsx('avatar__intro', styles.authorDetails)}>
|
|
80
|
+
<div className="avatar__name">
|
|
81
|
+
{name && (
|
|
82
|
+
<MaybeLink href={link}>
|
|
83
|
+
<AuthorName name={name} as={as} />
|
|
84
|
+
</MaybeLink>
|
|
85
|
+
)}
|
|
86
|
+
{count && <AuthorBlogPostCount count={count} />}
|
|
87
|
+
</div>
|
|
88
|
+
{!!title && <AuthorTitle title={title} />}
|
|
89
|
+
|
|
90
|
+
{/*
|
|
91
|
+
We always render AuthorSocials even if there's none
|
|
92
|
+
This keeps other things aligned with flexbox layout
|
|
93
|
+
*/}
|
|
94
|
+
<AuthorSocials author={author} />
|
|
95
|
+
</div>
|
|
96
|
+
)}
|
|
97
|
+
</div>
|
|
98
|
+
);
|
|
99
|
+
}
|
|
@@ -0,0 +1,74 @@
|
|
|
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
|
+
.authorImage {
|
|
9
|
+
--ifm-avatar-photo-size: 3.6rem;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.author-as-h1 .authorImage {
|
|
13
|
+
--ifm-avatar-photo-size: 7rem;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.author-as-h2 .authorImage {
|
|
17
|
+
--ifm-avatar-photo-size: 5.4rem;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.authorDetails {
|
|
21
|
+
display: flex;
|
|
22
|
+
flex-direction: column;
|
|
23
|
+
align-items: flex-start;
|
|
24
|
+
justify-content: space-around;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.authorName {
|
|
28
|
+
font-size: 1.1rem;
|
|
29
|
+
line-height: 1.1rem;
|
|
30
|
+
display: flex;
|
|
31
|
+
flex-direction: row;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.author-as-h1 .authorName {
|
|
35
|
+
font-size: 2.4rem;
|
|
36
|
+
line-height: 2.4rem;
|
|
37
|
+
display: inline;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.author-as-h2 .authorName {
|
|
41
|
+
font-size: 1.4rem;
|
|
42
|
+
line-height: 1.4rem;
|
|
43
|
+
display: inline;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.authorTitle {
|
|
47
|
+
font-size: 0.8rem;
|
|
48
|
+
line-height: 0.8rem;
|
|
49
|
+
display: -webkit-box;
|
|
50
|
+
overflow: hidden;
|
|
51
|
+
line-clamp: 1;
|
|
52
|
+
-webkit-line-clamp: 1;
|
|
53
|
+
-webkit-box-orient: vertical;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
.author-as-h1 .authorTitle {
|
|
57
|
+
font-size: 1.2rem;
|
|
58
|
+
line-height: 1.2rem;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
.author-as-h2 .authorTitle {
|
|
62
|
+
font-size: 1rem;
|
|
63
|
+
line-height: 1rem;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
.authorBlogPostCount {
|
|
67
|
+
background: var(--ifm-color-secondary);
|
|
68
|
+
color: var(--ifm-color-black);
|
|
69
|
+
font-size: 0.8rem;
|
|
70
|
+
line-height: 1.2;
|
|
71
|
+
border-radius: var(--ifm-global-radius);
|
|
72
|
+
padding: 0.1rem 0.4rem;
|
|
73
|
+
margin-left: 0.3rem;
|
|
74
|
+
}
|