Skip to content

Commit d993955

Browse files
committed
feature: scaffold data for team member
1 parent aaa20db commit d993955

File tree

5 files changed

+112
-1
lines changed

5 files changed

+112
-1
lines changed
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
<script setup>
2+
import { computed, defineProps } from 'vue'
3+
4+
const props = defineProps({
5+
profile: {
6+
type: Object,
7+
required: true
8+
}
9+
})
10+
11+
const imageFileName = computed(() => {
12+
return props.profile.name.toLowerCase().split(' ').join('-') + '.jpeg'
13+
})
14+
15+
const imageAlt = computed(() => {
16+
return `${props.profile.name}'s Profile Picture`
17+
})
18+
</script>
19+
20+
<template>
21+
<div class="team-card">
22+
<img :src="`../../about/images/${imageFileName}`" :alt="imageAlt" />
23+
<p>{{ imageFileName }}</p>
24+
<h3>{{ profile.name }}</h3>
25+
<p>
26+
{{ profile.title }}
27+
<span v-if="profile.company">@ {{ profile.company }}</span>
28+
</p>
29+
<address>{{ profile.location.label }}</address>
30+
<ul>
31+
<li v-for="language in profile.languageList">
32+
{{ language }}
33+
</li>
34+
</ul>
35+
<a :href="profile.website.url">{{ profile.website.label }}</a>
36+
<ul>
37+
<li
38+
v-for="(handle, platform) in profile.social"
39+
:key="`${platform}-${handle}`"
40+
>
41+
<a :href="`https://www.${platform}.com/${handle}`">
42+
{{ platform }}: {{ handle }}
43+
</a>
44+
</li>
45+
</ul>
46+
<pre>{{ profile }}</pre>
47+
</div>
48+
</template>
49+
50+
<style></style>

src/about/images/ben-hong.jpeg

35.6 KB
Loading

src/about/images/evan-you.jpeg

39.6 KB
Loading

src/about/team.json

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
[
2+
{
3+
"name": "Evan You",
4+
"title": "Creator",
5+
"company": "Vue.js",
6+
"projects": [],
7+
"location": {
8+
"label": "New Jersey, NJ, USA"
9+
},
10+
"languageList": ["Chinese", "English"],
11+
"website": {
12+
"label": "patreon.com/evanyou",
13+
"url": "https://www.patreon.com/evanyou"
14+
},
15+
"social": {
16+
"twitter": "youyuxi",
17+
"github": "yyx990803"
18+
}
19+
},
20+
{
21+
"name": "Ben Hong",
22+
"title": "Staff Developer Experience Engineer",
23+
"company": "Netlify",
24+
"projects": [],
25+
"location": {
26+
"label": "Washington, DC, USA"
27+
},
28+
"languageList": ["Chinese", "English"],
29+
"website": {
30+
"label": "bencodezen.io",
31+
"url": "https://www.bencodezen.io"
32+
},
33+
"social": {
34+
"twitter": "bencodezen",
35+
"github": "bencodezen"
36+
}
37+
}
38+
]

src/about/team.md

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,24 @@
1-
# Meet the Team
1+
<script setup>
2+
import TeamCard from '../.vitepress/components/TeamCard.vue'
3+
import teamData from './team.json'
4+
</script>
5+
6+
# Meet the Team
7+
8+
The development of Vue and its ecosystem is guided by an international team, some of whom have chosen to be featured below.
9+
10+
[See Vue Team Charter to learn more about teams →]()
11+
12+
## Core Team Members
13+
14+
In general, core team members are expected to maintain a consistent presence in the project. e also look for contributions over a longer period of time, so that we know the community can depend on the members long term.
15+
16+
<TeamCard
17+
v-for="member in teamData"
18+
:key="member.name"
19+
:profile="member"
20+
/>
21+
22+
## Team Members
23+
24+
The Vue.js Team consists of members in the community who have provided valuable contributions to the community and are recognized for their efforts and time.

0 commit comments

Comments
 (0)