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 4926e449e91 add doris mascot blog (#4013)
4926e449e91 is described below

commit 4926e449e9146bbbfbf7f26ffc095d195271f04b
Author: Mingyu Chen (Rayner) <[email protected]>
AuthorDate: Sun Jul 26 17:36:12 2026 +0800

    add doris mascot blog (#4013)
    
    Co-authored-by: morningman <[email protected]>
---
 blog/meet-d-crew-apache-doris-mascot-family.md     | 105 +++++++
 doc-tools/HOW-TO-ADD-BLOG.md                       | 308 +++++++++++++++++++++
 .../agent-observability.jpg                        | Bin 0 -> 209957 bytes
 .../agentic-data-engine.jpg                        | Bin 0 -> 200429 bytes
 .../cover.jpg                                      | Bin 0 -> 61152 bytes
 .../d-crew-from-doris-logo.jpg                     | Bin 0 -> 76885 bytes
 .../lakehouse-analytics.jpg                        | Bin 0 -> 227151 bytes
 .../meet-d-crew.jpg                                | Bin 0 -> 164870 bytes
 .../real-time-analytics.jpg                        | Bin 0 -> 213276 bytes
 .../welcome-d-crew.jpg                             | Bin 0 -> 222209 bytes
 10 files changed, 413 insertions(+)

diff --git a/blog/meet-d-crew-apache-doris-mascot-family.md 
b/blog/meet-d-crew-apache-doris-mascot-family.md
new file mode 100644
index 00000000000..48cd7807fa8
--- /dev/null
+++ b/blog/meet-d-crew-apache-doris-mascot-family.md
@@ -0,0 +1,105 @@
+---
+title: 'Meet D-Crew, the Apache Doris Mascot Family'
+summary: 'Meet Pip, Dori, and Flux—the three characters in D-Crew—and discover 
how they represent the query, compute, and data capabilities of Apache Doris.'
+description: 'Introducing D-Crew, the Apache Doris mascot family: Pip, Dori, 
and Flux represent query execution, the core engine, and connected data for 
real-time analytics.'
+keywords:
+  - 'Apache Doris'
+  - 'D-Crew'
+  - 'Apache Doris mascot'
+  - 'real-time analytics'
+  - 'agentic data engine'
+date: '2026-07-26'
+author: 'Apache Doris'
+tags:
+  - 'Top News'
+image: '/images/blogs/meet-d-crew-apache-doris-mascot-family/cover.jpg'
+---
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+Apache Doris is **the fastest open source database project built for real-time 
analytics**. People often first encounter Doris through architecture diagrams, 
SQL, performance benchmarks, and technical documentation. But beyond its 
technical capabilities, we also want Doris to have a more vivid and 
approachable identity, one that helps more people understand it, remember it, 
and connect with the community.
+
+Today, we are excited to introduce three new friends of Apache Doris: the 
**D-Crew**.
+
+![This image introduces D-Crew, the new Apache Doris mascot family. At the 
top, under “From the Doris Logo,” it shows the three geometric elements in the 
Apache Doris logo. Arrows point down to “...To the D-Crew,” where those 
elements become three lively mascots with expressive faces and limbs: Pip, 
Dori, and Flux, from left to right. The image clearly shows how the new mascots 
evolved from the 
logo.](/images/blogs/meet-d-crew-apache-doris-mascot-family/d-crew-from-doris-logo.jpg)
+
+D-Crew is the Apache Doris mascot family, made up of three members: Pip, Dori, 
and Flux. Each grew out of one of the three geometric elements in the Apache 
Doris logo. They are three distinct characters, but together they represent the 
capabilities that make Apache Doris powerful.
+
+## Meet the D-Crew
+
+D-Crew offers a lighter, more visual way to get to know Doris, understand how 
it works, and follow the story of this evolving open source project.
+
+![This image introduces the three members of D-Crew: Pip, Dori, and Flux. Pip 
is a purple triangle known as the query runner. Pip gets things moving by 
executing queries, running SQL, and starting real-time analytics, represented 
by Query, SQL, and Trigger. Dori is a blue capsule and the core engine. Dori 
keeps everything fast and reliable, powering high-concurrency workloads and 
complex analytics, represented by Performance, Reliability, and Compute. Flux 
is a green pen-shaped data expl [...]
+
+### Flux
+
+**Flux** is the streamlined green character and D-Crew's data explorer.
+
+Flux connects different data worlds, including **lakehouses, search, vectors, 
open data formats, and more data modalities to come**. Flux makes data 
discoverable, understandable, and easier to use in different ways. This 
reflects how Doris is bringing these data capabilities together to provide 
context and analytics for Agents.
+
+### Dori
+
+**Dori** is the teal capsule and the character closest to the Doris core 
engine.
+
+Dori is the dependable foundation. **Low-latency queries, high-concurrency 
access, complex analytics, and multi-tenant workloads** all rely on Dori's 
steady support behind the scenes. Dori's reliability represents the continued 
evolution of Doris as a powerful foundation for data analytics.
+
+### Pip
+
+**Pip** is the purple triangle. It looks like a play button and the starting 
point of a query.
+
+Starting queries, running SQL, and launching real-time analytics are all Pip's 
domain. Pip represents the interface between Doris and its users and 
applications. It starts with the **standard SQL interface and extends to 
capabilities designed for AI Agents, including a semantic layer, CLI, MCP, and 
Skills**.
+
+## Explore Apache Doris with D-Crew
+
+Pip, Dori, and Flux are more than three separate characters. Their different 
roles and the way they work together offer a more intuitive view of how Apache 
Doris supports a range of use cases.
+
+### **Real-time Analytics**
+
+In a **Real-time Analytics** use case, Flux connects to real-time data, Dori 
handles high-concurrency and high-throughput data processing and storage, and 
Pip delivers low-latency query responses. Together, they create an end-to-end, 
low-latency data analytics pipeline.
+
+![This image shows the Apache Doris real-time analytics architecture. It 
focuses on “Real-time Analytics” with “Low Latency, End-to-End” and “Sub-second 
Analytics.” On the left are four real-time data sources: Events, Apps, IoT, and 
Database. In the center are the three D-Crew components: Flux, the data 
explorer; Dori, the core engine; and Pip, the query runner. They connect 
real-time data, compute quickly, and run instant queries. On the right, a 
dashboard displays revenue, orders, acti [...]
+
+### **Lakehouse Analytics**
+
+In a **Lakehouse Analytics** use case, Flux connects directly to open data 
ecosystems such as Iceberg, Paimon, and Delta Lake. Dori efficiently analyzes 
structured data, text, and vectors through one engine, while Pip presents the 
resulting hybrid analytics and retrieval results to users.
+
+![This image shows how Apache Doris works in a Lakehouse Analytics use case. 
On the left are data lakes such as Iceberg, Paimon, and Delta Lake, with Flux 
connecting to their data. In the center is Dori, a unified multimodal engine 
that supports SQL and tabular data, full-text indexes, and vector indexes. On 
the right, Pip uses SQL to query hybrid analytics and retrieval results. The 
Lakehouse Insights dashboard in the upper-right corner shows sales trends, 
total sales, order counts, and [...]
+
+### **Agent Observability**
+
+In an **Agent Observability** use case, Flux ingests observability data such 
as Log, Metric, and Trace data. Dori uses Variant and time-series data 
capabilities to organize and process JSON and time-series data efficiently. Pip 
presents detected system anomalies and behavioral patterns in real time, 
helping organizations evaluate Agent performance more efficiently and keep 
track of system health.
+
+![In this Agent Observability use case, Flux ingests real-time observability 
signals from Logs, Metrics, and Traces. Dori organizes and processes the data 
using Variant, JSON, and time-series data capabilities. Pip displays anomaly 
detection results, trace latency, and Agent performance on a real-time health 
dashboard.](/images/blogs/meet-d-crew-apache-doris-mascot-family/agent-observability.jpg)
+
+### **Agentic Data Engine**
+
+Apache Doris is evolving into a data analytics system for Agents. In an 
**Agentic Data Engine** use case, Flux connects an Agent to real-time, trusted 
data and finds the context it needs. Pip receives the Agent's query and 
analytics requests, while Dori handles the computation and processing quickly 
behind the scenes.
+
+![This image shows how Apache Doris works in an Agentic Data Engine use case. 
On the left are AI Agent requests from Claude Code Session, Codex Session, 
Agent Session, and others. In the center are Flux, Pip, and Dori. Flux 
assembles context and memory, Pip orchestrates queries and analytics, and Dori 
serves as the high-performance data engine. On the right are trusted answers, 
real-time metrics, fresh context, and other results. The image illustrates how 
the three characters work togeth [...]
+
+From real-time analytics and lakehouses to hybrid search and Agent-oriented 
data analytics, the three characters will appear together in different ways. 
Through these visual stories, we hope to make it easier to understand what 
Apache Doris can do and how it works with real-world data.
+
+## Join the Community
+
+If you see Pip, Dori, and Flux in our documentation, blog posts, Meetups, or 
on stickers, remember to say hello.
+
+**Welcome to the Apache Doris community, D-Crew. And everyone else, you are 
welcome to join us too**.
+
+![This image welcomes people to the Apache Doris community. Three cartoon 
characters, green on the left, blue in the center, and purple on the right, 
hold signs that read “Welcome to Apache Doris” and “Welcome D-Crew!” Colorful 
streamers and balloons decorate the background as other cartoon figures 
celebrate around them. The cheerful scene welcomes D-Crew to the Apache Doris 
community.](/images/blogs/meet-d-crew-apache-doris-mascot-family/welcome-d-crew.jpg)
diff --git a/doc-tools/HOW-TO-ADD-BLOG.md b/doc-tools/HOW-TO-ADD-BLOG.md
new file mode 100644
index 00000000000..4b0fe4a5241
--- /dev/null
+++ b/doc-tools/HOW-TO-ADD-BLOG.md
@@ -0,0 +1,308 @@
+# How to Add a First-Party Blog Post
+
+This guide explains how an Agent should add a complete, first-party blog post 
to the Apache Doris website after receiving the original article as a Markdown 
file. A first-party post stores and renders the full article in this 
repository. It does not redirect readers to another website.
+
+## Scope
+
+Use this guide when:
+
+- the input is a complete Markdown article;
+- the article should be published under `https://doris.apache.org/blog/<slug>`;
+- the article text and images should be maintained in this repository.
+
+Do not use the external-post pattern for this task. A first-party post must 
not define `externalLink`, import `BlogLink` or `SeeMore`, or replace the 
article body with a link to another website.
+
+## Files involved
+
+Every first-party post requires:
+
+```text
+blog/<slug>.md
+static/images/blogs/<slug>/cover.<ext>
+static/images/blogs/<slug>/<content-image>.<ext>
+```
+
+The following files require changes only when the post should appear in the 
corresponding featured area:
+
+```text
+src/components/recent-blogs/recent-blogs.data.ts
+src/constant/newsletter.data.ts
+```
+
+The Blog page discovers files under `blog/` automatically. Do not add a 
sidebar entry or edit `docusaurus.config.js` for a normal post.
+
+## Required input
+
+Before adding the post, collect or derive the following information:
+
+| Item | Required | Notes |
+| --- | --- | --- |
+| Markdown source | Yes | The complete article body |
+| Title | Yes | Use the article title unless the requester supplies a 
publishing title |
+| Summary | Yes | One or two concise sentences for Blog cards |
+| Description | Yes | A search-friendly description of the article |
+| Publication date | Yes | Use `YYYY-MM-DD` |
+| Author | Yes | Use the format described below |
+| Tag | Yes | Prefer an existing Blog category |
+| Cover image | Yes | A horizontal image used by Blog cards |
+| Content images | When referenced | Every local image used by the article |
+| Keywords | Recommended | A short list of specific search terms |
+| Featured placement | Optional | Recent posts, Newsletter, or Blog header |
+
+If the requester has not supplied a slug, summary, description, keywords, or 
image alt text, derive them from the article. Do not invent an author, 
organization, publication date, technical result, or product claim. Ask for 
missing factual information when it cannot be established from the source 
material.
+
+## Step 1: Inspect the source
+
+Read the entire Markdown file and inventory:
+
+- existing front matter;
+- local image references;
+- remote image references;
+- relative links;
+- HTML, JSX, imports, or other MDX-only syntax;
+- the original title, author, organization, and publication date.
+
+Use this inventory to determine which article file, image files, and optional 
homepage entries must be added or updated.
+
+## Step 2: Choose the file name and URL
+
+Create the article at:
+
+```text
+blog/<slug>.md
+```
+
+Use a lowercase, descriptive, hyphen-separated slug:
+
+```text
+blog/building-a-real-time-analytics-platform.md
+```
+
+The resulting site URL is normally:
+
+```text
+/blog/building-a-real-time-analytics-platform
+```
+
+Keep the slug short enough to read and specific enough to identify the 
article. Avoid dates, marketing filler, underscores, spaces, and unnecessary 
stop words. Do not reuse the file name or URL of an existing article.
+
+If the article already has a published Doris URL, preserve that URL whenever 
possible. Do not rename an existing post without checking inbound links and 
redirects.
+
+Use `.md` for standard Markdown. Use `.mdx` only when the article needs JSX, 
React component imports, or another MDX feature.
+
+## Step 3: Add front matter
+
+Place front matter at the start of the article:
+
+```yaml
+---
+title: 'Building a Real-Time Analytics Platform with Apache Doris'
+summary: 'Learn how to build a real-time analytics platform with Apache Doris, 
from data ingestion and modeling to query optimization.'
+description: 'This article explains how to build a real-time analytics 
platform with Apache Doris and covers architecture, ingestion, modeling, and 
optimization.'
+keywords:
+  - 'Apache Doris'
+  - 'real-time analytics'
+  - 'data warehouse'
+date: '2026-07-26'
+author: 'Company Name · Author Name'
+tags:
+  - 'Best Practice'
+image: '/images/blogs/building-a-real-time-analytics-platform/cover.png'
+---
+```
+
+Use the following fields:
+
+| Field | Requirement |
+| --- | --- |
+| `title` | Required. Use a clear, specific article title. |
+| `summary` | Required. The custom Blog cards read this field directly. Keep 
it to one or two sentences. |
+| `description` | Required. Describe the page accurately for search results 
and link previews. |
+| `keywords` | Recommended. Use a short list of terms that appear naturally in 
the article. |
+| `date` | Required. Use `YYYY-MM-DD` and confirm that it is the intended 
publication date. |
+| `author` | Required. For contributed posts, use `Organization · Author`. Use 
`Apache Doris` for posts authored by the project as a whole. |
+| `tags` | Required. Prefer one existing category, such as `Best Practice`, 
`Tech Sharing`, `Release Notes`, or `Glossary`. Do not create a near-duplicate 
tag. |
+| `image` | Required. Use an absolute site path beginning with `/images/`. |
+| `picked` | Optional. Set to `"true"` only for a post selected for the Blog 
header. |
+| `order` | Required with `picked`. Controls the Blog header position. |
+
+Do not add `externalLink` to a first-party post.
+
+The repository contains more than one historical front matter style. New posts 
should use the YAML mapping shown above. Follow the exact field names consumed 
by the current Blog components.
+
+### Featured Blog header
+
+The Blog header uses `picked` and `order`:
+
+```yaml
+picked: "true"
+order: "1"
+```
+
+`order: "1"` is the large lead story. Other picked posts appear in ascending 
order. Before changing these fields, inspect every current selection:
+
+```bash
+rg -n -B 6 -A 2 "'?picked'?:|\"picked\":" blog
+rg -n -B 6 -A 2 "'?order'?:|\"order\":" blog
+```
+
+Maintain one unique `order: "1"` and a contiguous featured sequence. When a 
new post enters the header, update the existing orders and remove `picked` and 
`order` from any post leaving the selection. Do not remove the old article 
itself.
+
+## Step 4: Add the ASF license header
+
+Place the Apache Software Foundation license comment immediately after the 
front matter:
+
+```html
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+```
+
+Keep the comment out of the rendered article. Do not place article content 
inside it.
+
+## Step 5: Add the article body
+
+Put the complete article body after the license comment. The page already 
renders `title`, so begin the body with an introduction or an `##` heading. Do 
not repeat the title as an `#` heading.
+
+Keep the source article's heading hierarchy, links, code blocks, tables, 
lists, and other Markdown content in this file. Update image references as 
described in the next section. Do not add the imports used by external-link 
stubs. A `<!-- truncate -->` marker is not required because the Blog list uses 
the front matter `summary`.
+
+## Step 6: Add images
+
+Create one image directory for the article:
+
+```text
+static/images/blogs/<slug>/
+```
+
+Example:
+
+```text
+static/images/blogs/building-a-real-time-analytics-platform/
+├── cover.png
+├── architecture.png
+└── benchmark-results.png
+```
+
+Use lowercase, descriptive, hyphen-separated file names. Avoid spaces and 
generic names such as `image1.png`.
+
+Reference content images from Markdown with absolute site paths:
+
+```md
+![Apache Doris real-time analytics 
architecture](/images/blogs/building-a-real-time-analytics-platform/architecture.png)
+```
+
+Do not use source-machine paths or paths relative to the Markdown file:
+
+```md
+<!-- Incorrect -->
+![Architecture](../static/images/blogs/example/architecture.png)
+![Architecture](/Users/name/Desktop/architecture.png)
+```
+
+Every image must have useful alt text that describes its content or purpose. 
Use empty alt text only for a purely decorative image.
+
+Set the cover in front matter:
+
+```yaml
+image: '/images/blogs/<slug>/cover.png'
+```
+
+A horizontal cover works best with the current cards. Recent Blog covers 
commonly use an aspect ratio close to `1800 × 766`.
+
+When the supplied Markdown references images:
+
+1. locate every referenced local file;
+2. copy it into the article image directory;
+3. give it a stable, descriptive name;
+4. update the Markdown reference;
+5. verify that the file name and extension match exactly, including case.
+
+Do not silently omit a missing image. If a remote image must be stored in the 
repository, place it in the same article image directory and replace its remote 
reference with the corresponding `/images/blogs/<slug>/...` path.
+
+## Step 7: Update optional homepage placements
+
+Adding the file under `blog/` is enough to add it to the Blog page. The 
following changes are conditional.
+
+### Recent posts
+
+If the post should appear in the Recent posts section, edit:
+
+```text
+src/components/recent-blogs/recent-blogs.data.ts
+```
+
+Add the post with its internal URL:
+
+```ts
+{
+    label: 'Building a Real-Time Analytics Platform with Apache Doris',
+    link: '/blog/building-a-real-time-analytics-platform',
+},
+```
+
+Keep the configured list length and ordering consistent with the surrounding 
file. At the time of writing, the list contains four posts in newest-first 
order. Remove the oldest entry when adding a new one if the design still 
expects four.
+
+### Newsletter carousel
+
+If the post should appear in the Newsletter carousel, edit:
+
+```text
+src/constant/newsletter.data.ts
+```
+
+Add:
+
+```ts
+{
+    tags: ['Best Practice'],
+    title: 'Building a Real-Time Analytics Platform with Apache Doris',
+    content: `Learn how to build a real-time analytics platform with Apache 
Doris, from data ingestion and modeling to query optimization.`,
+    to: '/blog/building-a-real-time-analytics-platform',
+    image: 'blogs/building-a-real-time-analytics-platform/cover.png',
+},
+```
+
+The carousel image path is relative to `static/images/` and therefore omits 
the leading `/images/`:
+
+```text
+Front matter: /images/blogs/<slug>/cover.png
+Newsletter:    blogs/<slug>/cover.png
+```
+
+Keep the carousel length and ordering consistent with the current file. At the 
time of writing, it contains four items in newest-first order.
+
+### Blog header
+
+Use the `picked` and `order` front matter fields described earlier. This 
placement is independent of Recent posts and the Newsletter carousel. A post 
can appear in any combination of the three areas.
+
+## Step 8: Leave unrelated files unchanged
+
+For a normal first-party English Blog post:
+
+- do not edit `sidebars.ts` or any versioned sidebar;
+- do not add the post to `docs/` or `versioned_docs/`;
+- do not edit `versions.json`;
+- do not edit `docusaurus.config.js`;
+- do not create a redirect unless preserving or moving an existing URL;
+- do not create a localized copy unless the task includes translation.
+
+Update other files only when the article changes or references an existing 
route, asset, component, or navigation item.
+
+## Step 9: Do not run a build
+
+After adding the Blog post and its required assets, do not run a local site 
build. Commands such as `yarn build` are not required for this workflow.
diff --git 
a/static/images/blogs/meet-d-crew-apache-doris-mascot-family/agent-observability.jpg
 
b/static/images/blogs/meet-d-crew-apache-doris-mascot-family/agent-observability.jpg
new file mode 100644
index 00000000000..355f137f032
Binary files /dev/null and 
b/static/images/blogs/meet-d-crew-apache-doris-mascot-family/agent-observability.jpg
 differ
diff --git 
a/static/images/blogs/meet-d-crew-apache-doris-mascot-family/agentic-data-engine.jpg
 
b/static/images/blogs/meet-d-crew-apache-doris-mascot-family/agentic-data-engine.jpg
new file mode 100644
index 00000000000..8658ad6f62c
Binary files /dev/null and 
b/static/images/blogs/meet-d-crew-apache-doris-mascot-family/agentic-data-engine.jpg
 differ
diff --git 
a/static/images/blogs/meet-d-crew-apache-doris-mascot-family/cover.jpg 
b/static/images/blogs/meet-d-crew-apache-doris-mascot-family/cover.jpg
new file mode 100644
index 00000000000..319c3be66d0
Binary files /dev/null and 
b/static/images/blogs/meet-d-crew-apache-doris-mascot-family/cover.jpg differ
diff --git 
a/static/images/blogs/meet-d-crew-apache-doris-mascot-family/d-crew-from-doris-logo.jpg
 
b/static/images/blogs/meet-d-crew-apache-doris-mascot-family/d-crew-from-doris-logo.jpg
new file mode 100644
index 00000000000..8ce60fdb957
Binary files /dev/null and 
b/static/images/blogs/meet-d-crew-apache-doris-mascot-family/d-crew-from-doris-logo.jpg
 differ
diff --git 
a/static/images/blogs/meet-d-crew-apache-doris-mascot-family/lakehouse-analytics.jpg
 
b/static/images/blogs/meet-d-crew-apache-doris-mascot-family/lakehouse-analytics.jpg
new file mode 100644
index 00000000000..9618e88d44e
Binary files /dev/null and 
b/static/images/blogs/meet-d-crew-apache-doris-mascot-family/lakehouse-analytics.jpg
 differ
diff --git 
a/static/images/blogs/meet-d-crew-apache-doris-mascot-family/meet-d-crew.jpg 
b/static/images/blogs/meet-d-crew-apache-doris-mascot-family/meet-d-crew.jpg
new file mode 100644
index 00000000000..f0fd922040e
Binary files /dev/null and 
b/static/images/blogs/meet-d-crew-apache-doris-mascot-family/meet-d-crew.jpg 
differ
diff --git 
a/static/images/blogs/meet-d-crew-apache-doris-mascot-family/real-time-analytics.jpg
 
b/static/images/blogs/meet-d-crew-apache-doris-mascot-family/real-time-analytics.jpg
new file mode 100644
index 00000000000..05b12b7e1d9
Binary files /dev/null and 
b/static/images/blogs/meet-d-crew-apache-doris-mascot-family/real-time-analytics.jpg
 differ
diff --git 
a/static/images/blogs/meet-d-crew-apache-doris-mascot-family/welcome-d-crew.jpg 
b/static/images/blogs/meet-d-crew-apache-doris-mascot-family/welcome-d-crew.jpg
new file mode 100644
index 00000000000..7a7e813c2c5
Binary files /dev/null and 
b/static/images/blogs/meet-d-crew-apache-doris-mascot-family/welcome-d-crew.jpg 
differ


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

Reply via email to