1. 程式人生 > 其它 >前端實現.md檔案轉換成.html檔案

前端實現.md檔案轉換成.html檔案

md檔案是markdown的一種標記語言,和html比較起來,更簡單快捷,主要體現在:標記符的數量和書寫上。

標記符的數量:html文件需要用到數量繁多的標記符,再輔以css來控制樣式和排版,而markdown文件只需要四個基本的標記符號就能完成同樣的事。
標記符的書寫:HTML文件內容需要同時標記開始和結束這是一個網頁,而markdown文件則只要在開始位置標記即可# 這是一個md文件。

下面介紹如何實現將.md檔案轉換成.html檔案。

方式一:使用i5ting_toc外掛

需要先安裝npm(安裝node.js後會自帶npm),然後才能安裝i5ting外掛:

npm install i5ting_toc -g

執行命令列生成html檔案,在輸入前要進入到對應根目錄下:

i5ting_toc -f **.md

需要注意的是:寫md文件的特殊符號時記得新增空格。

小技巧:如何快速在當前目錄開啟cmd?選擇當前目錄,按住shift,然後滑鼠右鍵在此處開啟命令視窗(在此處開啟powerShell視窗)。

http://www.bijianshuo.com 軟文發稿平臺

方式二:使用gitbook

同樣先需要安裝node,然後執行

npm i gitbook gitbook-cli -g

生成md檔案,這個命令會生成相應的md的檔案,然後在相應的檔案裡寫你的內容即可:

gitbook init

md轉html,生成一個_doc目錄,開啟就可以看到你html檔案了。

gitbook build

方式三:利用前端程式碼

實現原理是採用node.js搭建伺服器,讀取md檔案轉化為html片斷。瀏覽器傳送ajax請求獲取片段後再渲染生成html網頁。

node程式碼

var express = require('express');
var http = require('http');
var fs = require('fs');
var bodyParser = require('body-parser');
var marked = require('marked'); // 將md轉化為html的js包
var app = express();

app.use(express.static('src')); //載入靜態檔案
var urlencodedParser = bodyParser.urlencoded({ extended: false }); app.get('/getMdFile',urlencodedParser, function(req, res) {
var data = fs.readFileSync('src/test.md', 'utf-8'); //讀取本地的md檔案
res.end(JSON.stringify({
body : marked(data)
}));
} );

//啟動埠監聽
var server = app.listen(8088, function () {
var host = server.address().address;
var port = server.address().port;
console.log("應用例項,訪問地址為 http://%s:%s", host, port)
});

前端html:

<div id="content">
<h1 class="title">md-to-HTML web app</h1>
<div id="article">
</div>
</div>
<script type="text/JavaScript" src="js/jquery-1.11.3.min.js"></script>
<script>
var article = document.getElementById('article');
$.ajax({
url: "/getMdFile", success: function(result) {
console.log('資料獲取成功');
article.innerHTML = JSON.parse(result).body;
}, error: function (err) {
console.log(err);
article.innerHTML = '<p>獲取資料失敗</p>';
}
});
</script>