This is an automated email from the ASF dual-hosted git repository.
morningman pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris-website.git
The following commit(s) were added to refs/heads/master by this push:
new d587c793326 [feature](app) update header & footer (#273)
d587c793326 is described below
commit d587c793326f4a9c1796ce8e3b7bb2f3ae6e02e9
Author: Jeffrey <[email protected]>
AuthorDate: Wed Jul 26 21:33:22 2023 +0800
[feature](app) update header & footer (#273)
---
docusaurus.config.js | 122 ++++++++++++++++++++++++-----
src/components/Icons/linkedin.tsx | 12 +++
src/components/Icons/youtube.tsx | 12 +++
src/constant/download.data.ts | 2 +-
src/theme/Footer/index.tsx | 43 +++++++---
src/theme/NavbarItem/DefaultNavbarItem.tsx | 76 +++++++-----------
6 files changed, 191 insertions(+), 76 deletions(-)
diff --git a/docusaurus.config.js b/docusaurus.config.js
index 4b87d22f458..3f83e64eb28 100644
--- a/docusaurus.config.js
+++ b/docusaurus.config.js
@@ -162,6 +162,7 @@ const config = {
highlightSearchTermsOnTargetPage: true,
// indexPages: true,
indexDocs: true,
+ docsRouteBasePath: '/',
indexBlog: false,
explicitSearchResultPath: true,
},
@@ -188,19 +189,67 @@ const config = {
items: [
{ to: '/', label: 'Home', position: 'left', exact: true },
{
- type: 'doc',
+ type: "dropdown",
position: 'left',
label: 'Docs',
- docId: 'summary/basic-summary',
- to: '/summary/basic-summary',
+ to: '/docs/dev/summary/basic-summary',
+ items: [
+ {
+ label: 'Learning Path',
+ to: '/learning',
+ align: 'left',
+ },
+ {
+ label: 'Getting Started',
+ to: '/docs/dev/summary/basic-summary',
+ align: 'left',
+ },
+ {
+ label: 'Install and Deploy',
+ to: '/docs/dev/install/standard-deployment',
+ align: 'left',
+ },
+ {
+ label: 'FAQ',
+ to: '/docs/dev/faq/install-faq',
+ align: 'left',
+ },
+ // {
+ // label: 'More Docs',
+ // to: '/docs/dev/get-starting/',
+ // align: 'left',
+ // }
+ ]
},
{ to: '/blog', label: 'Blogs', position: 'left' },
{
label: 'Community',
- type: 'doc',
- docId: 'team',
+ type: "dropdown",
+ to: '/community/team',
position: 'left',
docsPluginId: 'community',
+ items: [
+ // {
+ // label: 'Join Community',
+ // to: '/learning',
+ // align: 'left',
+ // },
+ {
+ label: 'Doris Team',
+ to: '/community/team',
+ align: 'left',
+ },
+ {
+ label: 'How to Contribute',
+ to: '/community/how-to-contribute/',
+ align: 'left',
+ },
+ {
+ label: 'Developer Guide',
+ to: '/community/developer-guide/debug-tool',
+ align: 'left',
+ },
+ ]
},
{ to: '/users', label: 'User Stories', position: 'left' },
{
@@ -227,19 +276,6 @@ const config = {
},
footer: {
links: [
- {
- title: 'Resource',
- items: [
- {
- label: 'Download',
- href: '/download',
- },
- {
- label: 'Docs',
- href: '/learning',
- },
- ],
- },
{
title: 'ASF',
items: [
@@ -269,6 +305,56 @@ const config = {
},
],
},
+ {
+ title: 'Resource',
+ items: [
+ {
+ label: 'Download',
+ href: '/download',
+ },
+ {
+ label: 'Docs',
+ href: '/learning',
+ },
+ {
+ label: 'Blog',
+ href: '/blog',
+ },
+ {
+ label: 'User cases',
+ href: '/users',
+ },
+ {
+ label: 'Courses (coming soon)',
+ href: '/courses',
+ },
+ ],
+ },
+ {
+ title: 'Community Support',
+ items: [
+ {
+ label: 'Doris Team',
+ href: '/community/team',
+ },
+ {
+ label: 'How to Contribute',
+ href: '/community/how-to-contribute/',
+ },
+ {
+ label: 'Source Code',
+ href: 'https://github.com/apache/doris/',
+ },
+ {
+ label: 'Improvement proposal',
+ href:
'https://github.com/apache/doris/discussions',
+ },
+ {
+ label: 'Roadmap',
+ href:
'https://github.com/apache/doris/issues/16392',
+ },
+ ],
+ },
],
logo: {
alt: '',
diff --git a/src/components/Icons/linkedin.tsx
b/src/components/Icons/linkedin.tsx
new file mode 100644
index 00000000000..ebf4396afba
--- /dev/null
+++ b/src/components/Icons/linkedin.tsx
@@ -0,0 +1,12 @@
+import React from 'react';
+
+export function LinkedinIcon() {
+ return (
+ <svg width="2rem" height="2rem" viewBox="0 0 32 32" fill="none"
xmlns="http://www.w3.org/2000/svg">
+ <path
+ d="M4.29925 26.9996H9.66738V11.6781H4.29925V26.9996ZM22.1628
11.1949C19.9409 11.1949 18.7157 11.9388 17.3054
13.7407V11.6777H11.9459V26.9996H17.305V18.6738C17.305 16.9168 18.145 15.1982
20.1535 15.1982C22.162 15.1982 22.6559 16.9164 22.6559 18.632V27H28V18.2902C28
12.2386 24.3854 11.1949 22.1628 11.1949ZM6.99325 4C5.3395 4 4 5.21047 4
6.7046C4 8.19759 5.3395 9.40617 6.99325 9.40617C8.6455 9.40617 9.985 8.19722
9.985 6.7046C9.985 5.21047 8.6455 4 6.99325 4Z"
+ fill="white"
+ />
+ </svg>
+ );
+}
diff --git a/src/components/Icons/youtube.tsx b/src/components/Icons/youtube.tsx
new file mode 100644
index 00000000000..cac79dff7bb
--- /dev/null
+++ b/src/components/Icons/youtube.tsx
@@ -0,0 +1,12 @@
+import React from 'react';
+
+export function YoutubeIcon() {
+ return (
+ <svg width="2em" height="2em" viewBox="0 0 175 123" fill="none"
xmlns="http://www.w3.org/2000/svg">
+ <path
+ d="M171.348 19.1602C169.336 11.6211 163.398 5.68359 155.879
3.67188C142.227 7.15256e-07 87.5 0 87.5 0C87.5 0 32.7734 -7.15256e-07 19.1211
3.65234C11.582 5.66406 5.66406 11.6016 3.65234 19.1406C-7.15256e-07 32.8125 0
61.3281 0 61.3281C0 61.3281 -7.15256e-07 89.8438 3.65234 103.496C5.66406
111.035 11.6016 116.973 19.1211 118.984C32.7734 122.656 87.5 122.656 87.5
122.656C87.5 122.656 142.227 122.656 155.879 118.984C163.418 116.973 169.336
111.035 171.348 103.496C175 89.8438 [...]
+ fill="white"
+ />
+ </svg>
+ );
+}
diff --git a/src/constant/download.data.ts b/src/constant/download.data.ts
index 3ad0e3be55e..e10ac9b30ea 100644
--- a/src/constant/download.data.ts
+++ b/src/constant/download.data.ts
@@ -368,7 +368,7 @@ export function getAllRelease(locale: string) {
{
version: '1.2.4',
date: '2023-04-27',
- note: '/docs/dev/releasenotes/release-1.2.4.1',
+ note: '/docs/dev/releasenotes/release-1.2.4',
download: [
{
cpu: 'X64 ( avx2 )',
diff --git a/src/theme/Footer/index.tsx b/src/theme/Footer/index.tsx
index 6891dada6ae..fe4bbe07bb6 100644
--- a/src/theme/Footer/index.tsx
+++ b/src/theme/Footer/index.tsx
@@ -10,6 +10,9 @@ import { TwitterIcon } from
'@site/src/components/Icons/twitter';
import { SlackIcon } from '@site/src/components/Icons/slack';
import { BilibiliIcon } from '@site/src/components/Icons/bilibili';
import { WechatIcon } from '@site/src/components/Icons/wechat';
+import { YoutubeIcon } from '@site/src/components/Icons/youtube';
+import { LinkedinIcon } from '@site/src/components/Icons/linkedin';
+
import Translate from '@docusaurus/Translate';
function Footer() {
@@ -29,18 +32,28 @@ function Footer() {
<div className="right">
<div className="footer__title">
<Translate id="footer.follow" description="Footer
Follow">
- Follow
+ Connect with Us
</Translate>
</div>
<div className="social-list">
<div className="social">
- <a href="mailto:[email protected]"
title="mail" className="item">
+ <a href="mailto:[email protected]"
target="_blank" title="mail" className="item">
<MailIcon />
</a>
- <a href="https://github.com/apache/doris"
title="github" className="item">
+ <a
+ href="https://github.com/apache/doris"
+ target="_blank"
+ title="github"
+ className="item"
+ >
<GithubIcon />
</a>
- <a href="https://twitter.com/doris_apache"
title="twitter" className="item">
+ <a
+ href="https://twitter.com/doris_apache"
+ target="_blank"
+ title="twitter"
+ className="item"
+ >
<TwitterIcon />
</a>
</div>
@@ -48,18 +61,26 @@ function Footer() {
<a
href="https://join.slack.com/t/apachedoriscommunity/shared_invite/zt-1x7x8fger-F7NoshFQn~djlvGdnEtxUQ"
title="slack"
+ target="_blank"
className="item"
>
<SlackIcon />
</a>
- <a href="https://space.bilibili.com/362350065"
title="bilibili" className="item">
- <BilibiliIcon />
+ <a
+
href="https://www.youtube.com/@apachedoris/channels"
+ title="youtube"
+ target="_blank"
+ className="item"
+ >
+ <YoutubeIcon />
</a>
- <a className="item wechat">
- <WechatIcon />
- <div className="wechat-dropdown">
- <img
src={require('@site/static/images/wechat.png').default} alt="" />
- </div>
+ <a
+
href="https://www.linkedin.com/company/doris-apache/"
+ title="linkedin"
+ target="_blank"
+ className="item"
+ >
+ <LinkedinIcon />
</a>
</div>
</div>
diff --git a/src/theme/NavbarItem/DefaultNavbarItem.tsx
b/src/theme/NavbarItem/DefaultNavbarItem.tsx
index b63d9711ec4..f4f6105d344 100644
--- a/src/theme/NavbarItem/DefaultNavbarItem.tsx
+++ b/src/theme/NavbarItem/DefaultNavbarItem.tsx
@@ -1,59 +1,43 @@
import React from 'react';
import clsx from 'clsx';
import NavbarNavLink from '@theme/NavbarItem/NavbarNavLink';
-import type {
- DesktopOrMobileNavBarItemProps,
- Props,
-} from '@theme/NavbarItem/DefaultNavbarItem';
+import type { DesktopOrMobileNavBarItemProps, Props } from
'@theme/NavbarItem/DefaultNavbarItem';
-function DefaultNavbarItemDesktop({
- className,
- isDropdownItem = false,
- ...props
-}: DesktopOrMobileNavBarItemProps) {
- const element = (
- <NavbarNavLink
- className={clsx(
- isDropdownItem ? 'dropdown__link' : 'navbar__item navbar__link',
- className,
- )}
- isDropdownLink={isDropdownItem}
- {...props}
- />
- );
+function DefaultNavbarItemDesktop({ className, isDropdownItem = false,
...props }: DesktopOrMobileNavBarItemProps) {
+ const element = (
+ <NavbarNavLink
+ className={clsx(isDropdownItem ? 'dropdown__link' : 'navbar__item
navbar__link', className)}
+ isDropdownLink={isDropdownItem}
+ style={{ textAlign: props?.align || 'center' }}
+ {...props}
+ />
+ );
- if (isDropdownItem) {
- return <li>{element}</li>;
- }
+ if (isDropdownItem) {
+ return <li>{element}</li>;
+ }
- return element;
+ return element;
}
-function DefaultNavbarItemMobile({
- className,
- isDropdownItem,
- ...props
-}: DesktopOrMobileNavBarItemProps) {
- return (
- <li className="menu__list-item">
- <NavbarNavLink className={clsx('menu__link', className)} {...props} />
- </li>
- );
+function DefaultNavbarItemMobile({ className, isDropdownItem, ...props }:
DesktopOrMobileNavBarItemProps) {
+ return (
+ <li className="menu__list-item">
+ <NavbarNavLink className={clsx('menu__link', className)}
{...props} />
+ </li>
+ );
}
export default function DefaultNavbarItem({
- mobile = false,
- position, // Need to destructure position from props so that it doesn't get
passed on.
- ...props
+ mobile = false,
+ position, // Need to destructure position from props so that it doesn't
get passed on.
+ ...props
}: Props): JSX.Element {
- const Comp = mobile ? DefaultNavbarItemMobile : DefaultNavbarItemDesktop;
- return (
- <Comp
- {...props}
- activeClassName={
- props.activeClassName ??
- (mobile ? 'menu__link--active' : 'navbar__link--active')
- }
- />
- );
+ const Comp = mobile ? DefaultNavbarItemMobile : DefaultNavbarItemDesktop;
+ return (
+ <Comp
+ {...props}
+ activeClassName={props.activeClassName ?? (mobile ?
'menu__link--active' : 'navbar__link--active')}
+ />
+ );
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]