Initial commit

This commit is contained in:
wfz
2026-05-13 16:24:00 +08:00
commit 5728d3cbda
55 changed files with 37267 additions and 0 deletions

View File

@@ -0,0 +1,63 @@
<script setup lang="ts">
import { computed } from 'vue'
import { useData } from 'vitepress'
import sidebarData from '../data/sidebar.json'
const { page } = useData()
const currentSidebar = computed(() => {
const path = page.value.relativePath
const pathPrefix = path.split('/')[0]
return sidebarData.find(group => group.path === `/${pathPrefix}/`)
})
</script>
<template>
<div class="sidebar" v-if="currentSidebar">
<h2 class="sidebar-title">{{ currentSidebar.title }} 笔记</h2>
<ul class="sidebar-list">
<li v-for="item in currentSidebar.items" :key="item.link">
<a :href="item.link" class="sidebar-link">{{ item.text }}</a>
</li>
</ul>
</div>
</template>
<style scoped>
.sidebar {
color: white;
}
.sidebar-title {
font-size: 14px;
font-weight: 600;
margin-bottom: 12px;
padding-bottom: 8px;
border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.sidebar-list {
list-style: none;
padding: 0;
margin: 0;
}
.sidebar-list li {
margin: 4px 0;
}
.sidebar-link {
color: rgba(255, 255, 255, 0.7);
text-decoration: none;
font-size: 14px;
display: block;
padding: 8px 12px;
border-radius: 6px;
transition: all 0.2s ease;
}
.sidebar-link:hover {
background: rgba(255, 255, 255, 0.1);
color: white;
}
</style>