如何使用 npm 标记为 HighlightJS
How to use npm Marked with HighlightJS
你如何使用 npm Marked with HighlightJS?我正在尝试使我的文档自动化以进行解析和样式化。查看标记文档中的以下示例:
// Using async version of marked
marked(markdownString, function (err, content) {
if (err) throw err;
// console.log(content);
});
// Synchronous highlighting with highlight.js
marked.setOptions({
highlight: function (code) {
return require('highlight.js').highlightAuto(code).value;
}
});
console.log(marked(markdownString));
我不知道如何使用 README.md
文件来代替带有手动转义特殊字符的字符串。使用示例不涉及对 .md
文档的任何引用作为 markdownString
.
的输入
我如何将 markdown 字符串作为文档(例如形成一个名为 README.md
的文件)而不是手动转义的字符串传递,并让最终输出包含样式?
目标是能够传入 linted(我用的是 VS code markdownlint
)README.md,主要文档 CSS 和/或 highlightJS css 并让最后一行 (marked(markdownString)
) 的 return 值成为我可以直接写入 .html
文件的内容。
另一个注意事项:我的降价文件还指定了多行代码块中的语言。例如,我的 README.md 中的 JSON 的多行块如下所示:
**BODY**:
```JSON
{
"username": "example@example.com",
"p2setting": "4xx72"
}
```
基于this post,文档曾经指定以下内容但已从文档中删除:
var fs = require('fs');
var hljs = require('highlight.js');
var marked = require('marked');
var markdownString = fs.readFileSync('./README.md');
marked.setOptions({
highlight: function(code, lang) {
return hljs.highlight(lang, code).value;
}
});
var output = marked(markdownString);
请注意,您需要指定编码 fs.readFileSync('./README.md', "utf8")
。
一个有效的例子是:
const fs = require('fs');
const hljs = require('highlight.js');
const marked = require('marked');
const markdownString = fs.readFileSync('./README.md', "utf8");
const style1 = fs.readFileSync('./node_modules/highlight.js/styles/railscasts.css', "utf8");
// const style1 = fs.readFileSync('./node_modules/highlight.js/styles/solarized-dark.css', "utf8");
marked.setOptions({
highlight: function(code) {
return hljs.highlightAuto(code).value;
}
});
const doc = `<!DOCTYPE html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>Marked</title>
<style>${style1}</style>
</head>
<body>${marked(markdownString)}</body>
</html>
`
fs.writeFileSync('./index.html', doc);
你如何使用 npm Marked with HighlightJS?我正在尝试使我的文档自动化以进行解析和样式化。查看标记文档中的以下示例:
// Using async version of marked
marked(markdownString, function (err, content) {
if (err) throw err;
// console.log(content);
});
// Synchronous highlighting with highlight.js
marked.setOptions({
highlight: function (code) {
return require('highlight.js').highlightAuto(code).value;
}
});
console.log(marked(markdownString));
我不知道如何使用 README.md
文件来代替带有手动转义特殊字符的字符串。使用示例不涉及对 .md
文档的任何引用作为 markdownString
.
我如何将 markdown 字符串作为文档(例如形成一个名为 README.md
的文件)而不是手动转义的字符串传递,并让最终输出包含样式?
目标是能够传入 linted(我用的是 VS code markdownlint
)README.md,主要文档 CSS 和/或 highlightJS css 并让最后一行 (marked(markdownString)
) 的 return 值成为我可以直接写入 .html
文件的内容。
另一个注意事项:我的降价文件还指定了多行代码块中的语言。例如,我的 README.md 中的 JSON 的多行块如下所示:
**BODY**:
```JSON
{
"username": "example@example.com",
"p2setting": "4xx72"
}
```
基于this post,文档曾经指定以下内容但已从文档中删除:
var fs = require('fs');
var hljs = require('highlight.js');
var marked = require('marked');
var markdownString = fs.readFileSync('./README.md');
marked.setOptions({
highlight: function(code, lang) {
return hljs.highlight(lang, code).value;
}
});
var output = marked(markdownString);
请注意,您需要指定编码 fs.readFileSync('./README.md', "utf8")
。
一个有效的例子是:
const fs = require('fs');
const hljs = require('highlight.js');
const marked = require('marked');
const markdownString = fs.readFileSync('./README.md', "utf8");
const style1 = fs.readFileSync('./node_modules/highlight.js/styles/railscasts.css', "utf8");
// const style1 = fs.readFileSync('./node_modules/highlight.js/styles/solarized-dark.css', "utf8");
marked.setOptions({
highlight: function(code) {
return hljs.highlightAuto(code).value;
}
});
const doc = `<!DOCTYPE html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>Marked</title>
<style>${style1}</style>
</head>
<body>${marked(markdownString)}</body>
</html>
`
fs.writeFileSync('./index.html', doc);