diff --git a/assets/scss/team.scss b/assets/scss/team.scss new file mode 100644 index 0000000000..1df7e3a4d1 --- /dev/null +++ b/assets/scss/team.scss @@ -0,0 +1,306 @@ +@import 'variables'; +@import 'mixin'; + +$selected-div: 1, 3, 6, 8, 9, 11; + +.section-1 { + position: relative; + padding-top: 138px; + padding-bottom: 100px; + + .title-div { + text-align: center; + } + + p { + margin: 12px auto 0; + letter-spacing: -0.04px; + color: #ffffff; + } +} + +.section-2 { + padding-top: 80px; + padding-bottom: 80px; + position: relative; + background-color: #ffffff; + + &>div { + h2 { + text-align: center; + } + } + +} + + +.section-3 { + padding-top: 80px; + padding-bottom: 80px; + position: relative; + background-color: #F5F8F9; + + + .contributor-list { + margin-top: 20px; + + display: flex; + flex-wrap: wrap; + justify-content: space-between; + + @media only screen and (max-width:$mobile-max-width) { + justify-content: center; + } + + .contributor-list-item { + background-color: #ffffff; + border: 1px solid #E3E9EF; + width: 373px; + height: 64px; + border-radius: 8px; + margin-top: 20px; + transition: box-shadow 0.3s ease-in-out; + + &:hover { + box-shadow: 0px 4px 16px 0px #072A4429; + + span { + color: #00A971; + } + } + + .contributor-link { + cursor: pointer; + display: flex; + justify-content: left; + align-items: center; + width: 100%; + height: 100%; + + &>div { + padding-left: 24px; + + padding-right: 18px; + } + } + + span { + font-family: Roboto; + font-size: 18px; + font-weight: 500; + line-height: 24px; + text-align: center; + transition: color 0.3s; + } + + } + } +} + +.section-4 { + padding-top: 80px; + padding-bottom: 80px; + position: relative; + background-color: #ffffff; + + &>div { + h2 { + text-align: center; + } + } +} + + +.section-title { + h2 { + text-align: center; + } + + .section-description { + font-family: Roboto; + color: #919AA3; + padding: 4px 0; + font-size: 16px; + font-weight: 400; + line-height: 32px; + text-align: center; + } +} + +.grid-wrapper{ + display: flex; + justify-content: center; +} + +.scroll-container { + margin-top: 40px; + position: relative; + overflow: hidden; + height: calc(213px * 4 + 60px); + + display: flex; + justify-content: center; +} + +.member-grid.scroll { + overflow-y: scroll; + -ms-overflow-style: none; + /* Internet Explorer 10+ */ + scrollbar-width: none; + /* Firefox */ + +} + +.member-grid.noscroll { + margin-top: 40px; +} + +.member-grid::-webkit-scrollbar { + display: none; +} + +.member-grid { + position: relative; + display: grid; + grid-template-columns: repeat(5, 216px); + justify-content: center; + gap: 20px; + width: 100%; + height: 100%; + + // height: calc(216px * 4 + 60px); + + // @media only screen and (max-width:$mobile-max-width) { + // grid-template-columns: repeat(2, 216px); + // } + + + @media only screen and (max-width:$mobile-max-width) { + grid-template-columns: repeat(1, 200px); + width: 80%; + } + + // treat a as block elem + .member-profile-link { + cursor: pointer; + display: block; + width: 100%; + height: 100%; + } + + + .member-grid-item { + position: relative; + // width: 216px; + height: 212px; + border-radius: 8px; + border: 1px solid var(--borderColor-subtler, #E3E9EF); + overflow: hidden; + + + .member-info-ctn { + + z-index: 2; + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + width: 168px; + height: 164px; + display: flex; + justify-content: space-between; + align-items: center; + flex-direction: column; + + img { + width: 104px; + height: 104px; + background-color: #ffffff; + border-radius: 50%; + } + + .member-name-ctn { + width: 100%; + + span { + display: block; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } + + .member-name { + font-family: Roboto; + font-size: 18px; + font-weight: 600; + line-height: 24px; + text-align: center; + transition: color 0.3s; + } + + .member-nickname { + font-family: Roboto; + font-size: 14px; + font-weight: 400; + line-height: 24px; + text-align: center; + color: #8F94A1; + } + } + } + + transition: box-shadow 0.3s ease-in-out; + + // hover bg + &:hover { + + box-shadow: 0px 4px 16px 0px #072A4429; + + .member-name { + color: #00A971; + } + + .member-bg-hover { + opacity: 1; + } + } + + .member-bg-hover { + position: absolute; + z-index: 1; + display: grid; + top: -12px; + left: 50%; + transform: translateX(-50%); + grid-template-columns: repeat(4, 63px); + grid-template-rows: 54px 54px 39px; + transition: opacity 0.3s; + opacity: 0; + + &>div { + border-top: 1px solid #E3E9EF; + border-right: 1px solid #E3E9EF; + } + + @each $d in $selected-div { + &>div:nth-child(#{$d}) { + @if $d < 5 { + background: linear-gradient(172.48deg, rgba(0, 169, 113, 0.06) 35.12%, rgba(0, 169, 113, 0.06) 94.04%); + opacity: 0.5; + } + + @else if $d < 9 { + background: linear-gradient(172.48deg, rgba(0, 169, 113, 0.06) 35.12%, rgba(0, 169, 113, 0.06) 94.04%); + opacity: 0.5; + } + + @else { + background: linear-gradient(172.48deg, rgba(0, 169, 113, 0.06) 35.12%, rgba(0, 169, 113, 0) 94.04%); + opacity: 0.4; + } + } + } + + } + } +} \ No newline at end of file diff --git a/config/_default/config.toml b/config/_default/config.toml index 192b3b8313..26ce7ecb20 100644 --- a/config/_default/config.toml +++ b/config/_default/config.toml @@ -184,35 +184,41 @@ name = "Community" URL = "contribution/" weight = 1 + [[languages.en.menu.main]] + parent = "Community" + name = "Team" + URL = "team/" + weight = 2 + [[languages.en.menu.main]] parent = "Community" name = "Case Studies" URL = "case/" - weight = 2 + weight = 3 [[languages.en.menu.main]] parent = "Community" name = "Partner" URL = "partner/" - weight = 3 + weight = 4 [[languages.en.menu.main]] parent = "Community" name = "News" URL = "news/" - weight = 4 + weight = 5 [[languages.en.menu.main]] parent = "Community" name = "RoadMap" URL = "https://github.com/kubesphere/kubesphere/blob/master/docs/roadmap.md" - weight = 5 + weight = 6 [[languages.en.menu.main]] parent = "Community" name = "OSPP 2024" URL = "https://github.com/kubesphere/community/tree/master/sig-advocacy-and-outreach/ospp-2024" - weight = 6 + weight = 7 [languages.zh] @@ -321,53 +327,59 @@ name = "开源社区" URL = "contribution/" weight = 1 + [[languages.zh.menu.main]] + parent = "开源社区" + name = "团队" + URL = "team/" + weight = 2 + [[languages.zh.menu.main]] parent = "开源社区" name = "社区活动" URL = "live/" - weight = 2 + weight = 3 [[languages.zh.menu.main]] parent = "开源社区" name = "案例学习" URL = "case/" - weight = 3 + weight = 4 [[languages.zh.menu.main]] parent = "开源社区" name = "合作伙伴" URL = "partner/" - weight = 4 + weight = 5 [[languages.zh.menu.main]] parent = "开源社区" name = "用户委员会" URL = "user-group/" - weight = 5 + weight = 6 [[languages.zh.menu.main]] parent = "开源社区" name = "动态" URL = "news/" - weight = 6 + weight = 7 [[languages.zh.menu.main]] parent = "开源社区" name = "版本计划" URL = "https://github.com/kubesphere/kubesphere/blob/master/docs/roadmap.md" - weight = 7 + weight = 8 [[languages.zh.menu.main]] parent = "开源社区" name = "中国站" URL = "https://www.kubesphere.io/zh/" - weight = 8 + weight = 9 [[languages.zh.menu.main]] parent = "开源社区" name = "开源之夏 2024" URL = "https://github.com/kubesphere/community/tree/master/sig-advocacy-and-outreach/ospp-2024" - weight = 9 + weight = 10 [[languages.zh.menu.main]] weight = 6 diff --git a/content/en/team/_index.md b/content/en/team/_index.md new file mode 100644 index 0000000000..cd5871a251 --- /dev/null +++ b/content/en/team/_index.md @@ -0,0 +1,48 @@ +--- +title: "team" + +css: "scss/team.scss" + +section1: + title: 'Team Members' + content: 'We ❤️ Open Source.' + topImage: "/images/team/team-top.jpg" + +section2: + title: 'KubeSphere Member' + +section3: + title: 'KubeSphere Contributor' + description: "You can check out the list of all contributors to KubeSphere in Github Insight" + icon: "/images/team/github.svg" + contributors: + - name: "kubesphere" + link: "https://github.com/kubesphere/kubesphere/graphs/contributors" + - name: "kubekey" + link: "https://github.com/kubesphere/kubekey/graphs/contributors" + - name: "console" + link: "https://github.com/kubesphere/console/graphs/contributors" + - name: "ks-installer" + link: "https://github.com/kubesphere/ks-installer/graphs/contributors" + - name: "kubeeye" + link: "https://github.com/kubesphere/kubeeye/graphs/contributors" + - name: "community" + link: "https://github.com/kubesphere/community/graphs/contributors" + +section4: + title: "KubeSphere Ambassador" + description: "Time : xx Month xx, 2023 - xx Month xx, 2024" + ambassadors: + - name: "Calvin Yu" + nickname: "calvinyv" + avater: "https://avatars.githubusercontent.com/u/28883416?v=4" + link: "https://github.com/calvinyv/" + - name: "fawei zhao" + nickname: "faweizhao26" + avater: "https://avatars.githubusercontent.com/u/78190874?v=4" + link: "https://github.com/faweizhao26/" + - name: "Halil Bugol" + nickname: "halil-bugol" + avater: "https://avatars.githubusercontent.com/u/60687576?v=4" + link: "https://github.com/halil-bugol/" +--- \ No newline at end of file diff --git a/content/zh/team/_index.md b/content/zh/team/_index.md new file mode 100644 index 0000000000..4fdb28cf1f --- /dev/null +++ b/content/zh/team/_index.md @@ -0,0 +1,48 @@ +--- +title: "team" + +css: "scss/team.scss" + +section1: + title: '团队介绍' + content: 'We ❤️ Open Source.' + topImage: "/images/team/team-top.jpg" + +section2: + title: 'KubeSphere Member' + +section3: + title: 'KubeSphere Contributor' + description: "你可以从 Github 的贡献记录中查看所有 KubeSphere 的贡献者列表" + icon: "/images/team/github.svg" + contributors: + - name: "kubesphere" + link: "https://github.com/kubesphere/kubesphere/graphs/contributors" + - name: "kubekey" + link: "https://github.com/kubesphere/kubekey/graphs/contributors" + - name: "console" + link: "https://github.com/kubesphere/console/graphs/contributors" + - name: "ks-installer" + link: "https://github.com/kubesphere/ks-installer/graphs/contributors" + - name: "kubeeye" + link: "https://github.com/kubesphere/kubeeye/graphs/contributors" + - name: "community" + link: "https://github.com/kubesphere/community/graphs/contributors" + +section4: + title: "KubeSphere Ambassador" + description: "时间 : 2023 年 xx 月 xx 日-2024 年 xx 月 xx 日" + ambassadors: + - name: "Calvin Yu" + nickname: "calvinyv" + avater: "https://avatars.githubusercontent.com/u/28883416?v=4" + link: "https://github.com/calvinyv/" + - name: "fawei zhao" + nickname: "faweizhao26" + avater: "https://avatars.githubusercontent.com/u/78190874?v=4" + link: "https://github.com/faweizhao26/" + - name: "Halil Bugol" + nickname: "halil-bugol" + avater: "https://avatars.githubusercontent.com/u/60687576?v=4" + link: "https://github.com/halil-bugol/" +--- \ No newline at end of file diff --git a/layouts/_default/baseof.html b/layouts/_default/baseof.html index e540745fce..62227e7687 100644 --- a/layouts/_default/baseof.html +++ b/layouts/_default/baseof.html @@ -53,4 +53,5 @@ {{- partial "footer.html" . -}} - \ No newline at end of file + +{{- partial "buildTeamResource" . -}} \ No newline at end of file diff --git a/layouts/partials/buildTeamResource.html b/layouts/partials/buildTeamResource.html new file mode 100644 index 0000000000..7c224083ff --- /dev/null +++ b/layouts/partials/buildTeamResource.html @@ -0,0 +1,101 @@ +{{- if .IsHome -}} +{{ $url := "https://api.github.com/orgs/kubesphere/members?per_page=100&page=2" }} +{{ $token := getenv "HUGO_GITHUB_TOKEN" }} + +{{ $memberList := slice }} + +{{ $opts := dict +"method" "get" +"headers" (dict +"Authorization" (printf "Bearer %s" $token) +"Accept" "application/vnd.github+json" +"X-GitHub-Api-Version" "2022-11-28") +}} + +{{ $limit := 10}} + +{{ $error := false }} + + +{{ range seq 1 $limit }} + {{ $get_page_url := (printf "https://api.github.com/orgs/kubesphere/members?per_page=100&page=%d" .)}} + + {{ with resources.GetRemote $get_page_url $opts}} + {{ with .Err }} + {{/* {{ errorf "%s" . }} */}} + {{ warnf "%s" . }} + {{ $error = true }} + {{ break }} + + {{ else }} + + {{ with .}} + {{ $member_page_data := . | transform.Unmarshal }} + {{ $l := len $member_page_data}} + {{ if lt $l 1}} + {{ break }} + {{ end }} + + + {{ range $member_page_data }} + {{ $member_url := .url}} + {{ with resources.GetRemote $member_url $opts }} + {{ with .Err }} + {{/* {{ errorf "%s" . }} */}} + {{ warnf "%s" . }} + {{ $error = true }} + {{ break }} + {{ else }} + {{ with .}} + {{ $member_data := . | transform.Unmarshal }} + + {{ $name := "" }} + {{ if $member_data.name }} + {{ $name = $member_data.name }} + {{ else }} + {{ $name = $member_data.login }} + {{ end }} + {{ $member_info := dict + "name" $name + "nickname" $member_data.login + "avater" $member_data.avatar_url + "link" $member_data.html_url + }} + {{ $memberList = $memberList | append $member_info }} + {{ end }} + {{ end }} + {{ else }} + {{/* {{ errorf "Unable to get remote resource %q" $url }} */}} + {{ warnf "%s" . }} + {{ $error = true }} + {{ break }} + {{ end }} + {{ end }} + + + {{ end }} + + {{ end }} + {{ else }} + {{/* {{ errorf "Unable to get remote resource %q" $url }} */}} + {{ warnf "%s" . }} + {{ $error = true }} + {{ break }} + {{ end }} + +{{ end }} + +{{ if not $error}} + {{ $json := jsonify $memberList}} + {{ $r := resources.FromString "/json/members.json" $json }} + {{ $r.Publish }} +{{ else }} + {{ warnf "get from github api error,try to use default member data"}} + + {{ if not (fileExists "static/json/default_members.json") }} + {{ errorf "get memeber data error" }} + {{ end }} + +{{ end }} + +{{ end }} \ No newline at end of file diff --git a/layouts/partials/memberList.html b/layouts/partials/memberList.html new file mode 100644 index 0000000000..d211f2d6f5 --- /dev/null +++ b/layouts/partials/memberList.html @@ -0,0 +1,33 @@ +{{ if eq . ""}} +
+ +
+{{ else }} +
+ +
+
+ {{ .nickname }} +
+
+ {{ .name }} + @{{ .nickname }} +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{{ end }} \ No newline at end of file diff --git a/layouts/team/list.html b/layouts/team/list.html new file mode 100644 index 0000000000..ada33236d2 --- /dev/null +++ b/layouts/team/list.html @@ -0,0 +1,209 @@ +{{ define "main" }} + +{{ $memberList := "" }} + +{{ if fileExists "public/json/members.json"}} + {{ $memberList = getJSON "public/json/members.json"}} + + {{ if eq (len $memberList) 0 }} + {{ if fileExists "public/json/default_members.json"}} + {{ $memberList = getJSON "public/json/default_members.json"}} + {{ else }} + {{ errorf "cannot get member data" }} + {{end}} + {{ end }} +{{ else }} + {{ if fileExists "public/json/default_members.json"}} + {{ $memberList = getJSON "public/json/default_members.json"}} + {{ else }} + {{ errorf "cannot get member data" }} + {{end}} +{{ end }} + +{{/* todo !!! currently only support 5 colmuns */}} +{{ $l := len $memberList }} +{{ $addNum := sub 5 (mod $l 5) }} + +{{ with .Params.section1 }} +
+
+

{{ .title }}

+

{{ .content }}

+
+
+{{ end }} + +{{ with .Params.section2 }} +
+
+

{{ .title }}

+
+
+ {{ range $memberList }} + {{ partial "memberList" .}} + {{ end }} + {{ range seq $addNum}} + {{ partial "memberList" ""}} + {{ end }} +
+
+ +
+{{ end }} + + + +{{ with .Params.section3 }} +
+
+
+

{{ .title }}

+
+ {{ .description }} +
+
+
+ {{ range .contributors }} + + + {{ end }} +
+
+
+{{ end }} + +{{ with .Params.section4 }} +
+
+
+

{{ .title }}

+
+ {{ .description }} +
+
+
+
+ {{ range .ambassadors }} + {{ partial "memberList" .}} + {{ end }} +
+
+
+{{ end }} + +{{/*
+
+
+
*/}} + +{{ end }} \ No newline at end of file diff --git a/static/images/team/Github.svg b/static/images/team/Github.svg new file mode 100644 index 0000000000..1cd83cd3ca --- /dev/null +++ b/static/images/team/Github.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/static/images/team/team-top.jpg b/static/images/team/team-top.jpg new file mode 100644 index 0000000000..d0c1818254 Binary files /dev/null and b/static/images/team/team-top.jpg differ diff --git a/static/json/default_members.json b/static/json/default_members.json new file mode 100644 index 0000000000..caba97504a --- /dev/null +++ b/static/json/default_members.json @@ -0,0 +1 @@ +[{"avater":"https://avatars.githubusercontent.com/u/18698858?v=4","link":"https://github.com/1216361723","name":"hollisy","nickname":"1216361723"},{"avater":"https://avatars.githubusercontent.com/u/87936714?v=4","link":"https://github.com/123liubao","name":"123liubao","nickname":"123liubao"},{"avater":"https://avatars.githubusercontent.com/u/43993589?v=4","link":"https://github.com/24sama","name":"Leo Li","nickname":"24sama"},{"avater":"https://avatars.githubusercontent.com/u/83219492?v=4","link":"https://github.com/2576590640","name":"wzy2576590640","nickname":"2576590640"},{"avater":"https://avatars.githubusercontent.com/u/44744910?v=4","link":"https://github.com/51wangping","name":"Dylan Wang","nickname":"51wangping"},{"avater":"https://avatars.githubusercontent.com/u/52507296?v=4","link":"https://github.com/AbdelouahabMbarki","name":"Abdelouahab Mbarki","nickname":"AbdelouahabMbarki"},{"avater":"https://avatars.githubusercontent.com/u/7586502?v=4","link":"https://github.com/acekingke","name":"aceking","nickname":"acekingke"},{"avater":"https://avatars.githubusercontent.com/u/7610845?v=4","link":"https://github.com/akhilerm","name":"Akhil Mohan","nickname":"akhilerm"},{"avater":"https://avatars.githubusercontent.com/u/108706258?v=4","link":"https://github.com/alanhong-qc","name":"alanhong-qc","nickname":"alanhong-qc"},{"avater":"https://avatars.githubusercontent.com/u/97075229?v=4","link":"https://github.com/aningmeng","name":"aningmeng","nickname":"aningmeng"},{"avater":"https://avatars.githubusercontent.com/u/26163841?v=4","link":"https://github.com/Arhell","name":"Ihor Sychevskyi","nickname":"Arhell"},{"avater":"https://avatars.githubusercontent.com/u/18525465?v=4","link":"https://github.com/benjaminhuo","name":"Benjamin Huo","nickname":"benjaminhuo"},{"avater":"https://avatars.githubusercontent.com/u/2081100?v=4","link":"https://github.com/bojand","name":"Bojan","nickname":"bojand"},{"avater":"https://avatars.githubusercontent.com/u/28883416?v=4","link":"https://github.com/calvinyv","name":"Calvin Yu","nickname":"calvinyv"},{"avater":"https://avatars.githubusercontent.com/u/90238995?v=4","link":"https://github.com/chanoe","name":"chano","nickname":"chanoe"},{"avater":"https://avatars.githubusercontent.com/u/79623295?v=4","link":"https://github.com/chanw-git","name":"chanw-git","nickname":"chanw-git"},{"avater":"https://avatars.githubusercontent.com/u/17962021?v=4","link":"https://github.com/chaunceyjiang","name":"Chauncey","nickname":"chaunceyjiang"},{"avater":"https://avatars.githubusercontent.com/u/5917832?v=4","link":"https://github.com/chilianyi","name":"chilianyi","nickname":"chilianyi"},{"avater":"https://avatars.githubusercontent.com/u/15140157?v=4","link":"https://github.com/chinazj","name":"krole","nickname":"chinazj"},{"avater":"https://avatars.githubusercontent.com/u/18692628?v=4","link":"https://github.com/daniel-hutao","name":"Daniel Hu","nickname":"daniel-hutao"},{"avater":"https://avatars.githubusercontent.com/u/77606854?v=4","link":"https://github.com/djangoyi-yunify","name":"djangoyi-yunify","nickname":"djangoyi-yunify"},{"avater":"https://avatars.githubusercontent.com/u/151593001?v=4","link":"https://github.com/dongdong453X","name":"dongdong453X","nickname":"dongdong453X"},{"avater":"https://avatars.githubusercontent.com/u/12584040?v=4","link":"https://github.com/donniean","name":"donniean","nickname":"donniean"},{"avater":"https://avatars.githubusercontent.com/u/22233509?v=4","link":"https://github.com/drzhangg","name":"zhang","nickname":"drzhangg"},{"avater":"https://avatars.githubusercontent.com/u/3678855?v=4","link":"https://github.com/duanjiong","name":"Duan Jiong","nickname":"duanjiong"},{"avater":"https://avatars.githubusercontent.com/u/13115769?v=4","link":"https://github.com/dugangandy","name":"dugang","nickname":"dugangandy"},{"avater":"https://avatars.githubusercontent.com/u/8028624?v=4","link":"https://github.com/eelogic","name":"Ethan","nickname":"eelogic"},{"avater":"https://avatars.githubusercontent.com/u/91418272?v=4","link":"https://github.com/eugeneliu930909","name":"茶茶","nickname":"eugeneliu930909"},{"avater":"https://avatars.githubusercontent.com/u/78190874?v=4","link":"https://github.com/faweizhao26","name":"fawei zhao","nickname":"faweizhao26"},{"avater":"https://avatars.githubusercontent.com/u/14897634?v=4","link":"https://github.com/Feeeenng","name":"Feng ","nickname":"Feeeenng"},{"avater":"https://avatars.githubusercontent.com/u/40452856?v=4","link":"https://github.com/FeynmanZhou","name":"Feynman Zhou","nickname":"FeynmanZhou"},{"avater":"https://avatars.githubusercontent.com/u/108313670?v=4","link":"https://github.com/frankxixi","name":"frankxixi","nickname":"frankxixi"},{"avater":"https://avatars.githubusercontent.com/u/19492214?v=4","link":"https://github.com/frezes","name":"Junhao Zhang","nickname":"frezes"},{"avater":"https://avatars.githubusercontent.com/u/63338728?v=4","link":"https://github.com/fuchunlan","name":"fcl","nickname":"fuchunlan"},{"avater":"https://avatars.githubusercontent.com/u/35139861?v=4","link":"https://github.com/Gentleelephant","name":"zhangpeng","nickname":"Gentleelephant"},{"avater":"https://avatars.githubusercontent.com/u/57170601?v=4","link":"https://github.com/geray-zsg","name":"刁Xy\u00266旦","nickname":"geray-zsg"},{"avater":"https://avatars.githubusercontent.com/u/60687576?v=4","link":"https://github.com/halil-bugol","name":"Halil Bugol","nickname":"halil-bugol"},{"avater":"https://avatars.githubusercontent.com/u/8565431?v=4","link":"https://github.com/hanleirx","name":"hanleirx","nickname":"hanleirx"},{"avater":"https://avatars.githubusercontent.com/u/17872673?v=4","link":"https://github.com/harrisonliu5","name":"Harrison Liu","nickname":"harrisonliu5"},{"avater":"https://avatars.githubusercontent.com/u/4861515?v=4","link":"https://github.com/hlwanghl","name":"Hongliang Wang","nickname":"hlwanghl"},{"avater":"https://avatars.githubusercontent.com/u/36416216?v=4","link":"https://github.com/hongzhouzi","name":"hongzhouzi","nickname":"hongzhouzi"},{"avater":"https://avatars.githubusercontent.com/u/162724054?v=4","link":"https://github.com/howiehuang88","name":"howiehuang88","nickname":"howiehuang88"},{"avater":"https://avatars.githubusercontent.com/u/22350668?v=4","link":"https://github.com/huanggze","name":"huanggze","nickname":"huanggze"},{"avater":"https://avatars.githubusercontent.com/u/9134003?v=4","link":"https://github.com/iawia002","name":"Xinzhao Xu","nickname":"iawia002"},{"avater":"https://avatars.githubusercontent.com/u/316145?v=4","link":"https://github.com/imdonkey","name":"Samantha","nickname":"imdonkey"},{"avater":"https://avatars.githubusercontent.com/u/31612033?v=4","link":"https://github.com/imneov","name":"LiuFeng","nickname":"imneov"},{"avater":"https://avatars.githubusercontent.com/u/17754890?v=4","link":"https://github.com/inksnw","name":"inksnw","nickname":"inksnw"},{"avater":"https://avatars.githubusercontent.com/u/85560370?v=4","link":"https://github.com/Jasmine-chentao","name":"Jasmine-chentao","nickname":"Jasmine-chentao"},{"avater":"https://avatars.githubusercontent.com/u/39333013?v=4","link":"https://github.com/jinchengsix","name":"jinchengsix","nickname":"jinchengsix"},{"avater":"https://avatars.githubusercontent.com/u/16865714?v=4","link":"https://github.com/JohnNiang","name":"John Niang","nickname":"JohnNiang"},{"avater":"https://avatars.githubusercontent.com/u/2909396?v=4","link":"https://github.com/JordanLi","name":"JordanLi","nickname":"JordanLi"},{"avater":"https://avatars.githubusercontent.com/u/49136171?v=4","link":"https://github.com/junotx","name":"junot","nickname":"junotx"},{"avater":"https://avatars.githubusercontent.com/u/27280299?v=4","link":"https://github.com/justahole","name":"GoBy","nickname":"justahole"},{"avater":"https://avatars.githubusercontent.com/u/11732174?v=4","link":"https://github.com/k0ngk0ng","name":"KongKong","nickname":"k0ngk0ng"},{"avater":"https://avatars.githubusercontent.com/u/58418543?v=4","link":"https://github.com/kang-cmd","name":"kangchong","nickname":"kang-cmd"},{"avater":"https://avatars.githubusercontent.com/u/30433468?v=4","link":"https://github.com/keladhruv","name":"Dhruv Kela","nickname":"keladhruv"},{"avater":"https://avatars.githubusercontent.com/u/47586280?v=4","link":"https://github.com/ks-ci-bot","name":"KubeSphere CI Bot","nickname":"ks-ci-bot"},{"avater":"https://avatars.githubusercontent.com/u/95465308?v=4","link":"https://github.com/ks-crowdin-bot","name":"ks-crowdin-bot","nickname":"ks-crowdin-bot"},{"avater":"https://avatars.githubusercontent.com/u/6975270?v=4","link":"https://github.com/leehui85","name":"nathan","nickname":"leehui85"},{"avater":"https://avatars.githubusercontent.com/u/32144066?v=4","link":"https://github.com/Leioy","name":"Leioy","nickname":"Leioy"},{"avater":"https://avatars.githubusercontent.com/u/2353395?v=4","link":"https://github.com/liangcd","name":"David Liang","nickname":"liangcd"},{"avater":"https://avatars.githubusercontent.com/u/28711504?v=4","link":"https://github.com/liangyuanpeng","name":"Lan","nickname":"liangyuanpeng"},{"avater":"https://avatars.githubusercontent.com/u/46879761?v=4","link":"https://github.com/liangzai006","name":"Xiao Liu","nickname":"liangzai006"},{"avater":"https://avatars.githubusercontent.com/u/3814966?v=4","link":"https://github.com/lilien1010","name":"Lien Li","nickname":"lilien1010"},{"avater":"https://avatars.githubusercontent.com/u/1450685?v=4","link":"https://github.com/LinuxSuRen","name":"Rick","nickname":"LinuxSuRen"},{"avater":"https://avatars.githubusercontent.com/u/39849463?v=4","link":"https://github.com/liuboaibc","name":"LiuBo","nickname":"liuboaibc"},{"avater":"https://avatars.githubusercontent.com/u/25575881?v=4","link":"https://github.com/liuqing577","name":"liuqing577","nickname":"liuqing577"},{"avater":"https://avatars.githubusercontent.com/u/169769521?v=4","link":"https://github.com/liuximi","name":"liuximi","nickname":"liuximi"},{"avater":"https://avatars.githubusercontent.com/u/36271543?v=4","link":"https://github.com/liuyp2018","name":"liuyp2018","nickname":"liuyp2018"},{"avater":"https://avatars.githubusercontent.com/u/15606468?v=4","link":"https://github.com/liuyuqin1991","name":"liu yuqin","nickname":"liuyuqin1991"},{"avater":"https://avatars.githubusercontent.com/u/91461866?v=4","link":"https://github.com/liuzhen21","name":"liuzhen21","nickname":"liuzhen21"},{"avater":"https://avatars.githubusercontent.com/u/28643936?v=4","link":"https://github.com/liyefox","name":"sakakong","nickname":"liyefox"},{"avater":"https://avatars.githubusercontent.com/u/105278390?v=4","link":"https://github.com/liyun95","name":"liyun95","nickname":"liyun95"},{"avater":"https://avatars.githubusercontent.com/u/118687?v=4","link":"https://github.com/lshmouse","name":"Liu Shaohui","nickname":"lshmouse"},{"avater":"https://avatars.githubusercontent.com/u/24789703?v=4","link":"https://github.com/luqiaoshi","name":"luqiaoshi","nickname":"luqiaoshi"},{"avater":"https://avatars.githubusercontent.com/u/1918195?v=4","link":"https://github.com/lxm","name":"LXM","nickname":"lxm"},{"avater":"https://avatars.githubusercontent.com/u/35127166?v=4","link":"https://github.com/mangoGoForward","name":"mango","nickname":"mangoGoForward"},{"avater":"https://avatars.githubusercontent.com/u/1913584?v=4","link":"https://github.com/markduan","name":"markduan","nickname":"markduan"},{"avater":"https://avatars.githubusercontent.com/u/26102787?v=4","link":"https://github.com/MDZZ110","name":"chenzheng","nickname":"MDZZ110"},{"avater":"https://avatars.githubusercontent.com/u/40252427?v=4","link":"https://github.com/mgw2168","name":"mgw2168","nickname":"mgw2168"},{"avater":"https://avatars.githubusercontent.com/u/13552047?v=4","link":"https://github.com/miaqiang","name":"miaqiang","nickname":"miaqiang"},{"avater":"https://avatars.githubusercontent.com/u/88654580?v=4","link":"https://github.com/mingzewang-yunify","name":"mingzewang-yunify","nickname":"mingzewang-yunify"},{"avater":"https://avatars.githubusercontent.com/u/81357670?v=4","link":"https://github.com/molliezhang","name":"molliezhang","nickname":"molliezhang"},{"avater":"https://avatars.githubusercontent.com/u/59435134?v=4","link":"https://github.com/moyuduo","name":"taoli","nickname":"moyuduo"},{"avater":"https://avatars.githubusercontent.com/u/49010414?v=4","link":"https://github.com/Mrxyy","name":"Mrxyy","nickname":"Mrxyy"},{"avater":"https://avatars.githubusercontent.com/u/45450034?v=4","link":"https://github.com/ngvf","name":"ngvf","nickname":"ngvf"},{"avater":"https://avatars.githubusercontent.com/u/32975024?v=4","link":"https://github.com/Nrehearsal","name":"youhong","nickname":"Nrehearsal"},{"avater":"https://avatars.githubusercontent.com/u/105194256?v=4","link":"https://github.com/Phoebewang999","name":"Phoebewang999","nickname":"Phoebewang999"},{"avater":"https://avatars.githubusercontent.com/u/22290449?v=4","link":"https://github.com/pixiake","name":"pixiake","nickname":"pixiake"},{"avater":"https://avatars.githubusercontent.com/u/86407305?v=4","link":"https://github.com/qianfen2021","name":"qianfen2021","nickname":"qianfen2021"},{"avater":"https://avatars.githubusercontent.com/u/28859385?v=4","link":"https://github.com/rayzhou2017","name":"rayzhou2017","nickname":"rayzhou2017"},{"avater":"https://avatars.githubusercontent.com/u/54946465?v=4","link":"https://github.com/redscholar","name":"liujian","nickname":"redscholar"},{"avater":"https://avatars.githubusercontent.com/u/33660223?v=4","link":"https://github.com/renyunkang","name":"Yunkang Ren","nickname":"renyunkang"},{"avater":"https://avatars.githubusercontent.com/u/105621508?v=4","link":"https://github.com/rnn1012","name":"rnn1012","nickname":"rnn1012"},{"avater":"https://avatars.githubusercontent.com/u/42989547?v=4","link":"https://github.com/rockpanda","name":"ChaoJun","nickname":"rockpanda"},{"avater":"https://avatars.githubusercontent.com/u/1720333?v=4","link":"https://github.com/RolandMa1986","name":"Roland","nickname":"RolandMa1986"},{"avater":"https://avatars.githubusercontent.com/u/87300303?v=4","link":"https://github.com/ROOMrepair","name":"Roomrepair","nickname":"ROOMrepair"},{"avater":"https://avatars.githubusercontent.com/u/122869944?v=4","link":"https://github.com/rujiacheng","name":"rujiacheng","nickname":"rujiacheng"},{"avater":"https://avatars.githubusercontent.com/u/68526782?v=4","link":"https://github.com/runkecheng","name":"rk","nickname":"runkecheng"},{"avater":"https://avatars.githubusercontent.com/u/27058114?v=4","link":"https://github.com/saxon-yc","name":"yc","nickname":"saxon-yc"},{"avater":"https://avatars.githubusercontent.com/u/37802445?v=4","link":"https://github.com/sdnmw","name":"Ma Wei","nickname":"sdnmw"},{"avater":"https://avatars.githubusercontent.com/u/26133834?v=4","link":"https://github.com/seeinghr","name":"Ryen HOO","nickname":"seeinghr"},{"avater":"https://avatars.githubusercontent.com/u/39719096?v=4","link":"https://github.com/shaolei7788","name":"shaolei7788","nickname":"shaolei7788"},{"avater":"https://avatars.githubusercontent.com/u/46024473?v=4","link":"https://github.com/shaoqingyang","name":"shaoqingyang","nickname":"shaoqingyang"},{"avater":"https://avatars.githubusercontent.com/u/20896372?v=4","link":"https://github.com/shenhonglei","name":"Honglei","nickname":"shenhonglei"},{"avater":"https://avatars.githubusercontent.com/u/13198674?v=4","link":"https://github.com/shuaijinrong","name":"shuaijinrong","nickname":"shuaijinrong"},{"avater":"https://avatars.githubusercontent.com/u/46590500?v=4","link":"https://github.com/Siriusmm","name":"Siriusmm","nickname":"Siriusmm"},{"avater":"https://avatars.githubusercontent.com/u/49057502?v=4","link":"https://github.com/smartcat999","name":"smartcat999","nickname":"smartcat999"},{"avater":"https://avatars.githubusercontent.com/u/73820988?v=4","link":"https://github.com/sozenh","name":"hhhhhzhen","nickname":"sozenh"},{"avater":"https://avatars.githubusercontent.com/u/24298044?v=4","link":"https://github.com/spwangxp","name":"XP","nickname":"spwangxp"},{"avater":"https://avatars.githubusercontent.com/u/70880165?v=4","link":"https://github.com/stoneshi-yunify","name":"yonghongshi","nickname":"stoneshi-yunify"},{"avater":"https://avatars.githubusercontent.com/u/95185618?v=4","link":"https://github.com/Sunniio","name":"KeithXiao","nickname":"Sunniio"},{"avater":"https://avatars.githubusercontent.com/u/51448423?v=4","link":"https://github.com/swiftrivergo","name":"swiftrivergo","nickname":"swiftrivergo"},{"avater":"https://avatars.githubusercontent.com/u/87045830?v=4","link":"https://github.com/tanguofu","name":"Tan Guofu","nickname":"tanguofu"},{"avater":"https://avatars.githubusercontent.com/u/9821791?v=4","link":"https://github.com/Toknowledge","name":"Meng Zhe","nickname":"Toknowledge"},{"avater":"https://avatars.githubusercontent.com/u/3349242?v=4","link":"https://github.com/tonxery","name":"tonxery","nickname":"tonxery"},{"avater":"https://avatars.githubusercontent.com/u/24885903?v=4","link":"https://github.com/tonyzaizai","name":"tanli","nickname":"tonyzaizai"},{"avater":"https://avatars.githubusercontent.com/u/33512446?v=4","link":"https://github.com/tracer1023","name":"zhangchj","nickname":"tracer1023"},{"avater":"https://avatars.githubusercontent.com/u/60958839?v=4","link":"https://github.com/txfs19260817","name":"txfs19260817","nickname":"txfs19260817"},{"avater":"https://avatars.githubusercontent.com/u/8400716?v=4","link":"https://github.com/vincenthe11","name":"Vincent He","nickname":"vincenthe11"},{"avater":"https://avatars.githubusercontent.com/u/41519383?v=4","link":"https://github.com/VioZhang","name":"Wenhao","nickname":"VioZhang"},{"avater":"https://avatars.githubusercontent.com/u/109650642?v=4","link":"https://github.com/viozhang2","name":"viozhang2","nickname":"viozhang2"},{"avater":"https://avatars.githubusercontent.com/u/8609706?v=4","link":"https://github.com/wangqiwq","name":"wangqiwq","nickname":"wangqiwq"},{"avater":"https://avatars.githubusercontent.com/u/67785532?v=4","link":"https://github.com/wangtian-010","name":"wangtian-010","nickname":"wangtian-010"},{"avater":"https://avatars.githubusercontent.com/u/53003665?v=4","link":"https://github.com/wanjunlei","name":"wanjunlei","nickname":"wanjunlei"},{"avater":"https://avatars.githubusercontent.com/u/8263040?v=4","link":"https://github.com/wansir","name":"hongming","nickname":"wansir"},{"avater":"https://avatars.githubusercontent.com/u/10022256?v=4","link":"https://github.com/waya-git","name":"waya-git","nickname":"waya-git"},{"avater":"https://avatars.githubusercontent.com/u/2936504?v=4","link":"https://github.com/webup","name":"Haili Zhang","nickname":"webup"},{"avater":"https://avatars.githubusercontent.com/u/39892300?v=4","link":"https://github.com/wenchajun","name":"Elon Cheng","nickname":"wenchajun"},{"avater":"https://avatars.githubusercontent.com/u/16423072?v=4","link":"https://github.com/wenhuwang","name":"Mars","nickname":"wenhuwang"},{"avater":"https://avatars.githubusercontent.com/u/68640256?v=4","link":"https://github.com/wenxinll","name":"wenxin","nickname":"wenxinll"},{"avater":"https://avatars.githubusercontent.com/u/82639611?v=4","link":"https://github.com/wesker-z","name":"wesker-z","nickname":"wesker-z"},{"avater":"https://avatars.githubusercontent.com/u/38676269?v=4","link":"https://github.com/whDongRui","name":"dongrui","nickname":"whDongRui"},{"avater":"https://avatars.githubusercontent.com/u/3085804?v=4","link":"https://github.com/wrongerror","name":"wangyifei","nickname":"wrongerror"},{"avater":"https://avatars.githubusercontent.com/u/18241844?v=4","link":"https://github.com/wuxs","name":"wuxs","nickname":"wuxs"},{"avater":"https://avatars.githubusercontent.com/u/72596911?v=4","link":"https://github.com/XiaohuiSept","name":"Xiaohui","nickname":"XiaohuiSept"},{"avater":"https://avatars.githubusercontent.com/u/26473715?v=4","link":"https://github.com/xiaozhimengmengda","name":"xiaozhimengmengda","nickname":"xiaozhimengmengda"},{"avater":"https://avatars.githubusercontent.com/u/2202557?v=4","link":"https://github.com/xuanjia","name":"Xuan Jia","nickname":"xuanjia"},{"avater":"https://avatars.githubusercontent.com/u/56864744?v=4","link":"https://github.com/xuexinzhou","name":"周学新","nickname":"xuexinzhou"},{"avater":"https://avatars.githubusercontent.com/u/6263928?v=4","link":"https://github.com/xyz-li","name":"andrew_li","nickname":"xyz-li"},{"avater":"https://avatars.githubusercontent.com/u/15308462?v=4","link":"https://github.com/yangchuansheng","name":" Carson Yang","nickname":"yangchuansheng"},{"avater":"https://avatars.githubusercontent.com/u/17949154?v=4","link":"https://github.com/yazhouio","name":"古月","nickname":"yazhouio"},{"avater":"https://avatars.githubusercontent.com/u/50839324?v=4","link":"https://github.com/yinmin090922","name":"yinmin090922","nickname":"yinmin090922"},{"avater":"https://avatars.githubusercontent.com/u/65068467?v=4","link":"https://github.com/yinmin2020","name":"YIN MIN","nickname":"yinmin2020"},{"avater":"https://avatars.githubusercontent.com/u/57400026?v=4","link":"https://github.com/ymqing-sre","name":"yemq","nickname":"ymqing-sre"},{"avater":"https://avatars.githubusercontent.com/u/81553526?v=4","link":"https://github.com/yongchuanzhou","name":"yongchuanzhou","nickname":"yongchuanzhou"},{"avater":"https://avatars.githubusercontent.com/u/48468304?v=4","link":"https://github.com/youyida","name":"尤正航","nickname":"youyida"},{"avater":"https://avatars.githubusercontent.com/u/14155338?v=4","link":"https://github.com/yudong2015","name":"Jack Yu","nickname":"yudong2015"},{"avater":"https://avatars.githubusercontent.com/u/39771045?v=4","link":"https://github.com/yuftlens1","name":"yuftlens1","nickname":"yuftlens1"},{"avater":"https://avatars.githubusercontent.com/u/25241922?v=4","link":"https://github.com/ZALZ","name":"danchey","nickname":"ZALZ"},{"avater":"https://avatars.githubusercontent.com/u/177516753?v=4","link":"https://github.com/zardwang98","name":"zardwang98","nickname":"zardwang98"},{"avater":"https://avatars.githubusercontent.com/u/38528079?v=4","link":"https://github.com/zaunist","name":"zaunist","nickname":"zaunist"},{"avater":"https://avatars.githubusercontent.com/u/41040520?v=4","link":"https://github.com/ZengIan","name":"ian zeng","nickname":"ZengIan"},{"avater":"https://avatars.githubusercontent.com/u/6092586?v=4","link":"https://github.com/zhaohuiweixiao","name":"zhaohuiweixiao","nickname":"zhaohuiweixiao"},{"avater":"https://avatars.githubusercontent.com/u/4156721?v=4","link":"https://github.com/zheng1","name":"Zhengyi Lai","nickname":"zheng1"},{"avater":"https://avatars.githubusercontent.com/u/9247033?v=4","link":"https://github.com/zhl003","name":"hualongzhong","nickname":"zhl003"},{"avater":"https://avatars.githubusercontent.com/u/34303854?v=4","link":"https://github.com/zhou1203","name":"Wenhao Zhou","nickname":"zhou1203"},{"avater":"https://avatars.githubusercontent.com/u/108912268?v=4","link":"https://github.com/zhouqiu0103","name":"zhouqiu0103","nickname":"zhouqiu0103"},{"avater":"https://avatars.githubusercontent.com/u/132990897?v=4","link":"https://github.com/zhuxiujuan28","name":"zhuxiujuan28","nickname":"zhuxiujuan28"},{"avater":"https://avatars.githubusercontent.com/u/18654693?v=4","link":"https://github.com/zjpjly","name":"zhangjiepeng","nickname":"zjpjly"},{"avater":"https://avatars.githubusercontent.com/u/22139885?v=4","link":"https://github.com/zlianzhuang","name":"zhangLianZhuang","nickname":"zlianzhuang"},{"avater":"https://avatars.githubusercontent.com/u/24809092?v=4","link":"https://github.com/zpllz","name":"zpllz","nickname":"zpllz"},{"avater":"https://avatars.githubusercontent.com/u/3326354?v=4","link":"https://github.com/zryfish","name":"zryfish","nickname":"zryfish"},{"avater":"https://avatars.githubusercontent.com/u/62866252?v=4","link":"https://github.com/zt1046656665","name":"zhoutian","nickname":"zt1046656665"},{"avater":"https://avatars.githubusercontent.com/u/175192810?v=4","link":"https://github.com/zuoxuesong-worker","name":"zuoxuesong-worker","nickname":"zuoxuesong-worker"},{"avater":"https://avatars.githubusercontent.com/u/37300066?v=4","link":"https://github.com/zwn888zwn","name":"weinan zhang","nickname":"zwn888zwn"},{"avater":"https://avatars.githubusercontent.com/u/24382218?v=4","link":"https://github.com/zzxxjsdssz","name":"zzxxjsdssz","nickname":"zzxxjsdssz"}] \ No newline at end of file