nodejs md文件轉html

const marked = require('marked');// 要轉換的 Markdown 文本
const markdownText = `
# Hello, Markdown!This is a paragraph.- List item 1
- List item 2
`;// 使用 marked 將 Markdown 轉換為 HTML
const html = marked(markdownText);console.log(html);

我直接讀取md文件轉換結果有誤,第1行本應是標題1卻變成了段落。文件內容跟上面字符串完全一樣。后來打印二進制才知道從文件讀取的前面多了些東西,原因是文件用了UTF8 BOM編碼,最后改成UTF8編碼問題解決。

markdownContent = fs.readFileSync('.test.md', 'utf8');
const encoder = new TextEncoder();
console.log(encoder.encode(markdownContent));

marked用法

覆蓋默認的渲染函數
const marked = require('marked');// 覆蓋默認的渲染函數
const renderer = {// 處理標題的渲染函數,text 是標題文本,depth 是標題級別heading(text, depth) {// 將文本轉換為小寫,并將非單詞字符替換為連字符 -const escapedText = text.toLowerCase().replace(/[^\w]+/g, '-');// 返回生成的 HTML 代碼片段,包含錨點和標題文本return `<h${depth}><a name="${escapedText}" class="anchor" href="#${escapedText}"><span class="header-link"></span></a>${text}</h${depth}>`;},code(raw, lang) {return `<pre><code class="prism language-${lang}">${raw}</code></pre>`;
}
};// 將自定義的渲染函數應用于 marked 模塊
marked.use({ renderer });// 解析并輸出 Markdown 文本
console.log(marked.parse('# heading+'));
const markdownText = `
\`\`\`python
print("Hello, World!")
\`\`\`
`;
console.log(marked.parse(markdownText));

官方資料:
https://marked.js.org/using_pro

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

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

相關文章

單目相機減速帶檢測以及測距

單目相機減速帶檢測以及測距項目是一個計算機視覺領域的應用&#xff0c;旨在使用一個攝像頭&#xff08;單目相機&#xff09;來識別道路上的減速帶&#xff0c;并進一步估計車輛與減速帶之間的距離。這樣的系統對于智能駕駛輔助系統&#xff08;ADAS&#xff09;特別有用&…

基于tensorflow2的目標檢測完整實現過程

序言 雖然tf1仍然在維護&#xff0c;但tf2畢竟是主流&#xff0c;如果不是項目有明確要求&#xff0c;建議直接選擇tf2。本文以tf2為例展開&#xff0c;總結從環境準備到使用自己的數據和tensorflow預訓練模型進行快速訓練和調用。對tensorflow和目標檢測算法有深入了解的&…

C++ 的常見算法 之二

C 的常見算法 之二 劃分序列partitionstable_partition 排序sortnth_element 二分查找binary_search 劃分序列 partition 重新排列 [first,last) 范圍內的元素&#xff0c;使得 pred 返回 true 的所有元素先于所有返回 false 的元素。迭代器返回指向第二組的第一個元素的點。…

Python開發——Python 線程入門

An Intro to Threading in Python – Real Python 1. 什么是線程&#xff1f; 線程是一個獨立的執行流程。這意味著您的程序將有兩件事情同時發生。但對于大多數 Python 3 實現來說&#xff0c;不同的線程實際上并不是同時執行的&#xff1a;它們只是看起來是這樣。 人…

Vue3中的jsx的babel配置

如果我們希望在項目中使用jsx&#xff0c;那么我們需要添加對jsx的支持&#xff1a; jsx我們通常會通過Babel來進行轉換&#xff08;React編寫的jsx就是通過babel轉換的&#xff09;&#xff1b;對于Vue來說&#xff0c;我們只需要在Babel中配置對應的插件即可&#xff1b; *…

Vue+Xterm.js+WebSocket+JSch實現Web Shell終端

一、需求 在系統中使用Web Shell連接集群的登錄節點 二、實現 前端使用Vue&#xff0c;WebSocket實現前后端通信&#xff0c;后端使用JSch ssh通訊包。 1. 前端核心代碼 <template><div class"shell-container"><div id"shell"/>&l…

C++ 實現字符串逆序

C 實現字符串逆序 思路&#xff1a; 輸入一個字符串。使用雙指針法&#xff0c;交換字符串的首尾字符&#xff0c;逐步向中間移動。輸出逆序后的字符串。 #include <iostream> #include <string>using namespace std;void reverseString(string &str) {int …

【FPGA】STA靜態時序分析

文章目錄 一.定義二.分類1. 靜態時序分析2. 靜態時序分析 三. 概念四. 時間余量1.場景2.建立時間余量3.保持時間余量 一.定義 時序分析:檢查電路是否滿足時序要求&#xff1b; 二.分類 1. 靜態時序分析 STA,遍歷所有的時序路徑&#xff0c;根據時序庫&#xff08;.lib文件&…

【Mojolicious RESTful接口全解】構建現代化Web服務的秘訣

標題&#xff1a;【Mojolicious RESTful接口全解】構建現代化Web服務的秘訣 Mojolicious是一個基于Perl的高性能、實時的Web框架&#xff0c;它以其簡潔的語法和強大的功能而聞名。Mojolicious不僅支持傳統的Web應用開發&#xff0c;還特別適合構建RESTful API。本文將詳細介紹…

新手教學系列——使用uWSGI對Flask應用提速

在構建和部署Flask應用時,性能和穩定性是兩個關鍵的因素。為了提升Flask應用的性能,我們可以借助uWSGI這個強大的工具。本文將詳細介紹為什么要使用uWSGI、uWSGI的底層原理,并提供一個實例配置,幫助你更好地理解和應用這個工具。 為什么要使用uWSGI uWSGI 是一個應用服務…

探索企業知識邊界,鴻翼ECM AI助手開啟智慧問答新時代

在信息化迅速發展的當下&#xff0c;企業積累的數字文檔數量巨大&#xff0c;這些文檔中蘊含的深層信息對業務發展至關重要。然而&#xff0c;傳統的搜索技術常常因只能進行關鍵字查詢而無法滿足對文檔深層次理解的需求。 據Gartner調查&#xff0c;高達47%的員工在尋找有效工…

Webpack: 三種Chunk產物的打包邏輯

概述 在前文 Webpack: Dependency Graph 管理模塊間依賴 中&#xff0c;我們已經詳細講解了「構建」階段如何從 Entry 開始逐步遞歸讀入、解析模塊內容&#xff0c;并最終構建出模塊依賴關系圖 —— ModuleGraph 對象。本文我們繼續往下&#xff0c;講解在接下來的「封裝」階段…

【大數據】—美國交通事故分析(2016 年 2 月至 2020 年 12 月)

引言 在當今快速發展的數字時代&#xff0c;大數據已成為我們理解世界、做出決策的重要工具。特別是在交通安全領域&#xff0c;大數據分析能夠揭示事故模式、識別風險因素&#xff0c;并幫助制定預防措施&#xff0c;從而挽救生命。本文將深入探討2016年2月至2020年12月期間&…

【redis】 LRU 和 LFU 算法

1、簡介 Redis 中的 LRU&#xff08;Least Recently Used&#xff09;和 LFU&#xff08;Least Frequently Used&#xff09;算法是用于決定在內存空間不足時&#xff0c;哪些鍵&#xff08;key&#xff09;應該被刪除以釋放空間的策略。這兩種算法都試圖通過跟蹤鍵的使用情況…

解決Memcached內存碎片:優化緩存性能的策略

解決Memcached內存碎片&#xff1a;優化緩存性能的策略 Memcached是一個廣泛使用的高性能分布式內存緩存系統&#xff0c;它通過在內存中緩存數據來加速數據檢索操作。然而&#xff0c;隨著時間的推移和緩存操作的進行&#xff0c;Memcached可能會遇到內存碎片問題&#xff0c…

24年河南特崗教師招聘流程+報名流程

河南特崗教師報名流程如下 1.登錄河南省特崗招聘網 登錄河南省特崗招聘網注冊賬號和密碼&#xff0c;賬號可以是手機號或者身份證號&#xff0c;密碼自己設置 2.注冊登錄賬號 注冊完賬號重新登錄賬號&#xff0c;輸入身份證號、手機號、密碼、驗證碼 3.瀏覽考試須知 填寫個人信…

Python 編程快速上手——讓繁瑣工作自動化(第2版)讀書筆記01 Python基礎快速過關

Python 編程快速上手——讓繁瑣工作自動化&#xff08;第2版&#xff09;讀書筆記01 Python基礎快速過關 1 python基礎概念 Python提供了高效的高級數據結構&#xff0c;還能簡單有效地面向對象編程。 python運算符順序 **——%——//——/——*——-——python中常見的數據…

Real-Time 3D Graphics with WebGL2

WebGL渲染管線 下圖是WebGL渲染管線的示意圖: Vertex Buffer Objects (VBOs) VBOS中包含了用于描述幾何體的信息。如&#xff0c;幾何體的頂點坐標&#xff0c;法線坐標&#xff0c;顏色&#xff0c;紋理坐標等。 Index Buffer Objects (IBOs) IBOs中包含了描述頂點關系的信…

C#的多線程UI窗體控件顯示方案 - 開源研究系列文章

上次編寫了《LUAgent服務器端工具》這個應用&#xff0c;然后里面需要新啟動一個線程去對文件進行上傳到FTP服務器&#xff0c;但是新線程里無法對應用主線程UI的內容進行更改&#xff0c;所以就需要在線程里設置主UI線程里控件信息的方法&#xff0c;于是就有了此博文。此文記…