@seqera/docusaurus-theme-seqera 1.0.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/README.md +26 -0
- package/package.json +66 -0
- package/src/getSwizzleConfig.ts +433 -0
- package/src/index.ts +154 -0
- package/src/inlineScripts.ts +95 -0
- package/src/inlineSvgSprites.ts +7 -0
- package/src/main-styles.css +322 -0
- package/src/nprogress.css +36 -0
- package/src/nprogress.ts +27 -0
- package/src/options.ts +503 -0
- package/src/prism-include-languages.ts +6 -0
- package/src/styles/api.css +42 -0
- package/src/styles/typography.css +342 -0
- package/src/theme/Admonition/Icon/Danger.tsx +15 -0
- package/src/theme/Admonition/Icon/Info.tsx +15 -0
- package/src/theme/Admonition/Icon/Note.tsx +15 -0
- package/src/theme/Admonition/Icon/Tip.tsx +15 -0
- package/src/theme/Admonition/Icon/Warning.tsx +15 -0
- package/src/theme/Admonition/Layout/index.tsx +53 -0
- package/src/theme/Admonition/Layout/styles.module.css +39 -0
- package/src/theme/Admonition/Type/Caution.tsx +34 -0
- package/src/theme/Admonition/Type/Danger.tsx +32 -0
- package/src/theme/Admonition/Type/Info.tsx +32 -0
- package/src/theme/Admonition/Type/Note.tsx +32 -0
- package/src/theme/Admonition/Type/Tip.tsx +32 -0
- package/src/theme/Admonition/Type/Warning.tsx +32 -0
- package/src/theme/Admonition/Types.tsx +33 -0
- package/src/theme/Admonition/index.tsx +23 -0
- package/src/theme/AdmonitionVersioned/AddedInVersion.tsx +14 -0
- package/src/theme/AdmonitionVersioned/AdmonitionVersioned.tsx +66 -0
- package/src/theme/AdmonitionVersioned/ChangedInVersion.tsx +14 -0
- package/src/theme/AdmonitionVersioned/DeprecatedInVersion.tsx +15 -0
- package/src/theme/AdmonitionVersioned/getStableVersion.ts +30 -0
- package/src/theme/AdmonitionVersioned/index.ts +1 -0
- package/src/theme/AdmonitionVersioned/stableVersions.ts +119 -0
- package/src/theme/AnnouncementBar/CloseButton/index.tsx +24 -0
- package/src/theme/AnnouncementBar/CloseButton/styles.module.css +6 -0
- package/src/theme/AnnouncementBar/Content/index.tsx +21 -0
- package/src/theme/AnnouncementBar/Content/styles.module.css +12 -0
- package/src/theme/AnnouncementBar/index.tsx +37 -0
- package/src/theme/AnnouncementBar/styles.module.css +57 -0
- package/src/theme/BackToTopButton/index.tsx +30 -0
- package/src/theme/BackToTopButton/styles.module.css +39 -0
- package/src/theme/Blog/Components/Author/Socials/index.tsx +75 -0
- package/src/theme/Blog/Components/Author/Socials/styles.module.css +34 -0
- package/src/theme/Blog/Components/Author/index.tsx +98 -0
- package/src/theme/Blog/Components/Author/styles.module.css +69 -0
- package/src/theme/Blog/Pages/BlogAuthorsListPage/index.tsx +57 -0
- package/src/theme/Blog/Pages/BlogAuthorsListPage/styles.module.css +6 -0
- package/src/theme/Blog/Pages/BlogAuthorsPostsPage/index.tsx +77 -0
- package/src/theme/BlogArchivePage/index.tsx +102 -0
- package/src/theme/BlogLayout/index.tsx +31 -0
- package/src/theme/BlogListPage/StructuredData/index.tsx +17 -0
- package/src/theme/BlogListPage/index.tsx +57 -0
- package/src/theme/BlogListPaginator/index.tsx +47 -0
- package/src/theme/BlogPostItem/Container/index.tsx +11 -0
- package/src/theme/BlogPostItem/Content/index.tsx +23 -0
- package/src/theme/BlogPostItem/Footer/ReadMoreLink/index.tsx +39 -0
- package/src/theme/BlogPostItem/Footer/index.tsx +85 -0
- package/src/theme/BlogPostItem/Header/Authors/index.tsx +49 -0
- package/src/theme/BlogPostItem/Header/Authors/styles.module.css +15 -0
- package/src/theme/BlogPostItem/Header/Info/index.tsx +77 -0
- package/src/theme/BlogPostItem/Header/Info/styles.module.css +5 -0
- package/src/theme/BlogPostItem/Header/Title/index.tsx +20 -0
- package/src/theme/BlogPostItem/Header/Title/styles.module.css +14 -0
- package/src/theme/BlogPostItem/Header/index.tsx +16 -0
- package/src/theme/BlogPostItem/index.tsx +27 -0
- package/src/theme/BlogPostItems/index.tsx +25 -0
- package/src/theme/BlogPostPage/Metadata/index.tsx +39 -0
- package/src/theme/BlogPostPage/StructuredData/index.tsx +16 -0
- package/src/theme/BlogPostPage/index.tsx +74 -0
- package/src/theme/BlogPostPaginator/index.tsx +46 -0
- package/src/theme/BlogSidebar/Content/index.tsx +52 -0
- package/src/theme/BlogSidebar/Desktop/index.tsx +52 -0
- package/src/theme/BlogSidebar/Desktop/styles.module.css +46 -0
- package/src/theme/BlogSidebar/Mobile/index.tsx +47 -0
- package/src/theme/BlogSidebar/Mobile/styles.module.css +5 -0
- package/src/theme/BlogSidebar/index.tsx +19 -0
- package/src/theme/BlogTagsListPage/index.tsx +33 -0
- package/src/theme/BlogTagsPostsPage/index.tsx +68 -0
- package/src/theme/CodeBlock/Buttons/Button/index.tsx +14 -0
- package/src/theme/CodeBlock/Buttons/CopyButton/index.tsx +82 -0
- package/src/theme/CodeBlock/Buttons/CopyButton/styles.module.css +42 -0
- package/src/theme/CodeBlock/Buttons/WordWrapButton/index.tsx +40 -0
- package/src/theme/CodeBlock/Buttons/WordWrapButton/styles.module.css +10 -0
- package/src/theme/CodeBlock/Buttons/index.tsx +27 -0
- package/src/theme/CodeBlock/Buttons/styles.module.css +32 -0
- package/src/theme/CodeBlock/Container/index.tsx +27 -0
- package/src/theme/CodeBlock/Container/styles.module.css +9 -0
- package/src/theme/CodeBlock/Content/Element.tsx +24 -0
- package/src/theme/CodeBlock/Content/String.tsx +37 -0
- package/src/theme/CodeBlock/Content/index.tsx +79 -0
- package/src/theme/CodeBlock/Content/styles.module.css +30 -0
- package/src/theme/CodeBlock/Layout/index.tsx +29 -0
- package/src/theme/CodeBlock/Layout/styles.module.css +22 -0
- package/src/theme/CodeBlock/Line/Token/index.tsx +13 -0
- package/src/theme/CodeBlock/Line/index.tsx +61 -0
- package/src/theme/CodeBlock/Line/styles.module.css +47 -0
- package/src/theme/CodeBlock/Title/index.tsx +10 -0
- package/src/theme/CodeBlock/index.tsx +40 -0
- package/src/theme/CodeInline/index.tsx +11 -0
- package/src/theme/ColorModeToggle/index.tsx +140 -0
- package/src/theme/ColorModeToggle/styles.module.css +35 -0
- package/src/theme/ContentVisibility/Draft/index.tsx +22 -0
- package/src/theme/ContentVisibility/Unlisted/index.tsx +37 -0
- package/src/theme/ContentVisibility/index.tsx +20 -0
- package/src/theme/Details/index.tsx +21 -0
- package/src/theme/Details/styles.module.css +8 -0
- package/src/theme/DocBreadcrumbs/Items/Home/index.tsx +29 -0
- package/src/theme/DocBreadcrumbs/Items/Home/styles.module.css +9 -0
- package/src/theme/DocBreadcrumbs/StructuredData/index.tsx +19 -0
- package/src/theme/DocBreadcrumbs/index.tsx +98 -0
- package/src/theme/DocBreadcrumbs/styles.module.css +14 -0
- package/src/theme/DocCard/index.tsx +133 -0
- package/src/theme/DocCard/styles.module.css +29 -0
- package/src/theme/DocCardList/index.tsx +43 -0
- package/src/theme/DocCardList/styles.module.css +9 -0
- package/src/theme/DocCategoryGeneratedIndexPage/index.tsx +68 -0
- package/src/theme/DocCategoryGeneratedIndexPage/styles.module.css +13 -0
- package/src/theme/DocItem/Content/index.tsx +43 -0
- package/src/theme/DocItem/Footer/index.tsx +51 -0
- package/src/theme/DocItem/Layout/index.tsx +66 -0
- package/src/theme/DocItem/Layout/styles.module.css +12 -0
- package/src/theme/DocItem/Metadata/index.tsx +17 -0
- package/src/theme/DocItem/Paginator/index.tsx +20 -0
- package/src/theme/DocItem/TOC/Desktop/index.tsx +19 -0
- package/src/theme/DocItem/TOC/Mobile/index.tsx +22 -0
- package/src/theme/DocItem/TOC/Mobile/styles.module.css +26 -0
- package/src/theme/DocItem/index.tsx +23 -0
- package/src/theme/DocPaginator/index.tsx +46 -0
- package/src/theme/DocRoot/Layout/Main/index.tsx +31 -0
- package/src/theme/DocRoot/Layout/Main/styles.module.css +23 -0
- package/src/theme/DocRoot/Layout/Sidebar/ExpandButton/index.tsx +36 -0
- package/src/theme/DocRoot/Layout/Sidebar/ExpandButton/styles.module.css +29 -0
- package/src/theme/DocRoot/Layout/Sidebar/index.tsx +79 -0
- package/src/theme/DocRoot/Layout/Sidebar/styles.module.css +34 -0
- package/src/theme/DocRoot/Layout/index.tsx +32 -0
- package/src/theme/DocRoot/Layout/styles.module.css +11 -0
- package/src/theme/DocRoot/index.tsx +29 -0
- package/src/theme/DocSidebar/Desktop/CollapseButton/index.tsx +34 -0
- package/src/theme/DocSidebar/Desktop/CollapseButton/styles.module.css +42 -0
- package/src/theme/DocSidebar/Desktop/Content/index.tsx +56 -0
- package/src/theme/DocSidebar/Desktop/Content/styles.module.css +18 -0
- package/src/theme/DocSidebar/Desktop/index.tsx +36 -0
- package/src/theme/DocSidebar/Desktop/styles.module.css +39 -0
- package/src/theme/DocSidebar/Mobile/index.tsx +49 -0
- package/src/theme/DocSidebar/index.tsx +25 -0
- package/src/theme/DocSidebarItem/Category/index.tsx +309 -0
- package/src/theme/DocSidebarItem/Category/styles.module.css +35 -0
- package/src/theme/DocSidebarItem/Html/index.tsx +30 -0
- package/src/theme/DocSidebarItem/Html/styles.module.css +8 -0
- package/src/theme/DocSidebarItem/Link/index.tsx +62 -0
- package/src/theme/DocSidebarItem/Link/styles.module.css +13 -0
- package/src/theme/DocSidebarItem/index.tsx +19 -0
- package/src/theme/DocSidebarItems/index.tsx +24 -0
- package/src/theme/DocTagDocListPage/index.tsx +113 -0
- package/src/theme/DocTagsListPage/index.tsx +52 -0
- package/src/theme/DocVersionBadge/index.tsx +29 -0
- package/src/theme/DocVersionBanner/index.tsx +171 -0
- package/src/theme/DocVersionRoot/index.tsx +46 -0
- package/src/theme/DocsRoot/index.tsx +17 -0
- package/src/theme/EditMetaRow/index.tsx +31 -0
- package/src/theme/EditMetaRow/styles.module.css +19 -0
- package/src/theme/EditThisPage/index.tsx +21 -0
- package/src/theme/ErrorPageContent.tsx +38 -0
- package/src/theme/Footer/Copyright/index.tsx +15 -0
- package/src/theme/Footer/Layout/index.tsx +42 -0
- package/src/theme/Footer/LinkItem/index.tsx +31 -0
- package/src/theme/Footer/Links/MultiColumn/index.tsx +53 -0
- package/src/theme/Footer/Links/Simple/index.tsx +38 -0
- package/src/theme/Footer/Links/index.tsx +16 -0
- package/src/theme/Footer/Logo/index.tsx +41 -0
- package/src/theme/Footer/Logo/styles.module.css +11 -0
- package/src/theme/Footer/index.tsx +28 -0
- package/src/theme/Heading/index.tsx +50 -0
- package/src/theme/Heading/styles.module.css +17 -0
- package/src/theme/Homepage/index.tsx +178 -0
- package/src/theme/Icon/AI/index.tsx +21 -0
- package/src/theme/Icon/AWS/index.tsx +22 -0
- package/src/theme/Icon/Arrow/index.tsx +15 -0
- package/src/theme/Icon/Azure/index.tsx +28 -0
- package/src/theme/Icon/Changelog/index.tsx +26 -0
- package/src/theme/Icon/ChatBubble/index.tsx +29 -0
- package/src/theme/Icon/ChatBubbles/index.tsx +42 -0
- package/src/theme/Icon/Close/index.tsx +21 -0
- package/src/theme/Icon/Cog/index.tsx +45 -0
- package/src/theme/Icon/Copy/index.tsx +15 -0
- package/src/theme/Icon/DarkMode/index.tsx +15 -0
- package/src/theme/Icon/Edit/index.tsx +24 -0
- package/src/theme/Icon/Edit/styles.module.css +6 -0
- package/src/theme/Icon/Envelope/index.tsx +33 -0
- package/src/theme/Icon/ExternalLink/index.tsx +30 -0
- package/src/theme/Icon/ExternalLink/styles.module.css +5 -0
- package/src/theme/Icon/Fusion/index.tsx +32 -0
- package/src/theme/Icon/GoogleCloud/index.tsx +56 -0
- package/src/theme/Icon/Home/index.tsx +15 -0
- package/src/theme/Icon/Language/index.tsx +24 -0
- package/src/theme/Icon/LightMode/index.tsx +15 -0
- package/src/theme/Icon/MCP/index.tsx +84 -0
- package/src/theme/Icon/Menu/index.tsx +29 -0
- package/src/theme/Icon/MultiQC/index.tsx +25 -0
- package/src/theme/Icon/Nextflow/index.tsx +25 -0
- package/src/theme/Icon/QuestionMark/index.tsx +46 -0
- package/src/theme/Icon/SeqeraCloud/index.tsx +35 -0
- package/src/theme/Icon/SeqeraEnterprise/index.tsx +372 -0
- package/src/theme/Icon/SeqeraLogo/index.tsx +22 -0
- package/src/theme/Icon/ServiceStatus/index.tsx +101 -0
- package/src/theme/Icon/Sidebar/index.tsx +8 -0
- package/src/theme/Icon/Socials/Bluesky/index.tsx +23 -0
- package/src/theme/Icon/Socials/Bluesky/styles.module.css +9 -0
- package/src/theme/Icon/Socials/Default/index.tsx +28 -0
- package/src/theme/Icon/Socials/Email/index.tsx +23 -0
- package/src/theme/Icon/Socials/GitHub/index.tsx +24 -0
- package/src/theme/Icon/Socials/GitHub/styles.module.css +9 -0
- package/src/theme/Icon/Socials/Instagram/index.tsx +23 -0
- package/src/theme/Icon/Socials/Instagram/styles.module.css +9 -0
- package/src/theme/Icon/Socials/LinkedIn/index.tsx +23 -0
- package/src/theme/Icon/Socials/LinkedIn/styles.module.css +9 -0
- package/src/theme/Icon/Socials/Mastodon/index.tsx +40 -0
- package/src/theme/Icon/Socials/StackOverflow/index.tsx +25 -0
- package/src/theme/Icon/Socials/Threads/index.tsx +25 -0
- package/src/theme/Icon/Socials/Threads/styles.module.css +9 -0
- package/src/theme/Icon/Socials/Twitch/index.tsx +32 -0
- package/src/theme/Icon/Socials/Twitter/index.tsx +22 -0
- package/src/theme/Icon/Socials/X/index.tsx +24 -0
- package/src/theme/Icon/Socials/X/styles.module.css +9 -0
- package/src/theme/Icon/Socials/YouTube/index.tsx +22 -0
- package/src/theme/Icon/Success/index.tsx +15 -0
- package/src/theme/Icon/SystemColorMode/index.tsx +15 -0
- package/src/theme/Icon/Wave/index.tsx +32 -0
- package/src/theme/Icon/WordWrap/index.tsx +15 -0
- package/src/theme/LastUpdated/index.tsx +91 -0
- package/src/theme/Layout/Provider/index.tsx +26 -0
- package/src/theme/Layout/index.tsx +59 -0
- package/src/theme/Layout/styles.module.css +23 -0
- package/src/theme/Logo/index.tsx +78 -0
- package/src/theme/MDXComponents/A/index.tsx +16 -0
- package/src/theme/MDXComponents/Button/index.tsx +43 -0
- package/src/theme/MDXComponents/Code.tsx +26 -0
- package/src/theme/MDXComponents/Details.tsx +26 -0
- package/src/theme/MDXComponents/Heading.tsx +9 -0
- package/src/theme/MDXComponents/Img/index.tsx +23 -0
- package/src/theme/MDXComponents/Img/styles.module.css +5 -0
- package/src/theme/MDXComponents/Li.tsx +17 -0
- package/src/theme/MDXComponents/Pre.tsx +10 -0
- package/src/theme/MDXComponents/Ul/index.tsx +25 -0
- package/src/theme/MDXComponents/Ul/styles.module.css +9 -0
- package/src/theme/MDXComponents/index.tsx +47 -0
- package/src/theme/MDXContent/index.tsx +10 -0
- package/src/theme/MDXPage/index.tsx +87 -0
- package/src/theme/MDXPage/styles.module.css +5 -0
- package/src/theme/Mermaid.tsx +11 -0
- package/src/theme/Navbar/ColorModeToggle/index.tsx +29 -0
- package/src/theme/Navbar/ColorModeToggle/styles.module.css +5 -0
- package/src/theme/Navbar/Content/index.tsx +152 -0
- package/src/theme/Navbar/Content/styles.module.css +19 -0
- package/src/theme/Navbar/Layout/index.tsx +59 -0
- package/src/theme/Navbar/Layout/styles.module.css +9 -0
- package/src/theme/Navbar/Logo/index.tsx +14 -0
- package/src/theme/Navbar/MobileSidebar/Header/index.tsx +37 -0
- package/src/theme/Navbar/MobileSidebar/Layout/index.tsx +72 -0
- package/src/theme/Navbar/MobileSidebar/Layout/styles.module.css +11 -0
- package/src/theme/Navbar/MobileSidebar/PrimaryMenu/index.tsx +90 -0
- package/src/theme/Navbar/MobileSidebar/SecondaryMenu/index.tsx +34 -0
- package/src/theme/Navbar/MobileSidebar/Toggle/index.tsx +25 -0
- package/src/theme/Navbar/MobileSidebar/index.tsx +28 -0
- package/src/theme/Navbar/Search/index.tsx +15 -0
- package/src/theme/Navbar/Search/styles.module.css +22 -0
- package/src/theme/Navbar/Submenu/SubmenuLinks.tsx +136 -0
- package/src/theme/Navbar/Submenu/index.tsx +84 -0
- package/src/theme/Navbar/Submenu/styles.module.css +82 -0
- package/src/theme/Navbar/index.tsx +13 -0
- package/src/theme/NavbarItem/ComponentTypes.tsx +27 -0
- package/src/theme/NavbarItem/DefaultNavbarItem/Desktop/index.tsx +29 -0
- package/src/theme/NavbarItem/DefaultNavbarItem/Mobile/index.tsx +18 -0
- package/src/theme/NavbarItem/DefaultNavbarItem/index.tsx +23 -0
- package/src/theme/NavbarItem/DocNavbarItem.tsx +38 -0
- package/src/theme/NavbarItem/DocSidebarNavbarItem.tsx +33 -0
- package/src/theme/NavbarItem/DocsVersionDropdownNavbarItem.tsx +189 -0
- package/src/theme/NavbarItem/DocsVersionNavbarItem.tsx +22 -0
- package/src/theme/NavbarItem/DropdownNavbarItem/Desktop/index.tsx +81 -0
- package/src/theme/NavbarItem/DropdownNavbarItem/Mobile/index.tsx +161 -0
- package/src/theme/NavbarItem/DropdownNavbarItem/Mobile/styles.module.css +5 -0
- package/src/theme/NavbarItem/DropdownNavbarItem/index.tsx +14 -0
- package/src/theme/NavbarItem/HtmlNavbarItem.tsx +27 -0
- package/src/theme/NavbarItem/LocaleDropdownNavbarItem/index.tsx +128 -0
- package/src/theme/NavbarItem/LocaleDropdownNavbarItem/styles.module.css +6 -0
- package/src/theme/NavbarItem/NavbarNavLink.tsx +69 -0
- package/src/theme/NavbarItem/SearchNavbarItem.tsx +21 -0
- package/src/theme/NavbarItem/index.tsx +23 -0
- package/src/theme/NotFound/Content/index.tsx +34 -0
- package/src/theme/NotFound/index.tsx +22 -0
- package/src/theme/PaginatorNavLink/index.tsx +21 -0
- package/src/theme/SearchBar.tsx +8 -0
- package/src/theme/SearchMetadata/index.tsx +38 -0
- package/src/theme/SiteMetadata/index.tsx +153 -0
- package/src/theme/SkipToContent/index.tsx +9 -0
- package/src/theme/SkipToContent/styles.module.css +16 -0
- package/src/theme/TOC/index.tsx +26 -0
- package/src/theme/TOC/styles.module.css +23 -0
- package/src/theme/TOCCollapsible/CollapseButton/index.tsx +30 -0
- package/src/theme/TOCCollapsible/CollapseButton/styles.module.css +27 -0
- package/src/theme/TOCCollapsible/index.tsx +42 -0
- package/src/theme/TOCCollapsible/styles.module.css +26 -0
- package/src/theme/TOCInline/index.tsx +25 -0
- package/src/theme/TOCInline/styles.module.css +7 -0
- package/src/theme/TOCItems/Tree.tsx +40 -0
- package/src/theme/TOCItems/index.tsx +56 -0
- package/src/theme/TabItem/index.tsx +22 -0
- package/src/theme/TabItem/styles.module.css +5 -0
- package/src/theme/Tabs/index.tsx +167 -0
- package/src/theme/Tabs/styles.module.css +9 -0
- package/src/theme/Tag/index.tsx +30 -0
- package/src/theme/Tag/styles.module.css +65 -0
- package/src/theme/TagsListByLetter/index.tsx +40 -0
- package/src/theme/TagsListByLetter/styles.module.css +6 -0
- package/src/theme/TagsListInline/index.tsx +30 -0
- package/src/theme/TagsListInline/styles.module.css +10 -0
- package/src/theme/ThemeProvider/TitleFormatter/index.tsx +22 -0
- package/src/theme/ThemeProvider/index.tsx +9 -0
- package/src/theme/ThemedImage/index.tsx +21 -0
- package/src/theme/ThemedImage/styles.module.css +13 -0
- package/src/theme/pages/Home/index.tsx +19 -0
- package/src/theme/prism-include-languages.ts +39 -0
- package/src/theme-seqera.d.ts +2277 -0
- package/src/translations.ts +240 -0
- package/tailwind.config.js +7 -0
package/README.md
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Docusaurus Theme Classic
|
|
2
|
+
|
|
3
|
+
A custom Docusaurustheme for Seqera.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
Add `docusaurus/theme-classic` to your package:
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npm i @seqeralabs/docusaurus-theme-seqera
|
|
11
|
+
# or
|
|
12
|
+
yarn add @seqeralabs/docusaurus-theme-seqera
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
Modify your `docusaurus.config.js`:
|
|
16
|
+
|
|
17
|
+
```diff
|
|
18
|
+
module.exports = {
|
|
19
|
+
...
|
|
20
|
+
+ themes: ['@seqeralabs/docusaurus-theme-seqera'],
|
|
21
|
+
...
|
|
22
|
+
}
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## Based on Docusaurus's Classic theme
|
|
26
|
+
See all original components from classic theme can be found [here](https://github.com/facebook/docusaurus/tree/main/packages/docusaurus-theme-classic/src/theme)
|
package/package.json
ADDED
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@seqera/docusaurus-theme-seqera",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Seqera docs theme for Docusaurus",
|
|
5
|
+
"author": "Seqera docs team <education@seqera.io>",
|
|
6
|
+
"license": "Apache-2.0",
|
|
7
|
+
"main": "lib/index.js",
|
|
8
|
+
"types": "src/theme-seqera.d.ts",
|
|
9
|
+
"publishConfig": {
|
|
10
|
+
"access": "public"
|
|
11
|
+
},
|
|
12
|
+
"scripts": {
|
|
13
|
+
"build": "tsc --build && node ../../admin/scripts/copyUntypedFiles.js && prettier --config ../../.prettierrc --write \"lib/theme/**/*.js\"",
|
|
14
|
+
"watch": "run-p -c copy:watch build:watch",
|
|
15
|
+
"build:watch": "tsc --build --watch",
|
|
16
|
+
"copy:watch": "node ../../admin/scripts/copyUntypedFiles.js --watch"
|
|
17
|
+
},
|
|
18
|
+
"dependencies": {
|
|
19
|
+
"@docusaurus/core": "3.9.2",
|
|
20
|
+
"@docusaurus/logger": "3.9.2",
|
|
21
|
+
"@docusaurus/mdx-loader": "3.9.2",
|
|
22
|
+
"@docusaurus/module-type-aliases": "3.9.2",
|
|
23
|
+
"@docusaurus/plugin-content-blog": "3.9.2",
|
|
24
|
+
"@docusaurus/plugin-content-docs": "3.9.2",
|
|
25
|
+
"@docusaurus/plugin-content-pages": "3.9.2",
|
|
26
|
+
"@docusaurus/theme-common": "3.9.2",
|
|
27
|
+
"@docusaurus/theme-translations": "3.9.2",
|
|
28
|
+
"@docusaurus/types": "3.9.2",
|
|
29
|
+
"@docusaurus/utils": "3.9.2",
|
|
30
|
+
"@docusaurus/utils-common": "3.9.2",
|
|
31
|
+
"@docusaurus/utils-validation": "3.9.2",
|
|
32
|
+
"@mdx-js/react": "^3.0.0",
|
|
33
|
+
"@seqera/docusaurus-preset-seqera": "1.0.0",
|
|
34
|
+
"@tailwindcss/postcss": "^4.1.17",
|
|
35
|
+
"clsx": "^2.0.0",
|
|
36
|
+
"infima": "0.2.0-alpha.45",
|
|
37
|
+
"lodash": "^4.17.21",
|
|
38
|
+
"nprogress": "^0.2.0",
|
|
39
|
+
"postcss": "^8.5.6",
|
|
40
|
+
"prism-react-renderer": "^2.3.0",
|
|
41
|
+
"prismjs": "^1.29.0",
|
|
42
|
+
"raw-loader": "^4.0.2",
|
|
43
|
+
"react-router-dom": "^5.3.4",
|
|
44
|
+
"rtlcss": "^4.1.0",
|
|
45
|
+
"tailwindcss": "^4.1.17",
|
|
46
|
+
"tslib": "^2.6.0",
|
|
47
|
+
"utility-types": "^3.10.0"
|
|
48
|
+
},
|
|
49
|
+
"devDependencies": {
|
|
50
|
+
"@tailwindcss/typography": "^0.5.19",
|
|
51
|
+
"@types/nprogress": "^0.2.0",
|
|
52
|
+
"@types/prismjs": "^1.26.0",
|
|
53
|
+
"@types/rtlcss": "^3.5.1",
|
|
54
|
+
"daisyui": "^5.5.5",
|
|
55
|
+
"fs-extra": "^11.1.1",
|
|
56
|
+
"react-test-renderer": "^18.0.0",
|
|
57
|
+
"utility-types": "^3.10.0"
|
|
58
|
+
},
|
|
59
|
+
"peerDependencies": {
|
|
60
|
+
"react": "^18.0.0 || ^19.0.0",
|
|
61
|
+
"react-dom": "^18.0.0 || ^19.0.0"
|
|
62
|
+
},
|
|
63
|
+
"engines": {
|
|
64
|
+
"node": ">=20.0"
|
|
65
|
+
}
|
|
66
|
+
}
|
|
@@ -0,0 +1,433 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
import type {SwizzleConfig} from '@docusaurus/types';
|
|
4
|
+
|
|
5
|
+
/* eslint sort-keys: "error" */
|
|
6
|
+
|
|
7
|
+
export default function getSwizzleConfig(): SwizzleConfig {
|
|
8
|
+
return {
|
|
9
|
+
components: {
|
|
10
|
+
'Admonition/Icon': {
|
|
11
|
+
actions: {
|
|
12
|
+
eject: 'safe',
|
|
13
|
+
wrap: 'forbidden', // Can't wrap a folder
|
|
14
|
+
},
|
|
15
|
+
description: 'The folder containing all admonition icons',
|
|
16
|
+
},
|
|
17
|
+
'Admonition/Icon/Danger': {
|
|
18
|
+
actions: {
|
|
19
|
+
eject: 'safe',
|
|
20
|
+
wrap: 'safe',
|
|
21
|
+
},
|
|
22
|
+
description: 'The admonition danger icon',
|
|
23
|
+
},
|
|
24
|
+
'Admonition/Icon/Info': {
|
|
25
|
+
actions: {
|
|
26
|
+
eject: 'safe',
|
|
27
|
+
wrap: 'safe',
|
|
28
|
+
},
|
|
29
|
+
description: 'The admonition info icon',
|
|
30
|
+
},
|
|
31
|
+
'Admonition/Icon/Note': {
|
|
32
|
+
actions: {
|
|
33
|
+
eject: 'safe',
|
|
34
|
+
wrap: 'safe',
|
|
35
|
+
},
|
|
36
|
+
description: 'The admonition note icon',
|
|
37
|
+
},
|
|
38
|
+
'Admonition/Icon/Tip': {
|
|
39
|
+
actions: {
|
|
40
|
+
eject: 'safe',
|
|
41
|
+
wrap: 'safe',
|
|
42
|
+
},
|
|
43
|
+
description: 'The admonition tip icon',
|
|
44
|
+
},
|
|
45
|
+
'Admonition/Icon/Warning': {
|
|
46
|
+
actions: {
|
|
47
|
+
eject: 'safe',
|
|
48
|
+
wrap: 'safe',
|
|
49
|
+
},
|
|
50
|
+
description: 'The admonition warning icon',
|
|
51
|
+
},
|
|
52
|
+
'Admonition/Layout': {
|
|
53
|
+
actions: {
|
|
54
|
+
eject: 'safe',
|
|
55
|
+
wrap: 'safe',
|
|
56
|
+
},
|
|
57
|
+
description:
|
|
58
|
+
'The standard admonition layout applied to all default admonition types',
|
|
59
|
+
},
|
|
60
|
+
'Admonition/Type': {
|
|
61
|
+
actions: {
|
|
62
|
+
eject: 'safe',
|
|
63
|
+
wrap: 'forbidden',
|
|
64
|
+
},
|
|
65
|
+
description:
|
|
66
|
+
'The folder containing all the admonition type components.',
|
|
67
|
+
},
|
|
68
|
+
'Admonition/Type/Caution': {
|
|
69
|
+
actions: {
|
|
70
|
+
eject: 'safe',
|
|
71
|
+
wrap: 'safe',
|
|
72
|
+
},
|
|
73
|
+
description:
|
|
74
|
+
'The component responsible for rendering a :::caution admonition type',
|
|
75
|
+
},
|
|
76
|
+
'Admonition/Type/Danger': {
|
|
77
|
+
actions: {
|
|
78
|
+
eject: 'safe',
|
|
79
|
+
wrap: 'safe',
|
|
80
|
+
},
|
|
81
|
+
description:
|
|
82
|
+
'The component responsible for rendering a :::danger admonition type',
|
|
83
|
+
},
|
|
84
|
+
'Admonition/Type/Info': {
|
|
85
|
+
actions: {
|
|
86
|
+
eject: 'safe',
|
|
87
|
+
wrap: 'safe',
|
|
88
|
+
},
|
|
89
|
+
description:
|
|
90
|
+
'The component responsible for rendering a :::info admonition type',
|
|
91
|
+
},
|
|
92
|
+
'Admonition/Type/Note': {
|
|
93
|
+
actions: {
|
|
94
|
+
eject: 'safe',
|
|
95
|
+
wrap: 'safe',
|
|
96
|
+
},
|
|
97
|
+
description:
|
|
98
|
+
'The component responsible for rendering a :::note admonition type',
|
|
99
|
+
},
|
|
100
|
+
'Admonition/Type/Tip': {
|
|
101
|
+
actions: {
|
|
102
|
+
eject: 'safe',
|
|
103
|
+
wrap: 'safe',
|
|
104
|
+
},
|
|
105
|
+
description:
|
|
106
|
+
'The component responsible for rendering a :::tip admonition type',
|
|
107
|
+
},
|
|
108
|
+
'Admonition/Type/Warning': {
|
|
109
|
+
actions: {
|
|
110
|
+
eject: 'safe',
|
|
111
|
+
wrap: 'safe',
|
|
112
|
+
},
|
|
113
|
+
description:
|
|
114
|
+
'The component responsible for rendering a :::warning admonition type',
|
|
115
|
+
},
|
|
116
|
+
'Admonition/Types': {
|
|
117
|
+
actions: {
|
|
118
|
+
eject: 'safe',
|
|
119
|
+
// TODO the swizzle CLI should provide a way to wrap such objects
|
|
120
|
+
wrap: 'forbidden',
|
|
121
|
+
},
|
|
122
|
+
description:
|
|
123
|
+
'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).',
|
|
124
|
+
},
|
|
125
|
+
Blog: {
|
|
126
|
+
actions: {
|
|
127
|
+
// Forbidden because it's a parent folder, makes the CLI crash atm
|
|
128
|
+
eject: 'forbidden',
|
|
129
|
+
wrap: 'forbidden',
|
|
130
|
+
},
|
|
131
|
+
},
|
|
132
|
+
'Blog/Components': {
|
|
133
|
+
actions: {
|
|
134
|
+
// Forbidden because it's a parent folder, makes the CLI crash atm
|
|
135
|
+
eject: 'forbidden',
|
|
136
|
+
wrap: 'forbidden',
|
|
137
|
+
},
|
|
138
|
+
},
|
|
139
|
+
'Blog/Pages': {
|
|
140
|
+
actions: {
|
|
141
|
+
// Forbidden because it's a parent folder, makes the CLI crash atm
|
|
142
|
+
eject: 'forbidden',
|
|
143
|
+
wrap: 'forbidden',
|
|
144
|
+
},
|
|
145
|
+
},
|
|
146
|
+
CodeBlock: {
|
|
147
|
+
actions: {
|
|
148
|
+
eject: 'safe',
|
|
149
|
+
wrap: 'safe',
|
|
150
|
+
},
|
|
151
|
+
description:
|
|
152
|
+
'The component used to render multi-line code blocks, generally used in Markdown files.',
|
|
153
|
+
},
|
|
154
|
+
'CodeBlock/Content': {
|
|
155
|
+
actions: {
|
|
156
|
+
eject: 'unsafe',
|
|
157
|
+
wrap: 'unsafe',
|
|
158
|
+
},
|
|
159
|
+
description:
|
|
160
|
+
'The folder containing components responsible for rendering different types of CodeBlock content.',
|
|
161
|
+
},
|
|
162
|
+
ColorModeToggle: {
|
|
163
|
+
actions: {
|
|
164
|
+
eject: 'safe',
|
|
165
|
+
wrap: 'safe',
|
|
166
|
+
},
|
|
167
|
+
description:
|
|
168
|
+
'The color mode toggle to switch between light and dark mode.',
|
|
169
|
+
},
|
|
170
|
+
'DocBreadcrumbs/Items': {
|
|
171
|
+
actions: {
|
|
172
|
+
eject: 'unsafe',
|
|
173
|
+
wrap: 'forbidden', // Can't wrap a folder
|
|
174
|
+
},
|
|
175
|
+
description:
|
|
176
|
+
'The components responsible for rendering the breadcrumb items',
|
|
177
|
+
},
|
|
178
|
+
DocCardList: {
|
|
179
|
+
actions: {
|
|
180
|
+
eject: 'safe',
|
|
181
|
+
wrap: 'safe',
|
|
182
|
+
},
|
|
183
|
+
description:
|
|
184
|
+
'The component responsible for rendering a list of sidebar items cards.\nNotable used on the category generated-index pages.',
|
|
185
|
+
},
|
|
186
|
+
'DocItem/TOC': {
|
|
187
|
+
actions: {
|
|
188
|
+
// Forbidden because it's a parent folder, makes the CLI crash atm
|
|
189
|
+
// TODO the CLI should rather support --eject
|
|
190
|
+
// Subfolders can be swizzled
|
|
191
|
+
eject: 'forbidden',
|
|
192
|
+
wrap: 'forbidden',
|
|
193
|
+
},
|
|
194
|
+
description:
|
|
195
|
+
'The DocItem TOC is not directly swizzle-able, but you can swizzle its sub-components.',
|
|
196
|
+
},
|
|
197
|
+
DocSidebar: {
|
|
198
|
+
actions: {
|
|
199
|
+
eject: 'unsafe', // Too much technical code in sidebar, not very safe atm
|
|
200
|
+
wrap: 'safe',
|
|
201
|
+
},
|
|
202
|
+
description: 'The sidebar component on docs pages',
|
|
203
|
+
},
|
|
204
|
+
Footer: {
|
|
205
|
+
actions: {
|
|
206
|
+
eject: 'safe',
|
|
207
|
+
wrap: 'safe',
|
|
208
|
+
},
|
|
209
|
+
description: "The footer component of your site's layout",
|
|
210
|
+
},
|
|
211
|
+
'Footer/Copyright': {
|
|
212
|
+
actions: {
|
|
213
|
+
eject: 'safe',
|
|
214
|
+
wrap: 'safe',
|
|
215
|
+
},
|
|
216
|
+
description: 'The footer copyright',
|
|
217
|
+
},
|
|
218
|
+
'Footer/Layout': {
|
|
219
|
+
actions: {
|
|
220
|
+
eject: 'safe',
|
|
221
|
+
wrap: 'safe',
|
|
222
|
+
},
|
|
223
|
+
description: 'The footer main layout component',
|
|
224
|
+
},
|
|
225
|
+
'Footer/LinkItem': {
|
|
226
|
+
actions: {
|
|
227
|
+
eject: 'safe',
|
|
228
|
+
wrap: 'safe',
|
|
229
|
+
},
|
|
230
|
+
description: 'The footer link item component',
|
|
231
|
+
},
|
|
232
|
+
'Footer/Links': {
|
|
233
|
+
actions: {
|
|
234
|
+
eject: 'safe',
|
|
235
|
+
wrap: 'safe',
|
|
236
|
+
},
|
|
237
|
+
description: 'The footer component rendering the footer links',
|
|
238
|
+
},
|
|
239
|
+
'Footer/Links/MultiColumn': {
|
|
240
|
+
actions: {
|
|
241
|
+
eject: 'safe',
|
|
242
|
+
wrap: 'safe',
|
|
243
|
+
},
|
|
244
|
+
description:
|
|
245
|
+
'The footer component rendering the footer links with a multi-column layout',
|
|
246
|
+
},
|
|
247
|
+
'Footer/Links/Simple': {
|
|
248
|
+
actions: {
|
|
249
|
+
eject: 'safe',
|
|
250
|
+
wrap: 'safe',
|
|
251
|
+
},
|
|
252
|
+
description:
|
|
253
|
+
'The footer component rendering the footer links with a simple layout (single row)',
|
|
254
|
+
},
|
|
255
|
+
'Footer/Logo': {
|
|
256
|
+
actions: {
|
|
257
|
+
eject: 'safe',
|
|
258
|
+
wrap: 'safe',
|
|
259
|
+
},
|
|
260
|
+
description: 'The footer logo',
|
|
261
|
+
},
|
|
262
|
+
Icon: {
|
|
263
|
+
actions: {
|
|
264
|
+
// Forbidden because it's a parent folder, makes the CLI crash atm
|
|
265
|
+
// TODO the CLI should rather support --eject
|
|
266
|
+
// Subfolders can be swizzled
|
|
267
|
+
eject: 'forbidden',
|
|
268
|
+
wrap: 'forbidden',
|
|
269
|
+
},
|
|
270
|
+
description:
|
|
271
|
+
'The Icon folder is not directly swizzle-able, but you can swizzle its sub-components.',
|
|
272
|
+
},
|
|
273
|
+
'Icon/Arrow': {
|
|
274
|
+
actions: {
|
|
275
|
+
eject: 'safe',
|
|
276
|
+
wrap: 'safe',
|
|
277
|
+
},
|
|
278
|
+
description: 'The arrow icon component',
|
|
279
|
+
},
|
|
280
|
+
'Icon/DarkMode': {
|
|
281
|
+
actions: {
|
|
282
|
+
eject: 'safe',
|
|
283
|
+
wrap: 'safe',
|
|
284
|
+
},
|
|
285
|
+
description: 'The dark mode icon component.',
|
|
286
|
+
},
|
|
287
|
+
'Icon/Edit': {
|
|
288
|
+
actions: {
|
|
289
|
+
eject: 'safe',
|
|
290
|
+
wrap: 'safe',
|
|
291
|
+
},
|
|
292
|
+
description: 'The edit icon component',
|
|
293
|
+
},
|
|
294
|
+
'Icon/LightMode': {
|
|
295
|
+
actions: {
|
|
296
|
+
eject: 'safe',
|
|
297
|
+
wrap: 'safe',
|
|
298
|
+
},
|
|
299
|
+
description: 'The light mode icon component.',
|
|
300
|
+
},
|
|
301
|
+
'Icon/Menu': {
|
|
302
|
+
actions: {
|
|
303
|
+
eject: 'safe',
|
|
304
|
+
wrap: 'safe',
|
|
305
|
+
},
|
|
306
|
+
description: 'The menu icon component',
|
|
307
|
+
},
|
|
308
|
+
'Icon/Socials': {
|
|
309
|
+
actions: {
|
|
310
|
+
// Forbidden because it's a parent folder, makes the CLI crash atm
|
|
311
|
+
// TODO the CLI should rather support --eject
|
|
312
|
+
// Subfolders can be swizzled
|
|
313
|
+
eject: 'forbidden',
|
|
314
|
+
wrap: 'forbidden',
|
|
315
|
+
},
|
|
316
|
+
description:
|
|
317
|
+
'The Icon/Socials folder is not directly swizzle-able, but you can swizzle its sub-components.',
|
|
318
|
+
},
|
|
319
|
+
MDXComponents: {
|
|
320
|
+
actions: {
|
|
321
|
+
eject: 'safe',
|
|
322
|
+
wrap: 'forbidden', /// TODO allow wrapping objects???
|
|
323
|
+
},
|
|
324
|
+
description:
|
|
325
|
+
'The MDX components to use for rendering MDX files. Meant to be ejected.',
|
|
326
|
+
},
|
|
327
|
+
'MDXComponents/A': {
|
|
328
|
+
actions: {
|
|
329
|
+
eject: 'safe',
|
|
330
|
+
wrap: 'safe',
|
|
331
|
+
},
|
|
332
|
+
description:
|
|
333
|
+
'The component used to render <a> tags and Markdown links in MDX',
|
|
334
|
+
},
|
|
335
|
+
'MDXComponents/Code': {
|
|
336
|
+
actions: {
|
|
337
|
+
eject: 'safe',
|
|
338
|
+
wrap: 'safe',
|
|
339
|
+
},
|
|
340
|
+
description:
|
|
341
|
+
'The component used to render <code> tags and Markdown code blocks in MDX',
|
|
342
|
+
},
|
|
343
|
+
'MDXComponents/Details': {
|
|
344
|
+
actions: {
|
|
345
|
+
eject: 'safe',
|
|
346
|
+
wrap: 'safe',
|
|
347
|
+
},
|
|
348
|
+
description: 'The component used to render <details> tags in MDX',
|
|
349
|
+
},
|
|
350
|
+
'MDXComponents/Heading': {
|
|
351
|
+
actions: {
|
|
352
|
+
eject: 'safe',
|
|
353
|
+
wrap: 'safe',
|
|
354
|
+
},
|
|
355
|
+
description:
|
|
356
|
+
'The component used to render heading tags (<h1>, <h2>...) and Markdown headings in MDX',
|
|
357
|
+
},
|
|
358
|
+
'MDXComponents/Img': {
|
|
359
|
+
actions: {
|
|
360
|
+
eject: 'safe',
|
|
361
|
+
wrap: 'safe',
|
|
362
|
+
},
|
|
363
|
+
description:
|
|
364
|
+
'The component used to render <img> tags and Markdown images in MDX',
|
|
365
|
+
},
|
|
366
|
+
'MDXComponents/Pre': {
|
|
367
|
+
actions: {
|
|
368
|
+
eject: 'safe',
|
|
369
|
+
wrap: 'safe',
|
|
370
|
+
},
|
|
371
|
+
description: 'The component used to render <pre> tags in MDX',
|
|
372
|
+
},
|
|
373
|
+
'MDXComponents/Ul': {
|
|
374
|
+
actions: {
|
|
375
|
+
eject: 'safe',
|
|
376
|
+
wrap: 'safe',
|
|
377
|
+
},
|
|
378
|
+
description:
|
|
379
|
+
'The component used to render <ul> tags and Markdown unordered lists in MDX',
|
|
380
|
+
},
|
|
381
|
+
MDXContent: {
|
|
382
|
+
actions: {
|
|
383
|
+
eject: 'safe',
|
|
384
|
+
wrap: 'safe',
|
|
385
|
+
},
|
|
386
|
+
description:
|
|
387
|
+
'A component wrapping all MDX content and providing the MDXComponents to the MDX context',
|
|
388
|
+
},
|
|
389
|
+
'NavbarItem/ComponentTypes': {
|
|
390
|
+
actions: {
|
|
391
|
+
eject: 'safe',
|
|
392
|
+
wrap: 'forbidden',
|
|
393
|
+
},
|
|
394
|
+
description:
|
|
395
|
+
'The Navbar item components mapping. Can be ejected to add custom navbar item types.\nSee https://github.com/facebook/docusaurus/issues/7227.',
|
|
396
|
+
},
|
|
397
|
+
NotFound: {
|
|
398
|
+
actions: {
|
|
399
|
+
eject: 'safe',
|
|
400
|
+
wrap: 'safe',
|
|
401
|
+
},
|
|
402
|
+
description:
|
|
403
|
+
'The global 404 page of your site, meant to be ejected and customized',
|
|
404
|
+
},
|
|
405
|
+
SearchBar: {
|
|
406
|
+
actions: {
|
|
407
|
+
eject: 'safe',
|
|
408
|
+
wrap: 'safe',
|
|
409
|
+
},
|
|
410
|
+
// TODO how to describe this one properly?
|
|
411
|
+
// By default it's an empty placeholder for the user to fill
|
|
412
|
+
description:
|
|
413
|
+
'The search bar component of your site, appearing in the navbar.',
|
|
414
|
+
},
|
|
415
|
+
SkipToContent: {
|
|
416
|
+
actions: {
|
|
417
|
+
eject: 'safe',
|
|
418
|
+
wrap: 'safe',
|
|
419
|
+
},
|
|
420
|
+
description:
|
|
421
|
+
'The component responsible for implementing the accessibility "skip to content" link (https://www.w3.org/TR/WCAG20-TECHS/G1.html)',
|
|
422
|
+
},
|
|
423
|
+
'prism-include-languages': {
|
|
424
|
+
actions: {
|
|
425
|
+
eject: 'safe',
|
|
426
|
+
wrap: 'forbidden', // Not a component!
|
|
427
|
+
},
|
|
428
|
+
description:
|
|
429
|
+
'The Prism languages to include for code block syntax highlighting. Meant to be ejected.',
|
|
430
|
+
},
|
|
431
|
+
},
|
|
432
|
+
};
|
|
433
|
+
}
|
package/src/index.ts
ADDED
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
import path from 'path';
|
|
2
|
+
import rtlcss from 'rtlcss';
|
|
3
|
+
import {readDefaultCodeTranslationMessages} from '@docusaurus/theme-translations';
|
|
4
|
+
import {getTranslationFiles, translateThemeConfig} from './translations';
|
|
5
|
+
import {
|
|
6
|
+
getThemeInlineScript,
|
|
7
|
+
getAnnouncementBarInlineScript,
|
|
8
|
+
DataAttributeQueryStringInlineJavaScript,
|
|
9
|
+
} from './inlineScripts';
|
|
10
|
+
import {SvgSpriteDefs} from './inlineSvgSprites';
|
|
11
|
+
import type {LoadContext, Plugin, PostCssOptions} from '@docusaurus/types';
|
|
12
|
+
import type {Plugin as PostCssPlugin} from 'postcss';
|
|
13
|
+
import type {
|
|
14
|
+
PluginOptions,
|
|
15
|
+
ThemeConfig,
|
|
16
|
+
} from "@seqeralabs/docusaurus-theme-seqera";
|
|
17
|
+
import postcssImport from "postcss-import";
|
|
18
|
+
|
|
19
|
+
function getInfimaCSSFile(direction: string) {
|
|
20
|
+
return `infima/dist/css/default/default${
|
|
21
|
+
direction === 'rtl' ? '-rtl' : ''
|
|
22
|
+
}.css`;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
function getPurgeCSSPath(siteDir?: string): string[] {
|
|
26
|
+
const purge = [
|
|
27
|
+
'!**/node_modules/**', // Exclude node_modules first
|
|
28
|
+
`${__dirname}/theme/**/*.{js,jsx,ts,tsx}`
|
|
29
|
+
];
|
|
30
|
+
if (siteDir) {
|
|
31
|
+
purge.push(`${siteDir}/**/*.{js,jsx,ts,tsx,mdx}`);
|
|
32
|
+
}
|
|
33
|
+
return purge;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export default function themeSeqera(
|
|
37
|
+
context: LoadContext,
|
|
38
|
+
options: PluginOptions,
|
|
39
|
+
): Plugin<undefined> {
|
|
40
|
+
const {
|
|
41
|
+
siteDir,
|
|
42
|
+
i18n: {currentLocale, localeConfigs},
|
|
43
|
+
siteStorage,
|
|
44
|
+
} = context;
|
|
45
|
+
const themeConfig = context.siteConfig.themeConfig as ThemeConfig;
|
|
46
|
+
const {
|
|
47
|
+
announcementBar,
|
|
48
|
+
colorMode,
|
|
49
|
+
prism: {additionalLanguages},
|
|
50
|
+
} = themeConfig;
|
|
51
|
+
const {customCss} = options;
|
|
52
|
+
const {direction} = localeConfigs[currentLocale]!;
|
|
53
|
+
|
|
54
|
+
return {
|
|
55
|
+
name: 'docusaurus-theme-seqera',
|
|
56
|
+
|
|
57
|
+
getThemePath() {
|
|
58
|
+
return '../lib/theme';
|
|
59
|
+
},
|
|
60
|
+
|
|
61
|
+
getTypeScriptThemePath() {
|
|
62
|
+
return '../src/theme';
|
|
63
|
+
},
|
|
64
|
+
|
|
65
|
+
getTranslationFiles: () => getTranslationFiles({themeConfig}),
|
|
66
|
+
|
|
67
|
+
translateThemeConfig: (params) =>
|
|
68
|
+
translateThemeConfig({
|
|
69
|
+
themeConfig: params.themeConfig as ThemeConfig,
|
|
70
|
+
translationFiles: params.translationFiles,
|
|
71
|
+
}),
|
|
72
|
+
|
|
73
|
+
getDefaultCodeTranslationMessages() {
|
|
74
|
+
return readDefaultCodeTranslationMessages({
|
|
75
|
+
locale: currentLocale,
|
|
76
|
+
name: 'theme-common',
|
|
77
|
+
});
|
|
78
|
+
},
|
|
79
|
+
|
|
80
|
+
getClientModules() {
|
|
81
|
+
const modules = [
|
|
82
|
+
require.resolve(getInfimaCSSFile(direction)),
|
|
83
|
+
'./prism-include-languages',
|
|
84
|
+
'./nprogress',
|
|
85
|
+
'./styles/typography.css',
|
|
86
|
+
'./main-styles.css',
|
|
87
|
+
'./styles/api.css',
|
|
88
|
+
];
|
|
89
|
+
|
|
90
|
+
modules.push(...customCss.map((p) => path.resolve(context.siteDir, p)));
|
|
91
|
+
|
|
92
|
+
return modules;
|
|
93
|
+
},
|
|
94
|
+
|
|
95
|
+
configureWebpack(__config, __isServer, {currentBundler}) {
|
|
96
|
+
const prismLanguages = additionalLanguages
|
|
97
|
+
.map((lang) => `prism-${lang}`)
|
|
98
|
+
.join('|');
|
|
99
|
+
|
|
100
|
+
return {
|
|
101
|
+
module: {
|
|
102
|
+
rules: [
|
|
103
|
+
{
|
|
104
|
+
resourceQuery: /raw/,
|
|
105
|
+
type: 'asset/source',
|
|
106
|
+
},
|
|
107
|
+
],
|
|
108
|
+
},
|
|
109
|
+
plugins: [
|
|
110
|
+
new currentBundler.instance.ContextReplacementPlugin(
|
|
111
|
+
/prismjs[\\/]components$/,
|
|
112
|
+
new RegExp(`^./(${prismLanguages})$`),
|
|
113
|
+
),
|
|
114
|
+
],
|
|
115
|
+
};
|
|
116
|
+
},
|
|
117
|
+
|
|
118
|
+
configurePostCss(postCssOptions: PostCssOptions): PostCssOptions {
|
|
119
|
+
// Tailwind v4 auto-discovers content and config from CSS files
|
|
120
|
+
// Just add the postcss plugin
|
|
121
|
+
postCssOptions.plugins.unshift(
|
|
122
|
+
postcssImport(),
|
|
123
|
+
require('@tailwindcss/postcss')(),
|
|
124
|
+
);
|
|
125
|
+
|
|
126
|
+
return postCssOptions;
|
|
127
|
+
},
|
|
128
|
+
|
|
129
|
+
injectHtmlTags() {
|
|
130
|
+
return {
|
|
131
|
+
preBodyTags: [
|
|
132
|
+
{
|
|
133
|
+
tagName: 'svg',
|
|
134
|
+
attributes: {
|
|
135
|
+
style: 'display: none;',
|
|
136
|
+
},
|
|
137
|
+
innerHTML: SvgSpriteDefs,
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
tagName: 'script',
|
|
141
|
+
innerHTML: `
|
|
142
|
+
${getThemeInlineScript({colorMode, siteStorage})}
|
|
143
|
+
${DataAttributeQueryStringInlineJavaScript}
|
|
144
|
+
${announcementBar ? getAnnouncementBarInlineScript({siteStorage}) : ''}
|
|
145
|
+
`,
|
|
146
|
+
},
|
|
147
|
+
],
|
|
148
|
+
};
|
|
149
|
+
},
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
export {default as getSwizzleConfig} from './getSwizzleConfig';
|
|
154
|
+
export {validateThemeConfig, validateOptions} from './options';
|