如何在markdown代码块中禁用linenums?

时间:2015-10-07 01:37:37

标签: syntax markdown hexo

我想在降价格式的文档中仅为一个代码块禁用行号。

扫描相关文档或搜索谷歌都没有向我显示正确的咒语,但我确信它是可行的。

我使用hexo和markdown-it解析器

3 个答案:

答案 0 :(得分:6)

从hexo的最新开发版本开始,现在可以使用如下配置标记:

  {% codeblock [line_number:(true|false)] [highlight:(true|false)]%}
    code snippet
  {% endcodeblock %}

答案 1 :(得分:4)

如前所述,这取决于您使用的降价/荧光笔。

编辑:

我还没有更新我的Hexo版本,因此blueberryfields answer可用于更新版本。基本上看起来有一个附加的可选参数line_number

我也会保留以下答案,因为扩展Hexo以支持主线中尚未支持的功能通常很有用。

如果没有:

由于您将帖子标记为Hexo我假设您正在讨论codeblock代码。

{% codeblock [title] [lang:language] [url] [link text] %}
code snippet
{% endcodeblock %}

截至撰写本文时,Hexo的版本使用highlight.js,其定义如下:

./node_modules/hexo/lib/plugins/tag/code.js

您可以直接扩展它,但如果尝试更新模块可能会变得很难看。您可以fork Hexo并提交包含更改的拉取请求。

你也可以扩展Hexo来做你想做的事。

在项目的根目录中,您可以为自定义标记创建一个javascript文件:

./scripts/tags.js

您可以从以下内容开始:

'use strict';

/**
 * simple code
 *
 * Syntax:
 *   {% simple_codeblock %}
 */
var util = require('hexo-util');
var highlight = util.highlight;

hexo.extend.tag.register('simple_codeblock', function(args, content){
    content = highlight(content, {
      lang: '',
      caption: '',
      gutter: false,
      tab: '',
      autoDetect: true
    });
    return content;

}, {ends: true});

然后根据需要扩展它。

注意:这需要您参考hexo-util

npm install hexo-util --save

用法:

{% simple_codeblock %}
// place code here
{% endsimple_codeblock %}

答案 2 :(得分:0)

由于您问题的评论者已突出显示,这取决于您使用什么来呈现降价来源。例如,wordpress.com上的渲染器允许您使用如下配置参数指定代码:

[code language="css" gutter="false"]
your code here
[/code]

使用 gutter = false 隐藏行号。更多详细信息可以在他们的Posting Source Code文档中找到。请注意,其他降价渲染器可能不支持此功能。