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]