24eb1fa0创建于 2025年8月12日历史提交
<template>
  <div class="component-doc">
    <div class="content">
      <markdown-renderer :path="markdownPath" />

      <div class="component-demo">
        <h2>在线演示</h2>
        <demo-section :component-name="componentName" />
      </div>
    </div>
  </div>
</template>

<script setup>
import { computed } from 'vue';
import { useRoute } from 'vue-router';
import MarkdownRenderer from '../components/MarkdownRenderer.vue';
import DemoSection from '../components/DemoSection.vue';

const route = useRoute();

// 获取组件名称(从路由元数据中获取)
const componentName = computed(() => {
  return route.meta.componentName || '';
});

// 组件名称首字母大写
const capitalizedComponentName = computed(() => {
  return componentName.value.charAt(0).toUpperCase() + componentName.value.slice(1);
});

// Markdown 文件路径
const markdownPath = computed(() => {
  return `/markdown/${componentName.value}.md`;
});
</script>

<style lang="scss" scoped>
.component-doc {
  width: 100%;
}

.component-demo {
  margin-top: 40px;
  padding-top: 20px;
  border-top: 1px solid var(--border-color);
}
</style>