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

jeffreyh 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 39f127d9c40 [Feat]:add external link for blog (#2450)
39f127d9c40 is described below

commit 39f127d9c4045734b28e86b1bcc77ece55a9df70
Author: yangon <[email protected]>
AuthorDate: Fri Jun 6 19:39:28 2025 +0800

    [Feat]:add external link for blog (#2450)
---
 src/components/blogs/components/head-blogs.tsx | 2 --
 src/theme/BlogListItem/HeadItem/index.tsx      | 7 +++++--
 src/theme/BlogListItem/index.tsx               | 6 ++++--
 src/theme/BlogListPage/index.tsx               | 2 +-
 4 files changed, 10 insertions(+), 7 deletions(-)

diff --git a/src/components/blogs/components/head-blogs.tsx 
b/src/components/blogs/components/head-blogs.tsx
index 77c5d122e5e..f54b623758c 100644
--- a/src/components/blogs/components/head-blogs.tsx
+++ b/src/components/blogs/components/head-blogs.tsx
@@ -1,6 +1,4 @@
 import React from 'react';
-import { IBlog } from '../blogs.type';
-import BlogItem from './blog-item';
 import BlogListItem from '@site/src/theme/BlogListItem';
 
 function getHeadData() {
diff --git a/src/theme/BlogListItem/HeadItem/index.tsx 
b/src/theme/BlogListItem/HeadItem/index.tsx
index 446b8af07e1..f44d5a307bf 100644
--- a/src/theme/BlogListItem/HeadItem/index.tsx
+++ b/src/theme/BlogListItem/HeadItem/index.tsx
@@ -12,13 +12,15 @@ export default function HeadItem(props: any) {
         date,
         authorsExists,
         authors,
+        externalLink,
         size = 'small',
     } = props;
     if (size === 'small') {
         return (
             <li>
                 <Link
-                    to={permalink}
+                    target={externalLink ? '_blank' : '_self'}
+                    to={externalLink || permalink}
                     className="hover:no-underline hover:decoration-none 
transition-scale relative block rounded-lg border border-[#DFE5F0] px-6 py-5 
hover:border-[#0065FD] "
                 >
                     <div className=" ">
@@ -52,7 +54,8 @@ export default function HeadItem(props: any) {
     }
     return (
         <Link
-            to={permalink}
+            target={externalLink ? '_blank' : '_self'}
+            to={externalLink || permalink}
             className={`hover:no-underline hover:decoration-none 
transition-scale group relative ${
                 large ? 'h-full' : 'h-auto'
             } flex flex-col  `}
diff --git a/src/theme/BlogListItem/index.tsx b/src/theme/BlogListItem/index.tsx
index f5660e1021f..ad7ca4e494a 100644
--- a/src/theme/BlogListItem/index.tsx
+++ b/src/theme/BlogListItem/index.tsx
@@ -8,7 +8,6 @@ import { blogPostContainerID } from '@docusaurus/utils-common';
 import MDXContent from '@theme/MDXContent';
 import EditThisPage from '@theme/EditThisPage';
 import TagsListInline from '@theme/TagsListInline';
-import BlogPostAuthors from '@theme/BlogPostAuthors';
 import useFormatDate from '@site/src/hooks/use-format-date';
 import './styles.scss';
 import HeadItem from './HeadItem';
@@ -36,6 +35,7 @@ export default function BlogListItem(props) {
     const { withBaseUrl } = useBaseUrlUtils();
     const { children, frontMatter, assets, metadata, large = false } = props;
     const { date, permalink, tags, readingTime, title, editUrl, authors } = 
metadata;
+    const externalLink = frontMatter.externalLink;
     const image = assets.image ?? frontMatter.image;
     const tagsExists = tags.length > 0;
     const summary = frontMatter.summary;
@@ -45,6 +45,7 @@ export default function BlogListItem(props) {
             <HeadItem
                 {...metadata}
                 image={image}
+                externalLink={externalLink}
                 large={large}
                 size={large ? 'large' : 'small'}
                 tagsExists={tagsExists}
@@ -57,7 +58,8 @@ export default function BlogListItem(props) {
         <article itemProp="blogPost" itemScope 
itemType="http://schema.org/BlogPosting";>
             <Link
                 itemProp="url"
-                to={permalink}
+                target={externalLink ? '_blank' : '_self'}
+                to={externalLink || permalink}
                 className="hover:no-underline hover:decoration-none 
transition-scale group relative flex h-full flex-col rounded-lg border 
border-[#DFE5F0] hover:border-[#0065FD] lg:border-0"
             >
                 <div
diff --git a/src/theme/BlogListPage/index.tsx b/src/theme/BlogListPage/index.tsx
index 251c9897528..3807a9ce0c9 100644
--- a/src/theme/BlogListPage/index.tsx
+++ b/src/theme/BlogListPage/index.tsx
@@ -72,7 +72,7 @@ function BlogListPageContent(props) {
     const [blogs, setBlogs] = useState([]);
     const blogCategories = getBlogCategories(props);
     const ALL_BLOG = blogCategories.find(item => item.label === 
allText).values;
-
+    
     const { siteConfig } = useDocusaurusContext();
     const isCN = siteConfig.baseUrl.indexOf('zh-CN') > -1;
     const [active, setActive] = useState(() => {


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to