初始化
This commit is contained in:
21
docs/.vitepress/theme/components/FreshImage.vue
Normal file
21
docs/.vitepress/theme/components/FreshImage.vue
Normal 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>
|
||||
50
docs/.vitepress/theme/components/HomeStar.vue
Normal file
50
docs/.vitepress/theme/components/HomeStar.vue
Normal 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>
|
||||
20
docs/.vitepress/theme/components/NavBarTitleAfter.vue
Normal file
20
docs/.vitepress/theme/components/NavBarTitleAfter.vue
Normal 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>
|
||||
84
docs/.vitepress/theme/custom.css
Normal file
84
docs/.vitepress/theme/custom.css
Normal 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;
|
||||
}
|
||||
28
docs/.vitepress/theme/index.ts
Normal file
28
docs/.vitepress/theme/index.ts
Normal 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
|
||||
Reference in New Issue
Block a user