This repository has been archived on 2024-07-22. You can view files and clone it, but cannot push or open issues or pull requests.
Zaimki/components/Authors.vue

52 lines
2.1 KiB
Vue
Raw Normal View History

2020-09-23 12:16:56 -07:00
<template>
<ul :class="{'list-unstyled': !expanded}">
2020-09-28 09:29:13 -07:00
<li v-for="author in config.contact.authors" class="mb-2">
2020-11-22 12:08:00 -08:00
<template v-if="author.link">
<a :href="author.link" target="_blank" rel="noopener">
{{ author.name }}
</a>
</template>
<template v-else>
{{ author.name }}
</template>
<template v-if="author.pronouns">
(<nuxt-link :to="author.pronounsLink">{{ author.pronouns }}</nuxt-link>)
</template>
2020-09-23 12:16:56 -07:00
<template v-for="(link, area, index) in author.areas">
2020-09-23 14:00:01 -07:00
<Spaceless>
2020-09-28 09:29:13 -07:00
<nuxt-link v-if="link && link.indexOf('/') === 0" :to="link">{{ area.replace(/_/g, ' ') }}</nuxt-link>
<a v-else-if="link" :href="link" target="_blank" rel="noopener">{{ area.replace(/_/g, ' ') }}</a>
<span v-else>{{ area.replace(/_/g, ' ') }}</span>
2020-09-23 14:00:01 -07:00
<span v-if="index < Object.keys(author.areas).length - 1">, </span>
</Spaceless>
2020-09-23 12:16:56 -07:00
</template>
2020-09-24 14:08:13 -07:00
<br/>
2020-10-27 10:57:27 -07:00
<nuxt-link v-if="author.profile" :to="`/@${author.profile}`" class="badge badge-light border">
<Icon v="id-card"/>
@{{author.profile}}
</nuxt-link>
2020-09-24 14:08:13 -07:00
<a v-if="author.website" :href="author.website" target="_blank" rel="noopener" class="badge badge-light border">
<Icon v="globe"/>
Blog
</a>
<a v-if="author.twitter" :href="'https://twitter.com/' + author.twitter" target="_blank" rel="noopener" class="badge badge-light border">
<Icon v="twitter" set="b"/>
Twitter
</a>
<a v-if="author.mail" :href="'mailto:' + author.mail" target="_blank" rel="noopener" class="badge badge-light border">
<Icon v="envelope"/>
Email
</a>
2020-09-23 12:16:56 -07:00
</li>
</ul>
</template>
<script>
export default {
props: {
expanded: { type: Boolean }
},
}
</script>