@seqera/docusaurus-theme-seqera 1.0.6 → 1.0.7
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/index.js +1 -0
- package/lib/languages/prism-nextflow.d.ts +1 -0
- package/lib/languages/prism-nextflow.js +24 -0
- package/lib/main-styles.css +66 -42
- package/lib/styles/admonition-alerts.css +5 -1
- package/lib/styles/api.css +16 -0
- package/lib/styles/buttons.css +55 -0
- package/lib/styles/other-overrides.css +0 -5
- package/lib/styles/typography.css +25 -6
- package/lib/theme/Admonition/Layout/styles.module.css +2 -1
- package/lib/theme/BlogLayout/index.js +1 -1
- package/lib/theme/BlogPostItem/index.js +3 -1
- package/lib/theme/BlogPostPaginator/index.js +1 -1
- package/lib/theme/BlogSidebar/Content/index.js +3 -1
- package/lib/theme/BlogSidebar/Desktop/index.js +40 -4
- package/lib/theme/BlogSidebar/Desktop/rss.svg +1 -0
- package/lib/theme/BlogSidebar/Desktop/styles.module.css +11 -1
- package/lib/theme/BlogSidebar/Mobile/index.js +3 -3
- package/lib/theme/DocItem/Layout/index.js +2 -2
- package/lib/theme/DocItem/Layout/styles.module.css +1 -1
- package/lib/theme/DocRoot/Layout/Main/styles.module.css +4 -1
- package/lib/theme/DocSidebar/Desktop/Content/VersionSwitcher/index.js +11 -0
- package/lib/theme/DocSidebar/Desktop/Content/index.js +6 -2
- package/lib/theme/DocSidebar/Desktop/index.js +9 -1
- package/lib/theme/DocSidebarItem/Html/index.js +1 -1
- package/lib/theme/DocSidebarItem/Link/index.js +1 -1
- package/lib/theme/DocSidebarItem/index.js +3 -3
- package/lib/theme/Footer/Layout/index.js +1 -1
- package/lib/theme/Homepage/index.d.ts +1 -4
- package/lib/theme/Homepage/index.js +37 -43
- package/lib/theme/Navbar/Content/index.js +6 -12
- package/lib/theme/Navbar/Layout/index.js +1 -1
- package/lib/theme/Navbar/MobileSidebar/PrimaryMenu/index.js +3 -3
- package/lib/theme/Navbar/Submenu/SubmenuLinks.js +1 -2
- package/lib/theme/NavbarItem/DefaultNavbarItem/Desktop/index.js +1 -1
- package/lib/theme/NotFound/Content/index.js +1 -3
- package/lib/theme/TOCItems/index.js +1 -1
- package/lib/theme/prism-include-languages.js +13 -2
- package/package.json +1 -2
- package/package.json.bak +66 -0
- package/src/index.ts +1 -0
- package/src/languages/prism-nextflow.js +24 -0
- package/src/main-styles.css +66 -42
- package/src/styles/admonition-alerts.css +5 -1
- package/src/styles/api.css +16 -0
- package/src/styles/buttons.css +55 -0
- package/src/styles/other-overrides.css +0 -5
- package/src/styles/typography.css +25 -6
- package/src/theme/Admonition/Layout/styles.module.css +2 -1
- package/src/theme/BlogLayout/index.tsx +1 -1
- package/src/theme/BlogPostItem/index.tsx +1 -1
- package/src/theme/BlogPostPaginator/index.tsx +1 -1
- package/src/theme/BlogSidebar/Content/index.tsx +1 -1
- package/src/theme/BlogSidebar/Desktop/index.tsx +41 -8
- package/src/theme/BlogSidebar/Desktop/rss.svg +1 -0
- package/src/theme/BlogSidebar/Desktop/styles.module.css +11 -1
- package/src/theme/BlogSidebar/Mobile/index.tsx +3 -3
- package/src/theme/DocItem/Layout/index.tsx +2 -2
- package/src/theme/DocItem/Layout/styles.module.css +1 -1
- package/src/theme/DocRoot/Layout/Main/styles.module.css +4 -1
- package/src/theme/DocSidebar/Desktop/Content/VersionSwitcher/index.tsx +10 -0
- package/src/theme/DocSidebar/Desktop/Content/index.tsx +2 -2
- package/src/theme/DocSidebar/Desktop/index.tsx +8 -1
- package/src/theme/DocSidebarItem/Html/index.tsx +1 -1
- package/src/theme/DocSidebarItem/Link/index.tsx +1 -1
- package/src/theme/DocSidebarItem/index.tsx +3 -3
- package/src/theme/Footer/Layout/index.tsx +1 -1
- package/src/theme/Homepage/index.tsx +37 -47
- package/src/theme/Navbar/Content/index.tsx +6 -12
- package/src/theme/Navbar/Layout/index.tsx +1 -1
- package/src/theme/Navbar/MobileSidebar/PrimaryMenu/index.tsx +3 -3
- package/src/theme/Navbar/Submenu/SubmenuLinks.tsx +1 -2
- package/src/theme/NavbarItem/DefaultNavbarItem/Desktop/index.tsx +1 -1
- package/src/theme/NotFound/Content/index.tsx +1 -1
- package/src/theme/TOCItems/index.tsx +1 -1
- package/src/theme/prism-include-languages.ts +14 -2
|
@@ -18,7 +18,7 @@ export default function DocSidebarItemHtml({
|
|
|
18
18
|
ThemeClassNames.docs.docSidebarItemLinkLevel(level),
|
|
19
19
|
level > 1 &&
|
|
20
20
|
ThemeClassNames.docs.docSidebarItemLinkLevel(level) &&
|
|
21
|
-
'ml-3
|
|
21
|
+
'ml-3',
|
|
22
22
|
defaultStyle && [styles.menuHtmlItem, 'menu__list-item '],
|
|
23
23
|
className,
|
|
24
24
|
)}
|
|
@@ -33,7 +33,7 @@ export default function DocSidebarItemLink({
|
|
|
33
33
|
className={clsx(
|
|
34
34
|
ThemeClassNames.docs.docSidebarItemLink,
|
|
35
35
|
ThemeClassNames.docs.docSidebarItemLinkLevel(level),
|
|
36
|
-
level > 1 && ThemeClassNames.docs.docSidebarItemLinkLevel(level) && 'ml-
|
|
36
|
+
level > 1 && ThemeClassNames.docs.docSidebarItemLinkLevel(level) && 'ml-4',
|
|
37
37
|
'menu__list-item',
|
|
38
38
|
className,
|
|
39
39
|
)}
|
|
@@ -9,11 +9,11 @@ import type {Props} from '@theme/DocSidebarItem';
|
|
|
9
9
|
export default function DocSidebarItem({item, ...props}: Props): ReactNode {
|
|
10
10
|
switch (item.type) {
|
|
11
11
|
case 'category':
|
|
12
|
-
return <div className="mt-3
|
|
12
|
+
return <div className="mt-3"><DocSidebarItemCategory item={item} {...props} /></div>;
|
|
13
13
|
case 'html':
|
|
14
|
-
return <div className="mt-3
|
|
14
|
+
return <div className="mt-3"><DocSidebarItemHtml item={item} {...props} /></div>;
|
|
15
15
|
case 'link':
|
|
16
16
|
default:
|
|
17
|
-
return <div className="mt-3
|
|
17
|
+
return <div className="mt-3"><DocSidebarItemLink item={item} {...props} /></div>;
|
|
18
18
|
}
|
|
19
19
|
}
|
|
@@ -7,13 +7,10 @@ import IconWave from '@theme/Icon/Wave';
|
|
|
7
7
|
import IconSeqeraCloud from '@theme/Icon/SeqeraCloud';
|
|
8
8
|
import IconServiceStatus from '@theme/Icon/ServiceStatus';
|
|
9
9
|
import IconQuestionMark from '@theme/Icon/QuestionMark';
|
|
10
|
-
import IconCog from '@theme/Icon/Cog';
|
|
11
|
-
import IconChangelog from '@theme/Icon/Changelog';
|
|
12
10
|
import IconChatBubbles from '@theme/Icon/ChatBubbles';
|
|
13
11
|
import IconMCP from '@theme/Icon/MCP';
|
|
14
12
|
import IconSeqeraEnterprise from '@theme/Icon/SeqeraEnterprise';
|
|
15
13
|
|
|
16
|
-
|
|
17
14
|
interface CardProps {
|
|
18
15
|
href: string;
|
|
19
16
|
icon: ReactNode;
|
|
@@ -27,24 +24,24 @@ interface CardSectionProps {
|
|
|
27
24
|
}
|
|
28
25
|
|
|
29
26
|
const CARD_DATA = {
|
|
30
|
-
|
|
27
|
+
platform: [
|
|
31
28
|
{
|
|
32
29
|
href: '/platform-cloud',
|
|
33
30
|
icon: <IconSeqeraCloud className="text-black" />,
|
|
34
31
|
title: 'Seqera Cloud',
|
|
35
|
-
description: '
|
|
32
|
+
description: 'Comprehensive platform empowering teams across the entire scientific lifecycle',
|
|
36
33
|
},
|
|
37
34
|
{
|
|
38
35
|
href: '/platform-enterprise',
|
|
39
36
|
icon: <IconSeqeraEnterprise className="text-black" />,
|
|
40
37
|
title: 'Seqera Enterprise',
|
|
41
|
-
description: '
|
|
38
|
+
description: 'Platform management within your own infrastructure for greater control',
|
|
42
39
|
},
|
|
43
40
|
{
|
|
44
|
-
href: '/
|
|
45
|
-
icon: <
|
|
46
|
-
title: '
|
|
47
|
-
description: '
|
|
41
|
+
href: '/fusion',
|
|
42
|
+
icon: <IconFusion className="text-fusion-600" />,
|
|
43
|
+
title: 'Fusion',
|
|
44
|
+
description: 'Optimized file system for cloud-native data pipelines',
|
|
48
45
|
},
|
|
49
46
|
],
|
|
50
47
|
ai: [
|
|
@@ -52,13 +49,13 @@ const CARD_DATA = {
|
|
|
52
49
|
href: '/platform-cloud/seqera-ai',
|
|
53
50
|
icon: <IconAI className="text-black max-w-5.5" />,
|
|
54
51
|
title: 'Seqera AI',
|
|
55
|
-
description: '
|
|
52
|
+
description: 'Intelligent command-line assistant that helps you build, run, and manage bioinformatics workflows',
|
|
56
53
|
},
|
|
57
54
|
{
|
|
58
55
|
href: '/platform-cloud/seqera-mcp',
|
|
59
56
|
icon: <IconMCP className="text-black max-w-5.5" />,
|
|
60
57
|
title: 'Seqera MCP',
|
|
61
|
-
description: '
|
|
58
|
+
description: 'AI assistant that interacts with the Seqera ecosystem',
|
|
62
59
|
},
|
|
63
60
|
],
|
|
64
61
|
openSource: [
|
|
@@ -66,51 +63,39 @@ const CARD_DATA = {
|
|
|
66
63
|
href: '/nextflow',
|
|
67
64
|
icon: <IconNextflow className="text-nextflow-600" />,
|
|
68
65
|
title: 'Nextflow',
|
|
69
|
-
description: '
|
|
66
|
+
description: 'Open-source orchestrator for deploying workflows',
|
|
70
67
|
},
|
|
71
68
|
{
|
|
72
69
|
href: '/wave',
|
|
73
70
|
icon: <IconWave className="text-wave-600" />,
|
|
74
71
|
title: 'Wave',
|
|
75
|
-
description: '
|
|
72
|
+
description: 'Next-generation container provisioning for data analysis',
|
|
76
73
|
},
|
|
77
74
|
{
|
|
78
75
|
href: '/multiqc',
|
|
79
76
|
icon: <IconMultiQC className="text-multiqc-600" />,
|
|
80
77
|
title: 'MultiQC',
|
|
81
|
-
description: '
|
|
82
|
-
},
|
|
83
|
-
{
|
|
84
|
-
href: '/fusion',
|
|
85
|
-
icon: <IconFusion className="text-fusion-600" />,
|
|
86
|
-
title: 'Fusion',
|
|
87
|
-
description: 'optimized file system for cloud-native data pipelines',
|
|
78
|
+
description: 'Open-source tool to aggregate bioinformatic analyses results',
|
|
88
79
|
},
|
|
89
80
|
],
|
|
90
81
|
help: [
|
|
91
|
-
{
|
|
92
|
-
href: '/changelog',
|
|
93
|
-
icon: <IconChangelog className="text-black w-[20px] h-[20px]" />,
|
|
94
|
-
title: 'Changelog',
|
|
95
|
-
description: 'product release notes on latest features and updates.',
|
|
96
|
-
},
|
|
97
82
|
{
|
|
98
83
|
href: 'https://support.seqera.io/',
|
|
99
84
|
icon: <IconQuestionMark className="text-black" />,
|
|
100
85
|
title: 'Support Portal',
|
|
101
|
-
description: '
|
|
86
|
+
description: 'Contact support for help with your platform or enterprise account',
|
|
102
87
|
},
|
|
103
88
|
{
|
|
104
89
|
href: 'https://community.seqera.io/',
|
|
105
90
|
icon: <IconChatBubbles className="text-black" />,
|
|
106
91
|
title: 'Community Forum',
|
|
107
|
-
description: '
|
|
92
|
+
description: 'Discuss, share and network with other users',
|
|
108
93
|
},
|
|
109
94
|
{
|
|
110
95
|
href: 'https://status.seqera.io/',
|
|
111
96
|
icon: <IconServiceStatus className="text-black" />,
|
|
112
97
|
title: 'Service Status',
|
|
113
|
-
description: '
|
|
98
|
+
description: 'Monitor platform performance in real time',
|
|
114
99
|
},
|
|
115
100
|
],
|
|
116
101
|
} as const;
|
|
@@ -140,39 +125,44 @@ function CardGrid({cards}: {cards: readonly CardProps[]}): ReactNode {
|
|
|
140
125
|
}
|
|
141
126
|
|
|
142
127
|
|
|
143
|
-
function
|
|
128
|
+
function CardSection2Col({title, cards}: CardSectionProps): ReactNode {
|
|
144
129
|
return (
|
|
145
|
-
<div className="mt-
|
|
130
|
+
<div className="mt-8">
|
|
146
131
|
<h2 className="text-[2rem] font-display font-medium mb-2">{title}</h2>
|
|
147
132
|
<CardGrid cards={cards} />
|
|
148
133
|
</div>
|
|
149
134
|
);
|
|
150
135
|
}
|
|
151
136
|
|
|
137
|
+
function CardSection3Col({title, cards}: CardSectionProps): ReactNode {
|
|
138
|
+
return (
|
|
139
|
+
<div className="mt-8">
|
|
140
|
+
<h2 className="text-[2rem] font-display font-medium mb-2">{title}</h2>
|
|
141
|
+
<div className="grid grid-cols-1 md:grid-cols-3 gap-4 md:gap-4">
|
|
142
|
+
{cards.map((card) => (
|
|
143
|
+
<Card key={card.href} {...card} />
|
|
144
|
+
))}
|
|
145
|
+
</div>
|
|
146
|
+
</div>
|
|
147
|
+
);
|
|
148
|
+
}
|
|
152
149
|
|
|
153
150
|
|
|
154
151
|
// Main Homepage Component
|
|
155
|
-
export
|
|
156
|
-
children?: ReactNode;
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
export default function Homepage({children}: Props): ReactNode {
|
|
152
|
+
export default function Homepage(): ReactNode {
|
|
160
153
|
return (
|
|
161
154
|
<div className="container-md py-18 prose-base md:prose-lg">
|
|
162
155
|
<h1 className="font-display text-[3rem] font-medium mb-0">
|
|
163
|
-
|
|
156
|
+
Documentation
|
|
164
157
|
</h1>
|
|
165
158
|
<p className="text-xl mb-6">
|
|
166
|
-
Explore our guides, documentation, and examples to build with Seqera
|
|
159
|
+
Explore our guides, documentation, and examples to build with Seqera
|
|
167
160
|
</p>
|
|
168
161
|
|
|
169
|
-
<
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
<CardSection title="Seqera AI and MCP" cards={CARD_DATA.ai} />
|
|
174
|
-
<CardSection title="Open Source" cards={CARD_DATA.openSource} />
|
|
175
|
-
<CardSection title="Additional Resources" cards={CARD_DATA.help} />
|
|
162
|
+
<CardSection3Col title="Open Source" cards={CARD_DATA.openSource} />
|
|
163
|
+
<CardSection3Col title="Platform" cards={CARD_DATA.platform} />
|
|
164
|
+
<CardSection2Col title="Seqera AI" cards={CARD_DATA.ai} />
|
|
165
|
+
<CardSection3Col title="Help" cards={CARD_DATA.help} />
|
|
176
166
|
</div>
|
|
177
167
|
);
|
|
178
|
-
}
|
|
168
|
+
}
|
|
@@ -87,7 +87,7 @@ export default function NavbarContent(): ReactNode {
|
|
|
87
87
|
const searchBarItem = items.find((item) => item.type === 'search');
|
|
88
88
|
|
|
89
89
|
return (
|
|
90
|
-
<div className="w-full flex flex-col">
|
|
90
|
+
<div className="w-full flex flex-col justify-center md:justify-start">
|
|
91
91
|
<div className="md:pt-3 md:pb-1">
|
|
92
92
|
<NavbarContentLayout
|
|
93
93
|
left={
|
|
@@ -105,12 +105,12 @@ export default function NavbarContent(): ReactNode {
|
|
|
105
105
|
</div>
|
|
106
106
|
<div className="hidden md:flex!">
|
|
107
107
|
<a
|
|
108
|
-
className="btn btn-secondary
|
|
108
|
+
className="btn btn-secondary mr-2 "
|
|
109
109
|
href="https://cloud.seqera.io/oauth/login/auth0">
|
|
110
110
|
Log In
|
|
111
111
|
</a>
|
|
112
112
|
<a
|
|
113
|
-
className="btn btn-outline
|
|
113
|
+
className="btn btn-outline"
|
|
114
114
|
href="https://cloud.seqera.io/oauth/login/auth0">
|
|
115
115
|
Sign Up
|
|
116
116
|
</a>
|
|
@@ -128,15 +128,9 @@ export default function NavbarContent(): ReactNode {
|
|
|
128
128
|
<div className="mr-2">
|
|
129
129
|
<Link
|
|
130
130
|
className="navbar__link ml-8 font-normal"
|
|
131
|
-
to={'/platform-
|
|
132
|
-
aria-label="
|
|
133
|
-
|
|
134
|
-
</Link>
|
|
135
|
-
<Link
|
|
136
|
-
className="navbar__link ml-8 font-normal"
|
|
137
|
-
to={'/platform-cloud/seqera-mcp'}
|
|
138
|
-
aria-label="Seqera MCP">
|
|
139
|
-
Seqera MCP
|
|
131
|
+
to={'/platform-api'}
|
|
132
|
+
aria-label="Platform API">
|
|
133
|
+
Platform API
|
|
140
134
|
</Link>
|
|
141
135
|
<Link
|
|
142
136
|
className="navbar__link ml-8 font-normal"
|
|
@@ -39,7 +39,7 @@ export default function NavbarLayout({children}: Props): ReactNode {
|
|
|
39
39
|
})}
|
|
40
40
|
className={clsx(
|
|
41
41
|
ThemeClassNames.layout.navbar.container,
|
|
42
|
-
'navbar border-b border-
|
|
42
|
+
'navbar border-b border-black/20 dark:border-white/20 md:pb-10 px-4 sticky top-0 shadow-none h-[50px] md:h-[78px]',
|
|
43
43
|
'navbar--fixed-top',
|
|
44
44
|
hideOnScroll && [
|
|
45
45
|
styles.navbarHideable,
|
|
@@ -20,14 +20,14 @@ export default function NavbarMobilePrimaryMenu(): ReactNode {
|
|
|
20
20
|
|
|
21
21
|
return (
|
|
22
22
|
<div>
|
|
23
|
-
<div className="relative
|
|
23
|
+
<div className="relative grid grid-cols-2 gap-2 items-stretch w-full max-w-full mb-10">
|
|
24
24
|
<a
|
|
25
|
-
className="btn btn-primary
|
|
25
|
+
className="btn btn-primary w-full"
|
|
26
26
|
href="https://cloud.seqera.io/oauth/login/auth0">
|
|
27
27
|
Log In
|
|
28
28
|
</a>
|
|
29
29
|
<a
|
|
30
|
-
className="btn btn-outline
|
|
30
|
+
className="btn btn-outline w-full"
|
|
31
31
|
href="https://cloud.seqera.io/oauth/login/auth0">
|
|
32
32
|
Sign Up
|
|
33
33
|
</a>
|
|
@@ -84,8 +84,7 @@ function LinkItem({to, children}: LinkItemProps): ReactNode {
|
|
|
84
84
|
'flex items-center gap-2 px-2 rounded-md h-[37px] mb-1',
|
|
85
85
|
'text-sm text-gray-900 dark:text-gray-100',
|
|
86
86
|
'transition-all duration-500 ease-in-out',
|
|
87
|
-
'hover:bg-
|
|
88
|
-
isActive(href) && 'bg-blue-50 dark:bg-blue-900/30',
|
|
87
|
+
'hover:bg-gray-100 dark:hover:bg-gray-800 hover:no-underline',
|
|
89
88
|
)}>
|
|
90
89
|
{children}
|
|
91
90
|
</Link>
|
|
@@ -13,7 +13,7 @@ export default function DefaultNavbarItemDesktop({
|
|
|
13
13
|
const element = (
|
|
14
14
|
<NavbarNavLink
|
|
15
15
|
className={clsx(
|
|
16
|
-
isDropdownItem ? 'dropdown__link' : 'navbar__link mr-8',
|
|
16
|
+
isDropdownItem ? 'dropdown__link' : 'navbar__link mr-8 font-normal',
|
|
17
17
|
className,
|
|
18
18
|
)}
|
|
19
19
|
isDropdownLink={isDropdownItem}
|
|
@@ -25,7 +25,7 @@ export default function NotFoundContent({className}: Props): ReactNode {
|
|
|
25
25
|
404: Something has gone wrong with our dataflow. The page you are looking for does not exist.
|
|
26
26
|
</Translate>
|
|
27
27
|
</p>
|
|
28
|
-
<a className="btn btn-
|
|
28
|
+
<a className="btn btn-primary py-1.5! px-4!" href="/">Back to docs homepage</a>
|
|
29
29
|
|
|
30
30
|
</div>
|
|
31
31
|
</div>
|
|
@@ -12,7 +12,7 @@ import type {Props} from '@theme/TOCItems';
|
|
|
12
12
|
|
|
13
13
|
export default function TOCItems({
|
|
14
14
|
toc,
|
|
15
|
-
className = 'table-of-contents table-of-contents__left-border border-l border-
|
|
15
|
+
className = 'table-of-contents table-of-contents__left-border border-l border-black/20 dark:border-white/20 leading-7',
|
|
16
16
|
linkClassName = 'table-of-contents__link',
|
|
17
17
|
linkActiveClassName = undefined,
|
|
18
18
|
minHeadingLevel: minHeadingLevelOption,
|
|
@@ -27,8 +27,20 @@ export default function prismIncludeLanguages(
|
|
|
27
27
|
// eslint-disable-next-line global-require
|
|
28
28
|
require('prismjs/components/prism-markup-templating.js');
|
|
29
29
|
}
|
|
30
|
-
|
|
31
|
-
|
|
30
|
+
|
|
31
|
+
// Load custom languages from the local languages directory
|
|
32
|
+
if (lang === 'nextflow') {
|
|
33
|
+
// Nextflow requires Groovy as a dependency
|
|
34
|
+
if (!additionalLanguages.includes('groovy')) {
|
|
35
|
+
// eslint-disable-next-line global-require
|
|
36
|
+
require('prismjs/components/prism-groovy');
|
|
37
|
+
}
|
|
38
|
+
// eslint-disable-next-line global-require
|
|
39
|
+
require('../languages/prism-nextflow.js');
|
|
40
|
+
} else {
|
|
41
|
+
// Fall back to standard PrismJS components
|
|
42
|
+
require(`prismjs/components/prism-${lang}`);
|
|
43
|
+
}
|
|
32
44
|
});
|
|
33
45
|
|
|
34
46
|
// Clean up and eventually restore former globalThis.Prism object (if any)
|