150 lines
3.3 KiB
Markdown

---
layout: home
title: Vuetom
titleTemplate: Vite & Vue Powered Static Site Generator
hero:
name: Vuetom
text:
tagline: vitepress flat theme
actions:
- theme: brand big
text: Quick Start
link: /en-US/guide/info
- theme: alt big
text: Config
link: /en-US/guide/config
features:
- title: 📦 优化的构建
details: 可选 “多页应用” 或 “库” 模式的预配置 Rollup 构建
- title: 🔩 通用的插件
details: 在开发和构建之间共享 Rollup-superset 插件接口。
- title: 🔑 完全类型化的API
details: 灵活的 API 和完整 TypeScript 类型。
---
<div class="frontpage sponsors">
<h2>Thanks</h2>
<div class="platinum-sponsors">
<a v-for="{ href, src, name, id } of sponsors.filter(s => s.tier === 'platinum')" :href="href" target="_blank" rel="noopener" aria-label="sponsor-img">
<img :src="src" :alt="name" :id="`sponsor-${id}`">
<p>{{ name }}</p>
</a>
</div>
<div class="gold-sponsors">
<a v-for="{ href, src, name, id } of sponsors.filter(s => s.tier !== 'platinum')" :href="href" target="_blank" rel="noopener" aria-label="sponsor-img">
<img :src="src" :alt="name" :id="`sponsor-${id}`">
<p>{{ name }}</p>
</a>
</div>
</div>
<script setup>
import { onMounted } from 'vue'
const sponsors = [
{
"id": "vue",
"name": "Vue",
"href": "https://v3.cn.vuejs.org/",
"src": "https://v3.cn.vuejs.org/logo.png",
"tier": "platinum"
},
{
"id": "vite",
"name": "Vite",
"href": "https://vitejs.cn/",
"src": "https://vitejs.cn/logo.svg"
},
{
"id": "vitepress",
"name": "Vitepress",
"href": "https://fttp.jjf-tech.cn/vitepress/",
"src": "https://v3.cn.vuejs.org/logo.png"
},
{
"id": "elementplus",
"name": "Element Plus",
"href": "https://element-plus.gitee.io/zh-CN/",
"src": "https://element-plus.gitee.io/images/element-plus-logo.svg"
}
]
function fetchReleaseTag() {
onMounted(() => {
fetch('https://api.github.com/repos/vitejs/docs-cn/releases/latest')
.then((res) => res.json())
.then((json) => {
const dom = document.getElementsByClassName('name')
const mainTitle = dom[0]
mainTitle.style.position = 'relative'
const docsReleaseTag = document.createElement('span')
docsReleaseTag.classList.add('release-tag')
const releaseTagName = json.tag_name
docsReleaseTag.innerText = releaseTagName
if (releaseTagName !== undefined) {
mainTitle.appendChild(docsReleaseTag)
}
})
})
}
fetchReleaseTag()
</script>
<style>
.sponsors {
padding: 0 1.5rem 2rem;
font-size: 0.8rem;
}
.sponsors a {
color: #999;
margin: 1em;
display: block;
}
.sponsors img {
max-width: 160px;
max-height: 40px;
}
.sponsors.frontpage {
text-align: center;
}
.sponsors.frontpage img {
display: inline-block;
vertical-align: middle;
}
.sponsors.frontpage h2 {
color: #999;
font-size: 1.2rem;
border: none;
}
.sponsors.sidebar a img {
max-height: 36px;
}
.platinum-sponsors {
margin-bottom: 1.5em;
}
.platinum-sponsors a img {
max-width: 240px;
max-height: 60px;
}
.gold-sponsors {
display: flex;
flex-wrap: wrap;
justify-content: space-evenly;
align-items: center;
}
</style>