初始化

This commit is contained in:
2026-03-02 08:31:49 +08:00
commit d8ae21ced4
582 changed files with 66532 additions and 0 deletions

View File

@@ -0,0 +1,21 @@
<template>
<img :src="freshUrl" :alt="alt" />
</template>
<script setup>
import { computed } from 'vue'
const props = defineProps({
src: {
type: String,
required: true,
},
alt: {
type: String,
default: '',
},
})
const freshUrl = computed(() => {
return `${props.src}?t=${Date.now()}`
})
</script>

View File

@@ -0,0 +1,50 @@
<template>
<p class="home-star">
<a href="https://github.com/codercup/unibest">
<img
alt="GitHub Repo stars"
src="https://img.shields.io/github/stars/codercup/unibest?logo=github&color=%234d80f0&link=https%3A%2F%2Fgithub.com%2Fcodercup%2Funibest"
/>
</a>
<a href="https://github.com/feige996/unibest">
<img
alt="GitHub Repo stars"
src="https://img.shields.io/github/stars/feige996/unibest?logo=github&color=%234d80f0&link=https%3A%2F%2Fgithub.com%2Ffeige996%2Funibest"
/>
</a>
<a href="https://gitee.com/codercup/unibest/stargazers">
<img src="https://gitee.com/codercup/unibest/badge/star.svg?theme=gray" alt="star" />
</a>
<a href="https://gitcode.com/feige996/unibest/stargazers">
<img src="https://gitcode.com/feige996/unibest/star/badge.svg?theme=gray" alt="star" />
</a>
<!-- <a href="https://github.com/feige996/unibest">
<img alt="GitHub" src="https://img.shields.io/github/license/feige996/unibest?logo=github" />
</a> -->
<a href="https://www.npmjs.com/package/create-unibest">
<img
alt="npm"
src="https://img.shields.io/npm/dw/create-unibest?logo=npm&link=https%3A%2F%2Fwww.npmjs.com%2Fpackage%2Fcreate-unibest"
/>
</a>
<!-- <a href="https://www.npmjs.com/package/create-unibest">
<img src="https://img.shields.io/npm/dt/create-unibest?style=flat-square" />
</a> -->
</p>
</template>
<style>
.home-star {
display: flex;
flex-wrap: wrap;
gap: 12px;
align-items: center;
justify-content: center;
padding-top: 24px;
}
</style>

View File

@@ -0,0 +1,20 @@
<script setup lang="ts">
import { version } from '../../../../package.json'
</script>
<template>
<span
style="
display: inline-block;
padding: 0px 8px;
margin-left: 4px;
font-size: 10px;
font-weight: 700;
color: var(--vp-button-brand-text);
background-color: var(--vp-button-brand-bg);
border-radius: 16px;
"
>
{{ version }}
</span>
</template>

View File

@@ -0,0 +1,84 @@
/**
* Colors
* -------------------------------------------------------------------------- */
:root {
--vp-c-brand-1: hsl(128, 56%, 38%);
--vp-c-brand-2: hsl(128, 56%, 55%);
--vp-c-brand-3: hsl(128, 56%, 45%);
--vp-c-brand-soft: rgba(98, 133, 208, 0.16);
}
/**
* Component: Home
* -------------------------------------------------------------------------- */
:root {
--vp-home-hero-name-color: transparent;
--vp-home-hero-name-background: -webkit-linear-gradient(
120deg,
hsl(128, 56%, 38%) 30%,
hsl(128, 56%, 60%)
);
--vp-home-hero-image-background-image: linear-gradient(
120deg,
hsl(100, 56%, 45%) 30%,
hsl(120, 56%, 38%)
);
--vp-home-hero-image-filter: blur(40px);
}
@media (min-width: 640px) {
:root {
--vp-home-hero-image-filter: blur(56px);
}
}
@media (min-width: 960px) {
:root {
--vp-home-hero-image-filter: blur(72px);
}
}
.md-center > p {
display: flex;
/* justify-content: center; */
flex-wrap: wrap;
margin-top: -4px;
margin-right: -4px;
}
.md-center img {
display: inline-block;
height: 1.4em;
margin-top: 4px;
margin-right: 4px;
line-height: 1.6;
}
.md-center2 img {
display: inline-block;
margin-top: 4px;
margin-right: 4px;
}
.busuanzi_container {
display: flex;
justify-content: space-around;
opacity: 0.3;
}
@media (max-width: 960px) {
.busuanzi_container {
flex-direction: column;
padding-top: 12px;
padding-left: 30px;
}
}
@media (min-width: 961px) {
.busuanzi_container {
height: 60px;
line-height: 60px;
}
}
.icp_container {
display: flex;
align-items: center;
justify-content: center;
}

View File

@@ -0,0 +1,28 @@
// https://vitepress.dev/guide/custom-theme
import type { Theme } from 'vitepress'
import DefaultTheme from 'vitepress/theme'
import { h } from 'vue'
import './custom.css'
import HomeStar from './components/HomeStar.vue'
import NavBarTitleAfter from './components/NavBarTitleAfter.vue'
import FreshImage from './components/FreshImage.vue'
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
export default {
extends: DefaultTheme,
Layout: () => {
return h(DefaultTheme.Layout, null, {
// https://vitepress.dev/guide/extending-default-theme#layout-slots
'home-hero-info-after': () => h(HomeStar),
'nav-bar-title-after': () => h(NavBarTitleAfter),
})
},
enhanceApp({ app, router, siteData }) {
// ...
app.component('FreshImage', FreshImage)
app.use(ElementPlus)
},
} satisfies Theme