This is an automated email from the ASF dual-hosted git repository. gongchao pushed a commit to branch team-page in repository https://gitbox.apache.org/repos/asf/hertzbeat.git
commit 3d0fdf6b6a30bdeab5961ea3193bf4befe4306f7 Author: tomsun28 <[email protected]> AuthorDate: Sun Apr 21 14:43:51 2024 +0800 add team page --- home/docusaurus.config.js | 5 +- home/i18n/en/code.json | 12 ++ home/i18n/en/docusaurus-theme-classic/footer.json | 2 +- home/i18n/en/docusaurus-theme-classic/navbar.json | 8 + home/i18n/zh-cn/code.json | 12 ++ .../zh-cn/docusaurus-theme-classic/footer.json | 2 +- .../zh-cn/docusaurus-theme-classic/navbar.json | 4 + home/package.json | 1 + home/src/pages/team/github.svg | 1 + home/src/pages/team/index.css | 161 +++++++++++++++++++++ home/src/pages/team/index.jsx | 134 +++++++++++++++++ home/src/pages/team/member.json | 83 +++++++++++ home/yarn.lock | 21 ++- 13 files changed, 441 insertions(+), 5 deletions(-) diff --git a/home/docusaurus.config.js b/home/docusaurus.config.js index 32a844fe5..64fc78607 100644 --- a/home/docusaurus.config.js +++ b/home/docusaurus.config.js @@ -125,9 +125,10 @@ module.exports = { ], }, { - label : 'Team', + label : 'team', position: 'left', - to : '/team/' + to : '/team/', + activeBaseRegex: `/team`, }, { label: 'ASF', diff --git a/home/i18n/en/code.json b/home/i18n/en/code.json index e5b77adbb..77bc05b6f 100644 --- a/home/i18n/en/code.json +++ b/home/i18n/en/code.json @@ -488,5 +488,17 @@ "theme.tags.tagsPageTitle": { "message": "Tags", "description": "The title of the tag list page" + }, + "team.name": { + "message": "Apache HertzBeat(Incubating) Team" + }, + "team.desc": { + "message": "The HertzBeat team is composed of contributors from various fields around the world. We embrace the community philosophy of openness and collaboration, welcoming👏 more people to join us and grow together with the community." + }, + "team.tip": { + "message": "(In no particular order)" + }, + "team.thanks": { + "message": "Thanks to these wonderful people, who already contributed to HertzBeat!" } } diff --git a/home/i18n/en/docusaurus-theme-classic/footer.json b/home/i18n/en/docusaurus-theme-classic/footer.json index cdd7691da..262eb6149 100644 --- a/home/i18n/en/docusaurus-theme-classic/footer.json +++ b/home/i18n/en/docusaurus-theme-classic/footer.json @@ -45,7 +45,7 @@ }, "link.item.label.contact": { "message": "Contact", - "description": "The label of footer link with label=contact linking to /docs/others/contact" + "description": "The label of footer link with label=contact linking to /docs/community/contact" }, "copyright": { "message": "Copyright © 2024 Apache HertzBeat", diff --git a/home/i18n/en/docusaurus-theme-classic/navbar.json b/home/i18n/en/docusaurus-theme-classic/navbar.json index b1c5363a2..cf2d92920 100644 --- a/home/i18n/en/docusaurus-theme-classic/navbar.json +++ b/home/i18n/en/docusaurus-theme-classic/navbar.json @@ -138,5 +138,13 @@ "item.label.Privacy": { "message": "Privacy", "description": "Navbar item with label Privacy" + }, + "item.label.team": { + "message": "Team", + "description": "Navbar item with label team" + }, + "item.label.Thanks": { + "message": "Thanks", + "description": "Navbar item with label Thanks" } } diff --git a/home/i18n/zh-cn/code.json b/home/i18n/zh-cn/code.json index 8df9feace..d7c286810 100644 --- a/home/i18n/zh-cn/code.json +++ b/home/i18n/zh-cn/code.json @@ -491,5 +491,17 @@ "theme.tags.tagsPageTitle": { "message": "标签", "description": "The title of the tag list page" + }, + "team.name": { + "message": "Apache HertzBeat(Incubating) 团队" + }, + "team.desc": { + "message": "HertzBeat 团队由来自全球各个领域的贡献者组成。践行 开放,协作 的社区理念,欢迎👏更多的人加入我们,和社区一同成长。" + }, + "team.tip": { + "message": "(排名不分先后)" + }, + "team.thanks": { + "message": "感谢这些已经为 HertzBeat 做出贡献的非常棒的人们!" } } diff --git a/home/i18n/zh-cn/docusaurus-theme-classic/footer.json b/home/i18n/zh-cn/docusaurus-theme-classic/footer.json index 7f298910b..9a83c2e13 100644 --- a/home/i18n/zh-cn/docusaurus-theme-classic/footer.json +++ b/home/i18n/zh-cn/docusaurus-theme-classic/footer.json @@ -45,7 +45,7 @@ }, "link.item.label.contact": { "message": "联系交流", - "description": "The label of footer link with label=contact linking to /docs/others/contact" + "description": "The label of footer link with label=contact linking to /docs/community/contact" }, "copyright": { "message": "Copyright © 2024 Apache HertzBeat", diff --git a/home/i18n/zh-cn/docusaurus-theme-classic/navbar.json b/home/i18n/zh-cn/docusaurus-theme-classic/navbar.json index b42edaede..2bbc672be 100644 --- a/home/i18n/zh-cn/docusaurus-theme-classic/navbar.json +++ b/home/i18n/zh-cn/docusaurus-theme-classic/navbar.json @@ -142,5 +142,9 @@ "item.label.how_to_verify_release": { "message": "如何验证版本", "description": "Navbar item with label how_to_verify_release" + }, + "item.label.team": { + "message": "团队", + "description": "Navbar item with label team" } } diff --git a/home/package.json b/home/package.json index 6768c774c..54cdb2d90 100644 --- a/home/package.json +++ b/home/package.json @@ -27,6 +27,7 @@ "@douyinfe/semi-ui": "2.24.1", "@mdx-js/react": "1.6.22", "@svgr/webpack": "5.5.0", + "aos": "^2.3.4", "clsx": "1.2.1", "color": "3.2.1", "file-loader": "6.2.0", diff --git a/home/src/pages/team/github.svg b/home/src/pages/team/github.svg new file mode 100644 index 000000000..22d963e9f --- /dev/null +++ b/home/src/pages/team/github.svg @@ -0,0 +1 @@ +<svg t="1662907603281" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2360" width="200" height="200"><path d="M511.6 76.3C264.3 76.2 64 276.4 64 523.5 64 718.9 189.3 885 363.8 946c23.5 5.9 19.9-10.8 19.9-22.2v-77.5c-135.7 15.9-141.2-73.9-150.3-88.9C215 726 171.5 718 184.5 703c30.9-15.9 62.4 4 98.9 57.9 26.4 39.1 77.9 32.5 104 26 5.7-23.5 17.9-44.5 34.7-60.8-140.6-25.2-199.2-111-199.2-213 0-49.5 16.3-95 48.3-131.7-20.4-60.5 1.9-112.3 4.9-120 58 [...] diff --git a/home/src/pages/team/index.css b/home/src/pages/team/index.css new file mode 100644 index 000000000..11e2fb497 --- /dev/null +++ b/home/src/pages/team/index.css @@ -0,0 +1,161 @@ +.team_page { + margin-top: 50px!important; +} +.team_page a { + text-decoration: none; +} +.team_page .team_title { + font-size: 25px; + font-weight: 500; + color: var(--ifm-color-primary-contrast-foreground); + margin-top: 50px; +} +.team_page .team_desc { + margin-bottom: 40px; +} +.team_page .team_indent { + line-height: 40px; +} +.team_page .desc { + font-size: 1rem; + color: var(--ifm-color-gray-700); + margin-left: 1.2rem; +} +.team_page .character_list { + display: grid; + grid-template-columns: repeat(6, 1fr); + grid-column-gap: 15px; + grid-row-gap: 15px; + padding: 20px 0 0px; +} +.team_page .character_list .character_item { + border: 1px solid rgba(205, 221, 250, 0.8); + background-color: rgba(205, 222, 234, 0.2); + box-shadow: 0 3px 5px rgb(47 85 26.5%); + border-radius: 2px; + min-width: 0; + padding: 0 10px 5px; + margin: 40px 0 42px 0; +} +.team_page .character_list .character_item .character_avatar { + width: 120px; + height: 120px; + background: #D8D8D8; + display: inline-block; + border-radius: 50%; + border: 5px solid rgba(255, 255, 255, 0.08); + margin: -4rem auto -0.5rem; +} +.team_page .character_list .character_item .character_name { + line-height: 36px; + font-size: 15px; + white-space: nowrap; + font-weight: 400; + overflow: hidden; + background-color: #fff; + margin-top: 20px; + border-radius: 18px; + text-overflow: ellipsis; + border: 1px solid rgba(205, 221, 250, 0.6); + box-shadow: 0 3px 5px rgb(47 85 42.4%); +} +.team_page .character_list .character_item .character_id { + color: #333; + line-height: 36px; + font-size: 12px; + white-space: nowrap; + font-weight: 400; + overflow: hidden; + border-radius: 18px; + background-color: #fff; + text-overflow: ellipsis; + border: 1px solid rgba(205, 221, 250, 0.6); + box-shadow: 0 3px 5px rgb(47 85 42.4%); +} +.team_page .character_list .character_item .character_id .githubId { + color: #666; + margin-right: 2px; +} +.team_page .character_list .character_item .character_link { + color: rgba(15, 18, 34, 0.65); + font-weight: 400; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} +/***************************** + team +*****************************/ +.team-row { + --bs-gutter-x: 1.5rem; + --bs-gutter-y: 0; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + margin-top: calc(-1 * var(--bs-gutter-y)); + margin-right: calc(-0.5 * var(--bs-gutter-x)); + margin-left: calc(-0.5 * var(--bs-gutter-x)); +} + +.team-box { + width: 20% !important; + padding: 12px; +} +.team-user-img { + width: 140px; + border-radius: 50%; + border: 5px solid #fff; + box-shadow: 0 0.375rem 1.5rem 0 rgba(87, 96, 113, 0.125) !important; +} +[data-theme="dark"] .team-user-img { + border: 5px solid #95999c; +} +.hover-top-in .hover-top--in { + transition: ease-in-out all 0.35s; + position: relative; + top: 0; +} +.hover-top-in:hover .hover-top--in { + top: -10px; +} +.bg-team { + margin-top: -1.5rem !important; + padding: 2.5rem 1rem 0.5rem 1rem; + background-color: #ffffff !important; + border-radius: 0.75rem; + box-shadow: 0 0.375rem 1.5rem 0 rgba(87, 96, 113, 0.125) !important; +} +.team-link { + background-color: #fff; + border-radius: 50%; + width: 1.5rem; + height: 1.5rem; + display: inline-flex; + align-items: center; + justify-content: center; + text-align: center; + font-size: 75%; + line-height: normal; + margin-right: 0.25rem; +} +.team-link .github-icon { + width: 20px ; + height: 20px; + color: #fff; +} +[data-theme="dark"] .team-link { + background-color: #95999c; +} +[data-theme="dark"] .bg-team { + background-color: #0e1114 !important; +} +.team-name { + font-size: 1rem; +} + +.block { + width: 1200px; + padding: 0 20px; + margin: 0 auto; +} diff --git a/home/src/pages/team/index.jsx b/home/src/pages/team/index.jsx new file mode 100644 index 000000000..dc3391d1f --- /dev/null +++ b/home/src/pages/team/index.jsx @@ -0,0 +1,134 @@ +import React from 'react'; +import BrowserOnly from '@docusaurus/BrowserOnly'; +import config from "./member.json"; +import Layout from '@theme/Layout'; +import './index.css'; +import Github from "./github.svg" +import AOS from 'aos'; +import 'aos/dist/aos.css'; +import Translate from '@docusaurus/Translate' + +export default function () { + const dataSource = config; + + function getGitName(url) { + return '@' + url.replace('https://github.com/', ''); + } + + function avatarUrl(id) { + return 'https://avatars.githubusercontent.com/u/'+ id + '?v=4' + } + + return ( + <BrowserOnly> + {() => { + // AOS JS + AOS.init({ + offset: 100, + duration: 700, + easing: "ease-out-quad", + once: !0 + }); + window.addEventListener('load', AOS.refresh); + return <Layout> + <div className="block team_page" style={{padding: "10px 0 30px"}}> + <h3><Translate>team.name</Translate></h3> + <hr style={{maxWidth: "10rem"}}></hr> + <p className="team_desc team_indent"><Translate>team.desc</Translate></p> + <h3 className="team_title"> + Mentor + <span className="desc"><Translate>team.tip</Translate></span> + </h3> + <div className="team-row"> + { + dataSource.mentor.map((item, i) => ( + <div className='team-box' key={i} data-aos="fade-up" data-aos-delay={i * 100}> + <div style={{textAlign: "center"}}> + <div style={{overflow: "hidden", zIndex: 1}}> + <img className="team-user-img" src={avatarUrl(item.githubId)} title="" alt=""/> + </div> + <div className="bg-team"> + <h6 className="team-name">{item.name}</h6> + <small>{getGitName(item.gitUrl)}</small> + <div> + <a className="team-link" href={item.gitUrl}> + <Github className="github-icon"/> + </a> + </div> + </div> + </div> + </div> + )) + } + </div> + + <h3 className="team_title"> + PPMC + <span className="desc"><Translate>team.tip</Translate></span> + </h3> + <div className="team-row"> + { + dataSource.pmc.map((item, i) => ( + <div className='team-box' key={i} data-aos="fade-up" data-aos-delay={i * 100}> + <div style={{textAlign: "center"}}> + <div style={{overflow: "hidden", zIndex: 1}}> + <img className="team-user-img" src={avatarUrl(item.githubId)} title="" alt=""/> + </div> + <div className="bg-team"> + <h6 className="team-name">{item.name}</h6> + <small>{getGitName(item.gitUrl)}</small> + <div> + <a className="team-link" href={item.gitUrl}> + <Github className="github-icon"/> + </a> + </div> + </div> + </div> + </div> + )) + } + </div> + + <h3 className="team_title"> + Committer + <span className="desc"><Translate>team.tip</Translate></span> + </h3> + <div className="team-row"> + { + dataSource.committer.map((item, i) => ( + <div className='team-box' key={i} data-aos="fade-up" data-aos-delay={i * 100}> + <div style={{textAlign: "center"}}> + <div style={{overflow: "hidden", zIndex: 1}}> + <img className="team-user-img" src={avatarUrl(item.githubId)} title="" alt=""/> + </div> + <div className="bg-team"> + <h6 className="team-name">{item.name}</h6> + <small>{getGitName(item.gitUrl)}</small> + <div> + <a className="team-link" href={item.gitUrl}> + <Github className="github-icon"/> + </a> + </div> + </div> + </div> + </div> + )) + } + </div> + <h3 className="team_title"> + Contributors + </h3> + <span className="desc"><Translate>team.thanks</Translate></span> + + <div className="row" style={{marginTop: '20px', marginLeft: '20px'}}> + <img src="https://contrib.rocks/image?repo=apache/hertzbeat" alt=''/> + </div> + + </div> + </Layout>; + }} + + </BrowserOnly> + + ); +} diff --git a/home/src/pages/team/member.json b/home/src/pages/team/member.json new file mode 100644 index 000000000..b28c1190c --- /dev/null +++ b/home/src/pages/team/member.json @@ -0,0 +1,83 @@ +{ + "mentor" : [ + { + "githubId": "24643893", + "gitUrl": "https://github.com/tuohai666", + "name": "Yonglun Zhang" + }, + { + "githubId": "9673503", + "gitUrl": "https://github.com/yu199195", + "name": "Yu Xiao" + }, + { + "githubId": "144504", + "gitUrl": "https://github.com/justinmclean", + "name": "Justin Mclean" + }, + { + "githubId": "2263040", + "gitUrl": "https://github.com/F21", + "name": "Francis Chuang" + } + ], + "pmc": [ + { + "githubId": "24788200", + "gitUrl": "https://github.com/tomsun28", + "name": "Tom" + }, + { + "githubId": "48920254", + "gitUrl": "https://github.com/Ceilzcx", + "name": "Chenxin Zheng" + }, + { + "githubId": "30048352", + "gitUrl": "https://github.com/zqr10159", + "name": "Qingran Zhao" + }, + { + "githubId":"85919258", + "gitUrl":"https://github.com/TJxiaobao", + "name":"Xingcun Gao" + }, + { + "githubId": "74083801", + "gitUrl": "https://github.com/ZY945", + "name": "Yang Zhang" + }, + { + "githubId": "34374227", + "gitUrl": "https://github.com/hudongdong129", + "name": "Dongdong Hu" + }, + { + "githubId": "55838224", + "gitUrl": "https://github.com/vinci-897", + "name": "Jianing Wang" + }, + { + "githubId": "71161318", + "gitUrl": "https://github.com/wang1027-wqh", + "name": "QingHua Wang" + }, + { + "githubId": "105542329", + "gitUrl": "https://github.com/a-little-fool", + "name": "Shusheng Zhou" + }, + { + "githubId": "26523525", + "gitUrl": "https://github.com/gcdd1993", + "name": "Chen Gao" + }, + { + "githubId": "76642201", + "gitUrl": "https://github.com/cuipiheqiuqiu", + "name": "Dong Xiang" + } + ], + "committer" : [ + ] +} diff --git a/home/yarn.lock b/home/yarn.lock index 3c28b9046..b78436112 100644 --- a/home/yarn.lock +++ b/home/yarn.lock @@ -3052,6 +3052,15 @@ anymatch@~3.1.2: normalize-path "^3.0.0" picomatch "^2.0.4" +aos@^2.3.4: + version "2.3.4" + resolved "https://registry.yarnpkg.com/aos/-/aos-2.3.4.tgz#eb1c29f5c1806a197cf6323080747547edd3db8e" + integrity sha512-zh/ahtR2yME4I51z8IttIt4lC1Nw0ktsFtmeDzID1m9naJnWXhCoARaCgNOGXb5CLy3zm+wqmRAEgMYB5E2HUw== + dependencies: + classlist-polyfill "^1.0.3" + lodash.debounce "^4.0.6" + lodash.throttle "^4.0.1" + arg@^5.0.0: version "5.0.2" resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.2.tgz#c81433cc427c92c4dcf4865142dbca6f15acd59c" @@ -3538,6 +3547,11 @@ ci-info@^2.0.0: resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== +classlist-polyfill@^1.0.3: + version "1.2.0" + resolved "https://registry.yarnpkg.com/classlist-polyfill/-/classlist-polyfill-1.2.0.tgz#935bc2dfd9458a876b279617514638bcaa964a2e" + integrity sha512-GzIjNdcEtH4ieA2S8NmrSxv7DfEV5fmixQeyTmqmRmRJPGpRBaSnA2a0VrCjyT8iW8JjEdMbKzDotAJf+ajgaQ== + classnames@^2.2.5: version "2.3.1" resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.3.1.tgz#dfcfa3891e306ec1dad105d0e88f4417b8535e8e" @@ -5990,7 +6004,7 @@ lodash.curry@^4.0.1: resolved "https://registry.yarnpkg.com/lodash.curry/-/lodash.curry-4.1.1.tgz#248e36072ede906501d75966200a86dab8b23170" integrity sha512-/u14pXGviLaweY5JI0IUzgzF2J6Ne8INyzAZjImcryjgkZ+ebruBxy2/JaOOkTqScddcYtakjhSaeemV8lR0tA== -lodash.debounce@^4.0.8: +lodash.debounce@^4.0.6, lodash.debounce@^4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== @@ -6010,6 +6024,11 @@ lodash.sortby@^4.7.0: resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" integrity sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA== +lodash.throttle@^4.0.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/lodash.throttle/-/lodash.throttle-4.1.1.tgz#c23e91b710242ac70c37f1e1cda9274cc39bf2f4" + integrity sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ== + [email protected], lodash.uniq@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
