如何才能在使用pandoc创建的Reveal.js幻灯片显示中,在代码块的左侧显示从减价文档中显示的行号?
我试过以下几种方法:
---
title: 'Display Code-block Line Numbers'
date: 'Aug 2020'
---
--------
~~~ { .python .number-lines startFrom="1" data-line-numbers="3,4-5" }
def main():
print( "hello pan" )
if __name__ == '__main__:
main()
~~~
--------对于pandoc,使用以下命令:
pandoc -s -i -t revealjs --section-divs -o slides.html slides.md我还尝试了对fenced_code_attributes:{ .python .number-lines }、{ .python .numberLines }和pandoc命令的各种修改:删除-i标志并尝试一些--variable命令。
另外,以下内容也不起作用:https://stackoverflow.com/a/55845381/5060792
发布于 2020-08-04 10:33:37
Reveal.js使用highlight.js和highlightjs-line-numbers.js v2.6进行代码突出显示和行编号。正因为如此,
data-line-numbers在行编号的<code>元素中是预期的startFrom选项,或者更确切地说,<code>元素中的data-ln-start-from属性不能工作(当前),因此这个特性被添加到荧光the行号s.js v2.8中。默认情况下,pandoc的代码块HTML输出的工作方式与reveal.js的预期不同。例如,将有围栏的代码数据属性放入包装<div>中,reveal.js在其中找不到它们。您将需要编写原始HTML或使用过滤器更改输出,以使用reveal.js‘代码表示特性 (类似行编号)。
正如@tarleb上面评论的那样,我编写了一个lua过滤器,它适应pandoc的HTML输出以支持这些特性:https://github.com/pandoc/lua-filters/tree/master/revealjs-codeblock。
https://stackoverflow.com/questions/63216061
复制相似问题