在vitepress中使用vue組建,然后引入到markdown

在 VitePress 中,每個 Markdown 文件都被編譯成 HTML,而且將其作為?Vue 單文件組件處理。這意味著可以在 Markdown 中使用任何 Vue 功能,包括動態模板、使用 Vue 組件或通過添加?<script>?標簽為頁面的 Vue 組件添加邏輯。

值得注意的是,VitePress 利用 Vue 的編譯器自動檢測和優化 Markdown 內容的純靜態部分。靜態內容被優化為單個占位符節點,并從頁面的 JavaScript 負載中刪除以供初始訪問。在客戶端激活期間也會跳過它們。簡而言之,只需注意任何給定頁面上的動態部分。

使用組件?

可以直接在 Markdown 文件中導入和使用 Vue 組件。

在 Markdown 中導入組件?

如果一個組件只被幾個頁面使用,建議在使用它們的地方顯式導入它們。這使它們可以正確地進行代碼拆分,并且僅在顯示相關頁面時才加載:

<script setup>
import CustomComponent from '../../components/CustomComponent.vue'
</script># DocsThis is a .md using a custom component<CustomComponent />## More docs...

注冊全局組件?

如果一個組件要在大多數頁面上使用,可以通過自定義 Vue 實例來全局注冊它們。有關示例,請參見擴展默認主題中的相關部分。

重要

確保自定義組件的名稱包含連字符或采用 PascalCase。否則,它將被視為內聯元素并包裹在?<p>?標簽內,這將導致激活不匹配,因為?<p>?不允許將塊元素放置在其中。

在標題中使用組件???

可以在標題中使用 Vue 組件,但請注意以下語法之間的區別:

Markdown輸出的 HTML被解析的標題
 # text <Tag/> 
<h1>text <Tag/></h1>text
 # text `<Tag/>` 
<h1>text <code>&lt;Tag/&gt;</code></h1>text <Tag/>

被?<code>?包裹的 HTML 將按原樣顯示,只有未包裹的 HTML 才會被 Vue 解析。

輸出 HTML 由?Markdown-it?完成,而解析的標題由 VitePress 處理 (并用于側邊欄和文檔標題)。

轉義?

可以通過使用?v-pre?指令將它們包裹在?<span>?或其他元素中來轉義 Vue 插值:

輸入

This <span v-pre>{{ will be displayed as-is }}</span>

輸出

This?{{ will be displayed as-is }}

也可以將整個段落包裝在?v-pre?自定義容器中:

::: v-pre
{{ This will be displayed as-is }}`
:::

輸出

{{ This will be displayed as-is }}

代碼塊中不轉義?

默認情況下,代碼塊是受到保護的,都會自動使用?v-pre?包裝,因此內部不會處理任何 Vue 語法。要在代碼塊內啟用 Vue 插值語法,可以在代碼語言后附加?-vue?后綴,例如?js-vue

輸入

```js-vue
Hello {{ 1 + 1 }}
```

輸出

Hello 2

請注意,這可能會讓某些字符不能正確地進行語法高亮顯示。

使用 CSS 預處理器?

VitePress?內置支持?CSS 預處理器:.scss.sass、.less.styl?和?.stylus?文件。無需為它們安裝 Vite 專用插件,但必須安裝相應的預處理器:

# .scss and .sass
npm install -D sass# .less
npm install -D less# .styl and .stylus
npm install -D stylus

然后可以在 Markdown 和主題組件中使用以下內容:

<style lang="sass">
.titlefont-size: 20px
</style>

使用 teleport 傳遞組件內容?

VitePress 目前只有使用 teleport 傳送到 body 的 SSG 支持。對于其他地方,可以將它們包裹在內置的?<ClientOnly>?組件中,或者通過?postRender 鉤子將 teleport 標簽注入到最終頁面 HTML 中的正確位置。

<ClientOnly><Teleport to="#modal"><div>// ...</div></Teleport>
</ClientOnly>

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

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

相關文章

Jupyter Notebook 常用命令(自用)

最近有點忘記了一些常見命令&#xff0c;這里就記錄一下&#xff0c;懶得找了。 文章目錄 一、文件操作命令1. %cd 工作目錄2. %pwd 顯示路徑3. !ls 列出文件4. !cp 復制文件5. !mv 移動或重命名6. !rm 刪除 二、代碼調試1. %time 時間2. %timeit 平均時長3. %debug 調試4. %ru…

Java面試黃金寶典12

1. 什么是 Java 類加載機制 定義 Java 類加載機制是 Java 程序運行時的關鍵環節&#xff0c;其作用是把類的字節碼文件&#xff08;.class 文件&#xff09;加載到 Java 虛擬機&#xff08;JVM&#xff09;中&#xff0c;并且將字節碼文件轉化為 JVM 能夠識別的類對象。整個類…

第十四章:模板實例化_《C++ Templates》notes

模板實例化 核心知識點解析多選題設計題關鍵點總結 核心知識點解析 兩階段查找&#xff08;Two-Phase Lookup&#xff09; 原理&#xff1a; 模板在編譯時分兩個階段處理&#xff1a; 第一階段&#xff08;定義時&#xff09;&#xff1a;檢查模板語法和非依賴名稱&#xff0…

LSM-Tree(Log-Structured Merge-Tree)詳解

1. 什么是 LSM-Tree? LSM-Tree(Log-Structured Merge-Tree)是一種 針對寫優化的存儲結構,廣泛用于 NoSQL 數據庫(如 LevelDB、RocksDB、HBase、Cassandra)等系統。 它的核心思想是: 寫入時只追加寫(Append-Only),將數據先寫入內存緩沖區(MemTable)。內存數據滿后…

LangChain組件Tools/Toolkits詳解(6)——特殊類型注解Annotations

LangChain組件Tools/Toolkits詳解(6)——特殊類型注解Annotations 本篇摘要14. LangChain組件Tools/Toolkits詳解14.6 特殊類型注解Annotations14.6.1 特殊類型注解分類14.6.1 InjectedToolArg構建運行時綁定值工具14.6.3 查看并傳入參數14.6.4 在運行時注入參數14.6.5 其它特…

openharmony中hilog實證記錄說明(3.1和5.0版本)

每次用這個工具hilog都有一些小用法記不清&#xff0c;需要花一些時間去查去分析使用方法&#xff0c;為了給豐富多彩的生活留出更多的時間&#xff0c;所以匯總整理共享來了&#xff0c;它來了它來了~~~~~~~~~ 開始是想通過3.1來匯總的&#xff0c;但實際測試發現openharmony…

NVIDIA nvmath-python:高性能數學庫的Python接口

NVIDIA nvmath-python&#xff1a;高性能數學庫的Python接口 NVIDIA nvmath-python是一個高性能數學庫的Python綁定&#xff0c;它為Python開發者提供了訪問NVIDIA優化數學算法的能力。這個庫特別適合需要高性能計算的科學計算、機器學習和數據分析應用。 文章目錄 NVIDIA nv…

【euclid】20 2D包圍盒模塊(box2d.rs)

box2d.rs文件定義了一個二維軸對齊矩形&#xff08;Box2D&#xff09;&#xff0c;使用最小和最大坐標來表示。矩形在坐標類型&#xff08;T&#xff09;和單位&#xff08;U&#xff09;上是泛型的。代碼提供了多種方法來操作和查詢矩形&#xff0c;包括求交集、并集、平移、縮…

ChatTTS 開源文本轉語音模型本地部署 API 使用和搭建 WebUI 界面

ChatTTS&#xff08;Chat Text To Speech&#xff09;&#xff0c;專為對話場景設計的文本生成語音(TTS)模型&#xff0c;適用于大型語言模型(LLM)助手的對話任務&#xff0c;以及諸如對話式音頻和視頻介紹等應用。支持中文和英文&#xff0c;還可以穿插笑聲、說話間的停頓、以…

鏈表相關知識總結

1、數據結構 基本概念&#xff1a; 數據項&#xff1a;一個數據元素可以由若干個數據項組成數據對象&#xff1a;有相同性質的數據元素的集合&#xff0c;是數據的子集數據結構&#xff1a;是相互之間存在一種或多種特定關系的數據元素的集合 邏輯結構和物理結構&#xff1a…

藍橋杯備考-》單詞接龍

很明顯&#xff0c;這道題是可以用DFS來做的&#xff0c;我們直接暴力搜索&#xff0c;但是這里有很多點是我們需要注意的。 1.我們如何確定兩個單詞能接上&#xff1f; 比如touch和choose 應該合成為touchoose 就是這樣兩個單詞&#xff0c;我們讓一個指針指著第一個字符串…

C語言-訪問者模式詳解與實踐

C語言訪問者模式詳解與實踐 - 傳感器數據處理系統 1. 什么是訪問者模式&#xff1f; 在嵌入式系統中&#xff0c;我們經常需要對不同傳感器的數據進行多種處理&#xff0c;如數據校準、過濾、存儲等。訪問者模式允許我們在不修改傳感器代碼的情況下&#xff0c;添加新的數據處…

(UI自動化測試web端)第二篇:元素定位的方法_xpath路徑定位

1、第一種xpath路徑定位&#xff1a; 絕對路徑&#xff1a;表達式是以 /html開頭&#xff0c;元素的層級之間是以 / 分隔相同層級的元素可以使用下標&#xff0c;下標是從1開始的需要列出元素所經過的所有層級元素&#xff0c;工作當中一般不使用絕對路徑 例&#xff1a;/html/…

設置GeoJSONVectorTileLayer中的line填充圖片

設置GeoJSONVectorTileLayer中的line填充圖片 關鍵&#xff1a;linePatternFile const style [{filter: true,renderPlugin: {dataConfig: {type: "line",},type: "line",},symbol: {linePatternFile: "http://examples.maptalks.com/resources/pat…

electron框架(4.0)electron-builde和electron Forge的打包方式

----使用electron-builder打包&#xff08;需要魔法&#xff09; --安裝electron-builder: npm install electron-builder -D--package.json中進行相關配置&#xff1a; {"name": "video-tools","version": "1.0.0","main&quo…

讓 MGR 不從 Primary 的節點克隆數據?

問題 MGR 中&#xff0c;新節點在加入時&#xff0c;為了與組內其它節點的數據保持一致&#xff0c;它會首先經歷一個分布式恢復階段。在這個階段&#xff0c;新節點會隨機選擇組內一個節點&#xff08;Donor&#xff09;來同步差異數據。 在 MySQL 8.0.17 之前&#xff0c;同…

第三十二篇 深入解析Kimball維度建模:構建企業級數據倉庫的完整框架

目錄 一、維度建模設計原則深度剖析1.1 業務過程驅動設計1.2 星型模式VS雪花模式 二、維度建模五步法實戰&#xff08;附完整案例&#xff09;2.1 業務需求映射2.2 模型詳細設計2.3 緩慢變化維處理 三、高級建模技術解析3.1 漸變維度橋接表3.2 快照事實表設計 四、性能優化體系…

IntelliJ IDEA 中 Maven 的 `pom.xml` 變灰帶橫線?一文詳解解決方法

前言 在使用 IntelliJ IDEA 進行 Java 開發時&#xff0c;如果你發現項目的 pom.xml 文件突然變成灰色并帶有刪除線&#xff0c;這可能是 Maven 的配置或項目結構出現了問題。 一、問題現象與原因分析 現象描述 文件變灰&#xff1a;pom.xml 在項目資源管理器中顯示為灰色。…

緩存過期時間之邏輯過期

1. 物理不過期&#xff08;Physical Non-Expiration&#xff09; 定義&#xff1a;在Redis中不設置EXPIRE時間&#xff0c;緩存鍵永久存在&#xff08;除非主動刪除或內存淘汰&#xff09;。目的&#xff1a;徹底規避因緩存自動過期導致的擊穿&#xff08;單熱點失效&#xff…

基于WebAssembly的瀏覽器密碼套件

目錄 一、前言二、WebAssembly與瀏覽器密碼套件2.1 WebAssembly技術概述2.2 瀏覽器密碼套件的需求三、系統設計思路與架構3.1 核心模塊3.2 系統整體架構圖四、核心數學公式與算法證明4.1 AES-GCM加解密公式4.2 SHA-256哈希函數五、異步任務調度與GPU加速設計5.1 異步任務調度5.…