VuePress@next 使用數學公式插件

来源:https://www.cnblogs.com/fhlsteven/archive/2023/07/28/17587762.html
-Advertisement-
Play Games

# VuePress@next 使用數學公式插件 搞了一個VuePress1.0的 現在升級了一下,但是使用數學公式的插件老報錯啊!經過不懈努力,終於搞定了。現在記錄一下。 ## VuePress 介紹 [VuePress](https://vuepress.github.io/zh) 是一個以 M ...


VuePress@next 使用數學公式插件

搞了一個VuePress1.0的 現在升級了一下,但是使用數學公式的插件老報錯啊!經過不懈努力,終於搞定了。現在記錄一下。

VuePress 介紹

VuePress 是一個以 Markdown 為中心的靜態網站生成器。你可以使用 Markdown 來書寫內容(如文檔、博客等),然後 VuePress 會幫助你生成一個靜態網站來展示它們。

遇到的問題

使用數學公式的庫,根據網上找的 markdown-it-texmath,markdown-it-katex,markdown-it-mathjax3,這些都可以,然而當我使用了之後沒有一個有用的,報錯信息(Error: Dynamic require of "markdown-it-mathjax3" is not supported)詳細的參見後面的哦!

此時我的配置:

export default defineUserConfig({
  base: '',
  lang: 'zh-CN',
  title: '',
  description: description,
  head: head,
  theme: defalutThemeOK,
  markdown: {
    code: {
      lineNumbers: false,
    }
  },
  extendsMarkdown: (md) => {
    md.use(require('markdown-it-mathjax3')); // 使用這個解析 數學公式
    md.linkify.set({ fuzzyEmail: false });
  }, 
})

報錯信息

⠋ Initializing and preparing dataerror error in hook extendsMarkdown from user-config
✖ Initializing and preparing data - failed in 33ms
Error: Dynamic require of "markdown-it-mathjax3" is not supported
    at file:///F:/StevenBlogs/docs/.vuepress/config.ts.166cda46.mjs:7:9
    at Object.extendsMarkdown [as hook] (file:///F:/StevenBlogs/docs/.vuepress/config.ts.166cda46.mjs:161:12)
    at Object.process (file:///F:/StevenBlogs/node_modules/@vuepress/core/dist/index.js:683:37)
    at async resolveAppMarkdown (file:///F:/StevenBlogs/node_modules/@vuepress/core/dist/index.js:160:3)
    at async appInit (file:///F:/StevenBlogs/node_modules/@vuepress/core/dist/index.js:604:18)
    at async file:///F:/StevenBlogs/node_modules/@vuepress/cli/dist/index.js:489:7
    at async file:///F:/StevenBlogs/node_modules/@vuepress/utils/dist/index.js:106:20
    at async CAC.dev (file:///F:/StevenBlogs/node_modules/@vuepress/cli/dist/index.js:488:5)

VuePress 2 成功配置

通過各種嘗試,和搜各種資料。最後算是我搞定了。

主要是參考了Maikdown It 插件的文章"@mdit/plugin-katex"[https://mdit-plugins.github.io/zh/katex.html]

  1. 卸載之前沒有用的包,我用的npm;

  2. 安裝新的包"@mdit/plugin-katex" npm install @mdit/plugin-katex

  3. 修改配置;

    import { katex } from '@mdit/plugin-katex'
    
    export default defineUserConfig({
        // …… 省略了沒有必要的
        extendsMarkdown: (md) => {
            md.use(katex);
            md.linkify.set({ fuzzyEmail: false });
        }, 
        })
    
  4. 還需要在head加樣式,要不然樣式就走樣子了。參考KaTeX

    export const head : HeadConfig[]=
    [
        ['meta', { name: 'theme-color', content: '#3eaf7c' }],
        ['meta', { name: 'apple-mobile-web-app-capable', content: 'yes' }],
        ['meta', { name: 'apple-mobile-web-app-status-bar-style', content: 'black' }],
        ['link', { rel: 'stylesheet', href: 'https://cdn.jsdelivr.net/npm/[email protected]/dist/katex.min.css' }], // 讓md支持數學公式
        ['link', { rel: "stylesheet", href: "https://cdn.jsdelivr.net/npm/[email protected]/dist/katex.min.js" }]  // 讓md支持數學公式
    ]
    

四步驟搞定:看看效果!

image

image

找了的一些文說明的

markdown-it-mathjax3 issues all closed
markdown-it-mathjax3 issues 57
渲染數學公式 順便說一下這個裡面有1.0的配置

1.0 VuePress 的配置

以下是我的1.0的配置,在本地運行也是正常的!

module.exports = {
    head: [
        ['meta', { name: 'theme-color', content: '#3eaf7c' }],
        ['meta', { name: 'apple-mobile-web-app-capable', content: 'yes' }],
        ['meta', { name: 'apple-mobile-web-app-status-bar-style', content: 'black' }],
        ['link', { rel: 'stylesheet', href: 'https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.7.1/katex.min.css' }],      // 讓md支持數學公式
        ['link', { rel: "stylesheet", href: "https://cdnjs.cloudflare.com/ajax/libs/github-markdown-css/2.10.0/github-markdown.min.css" }]  // 讓md支持數學公式
    ],
    themeConfig: {
        plugins: [
        '@vuepress/plugin-back-to-top',
        '@vuepress/plugin-medium-zoom',
        ],
        extendMarkdown(md){  // 讓md支持數學公式 npm install markdown-it-katex
            md.set({html:true});
            md.use(require('markdown-it-katex'));
        }
    }
}

總結

通個這個的搞定,那麼使用其他Markdown It 插件都可以去這個網站找https://mdit-plugins.github.io/zh/,然後自己改改就能輕鬆融入了!還是的多琢磨!

另外提一下我搞到github上的網站! haha


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 本文分享自天翼雲開發者社區《大數據通用組件故障處理》,作者:f****n HDFS 1.HDFS 服務一直異常 檢查HDFS是否處於安全模式。 檢查ZooKeeper服務是否運行正常。 2.HDFS 維護客戶端出現OutOfMemoryError 異常 使用HDFS客戶端之前,需要在HADOOP_C ...
  • 有許多支持多數據源數據轉換和同步的ETL工具可供選擇。以下是一些常見的ETL工具和它們支持多數據源數據轉換和同步的特點: Apache NiFi:Apache NiFi是一個開源的ETL工具,支持多種數據源的連接,包括文件系統、資料庫、消息隊列、網路介面等。它提供了可視化的界面和強大的數據處理功能, ...
  • ### PG資料庫安裝擴展 需要用到pg資料庫的空間擴展postgis,在進行操作之前需要在資料庫中安裝擴展。 ```sql CREATE EXTENSION postgis; CREATE EXTENSION postgis_topology; CREATE EXTENSION postgis_g ...
  • 一、最左首碼法則 如果索引了多列(聯合索引),要遵守最左首碼法則。最左首碼法則指的是查詢從索引的最左列開始,並且不跳過索引中的列,如果跳躍某一列,索引將部分失效(後面的欄位索引失效) 示例1:account_transaction表中創建一個聯合索引,使用method欄位+trader_staff_ ...
  • ![](https://img2023.cnblogs.com/blog/3076680/202307/3076680-20230726164318392-162588362.png) # 1. 結果集 ## 1.1. sql ```sql select empno,mgr from emp ord ...
  • ### [2023 年 7 月 28 日 22:16:06] ## ref 取 render 方式組件節點 一開始註意到組件 setup 和 render 一起使用的情況,好奇怎麼通過 ref 取到 render 中 jsx 里的節點,一開始試了以下的嘗試,結果是 undefined 的: ```j ...
  • # Mapbox—geocoder搜索地點error eaching the server [——There was an errorr eaching the server](#focus) 環境說明: vue3.3.4 mapbox-gl: 2.13.0 @mapbox/mapbox-gl-ge ...
  • 這裡給大家分享我在網上總結出來的一些知識,希望對大家有所幫助 前言 在Js中有一些比較冷門但是非常好用的方法,我在這裡稱之為高級方法,這些方法沒有被廣泛使用或多或少是因為存在一些相容性的問題,不是所有的瀏覽器都讀得懂的。這篇文章主要就是對這些方法做一個總結,有些方法在我們開發過程中有著重要的作用,我 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...