我遵循Compiling Markdown into HTML VSCode教程。我設法創建了一個帶有marked my.md -o my.html
的html文件,但是這個文件只包含了我的降價內容。通過這個我的意思是沒有造型,沒有html
和body
標籤。該html是不完整。使用VSCode創建完整的html頁面並標記爲
你知道如何創建一個完整的html頁面嗎? github for marked僅列出-o
選項。它甚至可以呈現完整的HTML?
我遵循Compiling Markdown into HTML VSCode教程。我設法創建了一個帶有marked my.md -o my.html
的html文件,但是這個文件只包含了我的降價內容。通過這個我的意思是沒有造型,沒有html
和body
標籤。該html是不完整。使用VSCode創建完整的html頁面並標記爲
你知道如何創建一個完整的html頁面嗎? github for marked僅列出-o
選項。它甚至可以呈現完整的HTML?
標記只處理html內容轉換的基本降價內容,並希望您自帶文檔和樣式。你可以拼湊一個簡單的節點腳本來處理這個問題:
// convertMd.js
var marked = require('marked')
var fs = require('fs')
const inFile = process.argv[2]
const outFile = process.argv[3]
const inputContent = fs.readFileSync(inFile, 'utf8')
const content = `<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
${marked(inputContent)}
</body>
</html>`
fs.writeFileSync(outFile, content)
其中tasks.json是:
{
// See http://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "0.1.0",
"command": "node",
"isShellCommand": true,
"args": ["./convertMd.js", "sample.md", "sample.html"],
"showOutput": "always"
}
其他命令行工具可以提供更完整的HTML輸出。
經過一些試驗和錯誤,我設法運行它,它的工作就像一個魅力;-)我需要仔細看看任務和節點腳本,因爲目前我不明白一行。我很難接受任何答案,因爲他們都非常有幫助。 – t3chb0t
Markdown呈現爲HTML片段,而不是HTML文檔。事實上。大多數Markdown解析器(包括原始參考實現)僅輸出HTML片段。
部分的rules狀態:
HTML是一種出版格式;減價是格式的格式。
在包裝紙和<html>
<body>
標記的HTML片段是出版和外的範圍爲減價。您有責任將片段包裝到文檔模板中。
在Markdown解析器中,有一些例外,但這些工具通常不僅僅是一個Markdown解析器。他們往往是發佈平臺,並且往往支持多於Markdown。他們將Markdown分析,模板(將Markdown輸出作爲一個變量插入到模板中)和各種其他功能組合起來,以創建完整的發佈工具(請參閱Pandoc)。標記不是這樣的工具。它只是一個Markdown解析器。但是,可能還有其他工具將標記爲發佈工具的一部分。或者您可以構建您自己的定製解決方案(使用標記)以滿足您的特定需求。
如果是這樣的話,爲什麼Marked(或任何其他Markdown解析器)具有命令行界面?所以你可以將輸出傳送給其他工具。
哦,我沒有意識到這種區別,它確實有很大的意義。我想如果VSCode中的預覽是很好的風格,但沒有輸出,所以我做了一些非常錯誤的事情。 – t3chb0t
但它是否將段落呈現爲p標籤,包含h1-6標籤的標題等? – Sandro