import React from 'react';
import Translate from "@docusaurus/Translate";

export default [
    {
        title: <Translate>Apache ShenYu 2.5.1 Version Release</Translate>,
        description: <Translate>Apache ShenYu 2.5.1 Version Release</Translate>,
        categories: "Apache ShenYu",
        tags: ["Apache ShenYu"],
        date: '2023-02-06',
        cover: "/img/architecture/shenyu-architecture-3d.png",
        src:'Apache-ShenYu-release-version-2.5.1',
    },
    {
        title: <Translate>From company gateway framework selection to Apache ShenYu Committer</Translate>,
        author: "Shuo Li",
        description: <Translate>From company gateway framework selection to Apache ShenYu Committer</Translate>,
        categories: "Apache ShenYu Committers",
        tags: ["Apache ShenYu"],
        date: '2022-08-08',
        cover: "/img/news/lishuo.png",
        src:'Apache-ShenYu-Committer-2022-08-08',
    },{
        title: <Translate>From Apache ShenYu User to Apache ShenYu Committer</Translate>,
        author: "Fengen He",
        description: <Translate>From Apache ShenYu User Boy to Apache ShenYu Committer</Translate>,
        categories: "Apache ShenYu Committers",
        tags: ["Apache ShenYu"],
        date: '2022-08-04',
        cover: "/img/news/hefengen.jpg",
        src:'Apache-ShenYu-Committer-2022-08-04',
    },
    {
        title: <Translate>From CRUD Boy to Apache ShenYu Committer</Translate>,
        author: "Renzhu Yan",
        description: <Translate>From CRUD Boy to Apache ShenYu Committer</Translate>,
        categories: "Apache ShenYu Committers",
        tags: ["Apache ShenYu"],
        date: '2022-07-04',
        cover: "/img/news/renzhuyan.jpg",
        src:'Apache-ShenYu-Committer-2022-07-04',
    },
    {
        title: <Translate>You can also be an Apache ShenYu Committer</Translate>,
        author: "Zicheng Zhang",
        description: <Translate>You can also be an Apache ShenYu Committer</Translate>,
        categories: "Apache ShenYu Committers",
        tags: ["Apache ShenYu"],
        date: '2022-04-20',
        cover: "/img/news/0.png",
        src:'Apache-ShenYu-Committer-2022-04-20',
    },
    {
        title: <Translate>Apache ShenYu 2.4.3 Version Release</Translate>,
        // author: "Liu Liang",
        description: <Translate>Apache ShenYu 2.4.3 Version Release</Translate>,
        categories: "Apache ShenYu",
        tags: ["Apache ShenYu"],
        date: '2022-04-18',
        cover: "/img/news/helm-ci-pipeline.png",
        src:'Apache-ShenYu-release-version-2.4.3',
    },
    {
        title: <Translate>The way from University Student to Apache Committer</Translate>,
        author: "Kunshuai Zhu",
        description: <Translate>The way from University Student to Apache Committer</Translate>,
        categories: "Apache ShenYu Committers",
        tags: ["Apache ShenYu"],
        date: "2021-12-08",
        cover: "/img/news/zhunkunshuai.png",
        src:"Apache-ShenYu-Committer-2021-12-08",
    },
    {
        title: <Translate>From users to Committer, different experiences and gains</Translate>,
        author: "qicz",
        description: <Translate>From users to Committer, different experiences and gains</Translate>,
        categories: "Apache ShenYu Committers",
        tags: ["Apache ShenYu"],
        date: '2021-11-11',
        cover: "/img/news/4.png",
        src:'Apache-ShenYu-Committer-2021-11-11',
    },
    {
        title: <Translate>Apache ShenYu newly promoted PPMC</Translate>,
        author: "Liu Liang",
        description: <Translate>Apache ShenYu newly promoted PPMC</Translate>,
        categories: "Apache ShenYu PPMC",
        tags: ["Apache ShenYu"],
        date: "2021-11-05",
        cover: "/img/news/5.png",
        src:'Apache-ShenYu-PPMC-2021-11-05',
    },
    {
        title: <Translate>From users to Committer, participation in the Apache ShenYu community is not far away</Translate>,
        author: "Tang Zhen",
        description: <Translate>From users to Committer, participation in the Apache ShenYu community is not far away</Translate> ,
        categories: "Apache ShenYu Committers",
        tags: ["Apache ShenYu"],
        date: '2021-09-08',
        cover: "/img/news/tangzhen.jpg",
        src:'Apache-ShenYu-Committer-2021-09-08'
    },
    {
        title: <Translate>Release the first version of Apache ShenYu 2.4.0  Make API gateway easy</Translate>,
        author: "xiaoyu",
        description: <Translate>Release the first version of Apache ShenYu 2.4.0 Make API gateway easy</Translate>,
        categories: "Apache ShenYu",
        tags: ["Apache ShenYu"],
        date: '2021-08-01',
        cover: "/img/architecture/shenyu-framework.png",
        src:'Apache-ShenYu-release-milestone-version-2.4.0',
    },
    {
        title: <Translate>How I became an Apache ShenYu Committer one year after graduation</Translate>,
        author: "Liu Liang",
        description: <Translate>From users to Committer, participation in the Apache ShenYu community is not far away</Translate>,
        categories: "Apache ShenYu Committers",
        tags: ["Apache ShenYu"],
        date: '2021-09-08',
        cover: "/img/news/0.png",
        src:'Apache-ShenYu-Committer-2021-07-27',
    },
    {
        title: <Translate>The Open Source Path for Tech Veterans</Translate>,
        author: "Haibo Duan",
        description: <Translate>The Open Source Path for Tech Veterans</Translate>,
        categories: "Apache ShenYu Committers",
        tags: ["Apache ShenYu"],
        date: "2021-02-28",
        cover: "/img/news/duanhaibo.jpg",
        src:'Apache-ShenYu-Committer-2022-02-28',
    },
    {
        title: <Translate>Soul gateway release milestone version 2.3.0 New support for grpc, tars and sofa protocols</Translate>,
        author: "xiaoyu",
        description: <Translate>Soul gateway release milestone version 2.3.0 New support for grpc, tars and sofa protocols</Translate>,
        categories: "Apache ShenYu",
        tags: ["Apache ShenYu"],
        date: "2020-07-05",
        cover: "/img/news/flow.png",
        src:'Soul-gateway-release-milestone-version-2.3.0',
    }
]
