VuePress 使用詳解

一、核心概念

VuePress 是 Vue.js 團隊開發的靜態網站生成器,專為技術文檔優化,具備以下特性:

  • Markdown 優先:原生支持 Markdown 語法擴展
  • Vue 驅動:可在 Markdown 中使用 Vue 組件
  • 默認主題優化:內置響應式布局、搜索功能、自動生成側邊欄
  • SEO 友好:自動生成服務端渲染(SSR)的靜態內容

二、快速上手流程

1. 環境準備

  • Node.js:要求 ≥ v18.0(推薦 LTS 版本)
  • 包管理器:npm(v9.0+)或 yarn
# 驗證安裝
node -v
npm -v

2. 項目初始化

mkdir vuepress-demo && cd vuepress-demo
npm init -y

3. 安裝 VuePress

npm install -D vuepress@next

4. 項目結構

.
├── docs
│   ├── .vuepress
│   │   └── config.js  # 配置文件
│   ├── README.md      # 首頁
│   └── guide
│       └── advanced.md # 其他頁面
└── package.json

三、核心配置詳解

1. 基礎配置 (docs/.vuepress/config.js)

import { defineUserConfig } from 'vuepress'
import { defaultTheme } from '@vuepress/theme-default'export default defineUserConfig({lang: 'zh-CN',title: '我的知識庫',description: 'VuePress 使用指南',theme: defaultTheme({logo: '/images/logo.png',navbar: [{ text: '首頁', link: '/' },{ text: '指南', link: '/guide/' }],sidebar: {'/guide/': [{ text: '快速入門', link: '/guide/' },{ text: '進階配置', link: '/guide/advanced' }]}})
})

2. 首頁配置 (docs/README.md)

---
home: true
heroText: VuePress 知識庫
tagline: 讓文檔管理更簡單
actions:- text: 快速上手 →link: /guide/
features:- title: 簡潔至上details: 基于 Markdown 的極簡寫作體驗- title: Vue 驅動details: 在 Markdown 中使用 Vue 組件- title: 高性能details: 預渲染靜態 HTML + SPA 加載
---

四、核心功能實踐

1. Markdown 擴展語法

# 代碼塊高亮
```js
console.log('Hello VuePress!')

自定義容器

::: tip
這是提示信息
:::


### 2. 自動生成側邊欄
在 `config.js` 中配置:
```javascript
sidebar: 'auto' // 根據文檔結構自動生成

3. 搜索功能配置

themeConfig: {search: true,searchMaxSuggestions: 10
}

五、高級功能

1. 自定義主題

  1. 創建主題文件夾:
mkdir docs/.vuepress/theme
  1. 創建布局組件 (docs/.vuepress/theme/Layout.vue):
<template><div><NavBar /><SideBar /><Content /><Footer /></div>
</template>
  1. config.js 中啟用:
theme: require.resolve('./theme')

2. 插件系統

安裝官方插件示例

npm install @vuepress/plugin-google-analytics@next

配置使用

plugins: [['@vuepress/google-analytics', {id: 'G-XXXXXXX'}]
]

推薦插件

  • 代碼復制vuepress-plugin-nuggets-style-copy
  • 動態標題vuepress-plugin-dynamic-title
  • 看板娘@vuepress-reco/vuepress-plugin-kan-ban-niang

六、部署指南

1. GitHub Pages 部署

  1. config.js 中設置基礎路徑:
base: '/repository-name/',
  1. 創建 .github/workflows/deploy.yml
name: Deploy
on:push:branches:- main
jobs:deploy:runs-on: ubuntu-lateststeps:- uses: actions/checkout@v2- run: npm install- run: npm run docs:build- name: Deploy to GitHub Pagesuses: peaceiris/actions-gh-pages@v3with:github_token: ${{ secrets.GITHUB_TOKEN }}publish_dir: ./docs/.vuepress/dist

2. 本地構建命令

# 本地開發
npx vuepress dev docs# 生產構建
npx vuepress build docs

七、常見問題解決

Q1: 圖片資源加載失敗
將圖片放在 docs/.vuepress/public/ 目錄,使用絕對路徑引用:

![img](/image.png)

Q2: 樣式覆蓋技巧
創建 docs/.vuepress/styles/palette.scss

$accentColor: #ff6464;

Q3: 代碼塊高亮配置
config.js 中添加:

markdown: {extendMarkdown: md => {md.use(require('markdown-it-prism'))}
}

八、學習資源推薦

  1. VuePress 官方文檔
  2. Vue.js 中文文檔
  3. Markdown 官方教程

通過本文檔,您已經掌握了 VuePress 的完整使用流程。立即開始您的技術文檔創作之旅吧!


在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/91514.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/91514.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/91514.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

AI大模型前沿:Muyan-TTS開源零樣本語音合成技術解析

AI大模型前沿&#xff1a;Muyan-TTS開源零樣本語音合成技術解析引言&#xff1a;語音合成技術的演進與Muyan-TTS的突破性意義語音合成&#xff08;Text-to-Speech, TTS&#xff09;技術作為人機交互的核心接口之一&#xff0c;自20世紀30年代貝爾實驗室首次嘗試電子語音合成以來…

c# everthing.exe 通信

1 獲取everthing進程 調用 Everything 搜索創建SearchWithEverything函數using Microsoft.Win32; using System; using System.Diagnostics; using System.IO; using System.Management; using System.Text;class EverythingHelper {// 方法 1&#xff1a;從進程獲取路徑publi…

Gitee:中國企業級DevOps平臺的本土化突圍之路

Gitee&#xff1a;中國企業級DevOps平臺的本土化突圍之路 在國內數字化轉型浪潮下&#xff0c;DevOps平臺作為企業研發效能提升的核心引擎&#xff0c;正在經歷從工具到生態的全面升級。作為國內領先的一站式DevOps解決方案&#xff0c;Gitee憑借其本土化優勢與全鏈路服務能力&…

C++法則22:運算符 ::* 和 ->* 和 ::* 是獨特的整體運算符,是不可分的。

C法則22&#xff1a;運算符 ::* 和 ->* 和 ::* 是獨特的整體運算符&#xff0c;是不可分的。1. ::*&#xff08;成員指針聲明符&#xff09;作用&#xff1a;用于聲明一個指向類成員的指針。語法&#xff1a;ReturnType (ClassName::*pointerName) &ClassName::MemberN…

Linux系統管理習題

Linux 系統管理練習題 1.請為此虛擬機配置以下網絡參數&#xff1a; 1&#xff09;主機名&#xff1a;chenyu.example.com &#xff08;將chenyu改成自己名字的全拼&#xff09; 2&#xff09;IP 地址&#xff1a;192.168.100.100/24 3&#xff09;默認網關&#xff1a;192.168…

SQL166 每天的日活數及新用戶占比

SQL166 每天的日活數及新用戶占比 題目理解 本SQL查詢旨在分析用戶活躍數據&#xff0c;計算兩個關鍵指標&#xff1a; 每日活躍用戶數(DAU)每日新增用戶占比(新用戶占活躍用戶的比例) 解題思路 1. 數據準備階段 首先我們需要獲取所有用戶的活躍記錄&#xff0c;包括&…

【33】C# WinForm入門到精通 ——表格布局器TableLayoutPanel【屬性、方法、事件、實例、源碼】

WinForm 是 Windows Form 的簡稱&#xff0c;是基于 .NET Framework 平臺的客戶端&#xff08;PC軟件&#xff09;開發技術&#xff0c;是 C# 語言中的一個重要應用。 .NET 提供了大量 Windows 風格的控件和事件&#xff0c;可以直接拿來使用。 本專欄內容是按照標題序號逐漸…

uv使用教程

以下是使用 Python 包管理工具 uv 的常見命令指南。uv 是由 Astral&#xff08;Ruff 的開發者&#xff09;開發的高性能 Python 包安裝器和解析器&#xff0c;旨在替代 pip 和 pip-tools&#xff1a; 1. 安裝 uv uv官網倉庫 # Linux/macOS curl -Ls https://astral.sh/uv/in…

SpringBoot3.x入門到精通系列:1.1 簡介與新特性

SpringBoot 3.x 簡介與新特性 &#x1f4d6; 什么是SpringBoot SpringBoot是由Pivotal團隊提供的全新框架&#xff0c;其設計目的是用來簡化Spring應用的初始搭建以及開發過程。SpringBoot集成了大量常用的第三方庫配置&#xff0c;SpringBoot應用中這些第三方庫幾乎可以零配…

二、搭建springCloudAlibaba2021.1版本分布式微服務-Nacos搭建及服務注冊和配置中心

nacos介紹 1、Nacos簡介 Nacos 是阿里巴巴推出來的一個新開源項目&#xff0c;這是一個更易于構建云原生應用的動態服務發現、配置管理和服務管理平臺。 Nacos 致力于幫助您發現、配置和管理微服務。Nacos 提供了一組簡單易用的特性集&#xff0c;幫助您快速實現動態服務發現、…

淺談物聯網嵌入式程序開發源碼技術方案

在物聯網蓬勃發展的時代&#xff0c;嵌入式程序作為連接硬件與軟件的橋梁&#xff0c;發揮著至關重要的作用。以“邊緣智能 云協同”為核心&#xff0c;為工業、醫療、家居、農業、智慧城市五大場景提供穩定、低功耗、可擴展的物聯網終端與平臺一體化解決方案。以下董技叔軟件…

【筆記】重學單片機(51)

為學習嵌入式做準備&#xff0c;重新拿起51單片機學習。此貼為學習筆記&#xff0c;僅記錄易忘點&#xff0c;實用理論基礎&#xff0c;并不是0基礎。 資料參考&#xff1a;清翔零基礎教你學51單片機 51單片機學習筆記1. C語言中的易忘點1.1 數據類型1.2 位運算符1.3 常用控制語…

C++現代Redis客戶端庫redis-plus-plus詳解

&#x1f680; C現代Redis客戶端庫redis-plus-plus詳解&#xff1a;告別繁瑣的hiredis&#xff0c;擁抱現代C的Redis操作 &#x1f4c5; 更新時間&#xff1a;2025年07月28日 &#x1f3f7;? 標簽&#xff1a;C | Redis | redis-plus-plus | 現代C | 后端開發 文章目錄&#x…

Redis存儲原理與數據模型(上)

一、Redis數據模型 1.1、查看Redis數據定義&#xff1a; typedef struct redisDb {kvstore *keys; /* The keyspace for this DB 指向鍵值存儲的指針&#xff0c;用于快速訪問和修改數據庫中的鍵值對*/kvstore *expires; /* Timeout of keys with a t…

視頻生成模型蒸餾的方法

1.fastvideo https://github.com/hao-ai-lab/FastVideohttps://github.com/hao-ai-lab/FastVideo Distillation support Recipes for video DiT, based on PCM. Support distilling/finetuning/inferencing state-of-the-art open video DiTs: 1. Mochi 2. Hunyuan. 2.l

【mysql】—— mysql中的timestamp 和 datetime(6) 有什么區別,為什么有的地方不建議使用timestamp

在 MySQL 中,TIMESTAMP 和 DATETIME(6) 都是用于存儲日期和時間的數據類型,但它們在存儲范圍、時區處理、存儲方式等方面有顯著區別。 1. 核心區別對比 特性 TIMESTAMP DATETIME(6) 存儲范圍 1970-01-01 00:00:01 UTC ~ 2038-01-19 03:14:07 UTC(受限于 32 位時間戳) 1000…

前端下載文件相關

1、下載 ‘Content-Type‘: ‘application/octet-stream‘ 的文件 當后端返回的響應頭中 Content-Type 為 application/octet-stream 時&#xff0c;表示這是一個二進制流文件&#xff0c;瀏覽器無法直接展示&#xff0c;需要前端處理后下載到本地。 通過請求獲取二進制數據…

代碼隨想錄算法訓練營第五十六天|動態規劃part6

108.冗余連接 題目鏈接&#xff1a;108. 冗余的邊 文章講解&#xff1a;代碼隨想錄 思路&#xff1a; 題意隱含 只有一個冗余邊 #include <iostream> #include <vector> using namespace std; int n1001; vector<int>father(n,0);void init(){for(int i0;…

智能體通信協議

智能體通信協議A2AACPANPAgoraagents.jsonLMOSAITPA2A A2A官方文檔&#xff1a;https://www.a2aprotocol.net/docs/introduction 開源代碼和詳細規范&#xff1a;https://github.com/google/A2A ACP ACP官方文檔&#xff1a;https://acp.agentunion.cn ANP ANP官方文檔&am…

QT交叉編譯環境配置

QT交叉編譯環境配置1 配置交叉編譯工具鏈1.1 解壓 放到/opt中1.2 使用環境變量1.2.1 設置成永久的環境變量1.2.2 臨時環境變量1.3 安裝編譯需要的軟件2 編譯tslib庫&#xff08;如果不需要觸摸屏直接跳過&#xff09;3. 編譯qt3.1 編譯源碼3.2 設置QCreator4 說明4.1 關于編譯器…