markit中文文档|markit js中文教程|解析

npm npmdoc 2年前 (2021-12-31) 470次浏览

markit中文文档|markit js中文教程|解析

安装命令:npm i markit

markit

降价解析器和编译器。Forked from标记为不耐烦。

更新:标记已合并渲染器功能,markit 将成为我自己的新功能降价解析器。

安装

使用 npm 安装:

$ npm install markit --save

使用组件(1)安装

$ component install lepture/markit

用法

最少使用:

var marked = require('markit');
console.log(marked('I am using __markdown__.'));
// Outputs: <p>I am using <strong>markdown</strong>.</p>

具有默认值的示例设置选项:

var marked = require('marked');
marked.setOptions({
  renderer: new marked.Renderer(),
  gfm: true,
  tables: true,
  breaks: false,
  pedantic: false,
  sanitize: true,
  smartLists: true,
  smartypants: false
});
 
console.log(marked('I am using __markdown__.'));

标记(markdownString [,选项] [,回调])

降价字符串

类型: string

要编译的 Markdown 源字符串。

选项

类型: object

选项的散列。也可以使用marked.setOptions如上所示方法进行设置

打回来

类型: function

markdownString使用异步高亮显示已完全解析时调用的函数如果options省略参数,则可以将其用作第二个参数。

选项

强调

类型: function

突出显示代码块的功能。下面的第一个示例使用 [node-pygmentize-bundled][pygmentize] 的异步突出显示,第二个是使用 [highlight.js][highlight] 的同步示例:

var marked = require('marked');
 
var markdownString = '```js\n console.log("hello"); \n```';
 
// Async highlighting with pygmentize-bundled
marked.setOptions({
  highlight: function (code, lang, callback) {
    require('pygmentize-bundled')({ lang: lang, format: 'html' }, code, function (err, result) {
      callback(err, result.toString());
    });
  }
});
 
// 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));

突出论点

code

类型: string

要传递给荧光笔的代码部分。

lang

类型: string

代码块中指定的编程语言。

callback

类型: function

使用异步荧光笔时要调用的回调函数。

渲染器

类型:object
默认:
new Renderer()

包含将标记呈现为 HTML 的函数的对象。

覆盖渲染器方法

渲染器选项允许您在自定义庄园中渲染令牌。这是通过添加嵌入的锚标记来覆盖默认标题标记呈现的示例,例如在 GitHub 上:

var marked = require('marked');
var renderer = new marked.Renderer();
 
renderer.heading = function (text, level) {
  var escapedText = text.toLowerCase().replace(/[^\w]+/g, '-');
 
  return '<h' + level + '><a name="' +
                escapedText +
                 '" class="anchor" href="#' +
                 escapedText +
                 '"><span class="header-link"></span></a>' +
                  text + '</h' + level + '>';
},
 
console.log(marked('# heading+', { renderer: renderer }));

此代码将输出以下 HTML:

<h1>
  <a name="heading-" class="anchor" href="#heading-">
    <span class="header-link"></span>
  </a>
  heading+
</h1>

块级渲染器方法

  • 代码(字符串代码,字符串语言)
  • 引用字符串引用)
  • html(字符串html)
  • 标题(字符串文本,数字 级别)
  • 小时()
  • 列表(字符串主体,布尔排序)
  • 列表项(字符串 文本)
  • 段落(字符串文本)
  • 表(字符串标题,字符串正文)
  • tablerow(字符串内容)
  • tablecell(字符串内容,对象标志)

flags 具有以下属性:

{
    header: true || false,
    align: 'center' || 'left' || 'right'
}

内联级渲染器方法

  • 强(字符串文本)
  • em(字符串文本)
  • 代码跨度(字符串代码)
  • br()
  • del(字符串文本)
  • 链接(字符串href,字符串标题,字符串文本)
  • 图像(字符串href,字符串标题,字符串文本)

女朋友

类型:boolean
默认:
true

启用 [GitHub 风味降价] [gfm]。

桌子

类型:boolean
默认:
true

启用 GFM [表格][表格]。此选项要求gfm选项为真。

休息

类型:boolean
默认:
false

启用 GFM [换行符][中断]。此选项要求gfm选项为真。

迂腐

类型:boolean
默认:
false

markdown.pl尽可能符合模糊的部分不要修复任何原始的降价错误或不良行为。

消毒

类型:boolean
默认:
false

消毒输出。忽略任何已输入的 HTML。

智能列表

类型:boolean
默认:
true

使用比原始降价更智能的列表行为。最终可能会默认将旧行为移入pedantic.

聪明小子

类型:boolean
默认:
false

对引号和破折号之类的内容使用“智能”排版标点符号。

访问词法分析器和解析器

如果您愿意,您还可以直接访问词法分析器和解析器。

var tokens = marked.lexer(text, options);
console.log(marked.parser(tokens));
var lexer = new marked.Lexer(options);
var tokens = lexer.lex(text);
console.log(tokens);
console.log(lexer.rules);

奖金

您可以使用以下命令创建独立脚本:

$ make standalone

基准

我的 Macbook Air 上的 markit 基准:

markit completed in 3353ms.
markit (gfm) completed in 3427ms.
markit (pedantic) completed in 2958ms.
marked completed in 3180ms.
marked (gfm) completed in 3358ms.
marked (pedantic) completed in 2919ms.
robotskirt completed in 722ms.
showdown (reuse converter) completed in 9894ms.
showdown (new converter) completed in 14640ms.
markdown.js completed in 12490ms.

执照

麻省理工学院

项目issue数量: 1

项目贡献人员列表:


极客公园 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:markit中文文档|markit js中文教程|解析
喜欢 (0)
.excerpt .focus {display:none}