This is an automated email from the ASF dual-hosted git repository.

luzhijing 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 dce21141a18 [feature](home) add newsletter (#276)
dce21141a18 is described below

commit dce21141a188b60d719b6c0344a17f95b4ffd58d
Author: Jeffrey <color.d...@gmail.com>
AuthorDate: Mon Jul 31 20:52:40 2023 +0800

    [feature](home) add newsletter (#276)
---
 cspell.json                                       |  12 +++++
 developer_docs/image/newsletter/1690531457611.png | Bin 0 -> 910484 bytes
 developer_docs/image/newsletter/1690531613817.png | Bin 0 -> 266022 bytes
 developer_docs/newsletter.md                      |  10 ++++
 docusaurus.config.js                              |   6 +--
 src/components/Icons/all-blog.tsx                 |  17 +++++++
 src/components/Icons/best-practices.tsx           |  17 +++++++
 src/components/Icons/release-note.tsx             |  13 +++++
 src/components/Icons/tech-sharing.tsx             |  48 ++++++++++++++++++
 src/components/Icons/top-news.tsx                 |  17 +++++++
 src/components/Icons/youtube.tsx                  |   2 +-
 src/components/Newsletter/index.tsx               |  59 ++++++++++++++++++++++
 src/components/Newsletter/style.scss              |  59 ++++++++++++++++++++++
 src/components/PageBanner/styles.scss             |   5 +-
 src/constant/common.ts                            |   5 --
 src/constant/common.tsx                           |  20 ++++++++
 src/constant/newsletter.data.ts                   |  18 +++++++
 src/pages/index.tsx                               |   7 ++-
 18 files changed, 302 insertions(+), 13 deletions(-)

diff --git a/cspell.json b/cspell.json
new file mode 100644
index 00000000000..0e836378f56
--- /dev/null
+++ b/cspell.json
@@ -0,0 +1,12 @@
+{
+    "version": "0.2",
+    "ignorePaths": [],
+    "dictionaryDefinitions": [],
+    "dictionaries": [],
+    "words": [
+        "Moka",
+        "releasenotes"
+    ],
+    "ignoreWords": [],
+    "import": []
+}
diff --git a/developer_docs/image/newsletter/1690531457611.png 
b/developer_docs/image/newsletter/1690531457611.png
new file mode 100644
index 00000000000..a83df9016c6
Binary files /dev/null and b/developer_docs/image/newsletter/1690531457611.png 
differ
diff --git a/developer_docs/image/newsletter/1690531613817.png 
b/developer_docs/image/newsletter/1690531613817.png
new file mode 100644
index 00000000000..713e2e65b0c
Binary files /dev/null and b/developer_docs/image/newsletter/1690531613817.png 
differ
diff --git a/developer_docs/newsletter.md b/developer_docs/newsletter.md
new file mode 100644
index 00000000000..dc40236ccd9
--- /dev/null
+++ b/developer_docs/newsletter.md
@@ -0,0 +1,10 @@
+# Newsletter Update
+
+![1690531457611](image/newsletter/1690531457611.png)
+
+| field   | tag      | title      | to        | hot (boolean)      |
+| ------- | -------- | ---------- | --------- | ------------------ |
+| comment | blog tag | news title | news link | display hot or not |
+|         |          |            |           |                    |
+
+![1690531613817](image/newsletter/1690531613817.png)
diff --git a/docusaurus.config.js b/docusaurus.config.js
index 97a91e49d41..ca708549a77 100644
--- a/docusaurus.config.js
+++ b/docusaurus.config.js
@@ -34,8 +34,8 @@ const config = {
         'https://fonts.googleapis.com/css?family=Montserrat:500',
         'https://fonts.googleapis.com/css?family=Noto+Sans+SC:400',
     ],
-    organizationName: 'doris', // Usually your GitHub org/user name.
-    projectName: 'doris', // Usually your repo name.
+    organizationName: 'apache/doris-website', // Usually your GitHub org/user 
name.
+    projectName: 'apache/doris-website', // Usually your repo name.
     plugins: [
         'docusaurus-plugin-sass',
         versionsPlugin,
@@ -227,7 +227,7 @@ const config = {
                         type: "dropdown",
                         to: '/community/join-community',
                         position: 'left',
-                        docsPluginId: 'community',
+                        // docsPluginId: 'community',
                         items: [
                             {
                                 label: 'Join Community',
diff --git a/src/components/Icons/all-blog.tsx 
b/src/components/Icons/all-blog.tsx
new file mode 100644
index 00000000000..88f482a8ad7
--- /dev/null
+++ b/src/components/Icons/all-blog.tsx
@@ -0,0 +1,17 @@
+import React from 'react';
+
+export function AllBlogIcon() {
+    return (
+        <svg width="20" height="21" viewBox="0 0 20 21" fill="none" 
xmlns="http://www.w3.org/2000/svg";>
+            <rect width="20" height="20" transform="translate(0 0.5)" 
fill="white" />
+            <path
+                d="M4.5 3.625C3.74061 3.625 3.125 4.24061 3.125 5V16C3.125 
16.7594 3.74061 17.375 4.5 17.375H15.5C16.2594 17.375 16.875 16.7594 16.875 
16V11.125C16.875 10.7798 16.5952 10.5 16.25 10.5C15.9048 10.5 15.625 10.7798 
15.625 11.125V16C15.625 16.069 15.569 16.125 15.5 16.125H4.5C4.43097 16.125 
4.375 16.069 4.375 16V5C4.375 4.93096 4.43096 4.875 4.5 4.875H8.125C8.47018 
4.875 8.75 4.59518 8.75 4.25C8.75 3.90482 8.47018 3.625 8.125 3.625H4.5Z"
+                fill="#4C576C"
+            />
+            <path
+                d="M17.1945 5.31432C17.4372 5.0688 17.4348 4.67308 17.1893 
4.43045C16.9438 4.18782 16.5481 4.19016 16.3055 4.43568L10.0448 10.7709C9.99586 
10.8204 9.9159 10.8204 9.86697 10.7709L6.69455 7.56068C6.45192 7.31516 6.0562 
7.31282 5.81068 7.55545C5.56516 7.79808 5.56282 8.1938 5.80545 8.43932L8.97787 
11.6495C9.51613 12.1942 10.3956 12.1942 10.9339 11.6495L17.1945 5.31432Z"
+                fill="#4C576C"
+            />
+        </svg>
+    );
+}
diff --git a/src/components/Icons/best-practices.tsx 
b/src/components/Icons/best-practices.tsx
new file mode 100644
index 00000000000..c232a5327e6
--- /dev/null
+++ b/src/components/Icons/best-practices.tsx
@@ -0,0 +1,17 @@
+import React from 'react';
+
+export function BestPracticesIcon() {
+    return (
+        <svg width="20" height="21" viewBox="0 0 20 21" fill="none" 
xmlns="http://www.w3.org/2000/svg";>
+            <rect width="20" height="20" transform="translate(0 0.25)" 
fill="white" />
+            <path
+                d="M11.0537 5.82757C10.8241 5.46778 10.4268 5.25 10 
5.25C9.57319 5.25 9.17587 5.46778 8.94627 5.82757L8.14887 7.07714L6.71405 
7.44938C6.30091 7.55656 5.97102 7.86713 5.83913 8.27305C5.70723 8.67897 5.79157 
9.12414 6.06281 9.45368L7.00481 10.5982L6.91544 12.0778C6.88971 12.5039 7.08314 
12.9136 7.42844 13.1644C7.77374 13.4153 8.22318 13.4727 8.62041 13.3165L10 
12.7743L11.3796 13.3165C11.7768 13.4727 12.2263 13.4153 12.5716 13.1644C12.9169 
12.9136 13.1103 12.5039 13.0846 12. [...]
+                fill="#4C576C"
+            />
+            <path
+                d="M4.5 2.125C3.74061 2.125 3.125 2.74061 3.125 
3.5V16.6795C3.125 17.6336 4.07286 18.2977 4.96955 17.9719L9.95731 
16.1596C9.98489 16.1496 10.0151 16.1496 10.0427 16.1596L15.0304 17.9719C15.9271 
18.2977 16.875 17.6336 16.875 16.6795V3.5C16.875 2.74061 16.2594 2.125 15.5 
2.125H4.5ZM4.375 3.5C4.375 3.43096 4.43096 3.375 4.5 3.375H15.5C15.569 3.375 
15.625 3.43097 15.625 3.5V16.6795C15.625 16.7663 15.5388 16.8266 15.4573 
16.797L10.4696 14.9848C10.1662 14.8746 9.83378 14.8746 9 [...]
+                fill="#4C576C"
+            />
+        </svg>
+    );
+}
diff --git a/src/components/Icons/release-note.tsx 
b/src/components/Icons/release-note.tsx
new file mode 100644
index 00000000000..d829dd43c17
--- /dev/null
+++ b/src/components/Icons/release-note.tsx
@@ -0,0 +1,13 @@
+import React from 'react';
+
+export function ReleaseNoteIcon() {
+    return (
+        <svg width="20" height="20" viewBox="0 0 20 20" fill="none" 
xmlns="http://www.w3.org/2000/svg";>
+            <rect width="20" height="20" fill="white" />
+            <path
+                d="M7.37354 9.53882V17.0306C7.37568 17.0323 7.37851 17.0341 
7.38192 17.0355C7.38551 17.037 7.3914 17.0388 7.40149 17.0388H12.455C12.4651 
17.0388 12.471 17.037 12.4746 17.0355C12.478 17.0341 12.4808 17.0323 12.4829 
17.0306V9.53882L16.5657 9.53882L9.99998 3.23295L3.43431 
9.53882H7.37354ZM18.5759 9.73636C18.9585 10.1355 18.6691 10.7888 18.1098 
10.7888L13.7329 10.7888V17.0388C13.7329 17.7292 13.1608 18.2888 12.455 
18.2888H7.40149C6.6957 18.2888 6.12354 17.7292 6.12354 17.0388 [...]
+                fill="#4C576C"
+            />
+        </svg>
+    );
+}
diff --git a/src/components/Icons/tech-sharing.tsx 
b/src/components/Icons/tech-sharing.tsx
new file mode 100644
index 00000000000..841837e7388
--- /dev/null
+++ b/src/components/Icons/tech-sharing.tsx
@@ -0,0 +1,48 @@
+import React from 'react';
+
+export function TechSharingIcon() {
+    return (
+        <svg width="26" height="26" viewBox="0 0 26 26" fill="none" 
xmlns="http://www.w3.org/2000/svg";>
+            <g filter="url(#filter0_d_2407_4758)">
+                <rect width="20" height="20" transform="translate(3 3)" 
fill="white" />
+                <path
+                    d="M9.43307 11.9331C9.18899 12.1771 9.18899 12.5729 
9.43307 12.8169L11.424 14.8078L11.491 14.875L11.424 14.9422L9.43307 
16.9331C9.18899 17.1771 9.18899 17.5729 9.43307 17.8169C9.67715 18.061 10.0729 
18.061 10.317 17.8169L12.3202 15.8137C12.3984 15.7355 12.4814 15.6526 12.547 
15.5753C12.6208 15.4883 12.7087 15.3683 12.761 15.2072C12.8312 14.9913 12.8312 
14.7587 12.761 14.5428C12.7087 14.3817 12.6208 14.2617 12.547 14.1747C12.4814 
14.0974 12.3985 14.0145 12.3202 13.9363 [...]
+                    fill="#4C576C"
+                />
+                <path
+                    d="M15.7589 16.75C16.1041 16.75 16.3839 17.0298 16.3839 
17.375C16.3839 17.7202 16.1041 18 15.7589 18H13.625C13.2798 18 13 17.7202 13 
17.375C13 17.0298 13.2798 16.75 13.625 16.75H15.7589Z"
+                    fill="#4C576C"
+                />
+                <path
+                    d="M7.45055 4.875C6.71847 4.875 6.125 5.46847 6.125 
6.20054V19.7995C6.125 20.5315 6.71847 21.125 7.45054 21.125H18.5495C19.2815 
21.125 19.875 20.5315 19.875 19.7995V10.7941C19.875 10.6365 19.8154 10.4847 
19.7082 10.3691L14.7975 5.07496C14.6792 4.94746 14.5132 4.875 14.3393 
4.875H7.45055ZM13.7143 6.125V10.8572C13.7143 11.2024 13.9941 11.4822 14.3393 
11.4822H18.625V19.7995C18.625 19.8412 18.5912 19.875 18.5495 
19.875H7.45054C7.40882 19.875 7.375 19.8412 7.375 19.7995V6. [...]
+                    fill="#4C576C"
+                />
+            </g>
+            <defs>
+                <filter
+                    id="filter0_d_2407_4758"
+                    x="0.5"
+                    y="0.5"
+                    width="25"
+                    height="25"
+                    filterUnits="userSpaceOnUse"
+                    color-interpolation-filters="sRGB"
+                >
+                    <feFlood flood-opacity="0" result="BackgroundImageFix" />
+                    <feColorMatrix
+                        in="SourceAlpha"
+                        type="matrix"
+                        values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"
+                        result="hardAlpha"
+                    />
+                    <feOffset />
+                    <feGaussianBlur stdDeviation="1.25" />
+                    <feComposite in2="hardAlpha" operator="out" />
+                    <feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 
0.39747 0 0 0 0 0.991667 0 0 0 0.08 0" />
+                    <feBlend mode="normal" in2="BackgroundImageFix" 
result="effect1_dropShadow_2407_4758" />
+                    <feBlend mode="normal" in="SourceGraphic" 
in2="effect1_dropShadow_2407_4758" result="shape" />
+                </filter>
+            </defs>
+        </svg>
+    );
+}
diff --git a/src/components/Icons/top-news.tsx 
b/src/components/Icons/top-news.tsx
new file mode 100644
index 00000000000..595c6ae6fa7
--- /dev/null
+++ b/src/components/Icons/top-news.tsx
@@ -0,0 +1,17 @@
+import React from 'react';
+
+export function TopNewsIcon() {
+    return (
+        <svg width="20" height="21" viewBox="0 0 20 21" fill="none" 
xmlns="http://www.w3.org/2000/svg";>
+            <rect width="20" height="20" transform="translate(0 0.5)" 
fill="white" />
+            <path
+                d="M10 2.375C9.65482 2.375 9.375 2.65482 9.375 
3V3.65586C6.21667 3.96944 3.75 6.63416 3.75 9.875V15.375H2.5C2.15482 15.375 
1.875 15.6549 1.875 16C1.875 16.3452 2.15482 16.625 2.5 16.625H17.5C17.8452 
16.625 18.125 16.3452 18.125 16C18.125 15.6549 17.8452 15.375 17.5 
15.375H16.25V9.875C16.25 6.63416 13.7833 3.96944 10.625 3.65586V3C10.625 
2.65482 10.3452 2.375 10 2.375ZM10 4.875C12.7614 4.875 15 7.11358 15 
9.875V15.375H5V9.875C5 7.11358 7.23858 4.875 10 4.875Z"
+                fill="#56637A"
+            />
+            <path
+                d="M7.61925 18.625C7.61925 18.2798 7.89907 18 8.24425 
18H11.9942C12.3394 18 12.6192 18.2798 12.6192 18.625C12.6192 18.9702 12.3394 
19.25 11.9942 19.25H8.24425C7.89907 19.25 7.61925 18.9702 7.61925 18.625Z"
+                fill="#56637A"
+            />
+        </svg>
+    );
+}
diff --git a/src/components/Icons/youtube.tsx b/src/components/Icons/youtube.tsx
index da4c851944c..ed32f467cba 100644
--- a/src/components/Icons/youtube.tsx
+++ b/src/components/Icons/youtube.tsx
@@ -3,7 +3,7 @@ import React from 'react';
 export function YoutubeIcon() {
     return (
         <svg width="2rem" height="2rem" viewBox="0 0 32 32" fill="none" 
xmlns="http://www.w3.org/2000/svg";>
-            <g clip-path="url(#clip0_3462_1106)">
+            <g clipPath="url(#clip0_3462_1106)">
                 <path
                     d="M30.3048 7.66776C30.7927 8.14769 31.1465 8.74331 
31.3319 9.39705C31.7949 11.91 32.0182 14.46 31.9988 17.0138C32.0164 19.558 
31.7931 22.0982 31.3319 24.6017C31.1465 25.2554 30.7927 25.851 30.3048 
26.3309C29.8169 26.8109 29.2115 27.1589 28.5469 27.3413C26.026 28 16.0142 28 
16.0142 28C16.0142 28 5.97317 28 3.48158 27.3413C2.81702 27.1589 2.21154 
26.8109 1.72366 26.3309C1.23579 25.851 0.882017 25.2554 0.696547 
24.6017C0.22555 22.0991 -0.00754264 19.5589 0.000288097 17. [...]
                     fill="white"
diff --git a/src/components/Newsletter/index.tsx 
b/src/components/Newsletter/index.tsx
new file mode 100644
index 00000000000..f514d796b0b
--- /dev/null
+++ b/src/components/Newsletter/index.tsx
@@ -0,0 +1,59 @@
+import React from 'react';
+import { ComponentProps, JSXElementConstructor } from 'react';
+import { ReleaseNoteIcon } from '../Icons/release-note';
+import './style.scss';
+import Link from '@docusaurus/Link';
+import { BLOG_TAG_ICONS } from '@site/src/constant/common';
+interface NewsLetterProps extends ComponentProps<'div'> {
+    newsList: any[];
+}
+export default function NewsLetter(props: NewsLetterProps): JSX.Element {
+    const { newsList, ...restProps } = props;
+    return (
+        <div style={{ padding: '0 1rem' }}>
+            <div className="newsletter-wrapper container" {...restProps}>
+                {newsList.map(news => {
+                    return (
+                        <div className="newsletter" key={news.title}>
+                            <Link to={news.to} style={{ textDecoration: 'none' 
}}>
+                                <span className="newsletter-tag">
+                                    {BLOG_TAG_ICONS[news.tag]}
+                                    {news.tag}
+                                    {news.hot && (
+                                        <svg
+                                            xmlns="http://www.w3.org/2000/svg";
+                                            width="35"
+                                            height="16"
+                                            viewBox="0 0 35 16"
+                                            fill="none"
+                                        >
+                                            <path
+                                                d="M3.01334 1.29775C3.30607 
0.517145 4.05231 0 4.886 0H32.5C33.6046 0 34.5 0.895431 34.5 2V14C34.5 15.1046 
33.6046 16 32.5 16H4.886C4.05231 16 3.30607 15.4829 3.01334 14.7022L0.763342 
8.70225C0.593554 8.24948 0.593554 7.75052 0.763343 7.29775L3.01334 1.29775Z"
+                                                fill="#444FD9"
+                                            />
+                                            <path
+                                                d="M9.5 
4H10.484V7.72H15.44V4H16.424V12.568H15.44V8.572H10.484V12.568H9.5V4Z"
+                                                fill="white"
+                                            />
+                                            <path
+                                                d="M20.7887 6.196C21.7127 
6.196 22.4567 6.508 23.0087 7.156C23.5367 7.768 23.8007 8.536 23.8007 
9.472C23.8007 10.396 23.5367 11.164 23.0207 11.764C22.4567 12.412 21.7127 
12.736 20.7887 12.736C19.8527 12.736 19.1207 12.412 18.5687 11.764C18.0407 
11.164 17.7767 10.396 17.7767 9.472C17.7767 8.536 18.0407 7.768 18.5687 
7.156C19.1207 6.508 19.8527 6.196 20.7887 6.196ZM20.7887 7C20.1287 7 19.6127 
7.252 19.2527 7.756C18.9167 8.212 18.7607 8.776 18 [...]
+                                                fill="white"
+                                            />
+                                            <path
+                                                d="M26.704 
4.36V6.364H28.24V7.168H26.704V11.116C26.704 11.344 26.74 11.512 26.836 
11.608C26.92 11.704 27.076 11.764 27.292 11.764H28.084V12.568H27.148C26.644 
12.568 26.272 12.436 26.056 12.172C25.852 11.932 25.756 11.584 25.756 
11.116V7.168H24.508V6.364H25.756V4.756L26.704 4.36Z"
+                                                fill="white"
+                                            />
+                                        </svg>
+                                    )}
+                                </span>
+                                <span className="newsletter-title" 
key={news.id}>
+                                    {news.title}
+                                </span>
+                            </Link>
+                        </div>
+                    );
+                })}
+            </div>
+        </div>
+    );
+}
diff --git a/src/components/Newsletter/style.scss 
b/src/components/Newsletter/style.scss
new file mode 100644
index 00000000000..da1aab225a5
--- /dev/null
+++ b/src/components/Newsletter/style.scss
@@ -0,0 +1,59 @@
+.newsletter-wrapper {
+    display: flex;
+    justify-content: space-between;
+    margin: 0 auto;
+    padding: 0 1rem;
+    .newsletter {
+        display: flex;
+        width: 24rem;
+        padding: 1.5rem 2rem;
+        flex-direction: column;
+        align-items: flex-start;
+        gap: 10px;
+        border-radius: 12px;
+        border: 1px solid #e6e8fb;
+        background: #fff;
+        cursor: pointer;
+        &:hover {
+            box-shadow: 10px 16px 18px 0px rgba(195, 203, 235, 0.2);
+            text-decoration: none;
+        }
+    }
+    .newsletter-tag {
+        display: flex;
+        align-items: center;
+        gap: 8px;
+        align-self: stretch;
+        color: #252734;
+        font-family: PingFang SC;
+        font-size: 0.75rem;
+        margin-bottom: 1.2rem;
+        font-style: normal;
+        font-weight: 500;
+        line-height: 14px; /* 116.667% */
+    }
+
+    .newsletter-title {
+        color: #484954;
+        font-family: PingFang SC;
+        font-size: 1rem;
+        font-style: normal;
+        font-weight: 500;
+        line-height: 25.6px; /* 160% */
+        overflow: hidden;
+        max-height: 4.8rem;
+        display: block;
+    }
+}
+
+@media (max-width: 1299px) {
+    .newsletter-wrapper {
+        padding: 0 5rem;
+    }
+}
+
+@media (max-width: 996px) {
+    .newsletter-wrapper {
+        padding: 0;
+    }
+}
diff --git a/src/components/PageBanner/styles.scss 
b/src/components/PageBanner/styles.scss
index aa2a606a57f..c03ce6179c9 100644
--- a/src/components/PageBanner/styles.scss
+++ b/src/components/PageBanner/styles.scss
@@ -1,5 +1,5 @@
 .banner-section {
-    height: calc(100vh - var(--global-header-height) - 5rem);
+    height: calc(100vh - var(--global-header-height) - 10rem);
 
     .banner-container {
         height: 100%;
@@ -93,7 +93,7 @@
 
 @media screen and (min-width: 1300px) and (max-width: 1600px) {
     .banner-section {
-        height: calc(100vh - var(--global-header-height) - 5rem);
+        height: calc(100vh - var(--global-header-height) - 10rem);
     }
 }
 
@@ -107,6 +107,7 @@
 @media (max-width: 996px) {
     .banner-section {
         height: auto;
+        padding: 0;
 
         .banner-container {
             flex-direction: column-reverse;
diff --git a/src/constant/common.ts b/src/constant/common.ts
deleted file mode 100644
index d35b002a2b7..00000000000
--- a/src/constant/common.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-export const CLOUD_URL = 'http://59.110.229.79/';
-// export const CLOUD_URL = 'http://cloud.selectdb.com/';
-export const DORIS_DOWNLOAD = 
'https://doris.apache.org/downloads/downloads.html';
-export const DORIS_GITHUB = 'https://github.com/apache/doris';
-export const DORIS_OFFICIAL = 'https://doris.apache.org/';
diff --git a/src/constant/common.tsx b/src/constant/common.tsx
new file mode 100644
index 00000000000..4d8c292309d
--- /dev/null
+++ b/src/constant/common.tsx
@@ -0,0 +1,20 @@
+import React from 'react';
+import { BestPracticesIcon } from '../components/Icons/best-practices';
+import { TechSharingIcon } from '../components/Icons/tech-sharing';
+import { ReleaseNoteIcon } from '../components/Icons/release-note';
+import { AllBlogIcon } from '../components/Icons/all-blog';
+import { TopNewsIcon } from '../components/Icons/top-news';
+
+export const CLOUD_URL = 'http://59.110.229.79/';
+// export const CLOUD_URL = 'http://cloud.selectdb.com/';
+export const DORIS_DOWNLOAD = 
'https://doris.apache.org/downloads/downloads.html';
+export const DORIS_GITHUB = 'https://github.com/apache/doris';
+export const DORIS_OFFICIAL = 'https://doris.apache.org/';
+
+export const BLOG_TAG_ICONS = {
+    'Best Practice': <BestPracticesIcon />,
+    'Tech Sharing': <TechSharingIcon />,
+    'Release Notes': <ReleaseNoteIcon />,
+    'Top News': <TopNewsIcon />,
+    All: <AllBlogIcon />,
+};
diff --git a/src/constant/newsletter.data.ts b/src/constant/newsletter.data.ts
new file mode 100644
index 00000000000..4c2d76169f8
--- /dev/null
+++ b/src/constant/newsletter.data.ts
@@ -0,0 +1,18 @@
+export const NEWSLETTER_DATA = [
+    {
+        tag: 'Release Notes',
+        title: 'Apache Doris Announced the Official Release of Version 1.2.6 ',
+        to: '/docs/dev/releasenotes/release-1.2.6',
+        hot: true,
+    },
+    {
+        tag: 'Best Practice',
+        title: 'Listen to That Poor BI Engineer: We Need Fast Join',
+        to: '/blog/Moka',
+    },
+    {
+        tag: 'Tech Sharing',
+        title: 'Building a Log Analytics Solution 10 Times More Cost-Effective 
than Elasticsearch',
+        to: '/blog/Inverted%20Index/',
+    },
+];
diff --git a/src/pages/index.tsx b/src/pages/index.tsx
index 7786d88070b..979b9f1617a 100644
--- a/src/pages/index.tsx
+++ b/src/pages/index.tsx
@@ -9,6 +9,8 @@ import Translate, { translate } from '@docusaurus/Translate';
 import useDocusaurusContext from '@docusaurus/useDocusaurusContext';
 import usePhone from '../hooks/use-phone';
 import './index.scss';
+import NewsLetter from '../components/Newsletter';
+import { NEWSLETTER_DATA } from '../constant/newsletter.data';
 
 export default function Home(): JSX.Element {
     const { siteConfig } = useDocusaurusContext();
@@ -149,7 +151,8 @@ export default function Home(): JSX.Element {
             showAnnouncementBar={true}
         >
             <PageBanner {...banner}></PageBanner>
-            <section className="news-section">
+            <NewsLetter newsList={NEWSLETTER_DATA} style={{ marginTop: '0' }} 
/>
+            {/* <section className="news-section">
                 <div className="container">
                     <div className="news-wrap">
                         <div className="news-item">
@@ -162,7 +165,7 @@ export default function Home(): JSX.Element {
                         </div>
                     </div>
                 </div>
-            </section>
+            </section> */}
             <section className="apache-doris">
                 <PageColumn
                     title={


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to