Skip to content

Commit 42608a5

Browse files
authored
docs: add contributors list (#6842)
1 parent 22b21cd commit 42608a5

File tree

5 files changed

+108
-2
lines changed

5 files changed

+108
-2
lines changed

README-zh_CN.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,3 +102,11 @@ Support us with a monthly donation and help us continue our activities. [[Become
102102
<a href="https://www.mokeyjay.com" target="_blank"><img width="64" style="border-radius: 50%;" src="https://www.mokeyjay.com/headimg.png" title="donation by Patreon"></a>
103103

104104
## [更多赞助者 (通过 Patreon、支付宝、微信、paypal 等等)](https://github.com/vueComponent/ant-design-vue/blob/master/BACKERS.md)
105+
106+
## 贡献者
107+
108+
感谢所有为 ant-design-vue 做出贡献的人!
109+
110+
<a href="https://github.com/vueComponent/ant-design-vue/graphs/contributors">
111+
<img src="https://contrib.rocks/image?repo=vueComponent/ant-design-vue&max=100&columns=15" />
112+
</a>

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,8 @@ Become a sponsor and get your logo on our README on Github with a link to your s
8383

8484
<a href="http://www.jeecg.com/" target="_blank"><img src="https://aliyuncdn.antdv.com/jeecg-logo.png" height="64"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/0/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/0/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/1/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/1/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/2/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/2/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/3/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/3/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/4/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/4/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/5/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/5/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/6/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/6/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/7/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/7/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/8/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/8/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/9/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/9/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/10/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/10/avatar.svg"></a>
8585

86+
## [More Sponsor (From Patreon、alipay、wechat、paypal...)](https://github.com/vueComponent/ant-design-vue/blob/master/BACKERS.md)
87+
8688
## Contributors
8789

8890
Thank you to all the people who already contributed to ant-design-vue!
@@ -91,8 +93,6 @@ Thank you to all the people who already contributed to ant-design-vue!
9193
<img src="https://contrib.rocks/image?repo=vueComponent/ant-design-vue&max=100&columns=15" />
9294
</a>
9395

94-
## [More Sponsor (From Patreon、alipay、wechat、paypal...)](https://github.com/vueComponent/ant-design-vue/blob/master/BACKERS.md)
95-
9696
[![Let's fund issues in this repository](https://issuehunt.io/static/embed/issuehunt-button-v1.svg)](https://issuehunt.io/repos/104172832)
9797

9898
This project is tested with BrowserStack.
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
export const REPO_OWNER = 'VueComponent';
2+
export const REPO_NAME = 'ant-design-vue';
3+
export const REPO_PATH = `${REPO_OWNER}/${REPO_NAME}`;
4+
export const REPO_BRANCH = 'main';
Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
<script setup lang="ts">
2+
import { ref, watchEffect } from 'vue';
3+
import { useRoute } from 'vue-router';
4+
import { REPO_PATH } from './constants';
5+
6+
defineProps({
7+
isZn: Boolean,
8+
});
9+
const route = useRoute();
10+
const contributors = ref([]);
11+
const filterData = data => {
12+
const arr = [];
13+
data.forEach(item => {
14+
if (!!item.author?.login || !!item.author?.html_url || !!item.author?.avatar_url) {
15+
arr.push({
16+
login: item.author.login,
17+
url: item.author.html_url,
18+
avatar: item.author.avatar_url,
19+
});
20+
}
21+
});
22+
contributors.value = arr.reduce((acc, curr) => {
23+
if (!acc.find(item => item.login === curr.login)) {
24+
acc.push(curr);
25+
}
26+
return acc;
27+
}, []);
28+
};
29+
const getContributors = async () => {
30+
const path = route.path;
31+
const parts = path.split('/');
32+
const name = parts[2];
33+
const componentName = name.includes('-') ? name.replace('-cn', '') : name;
34+
const url = `https://api.github.com/repos/${REPO_PATH}/commits?path=/components/${componentName}`;
35+
try {
36+
const req = await fetch(url);
37+
const res = await req.json();
38+
filterData(res);
39+
} catch (e) {
40+
return null;
41+
}
42+
};
43+
watchEffect(() => {
44+
getContributors();
45+
});
46+
</script>
47+
48+
<template>
49+
<ul v-if="contributors.length > 0" class="acss-1ppw8kl">
50+
<li v-for="item in contributors" :key="item.login">
51+
<a-tooltip :title="`${isZn ? '文档贡献者:' : 'contribotors: '}${item.login}`">
52+
<a :href="item.url" target="_blank">
53+
<a-avatar :src="item.avatar" size="small" />
54+
</a>
55+
</a-tooltip>
56+
</li>
57+
</ul>
58+
</template>
59+
60+
<style scoped>
61+
.acss-1ppw8kl {
62+
display: -webkit-box;
63+
display: -webkit-flex;
64+
display: -ms-flexbox;
65+
display: flex;
66+
-webkit-box-flex-wrap: wrap;
67+
-webkit-flex-wrap: wrap;
68+
-ms-flex-wrap: wrap;
69+
flex-wrap: wrap;
70+
margin-top: 120px !important;
71+
clear: both;
72+
}
73+
74+
.acss-1ppw8kl li {
75+
height: 24px;
76+
}
77+
78+
.acss-1ppw8kl li,
79+
.acss-1ppw8kl .ant-avatar + .ant-avatar {
80+
-webkit-transition: all 0.3s;
81+
transition: all 0.3s;
82+
-webkit-margin-end: -8px;
83+
margin-inline-end: -8px;
84+
}
85+
86+
.acss-1ppw8kl:hover li,
87+
.acss-1ppw8kl:hover .ant-avatar {
88+
-webkit-margin-end: 0;
89+
margin-inline-end: 0;
90+
}
91+
</style>

site/src/layouts/Demo.vue

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,18 +13,21 @@
1313
<slot />
1414
<!-- <GoogleAds v-if="showAd" :key="`goo-${route.path}`" /> -->
1515
<section class="markdown api-container" v-html="api"></section>
16+
<Contributor :isZn="isZhCN" />
1617
</article>
1718
</template>
1819
<script lang="ts">
1920
import { defineComponent, computed } from 'vue';
2021
import { useRoute } from 'vue-router';
2122
// import GoogleAds from '../components/rice/GoogleAds.vue';
23+
import Contributor from '../components/Contributors/index.vue';
2224
2325
const showAd = location.host.indexOf('antdv.com') > -1;
2426
export default defineComponent({
2527
name: 'Demo',
2628
components: {
2729
// GoogleAds,
30+
Contributor,
2831
},
2932
props: ['pageData', 'isZhCN'],
3033
setup(props) {

0 commit comments

Comments
 (0)