Skip to content

Runtime API Examples

This page demonstrates usage of some of the runtime APIs provided by VitePress.

The main useData() API can be used to access site, theme, and page data for the current page. It works in both .md and .vue files:

md
<script setup>
import { useData } from 'vitepress'

const { theme, page, frontmatter } = useData()
</script>

## Results

### Theme Data
<pre>{{ theme }}</pre>

### Page Data
<pre>{{ page }}</pre>

### Page Frontmatter
<pre>{{ frontmatter }}</pre>

Results

Theme Data

{
  "posts": [
    {
      "frontMatter": {
        "title": "js构造函数",
        "description": "掌握js构造函数。",
        "category": "编程",
        "tags": [
          "js",
          "基础"
        ],
        "date": "2025-08-28",
        "order": 0
      },
      "regularPath": "/posts/01-language/js/constructor-function.html"
    },
    {
      "frontMatter": {
        "title": "SpringBoot Lambda写法总结",
        "description": "如何使用SpringBoot实现数据的收集和批量提交",
        "category": "Java",
        "tags": [
          "Lambda",
          "总结"
        ],
        "date": "2025-08-27",
        "order": 0
      },
      "regularPath": "/posts/01-language/java/写法总结.html"
    },
    {
      "frontMatter": {
        "title": "SpringBoot Lambda Stream API写法总结",
        "description": "如何使用SpringBoot实现数据的收集和批量提交",
        "category": "Java",
        "tags": [
          "Lambda",
          "总结"
        ],
        "date": "2025-08-27",
        "order": 0
      },
      "regularPath": "/posts/01-language/java/lambda-steam.html"
    },
    {
      "frontMatter": {
        "title": "SpringBoot整合Okhttp3并封装请求工具",
        "description": "SpringBoot整合Okhttp3并封装请求工具",
        "category": "CICD",
        "tags": [
          "SpringBoot",
          "HttpClient"
        ],
        "date": "2025-08-26",
        "order": 0
      },
      "regularPath": "/posts/01-language/java/springboot/okhttp.html"
    },
    {
      "frontMatter": {
        "title": "SpringBoot全局异常处理,统一返回格式",
        "description": "如何使用SpringBoot实现全局异常处理",
        "category": "SpringBoot",
        "tags": [
          "springboot",
          "批量处理"
        ],
        "date": "2025-08-26",
        "order": 0
      },
      "regularPath": "/posts/01-language/java/springboot/global-exception.html"
    },
    {
      "frontMatter": {
        "title": "使用Dockerfile为SpringBoot应用构建Docker镜像",
        "description": "使用Dockerfile为SpringBoot应用构建Docker镜像",
        "category": "CICD",
        "tags": [
          "SpringBoot",
          "Dockerfile"
        ],
        "date": "2025-08-26",
        "order": 0
      },
      "regularPath": "/posts/01-language/java/springboot/cicd-dockerfile.html"
    },
    {
      "frontMatter": {
        "title": "SpringBoot收集并批量提交数据",
        "description": "如何使用SpringBoot实现数据的收集和批量提交",
        "category": "Java",
        "tags": [
          "springboot",
          "批量处理"
        ],
        "date": "2025-08-26",
        "order": 0
      },
      "regularPath": "/posts/01-language/java/springboot/batch-post.html"
    },
    {
      "frontMatter": {
        "title": "Vue基础-使用openapi-ts-request生成接口请求代码",
        "description": "Vue3基础-使用openapi-ts-request生成接口请求代码",
        "category": "编程",
        "tags": [
          "vue",
          "hooks"
        ],
        "date": "2025-08-26",
        "order": 0
      },
      "regularPath": "/posts/01-language/vue&react/openapi-ts-request.html"
    },
    {
      "frontMatter": {
        "title": "初始化nuxt4",
        "description": "Vue3基础-使用openapi-ts-request生成接口请求代码",
        "category": "编程",
        "tags": [
          "vue",
          "hooks"
        ],
        "date": "2025-08-26",
        "order": 0
      },
      "regularPath": "/posts/01-language/vue&react/nuxt-4-init.html"
    },
    {
      "frontMatter": {
        "title": "SpringBoot拦截器",
        "description": "如何使用SpringBoot实现全局异常处理",
        "category": "SpringBoot",
        "tags": [
          "springboot",
          "批量处理"
        ],
        "date": "2025-08-24",
        "order": 0
      },
      "regularPath": "/posts/01-language/java/springboot/interceptor.html"
    },
    {
      "frontMatter": {
        "title": "Xmind思维导图",
        "description": "Vue3基础-使用Xmind思维导图",
        "category": "编程",
        "tags": [
          "vue",
          "hooks"
        ],
        "date": "2025-08-24",
        "order": 0
      },
      "regularPath": "/posts/01-language/vue&react/mind-map.html"
    },
    {
      "frontMatter": {
        "title": "java项目接入mcp客户端",
        "description": "如何将Maven项目发布到中央仓库",
        "category": "编程",
        "tags": [
          "Java",
          "AI"
        ],
        "date": "2025-08-02",
        "order": 0
      },
      "regularPath": "/posts/01-language/java/mcp/mcp-client.html"
    },
    {
      "frontMatter": {
        "title": "将项目发布到Maven中央仓库",
        "description": "如何将Maven项目发布到中央仓库",
        "category": "编程",
        "tags": [
          "Maven",
          "Jar"
        ],
        "date": "2025-08-01",
        "order": 0
      },
      "regularPath": "/posts/01-language/java/maven/package.html"
    },
    {
      "frontMatter": {
        "title": "创建项目一个Jar包项目",
        "description": "如何创建一个Jar包项目",
        "category": "编程",
        "tags": [
          "Maven",
          "Jar"
        ],
        "date": "2025-08-01",
        "order": 0
      },
      "regularPath": "/posts/01-language/java/maven/idea-jar-project.html"
    },
    {
      "frontMatter": {
        "title": "java--Tuple写法总结",
        "description": "Java中Tuple的使用总结",
        "category": "Java",
        "tags": [
          "Java",
          "基础知识"
        ],
        "date": "2025-07-31",
        "order": 0
      },
      "regularPath": "/posts/01-language/java/tuple.html"
    },
    {
      "frontMatter": {
        "title": ".net项目性能优化",
        "description": "如何在.net项目中编写单元测试",
        "category": "编程",
        "tags": [
          "csharp",
          "踩坑记录"
        ],
        "date": "2025-07-30",
        "order": 0
      },
      "regularPath": "/posts/01-language/csharp/performance/index.html"
    },
    {
      "frontMatter": {
        "title": "css样式-float浮动",
        "description": "浮动元素的布局规则,如何让文本不环绕浮动元素,以及浮动元素的特点和使用方法。",
        "category": "css",
        "tags": [
          "css",
          "布局"
        ],
        "date": "2025-07-30",
        "order": 0
      },
      "regularPath": "/posts/01-language/html/css/float.html"
    },
    {
      "frontMatter": {
        "title": "单元测试集成sonar",
        "description": "如何在SpringBoot项目中使用JaCoCo集成Sonar进行单元测试覆盖率分析",
        "category": "Java",
        "tags": [
          "springboot",
          "Sonar"
        ],
        "date": "2025-07-30",
        "order": 0
      },
      "regularPath": "/posts/01-language/java/unittest-sonar.html"
    },
    {
      "frontMatter": {
        "title": "Swagger使用总结",
        "description": "如何在SpringBoot项目中使用Swagger并进行API分组",
        "category": "Java",
        "tags": [
          "springboot",
          "swagger"
        ],
        "date": "2025-07-30",
        "order": 0
      },
      "regularPath": "/posts/01-language/java/swagger.html"
    },
    {
      "frontMatter": {
        "title": ".net项目单元测试",
        "description": "如何在.net项目中编写单元测试",
        "category": "编程",
        "tags": [
          "csharp",
          "踩坑记录"
        ],
        "date": "2025-07-30",
        "order": 0
      },
      "regularPath": "/posts/01-language/csharp/unittest.html"
    },
    {
      "frontMatter": {
        "title": ".net项目配置",
        "description": "如何在.net项目中编写单元测试",
        "category": "编程",
        "tags": [
          "csharp",
          "踩坑记录"
        ],
        "date": "2025-07-30",
        "order": 0
      },
      "regularPath": "/posts/01-language/csharp/configuration.html"
    },
    {
      "frontMatter": {
        "title": "java--lombok写法总结",
        "description": "Java中lombok的使用总结",
        "category": "Java",
        "tags": [
          "Java",
          "基础知识"
        ],
        "date": "2025-07-29",
        "order": 0
      },
      "regularPath": "/posts/01-language/java/lombok.html"
    },
    {
      "frontMatter": {
        "title": "java--Date/Time API",
        "description": "Java中LocalDateTime和Date的区别及在MyBatis中的使用",
        "category": "Java",
        "tags": [
          "Java",
          "基础知识"
        ],
        "date": "2025-07-29",
        "order": 0
      },
      "regularPath": "/posts/01-language/java/LocalDateTime-Date.html"
    },
    {
      "frontMatter": {
        "title": "SpringBoot-搭建项目",
        "description": "搭建springboot3项目",
        "category": "编程",
        "tags": [
          "SpringBoot",
          "配置"
        ],
        "date": "2025-07-28",
        "order": 0
      },
      "regularPath": "/posts/01-language/java/springboot/init-project.html"
    },
    {
      "frontMatter": {
        "title": "节点(code)",
        "description": "grafana部署",
        "category": "编程",
        "tags": [
          "vue",
          "hooks"
        ],
        "date": "2025-07-26",
        "order": 0
      },
      "regularPath": "/posts/32-open-source/n8n/node/code.html"
    },
    {
      "frontMatter": {
        "title": "SpringBoot--如何给项目添加配置属性及读取属性",
        "description": "SpringBoot允许使用配置文件对应用程序进行配置,支持属性文件、yaml文件、环境变量等多种配置源。本文介绍了如何读取和使用这些配置属性,包括加载顺序、优先级以及如何使用@Value和@ConfigurationProperties注解。",
        "category": "编程",
        "tags": [
          "SpringBoot",
          "配置"
        ],
        "date": "2025-07-26",
        "order": 0
      },
      "regularPath": "/posts/01-language/java/springboot/config-property.html"
    },
    {
      "frontMatter": {
        "title": "vscode插件",
        "description": "grafana部署",
        "category": "编程",
        "tags": [
          "vue",
          "hooks"
        ],
        "date": "2025-07-26",
        "order": 0
      },
      "regularPath": "/posts/30-soft/vscode/vscode-plugin.html"
    },
    {
      "frontMatter": {
        "title": "jetbrain配置",
        "description": "grafana部署",
        "category": "编程",
        "tags": [
          "vue",
          "hooks"
        ],
        "date": "2025-07-26",
        "order": 0
      },
      "regularPath": "/posts/30-soft/jetbrain/theme.html"
    },
    {
      "frontMatter": {
        "title": "grafana部署",
        "description": "grafana部署",
        "category": "编程",
        "tags": [
          "vue",
          "hooks"
        ],
        "date": "2025-07-26",
        "order": 0
      },
      "regularPath": "/posts/30-soft/grafana/deploy.html"
    },
    {
      "frontMatter": {
        "title": "在Grafana中使用告警配置-消息模版",
        "description": "在Grafana中使用告警配置-消息模版",
        "category": "编程",
        "tags": [
          "vue",
          "hooks"
        ],
        "date": "2025-07-26",
        "order": 0
      },
      "regularPath": "/posts/30-soft/grafana/contact-point-template.html"
    },
    {
      "frontMatter": {
        "title": "在Grafana中使用告警配置",
        "description": "在Grafana中使用告警配置",
        "category": "编程",
        "tags": [
          "vue",
          "hooks"
        ],
        "date": "2025-07-26",
        "order": 0
      },
      "regularPath": "/posts/30-soft/grafana/alarm.html"
    },
    {
      "frontMatter": {
        "title": "n8n节点列表",
        "description": "grafana部署",
        "category": "编程",
        "tags": [
          "vue",
          "hooks"
        ],
        "date": "2025-07-26",
        "order": 0
      },
      "regularPath": "/posts/32-open-source/n8n/use.html"
    },
    {
      "frontMatter": {
        "title": "触发节点cron表达式",
        "description": "grafana部署",
        "category": "编程",
        "tags": [
          "vue",
          "hooks"
        ],
        "date": "2025-07-26",
        "order": 0
      },
      "regularPath": "/posts/32-open-source/n8n/cron.html"
    },
    {
      "frontMatter": {
        "title": "重新安装系统",
        "description": "重新安装系统",
        "category": "编程",
        "tags": [
          "vue",
          "hooks"
        ],
        "date": "2025-07-26",
        "order": 0
      },
      "regularPath": "/posts/10-server/macos/install.html"
    },
    {
      "frontMatter": {
        "title": "Macos破解软件",
        "description": "grafana部署",
        "category": "编程",
        "tags": [
          "vue",
          "hooks"
        ],
        "date": "2025-07-26",
        "order": 0
      },
      "regularPath": "/posts/10-server/macos/crack-soft.html"
    },
    {
      "frontMatter": {
        "title": "docker镜像加速配置",
        "description": "docker镜像加速配置",
        "category": "编程",
        "tags": [
          "vue",
          "hooks"
        ],
        "date": "2025-07-26",
        "order": 0
      },
      "regularPath": "/posts/10-server/docker/image-proxy.html"
    },
    {
      "frontMatter": {
        "title": "PostgreSQL版本发布周期",
        "description": "grafana部署",
        "category": "编程",
        "tags": [
          "vue",
          "hooks"
        ],
        "date": "2025-07-26",
        "order": 0
      },
      "regularPath": "/posts/02-database/postgres/version.html"
    },
    {
      "frontMatter": {
        "title": "postgresql 删除数据后,磁盘空间没有释放",
        "description": "grafana部署",
        "category": "编程",
        "tags": [
          "vue",
          "hooks"
        ],
        "date": "2025-07-26",
        "order": 0
      },
      "regularPath": "/posts/02-database/postgres/tip.html"
    },
    {
      "frontMatter": {
        "title": "postgresql数据库管理DML",
        "description": "grafana部署",
        "category": "编程",
        "tags": [
          "vue",
          "hooks"
        ],
        "date": "2025-07-26",
        "order": 0
      },
      "regularPath": "/posts/02-database/postgres/dml.html"
    },
    {
      "frontMatter": {
        "title": "Grafana数据库查询",
        "description": "grafana部署",
        "category": "编程",
        "tags": [
          "vue",
          "hooks"
        ],
        "date": "2025-07-26",
        "order": 0
      },
      "regularPath": "/posts/02-database/mysql/grafana-sql.html"
    },
    {
      "frontMatter": {
        "title": "MongoDB运维错误",
        "description": "grafana部署",
        "category": "编程",
        "tags": [
          "vue",
          "hooks"
        ],
        "date": "2025-07-26",
        "order": 0
      },
      "regularPath": "/posts/02-database/mongo/错误.html"
    },
    {
      "frontMatter": {
        "title": "MapStruct使用总结",
        "description": "MapStruct 是一个代码生成器,主要用于 Java Bean 之间的映射,如 entity 到 DTO 的映射。",
        "category": "Java",
        "tags": [
          "SpringBoot",
          "配置"
        ],
        "date": "2025-07-26",
        "order": 0
      },
      "regularPath": "/posts/01-language/java/map-struct.html"
    },
    {
      "frontMatter": {
        "title": "java--lambda表达式",
        "description": "Java中的lambda表达式的基本语法和使用示例,如何简化代码和提高可读性。",
        "category": "Java",
        "tags": [
          "SpringBoot",
          "配置"
        ],
        "date": "2025-07-26",
        "order": 0
      },
      "regularPath": "/posts/01-language/java/lambda.html"
    },
    {
      "frontMatter": {
        "title": "java--JSON对象转换",
        "description": "Java中字符串和List之间的转换方法,使用`Arrays.stream`和`String.join`实现。",
        "category": "Java",
        "tags": [
          "SpringBoot",
          "配置"
        ],
        "date": "2025-07-26",
        "order": 0
      },
      "regularPath": "/posts/01-language/java/json.html"
    },
    {
      "frontMatter": {
        "title": "java--对象转换",
        "description": "Java中字符串和List之间的转换方法,使用`Arrays.stream`和`String.join`实现。",
        "category": "Java",
        "tags": [
          "SpringBoot",
          "配置"
        ],
        "date": "2025-07-26",
        "order": 0
      },
      "regularPath": "/posts/01-language/java/convert.html"
    },
    {
      "frontMatter": {
        "title": "Java项目CI/CD",
        "description": "grafana部署",
        "category": "编程",
        "tags": [
          "vue",
          "hooks"
        ],
        "date": "2025-07-26",
        "order": 0
      },
      "regularPath": "/posts/01-language/java/CICD.html"
    },
    {
      "frontMatter": {
        "title": "公积金利息",
        "description": "grafana部署",
        "category": "编程",
        "tags": [
          "vue",
          "hooks"
        ],
        "date": "2025-07-26",
        "order": 0
      },
      "regularPath": "/posts/91-self/build.html"
    },
    {
      "frontMatter": {
        "title": "部署sonarqube",
        "description": "grafana部署",
        "category": "编程",
        "tags": [
          "vue",
          "hooks"
        ],
        "date": "2025-07-26",
        "order": 0
      },
      "regularPath": "/posts/30-soft/申请虚拟机.html"
    },
    {
      "frontMatter": {
        "title": "sonarqube一些优化",
        "description": "grafana部署",
        "category": "编程",
        "tags": [
          "vue",
          "hooks"
        ],
        "date": "2025-07-26",
        "order": 0
      },
      "regularPath": "/posts/30-soft/sonarqube.html"
    },
    {
      "frontMatter": {
        "title": "部署dbeaver网页版",
        "description": "grafana部署",
        "category": "编程",
        "tags": [
          "vue",
          "hooks"
        ],
        "date": "2025-07-26",
        "order": 0
      },
      "regularPath": "/posts/30-soft/dbeaver.html"
    },
    {
      "frontMatter": {
        "title": "Vue管理后台",
        "description": "grafana部署",
        "category": "编程",
        "tags": [
          "vue",
          "hooks"
        ],
        "date": "2025-07-26",
        "order": 0
      },
      "regularPath": "/posts/32-open-source/vue-admin.html"
    },
    {
      "frontMatter": {
        "title": "metersphere",
        "description": "grafana部署",
        "category": "编程",
        "tags": [
          "vue",
          "hooks"
        ],
        "date": "2025-07-26",
        "order": 0
      },
      "regularPath": "/posts/32-open-source/metersphere.html"
    },
    {
      "frontMatter": {
        "title": "beszel监控",
        "description": "grafana部署",
        "category": "编程",
        "tags": [
          "vue",
          "hooks"
        ],
        "date": "2025-07-26",
        "order": 0
      },
      "regularPath": "/posts/32-open-source/beszel-monitor.html"
    },
    {
      "frontMatter": {
        "title": "Java构建失败",
        "description": "Java构建失败",
        "category": "编程",
        "tags": [
          "vue",
          "hooks"
        ],
        "date": "2025-07-26",
        "order": 0
      },
      "regularPath": "/posts/11-cicd/java构建失败.html"
    },
    {
      "frontMatter": {
        "title": "Java中的单元测试",
        "description": "监控系统中会使用的算法",
        "category": "编程",
        "tags": [
          "vue",
          "hooks"
        ],
        "date": "2025-07-26",
        "order": 0
      },
      "regularPath": "/posts/11-cicd/java-unittest.html"
    },
    {
      "frontMatter": {
        "title": "edgeone边缘CDN",
        "description": "监控系统中会使用的算法",
        "category": "编程",
        "tags": [
          "vue",
          "hooks"
        ],
        "date": "2025-07-26",
        "order": 0
      },
      "regularPath": "/posts/11-cicd/edge-one-ai.html"
    },
    {
      "frontMatter": {
        "title": "磁盘使用满了",
        "description": "磁盘使用满了",
        "category": "编程",
        "tags": [
          "vue",
          "hooks"
        ],
        "date": "2025-07-26",
        "order": 0
      },
      "regularPath": "/posts/10-server/disk-useage.html"
    },
    {
      "frontMatter": {
        "title": "监控系统中会遇到的问题",
        "description": "监控系统中会遇到的问题",
        "category": "编程",
        "tags": [
          "vue",
          "hooks"
        ],
        "date": "2025-07-26",
        "order": 0
      },
      "regularPath": "/posts/08monitor/wenti.html"
    },
    {
      "frontMatter": {
        "title": "监控系统中会使用的算法",
        "description": "监控系统中会使用的算法",
        "category": "编程",
        "tags": [
          "vue",
          "hooks"
        ],
        "date": "2025-07-26",
        "order": 0
      },
      "regularPath": "/posts/08monitor/suanfa.html"
    },
    {
      "frontMatter": {
        "title": "使用统计分析处理时间序列中的异常检测",
        "description": "使用统计分析处理时间序列中的异常检测",
        "category": "编程",
        "tags": [
          "vue",
          "hooks"
        ],
        "date": "2025-07-26",
        "order": 0
      },
      "regularPath": "/posts/08monitor/a.html"
    },
    {
      "frontMatter": {
        "title": "使用js实现,将一段json文本转成一个文件目录列表,要求有层级结构,并且如果目录下没有数据,则在名称上合并,",
        "description": "使用js实现,将一段json文本转成一个文件目录列表,要求有层级结构,并且如果目录下没有数据,则在名称上合并,",
        "category": "编程",
        "tags": [
          "vue",
          "hooks"
        ],
        "date": "2025-07-26",
        "order": 0
      },
      "regularPath": "/posts/09-suan-fa/file-folder.html"
    },
    {
      "frontMatter": {
        "title": "turbo",
        "description": "turbo",
        "category": "编程",
        "tags": [
          "js",
          "组件库"
        ],
        "date": "2025-07-16",
        "order": 0
      },
      "regularPath": "/posts/01-language/js/npm/npm-package-turbo.html"
    },
    {
      "frontMatter": {
        "title": "npm命令-link",
        "description": "使用 `npm link` 命令可以在本地开发中创建符号链接,将本地包链接到全局或其他项目中,方便进行本地测试和开发。本文介绍了 `npm link` 的使用方法和注意事项。",
        "category": "编程",
        "tags": [
          "js",
          "npm"
        ],
        "date": "2025-07-16",
        "order": 0
      },
      "regularPath": "/posts/01-language/js/npm/npm-link.html"
    },
    {
      "frontMatter": {
        "title": "git-标签",
        "description": "Git 标签是 Git 中用于标记特定提交的引用,通常用于标识版本发布。本文介绍了如何在 Git 中创建、查看和删除标签,以及如何从远端同步标签。",
        "category": "软件",
        "tags": [
          "git",
          "总结"
        ],
        "date": "2025-07-16",
        "order": 0
      },
      "regularPath": "/posts/30-soft/git/tag.html"
    },
    {
      "frontMatter": {
        "title": "git-子模块",
        "description": "Git 子模块是 Git 中用于管理嵌套仓库的功能,允许在一个 Git 仓库中包含另一个 Git 仓库。本文介绍了如何添加、查看和管理 Git 子模块,以及常见的子模块操作。",
        "category": "软件",
        "tags": [
          "git",
          "总结"
        ],
        "date": "2025-07-16",
        "order": 0
      },
      "regularPath": "/posts/30-soft/git/submodule.html"
    },
    {
      "frontMatter": {
        "title": "git使用案例",
        "description": "Git 是一个分布式版本控制系统,广泛用于软件开发和版本管理。本文介绍了在使用 Git 过程中如何回放多次修改为一次提交的操作步骤。",
        "category": "软件",
        "tags": [
          "git",
          "总结"
        ],
        "date": "2025-07-16",
        "order": 0
      },
      "regularPath": "/posts/30-soft/git/op-demo.html"
    },
    {
      "frontMatter": {
        "title": "git使用过程中遇到的问题总结",
        "description": "Git 是一个分布式版本控制系统,广泛用于软件开发和版本管理。本文总结了在使用 Git 过程中遇到的一些常见问题及其解决方法。",
        "category": "软件",
        "tags": [
          "git",
          "总结"
        ],
        "date": "2025-07-16",
        "order": 0
      },
      "regularPath": "/posts/30-soft/git/git.html"
    },
    {
      "frontMatter": {
        "title": "outline-二开",
        "description": "Outline 是一个开源的知识管理和协作平台,支持多种数据类型和自定义字段。本文介绍了如何从源码开始二次开发 Outline,包括环境配置、删除不必要的文件和自定义节点。",
        "category": "开源项目",
        "tags": [
          "outline",
          "二开"
        ],
        "date": "2025-07-16",
        "order": 0
      },
      "regularPath": "/posts/32-open-source/outline/er-kai.html"
    },
    {
      "frontMatter": {
        "title": "openlist-二开",
        "description": "OpenList 是一个开源的列表管理工具,支持多种数据类型和自定义字段。本文介绍了如何安装 OpenList,包括 Docker 部署和配置文件设置。",
        "category": "开源项目",
        "tags": [
          "openlist",
          "二开"
        ],
        "date": "2025-07-16",
        "order": 0
      },
      "regularPath": "/posts/32-open-source/openlist/install.html"
    },
    {
      "frontMatter": {
        "title": "n8n-二开",
        "description": "n8n 是一个开源的工作流自动化工具,支持通过图形界面创建和管理工作流。本文介绍了如何从源码开始二次开发 n8n,包括环境配置、删除不必要的文件和自定义节点。",
        "category": "开源项目",
        "tags": [
          "n8n",
          "二开"
        ],
        "date": "2025-07-16",
        "order": 0
      },
      "regularPath": "/posts/32-open-source/n8n/er-kai.html"
    },
    {
      "frontMatter": {
        "title": "redis-消息队列",
        "description": "Redis 是一个开源的内存数据结构存储系统,广泛用于缓存和消息队列。本文介绍了 Redis 中实现消息队列的三种方案:List、Streams 和 Pub/Sub,以及它们的特点和使用场景。",
        "category": "编程",
        "tags": [
          "redis",
          "mq"
        ],
        "date": "2025-07-16",
        "order": 0
      },
      "regularPath": "/posts/02-database/redis/redis-mq.html"
    },
    {
      "frontMatter": {
        "title": "vue-tsc",
        "description": "Monorepo 是一种将多个相关项目存储在同一代码仓库中的方法,适用于管理多个子包和共享依赖的场景。本文介绍了如何使用 pnpm 创建和管理 monorepo 项目,包括子包共享、公共依赖和发布流程。",
        "category": "编程",
        "tags": [
          "js",
          "组件库"
        ],
        "date": "2025-07-16",
        "order": 0
      },
      "regularPath": "/posts/01-language/js/vue-tsc.html"
    },
    {
      "frontMatter": {
        "title": "从零开始使用monorepo搭建组件库",
        "description": "Monorepo 是一种将多个相关项目存储在同一代码仓库中的方法,适用于管理多个子包和共享依赖的场景。本文介绍了如何使用 pnpm 创建和管理 monorepo 项目,包括子包共享、公共依赖和发布流程。",
        "category": "编程",
        "tags": [
          "js",
          "组件库"
        ],
        "date": "2025-07-16",
        "order": 0
      },
      "regularPath": "/posts/01-language/js/monorepo.html"
    },
    {
      "frontMatter": {
        "title": "Vue基础-router",
        "description": "Vue Router 是 Vue.js 的官方路由管理器,提供了在 Vue 应用中实现路由功能的能力。本文介绍了如何使用 Vue Router 生成访问路径,包括动态路由和查询参数的处理。",
        "category": "编程",
        "tags": [
          "vue",
          "router"
        ],
        "date": "2025-07-16",
        "order": 0
      },
      "regularPath": "/posts/01-language/vue&react/vue-router.html"
    },
    {
      "frontMatter": {
        "title": "Vue基础-插件",
        "description": "Vue3 的 effect、 watch、watchEffect 的实现原理,如何使用 effect 函数注册副作用函数,以及 ReactiveEffect 类的作用。",
        "category": "编程",
        "tags": [
          "vue",
          "hooks"
        ],
        "date": "2025-07-16",
        "order": 0
      },
      "regularPath": "/posts/01-language/vue&react/vue-plugin.html"
    },
    {
      "frontMatter": {
        "title": "Vue基础-effect",
        "description": "Vue3 的 effect、 watch、watchEffect 的实现原理,如何使用 effect 函数注册副作用函数,以及 ReactiveEffect 类的作用。",
        "category": "编程",
        "tags": [
          "vue",
          "hooks"
        ],
        "date": "2025-07-16",
        "order": 0
      },
      "regularPath": "/posts/01-language/vue&react/vue-effect.html"
    },
    {
      "frontMatter": {
        "title": "Vue基础-使用vite创建一个应用",
        "description": "Vue3基础-使用vite创建一个应用",
        "category": "编程",
        "tags": [
          "vue",
          "hooks"
        ],
        "date": "2025-07-16",
        "order": 0
      },
      "regularPath": "/posts/01-language/vue&react/vite-init-project.html"
    },
    {
      "frontMatter": {
        "title": "React基础-useEffect",
        "description": "React 函数组件中的 useEffect 用于处理副作用,如数据请求、定时器等。本文介绍了 useEffect 的基本用法、生命周期时机以及常见问题。",
        "category": "编程",
        "tags": [
          "react",
          "hooks"
        ],
        "date": "2025-07-16",
        "order": 0
      },
      "regularPath": "/posts/01-language/vue&react/react-effect.html"
    },
    {
      "frontMatter": {
        "title": "git开发平台",
        "description": "Git 开发平台是用于托管和管理 Git 仓库的工具,提供了代码版本控制、协作开发和持续集成等功能。本文介绍了常用的 Git 开发平台,如 Gitea、Gogs 和 Harness,以及它们的特点和使用场景。",
        "category": "编程",
        "tags": [
          "js",
          "npm"
        ],
        "date": "2025-07-16",
        "order": 0
      },
      "regularPath": "/posts/11-cicd/git-platform.html"
    },
    {
      "frontMatter": {
        "title": "windows修改账户密码和有效期",
        "description": "Windows 系统中修改用户账户密码和设置密码有效期的方法,包括使用计算机管理控制台和本地组策略编辑器。",
        "category": "主机服务器",
        "tags": [
          "windows",
          "系统使用"
        ],
        "date": "2025-07-06",
        "order": 0
      },
      "regularPath": "/posts/10-server/windows/staff-account.html"
    },
    {
      "frontMatter": {
        "title": "java枚举使用",
        "description": "Java枚举的定义、使用、JSON序列化和反序列化等高级用法",
        "category": "Java",
        "tags": [
          "springboot",
          "基础"
        ],
        "date": "2025-07-06",
        "order": 0
      },
      "regularPath": "/posts/01-language/java/enum.html"
    },
    {
      "frontMatter": {
        "title": "志愿填报",
        "description": "高考、中考如何填报志愿,什么是平行志愿,平行志愿和顺序志愿有什么区别?",
        "category": "学校",
        "tags": [
          "学历教育"
        ],
        "date": "2025-07-06",
        "order": 0
      },
      "regularPath": "/posts/80-school/平行志愿.html"
    },
    {
      "frontMatter": {
        "title": "MongoPlus使用总结",
        "description": "MongoPlus 是一个 MongoDB 操作工具,提供了简化的 MongoDB 数据库操作方法。",
        "category": "Java",
        "tags": [
          "springboot",
          "mybatis-plus"
        ],
        "date": "2025-06-30",
        "order": 0
      },
      "regularPath": "/posts/01-language/java/mybatis-plus.html"
    },
    {
      "frontMatter": {
        "title": "MybatisPlus执行原生Sql的三种方式",
        "description": "MybatisPlus执行原生Sql的三种方式,分别是使用@Select注解、SqlRunner和Mapper。",
        "category": "Java",
        "tags": [
          "springboot",
          "mybatis-plus"
        ],
        "date": "2025-06-30",
        "order": 0
      },
      "regularPath": "/posts/01-language/java/mybatis-plus-sql.html"
    },
    {
      "frontMatter": {
        "title": "java范型",
        "description": "Java中的泛型方法、泛型接口和泛型类的使用示例。",
        "category": "Java",
        "tags": [
          "java",
          "基础"
        ],
        "date": "2025-06-30",
        "order": 0
      },
      "regularPath": "/posts/01-language/java/generic.html"
    },
    {
      "frontMatter": {
        "title": "张婷简历",
        "description": "实现将一个 commit 的改动直接应用到其他分支的工作区,效果与 git stash pop 类似。",
        "category": "软件",
        "tags": [
          "git",
          "基础"
        ],
        "date": "2025-06-29",
        "order": 0
      },
      "regularPath": "/posts/91-self/write-resume.html"
    },
    {
      "frontMatter": {
        "title": "git回放提交",
        "description": "实现将一个 commit 的改动直接应用到其他分支的工作区,效果与 git stash pop 类似。",
        "category": "软件",
        "tags": [
          "git",
          "基础"
        ],
        "date": "2025-06-26",
        "order": 0
      },
      "regularPath": "/posts/30-soft/git/playback-commit.html"
    },
    {
      "frontMatter": {
        "title": "新加硬盘后迁移docker存储",
        "description": "掌握JavaScript的事件循环机制,理解同步任务和异步任务的执行顺序,以及宏任务和微任务的区别。",
        "category": "编程",
        "tags": [
          "运维",
          "基础"
        ],
        "date": "2025-06-26",
        "order": 0
      },
      "regularPath": "/posts/10-server/linux/move-docker-storage.html"
    },
    {
      "frontMatter": {
        "title": "Mysql备份文件乱码",
        "description": "掌握JavaScript的事件循环机制,理解同步任务和异步任务的执行顺序,以及宏任务和微任务的区别。",
        "category": "数据库",
        "tags": [
          "Mysql",
          "备份"
        ],
        "date": "2025-06-26",
        "order": 0
      },
      "regularPath": "/posts/02-database/mysql/backup-file-garbled.html"
    },
    {
      "frontMatter": {
        "title": "Event Loop(事件循环)",
        "description": "掌握JavaScript的事件循环机制,理解同步任务和异步任务的执行顺序,以及宏任务和微任务的区别。",
        "category": "编程",
        "tags": [
          "js",
          "基础"
        ],
        "date": "2025-06-26",
        "order": 0
      },
      "regularPath": "/posts/01-language/js/event-loop.html"
    },
    {
      "frontMatter": {
        "title": "Closure(闭包)",
        "description": "掌握JavaScript的事件循环机制,理解同步任务和异步任务的执行顺序,以及宏任务和微任务的区别。",
        "category": "编程",
        "tags": [
          "js",
          "基础"
        ],
        "date": "2025-06-26",
        "order": 0
      },
      "regularPath": "/posts/01-language/js/closure.html"
    },
    {
      "frontMatter": {
        "title": "Iframe弹窗页面发送消息",
        "description": "如何在iframe中发送和接收消息,包括父向子、子向父的消息传递方法,以及在Vue项目中实现iframe数据传递。",
        "category": "编程",
        "tags": [
          "运维",
          "基础"
        ],
        "date": "2025-06-26",
        "order": 0
      },
      "regularPath": "/posts/01-language/html/iframe.html"
    },
    {
      "frontMatter": {
        "title": "养老金是怎么计算的",
        "description": "养老金计算公式、计发月数以及养老金上涨的影响。本文还讨论了领取失业金期间是否需要缴纳养老金,以及如何处理个人账户和基础养老金的关系。",
        "category": "生活",
        "tags": [
          "养老金",
          "查账"
        ],
        "date": "2025-06-16",
        "order": 0
      },
      "regularPath": "/posts/90-life/yang-lao.html"
    },
    {
      "frontMatter": {
        "title": "错误的使用异步方法",
        "description": "记录一些错误的使用异步方法的方式",
        "category": "编程",
        "tags": [
          "csharp",
          "踩坑记录"
        ],
        "date": "2024-06-30",
        "order": 0
      },
      "regularPath": "/posts/01-language/csharp/task.html"
    },
    {
      "frontMatter": {
        "date": "2021-06-30",
        "title": "2025一直想找一个系统架构和设计都足够干净的系统",
        "category": "主题",
        "tags": [
          "vitepress",
          "markdown"
        ],
        "description": "vitepress的markdown插件支持的语法,一直想找一个干净的系统架构和设计都足够干净都,一直没满意的,不满意就自己设计,一直想找一个干净的系统架构和设计都足够干净都,一直没满意的,不满意就自己设计",
        "order": 0
      },
      "regularPath": "/posts/2025/vitepress-second.html"
    },
    {
      "frontMatter": {
        "date": "2021-06-05",
        "title": "一直想找一个系统架构和设计都足够干净的系统",
        "category": "主题",
        "tags": [
          "vitepress",
          "markdown"
        ],
        "description": "vitepress的markdown插件支持的语法,一直想找一个干净的系统架构和设计都足够干净都,一直没满意的,不满意就自己设计,一直想找一个干净的系统架构和设计都足够干净都,一直没满意的,不满意就自己设计",
        "order": 0
      },
      "regularPath": "/posts/vitepress-first.html"
    }
  ],
  "website": "https://doc.istr.cn",
  "comment": {
    "repo": "airene/vitepress-blog-pure",
    "repoId": "MDEwOlJlcG9zaXRvcnkzODIyMjY5Nzg",
    "categoryId": "DIC_kwDOFshSIs4CpZga"
  },
  "nav": [
    {
      "text": "主页",
      "link": "/"
    },
    {
      "text": "分类",
      "link": "/pages/category"
    },
    {
      "text": "标签",
      "link": "/pages/tags"
    },
    {
      "text": "归档",
      "link": "/pages/archives"
    },
    {
      "text": "关于我",
      "link": "/pages/about"
    }
  ],
  "head": [
    [
      "meta",
      {
        "name": "baidu-site-verification",
        "content": "codeva-uJWZs84qUi"
      }
    ],
    [
      "meta",
      {
        "name": "msvalidate.01",
        "content": "A5403E092DB262E3F587C361109172F7"
      }
    ]
  ],
  "socialLinks": [
    {
      "icon": "github",
      "link": "https://github.com/vuejs/vitepress"
    }
  ],
  "search": {
    "provider": "local"
  },
  "outline": {
    "label": "文章摘要"
  }
}

Page Data

{
  "title": "Runtime API Examples",
  "description": "",
  "frontmatter": {
    "outline": "deep"
  },
  "headers": [],
  "relativePath": "api-examples.md",
  "filePath": "api-examples.md"
}

Page Frontmatter

{
  "outline": "deep"
}

More

Check out the documentation for the full list of runtime APIs.